新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 采用DM642的EDMA圖像處理系統

        采用DM642的EDMA圖像處理系統

        作者: 時間:2012-07-12 來源:網絡 收藏

         1 前言

        本文引用地址:http://www.104case.com/article/148772.htm

           (TMS320)型器是TI最新推出的面向多媒體領域的數字信號器(DSP).給多媒體設備的實現提供了另一種有效的手段。 建立在C64x DSP核基礎上.德州儀器公司開發的第二代高性能的先進的超長指令字結構VeloeiTl.2TM,在600MHz的時鐘頻率下.DM642每秒可以進行24億次16位的乘累加或48億次的8位的乘累加。這樣強大的運算能力使得DM642可以進行實時多視頻處理。它的增強型直接內存存取 ()對DSP統是非常重要的,它可以在沒有CPU參與的情況下完成映射存儲空間中數據搬移。靈活使用可以大大提高數據傳輸效率。以:DM642為例,結合Sobel算法給出的一種具體控制和實現方法。

          2 DM642的EDMA控制器

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

          在C64xDSP中.EDMA控制器負責片內L2存儲器與其他設備之間的數據傳輸。EDMA控制器和DMA在結構上有很大的不同.其增強之處包括:

          提供了64個通道;

          通道間的優先級可以設置;

          支持不同結構數據傳輸的鏈接。

          EDMA控制器由以下幾部分組成;

          事件和中斷處理寄存器;

          事件編碼器;

          參數RAM;

          硬件地址產生。

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

          EDMA支持8bit、16bit和32bit數據的存儲。在EDMA中定義了下列概念:

          (1) 數據單元(element)的傳輸。單個數據單元從源地址向目的地址傳輸.如果需要,每1個數據單元都可以由同步事件觸發傳輸;

          (2) 幀(frame)。l組數據單元組成1幀,l幀中的數據單元可以是相鄰連續存放的,也可以是間隔存放的.幀傳輸可以選擇是否受同步事件控制,“幀” 一般在1維傳輸中提及;

          (3) 陣列(array)。1組連續的數據單元組成1個陣列.在1個陣列中的數據單元不允許間隔存放。1個陣列的傳輸可以選擇是否受同步事件控制。“陣列 ”一般在2維傳輸中提及;

          (4) 塊(block)。多個幀或者多個陣列的數據組成1個數據塊;

          (5) 1維(1一D)傳輸。多個數據幀組成1個1維的數據傳輸。Block中幀的個數可以是 l~65536。

          (6) 2維(2一D)傳輸。多個數據陣列組成1個2維的數據傳輸。第1維是陣列中的數據單元,第2維是陣列的個數。

          3 EDMA的控制機制

          3.1 事件與事件控制寄存器

          EDMA有64個通道.每1個通道都有1個事件與之關聯.由這些事件觸發相應通道的傳輸。

          3.2 傳輸參數與參數 RAM

          EDMA控制器與DMA控制器在結構上有所區別。C64x的.EDMA控制器是基于RAM結構。參數.RAM(Parameter RAM。PaRAM)的容量是2KB,總共可以存放85組EDMA傳輸控制參數。多組參數還可以彼此連接起來,從而實現某些負責數據流的傳輸.例如循環緩存和數據排序等。參數RAM中保存的內容包括:

          64個EDMA通道對應的入口傳輸參數.每組參數包括6個字;

          用于重加載,鏈接的傳輸參數組。每組參數包括24字節;

          8字節空余的RAM可以作為“草稿區”(scratch pad area)。

          一旦捕獲到某個事件.控制器將從PaRAM頂部的64組入口參數中讀取數據對應的控制參數送往地址發生器硬件。

          表l給出1組EDMA傳輸參數的內部結構,總共6個字.192bit。可以通過32bit的外設總線對EDMA的參數.RAM進行訪問。

          


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

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

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

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

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


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 沙雅县| 宕昌县| 额济纳旗| 开平市| 阿合奇县| 抚宁县| 乐都县| 仙居县| 万山特区| 云霄县| 宁南县| 清徐县| 三河市| 聊城市| 高陵县| 丰镇市| 左权县| 二连浩特市| 嘉禾县| 南雄市| 夏邑县| 胶州市| 宁城县| 富平县| 始兴县| 开原市| 城固县| 郎溪县| 绥江县| 常州市| 墨玉县| 台前县| 湟源县| 牙克石市| 陕西省| 林口县| 古丈县| 龙陵县| 太保市| 西乌珠穆沁旗| 区。|