AU7842實(shí)現(xiàn)車(chē)載MP3播放器 - 全文
AU7842是MVSILICON公司設(shè)計(jì)的一款集成了微控制器、MP3/WMA解碼器、USB主機(jī)控制器、SD/MMC卡控制器、16 bit音頻解碼器和一個(gè)紅外線解碼器的MP3/WMV音頻解碼芯片。本文介紹用STC12C561624 AD通過(guò)I2C總線控制AU7842芯片,運(yùn)用軟件對(duì)寄存器的讀寫(xiě)操作,實(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ù)傳輸可以通過(guò)沖突檢測(cè)和仲裁,防止數(shù)據(jù)被破壞。每個(gè)連接到總線的器件都可以通過(guò)唯一的地址和一直存在的簡(jiǎn)單的主機(jī)/從機(jī)關(guān)系軟件設(shè)定地址;主機(jī)可以作為主機(jī)發(fā)送器或主機(jī)接收器[1]。
1.2 AU7842芯片原理
AU7842芯片是將在存儲(chǔ)器中以數(shù)字信號(hào)形式存儲(chǔ)的音樂(lè)解碼成可以播放的模擬信號(hào)。它可以解碼MP3和WMA兩種格式的音頻信號(hào)。工作原理如圖1所示。開(kāi)機(jī)后,單片機(jī)循環(huán)檢測(cè)解碼芯片周?chē)娐返膭?dòng)作。當(dāng)檢測(cè)到芯片外圍有存儲(chǔ)設(shè)備接入,單片機(jī)控制芯片直接訪問(wèn)存儲(chǔ)器里的內(nèi)容,讀取數(shù)據(jù)送入MP3/WMA解碼器,解碼得到的數(shù)字信號(hào)通過(guò)數(shù)模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號(hào),經(jīng)模擬音頻放大和低通濾波,就可以聽(tīng)到音樂(lè)[2]。
?
2 硬件電路
2.1 電路設(shè)計(jì)
根據(jù)車(chē)載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í),通過(guò)外部中斷喚醒單片機(jī)工作,這樣最大限度地減少功耗[3]。其計(jì)算速度是普通單片機(jī)的8~12倍。播放器電路圖如圖2所示。
?
2.2 外圍硬件模塊
本文以STC12C5624AD單片機(jī)為核心,來(lái)控制其他模塊的工作。硬件模塊框圖如圖3示。
?
(1)電源模塊:完成對(duì)整個(gè)MP3播放器的供電。電源模塊的電壓輸入端是發(fā)電機(jī)或蓄電池,電壓經(jīng)過(guò)開(kāi)關(guān)型集成穩(wěn)壓電路(LM2575/LM2576),得到的輸出電壓穩(wěn)定且紋波小[4]。
(2)LCD模塊:顯示MP3播放時(shí)的曲目序號(hào)、播放的時(shí)間、文件的格式以及播放模式。
(3)按鍵模塊:結(jié)合軟件可以實(shí)現(xiàn)控制MP3播放器的工作,如瀏覽播放、順序播放、隨機(jī)播放以及不同播放音效之間的切換等。
(4)MP3模塊:讀取存儲(chǔ)設(shè)備(SD卡/U盤(pán))中的音頻文件(MP3/WMA),通過(guò)數(shù)模轉(zhuǎn)換將數(shù)字信號(hào)解碼成模擬信號(hào)。
(5)音效模塊:音效模塊提供音效處理功能。來(lái)自MP3模塊的音頻信號(hào)經(jīng)過(guò)音效處理,能夠以爵士、搖滾、古典、流行等多種音效播放音樂(lè),帶給聽(tīng)眾很好的聽(tīng)覺(jué)感受。
(6)其他:包括USB接口和SD接口等。
3 軟件設(shè)計(jì)
MP3播放器受控于按鍵模塊,單片機(jī)循環(huán)檢測(cè)按鍵模塊按鍵的動(dòng)作,并通過(guò)軟件對(duì)相關(guān)的寄存器進(jìn)行讀寫(xiě)操作,實(shí)現(xiàn)MP3播放器相應(yīng)的功能。
3.1存儲(chǔ)設(shè)備讀取及切換
單片機(jī)循環(huán)檢測(cè)芯片外圍電路電平的變化,判斷當(dāng)前是否有存儲(chǔ)設(shè)備插入,是否須進(jìn)行存儲(chǔ)設(shè)備之間的切換。通過(guò)軟件改變相應(yīng)標(biāo)志位的值,實(shí)現(xiàn)存儲(chǔ)設(shè)備的讀取或存儲(chǔ)設(shè)備的切換。讀取流程如圖4所示。
?
MP3處理模塊子程序:
if(mp3_start_flag==1) /*初次插入設(shè)備*/
{ ……
mp3_flag=1;
/*AU7842啟動(dòng)標(biāo)志位置位,開(kāi)始響應(yīng)*/
currentchannel=0x01;
if(Current_PlayDev==1) /*檢測(cè)到USB接口有存儲(chǔ)
設(shè)備接入*/
{ ……
Play_BreakPoint_USB(1);
/*讀取USB存儲(chǔ)設(shè)備中的數(shù)據(jù) */
}
else if(Current_PlayDev==2)
/*檢測(cè)到SD接口有存儲(chǔ)設(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存儲(chǔ)器*/
{ 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存儲(chǔ)器播放*/
}
}
3.2掉電記憶功能
為滿足使用的要求,車(chē)載MP3播放器應(yīng)具有掉電記憶功能。掉電記憶功能可實(shí)現(xiàn)MP3播放器在掉電或關(guān)機(jī)后,上次各種設(shè)定值(如音量、音效、播放模式等)不會(huì)因斷電而復(fù)位,在下一次開(kāi)機(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曲目順序號(hào)*/
… …
Wirte_EEPROM(0x0703,Save_USB_Min1);
/*記憶掉電前USB中正在播放曲目的播放時(shí)間*/
… …
Wirte_EEPROM(0x0707,Save_SD_Song1);
/*記憶掉電前SD中正在播放的曲目順序號(hào)*/
… …
Wirte_EEPROM(0x070a,Save_SD_Min1);}
/*記憶掉電前USB中正在播放曲目的播放時(shí)間*/
本文設(shè)計(jì)的車(chē)載MP3播放器,在MP3音頻文件存儲(chǔ)設(shè)備方面有較大的突破,新型大容量存儲(chǔ)設(shè)備(SD卡等)取代了傳統(tǒng)卡帶存儲(chǔ),并能夠以多種音效播放。系統(tǒng)操作簡(jiǎn)便, MP3播放性能良好。
- 第 1 頁(yè):AU7842實(shí)現(xiàn)車(chē)載MP3播放器
- 第 2 頁(yè):軟件設(shè)計(jì)
- 第 3 頁(yè):掉電記憶功能
本文導(dǎo)航
非常好我支持^.^
(2) 100%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
- [電子說(shuō)] 使用MC34063設(shè)計(jì)的mp3播放器充電器 2023-10-06
- [電子說(shuō)] 基于CW32的MP3播放器設(shè)計(jì) 2023-09-06
- [電子說(shuō)] 用于MP3播放器塢站的D類(lèi)、2.1聲道音頻放大器參考設(shè)計(jì) 2023-06-12
- [電子說(shuō)] 如何構(gòu)建一個(gè)簡(jiǎn)單而強(qiáng)大的MP3播放器 2023-01-25
- [電子說(shuō)] 如何使用CATALEX的Mp3播放器 2022-05-13
- [今日頭條] 游泳也有音樂(lè)相伴,韶音OpenSwim運(yùn)動(dòng)MP3播放器全新上市 2021-07-15
- [電子說(shuō)] 游泳也有音樂(lè)相伴,韶音OpenSwim運(yùn)動(dòng)MP3播放器全新上市 2021-07-12
- [電子說(shuō)] 使用Arduino和DFPlayer迷你MP3播放器模塊制作帶有LCD的MP3播放器 2020-12-07
( 發(fā)表人:小蘭 )