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