嵌入式GPS語音導(dǎo)航系統(tǒng)中MP3的解碼與播放
Windows CE是微軟開發(fā)的一個開放的、可升級的32位嵌入式實時操作系統(tǒng)。其中CE中的C代表袖珍(Compact)、消費(Consumer)、通信能力(Connectivity)和伴侶(Companion);E則代表電子產(chǎn)品(Electronics)。不同于面向桌面的Windows,微軟重寫了Windows CE的內(nèi)核,這使得WindowsCE擁有優(yōu)越的實時性能。Windows CE中的API是一個縮減的WIN32 API,它是桌面Windows系統(tǒng)的一個子集。這使得許多基于微軟桌面Windows開發(fā)的應(yīng)用程序可以經(jīng)過少許的改動就能用于Windows CE中。同時,在Windows CE系統(tǒng)平臺上,也可以使用桌面Windows上的編程工具語言(如VB、VC++等),并使用同樣的函數(shù)和同樣的界面風(fēng)格.因此,其開發(fā)工作比較容易上手??紤]到大部分用戶多年來使用Windows系列操作系統(tǒng)的習(xí)慣.Windows CE的界面風(fēng)格比較容易讓用戶接受。
綜上所述.本文選擇Windows CE作為系統(tǒng)的開發(fā)平臺,開發(fā)工具選擇VS系列的EVC。
3.2 軟件流程
圖5所示是MP3解碼的軟件流程圖。首先將MP3文件數(shù)據(jù)讀人緩存,尋找文件中的ID3信息(ID3信息指MP3文件中可選的一種內(nèi)嵌信息,用于表示MP3的音頻類型、作者等,目前分ID3vl和I。D3v2兩個版本),接著在文件中尋找?guī)筋^,找到后即進入幀解碼子程序,其幀解碼的具體流程如圖6所示,解碼完成后,再將解碼出的PCM數(shù)據(jù)放入音頻緩沖進行播放,如此循環(huán)直到最后一幀。
按鍵編碼電路采用二極管組合邏輯開關(guān)陣列來實現(xiàn)對受控電路開關(guān)進行編址,其中指令編碼電路采用編譯碼芯片組PT2262。PT2262的A口是地址碼設(shè)置口,D口是數(shù)據(jù)碼設(shè)置端,分別和二極管組合邏輯開關(guān)陣列的邏輯輸出相連,數(shù)據(jù)從000~101有6種狀態(tài)。發(fā)射模塊電路中采用的射頻芯片為MICRF1020當編碼芯片PT2262的數(shù)據(jù)輸出端無信號輸出時,MICRF102不工作,發(fā)射電流為零,而當PT2262的控制端有效時,輸出的串行脈沖信號對MICRF102進行調(diào)制發(fā)射,通過調(diào)制電阻R2可調(diào)整發(fā)射電流,從而調(diào)整發(fā)射距離,較小的R2取值可提高發(fā)射距離,而增加二極管開關(guān)陣列則可將系統(tǒng)擴展成為多路遙控發(fā)射模塊。
3.2 接收控制電路
接收控制系統(tǒng)主要由無線電接收電路、解碼電路、單片機電路、開關(guān)電路組成。接收控制系統(tǒng)的電路原理圖如圖6所示。接收控制系統(tǒng)主要完成的功能是對接收進來的信號進行解調(diào)和解碼,并將解碼后的數(shù)據(jù)送單片機,由單片機根據(jù)此數(shù)據(jù)去控制相應(yīng)的開關(guān)進行動作。
4 結(jié)束語
本文提出了一種在嵌入式GPS語音導(dǎo)航系統(tǒng)中實現(xiàn)MP3音頻播放的實現(xiàn)方案,給出了解碼步驟,并利用S3C2410核心與Windows CE平臺完成了這一方案。經(jīng)過實際產(chǎn)品驗證,該解碼器播放效果良好。各項指標均可滿足要求。
評論