摘要 基于GP2015射频芯片和TMS320C6713 I)SP处理器,提出了一种GPS软件接收机信号实时接收及传输的基本方案。介绍了射频前端的基本构造以及它与DSP进行高速实时传输的接口方案,并且重点描述了一种基于EDMA数据传输方式的实现及完整的软件设计流程。本方案利用EDMA在CPU后台高效地实现存储空间的数据搬移,减少对CPU的使用,提高了平台运行速度,满足GPS软件接收机高速实时性要求。
引 言
近些年来,GPS定位系统在城市交通、导航、气象、土地测量测绘以及*现代化建设等各个领域都发挥了重要的作用。相较于传统的GPS接收机射频前端和信号处理部分由专用芯片来实现,软件接收机以FPGA、DSP等硬件平台作为基础,将GPS信号量化成数字信号,通过可移植的软件算法来实现各种功能。
在GPS软件接收机中,经射频前端(RF)将高频卫星信号3级下变频至中频信号,再交由DSP进行基带算法和导航解算处理。接收机对信号接收和传输的连续性和实时性要求很高。TI公司C67系列的DSP具有丰富的外设,其中增强型直接存储器访问(EDMA)和多通道缓冲串口(MCBSP)是其无需CPU的参与就能够完成GPS卫星数据实时传输的重要环节。
1 信号接收及传输方案
本系统采用TMS320C6713 DSP作为系统的处理器。射频前端选用ZARLINK公司的GP2015芯片完成信号的相关滤波、下变频以及A/D采样。在GP2015和DSP之间采用1片FPGA芯片EPlC3T144C8N进行相关的逻辑控制,如图1所示。接收机天线接收端的卫星信号功率约为2.7×10-6w,信噪比较低,必须先经过由有源天线和射频滤波器组成的前置滤波器模块,对频率为1 575.42 MH2的L1波段信号进行滤波,去除噪声及其他干扰。射频前端芯片选用ZARLINK公司的GP2015,一款针对GPS接收机的主流芯片。芯片本身使用温补晶振,通过1.4 GHz的PLL环路,产生3路本地载波信号对天线接收的高频信号实现3级变频:1 575.42 MHz→175.42 MHz→35.42 MHz→4.309 MHz,对4.309 MHz的模拟信号用5.714MHz的采样频率进行A/D转换得到SIGN、MAG两路信号,其中心频率落在1.405 MHz上。DSP使用MCBSP接收2路信号,再通过EI)MA从MCBSP的接收寄存器中取得数据,转存至指定外部存储器,以供CPU调用处理。
2 DSP 硬件设备设置
2.1 MCBSP设置
TMS320C6713提供2个MCBSP端口,可以与工业标准的编/解码器、AICS(模拟接口芯片)以及其他串行A/D、D/A接口实现全双工串行通信。MCBSP提供了双缓存的发送寄存器和三缓存的接收寄存器,允许连续的数据流传输。
MCBSP通过7个引脚(DX、DR、CLKX、CLKR、FSX、FSR和CLKS)与外设接口。在接收GPS信号的时候,DR引脚上接收到的数据首先进入接收转移寄存器(RSR),然后被复制到接收缓冲寄存器(RBR),RBR再将数据复制到数据接收寄存器(DRR)中,等待EDMA控制器读取。GPS软件接收机不需要向前端发送数据,所以发送功能不作介绍。信号传输的操作由串行口控制寄存器SPCR和引脚控制寄存器PCR来决定。接收控制寄存器RCR设置接收的各种参数,如帧长度等。
信号在MCBSP中传输时需要提供同步时钟以及帧同步信号,它们既可以由内部采样速率产生器。产生,也可以由外部脉冲源驱动。在本文介绍的方案中,射频前端的SIGN和MAG信号的时钟CLK由FPGA提供。GP2015的LVDS接口产生差分信号,与同样具有LVDS接口的ALT。ERA公司的FPGA芯片EPlC3T144C8N接口,由FPGA通过对输入的40 MHz的差分信号进行7分频,得到5.714 MHz的时钟并提供给GP2015及DSP分别用作中频采样时钟信号和MCBSP的外部时钟信号。同时再对5.714 MHz信号进行32分频,提供给DSP处理器的McBSP0、MCBSP1用作帧同步信号。系统接口的示意图和相关信号的时序图如图2、图3所示。
2.2 EDMA设置
TMS320C6713的EDMA控制器提供16个增强通道,各通道之间彼此独立。在没有CPU参与的情况下,EDMA控制器可以在后台完成片内存储器和外设之间的数据搬移。它由以下几部分组成:事件和中断处理寄存器、事件编码器、参数RAM、地址硬件发生器。其中事件寄存器完成对EDMA事件的捕获控制,事件产生同步信号触发EDMA通道开始数据传输;EDMA的参数RAM存放有与事件相关的传输参数;地址硬件发生器产生EMIF与外设之间读/写操作所需的地址信号。EDMA的16个通道共享1个中断信号EDMA_INT,当EDMA完成1次传输任务,可触发EDMA中断。TMS320C6713的EDMA的参数RAM包括6个字,其结构如图4所示。在OPT中,用户可以通过对各个位置“0”或“1”来设置事件优先级别、数据单元大小、源地址/目的地址变更模式、传输结束代码、是否使能链接(1inking)功能、同步传输方式等。
3 乒乓缓存实时传输
3.1 传输分析
GPS软件接收机通过MCBSP端口接收信号,将卫星数据保存在指定映射的存储器中,随后EDMA通道搬运数据至片内L2缓存以供CPU提取并处理。L2缓存有CPU一半的时钟速度,CPU处理数据速度较块。CPU数据处理必须与EDMA数据传输保持同步,也就是要保证在CPU访问之前EDMA把数据传输到缓冲区中。但是受片内二级存储器容量和数据实时性的限制,会面临这样一个问题:后写入缓冲区的数据可能会覆盖先期写入但尚未处理的数据。为此,需要在L2缓存开辟2对乒乓缓存(ping-pong buffer),分别接收GPS的SIGN和MAG信号,并利用EDMA的多组参数链接功能,根据数据实时传输的特点,对EDMA参数RAM进行设置。
以接收SIGN信号为例,首先开辟1个EDMA通道1,它的触发事件设为MCBSP0的传输。入口参数0PT设置为一维单帧传输,采用读/写同步方式,数据单元长度为32位,源地址固定不变,目的地址按1个数据单元长度递增,并使能链接功能。SRC设为MCBSP中DRR2的映射地址,:DST设为ping—buffer的首地址,ELECNT设为缓冲区的大小,FRMCNT、FRMIDX、ELEIDX、ELERLD均设为0。随后再开辟2路空闲的EDMA通道——通道2和通道3,它的设置和之前相同,只是在DST目的地址处分别指向pong—buffer和ping—buffer。随后将EDMA通道1的链接地址link指向通道2,通道2的link地址指向通道3,通道3的链接地址指向通道2。MAG信号的EDMA链接功能和乒乓缓冲的配合设置相同,不再描述。乒乓缓存的相关设置如图5所示。
3.2 程序设置
利用EDMA和MCBSP实时传输GPS信号的程序在CCS3.3环境下进行编写和调试,结果证明数据传输正确无误。以下程序简要说明了GPS软件接收机的软件传输配置。
结 语
本文在基于GP2015和TMS320C6713的基础上,提出了一种软件接收机的大致方案,并且利用MCBSP和EDMA实现了对GPS卫星信号的实时接收和传输。文章重点介绍了DSP硬件设备的有关参数设置,以及乒乓缓存的使用方法,并给出部分程序以供参考。
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。