|
日期: 2007年12月29日 文章主題: DAC數位類比轉換套件系列 本文介紹了S/PDIF的整體架構、編碼方式以及各個結構的定義,由於S/PDIF在現今已經是一個最廣泛使用的數位音樂資料介面,所以值得對數位音響器材有興趣的朋友們去好好瞭解一下,希望本篇文章能讓網友們對於S/PDIF有進一步的認識。 S/PDIF簡介 S/PDIF,全名為Sony/Philips Digital Interconnect Format,是Sony和Philips這兩大巨頭在80年代為一般家用器材所定制出來的一種數位訊號傳輸介面,基本上是以AES/EBU(也稱為AES3)專業用數位介面為參考然後做了一些小變動而成的家用版本,可以使用成本比較低的硬體來實現數位訊號傳輸。為了定制一個統一的介面規格,在現今以IEC 60958標準規範來囊括取代AES/EBU與S/PDIF規範,而IEC 60958定義了三種主要型態: 事實上,IEC 60958有時會簡稱為IEC958,而IEC 60958 TYPE 1即為AES/EBU(或著稱為AES3)介面,而IEC 60958 TYPE 2即為S/PDIF介面,而雖然在IEC 60958 TYPE 2的接頭規範裡是使用RCA或著光纖接頭,不過近年來一些使用S/PDIF的專業器材改用BNC接頭搭配上75 Ohm的同軸線以得到比較好的傳輸品質,下表為AES/EBU與S/PDIF的比較表。
IEC958使用的編碼方法 圖說:雙相符號編碼(Biphase Mark Code)的運作原理示意圖。 IEC958在傳輸資料時使用雙向雙相符號編碼(Biphase Mark Code),簡稱BMC,屬於一種相位調制(phase modulation)的編碼方法,是將時鐘訊號和資料訊號混合在一起傳輸的編碼方法。 其原理是使用一個兩倍於傳輸位元率(Bit Rate)的時鐘頻率做為基準,把原本一個位元資料拆成兩部份,當資料為1的時後在其時鐘週期內轉變一次電位(0->1或1->0)讓資料變成兩個不同電位的資料,變成10或01,而當資料為0時則不轉變電位,變成11或00。同時每一個位元開頭的電平與前一個位元結尾電平要不同,這樣接收端才能判別每一個位元的邊界。 使用BMC編碼可以讓傳輸端與接收端只需一條資料線就可以將資料正確的傳送與接收,並且在收送兩端可以保持比較好的同步性,這是由於BMC格式的電位極性一定會在兩個位元週期之間變換,這樣接收端可以不用理會實際接收到的電為是0或1,只需判別與上一個電平的極性是相同或相反即可。此外,BMC編碼可以讓傳輸線保持在接近零的平均直流電位,除了可以降低傳輸需要耗費的功率之外,也可以降低實體電磁干擾,讓資料正確性更高。 IEC958通訊協定架構 S/PDIF與AES/EBU主要是做為傳遞PCM格式訊號之用,例如48kHz的DAT以及44.1kHz的CD,不過現今也有用來傳遞壓縮過的多聲道訊號。標準傳遞兩聲道訊號的架構如上圖所示,最上面為由192個框架(Frame)構成的區塊(Block)。而每個Frame儲存了兩個聲道的一組取樣訊號(Sample),分為Channel A與Channel B兩個聲道。而每組Sample由一個子框架(Sub Frame)構成,也就是一個Frame裡有兩個Sub Frame。Sub Frame的資料長度為32 Bits,裡頭內含了頭碼(Preamble)、輔助資料(Aux. Data)、音訊資料(Audio Data)、以及四個位元的資訊與檢查碼。也就是說,一個Sub Frame為32 Bits,也就4 Bytes,而一個Frame為8 Bytes,而一個Block為192 x 8 = 1536 Bytes,而每個Block總共可以傳遞192個雙聲道Sample。 子框架(Sub Frame)細部解說 圖說:IEC958內的基本資料結構 ─ 子框架(Sub Frame)結構圖。 要瞭解IEC958的資料結構了話,我們有必要要先瞭解子框架(Sub Frame)的詳細結構,一個Sub Frame如上圖所示區分成好幾個部份,我們先一一表列如下:
子框架內的頭碼(Preamble)定義 如前文所述,頭碼(Preamble)是用來表示一個Sub Frame的開頭,主要有X、Y、Z三種組態代表不同的意義,X代表此時是傳送A通道的Sub Frame、Y代表是傳此時是傳送B通道、而Z比較特別,是代表此時是傳送A通道,並且是一個Block的起始Sub Frame。 而在上頭的表格裡的資料數值是Sub Frame中其它的資料經過BMC編碼之後再加到整個Sub Frame前頭的資料數值,所以總共是八碼,代表四個位元的時序。此外比較特別的是除了有X、Y、Z三種組態之外,上面的表格還列出了另外一組與原本資料向位相反的數值,要使用哪一組數值是依照前一組Sub Frame中最尾端的電平而定,當前一組Sub Frame為最尾端的電平0時用左邊那一列數值,為1的時後用右邊那一列,這樣一樣接收端才能正確處理。 圖說:兩組Preamble組態實際呈現的型態,仔細觀察後可發現是不符合BMC編碼定義的。 再來是Preamble比較特別的地方,我們若是觀察上圖的波型,可以發現每個Preamble組態都有兩處是不符合BMC規範中「每一個位元開頭的電平與前一個位元結尾電平要不同」的定義,尤其是一開頭的000或111就不符合BMC編碼的定義了。這樣子的設計是用來讓接收端很清楚的得知每個Sub Frame的起始點,只需簡單的檢查資料中不符合BMC編碼定義的位置就可以了。 圖說:在一個區塊(Block)中,Preamble為Z組態的時後代表一個區塊的起始點。 通道狀態(Channel Status)的結構 如前文所述,每組Sub Frame中有一位元的通道狀態位元,在一個Block有192組Frame,可以構成192位元的通道狀態結構(Channel Status Structure),而兩聲道各自有一組192位元的使用者資訊。這這個192位元的通道狀態結構主要有兩種不同的結構,由第一個位元來決定,當第一個位元為0時代表一般家用(Consumer)結構,第一個位元為1時代表專業用(Professional)結構,分別為下面這兩張結構圖表。 圖說:一般家用通道狀態結構圖(Consumer Channel Status Structure)。 圖說:專業用通道狀態結構圖(Professional Channel Status Structure)。 而實際使用上,上面這兩個圖表只能當做參考使用,因為通道狀態結構有許多種不同的版本,到目前為止世面上許多不同器材所遵循的版本也不儘相同,甚至有一些器材會忽略不處理通道狀態,舉例來說,有許多器材並不會處理一般家用版本中關於內容保護的資訊或是取樣頻率的資訊...等等。所以本文並不打算一一介紹通道狀態裡的詳細定義,有興趣的朋友可以自行參考IEC60958、AES3...等技術文件。 結語 S/PDIF,或著稱為IEC958、IEC 60958、AES/EBU、AES3、TC84...等等名稱,是一個在數位音頻訊號早期就發展出來的一個傳輸介面與協定,從硬體介面規範至通訊協定皆有其規範在,不過由於時代變化迅速,為了因應各種新的需求所以也產生出許許多多不同的標準,甚至在同一個標準裡也有不同的版本。 不過大體上各種不同的標準與版本中都保留了彼此之間的相容性,而對於整個區塊(Block)、框架(Frame)、子框架(Sub Frame)的定義都相同,不同之處在於對於硬體介面上以及額外的通道資訊上的定義不同,並不影響實際音樂數位資料的傳遞。 本文介紹了S/PDIF的整體架構、編碼方式以及各個結構的定義,由於S/PDIF在現今已經是一個最廣泛使用的數位音樂資料介面,所以值得對數位音響器材有興趣的朋友們去好好瞭解一下,希望本篇文章能讓網友們對於S/PDIF有進一步的認識。 |