基于便攜式DAB接收機的MP3播放器設計
該文件中,奇數項數據是I2C寄存器地址,偶數項數據是相對應的I2C寄存器缺省數值。STA013配置文件解析如圖4所示。STA013和DAC的I2C地址分別為1000011和0010011,所以復用MCU的I2C總線接口時不存在設備沖突的問題。
圖4 STA013配置文件解析
I2C總線接口讀寫數據時序如圖5所示。
圖5 I2C總線讀寫數據時序示意圖
采用Mentor公司的PADS軟件繪制電路圖?;赟TA013解碼芯片和DAB系統(tǒng)各部分的連接電路如圖6所示。
圖6 STA013解碼芯片與DAB系統(tǒng)連接電路
MP3解碼的工作流程:
① 解碼芯片的初始化。初始化STA013包括如下幾個步驟:硬件復位STA013;SPI初始化;將由ST公司提供的配置文件通過I2C接口寫入解碼芯片;對解碼后的PCM數據、PLL、解碼器工作模式以及輸入比特流時鐘極性等進行配置。
② 音頻數據的傳送。由于STA013具有較強的解碼功能,因此當STA013需要數據(DATA_REQ為高)時,須立即通過SDI接口以盡可能快的速度(但要低于20 Mbps)傳送給它。可以通過設置SPI總線的SPICLK來實現,這里將SPI時鐘設置為4 MHz。數據以扇區(qū)為單位從MCU發(fā)向解碼芯片的緩沖器,注意在用SPI傳送數據時,需將BIT_EN端口置高才能進行有效的傳送。STA013會自動決定數據輸入與輸出傳輸率的大小,當其緩沖存儲器飽和時,它會終止數據請求。對于易變的比特流的MP3數據,STA013也能自動處理。另外,它還能根據自動探測到的MP3的采樣頻率合理調整DAC的時鐘。
③ 對音頻數據的解碼。通過獲取MP3文件幀頭來獲取一些解碼參數,從而自動適應不同MP3音頻流的解碼。例如,可以通過解碼參數中的采樣頻率來自動調整音頻的輸出時鐘頻率等。
④ 解碼后音頻流的輸出??蓪TA013的 SDO(PCM串行數據輸出)、SCKT(PCM串行時鐘輸出)、OCLK(采樣時鐘)和LRCLK(左右聲道時鐘輸出)引腳,分別與MAX9850的SDIN(串行數據輸入)、BCLK(數字音頻位時鐘輸入)、MCLK(主時鐘輸入)和LRCLK(左右聲道時鐘輸入)相連。解碼后音頻流經過DAC轉換為模擬音頻信號后,再通過耳機功放,便可由耳機輸出完整的PCM音頻。
結語
該設計MP3解碼方案是基于一種DAB接收機所提出的。由于該款DAB接收機采用的基帶解碼芯片ID200擁有極低功耗性(26 mW/128 kbps),所以MP3解碼功能的加入首先要從整機功耗和成本考慮。而STA013解碼芯片既滿足低功耗的要求,又具備價格優(yōu)勢,且技術成熟度較高,故成為方案設計首選。但其體積相對較大,在PCB布板時應優(yōu)化設計,以便符合便攜要求。隨著數字化廣播在我國的迅速普及與DAB技術成熟度的提升,在DAB基帶解碼芯片中融入MP3解碼功能,對于提高整機的便攜性、開發(fā)簡易性起到至關重要的作用,這將是今后優(yōu)化設計方案的一個重要方向。
評論