国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

增強型 eDMA的結構與典型應用

發布時間:2010-4-24 21:29    發布者:李寬
關鍵詞: eDMA , 典型 , 結構 , 應用 , 增強型
eDMA是enhanced Direct Memory Access的簡稱,即增強型直接內存存取。它是用于快速數據交換的重要技術,具有獨立于CPU的后臺批量數據傳輸能力,能夠滿足實時處理中高速數據傳輸的要求。在ColdFire系列MCU中的MCF5329EVB平臺上實現的音頻系統,為了滿足系統的實時性要求,采用eDMA來完成音頻數據的傳輸。 MCF5329EVB提供了一個eDMA控制器,可以滿足大量數據的實時傳送需求。

1 eDMA介紹

1.1 eDMA的結構

eDMA模塊框圖如圖1所示。



從eDMA的模塊結構圖可以看出,eDMA模塊包括兩個主要模塊:eDMA引擎和傳輸控制描述符TCD單元。其中,eDMA引擎的功能主要包括源地址和目的地址的計算和實際的數據搬移操作;TCD單元的功能是為每個通道定義傳輸的源地址和目的地址、次循環的大小、單次傳輸的字節量及傳輸方式等信息。

eDMA引擎由如下4個子模塊組成:

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

②數據路徑模塊。執行數據的讀寫,包括16字節的寄存器存儲區域,并支持多種數據排列方式。

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

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

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

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

②內存陣列。TCD存儲區是一個單端口同步的RAM陣列。每個通道都有1個TCD單元,每個TCD有32字節,由11個寄存器組成。

1.2 eDMA的操作

MCF5329的eDMA有16個數據傳輸通道,每一個通道由一個傳輸控制描述符TCD進行描述。TCD不僅記錄了數據傳輸的源和目的地址,還記錄了當前傳輸地址相對于起始地址的偏移。該偏移由一個主循環(maior loop)和一個次循環(minor loop)來表示。當一個通道在傳輸時,次循環中的數據傳輸完成之后,eDMA引擎中的當前源地址、目的地址和外循環的大小會被寫回TCD存儲區域,并執行通道連接的其他通道傳輸。每一個次循環執行完,當前外循環計數器就會減1;當外循環計數器減為O時,eDMA會向處理器發起一次中斷請求,請求下一次 eDMA傳輸的源和目的地址。一次主循環所能傳送的最大字節數由用戶所分配的eDMA緩沖區大小決定。

1.3 eDMA基本數據流

eDMA基本數據流可被劃分為三段。

第一段是通道激活。以外圍硬件請求激活通道為例,eDMA請求輸入信號首先經由控制子模塊進入編程模型和通道仲裁模塊,確定采用固定優先級還是聯合通道仲裁(固定優先級仲裁是先給具有最高優先級的通道服務,聯合通道優先級是先給通道編號最大的通道服務);確定通道后,被確定的通道號通過地址路徑模塊發送并轉換成需要的地址,用于在當地存儲區域中存取傳輸控制描述符TCD;相應的描述符讀取出來后被裝載到地址路徑模塊中的通道X或通道Y寄存器中。

第二段是真正的數據傳輸。源數據被讀取出來臨時,存儲在數據路徑塊中,然后在時鐘的驅動下將數據寫入到目標地址。整個讀寫過程持續到次循環數據結束。

第三段是TCD的更新和中斷請求的發生。一旦一個次循環數據傳輸完畢,數據流就進入第三段。在該段中,地址路徑邏輯會更新相應TCD中的特定區域,如源地址、目標地址和外循環計數。如果外循環計數減為O,則要進行額外的設置,包括最終地址調節。如果在此時有中斷請求發生,需要重新讀取一個新的 TCD。

2 TLV320DAC23介紹

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

(1)控制接口

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

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

SCLK:控制端口串行數據時鐘。

SDIN:控制端口串行數據輸入。

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

(2)數字音頻接口

數字音頻接口用于輸入TLV320DAC23的D/A數據。

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

DIN:I2S串行數據輸入。

DOUT:I2S串行數據輸出。

LRCIN/LRCOUT:字時鐘輸入/輸出信號,兩個信號共有的幀信號。在主模式中由DAC23產生該信號,在從模式中由主設備(如DSP或 MCU)產生該信號。

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

(3)時鐘接口

MCLK:芯片主時鐘信號。當TLV320DAC23作為主設備時,該信號由芯片自身產生;當TLV320DAC23作為從設備時,該信號由外部產生。

CLKOUT:時鐘輸出信號。可以為MCLK或MCLK/2。

3 音頻驅動設計

TLV320DAC23與MCF5329之間的音頻數據傳輸采用I2S音頻格式,由MCF5329的同步串行接口SSI實現與 TLV320DAC23的數據傳輸。MCF5329處理器內核與同步串行接口SSI發送/接收寄存器之間的音頻數據傳輸采用eDMA機制傳輸,由 MCF5329中的eDMA模塊實現。

3.1 硬件連接

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



3.2 軟件設計

(1)設備的初始化

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

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

具體代碼如下:



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

(2)數據的傳輸

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



通道12的設置基本與通道11相同,只有一點不同,就是在開啟通道12傳輸的同時允許通道12的大循環中斷。音頻驅動中的錄音過程與放音過程 eDMA設置相似,只是音頻數據的傳送方向是由SSI接收寄存器傳輸到處理器內核。

設計完成后的音頻驅動經測試,在系統任務繁重的情況下(例如MP3文件解碼并實時播放),仍然可以完成正常語音播放,效果良好。

結語

本文分析了一種增強型直接內存存取eDMA的訪問機制,并通過實例闡述了eDMA的典型應用。eDMA模塊加快了數據傳輸的速度,減少了CPU的干預。并且它在TCD中設置了主循環和次循環傳輸,從而增強了單次單通道的傳輸數據量,也增強了傳輸的靈活性。

參考文獻

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

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

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 無線充電基礎知識及應用培訓教程3
  • 無線充電基礎知識及應用培訓教程2
  • PIC18-Q71系列MCU概述
  • 基于CEC1712實現的處理器SPI FLASH固件安全彈性方案培訓教程
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产极品白嫩超清在线观看 | 在线观看视频亚洲 | 成人精品久久 | 网www天堂资源在线 王者荣耀之白丝玉足榨精 王茜麻豆 | 一区二区三区午夜 | 一个色亚洲| 日韩18在线观看 | 91亚洲视频 | 久久精品国产久精国产 | 天海翼在线观看亚洲一区 | 日韩精品免费一级视频 | 久久99精品久久 | 久久九九久精品国产 | 亚洲欧美一区二区三区图片 | 四虎影视884a精品国产古代 | 狠狠色狠狠色很很综合很久久 | 久久久婷婷 | 一级特黄国产高清毛片97看片 | 高清法国啄木乌系列在线播放 | 高清在线看 | 免费国产成人午夜私人影视 | 中文国产成人精品少久久 | 欧洲欧美人成在线视频免费下载 | 欧美黑人一区 | 日韩欧美一区二区三区免费看 | 日韩在线视频导航 | 日本中文字幕一区 | 妈妈的朋友韩国在线播放 | 国产91在线视频 | 国产一区二 | bytv跳转接口点击进入网页 | 欧美午夜激情影院 | 白丝袜护士水好多好紧白丝 | 91伦理| 窝窝影院午夜看片 | 2023国产在线观看 | 亚洲免费观看网站 | 色欧美视频 | 欧美抠逼视频 | 中文字幕日本亚洲欧美不卡 | 成年人在线免费播放 |