引言
近些年來,GPS全球定位系統在城市交通、導航、氣象、土地測量測繪以及*現代化建設等各個領域都發揮了重要的作用。相較于傳統的GPS接收機射頻前端和信號處理部分由專用芯片來實現,軟件接收機以FPGA、DSP等硬件平臺作為基礎,將GPS信號量化成數字信號,通過可移植的軟件算法來實現各種功能。
在GPS軟件接收機中,經射頻前端(RF)將高頻衛星信號3級下變頻至中頻信號,再交由DSP進行基帶算法和導航解算處理。接收機對信號接收和傳輸的連續性和實時性要求很高。TI公司C67系列的DSP具有豐富的外設,其中增強型直接存儲器訪問(EDMA)和多通道緩沖串口(MCBSP)是其無需CPU的參與就能夠完成GPS衛星數據實時傳輸的重要環節。
1 信號接收及傳輸方案
本系統采用TMS320C6713 DSP作為系統的核心處理器。射頻前端選用ZARLINK公司的GP2015芯片完成信號的相關濾波、下變頻以及A/D采樣。在GP2015和DSP之間采用1片FPGA芯片EPlC3T144C8N進行相關的邏輯控制,如圖1所示。接收機天線接收端的衛星信號功率約為2.7×10-6w,信噪比較低,必須先經過由有源天線和射頻濾波器組成的前置濾波器模塊,對頻率為1 575.42 MH2的L1波段信號進行濾波,去除噪聲及其他干擾。射頻前端芯片選用ZARLINK公司的GP2015,一款針對GPS接收機的主流芯片。芯片本身使用溫補晶振,通過1.4 GHz的PLL環路,產生3路本地載波信號對天線接收的高頻信號實現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的接收寄存器中取得數據,轉存至指定外部存儲器,以供CPU調用處理。
2 DSP 硬件設備設置
2.1 MCBSP設置
TMS320C6713提供2個MCBSP端口,可以與工業標準的編/解碼器、 AICS(模擬接口芯片)以及其他串行A/D、D/A接口實現全雙工串行通信。MCBSP提供了雙緩存的發送寄存器和三緩存的接收寄存器,允許連續的數據流傳輸。
MCBSP通過7個引腳(DX、DR、CLKX、CLKR、FSX、FSR和CLKS)與外設接口。在接收GPS信號的時候,DR引腳上接收到的數據首先進入接收轉移寄存器(RSR),然后被復制到接收緩沖寄存器(RBR),RBR再將數據復制到數據接收寄存器(DRR)中,等待EDMA控制器讀取。GPS軟件接收機不需要向前端發送數據,所以發送功能不作介紹。信號傳輸的操作由串行口控制寄存器SPCR和引腳控制寄存器PCR來決定。接收控制寄存器RCR設置接收的各種參數,如幀長度等。
信號在MCBSP中傳輸時需要提供同步時鐘以及幀同步信號,它們既可以由內部采樣速率產生器。產生,也可以由外部脈沖源驅動。在本文介紹的方案中,射頻前端的SIGN和MAG信號的時鐘CLK由FPGA提供。GP2015的LVDS接口產生差分信號,與同樣具有LVDS接口的ALT。ERA公司的FPGA芯片 EPlC3T144C8N接口,由FPGA通過對輸入的40 MHz的差分信號進行7分頻,得到5.714 MHz的時鐘并提供給GP2015及DSP分別用作中頻采樣時鐘信號和MCBSP的外部時鐘信號。同時再對5.714 MHz信號進行一次32分頻,提供給DSP處理器的McBSP0、MCBSP1用作幀同步信號。系統接口的示意圖和相關信號的時序圖如圖2、圖3所示。
2.2 EDMA設置
TMS320C6713的EDMA控制器提供16個增強通道,各通道之間彼此獨立。在沒有CPU參與的情況下,EDMA控制器可以在后臺完成片內存儲器和外設之間的數據搬移。它由以下幾部分組成:事件和中斷處理寄存器、事件編碼器、參數 RAM、地址硬件發生器。其中事件寄存器完成對EDMA事件的捕獲控制,事件產生同步信號觸發EDMA通道開始數據傳輸;EDMA的參數RAM存放有與事件相關的傳輸參數;地址硬件發生器產生EMIF與外設之間讀/寫操作所需的地址信號。EDMA的16個通道共享1個中斷信號EDMA_INT,當EDMA 完成1次傳輸任務,可觸發EDMA中斷。TMS320C6713的EDMA的參數RAM包括6個字,其結構如圖4所示。在OPT中,用戶可以通過對各個位置“0”或“1”來設置事件優先級別、數據單元大小、源地址/目的地址變更模式、傳輸結束代碼、是否使能鏈接(1inking)功能、同步傳輸方式等。
3 乒乓緩存實時傳輸
3.1 傳輸分析
GPS軟件接收機通過MCBSP端口接收信號,將衛星數據保存在指定映射的存儲器中,隨后EDMA通道搬運數據至片內L2緩存以供CPU提取并處理。L2緩存有CPU一半的時鐘速度,CPU處理數據速度較塊。CPU數據處理必須與EDMA數據傳輸保持同步,也就是要保證在CPU訪問之前EDMA 把數據傳輸到緩沖區中。但是受片內二級存儲器容量和數據實時性的限制,會面臨這樣一個問題:后寫入緩沖區的數據可能會覆蓋先期寫入但尚未處理的數據。為此,需要在L2緩存開辟2對乒乓緩存(ping-pong buffer),分別接收GPS的SIGN和MAG信號,并利用EDMA的多組參數鏈接功能,根據數據實時傳輸的特點,對EDMA參數RAM進行設置。
以接收SIGN信號為例,首先開辟1個EDMA通道1,它的觸發事件設為MCBSP0的傳輸。入口參數0PT設置為一維單幀傳輸,采用讀/寫同步方式,數據單元長度為32位,源地址固定不變,目的地址按1個數據單元長度遞增,并使能鏈接功能。SRC設為MCBSP中DRR2的映射地址,:DST 設為ping—buffer的首地址,ELECNT設為緩沖區的大小,FRMCNT、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所示。
3.2 程序設置
利用EDMA和MCBSP實時傳輸GPS信號的程序在CCS3.3環境下進行編寫和調試,結果證明數據傳輸正確無誤。以下程序簡要說明了GPS 軟件接收機的軟件傳輸配置。
結語
本文在基于GP2015和TMS320C6713的基礎上,提出了一種軟件接收機的大致方案,并且利用MCBSP和EDMA實現了對 GPS衛星信號的實時接收和傳輸。文章重點介紹了DSP硬件設備的有關參數設置,以及乒乓緩存的使用方法,并給出部分程序以供參考。
責任編輯:gt
-
處理器
+關注
關注
68文章
19409瀏覽量
231189 -
dsp
+關注
關注
554文章
8059瀏覽量
350441 -
gps
+關注
關注
22文章
2903瀏覽量
166745
發布評論請先 登錄
相關推薦
TMS320C6713 DSP芯片與pc機間的數據傳輸
如何采用TMS320C6713 DSP芯片設計嵌入式說話人身份識別系統?
TI TMS320C6713 DSP板FlashBurn程序
TMS320C6713的軟件自動更新方案設計
基于32位浮點DSP芯片TMS320C6713實現語音編解碼系統的設計
![基于32位浮點<b class='flag-5'>DSP</b><b class='flag-5'>芯片</b><b class='flag-5'>TMS320C6713</b><b class='flag-5'>實現</b>語音編解碼<b class='flag-5'>系統</b>的設計](https://file.elecfans.com/web1/M00/C7/76/pIYBAF9oCsyAK60JAABtpOG6r0s154.png)
將ADS8380與TMS320C6713 DSP配合使用
![將ADS8380與<b class='flag-5'>TMS320C6713</b> <b class='flag-5'>DSP</b>配合使用](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
將ADS8402/ADS8412連接到TMS320C6713 DSP
![將ADS8402/ADS8412連接到<b class='flag-5'>TMS320C6713</b> <b class='flag-5'>DSP</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
將ADS8401/ADS8411連接到TMS320C6713 DSP
![將ADS8401/ADS8411連接到<b class='flag-5'>TMS320C6713</b> <b class='flag-5'>DSP</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論