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

    EEPW首頁 > 嵌入式系統 > 設計應用 > 基于FPGA的音頻編解碼芯片接口設計應用

    基于FPGA的音頻編解碼芯片接口設計應用

    作者: 時間:2011-12-05 來源:網絡 收藏
      概 述

      WM873l是一款功能強大的低功耗立體聲24位芯片,其高性能耳機驅動器、低功耗設計、可控采樣頻率、可選擇的濾波器使得WM8731芯片廣泛使用于便攜式MP3,CD,PDA的場合。其結構框圖如圖1所示。


      wM8731包含2個線路輸入和1路麥克風輸入并可以進行音量調節;內置片上ADC(模擬數字轉換器)及可選擇的高通數字濾波器;采用高品質過采樣率結構的DAC(數字模擬轉換器);線路輸出和耳機輸出;內置晶體振蕩器以及可配置的數字音頻接口和2或3線可選的微處理器控制接口等。控制器可通過控制接口(Control Interface)對WM8731進行配置,然后通過數字音頻接口(Digtal Audio Interface)讀寫數據音頻信號。本文設計了一種基的驅動模塊,將WM8731的控制接口與數字音頻接口轉換為控制器通用的總線接口,使控制器可以像讀寫外部寄存器一樣對WM8731芯片進行控制使用。

      2 WM8731芯片接口時序介紹

      2.1 控制接口時序

      WM8731的控制接口有4根引腳,分別為:MODE(控制接口選擇線)、CSB(片選或地址選擇線)、SDIN(數據輸入線)和SCLK(時鐘輸入線)。它具有2線和3線兩種模式。2線為MPU接口,3線為兼容SPI接口。對控制接口的配置選擇可通過設置MODE腳的狀態完成。選擇MODE為0時為2線模式,1時為3線模式。本文采用2線模式對WM8731進行控制。其時序圖如圖2所示。


      2.2 數字音頻接口時序

      WM8731的數字音頻接口有5根引腳,分別為:BCLK(數字音頻位時鐘)、DACDAT(DAC數字音頻數據輸入)、DACIRC(DAC采樣左/右聲道信號)、ADC-DAT(ADC數字音頻信號輸出)、ADCLRC(ADC采樣左/右聲道信號)。

      數字音頻接口可以工作在主模式和從模式下。地址為0000111的寄存器的第6位設置數據的主/從模式:“1”為主模式,“0”為從模式。ADCDAT、/DACDAI和ADCLRC/DACLRC與位時鐘BCIK同步,在每個BCLK的下降沿進行一次傳輸。BCLK和ADCLRC/DACLRC在主模式時為輸出信號,從模式下為輸入信號。DAC-DAT始終為輸入信號,ADCDAT始終為輸出信號。

      數字輸出支持4種音頻數據模式:右對齊、左對齊、I2S和DSP模式。通過對寄存器的不同配置,可以設置傳輸的數據格式。寄存器配置值如下:

      寄存器地址0000111的1~0位設置音頻格式:“11”時為DSF’格式,“10”為I2S格式,“01”為左對齊格式,“00’’為右對齊格式。

      3~2位設置字長:“11”時為32位,“10”為24位,“01”為20位,“00’’為16位。

      這四種音頻格式都是高位(MSB)在前,16~32位。但32位數據不支持右對齊模式。

      本文采用主模式的左對齊數據格式,左對齊數據格式傳輸如圖3:左對齊格式時,MSB在BCLK的第一個上升沿有效,緊接著是一個ADCLRC或DACLRC傳輸。


      3 WM8731芯片驅動的FPGA設計

      3.1 驅動器的總體設計方案

      本文設計驅動器在使用時的框圖如圖4所示。雙口RAM和驅動器一同連接在控制器的數據總線和地址總線上,控制器只需提供少量的控制線即可完成對芯片wM8731的控制及數據交換功能。


      驅動器內部結構框圖如圖5所示。控制部分提供驅動器與控制器之間的接口(包含有數據總線信號、地址總線信號和控制信號),同時產生控制字轉換單元和數字音頻接口單元的控制信號;內部寄存器緩存控制字和狀態字;控制字轉化單元負責將控制字串行發送給WM8731,同時效驗傳送信號;數據音頻接口單元完成WM8731與外部雙口RAM的串并轉換,實現對數字音頻信號的發送和接收功能。






      3.2.2 控制字轉換單元

      當START控制位置‘1’時,將控制字寄存器中的數據串行發送給WM8731,當傳輸出現錯誤時,將狀態寄存器中的ACK位置1。如圖6所示。


      3.2.3 數字音頻接口單元

      當讀入數字音頻標志位C1為‘1’,接收WM873l芯片傳來的數字音頻數據并將其存入外部雙口RAM中,當輸出數字音頻數據標志位C2為‘1’時,將雙口RAM中的音頻數據發送給wM8731。如圖7所示。


      3.3 系統仿真

      下面給出控制器通過該驅動模塊對WM8731寫控制字的時序仿真如圖8所示。圖中各引腳定義如表2所示。




      4 結 語

      利用FPGA對芯片WM8731進行接口電路的設計,實現了控制接口與數字音頻接口的統一控制,簡化了對音頻編解碼芯片WM8731的使用步驟,具有擴展性好、使用簡單方便、易于升級等優點,對其他芯片的接口設計也有一定的參考意義。


    數字濾波器相關文章:數字濾波器原理


    關鍵詞: 于FPGA 音頻編解碼

    評論


    技術專區

    關閉
    主站蜘蛛池模板: 桃源县| 定襄县| 日喀则市| 德安县| 都江堰市| 南京市| 江城| 教育| 佛冈县| 张家川| 高雄市| 博乐市| 英山县| 自治县| 海宁市| 和林格尔县| 西城区| 崇信县| 万全县| 雅安市| 常州市| 清丰县| 巩义市| 祁东县| 永兴县| 虞城县| 临邑县| 孝昌县| 德钦县| 保康县| 克东县| 离岛区| 平远县| 昌乐县| 大洼县| 乌恰县| 辽阳市| 六枝特区| 大渡口区| 阿巴嘎旗| 将乐县|