S/PDIF (TOSLINK) 二三四 - 喇叭音響

Table of Contents

AES3 和 S/PDIF(coaxial & fiber) 在硬體(傳輸媒介/電平)上有差異外,通訊協定使
用 Biphase-mark Code 將時鐘與數據信號一起編碼只有 channel status 代表的意義
不相同

AES3 主要使用在專業設備,而 S/PDIF 用於消費性產品

AES3 當時已有 24-bit 的應用。但 S/PDIF 推出時 Audio data 只使用 20 bit,主要
是 CD 的 44.1 kHz/16-bit 及 DAT(Digital Audio Tape) 的 48 kHz/20-bit

受限於頻寬多聲道需使用 Dolby Digital or DTS 這類壓縮格式。立體聲不論格式一律
32-bitSub-frame 來傳送 Audio sample data

0 3 4 7 8 27 28 29 30 31
Preamble Auxiliary LSB 20-bit audio sample word MSB V U C P
sample bits

Validity bit、User data bit、Channel status bitParity bit

|M| |W| |B| |W| |M| |W|
|X| Channel_1 |Y| Channel_2 |Z| Channel_1 |Y| Channel_2 |X| Channel_1 |Y|...
| | |
| |<Sub-frame 1>|<Sub-frame 2>|
|<------- Frame 191 ------->|<------- Frame 0 ------->|<------- Frame 1...
<<<------- Block ---------->|<---------- Block --------------------------->>>

兩個 Sub-frame(channel) 組成一個 Frame(立體聲),192 個 Frames 組成一個 Block

bit 0~3 的 Preamble 以違反 Biphase-mark Code 的方式編碼所以接收側可以識別
並依前一個 bit(上一組 Sub-frame 的 Parity bit)是零或一的不同有 3*2 六組固
定編碼,用來同步時間與識別各 BlockFrameSub-frame 的開頭
AES3 使用 Z Y X 為代號;S/PDIF 使用 B W M 但其實是一樣的東西

Audio sample word 的 20-bit 加 Auxiliary sample bits 的 4-bit 可擴展為 24-bit
都是低位至高位。Audio Data 的 MSB 一律對齊至第 27-bit

傳送方沒使用到的低位 bit 填充零,接收方無法用的低位 bit 就丟棄
I2S 也是無用填零或丟棄但其 bit 順序是 MSB->LSB,剛好跟 LSB->MSB 的 S/PDIF 用
FIFO 的方式交換 Audio data

不論傳送或接收方是 16-bit 20-bit 24-bit 都能在此框架下交換
標準的 AES3 & S/PDIF Sub-frame 長度永遠是 32-bit,所以 Audio data 最高 24-bit

近年有支援 32-bit Audio data 的硬體,將上述的 4+20 擴充到 8+24,Sub-frame 成
為了 40-bit;所以硬體不認得 40-bit 結構的就無法傳送或接收 32-bit Audio data

另外、為由於訊號包含了時鐘,所以傳送單聲道時還是得傳送兩個 Channel,資料存於
Ch1、Ch2 資料填充零

一個 Block 中有 192*2ch 的 Sub-Frame
兩個 Channel 的各自 Sub-frame 的第 30 bit Channel status bit
加起來各有 192-bit 或以 8-bit 一組組成 24 bytes 來表示 Channel status data
主要是儲存 Audio sample 的 bit-depth、Audio channel 數、Sampling frequency、
Time code、Pre-emphasis 等資料

Parity bit 不計 Preamble、只檢查 bit 4~30。但共計 27-bit 的同位位元檢查強度
如果體質好 BER 低就有用,如果體質差根本是做健康的就是了



標準的 Data rate 的計算=Sampling frequency * 32-bit * 2 channel
44.1 kHz * 32-bit * 2ch = 2.8224 Mbit/s
48 kHz * 32-bit * 2ch = 3.072 Mbit/s
96 kHz * 32-bit * 2ch = 6.144 Mbit/s
192 kHz * 32-bit * 2ch = 12.288 Mbit/s

特殊的 40-bit Data rate=Sampling frequency * 40-bit * 2 channel



所以除了非標準的 32-bit Audio data
不論是傳送 16、20、24-bit 的 Audio data 基本上不會引發錯誤。只差在如果送出高
bit-depth data 至只能處理低 bit-depth 的硬體時會發生資料截斷(丟棄)
由於 S/PDIF 是單向傳輸所以使用者得自行處理這類問題

且由於是單向傳輸、無法重送,Parity bit 要檢查 27-bit 的資料
基本上表示這是一個脆弱的 Protocol

--
人間五十年、化天のうちを比ぶれば、夢幻の如くなり
^,,,^ 一度生を享け、滅せぬもののあるべきか
(ω)\m/ NOBUMETAL DEATH!!('ω')

--

All Comments

Mia avatarMia2020-06-29
推!
Lily avatarLily2020-07-02
感覺起來,古早時代,因為傳輸速度不佳+網路差,所以只要
Daniel avatarDaniel2020-07-05
AUDIO多採用不同程度的 「不確認 或 不重傳」策略。不過看起來好像也沒有造成什麼大礙就是。
Hardy avatarHardy2020-07-08
很多問題 只是我們大多會碰到的都是家電產品等級
Jack avatarJack2020-07-11
搞到影音不同步就糗了 這在當時吵很大 HDMI 剛出來也是
Hamiltion avatarHamiltion2020-07-14
我對於 RME 的講法遲疑 我還是用好一點的好 不過最近沒錢連擴都不夠燒 更別說燒喇叭跟 DAC (死)
Ophelia avatarOphelia2020-07-17
異步模式真的可以少很多問題
Yuri avatarYuri2020-07-20
請問您的意思是說我換玻璃光纖有可能改善聲音嗎?
Zanna avatarZanna2020-07-22
長知識! 德國貨 的品質,真的不是蓋的。
Genevieve avatarGenevieve2020-07-25
異步模式 能否解決抖動的問題,是有正確答案。只是台灣做
Cara avatarCara2020-07-28
AUDIO DAC IC的公司(人)太少了。而和音響有關的專業公司,
Regina avatarRegina2020-07-31
好像只有 驊迅(C-MEIDA)一家。只要問的到這家的RD,就會有正確答案了。
Caroline avatarCaroline2020-08-03
Usher CD-1 USB 就是用 C 家產品不予置評 某友人就是設計者
Hardy avatarHardy2020-08-06
如果只是想討論「數位資訊與clock 對 類比輸出波型」的差異
Yuri avatarYuri2020-08-09
那驊迅應該是足以回覆的。尤其是經歷過 同步=>非同步的架構轉換,當時他們內部應該早就驗過有報告,而且經過市場驗證
Hardy avatarHardy2020-08-12
同時,萬一數位資料有誤時,會不會像CDP一樣自動補差,這個也可以順便討論一下。
Joseph avatarJoseph2020-08-15
學習了,推!
Joseph avatarJoseph2020-08-18
有個小小的問題,那個 S/PDIF 傳輸至 I2S的那個位元顛倒的音訊資料交換方式,若以 bit-wise 觀點來看,是否比較像 FILO 而不是 FIFO?雖然若以 subframe 以上的觀點來看,的確是 FIFO 沒錯。不過也有可能實際硬體實作不需用到 FIFO,直接寫死電路