色偷偷偷久久伊人大杳蕉,色爽交视频免费观看,欧美扒开腿做爽爽爽a片,欧美孕交alscan巨交xxx,日日碰狠狠躁久久躁蜜桃

增強(qiáng)型 eDMA的結(jié)構(gòu)與典型應(yīng)用

發(fā)布時(shí)間:2010-4-24 21:29    發(fā)布者:李寬
eDMA是enhanced Direct Memory Access的簡(jiǎn)稱,即增強(qiáng)型直接內(nèi)存存取。它是用于快速數(shù)據(jù)交換的重要技術(shù),具有獨(dú)立于CPU的后臺(tái)批量數(shù)據(jù)傳輸能力,能夠滿足實(shí)時(shí)處理中高速數(shù)據(jù)傳輸?shù)囊。在ColdFire系列MCU中的MCF5329EVB平臺(tái)上實(shí)現(xiàn)的音頻系統(tǒng),為了滿足系統(tǒng)的實(shí)時(shí)性要求,采用eDMA來完成音頻數(shù)據(jù)的傳輸。 MCF5329EVB提供了一個(gè)eDMA控制器,可以滿足大量數(shù)據(jù)的實(shí)時(shí)傳送需求。

1 eDMA介紹

1.1 eDMA的結(jié)構(gòu)

eDMA模塊框圖如圖1所示。



從eDMA的模塊結(jié)構(gòu)圖可以看出,eDMA模塊包括兩個(gè)主要模塊:eDMA引擎和傳輸控制描述符TCD單元。其中,eDMA引擎的功能主要包括源地址和目的地址的計(jì)算和實(shí)際的數(shù)據(jù)搬移操作;TCD單元的功能是為每個(gè)通道定義傳輸?shù)脑吹刂泛湍康牡刂、次循環(huán)的大小、單次傳輸?shù)淖止?jié)量及傳輸方式等信息。

eDMA引擎由如下4個(gè)子模塊組成:

①地址路徑模塊。執(zhí)行傳輸控制描述符的2個(gè)通道(通道X和通道Y)的注冊(cè),并處理所有的總線地址計(jì)算。被注冊(cè)的通道用于裝載從傳輸控制描述符區(qū)域讀取的傳輸控制描述符內(nèi)容。

②數(shù)據(jù)路徑模塊。執(zhí)行數(shù)據(jù)的讀寫,包括16字節(jié)的寄存器存儲(chǔ)區(qū)域,并支持多種數(shù)據(jù)排列方式。

③編程模型/通道仲裁模塊。執(zhí)行eDMA編程模型和通道仲裁。eDMA外部請(qǐng)求輸入和中斷輸出都連接到該模塊。

④控制模塊。提供所有針對(duì)eDMA引擎的控制功能,包括對(duì)數(shù)據(jù)讀和寫的匹配。如需要讀取的源數(shù)據(jù)大小為16位,而目標(biāo)數(shù)據(jù)大小為32位,則每2次讀取只需要1次寫入。

傳輸控制描述符區(qū)域由如下兩部分組成:

①內(nèi)存控制器。該邏輯執(zhí)行必需的雙向端口控制,處理eDMA引擎和內(nèi)部外圍總線的通道。

②內(nèi)存陣列。TCD存儲(chǔ)區(qū)是一個(gè)單端口同步的RAM陣列。每個(gè)通道都有1個(gè)TCD單元,每個(gè)TCD有32字節(jié),由11個(gè)寄存器組成。

1.2 eDMA的操作

MCF5329的eDMA有16個(gè)數(shù)據(jù)傳輸通道,每一個(gè)通道由一個(gè)傳輸控制描述符TCD進(jìn)行描述。TCD不僅記錄了數(shù)據(jù)傳輸?shù)脑春湍康牡刂,還記錄了當(dāng)前傳輸?shù)刂废鄬?duì)于起始地址的偏移。該偏移由一個(gè)主循環(huán)(maior loop)和一個(gè)次循環(huán)(minor loop)來表示。當(dāng)一個(gè)通道在傳輸時(shí),次循環(huán)中的數(shù)據(jù)傳輸完成之后,eDMA引擎中的當(dāng)前源地址、目的地址和外循環(huán)的大小會(huì)被寫回TCD存儲(chǔ)區(qū)域,并執(zhí)行通道連接的其他通道傳輸。每一個(gè)次循環(huán)執(zhí)行完,當(dāng)前外循環(huán)計(jì)數(shù)器就會(huì)減1;當(dāng)外循環(huán)計(jì)數(shù)器減為O時(shí),eDMA會(huì)向處理器發(fā)起一次中斷請(qǐng)求,請(qǐng)求下一次 eDMA傳輸?shù)脑春湍康牡刂。一次主循環(huán)所能傳送的最大字節(jié)數(shù)由用戶所分配的eDMA緩沖區(qū)大小決定。

1.3 eDMA基本數(shù)據(jù)流

eDMA基本數(shù)據(jù)流可被劃分為三段。

第一段是通道激活。以外圍硬件請(qǐng)求激活通道為例,eDMA請(qǐng)求輸入信號(hào)首先經(jīng)由控制子模塊進(jìn)入編程模型和通道仲裁模塊,確定采用固定優(yōu)先級(jí)還是聯(lián)合通道仲裁(固定優(yōu)先級(jí)仲裁是先給具有最高優(yōu)先級(jí)的通道服務(wù),聯(lián)合通道優(yōu)先級(jí)是先給通道編號(hào)最大的通道服務(wù));確定通道后,被確定的通道號(hào)通過地址路徑模塊發(fā)送并轉(zhuǎn)換成需要的地址,用于在當(dāng)?shù)卮鎯?chǔ)區(qū)域中存取傳輸控制描述符TCD;相應(yīng)的描述符讀取出來后被裝載到地址路徑模塊中的通道X或通道Y寄存器中。

第二段是真正的數(shù)據(jù)傳輸。源數(shù)據(jù)被讀取出來臨時(shí),存儲(chǔ)在數(shù)據(jù)路徑塊中,然后在時(shí)鐘的驅(qū)動(dòng)下將數(shù)據(jù)寫入到目標(biāo)地址。整個(gè)讀寫過程持續(xù)到次循環(huán)數(shù)據(jù)結(jié)束。

第三段是TCD的更新和中斷請(qǐng)求的發(fā)生。一旦一個(gè)次循環(huán)數(shù)據(jù)傳輸完畢,數(shù)據(jù)流就進(jìn)入第三段。在該段中,地址路徑邏輯會(huì)更新相應(yīng)TCD中的特定區(qū)域,如源地址、目標(biāo)地址和外循環(huán)計(jì)數(shù)。如果外循環(huán)計(jì)數(shù)減為O,則要進(jìn)行額外的設(shè)置,包括最終地址調(diào)節(jié)。如果在此時(shí)有中斷請(qǐng)求發(fā)生,需要重新讀取一個(gè)新的 TCD。

2 TLV320DAC23介紹

TLV320DAC23是TI公司推出的一顆高性能立體聲音頻編解碼(CODEC)芯片,采樣率可以從8 kHz到96kHz,傳輸字長可自由選擇為16位、20位、24位或32位;最大輸出信噪比可達(dá)到100 db;控制端口可兼容SPI、2一wire等協(xié)議;回放模式下功率為18 mw,省電模式下小于15μW。該芯片適用于便攜式設(shè)備的數(shù)字音頻處理。

(1)控制接口

控制接口用于對(duì)器件TLV320DAC23的寄存器編程,以及設(shè)置音頻芯片的工作參數(shù)。它兼容兩種模式:SPI三線模式、2一wire模式。

MODE:模式選擇。MODE為0時(shí)采用2一wire模式,為1時(shí)采用SPI模式。

SCLK:控制端口串行數(shù)據(jù)時(shí)鐘。

SDIN:控制端口串行數(shù)據(jù)輸入。

CS:控制端口輸入鎖存/地址選擇。SPI模式下,CS用于數(shù)據(jù)鎖存控制,2一wire模式下,CS定義器件地址域的第7位。SPI模式下,1個(gè)控制字為1 6位:高7位為控制地址,低9位為控制字。16位的控制字由MSB位開始傳輸,每位在SCLK的上升沿被鎖存,整個(gè)16位的控制字在最低位被CS鎖存進(jìn) TLV320DAC23。

(2)數(shù)字音頻接口

數(shù)字音頻接口用于輸入TLV320DAC23的D/A數(shù)據(jù)。

BCLK:I2S串行比特時(shí)鐘。主模式時(shí)BCLK為輸出,從模式時(shí)BCLK為輸入。

DIN:I2S串行數(shù)據(jù)輸入。

DOUT:I2S串行數(shù)據(jù)輸出。

LRCIN/LRCOUT:字時(shí)鐘輸入/輸出信號(hào),兩個(gè)信號(hào)共有的幀信號(hào)。在主模式中由DAC23產(chǎn)生該信號(hào),在從模式中由主設(shè)備(如DSP或 MCU)產(chǎn)生該信號(hào)。

TLV320DAC23支持4種音頻接口模式:右對(duì)齊模式、左對(duì)齊模式、I2S模式、DSP模式。這4種模式都是最高有效位MSB在前,字長 16~32位(右對(duì)齊除外,它不支持32位)。

(3)時(shí)鐘接口

MCLK:芯片主時(shí)鐘信號(hào)。當(dāng)TLV320DAC23作為主設(shè)備時(shí),該信號(hào)由芯片自身產(chǎn)生;當(dāng)TLV320DAC23作為從設(shè)備時(shí),該信號(hào)由外部產(chǎn)生。

CLKOUT:時(shí)鐘輸出信號(hào)。可以為MCLK或MCLK/2。

3 音頻驅(qū)動(dòng)設(shè)計(jì)

TLV320DAC23與MCF5329之間的音頻數(shù)據(jù)傳輸采用I2S音頻格式,由MCF5329的同步串行接口SSI實(shí)現(xiàn)與 TLV320DAC23的數(shù)據(jù)傳輸。MCF5329處理器內(nèi)核與同步串行接口SSI發(fā)送/接收寄存器之間的音頻數(shù)據(jù)傳輸采用eDMA機(jī)制傳輸,由 MCF5329中的eDMA模塊實(shí)現(xiàn)。

3.1 硬件連接

TLV320DAC23與MCF5329的接口有兩個(gè):一個(gè)是控制接口,用于設(shè)置TLV320DAC23的寄存器,從而設(shè)置它的工作參數(shù);一個(gè)是數(shù)字音頻接口,用于傳輸TLV320DAC23的音頻數(shù)據(jù)并控制數(shù)據(jù)的時(shí)序。本設(shè)計(jì)采用由MCF5329提供的時(shí)鐘信號(hào),所以將MCF5329設(shè)為主設(shè)備,TLV320DAC23作為從設(shè)備。音頻數(shù)據(jù)采用I2S音頻格式傳輸,控制字通過SPI接口傳輸。具體連接如圖2所示。



3.2 軟件設(shè)計(jì)

(1)設(shè)備的初始化

同步串行接口SSI的初始化包括對(duì)控制寄存器、傳輸配置寄存器和接收配置寄存器、時(shí)鐘配置寄存器、發(fā)送時(shí)隙掩碼寄存器和接收時(shí)隙掩碼寄存器以及中斷允許寄存器的配置。最后設(shè)置中斷源和中斷級(jí)別。

eDMA的初始化包括eDMA與同步串行接口SSI發(fā)送/接收寄存器連接的配置,以及確定eDMA的通道仲裁方式。

具體代碼如下:



TLV320DAC23的初始化主要是通過SPI接口設(shè)置編解碼芯片控制接口相關(guān)的寄存器。初始化設(shè)置為I2S從模式,輸入字長32位,高位先,設(shè)置采樣率8 kHz。設(shè)置完后激活數(shù)字接口。

(2)數(shù)據(jù)的傳輸

完成設(shè)備的初始化后,就要設(shè)置傳輸控制描述符TCD的相關(guān)寄存器以控制eDMA的傳輸。以音頻驅(qū)動(dòng)中的放音過程為例,該過程的音頻數(shù)據(jù)由處理器內(nèi)核傳送到SSI發(fā)送寄存器。音頻數(shù)據(jù)分為左右2個(gè)聲道,所以啟動(dòng)2個(gè)eDMA通道——通道11和通道12——負(fù)責(zé)傳送數(shù)據(jù)。設(shè)置次循環(huán)的大小為4字節(jié),由于是2個(gè)通道傳輸,所以1次次循環(huán)共8字節(jié)。若一次主循環(huán)需要傳完的數(shù)據(jù)為count字節(jié),那么設(shè)置主循環(huán)中包含的次循環(huán)數(shù)為count/8。最后允許通道 12的主循環(huán)中斷,并開啟2個(gè)通道,開始傳輸。下面以通道ll為例來說明eDMA的設(shè)置流程(TCD代表通道11):



通道12的設(shè)置基本與通道11相同,只有一點(diǎn)不同,就是在開啟通道12傳輸?shù)耐瑫r(shí)允許通道12的大循環(huán)中斷。音頻驅(qū)動(dòng)中的錄音過程與放音過程 eDMA設(shè)置相似,只是音頻數(shù)據(jù)的傳送方向是由SSI接收寄存器傳輸?shù)教幚砥鲀?nèi)核。

設(shè)計(jì)完成后的音頻驅(qū)動(dòng)經(jīng)測(cè)試,在系統(tǒng)任務(wù)繁重的情況下(例如MP3文件解碼并實(shí)時(shí)播放),仍然可以完成正常語音播放,效果良好。

結(jié)語

本文分析了一種增強(qiáng)型直接內(nèi)存存取eDMA的訪問機(jī)制,并通過實(shí)例闡述了eDMA的典型應(yīng)用。eDMA模塊加快了數(shù)據(jù)傳輸?shù)乃俣,減少了CPU的干預(yù)。并且它在TCD中設(shè)置了主循環(huán)和次循環(huán)傳輸,從而增強(qiáng)了單次單通道的傳輸數(shù)據(jù)量,也增強(qiáng)了傳輸?shù)撵`活性。

參考文獻(xiàn)

   1. Freescale MCF5329 Reference Manual
   2. TI.TLV320DAC23 User's Manual

作者:成都電子科技大學(xué) 薛煒  李廣軍  郭志勇
來源:單片機(jī)嵌入式系統(tǒng)應(yīng)用  2009 (1)
本文地址:http://m.54549.cn/thread-10777-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

相關(guān)在線工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表