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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 嵌入式系統(tǒng)中I2S總線數(shù)據(jù)通信的軟件模擬

          嵌入式系統(tǒng)中I2S總線數(shù)據(jù)通信的軟件模擬

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

            在上面2種數(shù)據(jù)傳輸格式中,當(dāng)WS為“1”時傳輸?shù)氖亲舐暤赖臄?shù)據(jù),當(dāng)WS為“0”時傳輸?shù)氖怯衣暤赖臄?shù)據(jù)。為了保證數(shù)字音頻信號的正確傳輸,發(fā)送端和接收端必須采用相同的數(shù)據(jù)格式。

            2

            以太網(wǎng)數(shù)字語音廣播主要是指以以太網(wǎng)為傳播介質(zhì)提供音頻服務(wù)的廣播,將語音信號以標(biāo)準(zhǔn)IP包的形式在以太網(wǎng)上進(jìn)行傳送,以實現(xiàn)語音廣播功能。該在PC機(jī)端通過麥克風(fēng)采集語音數(shù)據(jù),然后將采集到的語音數(shù)據(jù)通過以太網(wǎng)發(fā)送給終端,終端將接收到的語音數(shù)據(jù)進(jìn)行數(shù)/模轉(zhuǎn)換后進(jìn)行播放。系統(tǒng)實現(xiàn)框圖如圖4所示[5]。


          圖4 以太網(wǎng)數(shù)字語音廣播系統(tǒng)框圖


          圖5 LM3S8962與MS6336的連接圖

            廣播系統(tǒng)終端的MCU LM3S8962將接收到的語音數(shù)據(jù)通過發(fā)送給語音解碼芯片MS6336進(jìn)行數(shù)/模轉(zhuǎn)換并播放,

            LM3S8962和MS6336的連接如圖5所示。為了完整還原出語音信號,需要保證信號時序嚴(yán)格精確,高低電平的轉(zhuǎn)換采用延時程序?qū)崿F(xiàn)。MS6336為16位D/A芯片,其I2S時序如圖6所示。


          圖6 MS6336的典型I2S時序圖

            該系統(tǒng)中的語音數(shù)據(jù)雙聲道,16位采樣,1個采樣點(diǎn)的數(shù)據(jù)為4字節(jié),1個采樣點(diǎn)數(shù)據(jù)通過MCU發(fā)送給MS6336,數(shù)據(jù)發(fā)送流程如圖7所示。


          圖7 1個采樣點(diǎn)數(shù)據(jù)發(fā)送流程

            I2S引腳的定義如下:

            #define I2S_WS GPIO_PIN_5//模擬I2S聲道選擇時鐘控制位

            #define I2S_BCK GPIO_PIN_6//模擬I2S位時鐘控制位

            #define I2S_DATA GPIO_PIN_7//模擬I2S數(shù)據(jù)傳送位

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評論


          相關(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); })();