軟件GPS接收機具有較高靈活性和可擴展性,是快速實現算法驗證、研制原型接收機的重要手段。GPS信號的實時采集是軟件GPS接收機各種功能實現的前提。本文設計了一種軟件GPS接收機實時信號采集方案。該方案以McBSP接收射頻前端NJl006AK數字化輸出,通過McBSP事件驅動EDMA在外部擴展sDRAM中進行乒乓緩存,并通過ms中斷(即1 ms中斷1次)與基帶算法同步數據,很好地滿足了軟件GPS接收機信號采集的需要。
1 基于DSP的實時采集方案
軟件GPS接收機作為軟件無線電的典型應用,其本身具有很高的數據采樣率和基帶算法帶來的巨大運算量,跟蹤環節還要求提供實時連續采樣的GPS信號。這就要求處理器在實時運算的同時,對GPS信號進行高速、連續、實時的采集。軟件GPS接收機中的運算目前主要由DSP實現,本文采用TMS320C6416作為核心處理器,在為基帶處理提供支持的同時,利用其McBSP、EMDA、EMIF片內外設,配合Nemerix公司的NJ10-06AK和相關接口電路完成對GPS信號實時、連續的采集,其結構如圖1所示。
來自天線的1 575.42 MHz GPS信號直接進入集成了LNA的射頻接收前端NJl006AK,完成射頻信號的濾波、放大、下變頻,數字化輸出2位并行數據,經并串轉換電路后進入TMS320C6416。TMS320C6416通過McBSP和EDMA配合完成數據的搬移,通過EMIF接口擴展SDRAM完成數據的存儲。McBSP接收串行數據為連續的32位字,并在每個32位字接收完成時,通過McBSP接收事件觸發EDMA完成接收32位字到外部擴展SDRAM的搬移。為了保證實時數據的連續接收和同步,McBSP接收事件對應。EMDA通道分別在SDRAM內開辟2個1 ms數據空間緩沖區,并通過鏈接配置為乒乓緩存操作。當一個緩沖區搬移操作結束時,EDMA切換到另一個緩沖區并發出EDMA中斷,通知CPU ms數據采集完畢,實現采集數據與基帶處理同步。
2 系統硬件設計
2.1 射頻接收電路
NJl006AK是Nemerix公司推出的雙超外差GPS射頻前端接收芯片。它內部集成了LNA,具有可通過引腳設置的本振頻率,同時可直接與有源或者無源天線對接。采用NJl006AK配合無源天線完成射頻信號的接收、處理,其電路如圖2所示。
無源天線通過L1、C1、C3、L5耦合GPS信號進入NJl006AK內部集成的LNA,進行低噪聲放大;并由LNO引腳進入L2、L3、L4、C2、C4和SAW晶振TQS949-AA-7G構成的濾波電路,完成GPS L1帶外信號的濾除。NJl006AK通過MODE引腳接地選擇本地振蕩頻率為1 554.86 MHz,與由RFI引腳進入的濾波后的信號混頻,完成下變頻得到20.55 MHz中頻信號。該中頻信號由NJl006AK通過內部AGC放大后經2位ADC欠采樣完成二次下變頻,輸出SGN、MAG數字信號。ADC參考時鐘通過XEN引腳接地選擇由CP引腳輸入基帶接口提供的16.129 MHz采樣時鐘。此外,L6、L7、C6、C9構成中心在25.55 MHz、帶寬3.5 MHz的濾波電路,以濾除A/D轉換過程中引入的鏡像頻率;R1、C7、C10構成NJl006AK內部PLL的外部濾波電路;AVDD、TVDD為NJl006AK提供3.3 V工作電壓;C5、C8完成NJl006AK片上輸出電壓的濾波,防止芯片內部參考偏移。
2.2并串轉換及存儲接口電路
并串轉換和外部SDRAM存儲接口電路如圖3所示。
50 MHz溫補晶振通過CLKIN為TMS320C6416提供時鐘輸入,CLKMODE0、CLKMODEl上拉配置內部PLL為20倍頻,使處理器工作在1GHz。McBSP0在向射頻前端提供采樣時鐘CLKF的同時,通過與SN54LV166A接口完成并串轉換。EMIFA以32位形式與Microm公司64.Mb 32位SDRAMMT48LC2M-3282-6對接,實現外部存儲的擴展。
并串轉換接口中,SN54LVl66A的CLR引腳接3.3 V禁止異步清零;S/L引腳接地選擇并行輸入方式,接收A到H并行輸入;INH引腳接地使能McBSP0的CLKR提供的移位時鐘;來自射頻前端的數字信號SGN、MAG在CLKR上升沿,依次通過QH輸出到McBSP0完成接收。
外部擴展SDRAM配置在EMIFA CE0空間,BEAl6下拉,BEAl7上拉設置CPU內部6分頻,AECLKOUTl輸出166 MHz與MT48LC2M3282-6的CLK對接,其他控制信號ASDCKE、ACE0、AS-DRAS、ASDCAS、ASDWE、AEA[13:3]、ABE E3:O]、AEDE31:O]直接與MT48LC2M3282-6對應的信號連接。由于SDRAM復用地址線,MT48LC2M3282-6的A11~A18與A0~A7復用,BA0、BAl作為A19、A20提供組選擇信號,所以TMS320C6416的AEA3~AEAl3對接MT48LC2M3282-6的A0~A10完成A0~A18的傳送,AEAl4、AEAl5接BAl、BA0提供組選擇信號。
3 采集參數配置
3.1 McBSP接收配置
McBSP負責射頻前端采樣信號的接收,接收配置分為時鐘生成設置和接收參數設置。其控制參數主要分布在接口控制寄存器、接收控制寄存器、引腳控制寄存器和采樣率寄存器。引腳控制寄存器和采樣率寄存器為McB-SP提供靈活的幀信號和時鐘生成,既可以由外部引腳輸入也可由內部時鐘分頻得到,同時提供輸出到外部引腳的極性反轉控制。本方案中,設置采樣率寄存器中CLKSM=1,CLKGDV=30,FPER=1,FWID=0,使McBSP0的內部1 GHz時鐘通過CLKGDV分頻得到內部接收需要的32.258 MHz接收時鐘,進而通過幀信號周期FPER、幀脈寬FWID分頻產生16.129 MHz占空比為50%的幀信號。同時,設置引腳控制寄存器中CLKRM=1,CLKRP=0,FSRM=1,FSRP=1,使得極性反轉后的幀信號輸出到FSR引腳(其下降沿用于射頻前端完成GPS信號采樣和接收幀同步),接收時鐘直接輸出到CLKR引腳(其上升沿用于串并轉換電路完成數據移位輸出,下降沿用于McBSP采樣外部數據)。
接收控制寄存器和接口控制寄存器主要提供接收幀長、字長、幀忽略,接收延時、時鐘、幀發生、接收開始等控制功能。為了盡可能提升McBSP0和EDMA效率,設置接收控制寄存器中RPHASE=0,RFRLENl=1,RWDLENl=5,RDATDLY=0,RFIG=1。選擇每幀包含一個相位,每個相位包含一個字,每字32位,與幀信號同步無延遲采樣接收,且忽略不恰當幀同步。設置完上述寄存器后,就可通過依次設置接口控制寄存器內GRST、FRST、RRST為1,順次完成采樣率發生器復位,幀信號發生器復位和接收使能開始接收。
3.2 EMIF SDRAM接口配置
EMIFA CE0空間擴展的64 Mb SDRAM位于CPU地址空間0x8000 0000~0x807F FFFF,為信號采集過程提供了高速緩存。其配置信息分布在EMIFA全局控制寄存器、CE控制寄存器0、SDRAM控制寄存器、SDRAM時間參數控制寄存器和SDRAM擴展寄存器。復位完成后,CPU需要按照EMIFA寄存器配置必要參數,然后啟動SDRAM初始化過程,使SDRAM進入正常讀寫狀態。
SDRAM工作需要的166 MHz同步時鐘,通過設置EMIFA全局控制寄存器EKlEN=1使能AECLKOUTl輸出;同時,設置CE控制寄存器0中MTYP=0x03,選擇CE0為32位SDRAM模式。EMIFA中SDRAM工作刷新周期通過166 MHz同步時鐘計數實現,在SDRAM時間參數控制寄存器中由PERIOD設定為2 500,即2 500×(1/166 MHz)≈1.51μS進行刷新操作,具體刷新次數由XRFR=0設定為每1.51μs 1次。SDRAM擴展寄存器提供了SDRAM操作需要的時間參數設置。具體設置為:TCL=1,TRAS=5,TRRD=0,TWR=1,THZP=2,RD2RD=0,RD2DEAC=2,RD2WR=0,R2WDQM=2,WR2WR=0,wR2DEAC=4,WR2RD=0。SDRAM控制寄存器根據器件參數設定SDBSZ=1,SDRSZ=0,SDCSZ=1,依次表示尋址bank數為4,行地址為11位,列地址為8位。同時,設定3個關鍵時間參數Trcd=2,Trp=2,Trc=8。CPU在復位完成設置完上述參數后,就可通過向SDRAM控制寄存器INT位寫1,開始初始化外部SDRAM。
3.3 EDMA乒乓緩存與中斷配置
EDMA采用事件驅動機制工作,每個McBSP接收完成事件REVT驅動EDMA,完成一次McBSP DRR寄存器接收數據到外部擴展SDRAM的搬移。在TMS320C6416中,McBSP0接收完成事件REVT對應EDMA通道13,需要先設置乒乓緩存模式的RAM參數,然后使能中斷和對應通道,才能進入乒乓工作狀態等待觸發事件,并通過中斷與處理器同步數據。
EDMA通道的RAM參數包括:通道參數OPT、源地址SRC、幀計數CNT、目標地址DST、目標地址索引IDX,以及鏈接加載RLD的5個連續32位控制字。其中,OPT設定傳輸方式,SRC設定數據傳輸的源地址,CNT設定幀數和幀內傳輸單元數,DST設定傳輸的目的起始地址,IDX設定目的地址修正參數,RLD設定鏈接RAM參數相對0x01A0 000的起始地址偏移。
要在通道13上實現乒乓緩存,需要使用位于0x01A00600和OxOlA0 0618的2個可重新加載RAM參數塊A、B,以及位于外部SDRAM Ox8000 0000~0x8000 0FBF和0x8000 1000~0x8000 1FBF的2個緩沖區BUFl和BUF2。設定A DST=0x8000 0000指向BUFl,RLD=0x0000 0618指向RAM參數塊B,B DST=0x8000 1000指向BUF2,RLD=0x0000 0600指向RAM參數塊B,同時置位每個RAM塊中OPT中的LINK控制位。這樣,當A RAM塊最后一個單元傳輸結束時,會自動加載RLD指向的B RAM塊參數。當下次觸發事件到來時,EDMA就將數據搬移到Ox8000 1000指向的BUF2;相反B RAM塊最后一個單元傳輸結束時,會自動加載RLD指向的ARAM塊參數將后續數據搬移到BUFl,實現乒乓緩存。此外,RAM參數塊A和B的OPT設置為Ox0002 0002,使通道13工作在最高優先級的固定地址到遞增地址的32位一維元素同步鏈接模式。SRC設置為McBSP0 DRR地址0x018C 0000,CNT設置為Ox0000 03FO進行1008個字的單幀傳輸,IDX不影響一維元素的同步傳輸,設置為Ox0000 0000。
為了保持McBSP和EDMA操作的同步性,所有ED-MA通道共享的EDMA-INT在使能通道13前,通過MXL[25:21]映射到可屏蔽中斷INT_8,并置位ICR Bit8清除所有掛起中斷,置位IER Bitl、Bit8使能NMI和INT_8,最后置位全局中斷使能GIE。使能通道13時,需先置位EDMA事件清除寄存器ECRL和中斷掛起寄存器CIPRL Bitl3,以清除先前發生的McBSP0 REVT事件和掛起的中斷信號;然后依次置位EDMA中斷使能寄存器CIERL和通道使能寄存器EERL bitl3,使能通道13和相應的中斷。
4 采集過程分析
采用基于McBSP、EDMA、SDRAM構成的GPS信號采集方案,主要分為接口配置和信號采集兩個階段。接口配置階段依次完成EMIFA、EMDA、中斷和McBSP0配置,使其工作在一定工作模式下,最后通過置位McBSP接口控制寄存器中的RRST啟動采集過程。信號采集過程基于硬件實現,完全與CPU并發,在ms數據接收完成后與CPU通過中斷INT_8同步數據。具體采集過程如圖4所示。
McBSP32.258 MHz接收時鐘連續32個下降沿接收一個32位字,產生一個REVT事件,對應16.129 MHz射頻采樣時鐘16次下降沿采樣。REVT事件驅動EDMA完成一次DRR 32位接收數據到SDRAM緩沖區搬移,并將CNT減1,緩沖區地址加4指向下一個緩沖單元。假設EDMA當前執行RAM參數A傳輸,那么32.258 MHz接收時鐘1 ms內共32 258個下降沿,可接收1008個32位接收數據,產生1008次REV事件;對應16.129 MHz采樣時鐘16 128次下降沿采樣,共驅動EDMA 1008次32位搬移,占用BUFl Ox8000 0000~0x8000 0FBF 4 032字節空間,CNT減少到O。一旦CNT減小為O,EDMA就觸發INT_8,通知CPU ms數據采集完畢;同時,根據RLD的設定,加載位于0x01A0 0618的參數RAM B到通道13的自身參數RAM。當下次REVT事件到來時,EDMA就執行RAM參數B傳輸,在Ox8000 1000~Ox8000 1FBFBUF2緩沖,此時CPU可處理BUFl中的采集數據。當CNT再次減小到0時,EDMA再次觸發INT_8,通知CPU ms數據采集完畢;同時,根據RLD的設定加載位于0x01A0 0600的參數RAM A到通道13,實現乒乓緩沖。需要注意的是,McBSP RFIG=1工作在幀忽略模式,在第一個CLKF下降沿完成同步后一直忽略后續同步信號,直到32位幀結束才能實現下一幀同步。
結語
本文提出的基于NJl006AK和TSM320C6416的GPS實時信號采集方案,充分利用了DSP內部外設,具有電路簡單可靠、配置方法靈活和CPU同步并發的特點。該方案很好地解決了軟件GPS接收機中數據采集實時性和基帶處理實時性沖突的問題,實現了GPS信號的實時、連續采集,對提升軟件GPS接收機實時性能具有重要意義。
責任編輯:gt
-
芯片
+關注
關注
456文章
51123瀏覽量
426097 -
gps
+關注
關注
22文章
2899瀏覽量
166498 -
接收機
+關注
關注
8文章
1184瀏覽量
53570
發布評論請先 登錄
相關推薦
評論