余永林,宋立梅,王祝欣,龐春雷,趙修斌
(1.空軍工程大學 信息與導航學院,陜西 西安 710077; 2.中航工業西安飛行自動控制研究所,陜西 西安 710065; 3.中國人民解放軍93033部隊,遼寧 沈陽 110411)
全球衛星導航系統(global navigation satellite system, GNSS)應用產業已成為一個全球性的高新技術產業,無論是軍用還是民用,都產生了顯著的效益。隨著北斗衛星組網的不斷完善,基于北斗的雙模甚至多模接收機也在加緊進行研發,高精度多模接收機的研制過程中,環路部分和定位部分調試非常重要,直接關系到接收機性能的好壞[1],而多模多頻涉及到較多的信號通道和環路參數,利用傳統的示波器和邏輯分析儀進行調試所觀測的數據有限,而且對于出現錯誤的數據不能及時進行抓捕和分析。FPGA內嵌的SignalTap II或Chipscope邏輯分析儀占用其內在資源,深度有限,且每次都需要重新編譯,占用時間較長[2-3],因此如何解決多通道的環路和定位調試過程中的數據監測問題也成為研制衛星導航接收機的關鍵。
論文針對此問題基于FPGA和DSP設計了GNSS接收機(雙模四頻,L1,L2,B1,B2)的軟件調試監測系統。該系統實現了多通道環路數據的實時顯示分析、記錄保存及相應的環路數據調試和回放,通過在Google earth地圖軟件中顯示進行了定位數據的監測,有效的輔助了接收機基帶和定位部分的調試。
論文目的是為了利用接收機平臺的資源來設計開發軟件調試監測系統來代替硬件儀器,因此應首先了解接收機的硬件平臺,才能進一步的開發。論文自主研發設計的北斗/GPS雙模四頻高精度接收機每個頻點采用了12個通道,共48個通道,該接收機使用了FPGA和DSP芯片相結合的方法,型號分別為Xillinx公司的Spartan6-150和Ti公司的TMS320C6713。
接收機由射頻、基帶和定位三大部分組成,其單通道原理及調試監測系統如圖1所示[4-8]。FPGA完成信號的捕獲和跟蹤,DSP完成導航電文的提取、載波環和碼環的鑒相與濾波,并將相關數據通過雙向數據總線傳送給FPGA,調整碼NCO和載波NCO。其主要工作流程為:天線收到的射頻信號經模擬下變頻成為中頻信號,再經過A/D采樣后送至FPGA處理。經過加權自適應量化后,數字信號與本地復現的正交載波相乘后分成同相(I)和正交(Q)兩路數據,I,Q兩路信號經過濾波抽取以后送至相關累加器,與本地復現的超前、即時和滯后三路C/A碼進行相關累加。六路相關累加值送至DSP,DSP處理之后產生控制信號控制C/A碼的產生和載波NCO的相位字和頻率字。同時將環路數據和定位數據通過串口傳送到計算機上,通過軟件編程實現系統的輔助調試和監測功能。
圖1 單通道原理及調試監測系統框圖Fig.1 Frame of single channel principle and testing & inspecting system
調試監測系統的核心是如何將GNSS接收機的FPGA和DSP數據傳輸到PC機,即環路數據和PVT數據的實時傳輸。設計時將輸入的環路數據按功能劃分放在一起傳輸,過程為:上電時,FPGA所有通道處于復位狀態,快捕開始工作,搜索衛星,并將1 ms相關累加結果通過數據總線傳給DSP。DSP在接收到觸發中斷信號時,給捕獲到的衛星分配通道,復位和初始化。然后將環路信息寫入FPGA,進行環路的更新,同時發送通道控制信息,控制相應的地址數據搬移到串口緩沖區,以便進行數據的傳輸。對于DSP處理的PVT數據,則直接通過數據總線存儲到FPGA的雙口RAM中,然后搬移到串口緩沖區進行數據的發送。如圖2所示,這樣FPGA中每個通道和外部的數據總線之間的連接最簡單,便于FPGA的布局布線和實現時的功能更改和擴展[9]。
在PC機終端軟件設計時,將每個通道的環路數據按時間進行存儲,針對特定的通道數據進行實時的顯示和分析調試。
1.2.1 環路數據傳輸設計
對于基帶的環路數據,由于其通道數目較多,數據量較大。論文中涉及到的接收機為48通道,1 ms內每個通道需要傳輸的環路數據為32字節。考慮到傳輸哪些通道數據是由DSP控制的,因此在設計時,先在DSP中對通道進行了預處理,即找出能夠捕獲到衛星信號的通道,按照衛星號進行排列,根據需要進行控制信號的產生,即只傳輸能夠捕獲到衛星信號的通道數據。

圖2 調試監測系統結構框圖Fig.2 Configuration frame of testing & inspecting system
一般情況下,當前可視范圍內可以捕獲到的GPS衛星不會超出9個,北斗衛星低于7顆[10],因此如果考慮需要將所有捕獲到的衛星環路數據導出進行分析的話,1 ms內需要傳輸的數據最大量為32*(9*2+7*2)=1 024字節。可以充分利用環路數據20 ms更新一次和FPGA每1 ms讀取一次DSP環路數據的特性,也就是說20 ms之內讀取的數據沒有變化,考慮采取依次傳輸的方式,即20 ms之內一個串口可以依次傳輸20個通道1 ms的數據。考慮一定余量,在一個20 ms內,通過一個I/O管腳依次傳輸10個通道的1 ms數據,剩余10 ms空置,這樣只需要3個I/O管腳(設計的串口波特率為409 600)同時工作,在20 ms內就可以傳輸30個通道1 ms的數據,基本上可以滿足當前的接收到的GPS衛星和北斗衛星環路數據傳輸要求(9顆GPS衛星,6顆北斗衛星,各2個頻率,共30個通道),實現數據的實時更新傳輸。
如圖3所示,對于多通道的環路數據傳輸,在FPGA中的設計方案為:首先FPGA每毫秒讀取DSP中所有通道的環路數據1次,并存入雙口RAM中,其存儲操作頻率達到40 MHz,存儲時間很短,基本上可以忽略;然后在接收到DSP發送的控制信息后,將數據按地址搬移到串口緩沖區中,最后根據控制指令信息進行單個通道數據的依次傳輸。這里每20 ms內的環路數據基本上沒有變化,因此可以采用該方案進行數據的傳輸,最終將傳輸的數據進行保存分析,以達到數據監測的目的。
1.2.2 PVT數據傳輸設計
對于PVT的數據傳輸,由于DSP6713沒有擴展的異步串口通信功能,需要借助于FPGA豐富的I/O管腳進行類似環路數據的傳輸模式[11]。針對PVT數據傳輸頻率較低為1 Hz,數據量小,在設計時設置波特率為115 200即可滿足傳輸要求,而且不需要對通道進行控制。論文在設計時,將PVT數據加上標志頭通過數據總線傳輸到FPGA的雙口RAM中,數據發送完成立即搬移到串口緩沖區,然后通過串口向PC機進行傳輸[12]。考慮到數據格式的標準性,在設計時按照兩種數據格式進行發送,分別為Google earth所識別的數據格式和標準GPGGA格式。選擇哪一種數據格式,由DSP控制。
在基帶調試過程中,一段時間內往往只需要觀察一個通道的環路數據,而且要連續觀測能反應環路跟蹤性能的參數,因此在設計調試軟件時,采用了將FPGA傳輸過來的數據選擇性地進行實時顯示,每5 s刷新一次數據的顯示。也就是說,每當接收完5 000個1 ms環路數據時,開始進行一次圖形的刷新。由于環路的載波多普勒頻率可以反應環路的載波環寬帶跟蹤和窄帶跟蹤,Q路和I路累加值可以較好的反映碼環跟蹤狀況,因此在設計時選擇以上幾個參數作為顯示觀測量。若從圖形中看出環路數據出現問題,為分析查找原因,軟件還需要考慮數據的回放,即將各個通道的觀測數據記錄保存,然后進行事后處理和分析。

圖3 多通道的環路數據傳輸方案示意圖Fig.3 Sketch map of multi-channels loop data transmitting project
對于PVT數據的監測軟件,考慮到Google earth的查找功能,因此在設計時按照其標準格式進行顯示和存儲,通過Google earth顯示與當前位置的比較,監測PVT輸出的正確性。
對于調試監測軟件系統,主要包括FPGA內部數據操作控制、DSP數據操作控制部分、FPGA的I/O管腳與PC機操作部分,以及終端軟件部分。其各部分設計流程如圖4,5所示。圖5顯示的是整個接收機數據監測系統,由DSP,FPGA和PC機共同完成數據的傳輸,達到數據監測和輔助調試的目的。

圖4 FPGA和DSP在1ms內設計流程圖Fig.4 Flow chart of FPGA and DSP designed in 1ms

圖5 FPGA和PC數據傳輸及終端顯示設計流程圖Fig.5 Flow chart of FPGA' data transmitting with PC and terminal displaying
測試時間:2013-02-25T13∶40∶00;
測試地點:學院科研樓,天線放置于樓頂;
測試儀器:接收機板卡、計算機、天線、串口傳輸線和直流穩壓電源。
測試項目:環路數據的實時監測調試軟件、環路數據的回放分析軟件以及PVT終端監測軟件。
測試結果:如圖6~9所示。
圖6顯示的為5 000個1 ms環路數據(5 s),從載波多普勒頻移可以看出,這段時間內載波環由寬帶跟蹤轉到窄帶跟蹤。從其他參量也可以得到跟蹤性能良好的結論,但在3 s左右的時刻出現了I路相關累加值增大情況,這是由于進入窄帶跟蹤的緣故。
圖7回放了1通道未跟蹤上的環路數據,數據長度為40 s,每4 ms采集一次,這是由于依次采集了4個通道數據的原因。由圖可以清晰地看到環路數據的跟蹤情況,很容易達到監測調試的目的。
圖8顯示的為PVT數據結果,格式為GPGGA格式,同時該軟件還將結果記錄保存在相同的根目錄下。

圖6 環路數據實時監測結果Fig.6 Real time inspecting result of loop data

圖7 環路數據回放結果Fig.7 Reflection inspecting result of loop data

圖8 PVT解算數據的實時顯示結果Fig.8 Real time displaying result of PVT data

圖9 PVT數據在Google-earth中的顯示及局部放大圖Fig.9 PVT data displaying in Google-earth and its partial amplificatory chart
圖9顯示的為PVT數據結果經過轉換后,在Google-earth地圖中的顯示界面,可以很清晰地反應當前所在位置,利用其標尺工具可以較好地反應定位精度及誤差,達到數據監測的目的。
系統采用FPGA,DSP和PC機終端相結合的方式,實現了高精度定位接收機的環路數據及定位數據的內部傳輸,并最終體現在PC機上。通過在終端設計環路數據監測軟件和數據記錄保存軟件,可以方便地觀察環路數據情況,利用保存的數據進行回放設計,可以輔助查找問題,幫助接收機的快速調試。
參考文獻:
[1] 謝鋼. GPS原理與接收機設計[M]. 北京: 電子工業出版社, 2009.
XIE Gang. Principles of GPS and Receiver Design[M]. Beijing: Publishing House of Electronics Industry, 2009.
[2] 郭寶峰, 韓壯志, 何強,等. 基于嵌入式邏輯分析儀SignalTapⅡ的系統調試技術研究[J]. 微計算機應用, 2011, 32(10): 53-57.
GUO Bao-feng, HAN Zhuang-zhi, HE Qiang, et al. Research of System Debugging Technology Based on Embedded Logic Analyzer SignalTapⅡ[J]. Microcomputer Applications, 2011, 32(10): 53-57.
[3] 袁火平, 盧艷娥, 李曉明,等. 基于SignalTapⅡ的高速數據采集系統[J]. 微計算機信息, 2008, 24(9): 128-129.
YUAN Huo-ping, LU Yan-e, LI Xiao-ming, et al. High Speed Data Acquisition System Based on Signal TapⅡ[J]. Microcomputer Information, 2008, 24(9): 128-129.
[4] 龐春雷,盧艷娥, 嚴玉國,等.軍民兼容接收機的基帶處理及定位實現[J]. 電視技術, 2010, 34(1):124-127.
PANG Chun-lei, LU Yan-e, YAN Yu-guo, et al. Baseband Cutoff and Positioning Realization in Military and Civil Compatible GNSS Receiver [J]. Ideo Engineering, 2010, 34(1): 124-127.
[5] 陳麗, 吳仁彪, 胡鐵喬. 基于DSP & FPGA的GPS接收機關鍵技術的研究與實現[J]. 微型機與應用, 2011, 30(22): 28-34.
CHEN Li, WU Ren-biao, HU Tie-qiao. Research and Realization of Key Technology for Real Time GPS Receiver Based on DSP & FPGA[J]. Microcomputer & Applications, 2011, 30(22): 28-34.
[6] 胡輝, 袁超, 吳超,等. 基于FPGA的GPS接收機相關器技術研究與實現[J]. 系統仿真學報, 2011, 23(7): 1513-1518.
HU Hui, YUAN Chao, WU Chao, et al. FPGA-Based GPS Correlator Research and Implementation [J]. Journal of System Simulation, 2011, 23(7): 1513-1518.
[7] Korniyenkoov, Sharawims. GPS Software Receiver Implementations [J]. IEEE Potentials, 2007, 26(3):42-46.
[8] 龐春雷,盧艷娥,嚴玉國,等.軍民兼容衛導終端中FPGA的有效位長截取和濾波抽取[C]∥北京:第一屆中國衛星導航學術年會論文集, 2010: 60-64.
PANG Chun-lei, LU Yan-e, YAN Yu-guo, et al. The Word-Length Cutoff and Re-Sampling in Military and Civil Compatible GNSS Receiver [C]∥Beijing:The 1stChina Satellite Navigation Conference Electronic Proceedings, 2010:60-64.
[9] 呂衛國, 沈發江, 徐偉. 一種基于FPGA的多DSP數據交換方法[J]. 指揮控制與仿真, 2011, 33(2):90-94.
Lü Wei-guo, SHEN Fa-jiang, XU Wei. A Method of Multiple DSPs Signal Communication Based on FPGA [J]. Command Control & Simulation, 2011, 33(2): 90-94.
[10] 龐春雷, 趙修斌, 盧艷娥,等. COMPASS/GPS雙模導航定位精度分析及仿真[J]. 現代防御技術, 2011, 39(4): 35-39.
PANG Chun-lei, ZHAO Xiu-bin, LU Yan-e, et al. Analysis and Simulation of Positioning Precise in COMPASS/GPS Combined Navigation [J]. Modern Defence Technology, 2011, 39(4): 35-39.
[11] 江國強. EDA技術與應用[M]. 北京: 電子工業出版社, 2007.
JIANG Guo-qiang. EDA Technology and Application [M]. Beijing: Publishing House of Electronics Industry, 2007.
[12] 蘇明, 姚冬蘋. 專用異步串口通信電路的FPGA實現[J]. 物聯網技術, 2011(5): 65-67.
SU Ming, YAO Dong-ping. FPGA Implementation of Special Asynchronous Serial Communication Interface Circuit [J]. Internet of Thing Technology, 2011(5): 65-67.