在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

IIS總線規范和軟件模擬

嵌入式星球 ? 2020-10-13 18:43 ? 次閱讀

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

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

1.jpg

圖1 I2S總線典型時序圖


隨著技術的發展,在統一的I2S接口下出現了多種不同的數據格式。根據SD信號相對于SCK和WS位置的不同,分為左對齊和右對齊2種格式,如圖2和圖3所示。

2.jpg

圖2 16位有效位數的左對齊格式


3.jpg

圖3 16位有效位數的右對齊格式


在上面2種數據傳輸格式中,當WS為“1”時傳輸的是左聲道的數據,當WS為“0”時傳輸的是右聲道的數據。為了保證數字音頻信號的正確傳輸,發送端和接收端必須采用相同的數據格式。


2、軟件模擬I2S

以太網數字語音廣播系統主要是指以以太網為傳播介質提供音頻服務的廣播系統,將語音信號以標準IP包的形式在以太網上進行傳送,以實現語音廣播功能。該系統在PC機端通過麥克風采集語音數據,然后將采集到的語音數據通過以太網發送給嵌入式終端,嵌入式終端將接收到的語音數據進行數/模轉換后進行播放。系統實現框圖如圖4所示[5]。

4.jpg

圖4 以太網數字語音廣播系統框圖


5.jpg

圖5 LM3S8962與MS6336的連接圖


廣播系統終端的MCU LM3S8962將接收到的語音數據通過I2S總線發送給語音解碼芯片MS6336進行數/模轉換并播放,

LM3S8962和MS6336的連接如圖5所示。為了完整還原出語音信號,需要保證軟件模擬I2S信號時序嚴格精確,高低電平的轉換采用延時程序實現。MS6336為16位D/A芯片,其I2S時序如圖6所示。

6.jpg

圖6 MS6336的典型I2S時序圖


該系統中的語音數據雙聲道,16位采樣,1個采樣點的數據為4字節,1個采樣點數據通過MCU發送給MS6336,數據發送流程如圖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數據傳送位
根據MS6336的I2S總線格式以及數據發送流程,軟件模擬I2S總線的步驟如下:
① 根據語音數據采樣率及采樣位數計算得到SCK的值和WS的值(WS的值等于采樣頻率)。
系統采樣率為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時鐘周期需要應用示波器來精確延時時間。本系統中一個SCK周期的延時為delayI2S(2)。
② 將WS、BCK和DATA均置為高電平。
③ 選擇左右聲道。首先發送左聲道數據,將WS置低(若發送右聲道數據則將WS置高)。

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

④ 選擇高低字節。將左聲道數據以高低字節的順序發送,在發送高字節第1位數據之前先發送1個周期的串行時鐘。

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

⑤ 開始傳輸音頻數據(音頻數據的傳輸在SCK下降沿準備數據,在SCK的上升沿發

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

for(BitCnt=0;BitCnt<8;BitCnt++){//1次傳送的數據長度為8位,先傳送高字節再傳送低字節置時鐘線SCK為低,開始準備數據位
HWREG(GPIO_PORTA_BASE + (GPIO_O_DATA + (I2S_BCK << 2))) = ~I2S_BCK;
if((c<

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

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • IIS
    IIS
    +關注

    關注

    0

    文章

    17

    瀏覽量

    19658
  • IIS總線
    +關注

    關注

    0

    文章

    4

    瀏覽量

    8950
收藏 人收藏

    評論

    相關推薦

    CAN總線模擬器的使用指南 CAN總線網絡的安全性分析

    模擬器使用指南: 安裝模擬器 下載并安裝ICSim或其他CAN總線模擬軟件。 安裝過程中,可能需要依賴一些庫文件,如libsdl2-dev
    的頭像 發表于 12-23 09:16 ?258次閱讀

    使用CAN總線的注意事項 CAN總線與其他通信協議對比

    使用CAN總線的注意事項 電氣特性 :CAN總線對電氣特性有嚴格的要求,包括電壓水平、終端電阻、電纜長度等。確保遵循CAN總線規范中的電氣參數,以保證通信的穩定性。 拓撲結構 :CAN總線
    的頭像 發表于 11-21 10:16 ?371次閱讀

    tlv320aic12k可以使用IIS接口嗎?

    你們好!tlv320aic12k與cpu通信可以使用I2S接口模式沒,他可以使用McAsp接口格式與CPU進行通信,也有看到MCASP使用的是IIS協議,所以請教下tlv320aic12k可以使用IIS接口么,怎么和cpu通信,謝謝!
    發表于 10-31 08:33

    PCM2706如果工作在IIS模式下能做輸入嗎?

    最近在做方案選型,看到PCM2706資料介紹說明 ,只支持數據輸出,但手冊上有IIS數據輸入引腳,我想問確認下,如果工作在IIS模式下能做輸入嗎?
    發表于 10-25 17:23

    aic3106通過mic在收到數據發送給IISIIS將數據發送給軟件編碼,編解碼后有回音怎么解決?

    aic3106通過mic在收到數據發送給IISIIS將數據發送給軟件編碼,然后軟件解碼,將數據發送給IIS
    發表于 10-17 08:17

    了解TI基于PCB布線規則的DDR時序規范

    電子發燒友網站提供《了解TI基于PCB布線規則的DDR時序規范.pdf》資料免費下載
    發表于 10-15 11:47 ?1次下載
    了解TI基于PCB布<b class='flag-5'>線規</b>則的DDR時序<b class='flag-5'>規范</b>

    USB轉IIS應用SSS1700參考電路圖

    SSS1700設計參考電路,SSS1700應用USB轉IIS方案設計電路,鑫創SSS1700設計方案
    發表于 07-31 10:38 ?6次下載

    為什么CAN總線分支在0.3米內是最可靠的?

    線性拓撲是CAN總線線規范中最為常見的,如果采用了線性拓撲中的“T”型分支連接,按規定分支長度是不能大于0.3m的,需要更長的分支應該怎么辦呢?CAN拓撲分類CAN(控制器局域網
    的頭像 發表于 07-05 08:25 ?1845次閱讀
    為什么CAN<b class='flag-5'>總線</b>分支在0.3米內是最可靠的?

    ESP32同時使用IIS和UART時出錯,為什么?

    ESP32同時使用IIS和UART時出錯,如果不使用IIS,三個串口都可以正常使用... 如果使用IIS只打開串口1,會出現如下圖錯誤(但是程序可以運行,只是串口部分有問題) 如果使用IIS
    發表于 06-26 07:21

    esp32-s3全雙工需要兩個iis組合,這樣全雙工模式下兩個iis使用的引腳是否可以配置成一樣呢?

    api參考說單個iis只能半雙工,全雙工需要兩個iis組合,這樣全雙工模式下兩個iis使用的引腳是否可以配置成一樣呢? 另lcd外設會占用iis
    發表于 06-19 07:58

    高速pcb布線規則有哪些

    高速pcb布線規則有哪些 高速PCB布線規則 摘要:隨著電子技術的快速發展,高速PCB設計變得越來越重要。為了確保信號完整性和電磁兼容性,遵循一定的布線規則至關重要。本文將詳細介紹高速PCB布
    的頭像 發表于 06-10 17:33 ?877次閱讀

    STM32F411 SPI能用的DMA通道,IIS不能用是為什么?

    使用STM32F411RET6在開發,使用了IIS功能,將SPI1作為IIS1使用,同時啟用接收DMA,但是發現在STM32CubeMX中IIS1的DMA設置中無法設置RX,僅有TX的DMA通道
    發表于 03-15 06:29

    釋放總線潛力:汽車總線離線模擬解決方案

    傳統的ECU模擬工具通常需要依賴上位機軟件來發起通信,這在離線場景和自動化產線中帶來不便。為了應對這一挑戰,虹科推出了創新的汽車總線離線模擬解決方案,基于PCAN-Router系列網關
    的頭像 發表于 02-20 14:38 ?507次閱讀
    釋放<b class='flag-5'>總線</b>潛力:汽車<b class='flag-5'>總線</b>離線<b class='flag-5'>模擬</b>解決方案

    虹科方案|釋放總線潛力:汽車總線離線模擬解決方案

    導讀: 傳統的ECU模擬工具通常需要依賴上位機軟件來發起通信,這在離線場景和自動化產線中帶來不便。為了應對這一挑戰,虹科推出了創新的汽車總線離線模擬解決方案,基于PCAN-Router
    的頭像 發表于 01-30 11:10 ?438次閱讀
    虹科方案|釋放<b class='flag-5'>總線</b>潛力:汽車<b class='flag-5'>總線</b>離線<b class='flag-5'>模擬</b>解決方案

    電動機繞組的接線規

    以U相繞組為例,說明其接線規律:因為兩個相鄰的極相組處在不同極性的磁極下,所以,它們的電流繞行方向是相反的。于是得到兩個相鄰極相組之間的接線規律:下層邊與下層邊相接,上層邊與上層邊相接。
    發表于 01-22 09:54 ?1116次閱讀
    電動機繞組的接<b class='flag-5'>線規</b>律
    主站蜘蛛池模板: 国产伦子一区二区三区| 2018天天夜夜| 色天使色婷婷丁香久久综合| 99久久精品国产自免费| 波多野结衣50连精喷在线| 亚洲欧美性另类春色| 久久e| 狠狠做深爱婷婷综合一区| 国内a级毛片免费···| 国产精品毛片一区二区三区| 国产nv精品你懂得| 午夜视频在线观看免费视频| 国产农村女人一级毛片了| www.4虎影院| 天堂最新版在线地址| 国产精品资源在线| 免费又黄又爽的禁片视频| 黑粗硬大欧美视频| 欧美性xxxx巨大黑人猛| 日本免费不卡一区| 黄色在线网| 久久国产热| 久久久久国产一级毛片高清板| 在线观看你懂的视频| 日毛片| 黄色一级片播放| 亚洲偷图色综合色就色| 久久久久亚洲香蕉网| h国产在线观看| h小视频在线观看| 91视频-88av| 女生扒开尿口让男生舔| 亚洲人成一区| 亚洲天堂不卡| 女色专区| 夜夜摸夜夜爽| 天天澡天天摸天天添视频| 国产在线小视频| 男人的天堂午夜| 日本欧美一级| 一本视频在线|