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