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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 一款基于SPCA751A的MP3播放器設(shè)計與實現(xiàn)

          一款基于SPCA751A的MP3播放器設(shè)計與實現(xiàn)

          作者: 時間:2014-09-11 來源:網(wǎng)絡(luò) 收藏

            硬件設(shè)計

          本文引用地址:http://www.ex-cimer.com/article/262820.htm

            是單片的CMOS微處理器,是實時的MPEG和語音錄音的專用芯片。主處理器通過串行控制口/I/O接口的命令控制對MPEG語音數(shù)據(jù)進(jìn)行解碼,主處理器也可以根據(jù)該接口檢測解碼過程。MPEG音頻播放器系統(tǒng)框圖如圖3所示。與主控制器的連接如圖4所示。

            

           

            圖4 SPCA751A與主控制器的連接

            軟件設(shè)計

            SPCA751A工作于兩種模式,MP3模式和數(shù)字語音錄音(DVR)模式。在MP3模式,SPCA751A解碼輸入的比特流,發(fā)送到SPCA751A的數(shù)據(jù)作為輸入數(shù)據(jù)。當(dāng)FCEB1為高電平(缺省)時,主處理器發(fā)送比特流到SPCA751A;當(dāng)FCEB1為低電平時,表明SPCA751A處于忙碌狀態(tài),這時,主處理器不能發(fā)任何數(shù)據(jù)到SPCA751A。在DVR模式,SPCA751A編/解碼錄入的數(shù)字比特流,如果FCEB1為高電平,主處理器能從SPCA751A接收數(shù)據(jù);當(dāng)FCEB1為低電平時,主處理器不能從SPCA751A獲得比特流。對SPCA751A進(jìn)行編程的流程圖如圖5所示。

            

           

            圖5 對SPCA751A編程流程圖

            結(jié)語

            MP3為了取得較好的壓縮效果而采用了相對復(fù)雜的技術(shù),而且寬帶音頻信號的取樣率也較高(一般為44.1kHz以上),所以MP3編解碼的運算量和數(shù)據(jù)量都相當(dāng)龐大。例如,在定點DSP平臺上以匯編語言編寫的解碼程序,在128kbps、立體聲的條件下,需要近40Mbps進(jìn)行實時解碼,并需耗用15kB程序/設(shè)計空間。這就是目前便攜式MP3已在市場上流行,而能實時編碼的同類產(chǎn)品尚不多見的原因之一。不過,隨著硬件性能的不斷提高和軟件算法的不斷改進(jìn),MP3實時編碼器也必將取得進(jìn)一步的發(fā)展。

          波段開關(guān)相關(guān)文章:波段開關(guān)原理


          晶振相關(guān)文章:晶振原理
          鎖相環(huán)相關(guān)文章:鎖相環(huán)原理

          上一頁 1 2 下一頁

          關(guān)鍵詞: 凌陽科技 音頻解碼 SPCA751A

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();