摘 要: 隨著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.
評論