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