《電子技術(shù)應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于SoC FPGA的北斗接收機載波跟蹤環(huán)路設計
基于SoC FPGA的北斗接收機載波跟蹤環(huán)路設計
2018年電子技術(shù)應用第6期
韋照川,,潘軍道,,吳國增
桂林電子科技大學 信息與通信學院,廣西 桂林541004
摘要: 為了實現(xiàn)北斗衛(wèi)星導航接收機高實時性、小型化及低功耗,,提出了一種基于SoC FPGA的載波跟蹤環(huán)路的設計方案。通過對FLL(鎖頻環(huán))和PLL(鎖相環(huán))的分析,,并利用SOPC技術(shù),,實現(xiàn)了基于SoC FPGA的載波跟蹤環(huán)路,可完全在FPGA內(nèi)部完成載波的剝離,。測試結(jié)果表明,,該方案能實現(xiàn)載波信號的快速精確跟蹤,具有良好的實時性和應用價值,。
中圖分類號: TN927
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.173766
中文引用格式: 韋照川,,潘軍道,吳國增. 基于SoC FPGA的北斗接收機載波跟蹤環(huán)路設計[J].電子技術(shù)應用,,2018,,44(6):124-128.
英文引用格式: Wei Zhaochuan,Pan Jundao,,Wu Guozeng. Design of carrier tracking loop for Beidou receiver based on SoC FPGA[J]. Application of Electronic Technique,,2018,44(6):124-128.
Design of carrier tracking loop for Beidou receiver based on SoC FPGA
Wei Zhaochuan,,Pan Jundao,,Wu Guozeng
School of Information and Communication,,Guilin University of Electronic Technology,Guilin 541004,,China
Abstract: In order to realize the high real-time, miniaturization and low power consumption of Beidou satellite navigation receiver, a design scheme of carrier tracking loop based on SoC FPGA is proposed. Through the analysis of FLL and PLL, and using SOPC technology, the carrier tracking loop based on SoC FPGA is realized, and the carrier can be completely stripped inside the FPGA. The test results show that the scheme can realize fast and accurate tracking of carrier signals, and has good real-time and application value.
Key words : Beidou satellite navigation receiver; carrier tracking loop; SoC FPGA

0 引言

    全球?qū)Ш叫l(wèi)星系統(tǒng)(Global Navigation Satellite System,,GNSS)是維護國家安全、發(fā)展經(jīng)濟的重要基礎設施,,是體現(xiàn)國家綜合國力以及現(xiàn)代化大國國際影響力的重要標志[1],。發(fā)展支持北斗導航系統(tǒng)的接收機終端是北斗導航系統(tǒng)不可或缺的組成部分。目前中國正在大力發(fā)展北斗衛(wèi)星導航系統(tǒng)(BDS),,因此大力研究與設計基于BDS的北斗衛(wèi)星導航接收機成為北斗衛(wèi)星導航系統(tǒng)重要的環(huán)節(jié),。

    半導體集成快速發(fā)展,目前已經(jīng)向著融合硅片方向發(fā)展,。FPGA也毫不例外地朝這個方向走去,,通用處理器、具有ASSP和DSP功能的IP不斷集成到FPGA中,;FPGA技術(shù)的不斷創(chuàng)新與突破,,以及硅融合架構(gòu)產(chǎn)品的推出,必然使FPGA應用于許多先前不曾涉足的領域[2],。隨著技術(shù)的進步,,SoC高集成度的單芯片化的接收機開發(fā)將成為未來衛(wèi)星導航接收機發(fā)展的主要方向。

1 SoC硬件系統(tǒng)設計

    系統(tǒng)采用Intel 28 nm工藝的低功耗Cyclone V 5CSEM5F31C6N SoC FPGA作為主控芯片,?;赟oC FPGA的載波跟蹤環(huán)路的硬件系統(tǒng)設計如圖1所示。

jsj4-t1.gif

    SoC System主要由2部分組成,,包括Qsys System(嵌入式系統(tǒng))部分的硬件設計和基于Verilog HDL的FPGA System(FPGA邏輯單元系統(tǒng))硬件設計,。

1.1 Qsys System設計

    根據(jù)圖1設計,利用Qsys工具搭建完成Qsys系統(tǒng),,其互聯(lián)情況如圖2所示,。

jsj4-t2.gif

    系統(tǒng)各部分功能設計如下:

    (1)clk_0為外部時鐘、復位輸入,,為PLL提供TCXO-50M時鐘輸入以及系統(tǒng)的復位信號,。

    (2)pll_0為圖1中的PLL,它提供6個時鐘,,outclk0與outclk5提供給Qsys中各組件使用,;outclk1為片外SDRAM提供時鐘;其余3個時鐘向外輸出,,為FPGA System中各模塊的驅(qū)動時鐘,。

    (3)sdram是圖1中SDRAM Controller,用于控制片外的SDRAM芯片,它作為Nios II Gen2 Core的內(nèi)存,。

    (4)epcs是圖1中EPCS Flash Controller,,控制外部Flash,作為Nios II Gen2 Core的程序存儲器,。

    (5)jtag_uart_0是圖1中JTAG Controller,,與PC主機上的Eclipse SBT的調(diào)試端口相連接,用于程序的運行監(jiān)控與調(diào)試,。

    (6)sysid是圖1中System ID,,保證軟件程序版本與Qsys系統(tǒng)版本保持一致。

    (7)timer_0是圖1中Interval Timer,,可用于Nios II Gen2 Core內(nèi)核時鐘,,也可用于測試程序運行時長,根據(jù)測算的時長進行相應的測試與調(diào)試,。

    (8)LED是圖1中LED Controller,,該處PIO核設計為輸出功能,輸出數(shù)據(jù)的位寬設置為6 bit,,控制FPGA System的6個LED,,用于測試和提示系統(tǒng)的運行狀態(tài)。

    (9)Clock是圖1中Avalon-MM Clock Crossing Bridge,,用于連接在Avalon總線上且分屬不同時鐘域內(nèi)IP核間的數(shù)據(jù)傳輸與通信,。

    (10)INIT5與INIT6是圖1中Interrupt Controller,該處PIO核設置為中斷信號輸入功能,,INIT5與INIT6位寬設計為1 bit,,中斷方式設置為邊沿(上升沿)觸發(fā)。INIT5與INIT6分別用來接收由FPGASystem產(chǎn)生的2個中斷信號,。

    (11)aFloa是圖1中Floating Point Hardware,用于Nios II Gen2 Core的浮點運算硬件加速,。

    (12)SoC_TO_FPGA_V2_1_0是圖1中地址數(shù)據(jù)通信IP,,該接口用于FPGA System與Qsys System間數(shù)據(jù)的雙向傳輸[3]

    (13)hps_0是圖1中的HPS System,,hps_0作為后期定位解算與圖形界面的主CPU,。由于要求支持Linux系統(tǒng),需要設置其部分外設,,包括EMAC,、QSPI、SD/MMC,、USBOTG,、SPI、UART、I2C以及部分GPIO等外設,。

    (14)nios2_gen2_0是圖1中的Nios II Gen2 Core,,設計為基帶信號處理系統(tǒng)的主CPU。

    (15)Dual_ram圖1所示的Dual-port RAM,,提供HPS與Nios II Gen2 Core之間數(shù)據(jù)的通信,;HPS、Nios II Gen2 Core和Dual-port RAM關(guān)系框圖如圖3所示,。

jsj4-t3.gif

  圖4給出了Qsys系統(tǒng)各組件位于System Interconnet Fabric的地址分配情況,。

jsj4-t4.gif

1.2 FPGA System設計

    FPGA System主要由SPI控制模塊、高速數(shù)據(jù)接口,、時間基準模塊,、捕獲模塊、跟蹤模塊,、串口模塊和地址譯碼與數(shù)據(jù)通道選擇模塊組成,。各部分功能如下:

    (1)SPI控制模塊用于控制射頻板產(chǎn)生1 550 MHz本振載波信號,與天線接收信號進行混頻,,產(chǎn)生3.098 MHz的中頻數(shù)據(jù),。

    (2)高速數(shù)據(jù)接口用于獲取射頻前端高速ADC量化產(chǎn)生I/Q兩路8 bit數(shù)據(jù),每路截取高4 bit數(shù)據(jù)用于基帶處理,。

    (3)時間基準模塊用于產(chǎn)生2個中斷信號,,包括0.5 ms和20 ms中斷。

    (4)捕獲模塊用于衛(wèi)星捕獲,,捕獲通道為單通道設計,。

    (5)跟蹤模塊用于衛(wèi)星的跟蹤,目前跟蹤通道數(shù)設計為24通道,。

    (6)串口模塊用于調(diào)試信息與導航電文的輸出,。

    (7)地址譯碼與數(shù)據(jù)通道選擇模塊用于對地址進行譯碼,并根據(jù)地址信息選擇不同的數(shù)據(jù)通道,。

2 載波環(huán)路設計

2.1 載波環(huán)鑒別器

    由于衛(wèi)星信號中調(diào)制有導航電文,,這使得接收到的中頻信號會在數(shù)據(jù)比特電平發(fā)生跳變時產(chǎn)生180°的相位跳變,因此為了保持環(huán)路的穩(wěn)定,,必須要消除180°的相位跳變,。由于COSTAS J P發(fā)明的鑒相器能夠不受數(shù)據(jù)比特的影響,因此他發(fā)明的該鑒相器被稱為科斯塔斯鑒相器(或Costas鑒相器),,而使用這些鑒相器的鎖相環(huán)稱為科斯塔斯環(huán)(或Costas環(huán))[4-5],。

    本設計鎖相環(huán)鑒別器采用經(jīng)典的Costas環(huán)鑒相器Qp×Ip,其具有在信噪比較低的情況下有近似優(yōu)化的鑒相性質(zhì),、輸出結(jié)果與幅值的平方成正比,、計算量較小以及鑒相斜率受信號幅度的影響較大等特點[6-7],。

    本文設計鎖頻環(huán)鑒別器采用叉積鑒頻器Pcross/(t2-t1),其具有在低信噪比情況下有接近優(yōu)化的鑒頻特性,、斜率正比于信號幅度的平方,、計算量最小以及受信號幅度影響較大等特點[6-7]

2.2 環(huán)路濾波器

jsj4-2.2-x1.gif

jsj4-2.2-x2.gif

jsj4-t5.gif

3 載波環(huán)軟件設計

    軟件程序設計思想是將跟蹤環(huán)路的處理程序放置于0.5 ms中斷中,,0.5 ms中斷依次對各個通道進行查詢,,根據(jù)當前跟蹤通道狀態(tài)選擇執(zhí)行牽引還是跟蹤:若為牽引狀態(tài),將調(diào)用牽引子程序,;若為跟蹤狀態(tài),,將調(diào)用跟蹤子程序。其運行流程如圖6所示,。

jsj4-t6.gif

    牽引子程序包含從FPGA讀取I/Q相關(guān)幅值,,計算功率后分別調(diào)用碼環(huán)、鎖頻環(huán)以及鎖相環(huán)處理子程序,,對碼環(huán),、鎖頻環(huán)以及鎖相環(huán)經(jīng)鑒頻與鑒相、環(huán)路濾波處理后,,更新FPGA內(nèi)部的碼NCO和載波NCO,,并根據(jù)位同步情況設置當前通道狀態(tài):若同步成功,將當前通道設置為跟蹤狀態(tài),;若同步不成功,,將對牽引次數(shù)進行統(tǒng)計,如果超過統(tǒng)計門限,,將通道設為關(guān)閉,,通道重捕初始化,然后跳出牽引子程序,,否則直接跳出牽引子程序,。牽引處理子程序如圖7所示。

jsj4-t7.gif

    跟蹤子程序包含從FPGA讀取I/Q相關(guān)幅值,,計算功率后分別調(diào)用碼環(huán),、鎖相環(huán)處理子程序,對碼環(huán),、鎖相環(huán)經(jīng)鑒相、環(huán)路濾波處理后,,更新FPGA內(nèi)部的碼NCO和載波NCO,,并根據(jù)幀同步情況設置任務狀態(tài):若同步成功,將獲取導航電文處理任務壓入到任務隊列中,;判斷相位鎖定狀態(tài),,若相位鎖定失敗,,則將通道狀態(tài)設置為牽引狀態(tài),然后跳出跟蹤子程序,。跟蹤處理子程序如圖8所示,。

jsj4-t8.gif

4 測試結(jié)果

    信號進入牽引后,利用Nios II SBT for Eclipse采集鎖頻環(huán)環(huán)路濾波器輸出值,,并利用MATLAB仿真出鎖頻環(huán)環(huán)路濾波器輸出值隨時間的變化,,如圖9所示。從圖中可以看出,,0時刻時,,頻率誤差絕對值約為100 Hz;0~300 ms區(qū)間段,,環(huán)路輸出的瞬時頻率誤差絕對值隨時間逐漸變?。辉?00 ms時刻開始,,環(huán)路輸出的瞬時頻率誤差絕對值接近于0,,然后由鎖相環(huán)路接管,進一步對相位誤差進行處理,。

jsj4-t9.gif

    利用Nios II SBT for Eclipse采集鎖相環(huán)環(huán)路濾波器輸出值,,并利用MATLAB仿真出鎖頻相環(huán)環(huán)路濾波器輸出值隨時間的變化,如圖10所示,。根據(jù)第3節(jié)跟蹤子程序設計,,精密跟蹤階段經(jīng)過牽引階段消除頻率誤差的影響后再用鎖相環(huán)進行精密跟蹤。從圖中可以看出,,鎖相環(huán)相位誤差范圍基本在±15°以內(nèi)波動,。

jsj4-t10.gif

5 結(jié)論

    本文根據(jù)基帶信號處理的要求,采用SoC FPGA作為設計平臺,,在單個芯片上完成了北斗衛(wèi)星信號跟蹤算法的設計,,并對相應的載波環(huán)路算法進行了測試和驗證。結(jié)果表明,,該跟蹤算法完全滿足北斗衛(wèi)星導航接收機的實時性要求,。

參考文獻

[1] 寧津生,姚宜斌,,張小紅.全球?qū)Ш叫l(wèi)星系統(tǒng)發(fā)展綜述[J].導航定位學報,,2013(1):3-8.

[2] 胥京宇.FPGA走向硅片融合時代[J].世界電子元器件,2012(7):71-72.

[3] 吳國增,,韋照川,,唐振輝,等.基于Qsys的HPS與FPGA數(shù)據(jù)通信接口IP核的實現(xiàn)[J].桂林電子科技大學學報,,2018,,38(1):16-22.

[4] 張晶泊.GNSS軟件接收機高動態(tài)載波跟蹤環(huán)路關(guān)鍵技術(shù)研究[D].大連:大連海事大學,,2012.

[5] COSTAS J P.Synchronous Communications[J].Proceeding of the IEEE,2002,,90(8):1461-1466.

[6] 謝鋼.GPS原理與接收機設計[M].北京:電子工業(yè)出版社,,2009.

[7] 魯郁.北斗/GPS雙模軟件接收機原理與實現(xiàn)技術(shù)[M].北京:電子工業(yè)出版社,2016.

[8] 查環(huán),,李超.北斗衛(wèi)星導航接收機跟蹤環(huán)技術(shù)設計與實現(xiàn)[J].光學與光電技術(shù),,2016,8(4):59-61.

[9] 沈鋒,,徐定杰,,薛冰.基于FLL/PLL相結(jié)合的載波跟蹤在導航接收機中的實現(xiàn)[J].航海,2004(2):51-54.



作者信息:

韋照川,,潘軍道,,吳國增

(桂林電子科技大學 信息與通信學院,廣西 桂林541004)

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。