基于FPGA和DSP的衛(wèi)星導(dǎo)航接收機測試平臺
引言
衛(wèi)星導(dǎo)航接收機是衛(wèi)星導(dǎo)航系統(tǒng)的用戶終端,用以給用戶提供精確的經(jīng)度、緯度、高度和速度等信息。現(xiàn)在,衛(wèi)星導(dǎo)航接收機已經(jīng)應(yīng)用于航空,交通管理,石油等各個領(lǐng)域,針對衛(wèi)星導(dǎo)航接收機的研究也越發(fā)深入。
本文介紹了一種以 FPGA和 DSP為主處理器的衛(wèi)星導(dǎo)航接收機硬件平臺。在該平臺上不僅可以驗證針對現(xiàn)在所有衛(wèi)星導(dǎo)航系統(tǒng)(GPS,Glonass,伽利略,北斗)的基帶信號處理算法和導(dǎo)航解算算法,同時也可以實現(xiàn)完整的單頻、雙頻或者兼容接收機。
1 硬件設(shè)計
1.1 硬件平臺組成硬件平臺結(jié)構(gòu)框圖如圖 1所示。
500)this.style.width=500;" border="0" />
該平臺以兩片 FPGA芯片和兩片 DSP芯片為主處理器。經(jīng)過 AD采樣后的信號直接進入FPGA,此后所有對信號的處理均由軟件來實現(xiàn)。如此可以充分利用 FPGA和 DSP的重復(fù)燒寫及在線調(diào)試能力,
盡量減少對硬件的依賴程度,從而增加平臺的靈活性。另外,每片 DSP都外接了 Flash和 SDRAM。由于 Flash掉電數(shù)據(jù)不會丟失,可以在 Flash內(nèi)保存程序及數(shù)據(jù),功能有如 PC機上的硬盤,而外接的 SDRAM是 DSP的擴展Ram,當 DSP運行大型程序(如導(dǎo)航解算程序)以致 DSP的內(nèi)部 Ram不夠用時,可以將程序放到外接的 SDRAM內(nèi)運行。
平臺上還有多個串口,可以接顯控等設(shè)備。兩個 Arinc-429接口可以接慣導(dǎo)等航空設(shè)備。JTAG是在線調(diào)試接口。時鐘模塊提供系統(tǒng)的工作時鐘。
只要連接上針對不同衛(wèi)星導(dǎo)航系統(tǒng)的射頻模塊和天線,該平臺就可以成為一個完整的接收機。
1.2 芯片介紹
FPGA采用 Altera公司 CycloneII系列中的 EP2C70F672。Altera公司的 CycloneII系列 FPGA是業(yè)界成本及功耗最低的 FPGA之一,采用 90nm工藝制造。 EP2C70F672是 CycloneII系列中的最高型號,擁有 7萬個邏輯單元, 1Mbits內(nèi)部 RAM,300個 9×9乘法器,4個 PLL環(huán)和 422個 I/O接口,最高數(shù)據(jù)率可以達到 330Mbps。
DSP采用德州儀器公司(TI)的C6000系列中的TMS320C6713。它是TI開發(fā)的基于甚長指令(VILW)結(jié)構(gòu)浮點運算數(shù)字信號處理芯片,每周期可以執(zhí)行 8條32位指令,工作頻率最高可以達到300MHz。擁有 256K字節(jié)內(nèi)部RAM,16個通道的增強 DMA控制器,32bits外部存儲器接口,兩個多通道緩沖口。
模數(shù)轉(zhuǎn)換芯片選用模擬器件公司(ADI)的 AD9288Bst-100。該芯片的采樣率最高可以達到100Msps,正交雙通道 8bits輸出。由于其低功耗特性,被廣泛應(yīng)用于手持設(shè)備等對功耗要求較高的場合。
Flash采用SST公司的 SST39VF800,容量為 512K*16。SDRAM采用 Micron公司的 MT48LC4M32B,存儲空間為4M*32。
2軟件測試
在該硬件平臺上用 Verilog語言和 C語言編寫了簡單的 GPS衛(wèi)星捕獲跟蹤程序,以驗證其功能。程序模塊劃分如圖 2所示。在 FPGA內(nèi)實現(xiàn)了數(shù)字下變頻,捕獲和跟蹤通道,在 DSP內(nèi)實現(xiàn)跟蹤環(huán)
500)this.style.width=500;" border="0" />
路的鑒頻鑒相算法以及環(huán)路濾波器。經(jīng)過 A/D采樣的 8bit信號通過下變頻模塊后輸出 I/Q兩路正交基帶信號。I/Q基帶信號分別進入捕獲模塊和跟蹤通道模塊。在成功捕獲到信號后轉(zhuǎn)入跟蹤。跟蹤通道每次輸出的相關(guān)累加值經(jīng)過 DSP接口模塊傳給 DSP。DSP利用接收到的相關(guān)峰值進行鑒相鑒頻和濾波,并將濾波結(jié)果反饋給 FPGA形成閉環(huán)。 [!--empirenews.page--]
2.1 捕獲
為了讓跟蹤環(huán)路正常跟蹤信號,必須先通過調(diào)整本地載波和偽碼使得他們與接收到的載波和偽碼粗略對準,這就是捕獲。粗略對準的原則是捕獲后的本地載波和信號載波頻差在載波跟蹤環(huán)的跟蹤范圍內(nèi),本地碼和信號碼的相差在碼跟蹤環(huán)的跟蹤范圍內(nèi)。因此捕獲就是一個在時域和頻域的二維搜索過程。
信號的捕獲采用最簡單的單積分滑動相關(guān)的方法,原理如圖 3所示。為了提高捕獲速度和精度,頻率的搜索采用大步進和小步進結(jié)合的方法。即先用大步進粗略捕獲,然后在捕獲到的頻點上進行小步進精確調(diào)整。
500)this.style.width=500;" border="0" />
2.2 跟蹤
圖 2中的跟蹤通道、DSP接口、DSP內(nèi)的鑒頻器、鑒相器和濾波器組成了完整的跟蹤環(huán)路。 整個跟蹤環(huán)路的原理框圖如圖4所示。圖中的乘法器和積分器實際上是組成了一個相關(guān)器。載波NCO 和碼 NCO分別產(chǎn)生本地載波和本地偽碼時鐘。碼發(fā)生器產(chǎn)生本地超前路( Eearly),當前路( Prompt)和滯后路(Late)偽碼。FPGA在每次相關(guān)累加結(jié)束后向 DSP發(fā)出中斷請求,送出超前、滯后和當前路各自的相關(guān)累加值。DSP響應(yīng)中斷,用超前和滯后路的相關(guān)值進行偽碼相位的鑒別,當前路相關(guān)值用于載波的鑒頻和鑒相。提取出的偽碼、載波誤差信號經(jīng)過適當?shù)臑V波器后轉(zhuǎn)換成相應(yīng)的頻率控制字,反饋到 FPGA調(diào)整載波 NCO和碼 NCO,完成碼跟蹤和載波跟蹤環(huán)路的閉環(huán),從而對接收信號進行跟蹤。
500)this.style.width=500;" border="0" />
圖 5為用設(shè)計的程序捕獲跟蹤 GPS的 PRN01衛(wèi)星得到的 I/Q兩路相關(guān)峰值。
500)this.style.width=500;" border="0" />
3 結(jié)論
雖然該平臺采用了雙 FPGA加雙 DSP的四核設(shè)計,但是四個主處理器之間可以互相通信,因此當驗證高性能接收機而需要大量的硬件資源時,可以將兩片 FPGA合而為一作為一片 FPGA使用。如將圖 2中的捕獲模塊和其他模塊放在不同的 FPGA內(nèi)實現(xiàn)。而當驗證兼容接收機或者雙頻點接收機時,又可以將平臺一分為二,當成兩個基于 FPGA+DSP的硬件平臺,而且兩個平臺之間還可以通過數(shù)據(jù)交互建立聯(lián)系。