王 超,紀(jì)元法,2,孫希延,2
基于ARM+FPGA的BD2接收機(jī)設(shè)計(jì)與實(shí)現(xiàn)
王 超1,紀(jì)元法1,2,孫希延1,2
(1.桂林電子科技大學(xué)信息與通信學(xué)院,廣西桂林 541004; 2.桂林電子科技大學(xué)廣西無線寬帶通信與信號處理重點(diǎn)實(shí)驗(yàn)室,廣西桂林 541004)
為了接收北斗衛(wèi)星B2頻點(diǎn)信號,設(shè)計(jì)了一種基于ARM+FPGA的BD2接收機(jī)。該設(shè)計(jì)采用MAX2112和MAX1003分離元器件構(gòu)建射頻前端模塊,輔以基帶信號處理模塊、通訊模塊和電源模塊搭建了接收機(jī)的硬件平臺。在硬件平臺的基礎(chǔ)上,設(shè)計(jì)了ARM和FPGA的軟件功能。測試結(jié)果表明,設(shè)計(jì)的樣機(jī)能夠正確捕獲跟蹤B2頻點(diǎn)信號,經(jīng)度標(biāo)準(zhǔn)差為1.5 m,緯度標(biāo)準(zhǔn)差為5.1 m,高度標(biāo)準(zhǔn)差為4.4 m,定位精度達(dá)到了設(shè)計(jì)目標(biāo)。
BD2接收機(jī);MAX2112;ARM;FPGA
隨著北斗ICD文件的公布以及相關(guān)技術(shù)的不斷發(fā)展,依托國內(nèi)外市場需求和政府的支持,北斗衛(wèi)星導(dǎo)航二代系統(tǒng)(BD2)已經(jīng)具備初步的區(qū)域服務(wù)能力,其應(yīng)用遍及航海、航空、交通、資源勘探等領(lǐng)域[1]。北斗衛(wèi)星導(dǎo)航系統(tǒng)(BDS)發(fā)射B1、B2、B3頻點(diǎn)信號,在民用領(lǐng)域針對兼容B1頻點(diǎn)信號的北斗導(dǎo)航終端開發(fā)應(yīng)用較多,而對B2頻點(diǎn)信號的北斗導(dǎo)航終端開發(fā)和利用B1、B2雙頻信號實(shí)現(xiàn)與生命安全相適應(yīng)的高精度和完好性服務(wù)需求提上了日程[2]。鑒于此,設(shè)計(jì)了一種基于ARM+FPGA的BD2接收機(jī),在保證北斗衛(wèi)星B2頻點(diǎn)信號處理實(shí)時(shí)性的同時(shí),提高了系統(tǒng)的集成度和穩(wěn)定性。
為了實(shí)現(xiàn)終端定位功能,BD2接收機(jī)將北斗衛(wèi)星信號下變頻混頻并進(jìn)行數(shù)字采樣,使包含B2頻點(diǎn)的信號調(diào)制在中頻載波上,后級基帶信號處理單元完成信號的捕獲、跟蹤、解調(diào)導(dǎo)航電文和提取觀測量[3],最終將定位結(jié)果傳輸至上位機(jī)。在充分考慮系統(tǒng)的實(shí)時(shí)性和硬件穩(wěn)定性的基礎(chǔ)上,采用MAX2112、ARM和FPGA為核心搭建了BD2接收機(jī)的硬件平臺,該平臺主要由射頻前端模塊、基帶信號處理模塊、通訊模塊和電源模塊組成[4],如圖1所示。

圖1 BD2接收機(jī)的結(jié)構(gòu)Fig.1 The structure of BD2 receiver
1.1 射頻前端模塊
北斗衛(wèi)星B2頻點(diǎn)信號頻率為1207.14 MHz,信號傳播至天線接收端時(shí)功率微弱且摻雜了噪聲和干擾,因此采用射頻前端模塊對信號進(jìn)行調(diào)整、濾波、下變頻混頻、信號放大和模數(shù)轉(zhuǎn)換,并將其離散成包含B2頻點(diǎn)信號成分的數(shù)字中頻信號[5]。射頻前端模塊采用MAX2112、MAX1003芯片分離元器件協(xié)同處理。MAX2112芯片集成了低噪聲放大器、射頻可變增益放大器、I/Q兩路下變頻混頻器、可編程的7階巴特沃斯濾波器以及數(shù)控可變增益的基帶放大器[6]。該芯片采用2線I2C總線接口編程配置中頻頻率,將925~2175 MHz的射頻信號直接下變頻至I/Q兩路中頻頻率。MAX1003為低功耗、雙通道6位轉(zhuǎn)換精度和采樣速率高達(dá)90 Mbit/s的模數(shù)轉(zhuǎn)換芯片,最大輸入50 MHz帶寬模擬信號,可滿足接收機(jī)高速采樣和低功耗的要求。
射頻前端模塊如圖2所示,它由溫補(bǔ)晶振提供16.368 MHz時(shí)鐘源clk1,經(jīng)過MAX2112芯片的REFOUT引腳輸出頻率為16.368 MHz的clk2和clk3時(shí)鐘信號,clk2時(shí)鐘信號提供給MAX1003芯片的TNK+引腳作為數(shù)據(jù)采樣時(shí)鐘,clk3時(shí)鐘信號提供給基帶信號處理模塊的FPGA作為系統(tǒng)時(shí)鐘源。

圖2 射頻前端模塊Fig.2 RF front-end module
FPGA采用I2C總線方式配置MAX2112芯片,將北斗衛(wèi)星B2頻點(diǎn)信號下變頻混頻至模擬中頻信號,在I2C總線中,I2C_SDA為串行數(shù)據(jù)線,I2C_SCL為串行時(shí)鐘線。然后利用MAX1003芯片進(jìn)行模擬中頻信號數(shù)據(jù)采樣,輸出2.046 MHz的6 bit數(shù)字中頻信號I[0:5],最終截取高2位量化電平傳輸至基帶信號處理模塊。
1.2 基帶信號處理模塊
基帶信號處理模塊如圖3所示,它不僅完成北斗衛(wèi)星B2頻點(diǎn)信號解擴(kuò)時(shí)大量相關(guān)運(yùn)算,同時(shí)實(shí)時(shí)提取原始觀測數(shù)據(jù)和導(dǎo)航電文參數(shù),進(jìn)而解算接收機(jī)位置。考慮系統(tǒng)功耗、體積、成本和可靠性需求,基帶信號處理模塊采用ARM高速處理器和FPGA可編程邏輯控制器處理架構(gòu)。

圖3 基帶信號處理模塊Fig.3 Baseband signal processing module
ARM采用STM32F205RET6芯片,該芯片集成了1 MB Flash存儲(chǔ)器、128 kB的SRAM、UART、FSMC、RTC等資源,使得接收機(jī)設(shè)計(jì)更加靈活,同時(shí)其擁有高速運(yùn)算性能,滿足了系統(tǒng)的運(yùn)算處理要求。FPGA采用EP4CE115F28C8N芯片,該芯片擁有114 480個(gè)邏輯單元、266個(gè)18×18乘法器和3.888 Mbit的嵌入式存儲(chǔ)器,可滿足16個(gè)相關(guān)通道的并行運(yùn)算。
接收機(jī)實(shí)現(xiàn)精確定位必須依靠精準(zhǔn)的時(shí)鐘信號,普通晶振容易受環(huán)境、溫度等因素的影響[7],基帶信號處理模塊采用溫補(bǔ)晶振為接收機(jī)提供精準(zhǔn)時(shí)鐘源,其中ARM輸入時(shí)鐘為25 MHz,通過內(nèi)部倍頻至100 MHz工作頻率,保證與FPGA、上位機(jī)等數(shù)據(jù)交互處理的實(shí)時(shí)性。為保證射頻前端信號采樣和基帶處理模塊時(shí)鐘同源,FPGA從射頻前端模塊獲取輸入時(shí)鐘clk3的頻率為16.368 MHz,通過內(nèi)部PLL倍頻至130.944 MHz,滿足接收機(jī)設(shè)計(jì)相關(guān)通道的時(shí)序控制要求。
ARM通過GPIO口模擬FSMC總線,與FPGA進(jìn)行15位地址總線和16位數(shù)據(jù)總線交互。其中: n OE為讀使能端;n WE為寫使能端;nCSO為片選地址線。FPGA利用內(nèi)部的時(shí)鐘管理模塊輸出基準(zhǔn)時(shí)鐘,基帶信號作為ARM的外部中斷輸入源,使ARM和FPGA共同完成捕獲、跟蹤等基帶信號處理。
1.3 通訊模塊
通訊模塊采用2個(gè)JTAG和1個(gè)UART與外界進(jìn)行通訊。ARM和FPGA利用JTAG接口進(jìn)行在線編程、程序下載和調(diào)試開發(fā)。ARM配置其UART內(nèi)部功能模塊,實(shí)現(xiàn)接收機(jī)的定位信息傳輸至上位機(jī),其中數(shù)據(jù)傳輸格式的波特率配置為115.2 kbit/s, 8位數(shù)據(jù)位,1位停止位,無奇偶校驗(yàn)位。
1.4 電源模塊
電源模塊對接收機(jī)工作的穩(wěn)定性至關(guān)重要。系統(tǒng)電源分為5.0、3.3、2.5、1.2 V四種,系統(tǒng)輸入電源為5 V/2 A,其他電壓均為5 V。ARM I/O供電電源為3.3 V;FPGA供電需要3種電源:內(nèi)核電源(1.2 V)、I/O電源(3.3 V)、模擬電源(2.5 V); MAX2112供電電源為3.3 V;MAX1003供電電源為3.3 V。
電源模塊采用AMS1117、XM5151芯片提供系統(tǒng)電源,AMS1117芯片是一款低壓差線性穩(wěn)壓器,內(nèi)部集成過熱限流保護(hù),可固定輸出2.5、3.3、5.0 V電壓。XM5151是一款具有固定工作頻率的同步降壓轉(zhuǎn)換芯片,最高可輸出1.5 A電流,能夠輸出0.6~5.0 V的電壓。系統(tǒng)電源中XM5151配置輸出1.2 V電壓供電給FPGA,其他均由AMS1117配置供電。
接收機(jī)的軟件設(shè)計(jì)主要由基帶處理模塊中的核心器件協(xié)同完成,軟件設(shè)計(jì)按芯片處理功能分為ARM主控制端和FPGA協(xié)處理端[8]。軟件設(shè)計(jì)結(jié)構(gòu)如圖4所示。

圖4 軟件設(shè)計(jì)結(jié)構(gòu)Fig.4 The structure of software design
2.1 ARM主控制端
ARM主控制端作為基帶處理的核心計(jì)算單元,主要由捕獲策略模塊、跟蹤策略模塊、同步解調(diào)電文模塊和定位解算模塊組成。
捕獲策略模塊為FPGA分配捕獲衛(wèi)星列表和通道,接收FPGA捕獲衛(wèi)星的FFT相關(guān)峰值做捕獲門限判決,組裝捕獲衛(wèi)星的多普勒頻移和碼相位信息,為FPGA的跟蹤模塊輸送載波NCO初始值和碼NCO初始值。
跟蹤策略模塊負(fù)責(zé)接收FPGA傳來的相關(guān)積分值,對載波跟蹤環(huán)路和碼跟蹤環(huán)路進(jìn)行鑒頻鑒相濾波,實(shí)時(shí)更新FPGA的跟蹤模塊載波NCO值和碼NCO值,與FPGA共同完成信號的載波剝離和碼剝離[]。
同步解調(diào)電文模塊在接收機(jī)完成捕獲、跟蹤北斗衛(wèi)星B2頻點(diǎn)信號后,對信號進(jìn)行位同步、幀同步和BCH譯碼,組裝獲取衛(wèi)星信號發(fā)射時(shí)間等相關(guān)信息。
定位解算模塊提取偽距和計(jì)算衛(wèi)星位置,通過構(gòu)建偽距測量方程實(shí)時(shí)更新導(dǎo)航定位的解,將定位信息輸送至上位機(jī)顯示。
2.2 FPGA協(xié)處理端
FPGA協(xié)處理端作為基帶信號的相關(guān)處理單元,主要由配置射頻模塊、捕獲模塊和跟蹤模塊組成。
配置射頻模塊通過I2C總線配置MAX2112芯片,完成北斗衛(wèi)星B2頻點(diǎn)信號直接下變頻至設(shè)置的中頻頻率。
捕獲模塊對射頻前端模塊輸入的2位量化電平信號進(jìn)行捕獲,將捕獲衛(wèi)星的多普勒頻移、碼相位和FFT峰值等信息輸送至ARM捕獲策略模塊做判決。
跟蹤模塊對北斗衛(wèi)星B2頻點(diǎn)信號實(shí)時(shí)進(jìn)行載波剝離和碼剝離。接收ARM捕獲策略傳來的載波NCO初始值和碼NCO初始值,將信號剝離后的相干積分值輸送至ARM跟蹤策略模塊,與其構(gòu)成閉環(huán),實(shí)時(shí)更新載波NCO和碼NCO值[10]。
根據(jù)硬件方案設(shè)計(jì)樣機(jī),首先對射頻模塊、基帶信號處理模塊、通訊模塊和電源模塊進(jìn)行整機(jī)測試,樣機(jī)可以正常工作,驗(yàn)證了方案設(shè)計(jì)的合理性。結(jié)合接收機(jī)軟件功能,利用北斗衛(wèi)星B2頻點(diǎn)信號對樣機(jī)進(jìn)行靜態(tài)測試,將Nov Atel公司的703-GGG有源天線固定于已知的標(biāo)定點(diǎn),標(biāo)定點(diǎn)坐標(biāo)為東經(jīng)110.331 508 3°、北緯25.285 481 6°、高度為166 m。北斗衛(wèi)星B2頻點(diǎn)信號的定位結(jié)果如圖5所示。
從圖5可看出,設(shè)計(jì)的BD2接收機(jī)可以正確捕獲、跟蹤北斗衛(wèi)星B2頻點(diǎn)信號,且能將定位結(jié)果傳輸至上位機(jī)。BD2接收機(jī)的經(jīng)度標(biāo)準(zhǔn)差為1.5 m,緯度標(biāo)準(zhǔn)差為5.1 m,高度標(biāo)準(zhǔn)差為4.4 m,定位精度達(dá)到了預(yù)期的目標(biāo)。在測試過程中參與定位的衛(wèi)星數(shù)在10顆以上,驗(yàn)證了該方案的可行性。

圖5 北斗衛(wèi)星B2頻點(diǎn)信號的定位結(jié)果Fig.5 The positioning results of BeiDou B2-frequency signal
為了接收北斗衛(wèi)星B2頻點(diǎn)信號,提出了一種基于ARM+FPGA的BD2接收機(jī)設(shè)計(jì)方案,完成了BD2接收機(jī)的軟硬件設(shè)計(jì)。測試結(jié)果表明,該設(shè)計(jì)方案合理可行,所設(shè)計(jì)的樣機(jī)能夠正確捕獲、跟蹤北斗衛(wèi)星B2頻點(diǎn)信號,定位結(jié)果的經(jīng)度標(biāo)準(zhǔn)差為1.5 m,緯度標(biāo)準(zhǔn)差為5.1 m,高度標(biāo)準(zhǔn)差為4.4 m,定位精度達(dá)到了預(yù)期目標(biāo),為利用B1、B2雙頻信號實(shí)現(xiàn)高精度定位積累數(shù)據(jù)和經(jīng)驗(yàn)。相比使用功能單一的射頻集成芯片,采用MAX2112、MAX1003分離元器件構(gòu)建的射頻前端模塊,使得方案設(shè)計(jì)更靈活、適用范圍更廣,為多頻/多模接收機(jī)的設(shè)計(jì)提供解決思路。
[1] 陳洪卿.北斗系統(tǒng)與中國PNT應(yīng)用平臺[J].電子測量與儀器學(xué)報(bào),2010,24(12):1075-1081.
[2] 譚述森.北斗衛(wèi)星導(dǎo)航系統(tǒng)的發(fā)展與思考[J].宇航學(xué)報(bào),2008,29(2):391-396.
[3] 張婷,陳秀萬,朱莊生,等.GNSS軟件接收機(jī)的框架結(jié)構(gòu)及原型系統(tǒng)開發(fā)[J].計(jì)算機(jī)工程,2008,34(7):266-268.
[4] 王爾申,孫曉文,胡青,等.衛(wèi)星定位信號接收機(jī)系統(tǒng)研究與設(shè)計(jì)[J].微計(jì)算機(jī)信息,2008,24(13):200-202.
[5] 中國衛(wèi)星導(dǎo)航系統(tǒng)管理辦公室.北斗衛(wèi)星導(dǎo)航系統(tǒng)空間信號接口控制文件公開服務(wù)信號B1I(2.0版)[EB/OL]. (2013-12-26)[2015-01-12].http://www.beidou.gov.cn/ attach/2013/12/26/2013122604a521b35b7f4a54b44cfbbc 8abd74a8.pdf.
[6] 劉辰.基于北斗收發(fā)系統(tǒng)的前端研制[D].合肥:安徽大學(xué),2012:82.
[7] 薛濤,趙偉,李榮冰,等.北斗導(dǎo)航接收機(jī)的硬件設(shè)計(jì)與實(shí)現(xiàn)[J].航天控制,2015,33(1):94-98.
[8] 劉競超,鄧中亮.基于ARM+FPGA北斗接收機(jī)設(shè)計(jì)[J].軟件,2012,33(12):38-40.
[9] 謝鋼.GPS原理與接收機(jī)設(shè)計(jì)[M].北京:電子工業(yè)出版社,2009:236-263.
[10] 谷卓,楊皎皎.一種北斗接收機(jī)基帶處理設(shè)計(jì)方案[J].信息通信,2013,126(4):55-56.
編輯:曹壽平
Design and implementation of BD2 receiver based on ARM and FPGA
Wang Chao1,Ji Yuanfa1,2,Sun Xiyan1,2
(1.School of Information and Communication Engineering,Guilin University of Electronic Technology,Guilin 541004,China; 2.Guangxi Key Lab of Wireless Wideband Communication and Signal Processing, Guilin University of Electronic Technology,Guilin 541004,China)
In order to receive B2-frequency signal of BeiDou satellites,BD2 receiver based on ARM and FPGA is designed. The design adopts MAX2112 and MAX1003 separation components to build RF front-end modules,combining with the baseband signal processing module,the communication module and the power module,a hardware platform for the receiver is set up.On the basis of the hardware platform,the software function of ARM and FPGA is designed.Testing results show that B2-frequency signal can be accurately acquired and tracked by the designed receiver,longitude standard deviation is 1.5 m,latitude standard deviation is 5.1 m,height standard deviation is 4.4 m,the positioning accuracy reaches the expected effect.
BD2 recevier;MAX2112;ARM;FPGA
TN967.1
A
1673-808X(2015)05-0356-05
2015-04-06
國家自然科學(xué)基金(61162007,61271284,61362005);廣西自然科學(xué)基金(2013GXNSFA019004,2014GXNSFAA118352, 2014GXNSFBA118280);廣西無線寬帶通信與信號處理重點(diǎn)實(shí)驗(yàn)室主任基金(GXKL0614102)
紀(jì)元法(1975-),男,山東莘縣人,教授,博士,研究方向?yàn)樾盘柼幚怼⑿l(wèi)星導(dǎo)航。E-mail:jiyuanfa@163.com
王超,紀(jì)元法,孫希延.基于ARM+FPGA的BD2接收機(jī)設(shè)計(jì)與實(shí)現(xiàn)[J].桂林電子科技大學(xué)學(xué)報(bào),2015,35(5):356-360.