I2S音頻總線學習(二)I2S總線協議
一、I2S總線概述
音響數據的采集、處理和傳輸是多媒體技術的重要組成部分。眾多的數字音頻系統已經進入消費市場,例如數字音頻錄音帶、數字聲音處理器。對於設備和生產廠家來說,標准化的信息傳輸結構可以提高系統的適應性。I2S(Inter—IC Sound)總線是飛利浦公司為數字音頻設備之間的音頻數據傳輸而制定的一種總線標准,該總線專責於音頻設備之間的數據傳輸,廣泛應用於各種多媒體系統。二、I2S總線規范
I2S總線擁有三條數據信號線:1、SCK: (continuous serial clock) 串行時鍾
對應數字音頻的每一位數據,SCK都有1個脈沖。SCK的頻率=2×采樣頻率×采樣位數。2、WS: (word select) 字段(聲道)選擇
用於切換左右聲道的數據。WS的頻率=采樣頻率。
命令選擇線表明了正在被傳輸的聲道。
WS為“1”表示正在傳輸的是左聲道的數據。
WS為“0”表示正在傳輸的是右聲道的數據。
WS可以在串行時鍾的上升沿或者下降沿發生改變,並且WS信號不需要一定是對稱的。在從屬裝置端,WS在時鍾信號的上升沿發生改變。WS總是在最高位傳輸前的一個時鍾周期發生改變,這樣可以使從屬裝置得到與被傳輸的串行數據同步的時間,並且使接收端存儲當前的命令以及為下次的命令清除空間。
WS為“1”表示正在傳輸的是左聲道的數據。
WS為“0”表示正在傳輸的是右聲道的數據。
WS可以在串行時鍾的上升沿或者下降沿發生改變,並且WS信號不需要一定是對稱的。在從屬裝置端,WS在時鍾信號的上升沿發生改變。WS總是在最高位傳輸前的一個時鍾周期發生改變,這樣可以使從屬裝置得到與被傳輸的串行數據同步的時間,並且使接收端存儲當前的命令以及為下次的命令清除空間。
3、SD: (serial data) 串行數據
用二進制補碼表示的音頻數據。 I2S格式的信號無論有多少位有效數據,數據的最高位總是被最先傳輸(在WS變化(也就是一幀開始)后的第2個SCK脈沖處),因此最高位擁有固定的位置,而最低位的位置則是依賴於數據的有效位數。也就使得接收端與發送端的有效位數可以不同。如果接收端能處理的有效位數少於發送端,可以放棄數據幀中多余的低位數據;如果接收端能處理的有效位數多於發送端,可以自行補足剩余的位(常補足為零)。這種同步機制使得數字音頻設備的互連更加方便,而且不會造成數據錯位。為了保證數字音頻信號的正確傳輸,發送端和接收端應該采用相同的數據格式和長度。當然,對I2S格式來說數據長度可以不同。
對於系統而言,產生SCK和WS的信號端就是主設備,用MASTER表示,簡單系統示意圖如圖1所示:

圖1 簡單系統配置和基本接口時序
另一個基本的接口時序圖可以參看圖2所示:

圖2 I2S典型的接口時序
4、時序要求
在IIS總線中,任何設備都可以通過提供必需的時鍾信號成為系統的主設備置,而從屬設備通過外部時鍾信號來得到它的內部時鍾信號,這就意味着必須重視主設備和數據以及命令選擇信號之間的傳播延遲,總的延遲主要由兩部分組成:
1.外部時鍾和從設備的內部時鍾之間的延遲
2.內部時鍾和數據信號以及命令選擇信號之間的延遲
對於數據和命令信號的輸入,外部時鍾和內部時的延遲不占據主導的地位,它只是延長了有效的建立時間(set-up time)。延遲的主要部分是發送端的傳輸延遲和設置接收端所需的時間。見圖3和圖4:
1.外部時鍾和從設備的內部時鍾之間的延遲
2.內部時鍾和數據信號以及命令選擇信號之間的延遲
對於數據和命令信號的輸入,外部時鍾和內部時的延遲不占據主導的地位,它只是延長了有效的建立時間(set-up time)。延遲的主要部分是發送端的傳輸延遲和設置接收端所需的時間。見圖3和圖4:

圖3 Timing for IIS Transmitter

圖4 Timing for IIS Receiver
其中:

