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