微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > S/PDIF总线协议

S/PDIF总线协议

时间:12-15 来源:互联网 点击:
S/PDIF(Sony/Philips Digital Interface Format)是一种数字音频传输接口,普遍使用光纤和同轴线输出,将音频信号输出值解码器上,能保持高保真度的输出结果,广泛应用在DTS(Digital Theatre System,数字化影院系统)和杜比数字中。

S/PDIF基本上是以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的比较表。

IEC958使用的编码方法

IEC958在传输数据时使用双相符号编码(Biphase Mark Code),简称BMC,属于一种相位调制(phase modulation)的编码方法,是将时钟讯号和数据讯号混合在一起传输的编码方法。

其原理是使用一个两倍于传输位率(Bit Rate)的时钟频率做为基准,把原本一位数据拆成两部份,当数据为1的时后在其时钟周期内转变一次电位(0->1或1->0)让数据变成两个不同电位的资料,变成10或01,而当数据为0时则不转变电位,变成11或00。同时每一个位开头的电平与前一个位结尾电平要不同,这样接收端才能判别每一个位的边界,如下图所示。

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)的详细结构,一个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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top