洪家平
(湖北師范學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,黃石 435002)
基于VS1003解碼器的MP3播放器設(shè)計(jì)※
洪家平
(湖北師范學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,黃石 435002)
以MSP430F149作為核心控制器,結(jié)合VS1003音頻解碼器,設(shè)計(jì)了一種帶SD卡的MP3播放器,給出了MP3播放系統(tǒng)的軟硬件設(shè)計(jì)。在硬件設(shè)計(jì)上,解碼器與存儲(chǔ)器分離,增加了存儲(chǔ)容量;在軟件設(shè)計(jì)上,使用條項(xiàng)菜單方式進(jìn)行管理,可以方便地進(jìn)行硬件或軟件的升級(jí)。經(jīng)過測試,該MP3播放器播放效果較好。
MP3播放器;SPI總線;MSP430F149;VS1003
雖然現(xiàn)在市場上MP3的款式越來越多,功能越來越豐富,外觀設(shè)計(jì)也越來越個(gè)性化和人性化,但是,現(xiàn)有的MP3播放器大部分還是將解碼器與存儲(chǔ)器一體化。這種設(shè)計(jì)對MP3播放器的便攜性起了關(guān)鍵性的作用,但與此同時(shí)也帶來了一些問題:一方面存儲(chǔ)容量不易擴(kuò)展,另一方面也不利于MP3播放器在其他領(lǐng)域的應(yīng)用。本系統(tǒng)將存儲(chǔ)器與解碼器分離,可以利用多余的I/O接口,只要適當(dāng)增加少量硬件開銷并添加相應(yīng)代碼,即可以在此系統(tǒng)基礎(chǔ)上方便地增加電壓測量、頻率測量、溫度測量等功能,做到一機(jī)多用。
MP3播放器系統(tǒng)結(jié)構(gòu)框圖如圖1所示。系統(tǒng)在硬件上主要包括MSP430F149單片機(jī)最小系統(tǒng)、音頻解碼模塊、SD卡讀寫模塊、液晶顯示模塊以及用來存儲(chǔ)自制字庫的Flash存儲(chǔ)器等重要模塊。
圖1 MP3播放器系統(tǒng)結(jié)構(gòu)框圖
MSP430F149是美國TI公司的MSP430系列單片機(jī),它具有適合于各種應(yīng)用的16位結(jié)構(gòu)。采用“馮?諾依曼”結(jié)構(gòu),因此其 RAM、ROM和全部外圍模塊都位于同一片地址空間內(nèi)。而且具有超低功耗性能,同其他微控制器相比,MSP430系列可以大大延長電池的使用壽命,這對手持設(shè)備及一些要求低功耗電子產(chǎn)品中是非常重要的。此外,它還具有靈活、強(qiáng)大的處理能力、豐富的存儲(chǔ)器、外設(shè)等優(yōu)點(diǎn)。
MSP430F149最小系統(tǒng)是整體設(shè)計(jì)中最核心的部分,控制著系統(tǒng)各個(gè)子模塊之間的協(xié)調(diào)運(yùn)行。它設(shè)計(jì)的成功與否,直接關(guān)系到整個(gè)設(shè)計(jì)能否正常運(yùn)行。如圖2所示,MSP430F149最小系統(tǒng)中主要由穩(wěn)壓模塊、晶振電路、復(fù)位電路以及人機(jī)交互式按鍵輸入4部分組成。SPX1117M 3-3.3是系統(tǒng)穩(wěn)壓芯片,為系統(tǒng)提供穩(wěn)定的3.3 V電源。SP708S是系統(tǒng)管理芯片,與手動(dòng)復(fù)位開關(guān)一起,主要起可靠復(fù)位作用??紤]到MP3播放器的人機(jī)交互操作,共設(shè)計(jì)了6個(gè)按鍵(KEY1到KEY6)。它們的按鍵功能分別是:確定、向下、向上、退出、音量加、音量減。
圖2 MSP430F149最小系統(tǒng)
VS1003是芬蘭VLSI公司生產(chǎn)的單芯片MP3/WMA音頻解碼芯片。其擁有一個(gè)高性能、低功耗的DSP處理器核VSDSP,5KB的指令RAM,0.5 KB的數(shù)據(jù)RAM,串行的控制和數(shù)據(jù)輸入接口,4個(gè)通用I/O口,1個(gè)UART口,1個(gè)可變采樣率的ADC,1個(gè)立體聲DAC以及音頻耳機(jī)放大器。其內(nèi)部結(jié)構(gòu)圖如圖3所示。
圖3 VS1003內(nèi)部結(jié)構(gòu)圖
音頻解碼模塊對單片機(jī)從SD卡里讀取的數(shù)字MP3音頻數(shù)據(jù)流進(jìn)行解析,并轉(zhuǎn)換成模擬信號(hào)進(jìn)行輸出。圖4是該MP3播放器的音頻解碼模塊電路原理圖。
圖4 音頻解碼模塊電路原理圖
采用VS1003音頻解碼芯片來實(shí)現(xiàn)音樂數(shù)據(jù)流的解析。VS1003與核心控制器MSP430F149的數(shù)據(jù)通信是通過SPI總線方式進(jìn)行的。VS1003通過串行命令接口(SCI)和串行數(shù)據(jù)接口(SDI)來接收MSP430F149的控制命令和MP3的數(shù)據(jù);通過xCS、xDCS引腳的置高/低來確認(rèn)是哪一個(gè)接口處于傳送狀態(tài)。VS1003的功能控制,如初始化、軟復(fù)位、暫停、音量控制、播放時(shí)間的讀取等,均是通過SCI口寫入特定寄存器實(shí)現(xiàn)的。兩條SCI指令之間要通過DREQ引腳信號(hào)判斷上一次處理是否完成。
SD卡價(jià)格低,存儲(chǔ)容量大,使用方便,通用性與安全性強(qiáng),MP3、數(shù)碼相機(jī)等設(shè)備上都采用SD卡作為其存儲(chǔ)設(shè)備。
SD卡支持兩種總線模式:SD模式與SPI模式。其中,SD模式采用6線制,而SPI模式采用4線制。采用單片機(jī)對SD卡進(jìn)行讀寫時(shí)一般都采用SPI模式??捎貌煌某跏蓟绞绞筍D卡工作于SD或SPI模式。
本設(shè)計(jì)中,音頻數(shù)據(jù)MP3文件以SD卡為載體,所以設(shè)計(jì)電路時(shí)必須含有讀取SD卡模塊。圖5為SD卡模塊(SPI模式)的接口電路。
LCD3310液晶是一個(gè)48行84列的液晶顯示器。其帶有低功耗PCD8544的CMOS LCD控制驅(qū)動(dòng)器,串行輸入速度最高可達(dá)4.0 M b/s。為了讓LCD3310液晶能夠顯示4行12×12的漢字,系統(tǒng)開辟了一個(gè)6×84字節(jié)的緩沖區(qū)。寫液晶時(shí)就不用直接寫入LCD3310的靜態(tài)DDRAM了,可以先寫入系統(tǒng)為它開辟的數(shù)據(jù)緩沖區(qū),最后再刷新修改的部分就可以顯示出要顯示的內(nèi)容。LCD3310的接口采用SPI模式,其電路如圖6所示。
圖5 SD卡模塊接口電路
圖6 液晶顯示模塊接口電路
圖7是MP3播放器的軟件流程。系統(tǒng)啟動(dòng)后,先初始化硬件模塊。由單片機(jī)通過FAT32文件系統(tǒng)接口讀取SD卡的一些基本信息,如容量、扇區(qū)大小、FAT表以及根目錄所在的起始扇區(qū)等。通過這些信息就可以找出SD卡是否有可以播放的音樂文件。若有,單片機(jī)通過SPI總線方式讀出音頻信息,并將歌曲的碼流信息送入到VS1003芯片中,通過VS1003解碼芯片及其內(nèi)含的高質(zhì)量立體聲DAC和耳機(jī)驅(qū)動(dòng)電路,實(shí)現(xiàn)MP3歌曲的播放功能。在按鍵的控制下,通過LCD3310中菜單選項(xiàng)的選擇,實(shí)現(xiàn)對歌曲選擇及音量控制等功能;在播放的同時(shí),LCD3310上顯示的信息除歌曲名稱外,還包括進(jìn)度和音量等。
圖7 MP3播放器的軟件流程
編者注:SD卡、LCD3310液晶、VS1003音頻解碼器初始化程序略。
經(jīng)過運(yùn)行測試,系統(tǒng)可以正常流暢地播放出320 kb/s的高音質(zhì)MP3音樂文件,而且在使用500 m A鋰電池的情況下,可以連續(xù)正常地播放長達(dá)10個(gè)小時(shí)。可見,其功耗比較低。
本著低成本、實(shí)用性強(qiáng)的原則,設(shè)計(jì)了一種解碼器與存儲(chǔ)器分離的MP3播放器,可以流暢地播放出高音質(zhì)的MP3文件。同時(shí),只要適當(dāng)增加少量硬件開銷并添加相應(yīng)代碼,即可以利用多余的I/O口在此系統(tǒng)基礎(chǔ)上方便地增加如電壓測量、頻率測量、溫度測量等功能,真正做到一機(jī)多用。
編者注:本文為期刊縮略版,全文見本刊網(wǎng)站www.mesnet.com.cn。
[1]胡大可.MSP430系列超低功耗16位單片機(jī)原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2000.
[2]魏小龍.MSP430系列單片機(jī)接口技術(shù)及系統(tǒng)設(shè)計(jì)實(shí)例[M].北京:北京航空航天大學(xué)出版社,2002.
[3]梁炎昌.一個(gè)占用內(nèi)存極少的菜單系統(tǒng)的實(shí)現(xiàn)[EB/OL].(2009-4-26)[2010-05].http://www.docin.com/p-26094353.htm l.
[4]肖宏偉.Visual C++開發(fā)答疑[M].北京:人民郵電出版社,2003.
MP3 Player Design Based on Decoder VS1003※
Hong Jiaping
(College of Com puter Science and Technology,HubeiNormal University,Huangshi 435002,China)
Taking MSP430F149 as the core controller and VS1003 as audio decoder,an MP3 p layerwith SD card is designed.System hardw are and softw are designs are given.In the design of hardw are,the decoder and thememory are separated,increasing the storage capacity;in the design of softw are,management is achieved through themenu items,facilitating the hardware and softwareupgrading.Test show s that thisMP3 player can play high-quality audio files with good effect.
MP3 player;SPIbus;MSP430F149;VS1003
TP368.1
A
洪家平(教授),主要研究方向?yàn)榍度胧较到y(tǒng)應(yīng)用、無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用。
2010-05-17)
TKScope嵌入式仿真開發(fā)平臺(tái)講座(21)
單片機(jī)與嵌入式系統(tǒng)應(yīng)用2010年11期