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