《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的MP3播放器設(shè)計(jì)
基于單片機(jī)的MP3播放器設(shè)計(jì)
現(xiàn)代電子技術(shù)
袁 衛(wèi) 黨紀(jì)源
摘要: 采用以STC89C58RD+單片機(jī)為控制核心設(shè)計(jì)MP3播放器,該系統(tǒng)通過(guò)單片機(jī)控制USB接口芯片CH375外接的U盤(pán),讀取數(shù)據(jù)并進(jìn)行緩沖,傳輸給專(zhuān)用MP3音頻解碼芯片VS1003,實(shí)現(xiàn)特定格式的音頻數(shù)據(jù)解碼。并通過(guò)耳機(jī)或有源音響輸出,經(jīng)測(cè)試,該MP3播放器可實(shí)現(xiàn)音頻播放功能,該播放器具有播放聲音流暢,操作簡(jiǎn)單,功耗低等特點(diǎn)。
Abstract:
Key words :

0 引言
    隨著電子技術(shù)的發(fā)展,MP3播放器是目前市場(chǎng)上流行的消費(fèi)類(lèi)數(shù)碼產(chǎn)品之一,具有大容童、高音質(zhì)、小巧便攜等特點(diǎn).而倍受廣大消費(fèi)者的青睞。本文采用ETC公司的微控制器STC89C58RD+,結(jié)合解碼芯片VS1003、USB接口芯片CH375、LCD等外圍設(shè)備設(shè)計(jì)并實(shí)現(xiàn)了MP3播放器。主要功能有:播放VS1003支持的所有音頻文件,包括MP3,WMA,WAV文件,且音質(zhì)非常好,具有按鍵控制播放上一首/下一首、音量增減等,可通過(guò)LCD顯示歌曲名字和播放狀態(tài)信息等功能。

1 硬件系統(tǒng)設(shè)計(jì)
   
系統(tǒng)工作原理框圖如圖1所示。系統(tǒng)啟動(dòng)后,單片機(jī)通過(guò)USB接口芯片CH375,從U盤(pán)中獲取MP3格式文件的數(shù)據(jù),并存入片內(nèi)RAM進(jìn)行緩沖,然后單片機(jī)定時(shí)將數(shù)據(jù)從緩沖區(qū)送到MP3音頻解碼芯片VS1003,實(shí)現(xiàn)解碼并輸出音頻信號(hào)到耳機(jī)或者有源音響輸出。用戶可以通過(guò)鍵盤(pán)實(shí)現(xiàn)“啟動(dòng)”、“上一曲”、“下一曲”、“音量控制”及“停止”等功能,并將播放狀態(tài)信息通過(guò)LCD顯示。系統(tǒng)框圖如圖1所示。


1.1 單片機(jī)讀取MP3數(shù)據(jù)模塊
   
數(shù)據(jù)讀取模塊包括單片機(jī)控制器,USB串行數(shù)據(jù)轉(zhuǎn)換成8位并行數(shù)據(jù)CH375芯片和MP3格式數(shù)據(jù)存儲(chǔ)U盤(pán)3部分。
1.1.1 單片機(jī)控制器
   
采用宏晶公司的STC89C58RD+單片機(jī),該單片機(jī)最高可工作于33 MHz時(shí)鐘,具有32 KB的FLASH,1 KB的內(nèi)部RAM,引腳與指令系統(tǒng)均與51單片機(jī)兼容。本設(shè)計(jì)中,單片機(jī)工作在30 MHz的系統(tǒng)時(shí)鐘下,能滿足系統(tǒng)對(duì)數(shù)據(jù)帶寬的要求。
1.1.2 USB接口芯片CH375
   
CH375是一個(gè)USB總線通用接口電路,支持HOST主機(jī)方式和SLAVE設(shè)備方式。CH375內(nèi)部集成了PLL倍頻器、主從USB接口SIE、數(shù)據(jù)緩沖區(qū)、被動(dòng)并行接口、異步串型接口、命令解釋器、控制傳輸?shù)膮f(xié)議處理器、通用的固件程序等。在本地端,CH375具有8位數(shù)據(jù)總線和讀、寫(xiě)、片選控制線及中斷輸出,可以方便地掛接到單片機(jī)、DSP等控制器的系統(tǒng)總線上,并內(nèi)置海量存儲(chǔ)固件。CH375的USB主機(jī)方式支持各種常用的USB全速設(shè)備,外部單片機(jī)、DSP、MCU可以通過(guò)CH375按照相應(yīng)的USB協(xié)議與USB設(shè)備通信,支持常用的12 Mb/s全速USB設(shè)備。
1.1.3 工作原理
   
利用單片機(jī)實(shí)現(xiàn)將U盤(pán)中的音頻數(shù)據(jù)經(jīng)CH375的USB轉(zhuǎn)串行接口傳送至單片機(jī)內(nèi)部RAM緩沖,以等待解碼。其中CH375是一款USB總線的通用接口芯片,可以方便地掛接到單片機(jī)的控制總線上,同時(shí)CH375的USB主機(jī)方式支持常用的USB全速設(shè)備,外部單片機(jī)可以通過(guò)CH375按照相應(yīng)的USB通信協(xié)議與USB設(shè)備通信。
    由于CH375內(nèi)置了USB通信協(xié)議,省去了對(duì)USB通信協(xié)議的了解,單片機(jī)可以直接調(diào)用API庫(kù)讀寫(xiě)U盤(pán)中的文件數(shù)據(jù),硬件上只需在51單片機(jī)系統(tǒng)中增加一個(gè)CH375芯片,綜合成本較低。CH375支持全速的USB-HOST主機(jī)接口,外圍元器件只需要少量晶體和電容,便可支持5 V電源電壓和3.3 V電源電壓,CH375芯片還支持低功耗模式,正常工作時(shí),需要外部為它提供12 MHz的時(shí)鐘信號(hào)。電路原理如圖2所示。


1.2 音頻解碼模塊
   
音頻解碼模塊包括2大部分單片機(jī)控制器和專(zhuān)用MP3音頻解碼芯片VS1003。
1.2.1 音頻解碼芯片VS1003
   
VS1003是一個(gè)單片MP3/WMA/MIDI音頻解碼器和ADPCM編程器。它包含一個(gè)高性能、自主產(chǎn)權(quán)的低功耗DSP處理器核VS_DSP,并提供5KB的指令RAM和0.5 KB的數(shù)據(jù)RAM。產(chǎn)生MIDI/SP-MIDI文件,內(nèi)含高性能片上立體聲數(shù)/模轉(zhuǎn)換器,兩聲道,無(wú)相位差,在播放音頻文件時(shí)不需要外加驅(qū)動(dòng)電路,VS1003內(nèi)部自帶耳機(jī)功放,只要調(diào)試好電路系統(tǒng),接入耳機(jī)就可以聽(tīng)到美妙的音樂(lè)。同時(shí),VS1003為用戶提供5.5 KB的片上RAM,并支持SPI串行通信的控制數(shù)據(jù)接口。
1.2.2 工作原理
   
系統(tǒng)上電啟動(dòng)后,由單片機(jī)控制將存儲(chǔ)于U盤(pán)中歌曲的MP3數(shù)據(jù)格式流信息通過(guò)CH375USB接口芯片送入到VS1003芯片中,通過(guò)VS1003芯片解碼及其內(nèi)含高質(zhì)量的立體聲DAC和耳機(jī)驅(qū)動(dòng)電路,實(shí)現(xiàn)MP3歌曲的播放,在按鍵的控制下,可實(shí)現(xiàn)對(duì)歌曲的選擇、音量增減等功能。VS1003的所有數(shù)據(jù)和控制命令均通過(guò)SPI總線接口實(shí)現(xiàn),由于設(shè)計(jì)中所采用的單片機(jī)沒(méi)有SPI接口,因此,在設(shè)計(jì)中采用單片機(jī)的3個(gè)I/O口來(lái)模擬SPI時(shí)序,以達(dá)到實(shí)現(xiàn)SPI通信功能。電路如圖3所示。


1.3 鍵盤(pán)及顯示模塊
   
鍵盤(pán)采用的是獨(dú)立按鍵,與單片機(jī)P30~P34相連接,實(shí)現(xiàn)“開(kāi)始”、“下一曲”、“上一曲”、“音量+”和“音量-”等5個(gè)功能。播放的狀態(tài)由Nokia5110液晶顯示,該液晶為84×48點(diǎn)陣的LCD,可以顯示4行漢字,并支持串行通信協(xié)議,傳輸速率高達(dá)4 Mb/s,可全速寫(xiě)入顯示數(shù)據(jù),方便地與單片機(jī)進(jìn)行通信。該液晶外部信號(hào)線僅有9條,節(jié)約本來(lái)就緊張的I/O口,其串行通信模式下的控制時(shí)序如圖4所示。


1.4 電源模塊
   
系統(tǒng)采用的是5 V直流電源供電,并通過(guò)5 V轉(zhuǎn)3.3 V的SPX1117-3.3 V芯片給單片機(jī),VS1003解碼器和USB專(zhuān)用芯片CH375模塊供電,其電源電路原理如圖5所示。



2 軟件系統(tǒng)設(shè)計(jì)
   
本系統(tǒng)單片機(jī)的軟件設(shè)計(jì)采用C51語(yǔ)言編寫(xiě),源程序共分3個(gè)部分,即:?jiǎn)纹瑱C(jī)驅(qū)動(dòng)CH375程序,單片機(jī)控制VS1003實(shí)現(xiàn)音頻解碼程序,按鍵和顯示驅(qū)動(dòng)程序。在編寫(xiě)CH375模塊部分的程序時(shí),用到了從南京沁恒公司官方網(wǎng)站下載的CH375的API函數(shù)庫(kù)“CH375HF4.LIB”文件,簡(jiǎn)化了程序設(shè)計(jì)。因?yàn)閱纹瑱C(jī)的硬件資源十分有限,在硬件調(diào)試過(guò)程中,出現(xiàn)在傳送頻率較高的歌曲時(shí),由于采樣頻率低,帶寬不夠,而造成聲音失真。所以在系統(tǒng)的開(kāi)發(fā)過(guò)程中,應(yīng)優(yōu)化程序,提高運(yùn)行速度,保證播放歌曲的流暢,其軟件流程如圖6所示。

3 結(jié)語(yǔ)
   
設(shè)計(jì)的MP3播放器采用51單片機(jī)加VS1003解碼,并通過(guò)CH375USB專(zhuān)用芯片進(jìn)行數(shù)據(jù)讀取,這種組合方式相比于采用AVR或者M(jìn)SP430系列的高端單片機(jī),達(dá)到的播放效果也毫不遜色。系統(tǒng)的整個(gè)設(shè)計(jì)難點(diǎn)在于單片機(jī)如何高效的從U盤(pán)中讀取數(shù)據(jù),并以一定的時(shí)序?qū)⒕彌_的數(shù)據(jù)傳輸給VS1003,實(shí)現(xiàn)解碼。在此采用的方法一是提高系統(tǒng)的時(shí)鐘;二是通過(guò)修改軟件,精簡(jiǎn)程序,來(lái)加快了系統(tǒng)的傳輸速率,使播放音樂(lè)更加流暢。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。