<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式GPS語音導航系統(tǒng)中MP3的解碼與播放

          嵌入式GPS語音導航系統(tǒng)中MP3的解碼與播放

          作者: 時間:2012-12-08 來源:網(wǎng)絡 收藏

            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ā)的應用程序可以經(jīng)過少許的改動就能用于Windows CE中。同時,在Windows CE系統(tǒng)平臺上,也可以使用桌面Windows上的編程工具語言(如VB、VC++等),并使用同樣的函數(shù)和同樣的界面風格.因此,其開發(fā)工作比較容易上手??紤]到大部分用戶多年來使用Windows系列操作系統(tǒng)的習慣.Windows CE的界面風格比較容易讓用戶接受。

            綜上所述.本文選擇Windows CE作為系統(tǒng)的開發(fā)平臺,開發(fā)工具選擇VS系列的EVC。

            3.2 軟件流程

            圖5所示是解碼的軟件流程圖。首先將文件數(shù)據(jù)讀人緩存,尋找文件中的ID3信息(ID3信息指文件中可選的一種內(nèi)嵌信息,用于表示MP3的音頻類型、作者等,目前分ID3vl和I。D3v2兩個版本),接著在文件中尋找?guī)筋^,找到后即進入幀解碼子程序,其幀解碼的具體流程如圖6所示,解碼完成后,再將解碼出的PCM數(shù)據(jù)放入音頻緩沖進行播放,如此循環(huán)直到最后一幀。

            按鍵編碼電路采用二極管組合邏輯開關陣列來實現(xiàn)對受控電路開關進行編址,其中指令編碼電路采用編譯碼芯片組PT2262。PT2262的A口是地址碼設置口,D口是數(shù)據(jù)碼設置端,分別和二極管組合邏輯開關陣列的邏輯輸出相連,數(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ā)射距離,而增加二極管開關陣列則可將系統(tǒng)擴展成為多路遙控發(fā)射模塊。

            3.2 接收控制電路

            接收控制系統(tǒng)主要由無線電接收電路、解碼電路、單片機電路、開關電路組成。接收控制系統(tǒng)的電路原理圖如圖6所示。接收控制系統(tǒng)主要完成的功能是對接收進來的信號進行解調(diào)和解碼,并將解碼后的數(shù)據(jù)送單片機,由單片機根據(jù)此數(shù)據(jù)去控制相應的開關進行動作。

            4 結束語

            本文提出了一種在嵌入式中實現(xiàn)MP3音頻播放的實現(xiàn)方案,給出了解碼步驟,并利用S3C2410核心與Windows CE平臺完成了這一方案。經(jīng)過實際產(chǎn)品驗證,該解碼器播放效果良好。各項指標均可滿足要求。


          上一頁 1 2 3 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();