91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

IIS總線規(guī)范和軟件模擬

嵌入式星球 ? 2020-10-13 18:43 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

引言
I2S(InterIC Sound Bus)是飛利浦公司針對數(shù)字音頻設(shè)備之間的音頻數(shù)據(jù)傳輸而制定的一種總線標(biāo)準(zhǔn),采用沿獨立的導(dǎo)線傳輸時鐘與數(shù)據(jù)信號的設(shè)計,通過分離數(shù)據(jù)和時鐘信號,避免了時差誘發(fā)的失真。I2S總線簡單有效,可以有效提升輸出數(shù)據(jù)的質(zhì)量,在各種嵌入式音頻系統(tǒng)中有廣泛應(yīng)用。但是在嵌入式音頻系統(tǒng)設(shè)計中,并不是所有的MCU都支持I2S總線格式,再加上I2S還沒有統(tǒng)一的接口標(biāo)準(zhǔn),不同的廠家生產(chǎn)的設(shè)備接口也是五花八門,采用軟件模擬實現(xiàn)I2S總線可有效解決在不支持其的MCU和設(shè)備之間通過I2S總線實現(xiàn)數(shù)據(jù)傳輸時出現(xiàn)的問題。
本文通過在以太網(wǎng)數(shù)字語音廣播系統(tǒng)中軟件模擬I2S總線實現(xiàn)語音數(shù)據(jù)傳輸,給出了軟件模擬實現(xiàn)I2S總線的方法。

1、I2S總線規(guī)范
I2S為三線總線,3個信號分別為:
① 串行時鐘SCK,也叫位時鐘(BCK)。即每發(fā)送1位數(shù)字音頻數(shù)據(jù),SCK上都有1個脈沖。SCK的頻率=2×采樣頻率×采樣位數(shù)。在數(shù)據(jù)傳輸過程中,I2S總線的發(fā)送器和接收器都可以作為系統(tǒng)的主機來提供系統(tǒng)的時鐘頻率。
② 幀時鐘WS,即命令(聲道)選擇,用于切換左右聲道的數(shù)據(jù)。WS的頻率等于采樣頻率,由系統(tǒng)主機提供。WS為“1”表示傳輸?shù)氖亲舐暤赖臄?shù)據(jù),WS為“0”表示傳輸?shù)氖怯衣暤赖臄?shù)據(jù)。
③ 串行數(shù)據(jù)信號SD,用于傳輸二進(jìn)制補碼表示的音頻數(shù)據(jù)。
I2S格式的信號無論有多少位有效數(shù)據(jù),數(shù)據(jù)位的最高位(MSB)總是被最先傳輸,1次能夠發(fā)送的數(shù)據(jù)決定于I2S格式的有效位數(shù)。
1個典型的I2S信號時序如圖1所示

1.jpg

圖1 I2S總線典型時序圖


隨著技術(shù)的發(fā)展,在統(tǒng)一的I2S接口下出現(xiàn)了多種不同的數(shù)據(jù)格式。根據(jù)SD信號相對于SCK和WS位置的不同,分為左對齊和右對齊2種格式,如圖2和圖3所示。

2.jpg

圖2 16位有效位數(shù)的左對齊格式


3.jpg

圖3 16位有效位數(shù)的右對齊格式


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


2、軟件模擬I2S

以太網(wǎng)數(shù)字語音廣播系統(tǒng)主要是指以以太網(wǎng)為傳播介質(zhì)提供音頻服務(wù)的廣播系統(tǒng),將語音信號以標(biāo)準(zhǔn)IP包的形式在以太網(wǎng)上進(jìn)行傳送,以實現(xiàn)語音廣播功能。該系統(tǒng)在PC機端通過麥克風(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.jpg

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


5.jpg

圖5 LM3S8962與MS6336的連接圖


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

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

6.jpg

圖6 MS6336的典型I2S時序圖


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

7.jpg

軟件模擬I2S引腳的定義如下:
#define I2S_WS GPIO_PIN_5//模擬I2S聲道選擇時鐘控制位
#define I2S_BCK GPIO_PIN_6//模擬I2S位時鐘控制位
#define I2S_DATA GPIO_PIN_7//模擬I2S數(shù)據(jù)傳送位
根據(jù)MS6336的I2S總線格式以及數(shù)據(jù)發(fā)送流程,軟件模擬I2S總線的步驟如下:
① 根據(jù)語音數(shù)據(jù)采樣率及采樣位數(shù)計算得到SCK的值和WS的值(WS的值等于采樣頻率)。
系統(tǒng)采樣率為44.1 kHz,則SCK=2×44.1 kHz×103×16=1 411 200 Hz,WS=44 100 Hz。1個SCK時鐘周期T=1/SCK=07 μs。采用延時程序模擬SCK時鐘周期需要應(yīng)用示波器來精確延時時間。本系統(tǒng)中一個SCK周期的延時為delayI2S(2)。
② 將WS、BCK和DATA均置為高電平。
③ 選擇左右聲道。首先發(fā)送左聲道數(shù)據(jù),將WS置低(若發(fā)送右聲道數(shù)據(jù)則將WS置高)。

for(ChannelCnt=0;ChannelCnt<2;ChannelCnt++){//雙聲道選擇播放
if(ChannelCnt==0){//右聲道選擇信號為高電平
HWREG(GPIO_PORTA_BASE + (GPIO_O_DATA + (I2S_WS << 2))) = ~I(xiàn)2S_WS;
}
else{//左聲道選擇信號為低電平
HWREG(GPIO_PORTA_BASE + (GPIO_O_DATA + (I2S_WS << 2))) = I2S_WS;
}
……
}

④ 選擇高低字節(jié)。將左聲道數(shù)據(jù)以高低字節(jié)的順序發(fā)送,在發(fā)送高字節(jié)第1位數(shù)據(jù)之前先發(fā)送1個周期的串行時鐘。

for(HorLCnt=0;HorLCnt<2;HorLCnt++){//聲道數(shù)據(jù)高低字節(jié)選擇
if(ChannelCnt==1){//左聲道
if(HorLCnt==0){//低字節(jié)
c=*(SampLEData+1);//SampleData指向音頻數(shù)據(jù)緩沖區(qū)首地址,即左聲道低字節(jié)
delayI2S(2);//發(fā)送第一個數(shù)據(jù)位之前需要延遲一個位時鐘周期
}
else{//低字節(jié)
c=*SampleData;
}
}
……
}

⑤ 開始傳輸音頻數(shù)據(jù)(音頻數(shù)據(jù)的傳輸在SCK下降沿準(zhǔn)備數(shù)據(jù),在SCK的上升沿發(fā)

送給數(shù)據(jù)接收端)。將采樣點左聲道數(shù)據(jù)的高字節(jié)最高位送給SD,設(shè)置SCK為低電平,此時為SCK的下降沿,數(shù)據(jù)準(zhǔn)備好。延時半個SCK周期以后將SCK置為高電平,此時SD線上的數(shù)據(jù)發(fā)送給數(shù)據(jù)接收端,延時半個SCK周期。依次將左聲道剩余位數(shù)據(jù)按照最高位的方式發(fā)送出去。

for(BitCnt=0;BitCnt<8;BitCnt++){//1次傳送的數(shù)據(jù)長度為8位,先傳送高字節(jié)再傳送低字節(jié)置時鐘線SCK為低,開始準(zhǔn)備數(shù)據(jù)位
HWREG(GPIO_PORTA_BASE + (GPIO_O_DATA + (I2S_BCK << 2))) = ~I(xiàn)2S_BCK;
if((c<

⑥ 當(dāng)將1個采樣點的左聲道的數(shù)據(jù)發(fā)送完以后,延時2個SCK周期,然后發(fā)送右聲道的數(shù)據(jù)(同左聲道數(shù)據(jù)的發(fā)送過程)。
根據(jù)以上的過程對每個采樣點的數(shù)據(jù)進(jìn)行處理,就可以實現(xiàn)通過軟件模擬I2S總線傳輸音頻數(shù)據(jù)了。以上實現(xiàn)的是典型I2S時序模擬,而左對齊和右對齊2種格式只是時序稍有差異,模擬實現(xiàn)過程同典型I2S總線模擬實現(xiàn)過程基本相同。

結(jié)語
在以太網(wǎng)數(shù)字語音廣播系統(tǒng)中應(yīng)用軟件模擬實現(xiàn)I2S總線時序,能夠成功地實現(xiàn)語音信號的數(shù)據(jù)傳輸,實現(xiàn)語音信號的實時廣播,表明了軟件模擬實現(xiàn)I2S總線的可行性,為解決不支持I2S總線的MCU和各種I2S總線設(shè)備間的通信提供了一種可行的方法。但是,在應(yīng)用軟件模擬實現(xiàn)I2S的以太網(wǎng)數(shù)字語音廣播系統(tǒng)實時播放語音信號時,存在一些噪聲,表明在采用軟件模擬實現(xiàn)I2S的時序精確性上存在一些欠缺。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • IIS
    IIS
    +關(guān)注

    關(guān)注

    0

    文章

    17

    瀏覽量

    20053
  • IIS總線
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    9150
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    電氣接線規(guī)范詳解

    電氣接線是電力系統(tǒng)、工業(yè)設(shè)備及民用建筑中不可或缺的基礎(chǔ)環(huán)節(jié),其規(guī)范性和安全性直接關(guān)系到設(shè)備運行穩(wěn)定性和人身財產(chǎn)安全。以下從基本原則、常見類型、操作規(guī)范及安全注意事項四個方面,系統(tǒng)闡述電氣接線的核心
    的頭像 發(fā)表于 01-18 07:41 ?488次閱讀

    虹科HK-CoreTest:專業(yè)的CAN/CAN FD總線測試軟件,高效易用

    面對汽車電子開發(fā)中復(fù)雜的車載網(wǎng)絡(luò)測試需求,如何選擇一款功能全面、操作便捷的CAN/CAN FD測試軟件?虹科HK-CoreTest作為一款綜合車載總線測試軟件,不僅支持CAN/CAN FD總線
    的頭像 發(fā)表于 12-29 13:20 ?449次閱讀

    變頻器接線規(guī)范標(biāo)準(zhǔn)

    變頻器作為現(xiàn)代工業(yè)控制系統(tǒng)中不可或缺的關(guān)鍵設(shè)備,其接線規(guī)范直接關(guān)系到設(shè)備運行的穩(wěn)定性、安全性和使用壽命。隨著自動化技術(shù)的普及,變頻器在風(fēng)機、水泵、機床等領(lǐng)域的應(yīng)用日益廣泛,但許多現(xiàn)場故障往往源于接線
    的頭像 發(fā)表于 12-02 07:41 ?1002次閱讀
    變頻器接<b class='flag-5'>線規(guī)范</b>標(biāo)準(zhǔn)

    端到端智駕模擬軟件推薦——為什么選擇Keymotek的aiSim?

    的訓(xùn)練、驗證和安全測試,高置信度、高保真的模擬平臺至關(guān)重要。Keymotek(康謀科技)的aiSim就是一款前瞻性、技術(shù)領(lǐng)先的智駕模擬軟件。
    的頭像 發(fā)表于 11-18 11:35 ?826次閱讀

    ST IIS2DULPX:超低功耗AI加速計,重新定義智能邊緣傳感

    模擬集線器/Qvar感應(yīng)通道和自適應(yīng)自配置 (ASC) 的機器學(xué)習(xí)核心 (MLC)。FSM和帶有ASC的MLC為IIS2DULPX提供了始終可用的出色邊緣處理能力,模擬集線器/Qvar傳感通道為系統(tǒng)優(yōu)化
    的頭像 發(fā)表于 10-21 14:25 ?583次閱讀
    ST <b class='flag-5'>IIS</b>2DULPX:超低功耗AI加速計,重新定義智能邊緣傳感

    BNC連接器公頭:壓接vs焊接接線規(guī)范大揭秘

    無論是“一壓即合”的高效, 還是“一焊定音”的堅定, 德索精密工業(yè)用規(guī)范與匠心, 讓每一次連接,都成為信號世界的精準(zhǔn)錨點。
    的頭像 發(fā)表于 09-28 15:27 ?620次閱讀
    BNC連接器公頭:壓接vs焊接接<b class='flag-5'>線規(guī)范</b>大揭秘

    為什么周立功要做汽車總線ZXDoc軟件

    近年來,國內(nèi)汽車產(chǎn)業(yè)快速邁向智能化和網(wǎng)聯(lián)化,“軟件定義汽車”既成共識,周立功汽車軟件ZXDoc的出現(xiàn)看似偶然,實則必然。ZLG致遠(yuǎn)電子:技術(shù)積淀與戰(zhàn)略布局的必然成果公司從2010年啟動汽車總線
    的頭像 發(fā)表于 09-22 11:34 ?1241次閱讀
    為什么周立功要做汽車<b class='flag-5'>總線</b>ZXDoc<b class='flag-5'>軟件</b>?

    USB3.0 電路板布局指南

    該文章介紹USB3.0的布局布線要求及走線規(guī)范
    發(fā)表于 08-19 16:50 ?2次下載

    PCl Express板設(shè)計指南

    PCIe布線規(guī)范
    發(fā)表于 06-25 15:44 ?4次下載

    求助,是否有CY7C65213A的軟件規(guī)范?

    是否有 CY7C65213A 的軟件規(guī)范
    發(fā)表于 05-26 08:03

    盟通方案|專業(yè)的CANopen總線分析軟件

    過程中用最短的時間通過數(shù)據(jù)幀分析排除每一個問題。除了數(shù)據(jù)幀分析功能外,分析軟件還需要能夠模擬和仿真數(shù)據(jù)幀的指令操作,才能更方便地確認(rèn)問題,驗證修改后的功能是否符合要求且穩(wěn)
    的頭像 發(fā)表于 05-23 16:06 ?790次閱讀
    盟通方案|專業(yè)的CANopen<b class='flag-5'>總線</b>分析<b class='flag-5'>軟件</b>

    通過I2C總線從源讀取所有PDO,但在HPI規(guī)范中找不到相應(yīng)的寄存器,為什么?

    我想通過I2C總線從源讀取所有PDO,但在HPI規(guī)范中找不到相應(yīng)的寄存器。 我發(fā)現(xiàn)可以通過 HPI 實用程序讀取它們,所以信息一定在那里。 有人可以請告訴我路嗎? 謝謝!
    發(fā)表于 05-16 06:10

    無人機電磁環(huán)境模擬與測試系統(tǒng)平臺軟件

    無人機電磁環(huán)境模擬與測試系統(tǒng)平臺軟件
    的頭像 發(fā)表于 05-06 15:27 ?923次閱讀
    無人機電磁環(huán)境<b class='flag-5'>模擬</b>與測試系統(tǒng)平臺<b class='flag-5'>軟件</b>

    PCB設(shè)計布線規(guī)范總結(jié)

    但實際上,布線的好壞,直接決定了電路的性能、工藝良率和長期可靠性!
    的頭像 發(fā)表于 04-24 11:25 ?2193次閱讀
    PCB設(shè)計布<b class='flag-5'>線規(guī)范</b>總結(jié)

    PCB最全封裝命名規(guī)范

    范圍本規(guī)范適用于主流EDA軟件在PCB設(shè)計前的封裝建庫命名。 獲取完整文檔資料可下載附件哦?。。?!
    發(fā)表于 03-12 13:26