解析BU9435在嵌入式MP3播放模塊的應(yīng)用
1 引言
MP3不僅體積小、重量輕、存儲(chǔ)容量大及耗電小。而且MP3對(duì)存儲(chǔ)介質(zhì)的訪問(wèn)無(wú)需任何機(jī)械運(yùn)動(dòng)。所以MP3還具有極強(qiáng)的抗振能力,無(wú)任何機(jī)械噪聲優(yōu)點(diǎn)。閃存(Flash Memory)是一種長(zhǎng)壽命的非易失性(在斷電情況下仍能保持所存儲(chǔ)的數(shù)據(jù)信息)的存儲(chǔ)器,數(shù)據(jù)刪除不是以單個(gè)的字節(jié)為單位而是以固定的區(qū)塊為單位(注意:NOR Flash 為字節(jié)存儲(chǔ)。),區(qū)塊大小一般為256KB到20MB.閃存是電子可擦除只讀存儲(chǔ)器(EEPROM)的變種,EEPROM與閃存不同的是,它能在字節(jié)水平上進(jìn)行刪除和重寫而不是整個(gè)芯片擦寫,這樣閃存就比EEPROM的更新速度快。由于其斷電時(shí)仍能保存數(shù)據(jù),閃存通常被用來(lái)保存設(shè)置信息,如在電腦的BIOS(基本輸入輸出程序)、PDA(個(gè)人數(shù)字助理)、數(shù)碼相機(jī)中保存資料等。隨著閃存容量的不斷增加和價(jià)格的不斷降低,MP3在車載和便攜音響領(lǐng)域。越來(lái)越受到人們的歡迎,尤其是在便攜音響領(lǐng)域,MP3已經(jīng)占據(jù)著絕對(duì)的主流地位。
SD卡是一種通用性極強(qiáng)的存儲(chǔ)介質(zhì),廣泛應(yīng)用于數(shù)碼相機(jī)、手機(jī)和便攜式媒體播放器等設(shè)備中:U盤是最為常見(jiàn)的移動(dòng)存儲(chǔ)設(shè)備,它在易用性、安全性及方便性方面大大優(yōu)于其他移動(dòng)存儲(chǔ)產(chǎn)品。SD卡(Secure Digital Memory Card)中文翻譯為安全數(shù)碼卡,是一種基于半導(dǎo)體快閃記憶器的新一代記憶設(shè)備,它被廣泛地于便攜式裝置上使用,例如數(shù)碼相機(jī)、個(gè)人數(shù)碼助理(PDA)和多媒體播放器等。羅姆(ROHM)公司開(kāi)發(fā)出將USB存儲(chǔ)/SD卡主機(jī)(H0ST)功能、MP3音頻解碼功能、系統(tǒng)控制功能于一體的LSI-BU9435.BU9435同時(shí)支持U盤和SD卡作為存儲(chǔ)介質(zhì),特別適用于小型組合音響、汽車音響和便攜媒體播放設(shè)備。
2 BU9435簡(jiǎn)介
BU9435內(nèi)部不僅集成系統(tǒng)控制器和MP3音頻解碼器,而且還內(nèi)置USB存儲(chǔ)/SD卡主機(jī)功能,能夠自動(dòng)查找U盤和SD卡內(nèi)的MP3文件,并通過(guò)解碼器播放出與CD媲美的高音質(zhì)音樂(lè)。通用串行總線(英文:Universal Serial Bus,簡(jiǎn)稱USB)是連接外部裝置的一個(gè)串口匯流排標(biāo)準(zhǔn),在計(jì)算機(jī)上使用廣泛,但也可以用在機(jī)頂盒和游戲機(jī)上,補(bǔ)充標(biāo)準(zhǔn)On-The-Go( OTG)使其能夠用于在便攜裝置之間直接交換資料。USB是一個(gè)外部總線標(biāo)準(zhǔn),用于規(guī)范電腦與外部設(shè)備的連接和通訊。USB接口支持設(shè)備的即插即用和熱插拔功能。USB接口可用于連接多達(dá)127種外設(shè),如鼠標(biāo)、調(diào)制解調(diào)器和鍵盤等。USB是在1994年底由英特爾、康柏、IBM、Microsoft等多家公司聯(lián)合提出的,自1996年推出后,已成功替代串口和并口,并成為當(dāng)今個(gè)人電腦和大量智能設(shè)備的必配的接口之一。從1994年11月11日發(fā)表了USB V0.7版本以后,USB版本經(jīng)歷了多年的發(fā)展,到現(xiàn)在已經(jīng)發(fā)展為3.0版本。以前有帶USB主機(jī)接口的MP3解碼方案需要外接程序存儲(chǔ)器或采用CPU、USB控制器和MP3解碼器,現(xiàn)在僅需BU9435便可實(shí)現(xiàn)。
BU9435的主要特性:USB全速HOST接口,SD存儲(chǔ)卡接口;帶有可顯示文件/文件夾編號(hào)、播放時(shí)間、藝術(shù)家名、標(biāo)題等ID3Tag分析功能的MP3解碼器;編碼器(encoder),是一種輸入模擬視頻信號(hào)并將它轉(zhuǎn)換為數(shù)字信號(hào)格式,以進(jìn)一步壓縮和傳輸?shù)挠布?軟件設(shè)備。像視頻的mpeg4,音頻的mp3,ac3,dts等,這些編碼器可以將原始數(shù)據(jù)壓縮存放,剛才都是常用的編碼格式,還有些專業(yè)的編碼格式,一般家庭基本不會(huì)用到。為了在家用設(shè)備或者電腦上重放這些視頻和音頻則需要用到解碼軟件,一般稱為插件。I2C總線接口;4×3矩陣鍵盤掃描控制功能;7通道LED控制功能;抽樣率自動(dòng)轉(zhuǎn)換功能;多種均衡模式。圖1給出BU9435的內(nèi)部組成框圖。
BU9435的主要引腳功能:引腳1(RESETX):復(fù)位端,低電平有效;引腳2(SEL_SLAVE):工作模式選擇,高電平選擇獨(dú)立工作模式,低電平為從屬模式;引腳3(SEL_MP3):文件格式選擇,高電平僅支持MP3格式的文件,低電平支持MPl、MP2和MP3格式的文件;引腳4(SEL_DOUT):音頻輸出選擇,高電平為模擬音頻輸出,低電平為數(shù)字音頻輸出;引腳5(SEL_VOL):音量控制選擇,高電平使能音量控制功能,低電平禁止音量控制;引腳6(SEL_APLAY):自動(dòng)播放選擇端,高電平禁止自動(dòng)播放,低電平選擇自動(dòng)播放;引腳10~13:工作在獨(dú)立模式時(shí),10~13引腳為矩陣鍵盤行輸入端KEY_ROWn;工作在從屬模式時(shí),10引腳為曲目切換輸出端,當(dāng)MP3曲目切換時(shí)輸出低電平,11引腳為BU9435忙標(biāo)志輸出。12~13引腳為I2C總線的SCL和SDA:引腳14~16:工作在獨(dú)立模式時(shí),14~16引腳為矩陣鍵盤列輸出端KEY_COLn;工作在從屬模式時(shí),14引腳和15引腳為I2C總線低位地址選擇端A0和Al,16引腳為從屬模式選擇端,高電平選擇模式2,低電平選擇模式3;引腳19~23:SD卡接口;引腳33(USB_DM)和引腳34(USB_DP):USB接口;引腳40(XIN_PLL)和引腳4l(XOUT_PLL):時(shí)鐘產(chǎn)生電路,外接16.934 4 MHz晶體振蕩器;引腳44(RDACO)和引腳46(LDAC0):模擬音頻右聲道和左聲道輸出;引腳48(AMUTE):靜音狀態(tài)輸出端,低電平表示處于靜音狀態(tài);引腳49~55:工作在獨(dú)立模式時(shí),49~55引腳為工作狀態(tài)LED指示輸出:工作在從屬模式時(shí),53~55引腳為數(shù)字音頻輸出端。
3 BU9435外圍電路設(shè)計(jì)
由BU9435構(gòu)成的MP3解碼電路原理圖如圖2所示。為使BU9435按所希望的方式工作,需對(duì)其引腳進(jìn)行相應(yīng)配置。大部分輸入引腳內(nèi)部都具有上拉功能,主要配置為:2引腳接地,使BU9435工作在從屬工作模式,這樣系統(tǒng)控制器可通過(guò)I2C總線對(duì)BU9435進(jìn)行控制及獲取BU9435的工作狀態(tài):3引腳接地,系統(tǒng)支持MPl、MP2、MP3格式的文件;4引腳懸空,內(nèi)部上拉為高電平,器件輸出為模擬音頻信號(hào);系統(tǒng)中通常還有其他音源。一般都有獨(dú)立的通道選擇與音量控制器件,所以BU9435 5引腳接地,禁止器件音量控制:6引腳懸空,禁止器件自動(dòng)播放,由主控制器控制BU9435;BU9435的I2C器件地址最高位固定為1,最低2位由引腳14和引腳15決定,其他位為0,將引腳14和引腳15接地,BU9435的I2C器件地址為0x80H.
立體聲模擬音頻信號(hào)由引腳44和引腳46輸出,經(jīng)RE濾波后送到音量控制器件控制通道和音量。BU9435的控制和獲取BU9435的狀態(tài)全部由I2C總線引腳SCL和SDA完成。
4 軟件設(shè)計(jì)
控制BU9435是先發(fā)送控制命令,然后讀取BU9435的狀態(tài)寄存器組或相應(yīng)的信息。狀態(tài)寄存器又名條件碼寄存器,它是計(jì)算機(jī)系統(tǒng)的核心部件--運(yùn)算器的一部分,狀態(tài)寄存器用來(lái)存放兩類信息:一類是體現(xiàn)當(dāng)前指令執(zhí)行結(jié)果的各種狀態(tài)信息(條件碼),如有無(wú)進(jìn)位(CY位),有無(wú)溢出(OV位),結(jié)果正負(fù)(SF位),結(jié)果是否為零(ZF位),奇偶標(biāo)志位(P位)等;另一類是存放控制信息(PSW:程序狀態(tài)字寄存器),如允許中斷(IF位),跟蹤標(biāo)志(TF位)等。如果該字節(jié)為0x00H.則表明后續(xù)內(nèi)容為有效的狀態(tài)寄存器組或相應(yīng)的信息數(shù)據(jù);如果該字節(jié)為0xFFH,則表明BU9435忙,后續(xù)數(shù)據(jù)無(wú)效,這時(shí)主控制器應(yīng)該發(fā)送I2C結(jié)束命令并重新讀取。圖3為BU9435的讀取流程圖。
BU9435工作在不同狀態(tài)時(shí),接收的命令也不同。當(dāng)某個(gè)命令不能被當(dāng)前狀態(tài)接收時(shí),該命令將被忽略。BU9435的狀態(tài)與主要命令之間的關(guān)系如表l所示。BU9435系統(tǒng)控制軟件流程如圖4所示。
5 結(jié)語(yǔ)
基于BU9435的MP3播放模塊,不僅同時(shí)支持U盤和SD卡作為存儲(chǔ)介質(zhì),為音響系統(tǒng)提供豐富的媒介來(lái)源,而且外圍和接口電路簡(jiǎn)單,只要系統(tǒng)提供I2C總線接口,就能方便地將該模塊嵌入到系統(tǒng)中,有很強(qiáng)的通用性。該MP3播放模塊,無(wú)論對(duì)新音響系統(tǒng)的設(shè)計(jì)還是舊音響系統(tǒng)的升級(jí),都能提供有益的借鑒和參考。