劉智超
陜西凌云科技有限責(zé)任公司,陜西西安 710119
多通道衛(wèi)星信號(hào)跟蹤設(shè)計(jì)及其硬件實(shí)現(xiàn)
劉智超
陜西凌云科技有限責(zé)任公司,陜西西安 710119
在設(shè)計(jì)衛(wèi)星導(dǎo)航接收機(jī)時(shí),需要同時(shí)對(duì)多顆衛(wèi)星實(shí)時(shí)跟蹤才能獲得最終的導(dǎo)航結(jié)果,這就要求對(duì)每顆衛(wèi)星都要有一個(gè)處理通道。本文提出了一種在FPGA和DSP的硬件開(kāi)發(fā)平臺(tái)上設(shè)計(jì)多通道跟蹤環(huán)路的方法,以及設(shè)計(jì)中斷控制器來(lái)實(shí)現(xiàn)FPGA和DSP數(shù)據(jù)交互接口,從而實(shí)現(xiàn)衛(wèi)星信號(hào)的跟蹤。
多通道;衛(wèi)星信號(hào);跟蹤;中斷
中頻模擬信號(hào)經(jīng)過(guò)A/D采樣后將數(shù)字信號(hào)送入FPGA進(jìn)行基帶數(shù)字信號(hào)處理,在FPGA和DSP內(nèi)完成數(shù)字下變頻、捕獲、碼跟蹤、載波跟蹤等過(guò)程,最終實(shí)現(xiàn)衛(wèi)星信號(hào)的解擴(kuò)解調(diào)。在實(shí)際應(yīng)用中,需要設(shè)計(jì)多個(gè)通道對(duì)多顆衛(wèi)星同時(shí)進(jìn)行跟蹤,才能獲得解算結(jié)果。
硬件平臺(tái)用FPGA芯片和DSP芯片作為主處理器,主處理器之間可以互相通信。經(jīng)過(guò)AD采樣后的信號(hào)直接進(jìn)入FPGA,此后所有對(duì)信號(hào)的處理均由軟件來(lái)實(shí)現(xiàn)。如此可以充分利用FPGA和DSP的重復(fù)燒寫(xiě)及在線調(diào)試能力,盡量減少對(duì)其他硬件的依賴(lài)程度,從而增加了平臺(tái)的靈活性。另外,每片DSP都外接了Flash和SDRAM。由于Flash掉電數(shù)據(jù)不會(huì)丟失,可以在Flash內(nèi)保存程序及數(shù)據(jù),而外接的SDRAM是DSP的擴(kuò)展Ram,當(dāng)DSP運(yùn)行大型程序以致DSP的內(nèi)部Ram不夠用時(shí),可以將程序放到外接的SDRAM內(nèi)運(yùn)行。
信號(hào)處理模塊框圖如圖1所示,捕獲模塊和通道的跟蹤環(huán)路占用FPGA和DSP。整個(gè)跟蹤環(huán)路包括五個(gè)部分:FPGA內(nèi)的下變頻模塊,通道模塊,通道控制器和DSP接口模塊,以及DSP內(nèi)的碼環(huán)、載波環(huán)。
AD采樣后的信號(hào)首先進(jìn)入數(shù)字下變頻模塊,下變頻輸出的基帶I/Q信號(hào)直接進(jìn)入捕獲模塊和各個(gè)通道(跟蹤模塊)。各個(gè)通道的數(shù)據(jù)通過(guò)DSP接口被送到DSP,DSP和FPGA之間的數(shù)據(jù)傳輸通過(guò)中斷的方式來(lái)完成。DSP完成鑒頻鑒相及濾波運(yùn)算后將結(jié)果反饋回FPGA。圖中各個(gè)通道通過(guò)通道控制器共用一個(gè)捕獲模塊。
多通道的設(shè)計(jì)總體包括兩個(gè)部分:多通道的控制和各個(gè)通道數(shù)據(jù)的傳輸。一種簡(jiǎn)單的多通道控制方法就是采用多個(gè)并行通道的設(shè)計(jì),各個(gè)通道有各自獨(dú)立和完全一樣的功能模塊,包括捕獲模塊,這種并行結(jié)構(gòu)的設(shè)計(jì)不需要額外的通道控制邏輯,各個(gè)通道獨(dú)立工作,不受干擾,尤其在捕獲時(shí)各個(gè)通道可以同時(shí)工作,減少捕獲時(shí)間。但是這種方法需要很大的硬件資源,尤其是在捕獲算法很復(fù)雜時(shí),捕獲模塊的資源占用最大。因此,在硬件資源有限的條件下,這種方法資源分配的不合理性使得實(shí)現(xiàn)這種結(jié)構(gòu)不實(shí)際。在實(shí)際設(shè)計(jì)時(shí),由于捕獲模塊需要占用整個(gè)FPGA的資源,因此只能采用捕獲模塊共享的結(jié)構(gòu),如圖1所示,各個(gè)通道通過(guò)一個(gè)通道控制器共用捕獲模塊。這種結(jié)構(gòu)下,各個(gè)通道的捕獲是串行的方式,因此捕獲時(shí)間為并行結(jié)構(gòu)的N倍。
由于跟蹤環(huán)路的鑒頻鑒相算法都是在DSP內(nèi)運(yùn)行,因此FPGA需要將通道的累加值及時(shí)發(fā)送到DSP,DSP運(yùn)算結(jié)束后又需要及時(shí)將結(jié)果反饋回FPGA,這個(gè)過(guò)程需要用中斷的方式來(lái)實(shí)現(xiàn)。傳統(tǒng)的中斷處理方法分為獨(dú)立請(qǐng)求法、菊花鏈法和軟件輪詢法3種。獨(dú)立請(qǐng)求法的方式給每個(gè)設(shè)備一個(gè)中斷請(qǐng)求線,當(dāng)有幾個(gè)設(shè)備同時(shí)請(qǐng)求時(shí),經(jīng)判優(yōu)邏輯選擇一個(gè)優(yōu)先級(jí)最高的中斷請(qǐng)求,并形成對(duì)應(yīng)的中斷向量,通過(guò)數(shù)據(jù)總線送到處理器。菊花鏈法和軟件輪詢法都只需要一個(gè)中斷請(qǐng)求線,處理器檢測(cè)到中斷請(qǐng)求信號(hào)后,根據(jù)優(yōu)先級(jí),分別通過(guò)硬件和軟件的方法來(lái)選擇中斷請(qǐng)求設(shè)備。本課題選用的DSP處理器只有4個(gè)外部中斷,而FPGA共有多個(gè)通道。因此,給每個(gè)通道分配一個(gè)中斷請(qǐng)求線的方法不可行。另外,多個(gè)通道的數(shù)據(jù)到達(dá)時(shí)間間隔雖然固定,但是各個(gè)通道之間的數(shù)據(jù)到達(dá)時(shí)間并沒(méi)有固定關(guān)系。綜合考慮,本課題采用每個(gè)通道在積分累加結(jié)束后將累加值存入對(duì)應(yīng)的相關(guān)峰值寄存器,DSP每隔時(shí)間T響應(yīng)中斷,并讀取多個(gè)通道的相關(guān)峰值,運(yùn)算結(jié)束后依次寫(xiě)入FPGA內(nèi)的反饋寄存器。相關(guān)峰值寄存器的更新率和中斷速率相同,但是兩者并不同步;另外12個(gè)通道的數(shù)據(jù)更新也不同步。這里相關(guān)峰值寄存器組有類(lèi)似雙口Ram的功能,所不同的是該寄存器組的所有寄存器可以同時(shí)寫(xiě)入數(shù)據(jù)。
可以根據(jù)實(shí)際來(lái)增加或刪減通道達(dá)到相應(yīng)的功能需要,用此種方法可以同時(shí)多通道穩(wěn)定跟蹤衛(wèi)星信號(hào),為后續(xù)的解算提供穩(wěn)定的數(shù)據(jù)。
[1]袁建平,羅建軍,等.衛(wèi)星導(dǎo)航原理與應(yīng)用[M].中國(guó)宇航 出版社,2003.
[2]楊小牛,樓才義,徐建良.軟件無(wú)線電原理與應(yīng)用[M].電 子工業(yè)出版社,2001.
[3]王忠.高動(dòng)態(tài)GPS接收機(jī)的設(shè)計(jì).航天電子對(duì)抗.
[4]田明坤.高動(dòng)態(tài)GPS接收機(jī)的一種設(shè)計(jì)方案[J].遙控遙測(cè).
[5]劉基余.GPS衛(wèi)星導(dǎo)航定位原理與方法[M].科學(xué)出版社, 2003.
[6]董在望.通信電路原理[M].高等教育出版社,2003.
[7]鄭君里,楊為理.信號(hào)與系統(tǒng)[M].高等教育出版社,2001.
[8]張伯川.基于DSP的高動(dòng)態(tài)GPS接收機(jī)關(guān)鍵技術(shù)討論[J].電 子與技術(shù).
TN967.1
A
1674-6708(2010)28-0212-02
劉智超,設(shè)計(jì)師,工作單位:陜西凌云科技有限責(zé)任公司,主要從事無(wú)線電導(dǎo)航、衛(wèi)星導(dǎo)航與通信等開(kāi)發(fā)工作