洪家平
(湖北師范學(xué)院計算機(jī)科學(xué)與技術(shù)學(xué)院,黃石 435002)
基于VS1003解碼器的MP3播放器設(shè)計※
洪家平
(湖北師范學(xué)院計算機(jī)科學(xué)與技術(shù)學(xué)院,黃石 435002)
以MSP430F149作為核心控制器,結(jié)合VS1003音頻解碼器,設(shè)計了一種帶SD卡的MP3播放器,給出了MP3播放系統(tǒng)的軟硬件設(shè)計。在硬件設(shè)計上,解碼器與存儲器分離,增加了存儲容量;在軟件設(shè)計上,使用條項菜單方式進(jìn)行管理,可以方便地進(jìn)行硬件或軟件的升級。經(jīng)過測試,該MP3播放器播放效果較好。
MP3播放器;SPI總線;MSP430F149;VS1003
雖然現(xiàn)在市場上MP3的款式越來越多,功能越來越豐富,外觀設(shè)計也越來越個性化和人性化,但是,現(xiàn)有的MP3播放器大部分還是將解碼器與存儲器一體化。這種設(shè)計對MP3播放器的便攜性起了關(guān)鍵性的作用,但與此同時也帶來了一些問題:一方面存儲容量不易擴(kuò)展,另一方面也不利于MP3播放器在其他領(lǐng)域的應(yīng)用。本系統(tǒng)將存儲器與解碼器分離,可以利用多余的I/O接口,只要適當(dāng)增加少量硬件開銷并添加相應(yīng)代碼,即可以在此系統(tǒng)基礎(chǔ)上方便地增加電壓測量、頻率測量、溫度測量等功能,做到一機(jī)多用。
MP3播放器系統(tǒng)結(jié)構(gòu)框圖如圖1所示。系統(tǒng)在硬件上主要包括MSP430F149單片機(jī)最小系統(tǒng)、音頻解碼模塊、SD卡讀寫模塊、液晶顯示模塊以及用來存儲自制字庫的Flash存儲器等重要模塊。
圖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)大的處理能力、豐富的存儲器、外設(shè)等優(yōu)點(diǎn)。
MSP430F149最小系統(tǒng)是整體設(shè)計中最核心的部分,控制著系統(tǒng)各個子模塊之間的協(xié)調(diào)運(yùn)行。它設(shè)計的成功與否,直接關(guān)系到整個設(shè)計能否正常運(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)管理芯片,與手動復(fù)位開關(guān)一起,主要起可靠復(fù)位作用??紤]到MP3播放器的人機(jī)交互操作,共設(shè)計了6個按鍵(KEY1到KEY6)。它們的按鍵功能分別是:確定、向下、向上、退出、音量加、音量減。
圖2 MSP430F149最小系統(tǒng)
VS1003是芬蘭VLSI公司生產(chǎn)的單芯片MP3/WMA音頻解碼芯片。其擁有一個高性能、低功耗的DSP處理器核VSDSP,5KB的指令RAM,0.5 KB的數(shù)據(jù)RAM,串行的控制和數(shù)據(jù)輸入接口,4個通用I/O口,1個UART口,1個可變采樣率的ADC,1個立體聲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)換成模擬信號進(jìn)行輸出。圖4是該MP3播放器的音頻解碼模塊電路原理圖。
圖4 音頻解碼模塊電路原理圖
采用VS1003音頻解碼芯片來實現(xiàn)音樂數(shù)據(jù)流的解析。VS1003與核心控制器MSP430F149的數(shù)據(jù)通信是通過SPI總線方式進(jìn)行的。VS1003通過串行命令接口(SCI)和串行數(shù)據(jù)接口(SDI)來接收MSP430F149的控制命令和MP3的數(shù)據(jù);通過xCS、xDCS引腳的置高/低來確認(rèn)是哪一個接口處于傳送狀態(tài)。VS1003的功能控制,如初始化、軟復(fù)位、暫停、音量控制、播放時間的讀取等,均是通過SCI口寫入特定寄存器實現(xiàn)的。兩條SCI指令之間要通過DREQ引腳信號判斷上一次處理是否完成。
SD卡價格低,存儲容量大,使用方便,通用性與安全性強(qiáng),MP3、數(shù)碼相機(jī)等設(shè)備上都采用SD卡作為其存儲設(shè)備。
SD卡支持兩種總線模式:SD模式與SPI模式。其中,SD模式采用6線制,而SPI模式采用4線制。采用單片機(jī)對SD卡進(jìn)行讀寫時一般都采用SPI模式??捎貌煌某跏蓟绞绞筍D卡工作于SD或SPI模式。
本設(shè)計中,音頻數(shù)據(jù)MP3文件以SD卡為載體,所以設(shè)計電路時必須含有讀取SD卡模塊。圖5為SD卡模塊(SPI模式)的接口電路。
LCD3310液晶是一個48行84列的液晶顯示器。其帶有低功耗PCD8544的CMOS LCD控制驅(qū)動器,串行輸入速度最高可達(dá)4.0 M b/s。為了讓LCD3310液晶能夠顯示4行12×12的漢字,系統(tǒng)開辟了一個6×84字節(jié)的緩沖區(qū)。寫液晶時就不用直接寫入LCD3310的靜態(tài)DDRAM了,可以先寫入系統(tǒng)為它開辟的數(shù)據(jù)緩沖區(qū),最后再刷新修改的部分就可以顯示出要顯示的內(nèi)容。LCD3310的接口采用SPI模式,其電路如圖6所示。
圖5 SD卡模塊接口電路
圖6 液晶顯示模塊接口電路
圖7是MP3播放器的軟件流程。系統(tǒng)啟動后,先初始化硬件模塊。由單片機(jī)通過FAT32文件系統(tǒng)接口讀取SD卡的一些基本信息,如容量、扇區(qū)大小、FAT表以及根目錄所在的起始扇區(qū)等。通過這些信息就可以找出SD卡是否有可以播放的音樂文件。若有,單片機(jī)通過SPI總線方式讀出音頻信息,并將歌曲的碼流信息送入到VS1003芯片中,通過VS1003解碼芯片及其內(nèi)含的高質(zhì)量立體聲DAC和耳機(jī)驅(qū)動電路,實現(xiàn)MP3歌曲的播放功能。在按鍵的控制下,通過LCD3310中菜單選項的選擇,實現(xiàn)對歌曲選擇及音量控制等功能;在播放的同時,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個小時??梢?其功耗比較低。
本著低成本、實用性強(qiáng)的原則,設(shè)計了一種解碼器與存儲器分離的MP3播放器,可以流暢地播放出高音質(zhì)的MP3文件。同時,只要適當(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è)計實例[M].北京:北京航空航天大學(xué)出版社,2002.
[3]梁炎昌.一個占用內(nèi)存極少的菜單系統(tǒng)的實現(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
洪家平(教授),主要研究方向為嵌入式系統(tǒng)應(yīng)用、無線傳感器網(wǎng)絡(luò)技術(shù)與應(yīng)用。
2010-05-17)
TKScope嵌入式仿真開發(fā)平臺講座(21)