我是浪子的个人空间 https://blog.eetop.cn/yawnspring [收藏] [复制] [分享] [RSS]

空间首页 动态 记录 日志 相册 主题 分享 留言板 个人资料

日志

(转载) SPDIF數位傳輸介面概念解析

已有 5136 次阅读| 2012-3-27 15:36

SPDIF數位傳輸介面概念解析(转载)
2009-08-27 10:59
SPDIF數位傳輸介面概念解析
日期: 2007年12月29日
文章主題: DAC數位類比轉換套件系列


S/PDIF,全名為Sony/Philips Digital Interconnect Format,是Sony和Philips這兩大巨頭在80年代為一般家用器材所定制出來的一種數位訊號傳輸介面,基本上是以AES/EBU(也稱為AES3)專業用數位介面為參考然後做了一些小變動而成的家用版本,可以使用成本比較低的硬體來實現數位訊號傳輸。

本文介紹了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 TYPE 1 Balanced ─ 三線式傳輸,使用110 Ohm阻抗的線材以及XLR接頭,使用於專業場合。
  • IEC 60958 TYPE 2 Unbalanced ─ 使用75 Ohm阻抗的銅軸線以及RCA接頭,使用於一般家用場合。
  • IEC 60958 TYPE 2 Optical ─ 使用光纖傳輸以及F05光纖接頭,也是使用於一般家用場合

    事實上,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的比較表。

    AES/EBU與S/PDIF比較表
    AES/EBUS/PDIF
    線材110 Ohm屏蔽絞線75 Ohm同軸線或是光纖線
    接頭XLR 3 Pin接頭RCA或BNC接頭
    最大位元數24 Bits標準為20 Bits(可支援到24 Bits)
    訊號電平3 ~ 10V0.5 ~ 1V
    編碼雙相符號編碼(Biphase Mark Code)雙相符號編碼(Biphase Mark Code)


    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如上圖所示區分成好幾個部份,我們先一一表列如下:

    位元位置區塊名稱功能說明
    0-3頭碼(Preamble)用來表示一個Sub Frame的開頭,有三種型態,分別表示該Sub Frame為Channel A、Channel B或著是一個Block的起始Sub Frame(為Channel A)。
    4-7輔助資料(Aux. Data)原始此區塊的設計是用來傳遞一些使用者自行添加的資訊,不過目前比較常見的用途是當音訊資料超過20Bit取樣時,這四個Bit用來儲存多出的取樣Bit,比如說當要傳送24Bit取樣的資料時,用來存放末四個Bit的音訊資料。
    8-27音訊資料(Audio Data)存放實際的取樣資料,長度為20 Bit,以LSB優先的方式傳送,當取樣低於20 Bit時,沒有用到的LSB Bits要設定為零,舉例來說,當我們要傳送16 Bit的資料時,只會用到12-27 Bit的位置(LSB在12 Bit),而8-11 Bit為零。
    28有效位元(Validity Bit)此位元設定了這一個Sub Frame內的資料是不是正確,如果設定為0,代表此Sub Frame內的資料是正確可被接收的,反之如果此Bit為1,則代表接收端應該忽略此組Sub Frame。比如說CD轉盤讀取CD資料時若是有某一個Sample讀不到就會將代表該組Sample的Sub Frame中的有效位元設為1。
    29使用者位元(User Bit)此位元為使用者自行定義的位元,每組Sample傳送一位元,直到192組Sample傳完後組成成192位元的資訊,兩聲道各自有一組192位元的使用者資訊。
    30通道狀態位元(Channel Status Bit)此位元與使用者位元一樣,每組Sample傳送一位元,最後組成兩聲道各自一組192位元的通道狀態資訊(Channel Status)。這個192位元通道狀態資訊分為專業(Professional)與一般家用(Consumer)兩種不同的結構,以第一個位元決定,設為1的時後為Professional模式,設為0的時後為Consumer模式。
    31同位元檢查位元(Parity Bit)同位元檢查是用來判別是否有奇數個位元是發生錯誤,是一種簡便錯誤檢查方法,這邊是使用偶位同位元檢查(Even Parity Check)。


    子框架內的頭碼(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有進一步的認識。

    转载至:http://www.diyzone.net/print.php?sid=1148


  • 点赞

    评论 (0 个评论)

    facelist

    您需要登录后才可以评论 登录 | 注册

    • 关注TA
    • 加好友
    • 联系TA
    • 0

      周排名
    • 0

      月排名
    • 0

      总排名
    • 0

      关注
    • 0

      粉丝
    • 0

      好友
    • 0

      获赞
    • 44

      评论
    • 2922

      访问数
    关闭

    站长推荐 上一条 /2 下一条

    小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
    ( 京ICP备:10050787号 京公网安备:11010502037710 )

    GMT+8, 2024-4-25 11:50 , Processed in 0.024805 second(s), 13 queries , Gzip On, Redis On.

    eetop公众号 创芯大讲堂 创芯人才网
    返回顶部