基于EDMA的FPGA與DSP圖像傳輸?shù)脑O(shè)計(jì)與實(shí)現(xiàn)
3 EDMA傳輸
TMS320C6000系列DSP中的,增強(qiáng)型直接存儲(chǔ)器訪問(EDMA)控制器執(zhí)行所有二級(jí)高速緩存/內(nèi)存控制器與外設(shè)之間的數(shù)據(jù)傳輸。
EDMA控制器包括事件和中斷處理寄存器、事件編碼器、參數(shù)RAM和地址產(chǎn)生硬件電路。事件是觸發(fā)EDMA啟動(dòng)的同步信號(hào),事件寄存器用于捕獲EDMA事件。事件編碼器解決多個(gè)事件發(fā)生時(shí)事件的優(yōu)先級(jí)問題。對(duì)應(yīng)事件的傳輸參數(shù)存儲(chǔ)在EDMA參數(shù)RAM中,并且傳遞給地址產(chǎn)生硬件單元,進(jìn)行尋址EMIF或外設(shè)執(zhí)行相應(yīng)的讀寫操作。
3.1 傳輸流程
使用EDMA數(shù)據(jù)傳輸?shù)姆椒ㄓ袃煞N,一種是CPU初始化的EDMA;第二種是事件觸發(fā)的EDMA。所有的EDMA通道都有一個(gè)特定的同步事件與之對(duì)應(yīng),如外圍設(shè)備事件、外部硬件中斷或EDMA傳輸完成事件都可以同步觸發(fā)EDMA的傳輸。當(dāng)通道對(duì)應(yīng)的同步事件發(fā)生或由CPU同步該通道時(shí),通道就完成一次數(shù)據(jù)傳輸請(qǐng)求。由事件觸發(fā)的EDMA傳輸實(shí)時(shí)性好,是一種常見的傳輸方式。系統(tǒng)采用的就是事件觸發(fā)模式,觸發(fā)信號(hào)就是FP GA給DSP的中斷信號(hào)。圖3為EDMA的傳輸流程。本文引用地址:http://m.butianyuan.cn/article/190722.htm
3.2 EDMA配置
同步事件發(fā)生時(shí),EDMA傳輸?shù)臄?shù)據(jù)大小和源目的地址由參數(shù)RAM中的參數(shù)決定。訪問EDMA的參數(shù)RAM時(shí)需要通過外圍總線。EDMA傳輸參數(shù),如圖4所示。
選項(xiàng)(OPT)部分主要用于傳輸數(shù)據(jù)的最小單元、數(shù)據(jù)傳輸?shù)脑吹刂泛湍康牡刂返膶ぶ纺J?。系統(tǒng)中的最小傳輸單元為1 Byte,源地址設(shè)置為一維源,目的地址設(shè)置為二維源。數(shù)據(jù)傳輸模式為幀同步。傳輸數(shù)據(jù)塊的行數(shù)設(shè)置255(實(shí)際傳輸行數(shù)為256),列數(shù)設(shè)置為320。
源地址(SRC)設(shè)置了源數(shù)據(jù)所在的地址,系統(tǒng)該參數(shù)配置為0xA0000000,指向FPGA目的地址(DST)設(shè)置了數(shù)據(jù)要被傳輸?shù)降拇鎯?chǔ)空間的地址。
實(shí)現(xiàn)傳輸過程為把一幅320×256 Byte的圖像從FPGA緩存到了SDRAM中。傳輸14位的數(shù)字圖像時(shí),一個(gè)像素的圖像數(shù)據(jù)占用2 Byte,所以要把選項(xiàng)(OPT)中的最小傳輸單元改為2 Byte。
3.3 程序?qū)崿F(xiàn)
相應(yīng)的EDMA通道初始化完成后,使能并打開相應(yīng)的中斷。FPGA每產(chǎn)生一次EDMA同步事件,即往INT管腳發(fā)一次中斷信號(hào),EDMA就能完成一次指定要求的傳輸,然后等待下一次同步事件。
評(píng)論