2011年4月19日 星期二

Ti-SRC4392 SPDIF IC

介紹Ti SRC4392這顆跟SPDIF有關的IC,裡面有很多Block可以了解SPDIF的工作方式以及SPDIF Balanced / Unbalanced / Optical的連接方式

Ti SRC4392是一顆2 channel的sample rate converter (SRC) IC
Audio的介面有SPDIF TX, RX + I2S



Ti SRC4392EVB 開發版使用說明書,裡面會有SRC4392的標準建議線路

Ti SN74ALVC244 (BUFFER/DRIVER)

Ti SN74ALVC245 (BUS TRANSCEIVER)


Ti SRC4392的硬體架構可以參考Spec. Page23 的 Figure 59.

Ti SRC4392的SPDIF RX工作方式可以參考Spec. Page30 的 Figure 67.

在Figure 67.裡可以看到當SPDIF RX接收到信號後,進入AES3 Decoder做解碼,SPDIF信號同時進入Pulse Generator做時脈(Clock)的解調,然後進入PLL2做基頻(Clock)的鎖定
128fS、256fS、512fS的定義方式是以Sample-rate的倍率來當作基頻(Clock)
也就是說Sample-rate是192K的時候
如果以128倍fS當作192K的基頻(Clock)是24,576KHz = 24.576MHz
如果以256倍fS當作192K的基頻(Clock)是49,152KHz = 49.152MHz
如果以512倍fS當作192K的基頻(Clock)是............老實說,很少看到有這麼高的外部輸入的頻率或是內建的PLL在Audio的IC裡
一般48K,96K,192K系列的Sample-rate常見的基頻(Clock)是24.576MHz,而44.1K,88.2K,176.4K系列Sample-rate常見的基頻(Clock)是22.5792MHz

鎖定完的基頻(Clock)會從RXCKO輸出,而Ti SRC4392支援外部的基頻(Clock)輸入,所以你可以選擇把RXCKO輸出到RXCKI進入PLL1或是從外部的Oscillator輸入基頻(Clock)
然後PLL1跟解碼完的SPDIF轉成PCM信號進入Data Stream De-Mux,這時候Ti SRC4392已經擁有輸出SPDIF跟I2S的能力了
一般的SPDIF Receiver都會有這樣的PLL處理,所以SPDIF的Jitter不要太誇張的話是不需要擔心才對

在Ti SRC4392EVB Page16 的 Figure 7. Page 1裡可以看到AES3的Balanced跟Coaxial的Unbalanced的線路架構,在輸入阻抗的地方分別使用110 ohm跟 75 ohm的電阻到負極跟Ground
特別在XLR架構的部分有使用給數位信號用的Transformer做Isolation,這個動作的目的是僅讓Transformer寬內的數位信號通過,可以避免兩個透過線材連接的裝置因為Ground的不乾淨而互相干擾的問題,所以在使用Transformer的時候要注意頻寬的問題,因為不同規格的Transformer能通過的數位頻率不太一樣

Ti SRC4392有一個特色是Sample Rate Convert (SRC)
在Spec. Page33的Figure 72.有SRC的工作方式
Ti SRC4392同時間只能有一組Audio信號做SRC的動作
在Spec. Page23的Figure 59.有Block說明
Ti SRC4392 SRC並不會影響Audio的品質
Page12 ~21有大量的測試做驗證
Ti SRC4392 Spec. Page43~47有說明SPDIF的Balanced跟Unbalanced有使用Transformer跟沒使用Transformer的連接方式,還有AES out對應3.3V跟5V的Optical元件的電壓準位轉換(level shift)連接方式
AES out也可以使用在IC之間的SPDIF介面,記得IC間的SPDIF要使用47nF或0.1uF電容隔開,避免兩個IC之間有不同的偏壓造成接收SPDIF信號的時候因為不正確的電壓準位,造成SPDIF接收端對信號High / Low的電壓準位定義的不同而無法正確的判斷SPDIF信號,可能會導致SPDIF解碼不正確,聲音斷斷續續或是完全沒有聲音。

2011年4月16日 星期六

SPDIF (Sony/Philips Digital Interconnect Format)

SPDIF (Sony/Philips Digital Interconnect Format)是一種用來傳輸聲音的數位介面,主要定義了三種連接方式

IEC 60958 Type I Balanced (AES3) : 使用XLR接頭來傳輸平衡式(Balanced)的電子信號,XLR接頭有另外一個名子叫做Cannon頭
IEC 60958 Type II Unbalanced (Coaxial) : 使用同軸線(Coaxial cable)來傳輸非平衡式的電子信號,俗稱RCA頭
IEC 60958 Type II Optical : 使用光(Optical)信號傳輸,有另外一個名子叫TOSLINK

以上這三種連接方式所傳輸的信號都叫做SPDIF,傳輸的都是相同的數位資料,只是連接方式的不同而已
AES3使用Balanced的信號傳遞方式,Balanced是一種叫做差動(Differential)的信號結構,也就是把一個信號分成正負兩個極性
當數位介面要傳輸一個數位信號"1"的時候,正極會把電壓準位設定為"1",而負極會把電壓準位設定為"0"
當數位介面要傳輸一個數位信號"0"的時候,正極會把電壓準位設定為"0",而負極會把電壓準位設定為"1"
這是因為在傳輸過程中刻意把正負極性相反,當接收數位信號的裝置收到兩個相反的數位信號的時候才會認為它收到了正確的數位信號,也就符合了差動信號的名詞意義,兩個極性的信號有差別的時候才會動作
這種傳輸方式有一種好處,假設數位信號"1"準位是5V的電壓準位,當要傳輸數位信號"1"的的時候正極電壓準位是5V,負極是0V
當這個時候有一個+2V的瞬間突波影響了信號傳輸,5V變成了7V,0V變成了2V,正負極性的電壓準位還是相差5V,而+2V的偏壓會被耦合電容隔開,並不影響接收裝置正確的解讀信號
也就是說Balanced的信號傳遞方式有比較強的抗突波跟雜訊的特性

Coaxial跟AES3的差別就是使用非平衡式的信號傳遞方式,也就是沒有平衡式的負極,優點就是線材價格低廉,缺點就是信號會有被影響的可能
雖然有人會買好幾千塊的同軸線,這也不是不可以,只是這並不是SPDIF當初在定義Coaxial這個傳輸介面的用意 (這句話應該會有很多人有意見,不過以數位信號的傳輸方式來說,不應該會有太明顯的差異)

TOSLINK是Toshiba使用光信號傳輸SPDIF的名詞,不過這個介面比較常看到有人稱呼他為Optical
Optical的優點是在兩個裝置的傳輸過程中,沒有上面敘述的那些電子干擾問題,而且光的傳輸速度也遠大於SPDIF這個介面所需要的頻寬
不過光耦合器有反應速度的問題,但是關於頻寬的問題TOSLINK wiki那邊有提到"Bandwidth Originally 3.1 Mbit/s; Now 125 Mbit/s"
當SPDIF傳輸192K / 24Bits並且經過NRZ編碼後大約需要45Mbps的頻寬,正確的數字有一點忘了,反正就是現在光耦合器的頻寬很夠用就對了







Crystal application note 22是一份描述的滿清楚的SPDIF文件
順便提一下SPDIF在定義這個介面的時候只有定義32bits,扣掉一些必須的狀態欄位,最多只能傳遞192k / 24Bits,這是這個介面的極限

2011年4月10日 星期日

USB Audio Synchronous / Asynchronous

在Digital Audio的傳輸過程中主要的資料是音量跟頻率,

而且人的耳朵在聆聽音樂的時候,斷斷續續的聲音比稍微一點點失真的聲音更容易被察覺;


斷斷續續的聲音像是從有聲音變成完全沒聲音又突然有聲音,這種差異是很明顯也很衝突,

而稍微失真類似於音量大1%或是key高了2Hz之類的變化,人的耳朵其實並不那麼容易察覺。

所以一般的USB Audio 會使用Isochronous Transfers的方式去傳輸聲音,

是因為Isochronous的傳輸特性是允許錯誤但是傳輸不能中斷。


使用Isochronous Transfers的USB Audio有兩種常見的設定Synchronous跟Asynchronous

Synchronous : USB Device參考USB Host傳輸過程使用的NRZI解調出時脈(Clock),再使用解調出來的時脈(Clock)對資料(Data)做解碼

Asynchronous : USB Device使用自己的時脈(Clock)做資料(Data)的解碼,這種方式比較不容易因為傳輸過程中造成時序上的偏移(Jitter)而解調出不夠精準的時脈(Clock)然後去解碼出錯誤的資料



以下是一些文件跟名詞解釋的延伸閱讀


USB wiki (英文)

USB wiki (繁中)

USB 簡介 (繁中)

Isochronous : USB 2.0 Spec. #5.12.4 Isochronous Devices


USB Host好比USB的伺服器,管理掛載在他下面的裝置(Device),理論上一個USB Host可以掛載127個Device

USB Host wiki (英文)

USB Host wiki (繁中)


因為時脈(Clock)要從NRZI上解調出來,為了避免長時間沒有準位的變化再加上時序上的偏移(Jitter)而造成解調出更不精準的時脈(Clock)

所以傳輸過程如果連續6個high準位就會做Bit-stuffing,也就是塞一個low準位去強制改變NRZI的準位

NRZI wiki (英文)

NRZI wiki (繁中)

NRZI Beeway USB Blog (繁中)


Jitter wiki (英文)

Jitter wiki (繁中)


SPDIF使用的是NRZ編碼

NRZ wiki (英文)

NRZ wiki (繁中)


對USB Specification有興趣的朋友可以到這裡下載

USB Specification


我很喜歡去维基百科找資料,用字比較精準,敘述的方式比較容易閱讀,英文跟繁中的網頁都有找到,可以的話建議看英文的,通常英文的頁面講的比較完整