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