新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ADSP-TS201S的二維DMA數(shù)據(jù)傳輸

基于ADSP-TS201S的二維DMA數(shù)據(jù)傳輸

作者: 時(shí)間:2012-03-08 來(lái)源:網(wǎng)絡(luò) 收藏

傳輸控制塊寄存器是一個(gè)128位的四字組寄存器,含有塊傳輸所需的控制信息。在發(fā)送時(shí),4個(gè)字包含了原數(shù)據(jù)的地址、將要發(fā)送的字?jǐn)?shù)量、地址增量和控制位。在DMA接收時(shí),4個(gè)字包含了目的地址、將要接收的字?jǐn)?shù)據(jù)數(shù)量、地址增量和控制位,其結(jié)構(gòu)如圖3所示。

本文引用地址:http://m.butianyuan.cn/article/149491.htm

c.jpg


其中,DI寄存器是一個(gè)32位的DMA索引寄存器,它包括了將要發(fā)送或者接收的數(shù)據(jù)源地址或者目的地址,既可以指向內(nèi)部寄存器和外部寄存器,也可以指向鏈路口。DX寄存器包含一個(gè)16位的汁數(shù)值和一個(gè)16位的修改量,計(jì)數(shù)值保存在高16位,修改量保存在低16位。如果使能了DMA,則該寄存器保存的只是X方向的計(jì)數(shù)值和修改量。計(jì)數(shù)值和修改量均以32位字為單位。DY寄存器和DX寄存器結(jié)合使用,該寄存器保存了Y方向上的16位修改量和16位計(jì)數(shù)值。如果只是進(jìn)行一維的DMA傳輸,就不需要設(shè)置該寄存器。DP寄存器包含了DMA傳輸?shù)乃锌刂菩畔ⅰ?2位到31位包含了所有控制信息,0位到21位包含了鏈?zhǔn)叫畔ⅰ?br /> 一般情況下啟動(dòng)DMA的步驟如下:
(1)保存TCB DI寄存器中的當(dāng)前地址,啟動(dòng)一個(gè)DMA存儲(chǔ)器周期。
(2)在該周期內(nèi),將TCB DX增量寄存器中的X修改量與TCB DI寄存器中的當(dāng)前地址相加。
(3)TCB DX計(jì)數(shù)寄存器內(nèi)容減1,若TCB DX計(jì)數(shù)寄存器值為零,則執(zhí)行第4步。
(4)重新加載TCB DX計(jì)數(shù)寄存器值。
(5)DMA寄存器中Y維增量加到TCB DI寄存器中的當(dāng)前地址。
(6)TCB DX計(jì)數(shù)寄存器內(nèi)容減1。
(7)若TCB DX計(jì)數(shù)寄存器值等于零,則DMA傳輸結(jié)束,在再次設(shè)置TCB前,需禁止它。

2 DMA應(yīng)用
2.1 硬件設(shè)計(jì)
水聲信號(hào)處理系統(tǒng)的復(fù)雜性和連續(xù)性要求信號(hào)處理系統(tǒng)具有較高的實(shí)時(shí)處理能力,所以設(shè)計(jì)時(shí)采用多片TS201來(lái)構(gòu)成并行處理系統(tǒng),以提高系統(tǒng)的數(shù)據(jù)處理能力。各DSP之間僅通過(guò)鏈路口無(wú)縫連接,片間連線少,降低了PCB布線難度和層數(shù),節(jié)約了制板成本。此外,采用鏈路口的二維DMA方式,并不占用DSP內(nèi)核的運(yùn)算時(shí)間,可以提高處理板的實(shí)時(shí)性能,保證系統(tǒng)流水線操作的順利執(zhí)行。系統(tǒng)硬件結(jié)構(gòu)圖見(jiàn)圖4所示。

d.jpg


模擬輸入端采用2片18位的高速A/D進(jìn)行模數(shù)轉(zhuǎn)換,每一片A/D的數(shù)據(jù)分別經(jīng)過(guò)FPGA中的4個(gè)FIR濾波器,產(chǎn)生的8路并行數(shù)據(jù)通過(guò)鏈路口二維DMA傳送給DSP組,進(jìn)行相應(yīng)的數(shù)字信號(hào)處理。具體框圖見(jiàn)圖5所示。

e.jpg


其中,①,②,…,⑧表示LVDS鏈路口順序;lal表示AD1數(shù)據(jù)經(jīng)過(guò)FIRa濾波器后的低1 KB數(shù)據(jù),lah表示AD1數(shù)據(jù)經(jīng)過(guò)FIRa濾波器后的高1 KB數(shù)據(jù)。濾波后的A/D數(shù)據(jù)進(jìn)入乒乓緩存,最后通過(guò)鏈路口將數(shù)據(jù)傳輸?shù)紻SP內(nèi)部。這里要求,在下一個(gè)數(shù)據(jù)塊采樣結(jié)束之前,需要完成上一個(gè)數(shù)據(jù)塊的傳輸、濾波、相關(guān)及功率譜分析等一系列較為復(fù)雜的數(shù)據(jù)處理。由于AD1,AD2是同步采樣的,經(jīng)過(guò)數(shù)字濾波器的數(shù)據(jù)通過(guò)LVDS鏈路口順序傳輸,為了減少數(shù)據(jù)塊調(diào)整和挑選的時(shí)間,這里采用鏈路口的二維DMA傳輸方式,可以快捷地將A/D采集的數(shù)據(jù)塊按照流水順序?qū)懭隓SP內(nèi)部存儲(chǔ)區(qū)。
2.2 軟件設(shè)計(jì)
以圖4中所示的FPGA與DSP0的L3鏈路口的二維DMA數(shù)據(jù)傳輸為例,假設(shè)數(shù)據(jù)塊大小設(shè)定為1 024點(diǎn),其鏈路口數(shù)據(jù)排列順序如圖6所示。

f.jpg


上標(biāo)表示DSP0內(nèi)部存儲(chǔ)區(qū)內(nèi)的偏移地址,每次DMA中斷傳輸4×1 024個(gè)數(shù)據(jù),即每次傳輸4行1 024列大小的數(shù)據(jù),8次DMA中斷即可獲得一個(gè)時(shí)間片內(nèi)的2個(gè)A/D采集數(shù)據(jù)經(jīng)過(guò)4個(gè)FIR濾波器后的全部數(shù)據(jù),而且數(shù)據(jù)塊按照DSP0的流水線順序排列。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉