基于BU9435的嵌入式MP3播放模塊設(shè)計(jì)
4 軟件設(shè)計(jì)
控制BU9435是先發(fā)送控制命令,然后讀取BU9435的狀態(tài)寄存器組或相應(yīng)的信息。根據(jù)命令的不同,控制命令的長(zhǎng)度為2~8個(gè)字節(jié)。播放的相關(guān)信息,如BU9435內(nèi)部狀態(tài)、文件夾信息、播放時(shí)間信息及ID3Tag信息,都是通過(guò)I2C總線讀出。需要注意的是,在對(duì)BU9435讀取時(shí),BU9435返回的第一個(gè)字節(jié)并不是狀態(tài)寄存器組或相應(yīng)信息的有效內(nèi)容,而是反映后續(xù)內(nèi)容是否有效的一個(gè)虛元字節(jié)(Dummy byte)。如果該字節(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盤(pán)和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í),都能提供有益的借鑒和參考。
評(píng)論