《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 高輸出頻率GPS接收機FPGA優(yōu)化設(shè)計
高輸出頻率GPS接收機FPGA優(yōu)化設(shè)計
來源:電子技術(shù)應(yīng)用2011年第7期
李英飛,丁繼成,趙 琳
哈爾濱工程大學 自動化學院,黑龍江 哈爾濱150001
摘要: 為使DSP芯片有充裕的資源和時間用于復雜的導航計算、輸出高頻率的解算結(jié)果,通過資源優(yōu)化,只采用FPGA邏輯電路實現(xiàn)了GPS信號的捕獲、跟蹤、幀同步、衛(wèi)星自動搜索、偽距信息生成等基帶處理功能,并整理了電文、歷書、偽距信息、多普勒頻移的格式,以方便傳輸。實驗表明,本方案可行有效,定位頻率可達100 Hz。
中圖分類號: TN965.5
文獻標識碼: B
文章編號: 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


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

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

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

 

 

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

    圖4(c)中,在子幀頭部TOW_short發(fā)生改變的時刻,計時寄存器中過子幀頭的完整C/A碼碼片個數(shù)Num_CA、過碼片周期的完整系統(tǒng)周期個數(shù)Num_81 MHz重新計數(shù)。由于Num_81 MHz晚于真實子幀頭CA_reset的上升沿一個系統(tǒng)時鐘周期,即從2開始計數(shù),這樣,就能夠統(tǒng)一時間計算方法。
    綜上所述,基于FPGA的基帶處理,向DSP系統(tǒng)提供偽距相關(guān)信息的最大頻率和FPGA的系統(tǒng)時鐘有關(guān)。本系統(tǒng)理論最大提供頻率為81.84 MHz,但受DSP處理速度和數(shù)據(jù)傳輸速度影響,在DSP滿負荷運行下,系統(tǒng)最快輸出定位頻率為100 Hz。
    本文將基帶處理功能全部轉(zhuǎn)移至FPGA,設(shè)計實現(xiàn)了GPS信號捕獲、跟蹤、同步、偽距相關(guān)信息整理等模塊。將DSP從繁重的基帶處理部分脫離后,可專注于復雜的導航解算,大大提高了導航解算的速度,為復雜導航算法的實現(xiàn)和導航結(jié)果的高頻率輸出提供了寬裕的硬件資源。
    本系統(tǒng)采用Altera公司Cyclone II 系列的EP2C70-
F672C6芯片,實現(xiàn)了12通道GPS模塊和EMIF接口電路。邏輯單元共占用60%,因此本款芯片支持更多的GPS通道模塊設(shè)計。
參考文獻
[1] 胡銳,薛曉中,孫瑞勝,等.基于FPGA+DSP的嵌入式GPS數(shù)字接收機系統(tǒng)設(shè)計[J].中國慣性技術(shù)學報,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)載。