• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > 增強型 eDMA的結構與典型應用

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

    作者: 時間:2009-02-12 來源:網絡 收藏


    3 驅動設計
    TLV320DAC23與MCF5329之間的數據傳輸采用I2S格式,由MCF5329的同步串行接口SSI實現與TLV320DAC23的數據傳輸。MCF5329處理器內核與同步串行接口SSI發送/接收寄存器之間的音頻數據傳輸采用機制傳輸,由MCF5329中的模塊實現。
    3.1 硬件連接
    TLV320DAC23與MCF5329的接口有兩個:一個是控制接口,用于設置TLV320DAC23的寄存器,從而設置它的工作參數;一個是數字音頻接口,用于傳輸TLV320DAC23的音頻數據并控制數據的時序。本設計采用由MCF5329提供的時鐘信號,所以將MCF5329設為主設備,TLV320DAC23作為從設備。音頻數據采用I2S音頻格式傳輸,控制字通過SPI接口傳輸。具體連接如圖2所示。

    3.2 軟件設計
    (1)設備的初始化
    同步串行接口SSI的初始化包括對控制寄存器、傳輸配置寄存器和接收配置寄存器、時鐘配置寄存器、發送時隙掩碼寄存器和接收時隙掩碼寄存器以及中斷允許寄存器的配置。最后設置中斷源和中斷級別。
    的初始化包括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 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 友谊县| 周至县| 合川市| 靖远县| 海南省| 健康| 丽水市| 盐源县| 明星| 漾濞| 外汇| 开封市| 新野县| 茌平县| 苍南县| 华阴市| 玉山县| 墨玉县| 涪陵区| 东源县| 大同县| 新干县| 平和县| 德安县| 张家界市| 济源市| 茶陵县| 恭城| 麻栗坡县| 乳山市| 修武县| 开化县| 宕昌县| 西峡县| 湾仔区| 庆安县| 紫金县| 山阳县| 大英县| 呈贡县| 黔南|