文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.07.016
中文引用格式: 趙玉東,秦紅磊,張潤萍. 多通道GNSS數(shù)據(jù)采集平臺的設計與實現(xiàn)[J].電子技術應用,2017,43(7):63-66.
英文引用格式: Zhao Yudong,Qin Honglei,Zhang Runping. The design and implementation of multi-channel GNSS data acquisition platform[J].Application of Electronic Technique,2017,43(7):63-66.
0 引言
目前,數(shù)據(jù)采集技術已經(jīng)廣泛應用于雷達、導航、通信、圖像處理等領域,為各類系統(tǒng)提供了真實有效的實測數(shù)據(jù),以便于精度和可靠性驗證。在衛(wèi)星導航中,利用陣列天線方法進行抗多徑、抗干擾的理論研究已比較深入,但利用硬件平臺采集實測數(shù)據(jù)并進行結(jié)果驗證的研究在國內(nèi)還較少。由于平臺需要將每個天線陣元接收到的信號進行同步采集存儲,并要保證數(shù)據(jù)的準確性和可靠性,因此該平臺需具備多通道無失真高速數(shù)據(jù)采集和大容量數(shù)據(jù)存儲的能力。為了解決這一問題,本設計采用傳輸速率較高的PCIE串行總線,并以Xilinx公司Kintex7-325T系列FPGA芯片作為處理核心,設計并實現(xiàn)了多通道高速GNSS數(shù)據(jù)采集平臺,具備廣泛的應用價值。
1 系統(tǒng)總體架構
本文所設計的多通道衛(wèi)星導航采集存儲系統(tǒng)由多陣元天線陣列、多通道下變頻模塊、高速A/D轉(zhuǎn)換模塊、FPGA、SATA硬盤組成,系統(tǒng)總體架構如圖1所示。
天線陣列由8個導航測量型天線組成,能夠接收來自不同方向的GPSL1及北斗B1、B3等多個頻點的信號。多路下變頻設備是將每個天線陣元接收到的射頻信號進行下變頻處理,再將其輸入至各個A/D采集通道中。數(shù)字中頻信號在FPGA內(nèi)部進行緩存打包,然后通過操控PCI Express硬核,將數(shù)據(jù)由PCIE總線寫至PC內(nèi)存,最后搬移至臺式電腦的固態(tài)硬盤中,完成整個采集存儲的過程。
2 系統(tǒng)硬件結(jié)構
2.1 射頻前端的設計與實現(xiàn)
本次設計使用的下變頻板卡為實驗室自主研發(fā)產(chǎn)品,以北斗二代RNSS區(qū)域信號接收機射頻芯片為核心,可以接收B1、B2、B3以及GPS L1、GLONASS L1、L2頻點的信號(芯片內(nèi)只有一個射頻通道,通過SPI接口和S0、S1撥碼開關選擇信號選擇其中一個頻點工作),經(jīng)放大、變頻、濾波等處理后,輸出模擬或數(shù)字中頻信號供基帶芯片使用。通過設置SPI寄存器,片內(nèi)通道的幅頻特性可以設置為適合BPSK-2、BPSK-10以及MBOC(6,1,1/11)等不同的信號體制,下變頻頻率參數(shù)如表1所示。
該芯片的射頻前端帶寬可以配置,能夠降低射頻前端濾波器對擴頻碼相關峰的影響,從而滿足抗多徑算法基帶處理的要求。芯片結(jié)構及原理如圖2所示。
由于天線陣列抗多徑算法需要同時處理多路中頻導航數(shù)據(jù),為此,在本設計中將8塊下變頻板卡同時放入一個機箱中,并解決所有板卡的供電與外接時鐘的輸入問題。機箱布局如圖3所示。
2.2 AD采集平臺的設計與實現(xiàn)
本文設計的采集平臺是由基于PCIE總線的FPGA開發(fā)板和多路AD采集子板組成。AD采集板的主要功能是采集外部的模擬數(shù)據(jù),配置每個AD采樣通道的采樣時鐘,并將數(shù)據(jù)通過FMC接口輸入FPGA中;而FPGA開發(fā)板主要功能是將AD輸入的數(shù)據(jù)進行處理,包括數(shù)據(jù)的格式轉(zhuǎn)換、緩存,以及向PCIE總線打包發(fā)送等,兩塊板卡通過FMC-HPC高速接口相連。FPGA開發(fā)板的結(jié)構框圖如圖4所示。
該板卡主芯片采用Xilinx Kintex-7 FPGA xc7k325t-ffg900-2,芯片具有PCI Express Endpoint模塊、高速串行通信接口、DDR3內(nèi)存接口和自定義I/O接口。支持PCI Express 1/2/4/8Lane,符合PCI Expressv1.1/2.0,每個lane的傳輸速率是2.5 Gb/s。整板DDR3內(nèi)存總?cè)萘窟_到1 GB(支持最大2 GB)。DDR3 SDRAM時鐘最高達303.03 MHz。DDR3 SDRAM顆粒采用128 M×16 bit。4個DDR3顆粒組成一個64 bit 1 GB緩存。
本次設計采用的AD采集卡是具有8通道模數(shù)轉(zhuǎn)換器(ADC)的FPGA夾層卡,采用ADS62P49芯片,具有14 bit分辨率,最大采樣速率達250 MS/s。ADC時鐘設計由AD9516芯片提供。AD9516參考時鐘為10 MHz,可選板上10 MHz的VCXO,也可選擇從板外提供時鐘。板卡采用高引腳數(shù)(HPC)連接器,輸入信號可以是單端信號,也可以是差分信號對。該板卡結(jié)構框圖如圖5。
3 PCIE DMA通信鏈路的實現(xiàn)
DMA控制器是利用PCIE總線進行高效率數(shù)據(jù)傳輸?shù)闹匾侄巍1驹O計中的DMA控制器負責在驅(qū)動程序的控制下,將ADC FIFO中的數(shù)據(jù)搬移到PC內(nèi)存中。
本文中的DMA控制器的代碼基于Xilinx公司提供的xapp1052 DMA demo進行了修改,主要由RX Engine、TX Engine和EP_MEM構成,如圖6所示。由于本文只涉及數(shù)據(jù)采集接收,所以只針對TX Engine模塊與EP_MEM模塊加以說明。
3.1 TX_ENGINE的設計
TX_ENGINE模塊負責按照PCIE協(xié)議緩存打包數(shù)據(jù),并控制PCIE接口發(fā)送TLP給PC,從而實現(xiàn)對PC內(nèi)存的讀寫和對PC請求的回應。
3.2 EP_MEM的設計
EP_MEM模塊是整個FPGA的控制中心,DMA的控制和數(shù)據(jù)采集以及回放的控制都在該模塊內(nèi)實現(xiàn)。數(shù)據(jù)采集時,將adc_run_en置位,ADC即開始工作,并將采集到的數(shù)據(jù)放入TX FIFO中。主控Process若檢測到驅(qū)動程序請求數(shù)據(jù),并且TX FIFO中數(shù)據(jù)大于16 KB時,即啟動一次Mwr DMA操作,將16 KB搬移到驅(qū)動程序的緩沖區(qū)中。搬移完畢后,向驅(qū)動程序緩沖區(qū)的首地址寫入一個非零的數(shù)據(jù),以通知驅(qū)動操作完成。數(shù)據(jù)由FIFO單次寫入內(nèi)存的流程如圖7所示。
4 連續(xù)存儲數(shù)據(jù)的實現(xiàn)
當需要采集的數(shù)據(jù)量小于1 GB時,可以先將采集到的數(shù)據(jù)整體保存在內(nèi)存中,再一次性寫入文件。由于內(nèi)存大小的限制,不能一次性開辟足夠大的存儲空間,但可以采用多次開辟內(nèi)存的操作。即當一個空間存滿之后,隨即將所得到的數(shù)據(jù)寫到硬盤中的目標文件中;然后再次開辟一段空間,向新的內(nèi)存空間中繼續(xù)寫入數(shù)據(jù),再將數(shù)據(jù)轉(zhuǎn)移到硬盤當中。這一方法將一次大規(guī)模存儲操作變成多次小規(guī)模寫入操作,實現(xiàn)了不限制容量的存儲過程。另一方面,為了減少每次數(shù)據(jù)由內(nèi)存寫入硬盤的時間,將每次開辟的內(nèi)存空間大小定位16 KB,即當內(nèi)存每次從FIFO中讀取16 KB數(shù)據(jù)時,就立刻將其轉(zhuǎn)送到硬盤中的目標文件,此時每個開辟內(nèi)存的間斷時間是可以忽略不計的。該方法實現(xiàn)的流程如圖8所示。
5 信號采集測試
5.1 單通道信號采集測試
用正弦波信號源作為AD輸入,設置采樣率為62.5 MHz、量化位數(shù)為16 bit、使用單通道ADC采集頻率為1 MHz的正弦信號,再將數(shù)據(jù)經(jīng)PCIE總線存儲至硬盤中。使用MATLAB作出數(shù)據(jù)圖像,得到的結(jié)果如圖9所示。
由圖中可以看出,信號在時域是連續(xù)不失真的,且沒有明顯的雜波干擾。
再使用單通道衛(wèi)星導航信號作為數(shù)據(jù)源進行測試。信號源是由衛(wèi)星導航模擬器產(chǎn)生的GPSL1頻點的中頻信號,中頻為42.966 MHz,AD采樣率配置為62.5 MHz,存儲數(shù)據(jù)文件大小為20 GB,得到頻譜如圖10所示。從圖中看出,中頻頻點位置與預設值一致,并且頻譜圖像符合GPSL1信號BPSK調(diào)制規(guī)律。
5.2 系統(tǒng)整體測試結(jié)果
將整套測試設備置于室外環(huán)境中進行實測信號驗證,測試位置為北京航空航天大學新主樓大平臺,測試頻點為GPSL1信號,得到8個通道的經(jīng)緯高均值和標準差統(tǒng)計結(jié)果如表2所示。由表2看出,該采集平臺采集存儲的數(shù)據(jù)在經(jīng)度、緯度兩個維度解出的定位誤差均在10 m以內(nèi),高度誤差在20 m范圍左右,滿足了GPS定位要求。
6 結(jié)論
為滿足衛(wèi)星導航抗多徑算法中對于同一時刻多通道原始數(shù)據(jù)的需求,本文設計并實現(xiàn)了一種以FPGA為處理核心、PCIE串行總線為高速通信介質(zhì)、固態(tài)硬盤為存儲設備的高速多路數(shù)據(jù)采集與存儲平臺。經(jīng)過對該系統(tǒng)的全面測試,結(jié)果表明系統(tǒng)可以同時準確采集并存儲多通道衛(wèi)星導航實際數(shù)據(jù)。由于PCIE協(xié)議的通用性,該平臺可適用于任何帶有PCIEx8及以上接口的PC系統(tǒng)中。在未來的設計中也可以擴展為多塊板卡同時工作,使得該平臺可以適用于更多通道的數(shù)據(jù)采集與存儲中,具備廣闊的應用前景。
參考文獻
[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數(shù)字系統(tǒng)設計教程[M].北京:北京航空航天大學出版社,2008.
[5] 張琴,馬游春,李錦明.基于PCI Express高速數(shù)據(jù)采集卡的接口設計[J].測控技術,2010,29(2):63-66.
[6] 沈輝,張萍.FPGA在PCI Express總線接口中的應用[J].現(xiàn)代電子技術,2010,33(14):109-111.
[7] 劉寧.基于PCI Express接口的高速數(shù)據(jù)傳輸系統(tǒng)的設計與實現(xiàn)[D].太原:中北大學,2008.
[8] 薛小剛,葛毅敏.XilinxISE9.XFPGA/CPLD設計指南[M].北京:人民郵電出版社,2007.
[9] 劉凱,徐欣.基于Virtexs的PCI-Express總線接口設計[J].現(xiàn)代電子技術,2005(20):107-109.
[10] 石峰,吳建飛,劉凱,等.基于Xilinx FPGA的PCIE接口實現(xiàn)[J].微處理機,2008(6):18-22.
作者信息:
趙玉東,秦紅磊,張潤萍
(北京航空航天大學 電子信息工程學院,北京100191)