《電子技術(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盤,,讀取數(shù)據(jù)并進(jì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)類數(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盤中獲取MP3格式文件的數(shù)據(jù),,并存入片內(nèi)RAM進(jìn)行緩沖,,然后單片機(jī)定時(shí)將數(shù)據(jù)從緩沖區(qū)送到MP3音頻解碼芯片VS1003,實(shí)現(xiàn)解碼并輸出音頻信號(hào)到耳機(jī)或者有源音響輸出,。用戶可以通過(guò)鍵盤實(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盤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ù)總線和讀,、寫,、片選控制線及中斷輸出,可以方便地掛接到單片機(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盤中的音頻數(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ù)讀寫U盤中的文件數(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ī)控制器和專用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ī)就可以聽到美妙的音樂。同時(shí),,VS1003為用戶提供5.5 KB的片上RAM,,并支持SPI串行通信的控制數(shù)據(jù)接口。
1.2.2 工作原理
   
系統(tǒng)上電啟動(dòng)后,,由單片機(jī)控制將存儲(chǔ)于U盤中歌曲的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ī)沒有SPI接口,因此,,在設(shè)計(jì)中采用單片機(jī)的3個(gè)I/O口來(lái)模擬SPI時(shí)序,,以達(dá)到實(shí)現(xiàn)SPI通信功能,。電路如圖3所示。


1.3 鍵盤及顯示模塊
   
鍵盤采用的是獨(dú)立按鍵,,與單片機(jī)P30~P34相連接,,實(shí)現(xiàn)“開始”、“下一曲”,、“上一曲”,、“音量+”和“音量-”等5個(gè)功能。播放的狀態(tài)由Nokia5110液晶顯示,,該液晶為84×48點(diǎn)陣的LCD,,可以顯示4行漢字,并支持串行通信協(xié)議,,傳輸速率高達(dá)4 Mb/s,,可全速寫入顯示數(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專用芯片CH375模塊供電,,其電源電路原理如圖5所示,。



2 軟件系統(tǒng)設(shè)計(jì)
   
本系統(tǒng)單片機(jī)的軟件設(shè)計(jì)采用C51語(yǔ)言編寫,源程序共分3個(gè)部分,,即:?jiǎn)纹瑱C(jī)驅(qū)動(dòng)CH375程序,,單片機(jī)控制VS1003實(shí)現(xiàn)音頻解碼程序,按鍵和顯示驅(qū)動(dòng)程序,。在編寫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)的開發(fā)過(guò)程中,,應(yīng)優(yōu)化程序,提高運(yùn)行速度,保證播放歌曲的流暢,,其軟件流程如圖6所示,。

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

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