基于USB HOST音頻解碼器的數(shù)字音頻系統(tǒng)設(shè)計(jì)
圖3:U9437應(yīng)用電路圖
2.軟件設(shè)計(jì)
軟件的設(shè)計(jì)是利用MCU的鍵盤(pán)中斷來(lái)判斷并識(shí)別鍵值,主程序循環(huán)查詢(xún)鍵值及BU9437的狀態(tài),根據(jù)鍵值向BU9437發(fā)送不同的命令,同時(shí)在LCD上顯示BU9437的工作狀態(tài)等信息。主程序流程圖見(jiàn)圖5。
圖5:軟件流程圖。
導(dǎo)航鍵的操作使用中斷來(lái)處理,當(dāng)有任何一個(gè)按鍵被按下時(shí)產(chǎn)生按鍵中斷,在中斷程序中除了防抖之外還要判斷按鍵的優(yōu)先級(jí),中斷程序中將直接得到按鍵的鍵值。
液晶顯示模組有8位數(shù)據(jù)線,編寫(xiě)了專(zhuān)用的子程序用來(lái)發(fā)送顯示數(shù)據(jù)。
USB HOST 芯片的控制是通過(guò)I2C總線來(lái)實(shí)現(xiàn)的,軟件還設(shè)計(jì)了相應(yīng)的I2C通訊程序,使其滿(mǎn)足I2C總線的通訊協(xié)議,通訊時(shí)序見(jiàn)圖4。
圖4:I2C總線通訊時(shí)序。
3. 設(shè)計(jì)注意事項(xiàng)
1. USB HOST芯片需要外接一個(gè)16.9344MHz的晶振,如果使用無(wú)源晶振應(yīng)注意該晶振的起振條件,選擇合適的震蕩電路,保證芯片上電后晶振能正常工作。
2. 選擇模擬音頻作為輸出時(shí),在PCB設(shè)計(jì)時(shí)最好將模擬地和數(shù)字地分開(kāi),并且在電源輸入時(shí)加大容量的濾波電容或鉭電容,可以很好地抑制噪音。
3. 為了增加軟件的可靠性,當(dāng)讀取寄存器的值時(shí),讀取到的第一個(gè)字節(jié)都是系統(tǒng)的忙閑狀態(tài),每次讀取時(shí)軟件都要處理此字節(jié)。
本文小結(jié)
ROHM公司的USB HOST音頻解碼芯片不僅適合于車(chē)載級(jí)應(yīng)用,還能用于衛(wèi)生間、保健設(shè)備等通常與音樂(lè)無(wú)關(guān)的設(shè)備,可以簡(jiǎn)單地播放出治療音樂(lè)、自然環(huán)境音等。另外,還可以用于娛樂(lè)設(shè)備的音樂(lè)、效果音的播放,以及公共交通的車(chē)內(nèi)廣播等語(yǔ)音發(fā)聲。這種情況下,語(yǔ)音數(shù)據(jù)保存在USB存儲(chǔ)器、SD存儲(chǔ)卡中,因此需要更新語(yǔ)音數(shù)據(jù)時(shí),即快速又方便。
評(píng)論