I2S總線(xiàn)概述
音響數據的采集、處理和傳輸是多媒體技術(shù)的重要組成部分。眾多的數字音頻系統已經(jīng)進(jìn)入消費市場(chǎng),例如數字音頻錄音帶、數字聲音處理器。對于設備和生產(chǎn)廠(chǎng)家來(lái)說(shuō),標準化的信息傳輸結構可以提高系統的適應性。I2S(Inter—IC Sound)總線(xiàn)是飛利浦公司為數字音頻設備之間的音頻數據傳輸而制定的一種總線(xiàn)標準,該總線(xiàn)專(zhuān)責于音頻設備之間的數據傳輸,廣泛應用于各種多媒體系統。它采用了沿獨立的導線(xiàn)傳輸時(shí)鐘與數據信號的設計,通過(guò)將數據和時(shí)鐘信號分離,避免了因時(shí)差誘發(fā)的失真,為用戶(hù)節省了購買(mǎi)抵抗音頻抖動(dòng)的專(zhuān)業(yè)設備的費用。
I2S總線(xiàn)規范
在飛利浦公司的I2S標準中,既規定了硬件接口規范,也規定了數字音頻數據的格式。
I2S有3個(gè)主要信號
1.串行時(shí)鐘SCLK,也叫位時(shí)鐘(BCLK),即對應數字音頻的每一位數據,SCLK都有1個(gè)脈沖。SCLK的頻率=2×采樣頻率×采樣位數。
2. 幀時(shí)鐘LRCK,(也稱(chēng)WS),用于切換左右聲道的數據。LRCK為“1”表示正在傳輸的是右聲道的數據,為“0”則表示正在傳輸的是左聲道的數據。LRCK的頻率等于采樣頻率。
3.串行數據SDATA,就是用二進(jìn)制補碼表示的音頻數據。
有時(shí)為了使系統間能夠更好地同步,還需要另外傳輸一個(gè)信號MCLK,稱(chēng)為主時(shí)鐘,也叫系統時(shí)鐘(Sys Clock),是采樣頻率的256倍或384倍。

串行數據(SD)
I2S格式的信號無(wú)論有多少位有效數據,數據的最高位總是出現在LRCK變化(也就是一幀開(kāi)始)后的第2個(gè)SCLK脈沖處。這就使得接收端與發(fā)送端的有效位數可以不同。如果接收端能處理的有效位數少于發(fā)送端,可以放棄數據幀中多余的低位數據;如果接收端能處理的有效位數多于發(fā)送端,可以自行補足剩余的位。這種同步機制使得數字音頻設備的互連更加方便,而且不會(huì )造成數據錯位。
隨著(zhù)技術(shù)的發(fā)展,在統一的 I2S接口下,出現了多種不同的數據格式。根據SDATA數據相對于LRCK和SCLK的位置不同,分為左對齊(較少使用)、I2S格式(即飛利浦規定的格式)和右對齊(也叫日本格式、普通格式)。
為了保證數字音頻信號的正確傳輸,發(fā)送端和接收端應該采用相同的數據格式和長(cháng)度。當然,對I2S格式來(lái)說(shuō)數據長(cháng)度可以不同。


字段(聲道)選擇(WS)
命令選擇線(xiàn)表明了正在被傳輸的聲道。
WS=0,表示正在傳輸的是左聲道的數據。
WS=1,表示正在傳輸的是右聲道的數據。
WS可以在串行時(shí)鐘的上升沿或者下降沿發(fā)生改變,并且WS信號不需要一定是對稱(chēng)的。在從屬裝置端,WS在時(shí)鐘信號的上升沿發(fā)生改變。WS總是在最高位傳輸前的一個(gè)時(shí)鐘周期發(fā)生改變,這樣可以使從屬裝置得到與被傳輸的串行數據同步的時(shí)間,并且使接收端存儲當前的命令以及為下次的命令清除空間。
電氣規范:
輸出電壓:
VL <0.4V
VH>2.4V
輸入電壓
VIL=0.8V
VIH=2.0V
注:目前使用的TTL電平標準,隨著(zhù)其他IC(LSI)的流行,其他電平也會(huì )支持。
時(shí)序要求:
在I2s總線(xiàn)中,任何設備都可以通過(guò)提供必需的時(shí)鐘信號成為系統的主導裝置,而從屬裝置通過(guò)外部時(shí)鐘信號來(lái)得到它的內部時(shí)鐘信號,這就意味著(zhù)必須重視主導裝置和數據以及命令選擇信號之間的傳播延遲,總的延遲主要由兩部分組成:
1.外部時(shí)鐘和從屬裝置的內部時(shí)鐘之間的延遲
2.內部時(shí)鐘和數據信號以及命令選擇信號之間的延遲
對于數據和命令信號的輸入,外部時(shí)鐘和內部時(shí)鐘的延遲不占據主導地位,它只是延長(cháng)了有效的建立時(shí)間(set—up time)。延遲的主要部分是發(fā)送端的傳輸延遲和設置接收端所需的時(shí)間。
T是時(shí)鐘周期,Tr是最小允許時(shí)鐘周期,T>Tr這樣發(fā)送端和接收端才能滿(mǎn)足數據傳輸速率的要求。
對于所有的數據速率,發(fā)送端和接收端均發(fā)出一個(gè)具有固定的傳號空號比(mark—space ratio)的時(shí)鐘信號,所以t LC和tHC是由T所定義的。 t LC和tHC必須大于0.35T,這樣信號在從屬裝置端就可以被檢測到。
延遲(tdtr)和最快的傳輸速度(由Ttr定義)是相關(guān)的,快的發(fā)送端信號在慢的時(shí)鐘上升沿可能導致tdtr不能超過(guò)tRC而使thtr為零或者負。只有tRC不大于tRCmax的時(shí)候(tRCmax>:0.15T),發(fā)送端才能保證thtr大于等于0。
為了允許數據在下降沿被記錄,時(shí)鐘信號上升沿及T相關(guān)的時(shí)間延遲應該給予接收端充分的建立時(shí)間(set-up time)。
數據建立時(shí)間(set-up time)和保持時(shí)間(hold time)不能小于指定接收端的建立時(shí)間和保持時(shí)間。
I2S總線(xiàn)結構配置
隨著(zhù)WS信號的改變,導出一個(gè)WSP脈沖信號,進(jìn)入并行移位寄存器,從而輸出數據被激活。串行數據的默認輸入是0,因此所有位于最低位(LSB)后的數據將被設置為0。
隨著(zhù)第一個(gè)WS信號的改變,WSP在SCK信號的下降沿重設計數器。在“1 out of n”譯碼器對計數器數值進(jìn)行譯碼后,第一個(gè)串行的數據(MSB)在SCK時(shí)鐘信號的上升沿被存放進(jìn)入B1,隨著(zhù)計數器的增長(cháng),接下來(lái)的數據被依次存放進(jìn)入B2到Bn中。在下一個(gè)WS信號改變的時(shí)候,數據根據WSP脈沖的變化被存放進(jìn)入左(聲道)鎖存器或者右(聲道)鎖存器,并且將B2一Bn的數據清除以及計數器重設,如果有冗余的數據則最低位之后的數據將被忽略。注意:譯碼器和計數器(虛線(xiàn)內的部分)可以被一個(gè)n比特移位寄存器所代替。
IIS總線(xiàn)接口可作為一個(gè)編碼解碼接口與外部8/16位的立體聲音頻解碼電路(CODEC IC)相連,從而實(shí)現微唱片和便攜式應用。它支持IIS數據格式和MSB-Justified 數據格式。IIS總線(xiàn)接口為先進(jìn)先出隊列FIFO的訪(fǎng)問(wèn)提供DMA傳輸模式來(lái)取代中斷模式,可同時(shí)發(fā)送和接收數據,也可只發(fā)送或接收數據。 |