男女午夜激情_www.天堂av.com_亚洲综合小说区_亚洲欧美自拍视频_成年精品_久久www免费人成—看片_激情综合五月天_久久高潮视频_最新国产成人ab网站_国产精品卡一

機電之家資源網(wǎng)
單片機首頁|單片機基礎|單片機應用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓信息
贊助商
EDMA在實時圖像處理系統(tǒng)中的應用
EDMA在實時圖像處理系統(tǒng)中的應用
 更新時間:2009-6-5 9:06:48  點擊數(shù):1
【字體: 字體顏色

摘要:增強型直接內存存取(EDMA)是數(shù)字信號處理器(DSP)中用于快速數(shù)據(jù)交換的重要技術,具有獨立于 CPU的后臺批量數(shù)據(jù)傳輸?shù)哪芰,能夠滿足實時圖像處理中高速數(shù)據(jù)傳輸?shù)囊蟆R訲I公司的TMS320DM642型DSP為例,介紹EDMA控制器的特點。結合實例給出EDMA在圖像數(shù)據(jù)實時傳輸中的具體控制和實現(xiàn)方法。實驗結果表明,通過靈活控制EDMA不僅能夠提高圖像數(shù)據(jù)的傳輸效率,而且能夠充分發(fā)揮:DSP的高速性能。
關鍵詞:EDMA;實時圖像處理;數(shù)字信號處理器;Sobel;TMS320DM642

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

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

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

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

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

3 EDMA的控制機制
3.1 事件與事件控制寄存器

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

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

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

    表l給出1組EDMA傳輸參數(shù)的內部結構,總共6個字.192bit?梢酝ㄟ^32bit的外設總線對EDMA的參數(shù).RAM進行訪問。

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

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

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

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

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

    數(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ù)膯印?BR>
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通道。

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

    在實時圖形處理系統(tǒng)中,經(jīng)常是把數(shù)據(jù)塊轉移,例如從視頻通道采集數(shù)據(jù)傳送到SDRAM中作為后續(xù)處理的緩存,或是把數(shù)據(jù)傳送到片內RAM中。EDMA使數(shù)據(jù)的傳送簡單易行。下面以把數(shù)據(jù)從視頻通道傳送到片內RAM中并作Sobel邊緣提取算法和把數(shù)據(jù)從視頻通道傳送到SDRAM中并作So—bel邊緣提取算法為例。

    (1)把數(shù)據(jù)從視頻通道通過1維方式傳送到片內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邊緣提。詈蟀炎儞Q后的數(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所示。


       

   

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

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

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

<!--插入廣告JS代碼-->
  • 上一篇: 基于CPLD和接觸式圖像傳感器的圖像采集系統(tǒng)
  • 下一篇: 基于DSP的Bluetooth嵌入式系統(tǒng)應用
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關文章
    網(wǎng)友評論:(只顯示最新5條。)
    關于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責信息內容的真實性、準確性和合法性。
    機電之家對此不承擔任何保證責任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學會
    中國行業(yè)電子商務100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1
    主站蜘蛛池模板: 佳木斯市| 太湖县| 安庆市| 威海市| 历史| 上蔡县| 望江县| 桃江县| 普洱| 南和县| 南京市| 烟台市| 开江县| 台州市| 赫章县| 仁布县| 南阳市| 洮南市| 黎城县| 苍溪县| 深圳市| 襄垣县| 东明县| 连云港市| 长岭县| 南岸区| 永德县| 鸡西市| 郸城县| 三门峡市| 西吉县| 平凉市| 玛纳斯县| 深水埗区| 四川省| 公主岭市| 仪陇县| 昂仁县| 久治县| 尉犁县| 双鸭山市|