?一文搞懂I2S通信總線的工作原理
今天我們來討論I2C通信總線,這篇文章將說說I2C的變體:I2S通信總線
I2C和I2S都是飛利浦半導(dǎo)體發(fā)布的串行總線(2006年遷移到NXP恩智浦)I2S是在I2C之后發(fā)布的,I2S是為傳輸音頻數(shù)據(jù)而設(shè)計的。
I2S(Inter-IC Sound)總線,也稱為集成電路內(nèi)置音頻總線,是飛利浦半導(dǎo)體公司開發(fā)的用于數(shù)字音頻設(shè)備之間音頻數(shù)據(jù)傳輸?shù)目偩€標準。采用獨立有線傳輸時鐘和數(shù)據(jù)信號的設(shè)計,通過將數(shù)據(jù)和時鐘信號分離,避免了時差引起的失真。
I2S總線的特點如下:
支持全雙工和半雙工模式
支持主從模式
1?物理性質(zhì)
I2S總線一般由1條系統(tǒng)時鐘線和3條信號線組成:
MCLK: 它被稱為主時鐘,也稱為系統(tǒng)時鐘(Sys Clock)。一般來說,MCLK信號的添加,使系統(tǒng)之間更好的同步。MCLK的頻率=128或256或512*采樣頻率
SCLK的英文縮寫:串行時鐘SCLK,也叫位時鐘(BCLK),即對應(yīng)于數(shù)字音頻數(shù)據(jù)的每一位,SCLK有1個脈沖
SCK頻率=通道數(shù)*采樣頻率*采樣位數(shù)
LRCK: 幀時鐘LRCK(也稱為WS)用于切換左右通道的數(shù)據(jù)。
如果LRCK為“1”,則表示正在傳輸右信道的數(shù)據(jù),如果為“0”,則表示正在傳輸左信道的數(shù)據(jù)。
LRCK的頻率等于采樣頻率。
SDATA(SD):它是以二進制補碼表示的音頻數(shù)據(jù)。最高位有一個固定的位置,而最低位的位置取決于數(shù)據(jù)中有效數(shù)字的數(shù)目。
2?通用的I2S數(shù)據(jù)格式
隨著技術(shù)的發(fā)展,在統(tǒng)一的I2S硬件接口下,出現(xiàn)了多種不同的I2S數(shù)據(jù)格式,可分為:I2S飛利浦半導(dǎo)體公司的標準、左對齊(MSB)標準和右對齊(LSB,又稱日本格式、普通格式)標準。
發(fā)送端和接收端必須使用相同的數(shù)據(jù)格式,以確保發(fā)送和接收的數(shù)據(jù)是一致的。
2.1 飛利浦半導(dǎo)體公司標準的I2S
I2S飛利浦標準時序圖如下圖所示:
LRCLK信號用于指示數(shù)據(jù)當(dāng)前被發(fā)送到的信道。如果LRCLK為“1”,則表示正在傳輸右信道的數(shù)據(jù),如果為“0”,則表示正在傳輸左信道的數(shù)據(jù)。LRCLK信號從當(dāng)前通道數(shù)據(jù)的第一位(MSB)之前的一個時鐘起有效。
LRCLK信號在BCLK的下降沿上變化,發(fā)送方在時鐘信號BCLK的下降沿上變化數(shù)據(jù),接收方在時鐘信號BCLK的上升沿上讀取數(shù)據(jù)。如上所述,LRCLK頻率等于采樣頻率Fs和一個LRCLK周期(1/Fs)包括發(fā)送左右通道數(shù)據(jù)。
對于這個標準的I2S格式信號,無論有多少有效數(shù)據(jù)位,數(shù)據(jù)的最高位總是出現(xiàn)在LRCLK變化后的第二個BCLK脈沖(即一幀的開始)。這使得接收端的有效位數(shù)與發(fā)送端的位數(shù)不同。如果接收端能夠處理的有效比特數(shù)小于發(fā)送端的有效比特數(shù),則可以丟棄數(shù)據(jù)幀中冗余的低階數(shù)據(jù)。如果接收端能處理的有效位數(shù)多于發(fā)送端,可以自行補足剩余的位。
這種同步機制使得數(shù)字音頻設(shè)備的互連更加方便,不會造成數(shù)據(jù)錯位。
2.2. 左對齊(MSB)標準
左對齊(MSB)標準時序圖如下圖所示:
這個標準很少使用。它開始傳輸數(shù)據(jù)時LRCLK翻轉(zhuǎn)。注意,當(dāng)LRCLK為1時,傳輸左信道的數(shù)據(jù),當(dāng)LRCLK為0時,傳輸右信道的數(shù)據(jù)。這與I2S飛利浦標準正好相反。
2.3. 右對齊(LSB)標準
右對齊(LSB)標準時序圖如下圖所示:。
在完成聲音數(shù)據(jù)LSB傳輸?shù)耐瑫r,LRCLK完成了第二次翻轉(zhuǎn)(正因為LSB和LRCLK是右對齊的,所以稱之為右對齊標準)。請注意,當(dāng)LRCLK為1時,左通道數(shù)據(jù)被傳輸,當(dāng)LRCLK為0時,右通道數(shù)據(jù)被傳輸,這正好與I2S飛利浦標準相反。