首页 > 其他分享 >SPDIF接口介绍

SPDIF接口介绍

时间:2024-09-18 16:01:54浏览次数:8  
标签:Sub Frame 介绍 Sample 接口 Bit 数据 IEC SPDIF

SPDIF接口介绍

S/PDIF接口规范详解

S/PDIF是sony和philips在80年代为一般家用器材所定制出来的一种数字讯号传输接口,基本上是以AES/EBU(也称AES3)专业用数字接口为参考然后做了一些小变动而成的家用版本。

可以使用成本较低的硬件来实现数字讯号传输。为了定制一个统一的接口规格,现如今以IEC 60958标准规范来囊括取代AES/EBU与S/PDIF规范,而IEC 60958定义了三种主要形态:

(1)IEC 60958 TYPE1 Balanced :三线式传输使用110欧阻抗的线材及XLR接头,使用于专业场合

(2)IEC 60958 TYPE2 Unbalanced:使用75欧阻抗的同轴线以及RCA接头,适用于一般家用场合

(3)IEC 60958 TYPE2 Optical:使用光纤传输以及F05光纤接头,也是使用于一般家用场合

IEC60958有时会简称为IEC958,而IEC 60958 TYPE1即为AES/EBU(也称AES3)接口,而IEC 60958 TYPE2即为S/PDIF接口,虽然在IEC 60958 TYPE2的接头规范里是使用RCA或光纤接头,不过近年来一些使用S/PDIF的专业器材改用BNC接头搭配上75欧的同轴线也可以得到比较好的传输质量,下表为AES/EBU与S/PDIF的比较表:

IEC958使用的编码方法

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

其原理是使用一个两倍于传输位率的时钟频率做为基准,把原来一位数据拆成两份,当数据为1的时候,在其时钟周期内转变一次电位(0->1或1->0)让数据变成两个不同电位,变成10或01,而当数据为0则不转变电位,变成11或00。同时每一个位开头的电平与前一个结尾电平要不同(Preamble 头4位除外),这样接收端才能判别每一个位的边界,如下图所示。(BMC编码可以让传输线保持在接近0的平均直流电位,除了可以降低传输需要耗费的功率之外,也可以降低实体电磁干扰,让数据正确性更高)。

AES/EBU与S/PDIF主要是用来传递PCM格式的音频信号,例如48Khz的DAT以及44.1Khz的CD,不过现在也有用来传递压缩过的多声道信号。

标准传递两声道信号的架构如下图所示,最上面是由192个框架(Frame)构成的区块(Block)。而每个Frame储存了两个声道的一组采样信号(Sample)分为Channel A与Channel B两个声道。每组Sample 由一个子框架(Sub Frame)构成,也就是一个Frame里有两个Sub Frame。Sub Frame的长度为32bits,里头包含了头码(Preamble),辅助数据(Aux Data),音频数据(Audio Data)以及4个位的信息与检查码。一个Sub Frame为32bits,则一个Frame为8Byte,一个block为192x8=1536 Bytes,每个block总共可以传递192个双声道Sample。

子框架(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)定义

头码是用来表示一个Sub Frame的开头,主要有B,M,W(或Z,X,Y)三种组态,各代表不同的意义。M代表此时传送的是A通道(左声道),W代表此时传输的是B通道(右声道),而B比较特殊,代表此时传送的是A通道,并且是一个Block的起始Sub Frame。

在上头的表格里的数据数值是Sub Frame中其它的数据经过BMC编码之后再加到整个Sub Frame前头的数据数值,所以总共是八码,代表四个位的时序。此外比较特别的是除了有X、Y、Z三种组态之外,上面的表格还列出了另外一组与原本数据向位相反的数值,要使用哪一组数值是依照前一组Sub Frame中最尾端的电平而定,当前一组Sub Frame为最尾端的电平0时用左边那一列数值,为1的时候用右边那一列,这样接收端才能正确处理。

在一个区块(Block)中,Preamble为Z组态时代表一个区块的起始点,如下图所示。

数据处理

由于SPDIF传输的是音频数据速率很低一般都是K级别的。为了从BMC编码后的数据恢复出音频数据,我们可以用一个较高频率的时钟(比如100M)去采样SPDIF接口上输入的信号。得到其沿变化的最小时间间隔(N个时钟周期)。这样在每个沿变化后或者计时到时间间隔N后, 重新清零计数器开始计时到N-1时采样一位数据。用一个8位的移位寄存器,去连续接收数据,再根据子框架内的头码(Preamble)定义去识别出Fame头。同时根据BMC的编码方法“在其时钟周期内转变一次电位(0->1或1->0)让数据变成两个不同电位,变成10或01,而当数据为0则不转变电位,变成11或00。”去将BMC变化后的数据转换为实际的音频数据。

标签:Sub,Frame,介绍,Sample,接口,Bit,数据,IEC,SPDIF
From: https://www.cnblogs.com/bujidao1128/p/18418738

相关文章

  • 眼图的结构与参数介绍
    眼图的作用在电路仿真中,眼图是一种用于分析数字信号质量和判定信号传输是否出错的工具。它显示了在特定时间窗口内的多个信号周期的叠加,以形成一个开放的眼形状。每个周期内的信号被叠加在一起,产生了一个开放的眼形,其中垂直轴表示信号的幅度,水平轴表示时间。通过分析眼图,可......
  • Metasploit Framework (MSF) 使用指南 - 第一篇:介绍与基础用法
    引言MetasploitFramework(MSF)是一款功能强大的开源安全漏洞检测工具,被广泛应用于渗透测试中。它内置了数千个已知的软件漏洞,并持续更新以应对新兴的安全威胁。MSF不仅限于漏洞利用,还包括信息收集、漏洞探测和后渗透攻击等多个环节,因此被安全社区誉为“可以黑掉整个宇宙”的工具。......
  • 为什么有些公司规定所有接口都用POST?揭秘背后的逻辑
    在API设计中,选择正确的HTTP方法对于确保接口的语义正确性、安全性和可维护性至关重要。你可能会遇到一些公司规定所有接口都使用POST方法,这种做法背后有着一系列的考虑。本文将探讨为什么有些公司会做出这样的规定,并分析其背后的逻辑。HTTP方法的语义在HTTP协议中,常见的方法有GET、......
  • linux 操作系统下的 depmod 命令介绍和使用案例
    linux操作系统下的depmod命令介绍和使用案例depmod命令在Linux操作系统中用于生成内核模块的依赖关系和相关的映射文件。它分析内核模块并创建一个依赖列表,以确保在使用modprobe加载和卸载模块时,所有必需的模块都能得到正确处理。depmod命令介绍功能生成依赖列表:depmod......
  • 表格识别 报关单识别接口 海关进/出口报关单识别API 票据识别API
    报关资料的格式多样性和字段填写不规范是开发精确识别程序的主要难点之一,不同公司只做的报关资料格式均有所不同,包含的表格经常有不完整的列错位等问题;翔云报关单识别接口,通过深度学习算法,可快速精准的识别报关单、发票、装箱单、申报要素等一系列单据,支持多种文件格式,支持多......
  • 表格识别 报关单识别接口 海关进/出口报关单识别API 票据识别API
    报关资料的格式多样性和字段填写不规范是开发精确识别程序的主要难点之一,不同公司只做的报关资料格式均有所不同,包含的表格经常有不完整的列错位等问题;翔云报关单识别接口,通过深度学习算法,可快速精准的识别报关单、发票、装箱单、申报要素等一系列单据,支持多种文件格式,支持......
  • 宝兰德MCP系列介绍 ①:中间件管理能力全线升级,驱动企业数字化管理效能提升
    在企业数字化转型加速与新技术涌现下,中间件作为衔接底层基础设施和上层业务应用的桥梁,应用愈发广泛且关键。但为了有效管理并维护众多类型的中间件,企业需更多专业运维与资源,这大大分散业务焦点并提升成本。因此,优化中间件管理体系,实现自动化、智能化的运维管理,成为企业亟需解决的重......
  • Java 8 新特性:Lambda 表达式与函数式接口全面解析(OOF(面向函数编程))
    在Java8中,引入了一系列重要的新特性,极大地提升了开发者的编程体验和代码简洁性。其中,Lambda表达式和函数式接口是最具影响力的特性,尤其在推动Java进入函数式编程领域方面具有里程碑意义。本文将全面深入地讨论Lambda表达式、函数式接口(包括Java内置函数式接口与自......
  •  接口幂等性
    什么是幂等性? 接口幂等性就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。比如:公交车刷卡,用户上车后刷码支付扣款成功,如果用户再次点击按钮刷卡并扣款成功,用户查询余额返发现多扣钱了,流水记录也变成了两条,这就没有保证接口的幂等......
  • 保险丝基本工作原理及介绍
    保险丝的工作原理什么是保险丝保险丝是一种保护电路的电子元器件,它通常串联在电路中,在故障电流增大到一定数值时,其自身熔断而切断电路,达到保护电路中其它设备的目的。在电路过电流保护组件中最常用的就是保险丝。传统的保险丝主要是由两端带有金属连接端子的管体和管内的金属......