新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DM642的EDMA圖像處理系統(tǒng)

基于DM642的EDMA圖像處理系統(tǒng)

作者: 時(shí)間:2010-09-21 來源:網(wǎng)絡(luò) 收藏

  1 前言

本文引用地址:http://m.butianyuan.cn/article/151500.htm

   (TMS320)型器是TI最新推出的面向多媒體領(lǐng)域的數(shù)字信號器(DSP).給多媒體設(shè)備的實(shí)現(xiàn)提供了另一種有效的手段。 建立在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)存存取 ()對DSP統(tǒng)是非常重要的,它可以在沒有CPU參與的情況下完成映射存儲空間中數(shù)據(jù)搬移。靈活使用可以大大提高數(shù)據(jù)傳輸效率。以:DM642為例,結(jié)合Sobel算法給出的一種具體控制和實(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ù)的自動運(yùn)行。EDMA的特點(diǎn)決定了其適合處理的功能。由于圖像處理的原始數(shù)據(jù)量很大.同時(shí)圖像處理中也會產(chǎn)生同等量的中間數(shù)據(jù).對于片內(nèi)存儲資源有限的高速DSP來說,一般需要借用外部存儲空間。為了提高系統(tǒng)的實(shí)時(shí)處理能力.可以將數(shù)據(jù)在不同存儲空間轉(zhuǎn)移的任務(wù)交給EDMA來完成,而CPU只用于數(shù)據(jù)的計(jì)算。同時(shí),EDMA對數(shù)據(jù)重排功能可以優(yōu)化圖像數(shù)據(jù)在內(nèi)存中的存儲,這不僅可以提高內(nèi)部存儲空間的利用效率.而且可以提高數(shù)據(jù)的傳輸速率。雖然對圖像數(shù)據(jù)的傳輸也可由軟件實(shí)現(xiàn),但將消耗大量的CPU時(shí)鐘周期。使DSP的高速性能難以發(fā)揮。而由EDMA來完成同樣的工作幾乎不占用CPU的時(shí)鐘周期。

  在C64xDSP中.EDMA控制器負(fù)責(zé)片內(nèi)L2存儲器與其他設(shè)備之間的數(shù)據(jù)傳輸。EDMA控制器和DMA在結(jié)構(gòu)上有很大的不同.其增強(qiáng)之處包括:

  提供了64個(gè)通道;

  通道間的優(yōu)先級可以設(shè)置;

  支持不同結(jié)構(gòu)數(shù)據(jù)傳輸?shù)逆溄印?/p>

  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ù)會被送入地址發(fā)生器硬件.進(jìn)而產(chǎn)生讀寫操作所需要的地址。

  EDMA支持8bit、16bit和32bit數(shù)據(jù)的存儲。在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è)陣列的傳輸可以選擇是否受同步事件控制。“陣列 ”一般在2維傳輸中提及;

  (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ū)”(scratch pad 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ù)單元間隔存放)。幀,陣列索引用于控制下一幀,陣列的地址索引。


上一頁 1 2 3 下一頁

關(guān)鍵詞: 處理 理系 圖像 EDMA DM642 基于

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉