摘 要: 介紹了AU7842 解碼芯片在車載MP3播放器中的應(yīng)用,根據(jù)車載供電的特點(diǎn)設(shè)計(jì)電路,實(shí)現(xiàn)了省電模式下低功耗操作;利用I2C總線通信,控制AU7842芯片相應(yīng)的寄存器實(shí)現(xiàn)音頻文件的解碼,并通過軟件編程實(shí)現(xiàn)瀏覽播放、隨機(jī)播放等多樣化的播放模式,滿足不同的播放要求。結(jié)合音效處理,播放器可實(shí)現(xiàn)搖滾、爵士、流行等多種音效播放。
關(guān)鍵詞: 車載MP3播放器;AU7842;低功耗;I2C總線
AU7842是MVSILICON公司設(shè)計(jì)的一款集成了微控制器、MP3/WMA解碼器、USB主機(jī)控制器、SD/MMC卡控制器、16 bit音頻解碼器和一個(gè)紅外線解碼器的MP3/WMV音頻解碼芯片。在同一芯片上集成了MP3播放器所需要的全部關(guān)鍵解碼組件,只需少量的外圍元件,降低了布線要求,節(jié)省了成本。本文介紹用STC12C561624 AD通過I2C總線控制AU7842芯片,運(yùn)用軟件對寄存器的讀寫操作,實(shí)現(xiàn)多種音效的MP3播放。
1 I2C總線技術(shù)及AU7842芯片原理
1.1 I2C協(xié)議
I2C總線作為同步串行數(shù)據(jù)輸出總線,由一條串行數(shù)據(jù)線(SDA)和一條串行時(shí)鐘線(SCL)組成。它是一個(gè)真正的多主機(jī)總線,如果2個(gè)或更多主機(jī)同時(shí)初始化數(shù)據(jù)傳輸可以通過沖突檢測和仲裁,防止數(shù)據(jù)被破壞。每個(gè)連接到總線的器件都可以通過唯一的地址和一直存在的簡單的主機(jī)/從機(jī)關(guān)系軟件設(shè)定地址;主機(jī)可以作為主機(jī)發(fā)送器或主機(jī)接收器[1]。
1.2 AU7842芯片原理
AU7842芯片是將在存儲器中以數(shù)字信號形式存儲的音樂解碼成可以播放的模擬信號。它可以解碼MP3和WMA兩種格式的音頻信號。工作原理如圖1所示。開機(jī)后,單片機(jī)循環(huán)檢測解碼芯片周圍電路的動(dòng)作。當(dāng)檢測到芯片外圍有存儲設(shè)備接入,單片機(jī)控制芯片直接訪問存儲器里的內(nèi)容,讀取數(shù)據(jù)送入MP3/WMA解碼器,解碼得到的數(shù)字信號通過數(shù)模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號,經(jīng)模擬音頻放大和低通濾波,就可以聽到音樂[2]。
2 硬件電路
2.1 電路設(shè)計(jì)
根據(jù)車載MP3播放器的特點(diǎn)選STC12C5624 AD系列單片機(jī)。該單片機(jī)是臺灣宏晶公司推出的51增強(qiáng)型單片機(jī),其具有低功耗,計(jì)算速度快等特點(diǎn)。當(dāng)關(guān)閉MP3播放器時(shí),單片機(jī)進(jìn)入低功耗休眠狀態(tài),單片機(jī)切斷所有外圍模塊的供電。播放器需要工作時(shí),通過外部中斷喚醒單片機(jī)工作,這樣最大限度地減少功耗[3]。其計(jì)算速度是普通單片機(jī)的8~12倍。播放器電路圖如圖2所示。
2.2 外圍硬件模塊
本文以STC12C5624AD單片機(jī)為核心,來控制其他模塊的工作。硬件模塊框圖如圖3示。
(1)電源模塊:完成對整個(gè)MP3播放器的供電。電源模塊的電壓輸入端是發(fā)電機(jī)或蓄電池,電壓經(jīng)過開關(guān)型集成穩(wěn)壓電路(LM2575/LM2576),得到的輸出電壓穩(wěn)定且紋波小[4]。
(2)LCD模塊:顯示MP3播放時(shí)的曲目序號、播放的時(shí)間、文件的格式以及播放模式。
(3)按鍵模塊:結(jié)合軟件可以實(shí)現(xiàn)控制MP3播放器的工作,如瀏覽播放、順序播放、隨機(jī)播放以及不同播放音效之間的切換等。
(4)MP3模塊:讀取存儲設(shè)備(SD卡/U盤)中的音頻文件(MP3/WMA),通過數(shù)模轉(zhuǎn)換將數(shù)字信號解碼成模擬信號。
(5)音效模塊:音效模塊提供音效處理功能。來自MP3模塊的音頻信號經(jīng)過音效處理,能夠以爵士、搖滾、古典、流行等多種音效播放音樂,帶給聽眾很好的聽覺感受。
(6)其他:包括USB接口和SD接口等。
3 軟件設(shè)計(jì)
MP3播放器受控于按鍵模塊,單片機(jī)循環(huán)檢測按鍵模塊按鍵的動(dòng)作,并通過軟件對相關(guān)的寄存器進(jìn)行讀寫操作,實(shí)現(xiàn)MP3播放器相應(yīng)的功能。
3.1存儲設(shè)備讀取及切換
單片機(jī)循環(huán)檢測芯片外圍電路電平的變化,判斷當(dāng)前是否有存儲設(shè)備插入,是否須進(jìn)行存儲設(shè)備之間的切換。通過軟件改變相應(yīng)標(biāo)志位的值,實(shí)現(xiàn)存儲設(shè)備的讀取或存儲設(shè)備的切換。讀取流程如圖4所示。
MP3處理模塊子程序:
if(mp3_start_flag==1) /*初次插入設(shè)備*/
{ ……
mp3_flag=1;
/*AU7842啟動(dòng)標(biāo)志位置位,開始響應(yīng)*/
currentchannel=0x01;
if(Current_PlayDev==1) /*檢測到USB接口有存儲
設(shè)備接入*/
{ ……
Play_BreakPoint_USB(1);
/*讀取USB存儲設(shè)備中的數(shù)據(jù) */
}
else if(Current_PlayDev==2)
/*檢測到SD接口有存儲設(shè)備接入*/
{ ……
Play_BreakPoint_SD(1); /*讀取SD卡中的數(shù)據(jù)*/
}
} /* */
if((Dev_Status!=0)&&(Current_DevStatus!=Dev_Status)&&(Current_DevStatus==DEV_USB_SD))
/*后設(shè)備的啟動(dòng)播放*/
{ ……
if(Current_PlayDev==DEV_USB)
/*正在播放的USB存儲器*/
{ DEV_Change_Flag=1; /*切換標(biāo)志位置位*/
uart_putc(0x55);
uart_putc(0x00);
uart_putc(0xFF);
uart_putc(0x15);
uart_putc(0xEA);
……
Play_BreakPoint_SD(1);
/*切換到從SD卡播放*/
}
else if(Current_PlayDev==
DEV_SD) /*正在播放的是SD卡*/
{ DEV_Change_Flag=1; /*切換標(biāo)志位置位*/
uart_putc(0x55);
uart_putc(0x00);
uart_putc(0xFF);
uart_putc(0x1B);
uart_putc(0xE4);
……
Play_BreakPoint_USB(1);
/*切換到從USB存儲器播放*/
}
}
3.2掉電記憶功能
為滿足使用的要求,車載MP3播放器應(yīng)具有掉電記憶功能。掉電記憶功能可實(shí)現(xiàn)MP3播放器在掉電或關(guān)機(jī)后,上次各種設(shè)定值(如音量、音效、播放模式等)不會因斷電而復(fù)位,在下一次開機(jī)時(shí)不需重新設(shè)定,可以直接調(diào)用上次設(shè)定值。記憶流程如圖5所示。
掉電記憶子程序:
void Save_Data(void) /*定義掉電記憶函數(shù)*/
{ Wirte_EEPROM(0x06db,vol_val);
/*記憶掉電前音量設(shè)定值*/
Wirte_EEPROM(0x06dc,bass_val);
/*記憶掉電前低音設(shè)定值*/
Wirte_EEPROM(0x06dd,tre_val);
/*記憶掉電前高音設(shè)定值*/
Wirte_EEPROM(0x06de,loud_val);
/*記憶掉電前低音設(shè)定值*/
Wirte_EEPROM(0x0700,Save_USB_Song1);
/*記憶掉電前USB曲目順序號*/
… …
Wirte_EEPROM(0x0703,Save_USB_Min1);
/*記憶掉電前USB中正在播放曲目的播放時(shí)間*/
… …
Wirte_EEPROM(0x0707,Save_SD_Song1);
/*記憶掉電前SD中正在播放的曲目順序號*/
… …
Wirte_EEPROM(0x070a,Save_SD_Min1);}
/*記憶掉電前USB中正在播放曲目的播放時(shí)間*/
本文設(shè)計(jì)的車載MP3播放器,在MP3音頻文件存儲設(shè)備方面有較大的突破,新型大容量存儲設(shè)備(SD卡等)取代了傳統(tǒng)卡帶存儲,并能夠以多種音效播放。系統(tǒng)操作簡便, MP3播放性能良好。為保證播放器穩(wěn)定工作,實(shí)驗(yàn)?zāi)M汽車行駛狀況[5]:將播放器分別置于零下40℃和60℃環(huán)境中進(jìn)行極限溫度試驗(yàn)并置于四度一體空間振動(dòng)試驗(yàn)臺上進(jìn)行振動(dòng)測試,播放器長時(shí)間運(yùn)行,各項(xiàng)功能穩(wěn)定,播放性能良好。該款播放器已經(jīng)成功應(yīng)用在某些品牌工程車上。
參考文獻(xiàn)
[1] 譚昭禹,顏永紅,馬勛.音頻子系統(tǒng)中的I2C接口電路設(shè)計(jì)[J]. 微計(jì)算機(jī)信息,2008,24(26):252-254.
[2] Shanghai Mountain View Silicon Technology Co Ltd. AU7842 USB HOST MP3/WMA DECODER SOC[DB/OL], 2007,6.
[3] 邸春芳.車載MP3的應(yīng)用設(shè)計(jì)[J]. 計(jì)量與測試技術(shù),2008,35(9);36-38.
[4] 李文.一種新型5 V大功率開關(guān)穩(wěn)壓電源[J].微電子學(xué),2003,33(1):74-77
[5] GRAZIANO M, ROCH M R R. An automotive CD-player electro-mechanics fault simulation using VHDL-AMS[J]. Journal of Electronic Testing, 2008(6): 539-553.