軟件接收機(jī)的GPS信號(hào)實(shí)時(shí)采集方案設(shè)計(jì)
要在通道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ā)事件到來(lái)時(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前,通過(guò)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)的中斷。本文引用地址:http://www.ex-cimer.com/article/197709.htm
4 采集過(guò)程分析
采用基于McBSP、EDMA、SDRAM構(gòu)成的GPS信號(hào)采集方案,主要分為接口配置和信號(hào)采集兩個(gè)階段。接口配置階段依次完成EMIFA、EMDA、中斷和McBSP0配置,使其工作在一定工作模式下,最后通過(guò)置位McBSP接口控制寄存器中的RRST啟動(dòng)采集過(guò)程。信號(hào)采集過(guò)程基于硬件實(shí)現(xiàn),完全與CPU并發(fā),在ms數(shù)據(jù)接收完成后與CPU通過(guò)中斷INT_8同步數(shù)據(jù)。具體采集過(guò)程如圖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事件到來(lái)時(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é)語(yǔ)
本文提出的基于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í)性沖突的問(wèn)題,實(shí)現(xiàn)了GPS信號(hào)的實(shí)時(shí)、連續(xù)采集,對(duì)提升軟件GPS接收機(jī)實(shí)時(shí)性能具有重要意義。
評(píng)論