基于DM642的EDMA圖像處理系統(tǒng)
數(shù)據(jù)計數(shù)的重加載(Element Count Reload),16bit無符號數(shù)。用于在每幀最后一個數(shù)據(jù)元素傳輸之后.重新加載傳輸計數(shù)值。這個參數(shù)只能用于1一D傳輸中。
鏈接地址(Link Address),16bit。當設定可選參數(shù)中的LINK=1時,可以由鏈接地址確定下1個EDMA事件采用參數(shù)的裝載,重裝載地址,從而使多組 EDMA傳輸參數(shù)形成EDMA傳輸鏈。
4 EDMA的傳輸操作
EDMA進行數(shù)據(jù)傳輸時有2種啟動方式,1種是CPU啟動.另1種是由同步事件觸發(fā)。每1個通道的啟動是相互獨立的。
4.1 CPU啟動EDMA/非同步的 EDMA
CPU可以通過寫事件置位寄存器(ESR)啟動1個EDMA通道。向ESR中某1位寫1時,將強行觸發(fā)對應的事件。此時,與正常的事件響應過程類似, EDMA的PaRAM中的傳輸參數(shù)被送入地址發(fā)生器.完成對EMIF、L2存儲器或外設的存取訪問。由CPU啟動的EDMA屬于非同步的數(shù)據(jù)傳輸。EER 中的事件使能與否不會影響這種EDMA傳輸?shù)膯印?p> 4.2 由事件觸發(fā) EDMA
一旦事件編碼器捕獲到1個觸發(fā)事件并鎖存在ER寄存器中,將導致PaRAM中對應的參數(shù)被送入地址發(fā)生器.進而執(zhí)行有關的傳輸操作。盡管是由事件啟動傳輸操作,但是事件本身必須首先被CPU使能。EER寄存器負責控制事件的使能。觸發(fā)EDMA傳輸?shù)耐绞录梢栽从谕庠O,外部器件的中斷或某個EDMA通道結束。與DMA的情況不同,與EDMA的每1個通道相關聯(lián)的觸發(fā)事件是固定的。因此,如果假設EER中的EVT4=1,那么EXT_INT4引腳的外部中斷信號就會啟動EDMA通道4的傳輸。所以,每個事件也就指定了1個特定的EDMA通道。
在實時圖形處理系統(tǒng)中,經(jīng)常是把數(shù)據(jù)塊轉(zhuǎn)移,例如從視頻通道采集數(shù)據(jù)傳送到SDRAM中作為后續(xù)處理的緩存,或是把數(shù)據(jù)傳送到片內(nèi)RAM中。EDMA使數(shù)據(jù)的傳送簡單易行。下面以把數(shù)據(jù)從視頻通道傳送到片內(nèi)RAM中并作Sobel邊緣提取算法和把數(shù)據(jù)從視頻通道傳送到SDRAM中并作So—bel邊緣提取算法為例。
(1)把數(shù)據(jù)從視頻通道通過1維方式傳送到片內(nèi)RAM中并作Sobel邊緣提取算法
只對攝像頭采集的I塊數(shù)據(jù)進行Sobel邊緣提取。采用一維EDMA傳送方式,每1次傳送采集1行中的部分數(shù)據(jù)(DAT_copy()函數(shù))。在PAL制式下.先把1行數(shù)據(jù)放到nMemTemp數(shù)組中,然后對從144行到432行、從180列到435列的圖像進行Sobel邊緣提取.最后把變換后的數(shù)據(jù)輸出到顯示緩沖區(qū).如圖1所示。
因為Sobel算法需要3行數(shù)據(jù),所以可以開辟1個可以存放3行數(shù)據(jù)的緩沖區(qū),通過指針的交換把從視頻通道過來的數(shù)據(jù)分別放到緩沖區(qū)中。保存的3行圖像使用翻卷的緩沖區(qū)管理,3個變量分別指示當前使用的y行、y—l行和y一2行在緩沖區(qū)中的起始偏移量??梢赃@樣:輪流往3塊緩存區(qū)拷貝數(shù)據(jù).只要改變拷貝的指針就可以。在拷貝當前這1塊的時候.已經(jīng)拷貝的另外2塊數(shù)據(jù)依然沒有變化,所以就可以實現(xiàn)3塊數(shù)據(jù)保存采集圖像中的相鄰3行數(shù)據(jù).如表2所示。
評論