音頻編解碼芯片接口的FPGA應用
介紹了音頻編解碼芯片WM8731基于FPGA的接口電路的設計,包括芯片配置模塊與音頻數據接口模塊等,使得控制器只通過寄存器就可以方便地對其進行操作。整個設計以VHDL和Verilog HDL語言在Max+Plus Ⅱ里實現,并進行了驗證。
本文引用地址:http://m.butianyuan.cn/article/150202.htm1 概 述
WM873l是一款功能強大的低功耗立體聲24位音頻編解碼芯片,其高性能耳機驅動器、低功耗設計、可控采樣頻率、可選擇的濾波器使得WM8731芯片廣泛使用于便攜式MP3,CD,PDA的場合。其結構框圖如圖1所示。
WM8731包含2個線路輸入和1路麥克風輸入并可以進行音量調節(jié);內置片上ADC(模擬數字轉換器)及可選擇的高通數字濾波器;采用高品質過采樣率結構的DAC(數字模擬轉換器);線路輸出和耳機輸出;內置晶體振蕩器以及可配置的數字音頻接口和2或3線可選的微處理器控制接口等??刂破骺赏ㄟ^控制接口(Control Interface)對WM8731進行配置,然后通過數字音頻接口(Digtal Audio Interface)讀寫數據音頻信號。本文設計了一種基于FPGA的驅動模塊,將WM8731的控制接口與數字音頻接口轉換為控制器通用的總線接口,使控制器可以像讀寫外部寄存器一樣對WM8731芯片進行控制使用。
2 WM8731芯片接口時序介紹
2.1 控制接口時序
WM8731的控制接口有4根引腳,分別為:MODE(控制接口選擇線)、CSB(片選或地址選擇線)、SDIN(數據輸入線)和SCLK(時鐘輸入線)。它具有2線和3線兩種模式。2線為MPU接口,3線為兼容SPI接口。對控制接口的配置選擇可通過設置MODE腳的狀態(tài)完成。選擇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傳輸。
adc相關文章:adc是什么
fpga相關文章:fpga是什么
數字濾波器相關文章:數字濾波器原理
評論