GPS軟件接收機(jī)信號(hào)實(shí)時(shí)接收與傳輸技術(shù)
摘要 基于GP2015射頻芯片和TMS320C6713 I)SP處理器,提出了一種GPS軟件接收機(jī)信號(hào)實(shí)時(shí)接收及傳輸?shù)幕痉桨?。介紹了射頻前端的基本構(gòu)造以及它與DSP進(jìn)行高速實(shí)時(shí)傳輸?shù)慕涌诜桨?,并且重點(diǎn)描述了一種基于EDMA數(shù)據(jù)傳輸方式的實(shí)現(xiàn)及完整的軟件設(shè)計(jì)流程。本方案利用EDMA在CPU后臺(tái)高效地實(shí)現(xiàn)存儲(chǔ)空間的數(shù)據(jù)搬移,減少對(duì)CPU的使用,提高了平臺(tái)運(yùn)行速度,滿足GPS軟件接收機(jī)高速實(shí)時(shí)性要求。
關(guān)鍵詞 GPS軟件接收機(jī) TMS320C6713 實(shí)時(shí) 乒乓緩存
引 言
近些年來(lái),GPS全球定位系統(tǒng)在城市交通、導(dǎo)航、氣象、土地測(cè)量測(cè)繪以及軍隊(duì)現(xiàn)代化建設(shè)等各個(gè)領(lǐng)域都發(fā)揮了重要的作用。相較于傳統(tǒng)的GPS接收機(jī)射頻前端和信號(hào)處理部分由專用芯片來(lái)實(shí)現(xiàn),軟件接收機(jī)以FPGA、DSP等硬件平臺(tái)作為基礎(chǔ),將GPS信號(hào)量化成數(shù)字信號(hào),通過(guò)可移植的軟件算法來(lái)實(shí)現(xiàn)各種功能。
在GPS軟件接收機(jī)中,經(jīng)射頻前端(RF)將高頻衛(wèi)星信號(hào)3級(jí)下變頻至中頻信號(hào),再交由DSP進(jìn)行基帶算法和導(dǎo)航解算處理。接收機(jī)對(duì)信號(hào)接收和傳輸?shù)倪B續(xù)性和實(shí)時(shí)性要求很高。TI公司C67系列的DSP具有豐富的外設(shè),其中增強(qiáng)型直接存儲(chǔ)器訪問(wèn)(EDMA)和多通道緩沖串口(MCBSP)是其無(wú)需CPU的參與就能夠完成GPS衛(wèi)星數(shù)據(jù)實(shí)時(shí)傳輸?shù)闹匾h(huán)節(jié)。
1 信號(hào)接收及傳輸方案
本系統(tǒng)采用TMS320C6713 DSP作為系統(tǒng)的核心處理器。射頻前端選用ZARLINK公司的GP2015芯片完成信號(hào)的相關(guān)濾波、下變頻以及A/D采樣。在GP2015和DSP之間采用1片F(xiàn)PGA芯片EPlC3T144C8N進(jìn)行相關(guān)的邏輯控制,如圖1所示。接收機(jī)天線接收端的衛(wèi)星信號(hào)功率約為2.7×10-6w,信噪比較低,必須先經(jīng)過(guò)由有源天線和射頻濾波器組成的前置濾波器模塊,對(duì)頻率為1 575.42 MH2的L1波段信號(hào)進(jìn)行濾波,去除噪聲及其他干擾。射頻前端芯片選用ZARLINK公司的GP2015,一款針對(duì)GPS接收機(jī)的主流芯片。芯片本身使用溫補(bǔ)晶振,通過(guò)1.4 GHz的PLL環(huán)路,產(chǎn)生3路本地載波信號(hào)對(duì)天線接收的高頻信號(hào)實(shí)現(xiàn)3級(jí)變頻:1 575.42 MHz→175.42 MHz→35.42 MHz→4.309 MHz,最后對(duì)4.309 MHz的模擬信號(hào)用5.714MHz的采樣頻率進(jìn)行A/D轉(zhuǎn)換得到SIGN、MAG兩路信號(hào),其中心頻率落在1.405 MHz上。DSP使用MCBSP接收2路信號(hào),再通過(guò)EI)MA從MCBSP的接收寄存器中取得數(shù)據(jù),轉(zhuǎn)存至指定外部存儲(chǔ)器,以供CPU調(diào)用處理。
2 DSP 硬件設(shè)備設(shè)置
2.1 MCBSP設(shè)置
TMS320C6713提供2個(gè)MCBSP端口,可以與工業(yè)標(biāo)準(zhǔn)的編/解碼器、AICS(模擬接口芯片)以及其他串行A/D、D/A接口實(shí)現(xiàn)全雙工串行通信。MCBSP提供了雙緩存的發(fā)送寄存器和三緩存的接收寄存器,允許連續(xù)的數(shù)據(jù)流傳輸。[!--empirenews.page--]
MCBSP通過(guò)7個(gè)引腳(DX、DR、CLKX、CLKR、FSX、FSR和CLKS)與外設(shè)接口。在接收GPS信號(hào)的時(shí)候,DR引腳上接收到的數(shù)據(jù)首先進(jìn)入接收轉(zhuǎn)移寄存器(RSR),然后被復(fù)制到接收緩沖寄存器(RBR),RBR再將數(shù)據(jù)復(fù)制到數(shù)據(jù)接收寄存器(DRR)中,等待EDMA控制器讀取。GPS軟件接收機(jī)不需要向前端發(fā)送數(shù)據(jù),所以發(fā)送功能不作介紹。信號(hào)傳輸?shù)牟僮饔纱锌诳刂萍拇嫫鱏PCR和引腳控制寄存器PCR來(lái)決定。接收控制寄存器RCR設(shè)置接收的各種參數(shù),如幀長(zhǎng)度等。
信號(hào)在MCBSP中傳輸時(shí)需要提供同步時(shí)鐘以及幀同步信號(hào),它們既可以由內(nèi)部采樣速率產(chǎn)生器。產(chǎn)生,也可以由外部脈沖源驅(qū)動(dòng)。在本文介紹的方案中,射頻前端的SIGN和MAG信號(hào)的時(shí)鐘CLK由FPGA提供。GP2015的LVDS接口產(chǎn)生差分信號(hào),與同樣具有LVDS接口的ALT。ERA公司的FPGA芯片EPlC3T144C8N接口,由FPGA通過(guò)對(duì)輸入的40 MHz的差分信號(hào)進(jìn)行7分頻,得到5.714 MHz的時(shí)鐘并提供給GP2015及DSP分別用作中頻采樣時(shí)鐘信號(hào)和MCBSP的外部時(shí)鐘信號(hào)。同時(shí)再對(duì)5.714 MHz信號(hào)進(jìn)行一次32分頻,提供給DSP處理器的McBSP0、MCBSP1用作幀同步信號(hào)。系統(tǒng)接口的示意圖和相關(guān)信號(hào)的時(shí)序圖如圖2、圖3所示。
2.2 EDMA設(shè)置
TMS320C6713的EDMA控制器提供16個(gè)增強(qiáng)通道,各通道之間彼此獨(dú)立。在沒(méi)有CPU參與的情況下,EDMA控制器可以在后臺(tái)完成片內(nèi)存儲(chǔ)器和外設(shè)之間的數(shù)據(jù)搬移。它由以下幾部分組成:事件和中斷處理寄存器、事件編碼器、參數(shù)RAM、地址硬件發(fā)生器。其中事件寄存器完成對(duì)EDMA事件的捕獲控制,事件產(chǎn)生同步信號(hào)觸發(fā)EDMA通道開(kāi)始數(shù)據(jù)傳輸;EDMA的參數(shù)RAM存放有與事件相關(guān)的傳輸參數(shù);地址硬件發(fā)生器產(chǎn)生EMIF與外設(shè)之間讀/寫(xiě)操作所需的地址信號(hào)。EDMA的16個(gè)通道共享1個(gè)中斷信號(hào)EDMA_INT,當(dāng)EDMA完成1次傳輸任務(wù),可觸發(fā)EDMA中斷。TMS320C6713的EDMA的參數(shù)RAM包括6個(gè)字,其結(jié)構(gòu)如圖4所示。在OPT中,用戶可以通過(guò)對(duì)各個(gè)位置“0”或“1”來(lái)設(shè)置事件優(yōu)先級(jí)別、數(shù)據(jù)單元大小、源地址/目的地址變更模式、傳輸結(jié)束代碼、是否使能鏈接(1inking)功能、同步傳輸方式等。
3 乒乓緩存實(shí)時(shí)傳輸
3.1 傳輸分析
GPS軟件接收機(jī)通過(guò)MCBSP端口接收信號(hào),將衛(wèi)星數(shù)據(jù)保存在指定映射的存儲(chǔ)器中,隨后EDMA通道搬運(yùn)數(shù)據(jù)至片內(nèi)L2緩存以供CPU提取并處理。L2緩存有CPU一半的時(shí)鐘速度,CPU處理數(shù)據(jù)速度較塊。CPU數(shù)據(jù)處理必須與EDMA數(shù)據(jù)傳輸保持同步,也就是要保證在CPU訪問(wèn)之前EDMA把數(shù)據(jù)傳輸?shù)骄彌_區(qū)中。但是受片內(nèi)二級(jí)存儲(chǔ)器容量和數(shù)據(jù)實(shí)時(shí)性的限制,會(huì)面臨這樣一個(gè)問(wèn)題:后寫(xiě)入緩沖區(qū)的數(shù)據(jù)可能會(huì)覆蓋先期寫(xiě)入但尚未處理的數(shù)據(jù)。為此,需要在L2緩存開(kāi)辟2對(duì)乒乓緩存(ping-pong buffer),分別接收GPS的SIGN和MAG信號(hào),并利用EDMA的多組參數(shù)鏈接功能,根據(jù)數(shù)據(jù)實(shí)時(shí)傳輸?shù)奶攸c(diǎn),對(duì)EDMA參數(shù)RAM進(jìn)行設(shè)置。
以接收SIGN信號(hào)為例,首先開(kāi)辟1個(gè)EDMA通道1,它的觸發(fā)事件設(shè)為MCBSP0的傳輸。入口參數(shù)0PT設(shè)置為一維單幀傳輸,采用讀/寫(xiě)同步方式,數(shù)據(jù)單元長(zhǎng)度為32位,源地址固定不變,目的地址按1個(gè)數(shù)據(jù)單元長(zhǎng)度遞增,并使能鏈接功能。SRC設(shè)為MCBSP中DRR2的映射地址,:DST設(shè)為ping—buffer的首地址,ELECNT設(shè)為緩沖區(qū)的大小,F(xiàn)RMCNT、FRMIDX、ELEIDX、ELERLD均設(shè)為0。隨后再開(kāi)辟2路空閑的EDMA通道——通道2和通道3,它的設(shè)置和之前相同,只是在DST目的地址處分別指向pong—buffer和ping—buffer。隨后將EDMA通道1的鏈接地址link指向通道2,通道2的link地址指向通道3,通道3的鏈接地址指向通道2。MAG信號(hào)的EDMA鏈接功能和乒乓緩沖的配合設(shè)置相同,不再描述。乒乓緩存的相關(guān)設(shè)置如圖5所示。[!--empirenews.page--]
3.2 程序設(shè)置
利用EDMA和MCBSP實(shí)時(shí)傳輸GPS信號(hào)的程序在CCS3.3環(huán)境下進(jìn)行編寫(xiě)和調(diào)試,結(jié)果證明數(shù)據(jù)傳輸正確無(wú)誤。以下程序簡(jiǎn)要說(shuō)明了GPS軟件接收機(jī)的軟件傳輸配置。
結(jié) 語(yǔ)
本文在基于GP2015和TMS320C6713的基礎(chǔ)上,提出了一種軟件接收機(jī)的大致方案,并且利用MCBSP和EDMA實(shí)現(xiàn)了對(duì)GPS衛(wèi)星信號(hào)的實(shí)時(shí)接收和傳輸。文章重點(diǎn)介紹了DSP硬件設(shè)備的有關(guān)參數(shù)設(shè)置,以及乒乓緩存的使用方法,并給出部分程序以供參考。