《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于SoC FPGA的北斗接收機(jī)載波跟蹤環(huán)路設(shè)計(jì)
基于SoC FPGA的北斗接收機(jī)載波跟蹤環(huán)路設(shè)計(jì)
2018年電子技術(shù)應(yīng)用第6期
韋照川,潘軍道,吳國(guó)增
桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林541004
摘要: 為了實(shí)現(xiàn)北斗衛(wèi)星導(dǎo)航接收機(jī)高實(shí)時(shí)性、小型化及低功耗,提出了一種基于SoC FPGA的載波跟蹤環(huán)路的設(shè)計(jì)方案。通過(guò)對(duì)FLL(鎖頻環(huán))和PLL(鎖相環(huán))的分析,并利用SOPC技術(shù),實(shí)現(xiàn)了基于SoC FPGA的載波跟蹤環(huán)路,可完全在FPGA內(nèi)部完成載波的剝離。測(cè)試結(jié)果表明,該方案能實(shí)現(xiàn)載波信號(hào)的快速精確跟蹤,具有良好的實(shí)時(shí)性和應(yīng)用價(jià)值。
中圖分類號(hào): TN927
文獻(xiàn)標(biāo)識(shí)碼: A
DOI:10.16157/j.issn.0258-7998.173766
中文引用格式: 韋照川,潘軍道,吳國(guó)增. 基于SoC FPGA的北斗接收機(jī)載波跟蹤環(huán)路設(shè)計(jì)[J].電子技術(shù)應(yīng)用,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)是維護(hù)國(guó)家安全、發(fā)展經(jīng)濟(jì)的重要基礎(chǔ)設(shè)施,是體現(xiàn)國(guó)家綜合國(guó)力以及現(xiàn)代化大國(guó)國(guó)際影響力的重要標(biāo)志[1]。發(fā)展支持北斗導(dǎo)航系統(tǒng)的接收機(jī)終端是北斗導(dǎo)航系統(tǒng)不可或缺的組成部分。目前中國(guó)正在大力發(fā)展北斗衛(wèi)星導(dǎo)航系統(tǒng)(BDS),因此大力研究與設(shè)計(jì)基于BDS的北斗衛(wèi)星導(dǎo)航接收機(jī)成為北斗衛(wèi)星導(dǎo)航系統(tǒng)重要的環(huán)節(jié)。

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

1 SoC硬件系統(tǒng)設(shè)計(jì)

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

jsj4-t1.gif

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

1.1 Qsys System設(shè)計(jì)

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

jsj4-t2.gif

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

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

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

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

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

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

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

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

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

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

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

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

    (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),需要設(shè)置其部分外設(shè),包括EMAC、QSPI、SD/MMC、USBOTG、SPI、UART、I2C以及部分GPIO等外設(shè)。

    (14)nios2_gen2_0是圖1中的Nios II Gen2 Core,設(shè)計(jì)為基帶信號(hào)處理系統(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設(shè)計(jì)

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

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

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

    (3)時(shí)間基準(zhǔn)模塊用于產(chǎn)生2個(gè)中斷信號(hào),包括0.5 ms和20 ms中斷。

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

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

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

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

2 載波環(huán)路設(shè)計(jì)

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

    由于衛(wèi)星信號(hào)中調(diào)制有導(dǎo)航電文,這使得接收到的中頻信號(hào)會(huì)在數(shù)據(jù)比特電平發(fā)生跳變時(shí)產(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]。

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

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

2.2 環(huán)路濾波器

jsj4-2.2-x1.gif

jsj4-2.2-x2.gif

jsj4-t5.gif

3 載波環(huán)軟件設(shè)計(jì)

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

jsj4-t6.gif

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

jsj4-t7.gif

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

jsj4-t8.gif

4 測(cè)試結(jié)果

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

jsj4-t9.gif

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

jsj4-t10.gif

5 結(jié)論

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

參考文獻(xiàn)

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

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

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

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

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

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

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

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

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



作者信息:

韋照川,潘軍道,吳國(guó)增

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

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