之前我們講過I2C通信總線,本篇博文將講一講I2C的變種:I2S總線。
I2C和I2S都是由Philips公司(2006年遷移到NXP)發布的串行總線,I2S是在I2C之后發布,I2S專為傳輸音頻數據而設計。
I2S(Inter-IC Sound)總線,又稱集成電路內置音頻總線,是飛利浦公司為數字音頻設備之間的音頻數據傳輸而制定的一種總線標準。采用了獨立的導線傳輸時鐘與數據信號的設計,通過將數據和時鐘信號分離,避免了因時差誘發的失真。
I2S總線特點如下:
支持全雙工和半雙工模式;
支持主、從模式。
1、物理特性
I2S總線一般由1根系統時鐘線和3根信號線組成:
MCLK:稱為主時鐘,也叫系統時鐘(Sys Clock),一般為了使系統間能夠更好地同步時增加MCLK信號,MCLK的頻率= 128或者256或者512 *采樣頻率;
SCLK(BCLK):串行時鐘SCLK,也叫位時鐘(BCLK),即對應數字音頻的每一位數據,SCLK都有1個脈沖。
SCK的頻率=聲道數 * 采樣頻率 * 采樣位數;
LRCK:幀時鐘LRCK,(也稱WS),用于切換左右聲道的數據。
LRCK為“1”表示正在傳輸的是右聲道的數據,為“0”則表示正在傳輸的是左聲道的數據。
LRCK的頻率等于采樣頻率;
SDATA(SD):就是用二進制補碼表示的音頻數據。最高位擁有固定的位置,而最低位的位置則是依賴于數據的有效位數。
2、常見的I2S數據格式
隨著技術的發展,在統一的I2S硬件接口下,出現了多種不同的I2S數據格式,可分為:I2S Philips標準、左對齊(MSB)標準和右對齊(LSB,也叫日本格式、普通格式)標準。
發送端和接收端必須使用相同的數據格式,確保發送和接收的數據一致。
2.1、I2S Philips標準
I2S Philips標準時序圖如下圖所示:
使用LRCLK信號表示當前正在發送數據所屬的聲道,LRCLK為“1”表示正在傳輸的是右聲道的數據,為“0”則表示正在傳輸的是左聲道的數據。LRCLK信號從當前聲道數據的第一個位(MSB)之前的一個時鐘開始有效。
LRCLK信號在BCLK的下降沿變化,發送方在時鐘信號BCLK的下降沿改變數據,接收方在時鐘信號BCLK的上升沿讀取數據。正如上文所說,LRCLK頻率等于采樣頻率Fs,一個LRCLK周期(1/Fs)包括發送左聲道和右聲道數據。
對于這種標準I2S格式的信號,無論有多少位有效數據,數據的最高位總是出現在LRCLK變化(也就是一幀開始)后的第2個BCLK脈沖處。這就使得接收端與發送端的有效位數可以不同。如果接收端能處理的有效位數少于發送端,可以放棄數據幀中多余的低位數據;如果接收端能處理的有效位數多于發送端,可以自行補足剩余的位。
這種同步機制使得數字音頻設備的互連更加方便,而且不會造成數據錯位。
2.2、左對齊(MSB)標準
該標準較少使用,在LRCLK發生翻轉的同時開始傳輸數據,注意LRCLK為1時,傳輸的是左聲道數據,LRCLK為0時,傳輸的是右聲道數據,這剛好與I2S Philips標準相反。
2.3、右對齊(LSB)標準
聲音數據LSB傳輸完成的同時,LRCLK完成第二次翻轉(剛好是LSB和LRCLK是右對齊的,所以稱為右對齊標準)。注意LRCLK為1時,傳輸的是左聲道數據,LRCLK為0時,傳輸的是右聲道數據,這剛好與I2S Philips標準相反。
審核編輯:郭婷
-
集成電路
+關注
關注
5388文章
11547瀏覽量
361826 -
I2C
+關注
關注
28文章
1487瀏覽量
123754 -
通信總線
+關注
關注
0文章
44瀏覽量
9854 -
I2S
+關注
關注
1文章
64瀏覽量
41928 -
系統時鐘
+關注
關注
1文章
30瀏覽量
9311
原文標題:一文搞懂I2S通信總線
文章出處:【微信號:美男子玩編程,微信公眾號:美男子玩編程】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論