文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2016.04.018
中文引用格式: 黃庚,紀元法,孫希延. 衛(wèi)星導(dǎo)航信號采集存儲系統(tǒng)的設(shè)計[J].電子技術(shù)應(yīng)用,2016,42(4):63-66.
英文引用格式: Huang Geng,Ji Yuanfa,Sun Xiyan. The design of data acquisition system based on the navigation satellite signal[J].Application of Electronic Technique,2016,42(4):63-66.
0 引言
衛(wèi)星導(dǎo)航接收機的研發(fā)需要在真實的信號環(huán)境中進行,然而一些真實環(huán)境往往地處偏僻,甚至是條件惡劣,這不僅給研發(fā)過程帶來更復(fù)雜的操作流程,而且還會加大資金投入。這導(dǎo)致了一種新需求,即接收機研發(fā)者需要一種新型的儀器設(shè)備,能簡單高效地采集存儲真實環(huán)境中的GNSS信號,并可隨時將信號數(shù)據(jù)提取出來直接使用,以便進行接收機的算法研究。
因為需要為軟件接收機提供最原始的觀察數(shù)據(jù),它的性能直接反映著軟件接收機對原始數(shù)據(jù)的要求,所以原始數(shù)據(jù)的質(zhì)量至關(guān)重要。目前導(dǎo)航衛(wèi)星信號采集存儲系統(tǒng)不少基于USB、PCI總線與IDE硬盤等,其采樣存儲速率越來越難以滿足日益增長的高性能接收機的需求[1]。PCI Express總線技術(shù)及SATA總線技術(shù),與以往的總線技術(shù)相比,在數(shù)據(jù)傳輸速率和擴展性方面都有了較大的提升,可較好地滿足此方面的需求。
1 系統(tǒng)總體架構(gòu)
本文所設(shè)計的衛(wèi)星導(dǎo)航信號采集存儲系統(tǒng)由射頻下變頻模塊、高速A/D轉(zhuǎn)換模塊、FPGA、ARM、SATA硬盤存儲控制模塊、SATA硬盤組成。系統(tǒng)總體架構(gòu)如圖1所示。
射頻下變頻電路負責(zé)將環(huán)境中導(dǎo)航射頻信號 GPS L1頻點與BD2 B1頻點的信號同時進行下變頻處理,轉(zhuǎn)換成模擬中頻信號同時輸出。高速A/D轉(zhuǎn)換模塊有兩路,兩路A/D模塊負責(zé)同步地對兩路模擬中頻信號進行量化采樣。在FPGA器件內(nèi)部完成對A/D采樣數(shù)據(jù)的緩存處理后,通過FPGA內(nèi)部的PCI Express硬IP核,操控以PCI Express總線為傳輸控制接口的SATA硬盤存儲控制模塊SiL3132。SiI3132負責(zé)PCI Express 總線到SATA總線的協(xié)議轉(zhuǎn)換。ARM微控制器的主要功能是通過FPGA命令與數(shù)據(jù)的交互來實現(xiàn)對SATA硬盤的存儲。
2 系統(tǒng)主要硬件電路設(shè)計
2.1 射頻下變頻電路設(shè)計
射頻前端部分是系統(tǒng)的重要組成部分,本文選用RX3007作為射頻下變頻芯片。RX3007是一款北斗2 B1/GPS L1雙模雙通道射頻導(dǎo)航芯片,芯片高度集成化,支持雙通道同時工作,具有中頻信號低的特點。此芯片可以將從天線接收到的導(dǎo)航射頻信號經(jīng)過下變頻后輸出兩路模擬中頻輸出信號。默認情況下并行接收BD2 B1頻點和GPS L1頻點的射頻信號。BD2 B1和GPS L1的輸出模擬中頻信號頻率分別為4.092±2.046 MHz和4.092±1.023 MHz。圖2為射頻下變頻模塊電路原理圖。
2.2 A/D轉(zhuǎn)換模塊電路設(shè)計
模數(shù)轉(zhuǎn)換器是決定采集系統(tǒng)性能指標的關(guān)鍵器件之一,對采集數(shù)據(jù)準確度具有重大影響。本系統(tǒng)選用AD9233來實現(xiàn)模擬中頻信號的模數(shù)轉(zhuǎn)換功能。AD9233是一款單芯片、量化精度為12位、采樣速率高達125 MS/s的模數(shù)轉(zhuǎn)換器,片內(nèi)集成基準電壓源和采樣保持放大器,具有出色的性能[2]。此模塊的主要功能是對前端模擬中頻信號進行采樣與模數(shù)轉(zhuǎn)換,并將采樣數(shù)據(jù)傳送給后端FPGA??紤]到前端模擬中頻信號低中頻的特點和后端存儲數(shù)據(jù)吞吐速率的限制,將A/D采樣頻率設(shè)置為39 MS/s,足夠滿足系統(tǒng)功能與性能指標。圖3為A/D轉(zhuǎn)換模塊電路原理圖。
2.3 硬盤存儲控制模塊設(shè)計
本系統(tǒng)的存儲控制核心芯片采用Silicon Image 公司生產(chǎn)的SiI3132,它是一款單PCI Express通道轉(zhuǎn)換至雙SATA端口的主機控制器。片內(nèi)高度集成了SATA2.0傳輸層、鏈路層和物理層控制邏輯,提供了PCI Express總線到SATA設(shè)備的單芯片完整解決方案。SiI3132支持完整的SATA2.0的接口規(guī)范,包括支持傳輸速率高至3.0 Gb/s、硬盤NCQ功能和熱插拔功能等。其PCI Express總線接口支持PCI Express 1.1標準規(guī)范,通道為x1,其數(shù)據(jù)傳輸速率為250 MB/s[3]。硬盤存儲控制模塊原理圖如圖4所示。
3 系統(tǒng)關(guān)鍵程序設(shè)計
3.1 PCI Express硬核配置
本系統(tǒng)的FPGA器件選用Altera公司生產(chǎn)的Cyclone IV GX系列芯片EP4CGX150。該FPGA內(nèi)含多達8個3.125 Gb/s速率的全雙工高速收發(fā)器,并提供資源占用較少的PCI Express 1.1硬核IP,以實現(xiàn)PCI Express 1.1規(guī)范所需的2.5 Gb/s速率、8B/10B編解碼器和PCI Express分層協(xié)議棧,并支持x1、x2、x4通道模式,是一個完整的PCI Express協(xié)議解決方案[4]。
本設(shè)計PCI Express的IP硬核是利用Quartus II的宏功能模塊完成硬核具體參數(shù)的配置。在Quartus II 15.0工程內(nèi),點擊Tools菜單下面IP Catalog,選擇 IP Compiler for PCI Express v15.0。硬核配置界面如圖5所示。設(shè)計選擇硬IP核心,選擇通道數(shù)為x1,參考時鐘選擇100 MHz,應(yīng)用時鐘頻率設(shè)置為125 MHz,端口類型為根端口。點擊Next可對配置空間、容量、緩存和電源管理進行一系列的設(shè)置,本設(shè)計使用默認設(shè)置。最后點擊Finish即可生成PCI Express硬核文件。
3.2 硬盤存儲驅(qū)動程序設(shè)計
ARM微控制器在存儲進程中作為主控制器。ARM微控制器選用意法半導(dǎo)體公司生產(chǎn)的STM32F429芯片。FPGA與SiI3132通過PCI Express接口直接相連,因此ARM對SiI3132的控制是通過向FPGA下發(fā)各種控制命令的方式,間接實現(xiàn)對SiI3132內(nèi)部寄存器與內(nèi)部命令RAM的訪問,從而實現(xiàn)對硬盤的讀寫控制。對SiI3132而言,ARM+FPGA系統(tǒng)被看作是主機。
SiI3132存儲控制控制器主要由兩個子模塊構(gòu)成:PCI Express邏輯模塊、SATA端口邏輯模塊。在PCI Express邏輯模塊中,其配置寄存器和全局寄存器均位于PCI配置空間中,可以按PCI相關(guān)協(xié)議規(guī)范對其進行通用訪問。SATA邏輯塊有兩個,其功能完全相同,主要負責(zé)與SATA設(shè)備通信。芯片內(nèi)部PCI Express總線與SATA總線共享數(shù)據(jù)通路,而協(xié)議的執(zhí)行與數(shù)據(jù)的搬運則由讀取命令狀態(tài)機和執(zhí)行命令狀態(tài)機來操控。這兩個狀態(tài)機各有相關(guān)的命令FIFO,每個命令FIFO有31個命令槽。一個命令占據(jù)128 B,這其中包括一個64 B的PRB(The Port Request Block,端口請求塊)和一個64 B的SGT(The Scatter/Gather Table,分散/集中表)。
PRB的數(shù)據(jù)結(jié)構(gòu)包括四個部分:(1)控制字段,表明PRB的類型。根據(jù)PRB類型字段的不同,PRB有各種命令形式:標準ATA 命令、PACKET命令、軟復(fù)位命令等。(2)協(xié)議覆蓋重寫字段,用于選擇性地改變正常SATA協(xié)議流程。(3)FIS 區(qū)域,包含在PRB執(zhí)行時,被發(fā)送到設(shè)備的初始化FIS(Frame Information Structure,幀信息結(jié)構(gòu)體)。(4)SGE(The Scatter/Gather Entry,分散/集中條目),定義了被傳輸數(shù)據(jù)的地址。即在存儲過程中,主機只需將采集數(shù)據(jù)的緩存地址填入SGE條目中,當(dāng)數(shù)據(jù)傳輸命令執(zhí)行時,數(shù)據(jù)總線會將對應(yīng)數(shù)據(jù)傳送到SATA硬盤設(shè)備中。一個SGT中包含4個SGE條目,因此一個完整的PRB命令一共包含6個SGE條目[5]。完整PRB數(shù)據(jù)結(jié)構(gòu)如表1所示。
SATA硬盤存儲驅(qū)動程序中,寫硬盤程序流程圖如圖6所示。主機將連續(xù)的命令流寫入到命令FIFO中,命令槽中的命令則依次被取出來并執(zhí)行。主機通過訪問PCI配置空間中基地址寄存器1來訪問命令FIFO。
主機創(chuàng)建包含相應(yīng)SATA命令的PRB,并將其寫入SiI3132。SiI3132根據(jù)PRB生成相應(yīng)的FIS,F(xiàn)IS是與SATA設(shè)備完成數(shù)據(jù)傳輸與協(xié)議交互的基本單元[6]。當(dāng)SATA命令執(zhí)行完成后,主機根據(jù)所獲得相應(yīng)命令的完成狀態(tài)進行后續(xù)處理。
4 測試結(jié)果
系統(tǒng)設(shè)計完成后,通過多次實驗對系統(tǒng)的實際功能進行測試。測試使用固態(tài)硬盤作為存儲設(shè)備,采集存儲對象為真實衛(wèi)星導(dǎo)航信號。存儲完畢后將硬盤接到電腦上,對采集的數(shù)據(jù)運行MATLAB軟件接收機進行分析。從信號頻譜、捕獲效果和最后的跟蹤定位出發(fā),對采集數(shù)據(jù)的準確性進行評估。圖7為對采集存儲的其中一路GPS L1頻點中頻信號的一系列分析結(jié)果。
由圖7的分析結(jié)果可知,GPS L1中頻信號的中心頻點為4.092 MHz左右,且信號帶寬為2.046 MHz左右??梢猿晒Σ东@到6顆GPS衛(wèi)星,衛(wèi)星序號為2、5、12、15、26、29,并成功實現(xiàn)定位。這表明本采集存儲系統(tǒng)在一定程度上準確采集并正確存儲了該衛(wèi)星導(dǎo)航頻點的中頻信號,達到系統(tǒng)設(shè)計目標。
5 結(jié)束語
為了滿足目前衛(wèi)星導(dǎo)航接收機研究過程中對真實環(huán)境原始數(shù)據(jù)的需求,本文提出了一種衛(wèi)星導(dǎo)航信號采集存儲系統(tǒng),并對系統(tǒng)實際功能進行了測試。測試結(jié)果表明,系統(tǒng)可以準確采集并存儲導(dǎo)航衛(wèi)星中頻信號。此外,儀器設(shè)備也可應(yīng)用于GNSS信號模擬器與GNSS在軌衛(wèi)星的信號分析研究中,具有廣闊的應(yīng)用前景。
參考文獻
[1] 李豹,曹可勁,許江寧,等.基于FPGA和USB接口的多通道導(dǎo)航信號采集系統(tǒng)設(shè)計[J].計算機測量與控制,2012(2):541-543.
[2] Silicon Image.SiI3132 PCI express to serial ATA controller data sheet[EB/OL].(2010-05-07)[2013-03-25].http://wenku.baidu.com/link?url=UlR-pZJUZpjJjACqE-J36abR_7cWzJTMx2Z7tXczxYQ1g8Ge3As-Bmgx_fqr550L63OKqUuf6-t3gZrWesPF-rHabwHKVQCeRCMXNHvXQ0Th_G.
[3] 胡惠.多通道超高速數(shù)據(jù)采集與記錄系統(tǒng)的設(shè)計與實現(xiàn)[D].南京:南京理工大學(xué),2010.
[4] 李小龍,孟李林,邵瑞瑞,等.基于FPGA的PCI Express應(yīng)用平臺設(shè)計[J].電子科技,2014(12):108-111.
[5] 張輝,陳昕,沈晶晶,等.大容量機載存儲系統(tǒng)設(shè)計與仿真評價[J].電光與控制,2014(5):104-108.
[6] 張?zhí)煳模赟ATA 2.0接口的固態(tài)硬盤控制器的設(shè)計與實現(xiàn)[D].太原:中北大學(xué),2015.