引言 近些年來,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硬件設備的有關參數設置,以及乒乓緩存的使用方法,并給出部分程序以供參考。 參考文獻 1. TI TMS320C6713 TMS320C6713B floating point digital signal processors 2008 2. 江思敏.劉暢 TMS320C6000 DSP應用開發教程 2005 3. TI Applications using the TMS320C6000 enhanced DMA 2008 4. TI TMS320C 6000 Chip Support Library API Reference Guide 2004 5. TI TMS320C6000 DSP Multi-channel Buffered Serial Port (MCBSP)Reference Guide 2004 6. 李方慧.王飛 TMS320C6000 系列DSPs原理與應用 2003 7. 田黎育.何佩琨 TMS320C6000 系列DSP編程工具與指南 2006 來源:單片機與嵌入式系統應用 作者:南京郵電大學 王浩為 陳小惠 2009(5) |