摘 要: 随着GNSS系统的发展,多径效应逐渐成为影响定位精度和可靠性的重要因素之一。为了验证天线阵列方法对于多径效应的消除情况,需要对多个天线接收到的数据进行实时同步采集存储。为了实现这一目标,利用基于PCIE通信总线的FPGA开发板与多路AD采集卡设计并实现了满足系统要求的数据采集平台。首先简要介绍了该采集平台的结构及PCIE通信链路的搭建,然后设计实现了一种数据连续存储的方法,最后通过实验验证了该方法的可行性及采集平台的整体性能。
0 引言
目前,数据采集技术已经广泛应用于雷达、导航、通信、图像处理等领域,为各类系统提供了真实有效的实测数据,以便于精度和可靠性验证。在卫星导航中,利用阵列天线方法进行抗多径、抗干扰的理论研究已比较深入,但利用硬件平台采集实测数据并进行结果验证的研究在国内还较少。由于平台需要将每个天线阵元接收到的信号进行同步采集存储,并要保证数据的准确性和可靠性,因此该平台需具备多通道无失真高速数据采集和大容量数据存储的能力。为了解决这一问题,本设计采用传输速率较高的PCIE串行总线,并以Xilinx公司Kintex7-325T系列FPGA芯片作为处理核心,设计并实现了多通道高速GNSS数据采集平台,具备广泛的应用价值。
1 系统总体架构
本文所设计的多通道卫星导航采集存储系统由多阵元天线阵列、多通道下变频模块、高速A/D转换模块、FPGA、SATA硬盘组成,系统总体架构如图1所示。
天线阵列由8个导航测量型天线组成,能够接收来自不同方向的GPSL1及北斗B1、B3等多个频点的信号。多路下变频设备是将每个天线阵元接收到的射频信号进行下变频处理,再将其输入至各个A/D采集通道中。数字中频信号在FPGA内部进行缓存打包,然后通过操控PCI Express硬核,将数据由PCIE总线写至PC内存,最后搬移至台式电脑的固态硬盘中,完成整个采集存储的过程。
2 系统硬件结构
2.1 射频前端的设计与实现
本次设计使用的下变频板卡为实验室自主研发产品,以北斗二代RNSS区域信号接收机射频芯片为核心,可以接收B1、B2、B3以及GPS L1、GLONASS L1、L2频点的信号(芯片内只有一个射频通道,通过SPI接口和S0、S1拨码开关选择信号选择其中一个频点工作),经放大、变频、滤波等处理后,输出模拟或数字中频信号供基带芯片使用。通过设置SPI寄存器,片内通道的幅频特性可以设置为适合BPSK-2、BPSK-10以及MBOC(6,1,1/11)等不同的信号体制,下变频频率参数如表1所示。
该芯片的射频前端带宽可以配置,能够降低射频前端滤波器对扩频码相关峰的影响,从而满足抗多径算法基带处理的要求。芯片结构及原理如图2所示。
由于天线阵列抗多径算法需要同时处理多路中频导航数据,为此,在本设计中将8块下变频板卡同时放入一个机箱中,并解决所有板卡的供电与外接时钟的输入问题。机箱布局如图3所示。
2.2 AD采集平台的设计与实现
本文设计的采集平台是由基于PCIE总线的FPGA开发板和多路AD采集子板组成。AD采集板的主要功能是采集外部的模拟数据,配置每个AD采样通道的采样时钟,并将数据通过FMC接口输入FPGA中;而FPGA开发板主要功能是将AD输入的数据进行处理,包括数据的格式转换、缓存,以及向PCIE总线打包发送等,两块板卡通过FMC-HPC高速接口相连。FPGA开发板的结构框图如图4所示。
该板卡主芯片采用Xilinx Kintex-7 FPGA xc7k325t-ffg900-2,芯片具有PCI Express Endpoint模块、高速串行通信接口、DDR3内存接口和自定义I/O接口。支持PCI Express 1/2/4/8Lane,符合PCI Expressv1.1/2.0,每个lane的传输速率是2.5 Gb/s。整板DDR3内存总容量达到1 GB(支持最大2 GB)。DDR3 SDRAM时钟最高达303.03 MHz。DDR3 SDRAM颗粒采用128 M×16 bit。4个DDR3颗粒组成一个64 bit 1 GB缓存。
本次设计采用的AD采集卡是具有8通道模数转换器(ADC)的FPGA夹层卡,采用ADS62P49芯片,具有14 bit分辨率,最大采样速率达250 MS/s。ADC时钟设计由AD9516芯片提供。AD9516参考时钟为10 MHz,可选板上10 MHz的VCXO,也可选择从板外提供时钟。板卡采用高引脚数(HPC)连接器,输入信号可以是单端信号,也可以是差分信号对。该板卡结构框图如图5。
3 PCIE DMA通信链路的实现
DMA控制器是利用PCIE总线进行高效率数据传输的重要手段。本设计中的DMA控制器负责在驱动程序的控制下,将ADC FIFO中的数据搬移到PC内存中。
本文中的DMA控制器的代码基于Xilinx公司提供的xapp1052 DMA demo进行了修改,主要由RX Engine、TX Engine和EP_MEM构成,如图6所示。由于本文只涉及数据采集接收,所以只针对TX Engine模块与EP_MEM模块加以说明。
3.1 TX_ENGINE的设计
TX_ENGINE模块负责按照PCIE协议缓存打包数据,并控制PCIE接口发送TLP给PC,从而实现对PC内存的读写和对PC请求的回应。
3.2 EP_MEM的设计
EP_MEM模块是整个FPGA的控制中心,DMA的控制和数据采集以及回放的控制都在该模块内实现。数据采集时,将adc_run_en置位,ADC即开始工作,并将采集到的数据放入TX FIFO中。主控Process若检测到驱动程序请求数据,并且TX FIFO中数据大于16 KB时,即启动一次Mwr DMA操作,将16 KB搬移到驱动程序的缓冲区中。搬移完毕后,向驱动程序缓冲区的首地址写入一个非零的数据,以通知驱动操作完成。数据由FIFO单次写入内存的流程如图7所示。
4 连续存储数据的实现
当需要采集的数据量小于1 GB时,可以先将采集到的数据整体保存在内存中,再一次性写入文件。由于内存大小的限制,不能一次性开辟足够大的存储空间,但可以采用多次开辟内存的操作。即当一个空间存满之后,随即将所得到的数据写到硬盘中的目标文件中;然后再次开辟一段空间,向新的内存空间中继续写入数据,再将数据转移到硬盘当中。这一方法将一次大规模存储操作变成多次小规模写入操作,实现了不限制容量的存储过程。另一方面,为了减少每次数据由内存写入硬盘的时间,将每次开辟的内存空间大小定位16 KB,即当内存每次从FIFO中读取16 KB数据时,就立刻将其转送到硬盘中的目标文件,此时每个开辟内存的间断时间是可以忽略不计的。该方法实现的流程如图8所示。
5 信号采集测试
5.1 单通道信号采集测试
用正弦波信号源作为AD输入,设置采样率为62.5 MHz、量化位数为16 bit、使用单通道ADC采集频率为1 MHz的正弦信号,再将数据经PCIE总线存储至硬盘中。使用MATLAB作出数据图像,得到的结果如图9所示。
由图中可以看出,信号在时域是连续不失真的,且没有明显的杂波干扰。
再使用单通道卫星导航信号作为数据源进行测试。信号源是由卫星导航模拟器产生的GPSL1频点的中频信号,中频为42.966 MHz,AD采样率配置为62.5 MHz,存储数据文件大小为20 GB,得到频谱如图10所示。从图中看出,中频频点位置与预设值一致,并且频谱图像符合GPSL1信号BPSK调制规律。
5.2 系统整体测试结果
将整套测试设备置于室外环境中进行实测信号验证,测试位置为北京航空航天大学新主楼大平台,测试频点为GPSL1信号,得到8个通道的经纬高均值和标准差统计结果如表2所示。由表2看出,该采集平台采集存储的数据在经度、纬度两个维度解出的定位误差均在10 m以内,高度误差在20 m范围左右,满足了GPS定位要求。
6 结论
为满足卫星导航抗多径算法中对于同一时刻多通道原始数据的需求,本文设计并实现了一种以FPGA为处理核心、PCIE串行总线为高速通信介质、固态硬盘为存储设备的高速多路数据采集与存储平台。经过对该系统的全面测试,结果表明系统可以同时准确采集并存储多通道卫星导航实际数据。由于PCIE协议的通用性,该平台可适用于任何带有PCIEx8及以上接口的PC系统中。在未来的设计中也可以扩展为多块板卡同时工作,使得该平台可以适用于更多通道的数据采集与存储中,具备广阔的应用前景。
参考文献
[1] BRAASCH M.Optimum antenna design for DGPS ground reference stations[C].ION GPS 1994.Salt Lake City,UT:1994:1291-1297.
[2] NEHORAI A,PALDI E.Vector-sensor array processing for electromagnetic sourcelocalization[J].IEEE Trans.Signal Processing,1994,42(2):376-398.
[3] MIRON S,MARS J I.Vector-sensor music for polarized seismicsources localization[J].EURASIP Journal on Applied Signal Processing,2005,1(1):74-84.
[4] 夏宇闻.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2008.
[5] 张琴,马游春,李锦明.基于PCI Express高速数据采集卡的接口设计[J].测控技术,2010,29(2):63-66.
[6] 沈辉,张萍.FPGA在PCI Express总线接口中的应用[J].现代电子技术,2010,33(14):109-111.
[7] 刘宁.基于PCI Express接口的高速数据传输系统的设计与实现[D].太原:中北大学,2008.
[8] 薛小刚,葛毅敏.XilinxISE9.XFPGA/CPLD设计指南[M].北京:人民邮电出版社,2007.
[9] 刘凯,徐欣.基于Virtexs的PCI-Express总线接口设计[J].现代电子技术,2005(20):107-109.
[10] 石峰,吴建飞,刘凯,等.基于Xilinx FPGA的PCIE接口实现[J].微处理机,2008(6):18-22.
评论
查看更多