余永林,宋立梅,王祝欣,龐春雷,趙修斌
(1.空軍工程大學(xué) 信息與導(dǎo)航學(xué)院,陜西 西安 710077; 2.中航工業(yè)西安飛行自動(dòng)控制研究所,陜西 西安 710065; 3.中國人民解放軍93033部隊(duì),遼寧 沈陽 110411)
全球衛(wèi)星導(dǎo)航系統(tǒng)(global navigation satellite system, GNSS)應(yīng)用產(chǎn)業(yè)已成為一個(gè)全球性的高新技術(shù)產(chǎn)業(yè),無論是軍用還是民用,都產(chǎn)生了顯著的效益。隨著北斗衛(wèi)星組網(wǎng)的不斷完善,基于北斗的雙模甚至多模接收機(jī)也在加緊進(jìn)行研發(fā),高精度多模接收機(jī)的研制過程中,環(huán)路部分和定位部分調(diào)試非常重要,直接關(guān)系到接收機(jī)性能的好壞[1],而多模多頻涉及到較多的信號(hào)通道和環(huán)路參數(shù),利用傳統(tǒng)的示波器和邏輯分析儀進(jìn)行調(diào)試所觀測的數(shù)據(jù)有限,而且對(duì)于出現(xiàn)錯(cuò)誤的數(shù)據(jù)不能及時(shí)進(jìn)行抓捕和分析。FPGA內(nèi)嵌的SignalTap II或Chipscope邏輯分析儀占用其內(nèi)在資源,深度有限,且每次都需要重新編譯,占用時(shí)間較長[2-3],因此如何解決多通道的環(huán)路和定位調(diào)試過程中的數(shù)據(jù)監(jiān)測問題也成為研制衛(wèi)星導(dǎo)航接收機(jī)的關(guān)鍵。
論文針對(duì)此問題基于FPGA和DSP設(shè)計(jì)了GNSS接收機(jī)(雙模四頻,L1,L2,B1,B2)的軟件調(diào)試監(jiān)測系統(tǒng)。該系統(tǒng)實(shí)現(xiàn)了多通道環(huán)路數(shù)據(jù)的實(shí)時(shí)顯示分析、記錄保存及相應(yīng)的環(huán)路數(shù)據(jù)調(diào)試和回放,通過在Google earth地圖軟件中顯示進(jìn)行了定位數(shù)據(jù)的監(jiān)測,有效的輔助了接收機(jī)基帶和定位部分的調(diào)試。
論文目的是為了利用接收機(jī)平臺(tái)的資源來設(shè)計(jì)開發(fā)軟件調(diào)試監(jiān)測系統(tǒng)來代替硬件儀器,因此應(yīng)首先了解接收機(jī)的硬件平臺(tái),才能進(jìn)一步的開發(fā)。論文自主研發(fā)設(shè)計(jì)的北斗/GPS雙模四頻高精度接收機(jī)每個(gè)頻點(diǎn)采用了12個(gè)通道,共48個(gè)通道,該接收機(jī)使用了FPGA和DSP芯片相結(jié)合的方法,型號(hào)分別為Xillinx公司的Spartan6-150和Ti公司的TMS320C6713。
接收機(jī)由射頻、基帶和定位三大部分組成,其單通道原理及調(diào)試監(jiān)測系統(tǒng)如圖1所示[4-8]。FPGA完成信號(hào)的捕獲和跟蹤,DSP完成導(dǎo)航電文的提取、載波環(huán)和碼環(huán)的鑒相與濾波,并將相關(guān)數(shù)據(jù)通過雙向數(shù)據(jù)總線傳送給FPGA,調(diào)整碼NCO和載波NCO。其主要工作流程為:天線收到的射頻信號(hào)經(jīng)模擬下變頻成為中頻信號(hào),再經(jīng)過A/D采樣后送至FPGA處理。經(jīng)過加權(quán)自適應(yīng)量化后,數(shù)字信號(hào)與本地復(fù)現(xiàn)的正交載波相乘后分成同相(I)和正交(Q)兩路數(shù)據(jù),I,Q兩路信號(hào)經(jīng)過濾波抽取以后送至相關(guān)累加器,與本地復(fù)現(xiàn)的超前、即時(shí)和滯后三路C/A碼進(jìn)行相關(guān)累加。六路相關(guān)累加值送至DSP,DSP處理之后產(chǎn)生控制信號(hào)控制C/A碼的產(chǎn)生和載波NCO的相位字和頻率字。同時(shí)將環(huán)路數(shù)據(jù)和定位數(shù)據(jù)通過串口傳送到計(jì)算機(jī)上,通過軟件編程實(shí)現(xiàn)系統(tǒng)的輔助調(diào)試和監(jiān)測功能。
圖1 單通道原理及調(diào)試監(jiān)測系統(tǒng)框圖Fig.1 Frame of single channel principle and testing & inspecting system
調(diào)試監(jiān)測系統(tǒng)的核心是如何將GNSS接收機(jī)的FPGA和DSP數(shù)據(jù)傳輸?shù)絇C機(jī),即環(huán)路數(shù)據(jù)和PVT數(shù)據(jù)的實(shí)時(shí)傳輸。設(shè)計(jì)時(shí)將輸入的環(huán)路數(shù)據(jù)按功能劃分放在一起傳輸,過程為:上電時(shí),F(xiàn)PGA所有通道處于復(fù)位狀態(tài),快捕開始工作,搜索衛(wèi)星,并將1 ms相關(guān)累加結(jié)果通過數(shù)據(jù)總線傳給DSP。DSP在接收到觸發(fā)中斷信號(hào)時(shí),給捕獲到的衛(wèi)星分配通道,復(fù)位和初始化。然后將環(huán)路信息寫入FPGA,進(jìn)行環(huán)路的更新,同時(shí)發(fā)送通道控制信息,控制相應(yīng)的地址數(shù)據(jù)搬移到串口緩沖區(qū),以便進(jìn)行數(shù)據(jù)的傳輸。對(duì)于DSP處理的PVT數(shù)據(jù),則直接通過數(shù)據(jù)總線存儲(chǔ)到FPGA的雙口RAM中,然后搬移到串口緩沖區(qū)進(jìn)行數(shù)據(jù)的發(fā)送。如圖2所示,這樣FPGA中每個(gè)通道和外部的數(shù)據(jù)總線之間的連接最簡單,便于FPGA的布局布線和實(shí)現(xiàn)時(shí)的功能更改和擴(kuò)展[9]。
在PC機(jī)終端軟件設(shè)計(jì)時(shí),將每個(gè)通道的環(huán)路數(shù)據(jù)按時(shí)間進(jìn)行存儲(chǔ),針對(duì)特定的通道數(shù)據(jù)進(jìn)行實(shí)時(shí)的顯示和分析調(diào)試。
1.2.1 環(huán)路數(shù)據(jù)傳輸設(shè)計(jì)
對(duì)于基帶的環(huán)路數(shù)據(jù),由于其通道數(shù)目較多,數(shù)據(jù)量較大。論文中涉及到的接收機(jī)為48通道,1 ms內(nèi)每個(gè)通道需要傳輸?shù)沫h(huán)路數(shù)據(jù)為32字節(jié)。考慮到傳輸哪些通道數(shù)據(jù)是由DSP控制的,因此在設(shè)計(jì)時(shí),先在DSP中對(duì)通道進(jìn)行了預(yù)處理,即找出能夠捕獲到衛(wèi)星信號(hào)的通道,按照衛(wèi)星號(hào)進(jìn)行排列,根據(jù)需要進(jìn)行控制信號(hào)的產(chǎn)生,即只傳輸能夠捕獲到衛(wèi)星信號(hào)的通道數(shù)據(jù)。
圖2 調(diào)試監(jiān)測系統(tǒng)結(jié)構(gòu)框圖Fig.2 Configuration frame of testing & inspecting system
一般情況下,當(dāng)前可視范圍內(nèi)可以捕獲到的GPS衛(wèi)星不會(huì)超出9個(gè),北斗衛(wèi)星低于7顆[10],因此如果考慮需要將所有捕獲到的衛(wèi)星環(huán)路數(shù)據(jù)導(dǎo)出進(jìn)行分析的話,1 ms內(nèi)需要傳輸?shù)臄?shù)據(jù)最大量為32*(9*2+7*2)=1 024字節(jié)。可以充分利用環(huán)路數(shù)據(jù)20 ms更新一次和FPGA每1 ms讀取一次DSP環(huán)路數(shù)據(jù)的特性,也就是說20 ms之內(nèi)讀取的數(shù)據(jù)沒有變化,考慮采取依次傳輸?shù)姆绞?,?0 ms之內(nèi)一個(gè)串口可以依次傳輸20個(gè)通道1 ms的數(shù)據(jù)??紤]一定余量,在一個(gè)20 ms內(nèi),通過一個(gè)I/O管腳依次傳輸10個(gè)通道的1 ms數(shù)據(jù),剩余10 ms空置,這樣只需要3個(gè)I/O管腳(設(shè)計(jì)的串口波特率為409 600)同時(shí)工作,在20 ms內(nèi)就可以傳輸30個(gè)通道1 ms的數(shù)據(jù),基本上可以滿足當(dāng)前的接收到的GPS衛(wèi)星和北斗衛(wèi)星環(huán)路數(shù)據(jù)傳輸要求(9顆GPS衛(wèi)星,6顆北斗衛(wèi)星,各2個(gè)頻率,共30個(gè)通道),實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)更新傳輸。
如圖3所示,對(duì)于多通道的環(huán)路數(shù)據(jù)傳輸,在FPGA中的設(shè)計(jì)方案為:首先FPGA每毫秒讀取DSP中所有通道的環(huán)路數(shù)據(jù)1次,并存入雙口RAM中,其存儲(chǔ)操作頻率達(dá)到40 MHz,存儲(chǔ)時(shí)間很短,基本上可以忽略;然后在接收到DSP發(fā)送的控制信息后,將數(shù)據(jù)按地址搬移到串口緩沖區(qū)中,最后根據(jù)控制指令信息進(jìn)行單個(gè)通道數(shù)據(jù)的依次傳輸。這里每20 ms內(nèi)的環(huán)路數(shù)據(jù)基本上沒有變化,因此可以采用該方案進(jìn)行數(shù)據(jù)的傳輸,最終將傳輸?shù)臄?shù)據(jù)進(jìn)行保存分析,以達(dá)到數(shù)據(jù)監(jiān)測的目的。
1.2.2 PVT數(shù)據(jù)傳輸設(shè)計(jì)
對(duì)于PVT的數(shù)據(jù)傳輸,由于DSP6713沒有擴(kuò)展的異步串口通信功能,需要借助于FPGA豐富的I/O管腳進(jìn)行類似環(huán)路數(shù)據(jù)的傳輸模式[11]。針對(duì)PVT數(shù)據(jù)傳輸頻率較低為1 Hz,數(shù)據(jù)量小,在設(shè)計(jì)時(shí)設(shè)置波特率為115 200即可滿足傳輸要求,而且不需要對(duì)通道進(jìn)行控制。論文在設(shè)計(jì)時(shí),將PVT數(shù)據(jù)加上標(biāo)志頭通過數(shù)據(jù)總線傳輸?shù)紽PGA的雙口RAM中,數(shù)據(jù)發(fā)送完成立即搬移到串口緩沖區(qū),然后通過串口向PC機(jī)進(jìn)行傳輸[12]??紤]到數(shù)據(jù)格式的標(biāo)準(zhǔn)性,在設(shè)計(jì)時(shí)按照兩種數(shù)據(jù)格式進(jìn)行發(fā)送,分別為Google earth所識(shí)別的數(shù)據(jù)格式和標(biāo)準(zhǔn)GPGGA格式。選擇哪一種數(shù)據(jù)格式,由DSP控制。
在基帶調(diào)試過程中,一段時(shí)間內(nèi)往往只需要觀察一個(gè)通道的環(huán)路數(shù)據(jù),而且要連續(xù)觀測能反應(yīng)環(huán)路跟蹤性能的參數(shù),因此在設(shè)計(jì)調(diào)試軟件時(shí),采用了將FPGA傳輸過來的數(shù)據(jù)選擇性地進(jìn)行實(shí)時(shí)顯示,每5 s刷新一次數(shù)據(jù)的顯示。也就是說,每當(dāng)接收完5 000個(gè)1 ms環(huán)路數(shù)據(jù)時(shí),開始進(jìn)行一次圖形的刷新。由于環(huán)路的載波多普勒頻率可以反應(yīng)環(huán)路的載波環(huán)寬帶跟蹤和窄帶跟蹤,Q路和I路累加值可以較好的反映碼環(huán)跟蹤狀況,因此在設(shè)計(jì)時(shí)選擇以上幾個(gè)參數(shù)作為顯示觀測量。若從圖形中看出環(huán)路數(shù)據(jù)出現(xiàn)問題,為分析查找原因,軟件還需要考慮數(shù)據(jù)的回放,即將各個(gè)通道的觀測數(shù)據(jù)記錄保存,然后進(jìn)行事后處理和分析。
圖3 多通道的環(huán)路數(shù)據(jù)傳輸方案示意圖Fig.3 Sketch map of multi-channels loop data transmitting project
對(duì)于PVT數(shù)據(jù)的監(jiān)測軟件,考慮到Google earth的查找功能,因此在設(shè)計(jì)時(shí)按照其標(biāo)準(zhǔn)格式進(jìn)行顯示和存儲(chǔ),通過Google earth顯示與當(dāng)前位置的比較,監(jiān)測PVT輸出的正確性。
對(duì)于調(diào)試監(jiān)測軟件系統(tǒng),主要包括FPGA內(nèi)部數(shù)據(jù)操作控制、DSP數(shù)據(jù)操作控制部分、FPGA的I/O管腳與PC機(jī)操作部分,以及終端軟件部分。其各部分設(shè)計(jì)流程如圖4,5所示。圖5顯示的是整個(gè)接收機(jī)數(shù)據(jù)監(jiān)測系統(tǒng),由DSP,F(xiàn)PGA和PC機(jī)共同完成數(shù)據(jù)的傳輸,達(dá)到數(shù)據(jù)監(jiān)測和輔助調(diào)試的目的。
圖4 FPGA和DSP在1ms內(nèi)設(shè)計(jì)流程圖Fig.4 Flow chart of FPGA and DSP designed in 1ms
圖5 FPGA和PC數(shù)據(jù)傳輸及終端顯示設(shè)計(jì)流程圖Fig.5 Flow chart of FPGA' data transmitting with PC and terminal displaying
測試時(shí)間:2013-02-25T13∶40∶00;
測試地點(diǎn):學(xué)院科研樓,天線放置于樓頂;
測試儀器:接收機(jī)板卡、計(jì)算機(jī)、天線、串口傳輸線和直流穩(wěn)壓電源。
測試項(xiàng)目:環(huán)路數(shù)據(jù)的實(shí)時(shí)監(jiān)測調(diào)試軟件、環(huán)路數(shù)據(jù)的回放分析軟件以及PVT終端監(jiān)測軟件。
測試結(jié)果:如圖6~9所示。
圖6顯示的為5 000個(gè)1 ms環(huán)路數(shù)據(jù)(5 s),從載波多普勒頻移可以看出,這段時(shí)間內(nèi)載波環(huán)由寬帶跟蹤轉(zhuǎn)到窄帶跟蹤。從其他參量也可以得到跟蹤性能良好的結(jié)論,但在3 s左右的時(shí)刻出現(xiàn)了I路相關(guān)累加值增大情況,這是由于進(jìn)入窄帶跟蹤的緣故。
圖7回放了1通道未跟蹤上的環(huán)路數(shù)據(jù),數(shù)據(jù)長度為40 s,每4 ms采集一次,這是由于依次采集了4個(gè)通道數(shù)據(jù)的原因。由圖可以清晰地看到環(huán)路數(shù)據(jù)的跟蹤情況,很容易達(dá)到監(jiān)測調(diào)試的目的。
圖8顯示的為PVT數(shù)據(jù)結(jié)果,格式為GPGGA格式,同時(shí)該軟件還將結(jié)果記錄保存在相同的根目錄下。
圖6 環(huán)路數(shù)據(jù)實(shí)時(shí)監(jiān)測結(jié)果Fig.6 Real time inspecting result of loop data
圖7 環(huán)路數(shù)據(jù)回放結(jié)果Fig.7 Reflection inspecting result of loop data
圖8 PVT解算數(shù)據(jù)的實(shí)時(shí)顯示結(jié)果Fig.8 Real time displaying result of PVT data
圖9 PVT數(shù)據(jù)在Google-earth中的顯示及局部放大圖Fig.9 PVT data displaying in Google-earth and its partial amplificatory chart
圖9顯示的為PVT數(shù)據(jù)結(jié)果經(jīng)過轉(zhuǎn)換后,在Google-earth地圖中的顯示界面,可以很清晰地反應(yīng)當(dāng)前所在位置,利用其標(biāo)尺工具可以較好地反應(yīng)定位精度及誤差,達(dá)到數(shù)據(jù)監(jiān)測的目的。
系統(tǒng)采用FPGA,DSP和PC機(jī)終端相結(jié)合的方式,實(shí)現(xiàn)了高精度定位接收機(jī)的環(huán)路數(shù)據(jù)及定位數(shù)據(jù)的內(nèi)部傳輸,并最終體現(xiàn)在PC機(jī)上。通過在終端設(shè)計(jì)環(huán)路數(shù)據(jù)監(jiān)測軟件和數(shù)據(jù)記錄保存軟件,可以方便地觀察環(huán)路數(shù)據(jù)情況,利用保存的數(shù)據(jù)進(jìn)行回放設(shè)計(jì),可以輔助查找問題,幫助接收機(jī)的快速調(diào)試。
參考文獻(xiàn):
[1] 謝鋼. GPS原理與接收機(jī)設(shè)計(jì)[M]. 北京: 電子工業(yè)出版社, 2009.
XIE Gang. Principles of GPS and Receiver Design[M]. Beijing: Publishing House of Electronics Industry, 2009.
[2] 郭寶峰, 韓壯志, 何強(qiáng),等. 基于嵌入式邏輯分析儀SignalTapⅡ的系統(tǒng)調(diào)試技術(shù)研究[J]. 微計(jì)算機(jī)應(yīng)用, 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Ⅱ的高速數(shù)據(jù)采集系統(tǒng)[J]. 微計(jì)算機(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] 龐春雷,盧艷娥, 嚴(yán)玉國,等.軍民兼容接收機(jī)的基帶處理及定位實(shí)現(xiàn)[J]. 電視技術(shù), 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ī)關(guān)鍵技術(shù)的研究與實(shí)現(xiàn)[J]. 微型機(jī)與應(yīng)用, 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ī)相關(guān)器技術(shù)研究與實(shí)現(xiàn)[J]. 系統(tǒng)仿真學(xué)報(bào), 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] 龐春雷,盧艷娥,嚴(yán)玉國,等.軍民兼容衛(wèi)導(dǎo)終端中FPGA的有效位長截取和濾波抽取[C]∥北京:第一屆中國衛(wèi)星導(dǎo)航學(xué)術(shù)年會(huì)論文集, 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] 呂衛(wèi)國, 沈發(fā)江, 徐偉. 一種基于FPGA的多DSP數(shù)據(jù)交換方法[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雙模導(dǎo)航定位精度分析及仿真[J]. 現(xiàn)代防御技術(shù), 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] 江國強(qiáng). EDA技術(shù)與應(yīng)用[M]. 北京: 電子工業(yè)出版社, 2007.
JIANG Guo-qiang. EDA Technology and Application [M]. Beijing: Publishing House of Electronics Industry, 2007.
[12] 蘇明, 姚冬蘋. 專用異步串口通信電路的FPGA實(shí)現(xiàn)[J]. 物聯(lián)網(wǎng)技術(shù), 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.