版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
DSP原理及應(yīng)用
第七章:增強(qiáng)型內(nèi)存直接訪問控制器EDMA3第七章:增強(qiáng)型內(nèi)存直接訪問控制器EDMA37.1概述7.2EDMA3控制器7.3EDMA3數(shù)據(jù)傳輸7.4參數(shù)RAM(PaRAM)7.5EDMA3的中斷7.6快速DMA(QDMA)7.7實(shí)驗(yàn)及程序?qū)嵗?.1EDMA3概述
信號(hào)處理中經(jīng)常涉及大量的數(shù)據(jù)傳輸。利用DSP的指令可以完成數(shù)據(jù)的搬移,但這會(huì)占用大量的CPU資源。為降低CPU的負(fù)荷,通常都在DSP片內(nèi)設(shè)計(jì)多通道的直接存儲(chǔ)器訪問(DMA)控制器。DMA控制器是獨(dú)立于CPU的設(shè)備,一旦正確初始化后,就能獨(dú)立于CPU工作,在CPU操作的同時(shí)實(shí)現(xiàn)片內(nèi)存儲(chǔ)器、片內(nèi)外設(shè)以及外圍器件間的數(shù)據(jù)傳輸。DMA傳送時(shí),需要使用系統(tǒng)的地址和數(shù)據(jù)總線以及一些控制信號(hào)線,但這些總線一般都是由CPU控制的,因此為了能夠?qū)崿F(xiàn)DMA需要由硬件自動(dòng)實(shí)現(xiàn)總線的控制權(quán)轉(zhuǎn)移,為此一般的DMA控制器需要具有以下功能:
(1)可以向CPU發(fā)出HOLD號(hào),請(qǐng)求CPU讓出總線,即CPU在這些總線上的引線
處于高阻狀態(tài);(2)CPU讓出總線后,可以接管對(duì)總線的控制;(3)可以在總線上進(jìn)行尋址和讀寫控制;(4)可以決定傳送的數(shù)據(jù)個(gè)數(shù);(5)可以啟動(dòng)數(shù)據(jù)的傳送,可以判斷數(shù)據(jù)傳送是否結(jié)束并發(fā)出結(jié)束信號(hào);(6)可以在結(jié)束傳送后自動(dòng)交出總線控制權(quán),恢復(fù)CPU正常工作狀態(tài)。
7.1EDMA3概述
為便于數(shù)據(jù)傳輸,在基本操作的基礎(chǔ)上,DSP芯片的DMA控制器將數(shù)據(jù)進(jìn)行了分塊(block)管理,每一塊又可以分為若干幀(frame),每幀由一定長度的數(shù)據(jù)單元(element)組成。每個(gè)DMA通道的數(shù)據(jù)塊和數(shù)據(jù)幀大小可以由用戶自行設(shè)定?;谶@些管理單元,DMA控制器提供了多種傳輸方式,包括元素傳輸、幀傳輸和塊傳輸?shù)?。三種傳輸方式的最主要區(qū)別在于傳輸數(shù)據(jù)量的大?。海?)元素傳輸只對(duì)一個(gè)數(shù)據(jù)進(jìn)行讀/寫操作;(2)幀傳輸將搬移一幀內(nèi)的所有數(shù)據(jù);(3)塊傳輸搬移塊內(nèi)所有幀的數(shù)據(jù)。7.1EDMA3概述以下是DMA傳輸中的常用術(shù)語:●讀傳輸:DMA控制器從源地址讀取一個(gè)數(shù)據(jù)單元。●寫傳輸:DMA控制器將讀出的數(shù)據(jù)單元寫入目的地址?!駟卧獋鬏敚喊〝?shù)據(jù)的讀傳輸與寫什專輸?shù)臄?shù)據(jù)傳輸?!駭?shù)據(jù)傳送單元:單個(gè)數(shù)據(jù)單元從源地址到目的地址傳輸,如果需要每個(gè)數(shù)據(jù)單元可以由同步事件傳輸?!駧阂唤M數(shù)據(jù)單元組成一個(gè)幀,一幀中的單元可以是間隔存放也可以連續(xù)存放的。幀傳輸可以同步傳輸,也可以異步傳輸?!駢K傳輸:完成若干幀的傳輸塊的傳輸俞,每塊內(nèi)的幀數(shù)可以通過編程來設(shè)置。●陣列:一組連續(xù)的數(shù)據(jù)單元組成一個(gè)陣列,在一個(gè)陣列中單元的位置連續(xù)存放且不能改變。陣列多在二維數(shù)據(jù)傳輸中使用。塊:多個(gè)陣列或者多個(gè)幀組成一個(gè)塊?!褚痪S傳輸:一組幀組成一個(gè)塊。每個(gè)塊中的幀個(gè)數(shù)范圍是1~65536。●二維傳輸:一組陣列組成一個(gè)二維塊,其中第一維是一個(gè)陣列中連續(xù)單元,第二維DMA控制器的工作方式有三種:方式1:存儲(chǔ)器與外部設(shè)備之間進(jìn)行數(shù)據(jù)交互傳輸;方式2:存儲(chǔ)器與存儲(chǔ)器之間的數(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控制器包含兩個(gè)主要模塊: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通道邏輯:這個(gè)模塊包括捕捉外部系統(tǒng)或外設(shè)事件用于初始化事件觸發(fā)傳輸?shù)倪壿媶卧?,也包含允許配置DMA/QDMA通道(隊(duì)列映射,參數(shù)RAM條目映射)的寄存器。.還有為不同觸發(fā)類型(手動(dòng),外部事件,鏈接和自動(dòng)觸發(fā))使能/禁止事件和檢測事件狀態(tài)寄存器。?參數(shù)RAM集(PaRAM):為通道和重載參數(shù)集提供參數(shù)集條目.需要將期望的通道和連接參數(shù)集的傳輸內(nèi)容寫入到參數(shù)RAM集中。?事件隊(duì)列:它們構(gòu)成事件監(jiān)測邏輯和傳輸請(qǐng)求提交邏輯之間的接口。?傳輸請(qǐng)求提交邏輯:這個(gè)邏輯基于已提交到事件隊(duì)列的觸發(fā)事件以及提交相關(guān)事件隊(duì)列的給傳輸控制器的傳輸請(qǐng)求來處理參數(shù)RAM集。?結(jié)束檢測:結(jié)束檢測模塊檢測EDMA3傳輸控制或者從設(shè)備傳輸結(jié)束.傳輸結(jié)束可以使用鏈接觸發(fā)一個(gè)新傳輸或者聲明一個(gè)中斷.這個(gè)邏輯包括使能/禁止中斷(發(fā)送給CPU的)中斷處理寄存器,中斷標(biāo)志或中斷清除寄存器。另外,還有:?區(qū)域寄存器:允許DMA資源(DMA通道和中斷)被分配到唯一的區(qū)域,該區(qū)域被唯一EDMA編程者(適用于異/多核模型)或唯一的任務(wù)/進(jìn)程(適用于單核設(shè)備模型)所有擁有。?調(diào)試寄存器:調(diào)試寄存器提供讀取隊(duì)列狀態(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程序寄存器集存儲(chǔ)從EDMA3通道控制器(EDMA3CC)接收到的傳輸請(qǐng)求。?DMA源激活寄存器集:DMA源激活寄存器集存儲(chǔ)運(yùn)行態(tài)時(shí)讀控制器中當(dāng)前DMA傳輸請(qǐng)求的內(nèi)容讀控制器:讀控制器發(fā)送讀命令到源地址。?目的FIFO寄存器集:目的FIFO寄存器存儲(chǔ)運(yùn)行態(tài)或掛起態(tài)中寫控制器的當(dāng)前DMA傳輸請(qǐng)求的內(nèi)容。?寫控制器:寫控制發(fā)送寫命令/寫數(shù)據(jù)到目的地址。?數(shù)據(jù)FIFO:數(shù)據(jù)FIFO存儲(chǔ)中間態(tài)數(shù)據(jù).存儲(chǔ)在數(shù)據(jù)FIFO中的源外設(shè)讀數(shù)據(jù)和后續(xù)通過寫控制器寫入目的外設(shè)/從端的數(shù)據(jù)?完成接口:當(dāng)一個(gè)傳輸完成時(shí),完成接口發(fā)送完成代碼到EDMA3CC,完成接口對(duì)生成中斷和鏈接事件都有用。7.2EDMA3控制器7.2.1EDMA3控制器的組成7.2.1.4.EDMA3控制器的觸發(fā)方式(1)DMA通道有3種觸發(fā)方式事件觸發(fā):CPU必須先通過EER使能該事件,當(dāng)一個(gè)觸發(fā)事件鎖存到ER寄存器就會(huì)啟動(dòng)相應(yīng)通道的EDMA3手動(dòng)觸發(fā):CPU可以通過寫ESR啟動(dòng)一個(gè)EDMA3通道。鏈接觸發(fā):由一個(gè)EDMA3通道的傳輸結(jié)束來觸啟動(dòng)另一個(gè)EDMA3。(2)QDMA通道有2種觸發(fā)方式:自動(dòng)觸發(fā):PaRAM里設(shè)置為觸發(fā)字的域被寫入值后,觸發(fā)傳輸(通過QCHMAPn寄存器設(shè)置PaRAM的哪個(gè)域作為觸發(fā)域)。鏈接觸發(fā):由一個(gè)EDMA3通道的結(jié)束來觸發(fā),啟動(dòng)另一個(gè)EDMA3。7.2EDMA3控制器7.2.2EDMA3通道控制器(EDMA3_m_CC0)的工作流程依據(jù)事件寄存器配置的觸發(fā)方式,在事件觸發(fā)之后,優(yōu)先級(jí)編碼器對(duì)兩個(gè)以上的觸發(fā)事件進(jìn)行優(yōu)先級(jí)編碼,優(yōu)先級(jí)編碼器仲裁后將最高優(yōu)先級(jí)事件傳送給隊(duì)列,經(jīng)過隊(duì)列之后這個(gè)事件由通道映射提取參數(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進(jìn)行數(shù)據(jù)傳輸,EDMA0和EDMA1各有32個(gè)同步事件。通道控制器EDMA0的同步事件7.2EDMA3控制器7.2.3EDMA3同步事件通道控制器EDMA1的同步事件7.2EDMA3控制器7.2.4EDMA3的事件與通道的映射關(guān)系7.2.4.1.事件與通道的映射關(guān)系每個(gè)EMDA3控制器支32個(gè)同步事件,32個(gè)事每件與32個(gè)通道之間的映射關(guān)系是固定的一一對(duì)應(yīng)關(guān)系。事件與通道的映射關(guān)系7.2EDMA3控制器7.2.4EDMA3的事件與通道的映射關(guān)系7.2.4.2.DMA通道與PaRAM的映射關(guān)系event與DMAChannel一一對(duì)應(yīng),
DMA通道與PaRAM的映射也是一一對(duì)應(yīng)的。DMA通道與PaRAM的映射關(guān)系7.2EDMA3控制器7.2.4EDMA3的事件與通道的映射關(guān)系7.2.4.3.QDMA通道與PaRAM的映射關(guān)系QDMA通道不支持事件出發(fā),其觸發(fā)方式有兩種,即自動(dòng)觸發(fā)和鏈接觸發(fā)。例如,將QDMA通道2映射到PaRAMSet3,這時(shí),以SRC作為觸發(fā)字時(shí),QCHMAP2[PAENTRY]=000000011QCHMAP2[TRWORD]=0017.2EDMA3控制器7.2.5事件隊(duì)列事件隊(duì)列是EMDA3CC的事件檢測邏輯和EDMA3CC的傳輸請(qǐng)求提交之間的接口。TMS320DM6437有兩個(gè)傳輸控制器,每個(gè)傳輸控制器有32個(gè)DMA通道和8個(gè)QDMA通道,當(dāng)配置多個(gè)通道進(jìn)行數(shù)據(jù)傳輸時(shí),如果多個(gè)通道同時(shí)被觸發(fā),而傳輸控制器是有限的,此時(shí)就不能完成數(shù)據(jù)傳輸。解決的辦法就是依靠事件隊(duì)列,通過對(duì)事件的仲裁設(shè)定優(yōu)先級(jí),依據(jù)優(yōu)先級(jí)高低設(shè)置事件隊(duì)列,事件隊(duì)列依據(jù)優(yōu)先級(jí)向傳輸控制器提交傳輸請(qǐng)求。事件隊(duì)列與傳輸控制器7.3EDMA3數(shù)據(jù)傳輸7.3.1.EDMA3傳輸數(shù)據(jù)塊定義每一個(gè)EDMA3的傳輸數(shù)據(jù)都可看做是一個(gè)三維數(shù)據(jù),這個(gè)數(shù)據(jù)的大小由ACNT、BCNT和CCNT來描述。下圖是一個(gè)數(shù)據(jù)塊內(nèi)ACNT、BCNT和CCNT的定義。數(shù)據(jù)塊內(nèi)ACNT、BCNT和CCNT的定義7.3EDMA3數(shù)據(jù)傳輸7.3.2A-同步傳輸A-同步傳輸每次傳輸一個(gè)數(shù)據(jù)單元(array),當(dāng)一個(gè)數(shù)據(jù)單元傳輸完畢后根據(jù)B索引跳轉(zhuǎn)到下一個(gè)進(jìn)行傳輸,直到一行傳輸完畢后根據(jù)C索引跳轉(zhuǎn)到下一行。B索引和C索引滿足:SRCBIDX=DSTBIDX=ACNTSRCCIDX=DSTCIDX=ACNT同步事件數(shù)=BCNT×CCNT7.3EDMA3數(shù)據(jù)傳輸7.3.3AB-同步傳輸在AB類同步傳輸中,每個(gè)EDMA3同步事件初始化二維數(shù)組或一個(gè)幀的傳輸。換句話說,每個(gè)事件或傳輸請(qǐng)求包攜帶BCNT個(gè)數(shù)列ACNT個(gè)字節(jié)的幀的所有信息。需要CCNT個(gè)事件服務(wù)以完成一個(gè)參數(shù)RAM集。
7.4參數(shù)RAM(PaRAM)7.4.1PaRAM集EDMA3控制器是基于RAM的結(jié)構(gòu),EDMA3CC中為DMA或者QDMA通道編程的傳輸內(nèi)容(源/目的地址,計(jì)數(shù),索引等)的RAM參數(shù)表被稱為PaRAM。PaRAM表被分解成多個(gè)參數(shù)RAM集。每個(gè)參數(shù)集包含8個(gè)4字節(jié)的參數(shù)RAM集條目,這些條目包含典型的DMA傳輸參數(shù),比如說源地址,目的地址,傳輸數(shù)量,索引,選項(xiàng)等。
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è)備操作的時(shí)候,經(jīng)常需要從一個(gè)地方到另一個(gè)地方或者片內(nèi)和片外之間內(nèi)存?zhèn)鬏斠粋€(gè)塊數(shù)據(jù)。在這個(gè)例子中,從外部內(nèi)存到L2SRAM復(fù)制一段數(shù)據(jù)。4000,0000h地址開始的一個(gè)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配置按照?qǐng)D7-15,同步類型設(shè)置為A類同步傳輸及索引清零。如果傳輸數(shù)據(jù)量大于64K字節(jié),同步類型需要設(shè)置成AB類傳輸,BCNT和B-索引需要被設(shè)置成適當(dāng)值。OPT中STATIC位設(shè)置成先前的連接。(a)EDMA參數(shù)(b)通的選擇項(xiàng)參數(shù)(OPT)內(nèi)容7.5EDMA3的中斷EDMA3中斷源可以分為兩類:?傳輸完成中斷源?錯(cuò)誤中斷源7.5EDMA3的中斷EDMA3中斷源可以分為兩類:?傳輸完成中斷源?錯(cuò)誤中斷源7.5EDMA3的中斷7.5.1.1傳輸完成中斷源?
如果最終傳輸中斷(OPT中TCCEN=1和ITCCHEN=0)被使能,中斷在通道m(xù)的上一個(gè)傳輸請(qǐng)求提交(提前完成)或者完成(正常完成)后發(fā)生。?
如果內(nèi)部傳輸中斷(OPT中TCCEN=0和ITCCHEN=0)被使能,中斷在每次通道m(xù)的內(nèi)部傳輸請(qǐng)求提交或者完成后發(fā)生(依賴提前或正常完成)。?
如果最終和中間傳輸完成中斷(OPT中TCCEN=0和ITCCHEN=0)被使能,中斷在通道m(xù)的每次傳輸請(qǐng)求提交或者完成后發(fā)生(依賴提前或正常完成)。7.5EDMA3的中斷7.5.1.2使能傳輸完成中斷EDMA3CC必須使能中斷,才能確保EDMA3通道控制器聲明一個(gè)傳輸完成到外部,另外需要配置參數(shù)RAM集中OPT寄存器的TCCEN和ITCCHEN。EDMA3通道控制有中斷使能寄存器(IER),IER中每一位作為主要使能對(duì)應(yīng)的中斷掛起寄存器(IPR)。7.5EDMA3的中斷7.5.1.3清除傳輸完成中斷鎖定在中斷掛起寄存器(IPR)中傳輸完成中斷可以通過對(duì)中斷掛起清除寄存器的相應(yīng)位寫1來清除。舉個(gè)例子,對(duì)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í)需要與外設(shè)(如McBSP)之間進(jìn)行固定速率的數(shù)據(jù)傳輸。通常用戶可以利用EDMA來完成這些任務(wù),周期性地實(shí)時(shí)提供所需要的數(shù)據(jù)。但是在有些應(yīng)用中,可能需要由CPU執(zhí)行的代碼來直接控制一段數(shù)據(jù)的搬移,此時(shí)采用QDMA就非常合適。典型的QDMA操作順如下:QDMASRC=SOME_SRC_ADDRESS;//設(shè)置源地址ODMADST=SOMEDSTADDRESS//設(shè)置目的地址OD
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年河南省煤炭總醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 二零二五年度高端酒店管理服務(wù)單方解除合同3篇
- 2025年度農(nóng)村水井租賃與節(jié)水技術(shù)合作合同
- 2024年中國電梯專用風(fēng)機(jī)市場調(diào)查研究報(bào)告
- 2024年05月中國民生銀行總行云計(jì)算數(shù)據(jù)中心項(xiàng)目誠聘英才筆試歷年參考題庫附帶答案詳解
- 2025年度公司車輛租賃及駕駛員考核與晉升合同3篇
- 2024年05月中信銀行烏魯木齊分行機(jī)構(gòu)客戶部副職招聘2人筆試歷年參考題庫附帶答案詳解
- 2024年圣誕鹿拉車項(xiàng)目可行性研究報(bào)告
- 《礦用鏟運(yùn)機(jī)全液壓轉(zhuǎn)向系統(tǒng)機(jī)液聯(lián)合仿真及優(yōu)化設(shè)計(jì)》
- 《小麥硬度聲學(xué)測定方法的優(yōu)化研究》
- 鄧州市龍理鄉(xiāng)第一初級(jí)中學(xué)-2025年春節(jié)寒假跨學(xué)科主題實(shí)踐作業(yè)模板【課件】
- 2024年中央經(jīng)濟(jì)工作會(huì)議精神解讀
- 公司安全事故隱患內(nèi)部舉報(bào)、報(bào)告獎(jiǎng)勵(lì)制度
- 應(yīng)聘人員面試登記表
- 中職學(xué)校優(yōu)秀班主任事跡材料(完整版)
- 草莓采摘機(jī)械手的設(shè)計(jì)與實(shí)現(xiàn)
- 最全的官能團(tuán)化合物的紅外吸收峰特征
- 世界氣候類型(圖很清晰)
- 新版【處置卡匯編】重點(diǎn)崗位人員應(yīng)急處置卡(全套25頁)
- EE系列磁芯參數(shù)
- 工程勘察現(xiàn)場見證報(bào)告
評(píng)論
0/150
提交評(píng)論