用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

采用PCI9052及GP2010实现GPS信号采集

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 22:36:08
【本文由PB创新网为您整理】
摘要:PCI9052是PLX公司推出的一种PCI总线从属接口芯片(不具有DMA功能)。它提供了方便的本地总线与PCI总线的接口,避免用户直接面对复杂的PCI总线协议。GP2010是通用电器公司Plessey半导体机构为全球定位系统(GPS)接收机设计的第二代射频高频端器件。它将GPS射频信号下变频到4.309MHz的中频(IF)后进行5.714MHz的2bit(A/D)量化。文中主要介绍如何利用PCI9052和GP2010实现GPS信号的量化存储。

    关键词:PCI总线 GPS DMA

引言

全球定位系统GPS(Global Position System),可以给用户提供实时的定位、速度和时间信息。现在的GPS接收机大多采用硬件电路进行码相关运算,结构复杂,更新升级比较困难;而基于软件无线电的GPS接收机受电路限制较少,更新换代只需调整相应软件,十分灵活。该数据采集卡就是基于以上考虑设计的。

1 PCI9052的特点与功能

PCI9052(以下简称9052)提供高性能的从目标PCI接口板卡与PCI总线的连接,支持宽范围速率的本地总线,最高可达132 javascript:window.open(this.src);" style="cursor:pointer;"/>MB/s的传输速率。对9052编程可实现复用/非复用的8位、16位、32位的本地总线接口。9052还有内部FIFO可以加速本地总线的操作,此外它还有以下功能:

①支持PCI r2.1版本,可以方便地将ISA卡转换为PCI卡;

②支持从目标传输模式,可以对存储器空间进行突发读/写,对I/O空间单次访问;

③2个本地中断总线配置;

④可编程的本地总线配置;

⑤串行E2PROM配置;

⑥4个本地片选引脚,5个本地空间;

⑦多种本地读/写操作模式,方便地实现PCI与本地的接口。

图1给出了9052内部结构。

2 GP2010射频前端器件

GP2010(以下简称2010)是为GPS接收机设计的射频前端器件,它接收GPS(L1)调制信号。L1是50位/Hz的信息码速率经过1.023MHz的伪随机码扩频后以BPSK方式调制在1575.42MHz的载波上形成的扩频信号。信号电平在进入天线之前大约只有-130dB,带宽为2.046MHz,所以L1基本上被噪声所掩盖。2010经过内部锁相环频率综合器产生1.4GHz、140MHz、与31.11MHz的三级时钟分别与射频输入的L1信号进行混频,其中还经过3级滤波抑制带外干扰,最后将其变换到4.309MHz的中频,然后进行5.714MHz的采样实现A/D变换(2位量化,符号位SIGN和数据位MAG)。根据奈奎斯特定律对带通信号要以高于两倍的信号带宽进行采样才可无失真的恢复,用5.714MHz的速率采样也要考虑到信号传播过程中由于相对运动而产生的多普勒效应使信号带宽变宽的缘故。量化数据在每个时钟的上升沿输出。图2给出2010的内部结构图。

图2 GP2010内部结构图

3 数据采集卡系统结构

GPS信号数据采集卡实现基本的一路GPS卫星信号的采集工作。由于2010为2位、5.714MHz的采样速率,我们在FPGA中首先将2位数据进行串并变换,使其每满32位后进行一次传输存储,这样存储速率就变为357.12kHz。缓存选用4片18k×16位的FIFO,这样就可以省略地址产生逻辑。在程序设计中,采样数据首先存入FIFO(A),待满后会产生相应的中断,中断服务程序将读取其中的数据。在读过程中,采样数据会继续写入FIFO(B),如此反复可将数据采入计算机内存。选用缓存时,建议在可行的情况下,容量越大越好。因为PCI总线上,除了设计的采集卡在不断地申请占用总线外,还会有其余的设备占用,如果缓存不够大将会丢失采样数据。FPGA的主要功能是实现数据串行变换、控制采样过程和与FIFO的接口逻辑。图3是该数据采集卡的系统框图。

4 9052使用中应该注意的问题

9052内部的配置寄存器是通过外部串行E2PROM上电加载的。9052会自动根据该E2PROM的状态来决定其内部寄存器的值。如果E2PROM不存在(此时E2PROM和9052连接的数据引脚应加上拉电阻)或其内部无有效值,9052会将其内部寄存器配置为缺省值。值得一提的是,如果E2PROM内部没有烧写为有效值时,应保证其开始48位为全“1”;否则,系统上电时可能会产生错误。

9052有5个本地空间,用户可根据实际需要进行相应的配置。当将本地空间配置成I/O时,对该空间的读/写操作只能单次进行。利用PLXMon来开发驱动程序(调用其提供的API函数)进行I/O读/写,速度会十分慢(一般不会超过500kHz);而如配置成存储器空间,用户会有多种接入模式,可大大提高接入速度。javascript:window.open(this.src);" style="cursor:pointer;"/>突发模式是为提高本地总线操作速度而设计的。在该模式期间,9052只提供一次传输开始和终止信号。开始信号有效后,地址将以本地时钟的频率(最高可达40MHz)递增,可以利用Bterm#引脚是否有效来终止突发操作。由于FIFO只需要一个口地址,在设计中为了利用其快速的存储器访问(突发访问)特性,我们还是为其分配了36KB的地址空间,以保证在该范围内FIFO的片选始终有效。图4是一次突发读时序。其中LCLK是本地时钟,ADS有效表示一次传输的开始,BLAST有效表示本次传输的终止。

在此须澄清一个概念:Pentium系列计算机(指CPU),不支持突发读操作,只可能产生单次读操作。用户若想在PCI总线上实现突发操作(FRAME信号有效,多余一个PCI时钟周期),应使用支持DMA传输的芯片,如PLX9054。但9052会将PCI总线上

[1] [2]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:3,546.87500 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号