飛利浦半導體
I2S總線規範(愛方誒死)
1.0 簡介
許多數字音頻系統正被引入消費音頻市場,包括光盤、數字音頻磁帶、數字聲音處理器和數字TV-sound.
這些系統中的數字音頻信號是被許多大規模集成電路和甚大規模集成電路處理,
-
這些集成電路分類如下:
•A/D和D/A轉換器; •數字信號處理器; •光盤和數字錄音的糾錯; •數字濾波器; •數字輸入/輸出接口。
標準化的通信結構對設備製造商和集成電路製造商都至關重要,無標準增加了系統的靈活性。
爲此,我們開發了集成電路內部聲音(i2s)總線,這是一種特別用於數字音頻的串行連接。
2.0 基本串行總線要求
總線只需處理音頻數據,而其他信號,如子編碼和控制,則分別傳輸。
-
總線組成
爲了儘量減少所需的管腳數量並保持佈線簡單,使用一條3線串行總線, 該總線由一條分時複用數據通道(IN,OUT)的線、一條選字線和一條時鐘線組成。
-
時鐘線
由於發射機和接收機具有相同的時鐘信號用於同步數據傳輸,發射機作爲主機,必須產生位時鐘、選字信號和數據。 然而,在複雜的系統中,可能有多個發射機和接收機,這使得很難定義主機。在這樣的系統中,通常有一個系統主控器控制各個ic之間的數字音頻數據流。然後,發射機必須在外部時鐘的控制下生成數據,從而充當從機。
圖1演示了一些簡單的系統配置和基本的接口計時。注意,系統主機可以與發射機或接收機組合,並且可以在軟件控制下或通過引腳編程來啓用或禁用。
3.0 I2S總線
如圖1所示,總線有三條線路:
•連續串行時鐘(SCK); // 標準雖然是這樣子,但是例如stm32F407 實現了5條線,(SCK,WS,SDIN,SDOUT,MCK)
•單詞選擇(WS);
•串行數據(SD);
生成sck和ws的設備是主設備
3.1串行數據
-
發送器發送
首先在SD線上發送msb(msb補碼) 當系統字長大於發送器字長時,該字被截斷(最低有效數據位被設置爲“0”)以進行數據傳輸。 msb有一個固定的位置,而lsb的位置取決於單詞的長度。
-
接收器接收
如果接收器接收(被髮送)的比特數大於其字長,則忽略lsb之後的比特數。 如果接收器接收(被髮送)的比特少於其字長,則丟失的比特在內部設置爲零。
-
接收與發送的位數
因爲發射機和接收機的字長可能不同.發射機不需要知道接收機可以處理多少位,接收機也不需要知道傳輸了多少位。
-
一次發送
一次發送中的ws 在ws改變後,發送器總是在一個時鐘週期內發送下一個Word(這個word可能是16字節,32字節,48字節)的msb。 一次發送中的clk 發射機發送的串行數據可以與時鐘信號的後緣(從高到低)或前緣(從低到高)同步。 然而,串行數據必須鎖存在串行時鐘信號前沿的接收器中,因此在傳輸與前沿同步的數據時存在一些限制(參見圖2和表1)。
3.2 Word Select
-
WS 現用來表示正在傳輸的信道,同步一個個word 的發送
•Ws=0;通道1(左); // 這裏對應的是飛利浦指定的I2S標準格式下的 左聲道和右聲道. 左(0)右1, 如果爲左對齊的話,左1右0 •WS=1;通道2(右)。
-
一次發送中的ws (補充)
ws可能在串行時鐘的後緣或前緣發生變化,但不需要對稱。 在從機中,該信號鎖定在時鐘信號的前沿。ws行在傳輸msb之前更改一個時鐘週期。 這允許從發送器導出將被設置用於傳輸的串行數據的同步時序。此外,它使接收器能夠存儲前一個單詞並開始接收下一個單詞(參見圖1)。
4.0 時序
-
主機
在i2s格式中,任何設備都可以通過提供必要的時鐘信號來充當系統主機。
-
延遲
從機通常從外部時鐘輸入導出其內部時鐘信號。這意味着,考慮到外部(主)時鐘(MCLK)與數據和/或字選擇信號之間的傳播延遲,總延遲簡單地是: •外部(主)時鐘和從機內部時鐘之間的延遲 •內部時鐘與數據和/或字選擇信號之間的延遲。 對於數據和WS輸入,外部到內部的時鐘延遲沒有任何影響,因爲它只會延長有效的設置時間(見圖2)。 時間間隔的主要部分是調節發射機的傳播延遲和設置接收機所需的時間之間的差異。
-
速率
所有時序要求都是相對於設備的時鐘週期或最小允許時鐘週期來規定的。這意味着未來可以使用更高的數據速率。