《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 高輸出頻率GPS接收機(jī)FPGA優(yōu)化設(shè)計(jì)
高輸出頻率GPS接收機(jī)FPGA優(yōu)化設(shè)計(jì)
來(lái)源:電子技術(shù)應(yīng)用2011年第7期
李英飛,丁繼成,趙 琳
哈爾濱工程大學(xué) 自動(dòng)化學(xué)院,黑龍江 哈爾濱150001
摘要: 為使DSP芯片有充裕的資源和時(shí)間用于復(fù)雜的導(dǎo)航計(jì)算、輸出高頻率的解算結(jié)果,通過資源優(yōu)化,只采用FPGA邏輯電路實(shí)現(xiàn)了GPS信號(hào)的捕獲、跟蹤、幀同步、衛(wèi)星自動(dòng)搜索、偽距信息生成等基帶處理功能,并整理了電文、歷書、偽距信息、多普勒頻移的格式,以方便傳輸。實(shí)驗(yàn)表明,本方案可行有效,定位頻率可達(dá)100 Hz。
中圖分類號(hào): TN965.5
文獻(xiàn)標(biāo)識(shí)碼: B
文章編號(hào): 0258-7998(2011)07-0026-03
Optimization of FPGA-based on high-output frequency GPS receiver
Li Yingfei,Ding Jicheng,Zhao Lin
College of Automation, Harbin Engineering University, Harbin 150001,China
Abstract: In order that the DSP chip could calculate user position in real time, a real-time GPS module of baseband processing has been implemented on a FPGA, using only logical units. The module implements signal acquisition, track, frame synchronization, satellites auto search and so on. In addition to meeting the demands of the transmission signal to DSP, a auxiliary module is designed for organizing massive messages. Experimental results show that the positioning output frequency more than 100 Hz.
Key words : coherent integration;filter adjustment;frame synchronization;pseudo generation


    當(dāng)前,以FPGA+DSP為硬件平臺(tái)實(shí)現(xiàn)的軟件接收機(jī),由于參數(shù)設(shè)置靈活、可驗(yàn)證新的導(dǎo)航算法而備受重視。伴隨著新算法的日益復(fù)雜和對(duì)接收機(jī)要求的不斷提高,對(duì)系統(tǒng)的速度提出了更高的要求[1-2]。比較GNSS接收機(jī)不同解決方案的處理能力與靈活性[3],將更多的任務(wù)交給FPGA處理以減少DSP的負(fù)擔(dān)、提高系統(tǒng)速度。本文采用FPGA完成GPS的基帶處理,保留了軟件接收機(jī)參數(shù)的靈活性;節(jié)省了DSP資源,增加了定位結(jié)果的輸出率;在FPGA硬件資源允許下,通道個(gè)數(shù)可以任意擴(kuò)展。
1 基帶處理FPGA實(shí)現(xiàn)方案
    如圖1所示,GPS信號(hào)經(jīng)天線、射頻下變頻至中頻,進(jìn)入FPGA。載波環(huán)路和碼環(huán)路對(duì)中頻信號(hào)進(jìn)行解擴(kuò),得到數(shù)據(jù)比特流。同步電路對(duì)數(shù)據(jù)流進(jìn)行同步,輸出偽距等相關(guān)信息。系統(tǒng)啟動(dòng)時(shí),衛(wèi)星號(hào)分配模塊和多普勒限定模塊接收DSP發(fā)送的配置方案。時(shí)鐘發(fā)生器模塊用于產(chǎn)生時(shí)鐘脈沖。

1.1 數(shù)控振蕩器設(shè)計(jì)
    載波發(fā)生器按照輸入值產(chǎn)生不同頻率的同相I、正交Q兩路正弦信號(hào)。碼發(fā)生器除了產(chǎn)生不同頻率的C/A碼外,還具有對(duì)碼相位進(jìn)行移位的操作。為減少資源使用,只采用每次延遲一個(gè)碼片的操作。延遲移位可減少捕獲到多徑信號(hào)的危險(xiǎn)。
1.2 環(huán)路濾波器參數(shù)調(diào)整
    考慮到FPGA除法運(yùn)算的舍入誤差和射頻芯片帶寬的影響,環(huán)路參數(shù)的調(diào)整工作按以下步驟進(jìn)行。
    (1)按濾波器典型值計(jì)算公式,計(jì)算環(huán)路的增益、載波環(huán)帶寬100 Hz和碼環(huán)的10 Hz的參數(shù)值。此外,為了FPGA能夠利用移位進(jìn)行運(yùn)算,應(yīng)化簡(jiǎn)計(jì)算結(jié)果。
    (2)修改載波環(huán)環(huán)路增益,使環(huán)路穩(wěn)定。
    (3)修改載波環(huán)和碼環(huán)增益,使環(huán)路波動(dòng)最小。
    系統(tǒng)使用一階鎖頻環(huán)輔助二階鎖相環(huán)濾波器。當(dāng)濾波器使用表1的參數(shù)時(shí),得到圖2所示的系統(tǒng)時(shí)域性能。從圖2可以看出,第一組鎖相環(huán)鑒相器的輸出抖動(dòng)大,系統(tǒng)相位誤差大。同時(shí)I、Q相位圖中在正交支路Q上還有很大的能量,環(huán)路收斂性差。逐步調(diào)整參數(shù)比例后,在第二組中相位誤差減小到20°以內(nèi)。

1.3 偽距信息輸出
    在位同步和幀同步完成后,F(xiàn)PGA能夠檢測(cè)到子幀頭位置并通過數(shù)據(jù)流得到子幀頭部的發(fā)送時(shí)刻(周內(nèi)時(shí))。為得到子幀頭后任意一點(diǎn)的發(fā)送時(shí)刻,F(xiàn)PGA在檢測(cè)到子幀頭部時(shí)對(duì)各計(jì)時(shí)寄存器清零,然后按照各自的頻率累加計(jì)時(shí)。當(dāng)DSP請(qǐng)求提取偽距信息時(shí),F(xiàn)PGA將該時(shí)刻的各計(jì)時(shí)寄存器值同時(shí)轉(zhuǎn)移鎖存,并傳送給DSP處理。DSP計(jì)算出計(jì)時(shí)寄存器值對(duì)應(yīng)的時(shí)間,再加上子幀頭對(duì)應(yīng)的周內(nèi)時(shí)即可得到信號(hào)的發(fā)送時(shí)刻。
2 基帶處理輔助模塊優(yōu)化設(shè)計(jì)
    接收機(jī)的正常工作需要一些輔助模塊,以協(xié)助接收機(jī)在信號(hào)遮擋、消失等條件下正常運(yùn)行。
2.1 衛(wèi)星號(hào)自動(dòng)分配方法
    在系統(tǒng)冷啟動(dòng)時(shí),F(xiàn)PGA自動(dòng)搜星。為避免自由通道同時(shí)搜索同一顆星,需要設(shè)計(jì)衛(wèi)星號(hào)分配方法。自動(dòng)分配方法采用申請(qǐng)交換方式。如果自由通道沒有捕獲到當(dāng)前衛(wèi)星,則向衛(wèi)星號(hào)分配庫(kù)申請(qǐng)新的衛(wèi)星,同時(shí)將正在使用的衛(wèi)星號(hào)上交。為適應(yīng)熱啟動(dòng),DSP需要將優(yōu)先搜索的衛(wèi)星排在分配器前端以獲得高的優(yōu)先級(jí)。PRN碼庫(kù)可將剛剛處理過的衛(wèi)星號(hào)自動(dòng)變?yōu)榈蛢?yōu)先級(jí),以保證系統(tǒng)及時(shí)處理新出現(xiàn)的衛(wèi)星。
2.2 熱啟動(dòng)載波多普勒限制
    多普勒限制模塊與衛(wèi)星號(hào)分配庫(kù)結(jié)構(gòu)相同。DSP系統(tǒng)根據(jù)歷書、時(shí)間和預(yù)存儲(chǔ)的位置計(jì)算出可視衛(wèi)星號(hào)、概略多普勒頻移信息,把結(jié)果傳送至FPGA,并通知FPGA使用何種搜索模式進(jìn)行搜星捕獲等。此處理方式可大大減少首次定位時(shí)間。
2.3 秒時(shí)鐘脈沖輸出
    為輸出與UTC同步的精準(zhǔn)秒脈沖,在FPGA內(nèi)部設(shè)計(jì)了時(shí)鐘發(fā)生器。時(shí)鐘發(fā)生器以系統(tǒng)時(shí)鐘為基準(zhǔn),并輸出時(shí)鐘秒內(nèi)計(jì)時(shí)累加器值tc,為DSP系統(tǒng)校正使用。當(dāng)DSP請(qǐng)求偽距信息時(shí),F(xiàn)PGA同時(shí)將tc鎖定送出。DSP定時(shí)計(jì)算后,可得到秒內(nèi)時(shí)誤差tc-tu'(tu'為系統(tǒng)當(dāng)前時(shí)間中不到1 s的部分),濾波后把校正值反饋給FPGA進(jìn)行校正。
3 系統(tǒng)驗(yàn)證
    系統(tǒng)使用表1中第二組參數(shù)時(shí),環(huán)路的牽引過程如圖3所示。從即時(shí)碼支路輸出可以看出,開始階段環(huán)路積分值不斷增大,最后正交支路積分值變小,同相支路解調(diào)出數(shù)據(jù)流。載波多普勒頻移顯示環(huán)路承受了250 Hz左右的偏差,達(dá)到了設(shè)計(jì)目標(biāo)。

 

 

    圖4(a)所示的位同步是圖4(b)幀同步的局部放大,Data_in為解調(diào)出的數(shù)據(jù)流輸入??梢钥闯?,Count_bit將一個(gè)數(shù)據(jù)位分成了20份,Head_bit指示出數(shù)據(jù)位的頭部且第0位置處在數(shù)據(jù)位的開頭。由于環(huán)路積分,Data_in晚于真實(shí)數(shù)據(jù)位一個(gè)積分周期,真正的子幀頭在Count_bit為18時(shí)的末端,即圖4(a)中TOW_short值發(fā)生改變的時(shí)刻。從圖4(b)可以看出,在Head_subframe指示子幀頭部后,Data_in的后續(xù)輸入即為子幀頭的標(biāo)識(shí)“10001011”。當(dāng)遙測(cè)字和交接字均通過校驗(yàn)后,幀同步成功。Head_subframe的觸發(fā)由前一子幀數(shù)據(jù)計(jì)算得到。

    圖4(c)中,在子幀頭部TOW_short發(fā)生改變的時(shí)刻,計(jì)時(shí)寄存器中過子幀頭的完整C/A碼碼片個(gè)數(shù)Num_CA、過碼片周期的完整系統(tǒng)周期個(gè)數(shù)Num_81 MHz重新計(jì)數(shù)。由于Num_81 MHz晚于真實(shí)子幀頭CA_reset的上升沿一個(gè)系統(tǒng)時(shí)鐘周期,即從2開始計(jì)數(shù),這樣,就能夠統(tǒng)一時(shí)間計(jì)算方法。
    綜上所述,基于FPGA的基帶處理,向DSP系統(tǒng)提供偽距相關(guān)信息的最大頻率和FPGA的系統(tǒng)時(shí)鐘有關(guān)。本系統(tǒng)理論最大提供頻率為81.84 MHz,但受DSP處理速度和數(shù)據(jù)傳輸速度影響,在DSP滿負(fù)荷運(yùn)行下,系統(tǒng)最快輸出定位頻率為100 Hz。
    本文將基帶處理功能全部轉(zhuǎn)移至FPGA,設(shè)計(jì)實(shí)現(xiàn)了GPS信號(hào)捕獲、跟蹤、同步、偽距相關(guān)信息整理等模塊。將DSP從繁重的基帶處理部分脫離后,可專注于復(fù)雜的導(dǎo)航解算,大大提高了導(dǎo)航解算的速度,為復(fù)雜導(dǎo)航算法的實(shí)現(xiàn)和導(dǎo)航結(jié)果的高頻率輸出提供了寬裕的硬件資源。
    本系統(tǒng)采用Altera公司Cyclone II 系列的EP2C70-
F672C6芯片,實(shí)現(xiàn)了12通道GPS模塊和EMIF接口電路。邏輯單元共占用60%,因此本款芯片支持更多的GPS通道模塊設(shè)計(jì)。
參考文獻(xiàn)
[1] 胡銳,薛曉中,孫瑞勝,等.基于FPGA+DSP的嵌入式GPS數(shù)字接收機(jī)系統(tǒng)設(shè)計(jì)[J].中國(guó)慣性技術(shù)學(xué)報(bào),2009,17(2):188.
[2] ABOELMAGD N,KARAMAT B T,Mark D E,et al. Performance enhancement of MEMS-based INS/GPS integration for low-cost navigation applications[J].IEEE Transactions.on Vehicular Technology,2009,58(3):1077-1096.
[3] DOVIS F,SPELAT M,LEONE C,et al.On the tracking performance of a galileo/GPS receiver based on hybrid FPGA/DSP board[C].Proceeding.ION GNSS,2005:1611-1620.

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