基于BU9435的嵌入式MP3播放模塊設(shè)計
4 軟件設(shè)計
控制BU9435是先發(fā)送控制命令,然后讀取BU9435的狀態(tài)寄存器組或相應(yīng)的信息。根據(jù)命令的不同,控制命令的長度為2~8個字節(jié)。播放的相關(guān)信息,如BU9435內(nèi)部狀態(tài)、文件夾信息、播放時間信息及ID3Tag信息,都是通過I2C總線讀出。需要注意的是,在對BU9435讀取時,BU9435返回的第一個字節(jié)并不是狀態(tài)寄存器組或相應(yīng)信息的有效內(nèi)容,而是反映后續(xù)內(nèi)容是否有效的一個虛元字節(jié)(Dummy byte)。如果該字節(jié)為0x00H。則表明后續(xù)內(nèi)容為有效的狀態(tài)寄存器組或相應(yīng)的信息數(shù)據(jù);如果該字節(jié)為0xFFH,則表明BU9435忙,后續(xù)數(shù)據(jù)無效,這時主控制器應(yīng)該發(fā)送I2C結(jié)束命令并重新讀取。圖3為BU9435的讀取流程圖。
BU9435工作在不同狀態(tài)時,接收的命令也不同。當(dāng)某個命令不能被當(dāng)前狀態(tài)接收時,該命令將被忽略。BU9435的狀態(tài)與主要命令之間的關(guān)系如表l所示。BU9435系統(tǒng)控制軟件流程如圖4所示。
5 結(jié)語
基于BU9435的MP3播放模塊,不僅同時支持U盤和SD卡作為存儲介質(zhì),為音響系統(tǒng)提供豐富的媒介來源,而且外圍和接口電路簡單,只要系統(tǒng)提供I2C總線接口,就能方便地將該模塊嵌入到系統(tǒng)中,有很強的通用性。該MP3播放模塊,無論對新音響系統(tǒng)的設(shè)計還是舊音響系統(tǒng)的升級,都能提供有益的借鑒和參考。
評論