當(dāng)前位置:首頁 > 電源 > 數(shù)字電源
[導(dǎo)讀]以TI公司的TMS320DM642型DSP為例,介紹EDMA控制器的特點(diǎn)。結(jié)合實(shí)例給出EDMA在圖像數(shù)據(jù)實(shí)時(shí)傳輸中的具體控制和實(shí)現(xiàn)方法。

摘要:增強(qiáng)型直接內(nèi)存存取(EDMA)是數(shù)字信號處理器(DSP)中用于快速數(shù)據(jù)交換的重要技術(shù),具有獨(dú)立于CPU的后臺(tái)批量數(shù)據(jù)傳輸?shù)哪芰Γ軌驖M足實(shí)時(shí)圖像處理中高速數(shù)據(jù)傳輸?shù)囊?。以TI公司的TMS320DM642型DSP為例,介紹EDMA控制器的特點(diǎn)。結(jié)合實(shí)例給出EDMA在圖像數(shù)據(jù)實(shí)時(shí)傳輸中的具體控制和實(shí)現(xiàn)方法。實(shí)驗(yàn)結(jié)果表明,通過靈活控制EDMA不僅能夠提高圖像數(shù)據(jù)的傳輸效率,而且能夠充分發(fā)揮:DSP的高速性能。
關(guān)鍵詞:EDMA;實(shí)時(shí)圖像處理;數(shù)字信號處理器;Sobel;TMS320DM642
中圖分類號:TP274 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號:1006—6977(2006)01—0008—04

1 引言
   
數(shù)字圖像處理技術(shù)在科學(xué)研究、工業(yè)生產(chǎn)和管理部門中得到越來越多的應(yīng)用。在目標(biāo)跟蹤、機(jī)器人導(dǎo)航、自動(dòng)駕駛、交通監(jiān)視等領(lǐng)域中的應(yīng)用也極大地促進(jìn)了實(shí)時(shí)圖像處理技術(shù)的發(fā)展。實(shí)時(shí)應(yīng)用要求實(shí)時(shí)圖像處理系統(tǒng)必須具有強(qiáng)大的運(yùn)算功能。DM642(TMS320DM642)型處理器是TI最新推出的面向多媒體處理領(lǐng)域的數(shù)字信號處理器(DSP).給多媒體設(shè)備的實(shí)現(xiàn)提供了另一種有效的手段。DM642建立在C64x DSP核基礎(chǔ)上.采用德州儀器公司開發(fā)的第二代高性能的先進(jìn)的超長指令字結(jié)構(gòu)VeloeiTl.2TM,在600MHz的時(shí)鐘頻率下.DM642每秒可以進(jìn)行24億次16位的乘累加或48億次的8位的乘累加。這樣強(qiáng)大的運(yùn)算能力使得DM642可以進(jìn)行實(shí)時(shí)多視頻圖像處理。它的增強(qiáng)型直接內(nèi)存存取(EDMA)對DSP圖像處理系統(tǒng)是非常重要的,它可以在沒有CPU參與的情況下完成映射存儲(chǔ)空間中數(shù)據(jù)搬移。靈活使用EDMA可以大大提高數(shù)據(jù)傳輸效率。以:DM642為例,結(jié)合Sobel算法給出EDMA的一種具體控制和實(shí)現(xiàn)方法。

2 DM642的EDMA控制器
    DM042的EMDA能提供超過2Gb/s的外部帶寬.支持64路獨(dú)立觸發(fā)的事件傳輸,總共有85個(gè)參數(shù)對“Linking”或“Chaining”進(jìn)行配置。Linking是在1個(gè)事件被觸發(fā)時(shí)允許1個(gè)序列進(jìn)行傳輸。Chaining是當(dāng)1個(gè)通道的數(shù)據(jù)傳輸完畢時(shí)觸發(fā)另1個(gè)通道的數(shù)據(jù)傳輸。Linking和Chaining使得僅僅被CPU初始配置之后EDMA能夠連續(xù)的自動(dòng)運(yùn)行。EDMA的特點(diǎn)決定了其適合圖像處理的功能。由于圖像處理的原始數(shù)據(jù)量很大.同時(shí)圖像處理中也會(huì)產(chǎn)生同等量的中間數(shù)據(jù).對于片內(nèi)存儲(chǔ)資源有限的高速DSP來說,一般需要借用外部存儲(chǔ)空間。為了提高系統(tǒng)的實(shí)時(shí)處理能力.可以將數(shù)據(jù)在不同存儲(chǔ)空間轉(zhuǎn)移的任務(wù)交給EDMA來完成,而CPU只用于數(shù)據(jù)的計(jì)算。同時(shí),EDMA對數(shù)據(jù)重排功能可以優(yōu)化圖像數(shù)據(jù)在內(nèi)存中的存儲(chǔ),這不僅可以提高內(nèi)部存儲(chǔ)空間的利用效率.而且可以提高數(shù)據(jù)的傳輸速率。雖然對圖像數(shù)據(jù)的傳輸也可由軟件實(shí)現(xiàn),但將消耗大量的CPU時(shí)鐘周期。使DSP的高速性能難以發(fā)揮。而由EDMA來完成同樣的工作幾乎不占用CPU的時(shí)鐘周期。

    在C64xDSP中.EDMA控制器負(fù)責(zé)片內(nèi)L2存儲(chǔ)器與其他設(shè)備之間的數(shù)據(jù)傳輸。EDMA控制器和DMA在結(jié)構(gòu)上有很大的不同.其增強(qiáng)之處包括:
    提供了64個(gè)通道;
    通道間的優(yōu)先級可以設(shè)置;
    支持不同結(jié)構(gòu)數(shù)據(jù)傳輸?shù)逆溄印?BR>    EDMA控制器由以下幾部分組成;
    事件和中斷處理寄存器;
    事件編碼器;
    參數(shù)RAM;
    硬件地址產(chǎn)生。

    其中,事件寄存器控制對EDMA事件進(jìn)行捕獲。1個(gè)事件相當(dāng)于1個(gè)同步信號,由它觸發(fā)1個(gè)EDMA通道開始數(shù)據(jù)傳輸。如果有多個(gè)事件同時(shí)發(fā)生.則由事件編碼器對它進(jìn)行分辨。EDMA的參數(shù)RAM中存放了有關(guān)的傳輸參數(shù),這些參數(shù)會(huì)被送入地址發(fā)生器硬件.進(jìn)而產(chǎn)生讀寫操作所需要的地址。

    EDMA支持8bit、16bit和32bit數(shù)據(jù)的存儲(chǔ)。在EDMA中定義了下列概念:
    (1)數(shù)據(jù)單元(element)的傳輸。單個(gè)數(shù)據(jù)單元從源地址向目的地址傳輸.如果需要,每1個(gè)數(shù)據(jù)單元都可以由同步事件觸發(fā)傳輸;
    (2)幀(frame)。l組數(shù)據(jù)單元組成1幀,l幀中的數(shù)據(jù)單元可以是相鄰連續(xù)存放的,也可以是間隔存放的.幀傳輸可以選擇是否受同步事件控制,“幀”一般在1維傳輸中提及;
    (3)陣列(array)。1組連續(xù)的數(shù)據(jù)單元組成1個(gè)陣列.在1個(gè)陣列中的數(shù)據(jù)單元不允許間隔存放。1個(gè)陣列的傳輸可以選擇是否受同步事件控制?!瓣嚵小币话阍?維傳輸中提及;
    (4)塊(block)。多個(gè)幀或者多個(gè)陣列的數(shù)據(jù)組成1個(gè)數(shù)據(jù)塊;
    (5)1維(1一D)傳輸。多個(gè)數(shù)據(jù)幀組成1個(gè)1維的數(shù)據(jù)傳輸。Block中幀的個(gè)數(shù)可以是l~65536。
    (6)2維(2一D)傳輸。多個(gè)數(shù)據(jù)陣列組成1個(gè)2維的數(shù)據(jù)傳輸。第1維是陣列中的數(shù)據(jù)單元,第2維是陣列的個(gè)數(shù)。

3 EDMA的控制機(jī)制
3.1 事件與事件控制寄存器

    EDMA有64個(gè)通道.每1個(gè)通道都有1個(gè)事件與之關(guān)聯(lián).由這些事件觸發(fā)相應(yīng)通道的傳輸。

3.2 傳輸參數(shù)與參數(shù)RAM

    EDMA控制器與DMA控制器在結(jié)構(gòu)上有所區(qū)別。C64x的.EDMA控制器是基于RAM結(jié)構(gòu)。參數(shù).RAM(Parameter RAM。PaRAM)的容量是2KB,總共可以存放85組EDMA傳輸控制參數(shù)。多組參數(shù)還可以彼此連接起來,從而實(shí)現(xiàn)某些負(fù)責(zé)數(shù)據(jù)流的傳輸.例如循環(huán)緩存和數(shù)據(jù)排序等。參數(shù)RAM中保存的內(nèi)容包括:
    64個(gè)EDMA通道對應(yīng)的入口傳輸參數(shù).每組參數(shù)包括6個(gè)字;
    用于重加載,鏈接的傳輸參數(shù)組。每組參數(shù)包括24字節(jié);
    8字節(jié)空余的RAM可以作為“草稿區(qū)”(scratchpad area)。
 
   一旦捕獲到某個(gè)事件.控制器將從PaRAM頂部的64組入口參數(shù)中讀取數(shù)據(jù)對應(yīng)的控制參數(shù)送往地址發(fā)生器硬件。

    表l給出1組EDMA傳輸參數(shù)的內(nèi)部結(jié)構(gòu),總共6個(gè)字.192bit。可以通過32bit的外設(shè)總線對EDMA的參數(shù).RAM進(jìn)行訪問。

    可選參數(shù)(Option Parameter),32bit,用戶可以根據(jù)情況選擇設(shè)置該參數(shù)。

    SRC/DST地址.32bit,用于存放EDMA訪問起始的源地址和目的地址,可以通過可選參數(shù)中的SUM/DUM位設(shè)定對SRC/DST地址的修改方式。

    數(shù)據(jù)單元計(jì)數(shù)(Element Count),16bit無符號數(shù).存放l幀(1一D傳輸)或1個(gè)陣列(2一D傳輸)中的數(shù)據(jù)單元數(shù)。

    幀/陣列計(jì)數(shù)(Frame/Array Count),16bit無符號數(shù).存放的是1-D數(shù)據(jù)傳輸中的幀計(jì)數(shù),或是2一D數(shù)據(jù)傳輸中的陣列計(jì)數(shù)。

    數(shù)據(jù)單元,幀,陣列索引(Element/Frame/ArrayIndex).16bit無符號數(shù),作為地址修改的索引值。數(shù)據(jù)單元索引只應(yīng)用于1-D傳輸,為下一數(shù)據(jù)單元的地址偏移值(2一D傳輸不允許數(shù)據(jù)單元間隔存放)。幀,陣列索引用于控制下一幀,陣列的地址索引。

    數(shù)據(jù)計(jì)數(shù)的重加載(Element Count Reload),16bit無符號數(shù)。用于在每幀最后一個(gè)數(shù)據(jù)元素傳輸之后.重新加載傳輸計(jì)數(shù)值。這個(gè)參數(shù)只能用于1一D傳輸中。

    鏈接地址(Link Address),16bit。當(dāng)設(shè)定可選參數(shù)中的LINK=1時(shí),可以由鏈接地址確定下1個(gè)EDMA事件采用參數(shù)的裝載,重裝載地址,從而使多組EDMA傳輸參數(shù)形成EDMA傳輸鏈。

4 EDMA的傳輸操作
    EDMA進(jìn)行數(shù)據(jù)傳輸時(shí)有2種啟動(dòng)方式,1種是CPU啟動(dòng).另1種是由同步事件觸發(fā)。每1個(gè)通道的啟動(dòng)是相互獨(dú)立的。

4.1 CPU啟動(dòng)EDMA/非同步的EDMA

    CPU可以通過寫事件置位寄存器(ESR)啟動(dòng)1個(gè)EDMA通道。向ESR中某1位寫1時(shí),將強(qiáng)行觸發(fā)對應(yīng)的事件。此時(shí),與正常的事件響應(yīng)過程類似,EDMA的PaRAM中的傳輸參數(shù)被送入地址發(fā)生器.完成對EMIF、L2存儲(chǔ)器或外設(shè)的存取訪問。由CPU啟動(dòng)的EDMA屬于非同步的數(shù)據(jù)傳輸。EER中的事件使能與否不會(huì)影響這種EDMA傳輸?shù)膯?dòng)。

4.2 由事件觸發(fā)EDMA

    一旦事件編碼器捕獲到1個(gè)觸發(fā)事件并鎖存在ER寄存器中,將導(dǎo)致PaRAM中對應(yīng)的參數(shù)被送入地址發(fā)生器.進(jìn)而執(zhí)行有關(guān)的傳輸操作。盡管是由事件啟動(dòng)傳輸操作,但是事件本身必須首先被CPU使能。EER寄存器負(fù)責(zé)控制事件的使能。觸發(fā)EDMA傳輸?shù)耐绞录梢栽从谕庠O(shè),外部器件的中斷或某個(gè)EDMA通道結(jié)束。與DMA的情況不同,與EDMA的每1個(gè)通道相關(guān)聯(lián)的觸發(fā)事件是固定的。因此,如果假設(shè)EER中的EVT4=1,那么EXT_INT4引腳的外部中斷信號就會(huì)啟動(dòng)EDMA通道4的傳輸。所以,每個(gè)事件也就指定了1個(gè)特定的EDMA通道。

5 在實(shí)時(shí)圖像處理系統(tǒng)中的應(yīng)用

    在實(shí)時(shí)圖形處理系統(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ù)進(jìn)行Sobel邊緣提取。采用一維EDMA傳送方式,每1次傳送采集1行中的部分?jǐn)?shù)據(jù)(DAT_copy()函數(shù))。在PAL制式下.先把1行數(shù)據(jù)放到nMemTemp數(shù)組中,然后對從144行到432行、從180列到435列的圖像進(jìn)行Sobel邊緣提?。詈蟀炎儞Q后的數(shù)據(jù)輸出到顯示緩沖區(qū).如圖1所示。

   
    因?yàn)镾obel算法需要3行數(shù)據(jù),所以可以開辟1個(gè)可以存放3行數(shù)據(jù)的緩沖區(qū),通過指針的交換把從視頻通道過來的數(shù)據(jù)分別放到緩沖區(qū)中。保存的3行圖像使用翻卷的緩沖區(qū)管理,3個(gè)變量分別指示當(dāng)前使用的y行、y—l行和y一2行在緩沖區(qū)中的起始偏移量??梢赃@樣:輪流往3塊緩存區(qū)拷貝數(shù)據(jù).只要改變拷貝的指針就可以。在拷貝當(dāng)前這1塊的時(shí)候.已經(jīng)拷貝的另外2塊數(shù)據(jù)依然沒有變化,所以就可以實(shí)現(xiàn)3塊數(shù)據(jù)保存采集圖像中的相鄰3行數(shù)據(jù).如表2所示。


       

   

    (2)把數(shù)據(jù)從視頻通道通過2維方式傳送到SDRAM中并作Sobel邊緣提取算法可以通過DAT_copy2d 0函數(shù)直接把采集的l幅圖像亮度分量存放到SDRAM中,如下:

   
    其中.m_dbFrameBufferTemp是指向SDRAM中緩沖區(qū)的指針,numPixels是1行的像素?cái)?shù),num-Lines是行數(shù)。當(dāng)把數(shù)據(jù)存放到SDRAM的1個(gè)數(shù)組中后.Sobel算法的實(shí)現(xiàn)就非常簡單了。當(dāng)然也可以參照1維的方法來實(shí)現(xiàn)。

6 結(jié)束語
    大批量的圖像數(shù)據(jù)傳輸和復(fù)雜算法的處理一直是高速數(shù)字圖像處理器的速度瓶頸,利用DSP的EDMA功能可以在不中斷信號處理器算法處理工作的同時(shí)完成圖像數(shù)據(jù)的搬移,在有效地解決了大批量圖像數(shù)據(jù)傳輸速度瓶頸的同時(shí),又能讓DSP的處理器核專門從事算法處理工作,極大地提高了系統(tǒng)的并行性能。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉