发烧论坛

注册

 

发新话题 回复该主题

SPDIF数字传输接口概念解析【转帖】 [复制链接]

1#
SPDIF数字传输接口概念解析

摘自:www.diyzone.net    作者:JACK W.
★本文欢迎转载   请注明出处为www.diyzone.net


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/EBU                                          S/PDIF
线材        110 Ohm屏蔽绞线                75 Ohm同轴线或是光纤线
接头        XLR 3 Pin接头                      RCA或BNC接头
最大位数        24 Bits                          标准为20 Bits(可支持到24 Bits)
讯号电平        3 ~ 10V                        0.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有进一步的认识。
diyzone1.jpg (, 下载次数:1)

jpg(2009/6/3 10:33:06 上传)

diyzone1.jpg

分享 转发
招聘电子工程师
  熟Layout、音响类电路设计,有经验者优先!
  有意者请发简历到iris.lin@guacamole1394.com
      或来电:0592-5860382(林小姐)
TOP
发新话题 回复该主题