DSP原理及應(yīng)用-TMS320DM6437 課件 第七章:TMS320DM6437增強的直接存儲器訪問EDMA3_第1頁
DSP原理及應(yīng)用-TMS320DM6437 課件 第七章:TMS320DM6437增強的直接存儲器訪問EDMA3_第2頁
DSP原理及應(yīng)用-TMS320DM6437 課件 第七章:TMS320DM6437增強的直接存儲器訪問EDMA3_第3頁
DSP原理及應(yīng)用-TMS320DM6437 課件 第七章:TMS320DM6437增強的直接存儲器訪問EDMA3_第4頁
DSP原理及應(yīng)用-TMS320DM6437 課件 第七章:TMS320DM6437增強的直接存儲器訪問EDMA3_第5頁
已閱讀5頁,還剩31頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

DSP原理及應(yīng)用

第七章:增強型內(nèi)存直接訪問控制器EDMA3第七章:增強型內(nèi)存直接訪問控制器EDMA37.1概述7.2EDMA3控制器7.3EDMA3數(shù)據(jù)傳輸7.4參數(shù)RAM(PaRAM)7.5EDMA3的中斷7.6快速DMA(QDMA)7.7實驗及程序?qū)嵗?.1EDMA3概述

信號處理中經(jīng)常涉及大量的數(shù)據(jù)傳輸。利用DSP的指令可以完成數(shù)據(jù)的搬移,但這會占用大量的CPU資源。為降低CPU的負荷,通常都在DSP片內(nèi)設(shè)計多通道的直接存儲器訪問(DMA)控制器。DMA控制器是獨立于CPU的設(shè)備,一旦正確初始化后,就能獨立于CPU工作,在CPU操作的同時實現(xiàn)片內(nèi)存儲器、片內(nèi)外設(shè)以及外圍器件間的數(shù)據(jù)傳輸。DMA傳送時,需要使用系統(tǒng)的地址和數(shù)據(jù)總線以及一些控制信號線,但這些總線一般都是由CPU控制的,因此為了能夠?qū)崿F(xiàn)DMA需要由硬件自動實現(xiàn)總線的控制權(quán)轉(zhuǎn)移,為此一般的DMA控制器需要具有以下功能:

(1)可以向CPU發(fā)出HOLD號,請求CPU讓出總線,即CPU在這些總線上的引線

處于高阻狀態(tài);(2)CPU讓出總線后,可以接管對總線的控制;(3)可以在總線上進行尋址和讀寫控制;(4)可以決定傳送的數(shù)據(jù)個數(shù);(5)可以啟動數(shù)據(jù)的傳送,可以判斷數(shù)據(jù)傳送是否結(jié)束并發(fā)出結(jié)束信號;(6)可以在結(jié)束傳送后自動交出總線控制權(quán),恢復(fù)CPU正常工作狀態(tài)。

7.1EDMA3概述

為便于數(shù)據(jù)傳輸,在基本操作的基礎(chǔ)上,DSP芯片的DMA控制器將數(shù)據(jù)進行了分塊(block)管理,每一塊又可以分為若干幀(frame),每幀由一定長度的數(shù)據(jù)單元(element)組成。每個DMA通道的數(shù)據(jù)塊和數(shù)據(jù)幀大小可以由用戶自行設(shè)定。基于這些管理單元,DMA控制器提供了多種傳輸方式,包括元素傳輸、幀傳輸和塊傳輸?shù)取HN傳輸方式的最主要區(qū)別在于傳輸數(shù)據(jù)量的大?。海?)元素傳輸只對一個數(shù)據(jù)進行讀/寫操作;(2)幀傳輸將搬移一幀內(nèi)的所有數(shù)據(jù);(3)塊傳輸搬移塊內(nèi)所有幀的數(shù)據(jù)。7.1EDMA3概述以下是DMA傳輸中的常用術(shù)語:●讀傳輸:DMA控制器從源地址讀取一個數(shù)據(jù)單元?!駥憘鬏敚篋MA控制器將讀出的數(shù)據(jù)單元寫入目的地址?!駟卧獋鬏敚喊〝?shù)據(jù)的讀傳輸與寫什專輸?shù)臄?shù)據(jù)傳輸?!駭?shù)據(jù)傳送單元:單個數(shù)據(jù)單元從源地址到目的地址傳輸,如果需要每個數(shù)據(jù)單元可以由同步事件傳輸。●幀:一組數(shù)據(jù)單元組成一個幀,一幀中的單元可以是間隔存放也可以連續(xù)存放的。幀傳輸可以同步傳輸,也可以異步傳輸。●塊傳輸:完成若干幀的傳輸塊的傳輸俞,每塊內(nèi)的幀數(shù)可以通過編程來設(shè)置?!耜嚵校阂唤M連續(xù)的數(shù)據(jù)單元組成一個陣列,在一個陣列中單元的位置連續(xù)存放且不能改變。陣列多在二維數(shù)據(jù)傳輸中使用。塊:多個陣列或者多個幀組成一個塊?!褚痪S傳輸:一組幀組成一個塊。每個塊中的幀個數(shù)范圍是1~65536?!穸S傳輸:一組陣列組成一個二維塊,其中第一維是一個陣列中連續(xù)單元,第二維DMA控制器的工作方式有三種:方式1:存儲器與外部設(shè)備之間進行數(shù)據(jù)交互傳輸;方式2:存儲器與存儲器之間的數(shù)據(jù)交互傳輸;方式3:外部設(shè)備與外部設(shè)備之間的數(shù)據(jù)交互傳輸。7.2EDMA3控制器EDMA3在TMS320DM6437DSP結(jié)構(gòu)中的位置7.2EDMA3控制器7.2.1EDMA3控制器的組成7.2.1.1.EDMA3控制器組成EDMA3控制器包含兩個主要模塊:EDMA3通道控制器(EDMA3_m_CC0)和EDMA3傳輸控制器(EDMA3_m_TCn)。7.2EDMA3控制器7.2.1EDMA3控制器的組成7.2.1.2.EDMA3通道控制器(EDMA3CC)7.2EDMA3控制器7.2.1EDMA3控制器的組成7.2.1.2.EDMA3通道控制器(EDMA3CC),主要模塊如下:?DMA/QDMA通道邏輯:這個模塊包括捕捉外部系統(tǒng)或外設(shè)事件用于初始化事件觸發(fā)傳輸?shù)倪壿媶卧舶试S配置DMA/QDMA通道(隊列映射,參數(shù)RAM條目映射)的寄存器。.還有為不同觸發(fā)類型(手動,外部事件,鏈接和自動觸發(fā))使能/禁止事件和檢測事件狀態(tài)寄存器。?參數(shù)RAM集(PaRAM):為通道和重載參數(shù)集提供參數(shù)集條目.需要將期望的通道和連接參數(shù)集的傳輸內(nèi)容寫入到參數(shù)RAM集中。?事件隊列:它們構(gòu)成事件監(jiān)測邏輯和傳輸請求提交邏輯之間的接口。?傳輸請求提交邏輯:這個邏輯基于已提交到事件隊列的觸發(fā)事件以及提交相關(guān)事件隊列的給傳輸控制器的傳輸請求來處理參數(shù)RAM集。?結(jié)束檢測:結(jié)束檢測模塊檢測EDMA3傳輸控制或者從設(shè)備傳輸結(jié)束.傳輸結(jié)束可以使用鏈接觸發(fā)一個新傳輸或者聲明一個中斷.這個邏輯包括使能/禁止中斷(發(fā)送給CPU的)中斷處理寄存器,中斷標(biāo)志或中斷清除寄存器。另外,還有:?區(qū)域寄存器:允許DMA資源(DMA通道和中斷)被分配到唯一的區(qū)域,該區(qū)域被唯一EDMA編程者(適用于異/多核模型)或唯一的任務(wù)/進程(適用于單核設(shè)備模型)所有擁有。?調(diào)試寄存器:調(diào)試寄存器提供讀取隊列狀態(tài),通道控制器狀態(tài)(帶有CC的邏輯單元被激活)和丟失事件狀態(tài)的寄存器以使得調(diào)試可視化.7.2EDMA3控制器7.2.1EDMA3控制器的組成7.2.1.3.EDMA3傳輸控制器(EDMA3TC)7.2EDMA3控制器7.2.1EDMA3控制器的組成7.2.1.3.EDMA3傳輸控制器(EDMA3TC),主要模塊如下:?DMA程序寄存器集:DMA程序寄存器集存儲從EDMA3通道控制器(EDMA3CC)接收到的傳輸請求。?DMA源激活寄存器集:DMA源激活寄存器集存儲運行態(tài)時讀控制器中當(dāng)前DMA傳輸請求的內(nèi)容讀控制器:讀控制器發(fā)送讀命令到源地址。?目的FIFO寄存器集:目的FIFO寄存器存儲運行態(tài)或掛起態(tài)中寫控制器的當(dāng)前DMA傳輸請求的內(nèi)容。?寫控制器:寫控制發(fā)送寫命令/寫數(shù)據(jù)到目的地址。?數(shù)據(jù)FIFO:數(shù)據(jù)FIFO存儲中間態(tài)數(shù)據(jù).存儲在數(shù)據(jù)FIFO中的源外設(shè)讀數(shù)據(jù)和后續(xù)通過寫控制器寫入目的外設(shè)/從端的數(shù)據(jù)?完成接口:當(dāng)一個傳輸完成時,完成接口發(fā)送完成代碼到EDMA3CC,完成接口對生成中斷和鏈接事件都有用。7.2EDMA3控制器7.2.1EDMA3控制器的組成7.2.1.4.EDMA3控制器的觸發(fā)方式(1)DMA通道有3種觸發(fā)方式事件觸發(fā):CPU必須先通過EER使能該事件,當(dāng)一個觸發(fā)事件鎖存到ER寄存器就會啟動相應(yīng)通道的EDMA3手動觸發(fā):CPU可以通過寫ESR啟動一個EDMA3通道。鏈接觸發(fā):由一個EDMA3通道的傳輸結(jié)束來觸啟動另一個EDMA3。(2)QDMA通道有2種觸發(fā)方式:自動觸發(fā):PaRAM里設(shè)置為觸發(fā)字的域被寫入值后,觸發(fā)傳輸(通過QCHMAPn寄存器設(shè)置PaRAM的哪個域作為觸發(fā)域)。鏈接觸發(fā):由一個EDMA3通道的結(jié)束來觸發(fā),啟動另一個EDMA3。7.2EDMA3控制器7.2.2EDMA3通道控制器(EDMA3_m_CC0)的工作流程依據(jù)事件寄存器配置的觸發(fā)方式,在事件觸發(fā)之后,優(yōu)先級編碼器對兩個以上的觸發(fā)事件進行優(yōu)先級編碼,優(yōu)先級編碼器仲裁后將最高優(yōu)先級事件傳送給隊列,經(jīng)過隊列之后這個事件由通道映射提取參數(shù)RAM中的參數(shù)集,參數(shù)集里包含了EDMA3要傳輸?shù)臄?shù)據(jù)的各種數(shù)據(jù),例如,數(shù)據(jù)塊的大小、數(shù)據(jù)的源地址和目標(biāo)地址等。這些參數(shù)集傳輸給EDMA3傳輸控制器。7.2EDMA3控制器7.2.3EDMA3同步事件表7-1和表7-2是EDMA0和EDMA1的各種類型的同步事件,這些事件產(chǎn)生可以觸發(fā)EDMA3進行數(shù)據(jù)傳輸,EDMA0和EDMA1各有32個同步事件。通道控制器EDMA0的同步事件7.2EDMA3控制器7.2.3EDMA3同步事件通道控制器EDMA1的同步事件7.2EDMA3控制器7.2.4EDMA3的事件與通道的映射關(guān)系7.2.4.1.事件與通道的映射關(guān)系每個EMDA3控制器支32個同步事件,32個事每件與32個通道之間的映射關(guān)系是固定的一一對應(yīng)關(guān)系。事件與通道的映射關(guān)系7.2EDMA3控制器7.2.4EDMA3的事件與通道的映射關(guān)系7.2.4.2.DMA通道與PaRAM的映射關(guān)系event與DMAChannel一一對應(yīng),

DMA通道與PaRAM的映射也是一一對應(yīng)的。DMA通道與PaRAM的映射關(guān)系7.2EDMA3控制器7.2.4EDMA3的事件與通道的映射關(guān)系7.2.4.3.QDMA通道與PaRAM的映射關(guān)系QDMA通道不支持事件出發(fā),其觸發(fā)方式有兩種,即自動觸發(fā)和鏈接觸發(fā)。例如,將QDMA通道2映射到PaRAMSet3,這時,以SRC作為觸發(fā)字時,QCHMAP2[PAENTRY]=000000011QCHMAP2[TRWORD]=0017.2EDMA3控制器7.2.5事件隊列事件隊列是EMDA3CC的事件檢測邏輯和EDMA3CC的傳輸請求提交之間的接口。TMS320DM6437有兩個傳輸控制器,每個傳輸控制器有32個DMA通道和8個QDMA通道,當(dāng)配置多個通道進行數(shù)據(jù)傳輸時,如果多個通道同時被觸發(fā),而傳輸控制器是有限的,此時就不能完成數(shù)據(jù)傳輸。解決的辦法就是依靠事件隊列,通過對事件的仲裁設(shè)定優(yōu)先級,依據(jù)優(yōu)先級高低設(shè)置事件隊列,事件隊列依據(jù)優(yōu)先級向傳輸控制器提交傳輸請求。事件隊列與傳輸控制器7.3EDMA3數(shù)據(jù)傳輸7.3.1.EDMA3傳輸數(shù)據(jù)塊定義每一個EDMA3的傳輸數(shù)據(jù)都可看做是一個三維數(shù)據(jù),這個數(shù)據(jù)的大小由ACNT、BCNT和CCNT來描述。下圖是一個數(shù)據(jù)塊內(nèi)ACNT、BCNT和CCNT的定義。數(shù)據(jù)塊內(nèi)ACNT、BCNT和CCNT的定義7.3EDMA3數(shù)據(jù)傳輸7.3.2A-同步傳輸A-同步傳輸每次傳輸一個數(shù)據(jù)單元(array),當(dāng)一個數(shù)據(jù)單元傳輸完畢后根據(jù)B索引跳轉(zhuǎn)到下一個進行傳輸,直到一行傳輸完畢后根據(jù)C索引跳轉(zhuǎn)到下一行。B索引和C索引滿足:SRCBIDX=DSTBIDX=ACNTSRCCIDX=DSTCIDX=ACNT同步事件數(shù)=BCNT×CCNT7.3EDMA3數(shù)據(jù)傳輸7.3.3AB-同步傳輸在AB類同步傳輸中,每個EDMA3同步事件初始化二維數(shù)組或一個幀的傳輸。換句話說,每個事件或傳輸請求包攜帶BCNT個數(shù)列ACNT個字節(jié)的幀的所有信息。需要CCNT個事件服務(wù)以完成一個參數(shù)RAM集。

7.4參數(shù)RAM(PaRAM)7.4.1PaRAM集EDMA3控制器是基于RAM的結(jié)構(gòu),EDMA3CC中為DMA或者QDMA通道編程的傳輸內(nèi)容(源/目的地址,計數(shù),索引等)的RAM參數(shù)表被稱為PaRAM。PaRAM表被分解成多個參數(shù)RAM集。每個參數(shù)集包含8個4字節(jié)的參數(shù)RAM集條目,這些條目包含典型的DMA傳輸參數(shù),比如說源地址,目的地址,傳輸數(shù)量,索引,選項等。

7.4參數(shù)RAM(PaRAM)7.4.2參數(shù)RAM條目EDMA3通道控制器(EDMA3CC)的參數(shù)RAM條目。

7.4參數(shù)RAM(PaRAM)7.4.3傳輸示例例1塊傳輸示例使用EDMA3做最基本的傳輸是塊傳輸。在設(shè)備操作的時候,經(jīng)常需要從一個地方到另一個地方或者片內(nèi)和片外之間內(nèi)存?zhèn)鬏斠粋€塊數(shù)據(jù)。在這個例子中,從外部內(nèi)存到L2SRAM復(fù)制一段數(shù)據(jù)。4000,0000h地址開始的一個256K字節(jié)的數(shù)據(jù)需要傳輸?shù)絻?nèi)部地址11800000h(L2),

7.4參數(shù)RAM(PaRAM)7.4.3傳輸示例傳輸源地址被設(shè)置為外部內(nèi)存所傳數(shù)據(jù)塊的起始地址,目的地址被設(shè)置位L2中數(shù)據(jù)塊的起始地址。如數(shù)據(jù)塊小于64K字節(jié),那么參數(shù)RAM配置按照圖7-15,同步類型設(shè)置為A類同步傳輸及索引清零。如果傳輸數(shù)據(jù)量大于64K字節(jié),同步類型需要設(shè)置成AB類傳輸,BCNT和B-索引需要被設(shè)置成適當(dāng)值。OPT中STATIC位設(shè)置成先前的連接。(a)EDMA參數(shù)(b)通的選擇項參數(shù)(OPT)內(nèi)容7.5EDMA3的中斷EDMA3中斷源可以分為兩類:?傳輸完成中斷源?錯誤中斷源7.5EDMA3的中斷EDMA3中斷源可以分為兩類:?傳輸完成中斷源?錯誤中斷源7.5EDMA3的中斷7.5.1.1傳輸完成中斷源?

如果最終傳輸中斷(OPT中TCCEN=1和ITCCHEN=0)被使能,中斷在通道m(xù)的上一個傳輸請求提交(提前完成)或者完成(正常完成)后發(fā)生。?

如果內(nèi)部傳輸中斷(OPT中TCCEN=0和ITCCHEN=0)被使能,中斷在每次通道m(xù)的內(nèi)部傳輸請求提交或者完成后發(fā)生(依賴提前或正常完成)。?

如果最終和中間傳輸完成中斷(OPT中TCCEN=0和ITCCHEN=0)被使能,中斷在通道m(xù)的每次傳輸請求提交或者完成后發(fā)生(依賴提前或正常完成)。7.5EDMA3的中斷7.5.1.2使能傳輸完成中斷EDMA3CC必須使能中斷,才能確保EDMA3通道控制器聲明一個傳輸完成到外部,另外需要配置參數(shù)RAM集中OPT寄存器的TCCEN和ITCCHEN。EDMA3通道控制有中斷使能寄存器(IER),IER中每一位作為主要使能對應(yīng)的中斷掛起寄存器(IPR)。7.5EDMA3的中斷7.5.1.3清除傳輸完成中斷鎖定在中斷掛起寄存器(IPR)中傳輸完成中斷可以通過對中斷掛起清除寄存器的相應(yīng)位寫1來清除。舉個例子,對ICR.E0位做寫1操作清除掛起中斷IPR.E0位。7.5EDMA3的中斷7.5.2.1中斷寄存器1.中斷使能寄存器(IER)2.中斷使能清除寄存器(IECR)3.中斷使能設(shè)置寄存器(IESR)4.中斷清除寄存器(ICR)7.6快速DMA(QDMA)7.6.1.快速DMA(QDMA)在應(yīng)用系統(tǒng)中,有時需要與外設(shè)(如McBSP)之間進行固定速率的數(shù)據(jù)傳輸。通常用戶可以利用EDMA來完成這些任務(wù),周期性地實時提供所需要的數(shù)據(jù)。但是在有些應(yīng)用中,可能需要由CPU執(zhí)行的代碼來直接控制一段數(shù)據(jù)的搬移,此時采用QDMA就非常合適。典型的QDMA操作順如下:QDMASRC=SOME_SRC_ADDRESS;//設(shè)置源地址ODMADST=SOMEDSTADDRESS//設(shè)置目的地址OD

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論