IEC 60958

IEC 60958是一种传递数字音频的接口规范,相比I2S,IEC60958通过一根线同时传递时钟信号和数据信号。IEC 60958用来传递两channel,16/20/24bits采样深度的PCM数据。

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

在BMC编码中,时钟信号的频率是数据传输bitrate的两倍。BMC信号在时钟信号的上升沿跳变。在时钟下降沿,BMC是否跳边取决于数据信号,当数据信号是高电平时,BMC跳变。当数据信号是低电平时,BMC不跳变。

在音频信号在硬件间传递时,是传递的BMC信号,接收端对BMC解码,解析出时钟信号与数据信号。

IEC 60958标准传递两channel音频数据的报文格式如下图所示,

由192个Frame构成的Block,而每个Frame储存了两个channel的一组采样信号(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各个bit组成如下:

0-3 bits       头码(Preamble)        用来表示一个Sub Frame的开头,有三种型态,分别表示该Sub Frame为Channel A、Channel B或着是一个Block的起始Sub Frame(为Channel A)。

4-7bits        辅助数据(Aux. Data)        原始此区块的设计是用来传递一些使用者自行添加的信息,不过目前比较常见的用途是当音讯数据超过20Bit取样时,这四个Bit用来储存多出的取样Bit,比如说当要传送24Bit取样的数据时,用来存放末四个Bit的音讯数据。

8-27bits        音频数据(Audio Data)        存放实际的取样数据,长度为20 Bit,以LSB优先的方式传送,当取样低于20 Bit时,没有用到的LSB Bits要设定为零,举例来说,当我们要传送16 Bit的数据时,只会用到12-27 Bit的位置(LSB在12 Bit),而8-11 Bit为零。

28 bit       有效位(Validity Bit)        此位设定了这一个Sub Frame内的数据是不是正确,如果设定为0,代表此Sub Frame内的数据是正确可被接收的,反之如果此Bit为1,则代表接收端应该忽略此组Sub Frame。比如说CD转盘读取CD数据时若是有某一个Sample读不到就会将代表该组Sample的Sub Frame中的有效位设为1。

29 bit       使用者位(User Bit)        此位为使用者自行定义的位,每组Sample传送一位,直到192组Sample传完后组成成192位的信息,两声道各自有一组192位的使用者信息。

30bit        信道状态位(Channel Status Bit)        此位与使用者位一样,每组Sample传送一位,最后组成两声道各自一组192位的信道状态信息(Channel Status)。这个192位信道状态信息分为专业(Professional)与一般家用(Consumer)两种不同的结构,以第一个位决定,设为1的时后为Professional模式,设为0的时后为Consumer模式。

31bit        同位检查位(Parity Bit)        同位检查是用来判别是否有奇数个位是发生错误,是一种简便错误检查方法,这边是使用偶位同位检查(Even Parity Check)。

头码(Preamble)是用来表示一个Sub Frame的开头,主要有X、Y、Z三种组态代表不同的意义,X代表此时是传送A通道的Sub Frame、Y代表是传此时是传送B通道、而Z比较特别,是代表此时是传送A通道,并且是一个Block的起始Sub Frame,如下图所示。

由于BMC编码中不可能出现三个bit相同的情况,IEC 60958正是利用这一特性来区分Preamble与正常的数据。表格里的Preamble code数值是Sub Frame中其它的数据经过BMC编码之后再加到整个Sub Frame前头的数据数值,所以总共是8bit,代表4bit(0~3bits)的时序。此外比较特别的是除了有X、Y、Z三种组态之外,上面的表格还列出了另外一组与原本数据向位相反的数值,要使用哪一组数值是依照前一组Sub Frame中最尾端的电平而定,当前一组Sub Frame为最尾端的电平0时用左边那一列数值,为1的时后用右边那一列,这样一样接收端才能正确处理。

每组Sub Frame中有一位的信道状态位,在一个Block有192组Frame,可以构成192位的信道状态结构(Channel Status Structure),而两声道各自有一组192位的使用者信息。这这个192位的信道状态结构主要有两种不同的结构,由第一个位来决定,当第一个位为0时代表一般家用(Consumer)结构,第一个位为1时代表专业用(Professional)结构,分别为下面这两张结构图表。

  • 一般家用信道状态结构图(Consumer Channel Status Structure)。PCM的采用频率为下图channel status中的Fs(24~27bit)

  • 专业用信道状态结构图(Professional Channel Status Structure)

而实际使用上,上面这两个图表只能当做参考使用,因为信道状态结构有许多种不同的版本,到目前为止世面上许多不同器材所遵循的版本也不尽相同,甚至有一些器材会忽略不处理信道状态。

IEC 61937

相比IEC 60958只能传递2个channel的PCM音频数据,IEC 61937可以传递更复杂的压缩的音频数据,如MPEG2那种多声道, AC3 或DTS。在压缩的音频数据中,可以解析出channel,sample rate等信息。

IEC 61937报文格式如下:

Pa,Pb,Pc,Pd均为16bit数据,是IEC 61937的Preamble word,分别封装在IEC 60958 标准的1个Sub Frame中。

Pa,Pb是sync word,其值是固定的。Pc包含数据类型、和传递给接受者的信息。Pd为Burst-payload的长度。

Pc的信息如下表:

Data type如下:

转载于:https://www.cnblogs.com/fellow1988/p/6445489.html

IEC 60958 IEC 61937相关推荐

  1. IEC60958和IEC61937

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

  2. 什么是IEC 61508?

    什么是IEC 61508? IEC 61508是电气,电子和可编程电子安全相关系统的国际标准.作为SIL认证中的协调标准充当着非常重要的角色! IEC 61508:2010于2010年作为第2版出版 ...

  3. IEC 61131-3编程标准(GBT 15969.3)

    IEC 61131-3 IEC 61131是国际电工委员会(IEC) 制定的可编程逻辑控制器标准.在IEC编号系统更改以前,称为IEC 1131. IEC 61131 标准区分成以下几个部分: 第1部 ...

  4. 半导体(Die及成品)产品标准大汇总包括可靠性等(IEC+JEDEC+EIAJ+AECQ+国标)

    半导体(Die及成品)产品标准大汇总包括可靠性等(IEC+JEDEC+EIAJ+AECQ+国标) 1. IEC标准 IEC 60747全系列 - Semiconductor devices(半导体器件 ...

  5. 转换插头SAA认证/CE认证/PSE认证/IEC报告/BS报告等常见认证测试标准

    转换插头SAA认证,不带控制 AS/NZS 3100 AS/NZS 3112 AS/NZS 3122 转换插头SAA认证,带控制, WiFi AS/NZS 3100 AS/NZS 3112 AS/NZ ...

  6. IEC 62443简述

    IEC 62443简述 IEC 62443简述 IEC 62443-2 IEC 62443-3 IEC 62443简述 EC 62443是国际电工委员会制定的一系列标准,旨在为工业控制系统(ICS)提 ...

  7. IEC 61968 和 IEC 61850 量测模型的差异性分析(论文学习)

    引言 IEC 61968与IEC 61850融合问题的提出最初是因为基于IEC 61850标准的变电站与基于IEC 61970/IEC 61968标准的控制中心之间存在大量的信息交互和共享(包括配置信 ...

  8. HDMI 1.4 协议详解

    HDMI系统架构定义为由源和接收器组成.给定的设备可能具有一个或多个HDMI输入和一个或多个HDMI输出.这些设备上的每个HDMI输入都应遵循HDMI接收器的所有规则,每个HDMI输出应遵循HDMI源 ...

  9. HDMI之InfoFrame

    AVI/AUDIO InfoFrame属于辅助数据类别.一个InfoFrame打包仅仅能够载送一个InfoFrame.而且,依据HDMI的规范,其大小被限制在30个字节加上一个检验和(CheckSum ...

最新文章

  1. Leangoo_多团队,大规模敏捷开发实现过程
  2. 每天都在用 Map,这些核心技术你知道吗?
  3. 微积分笔记(一)--预备知识
  4. Java 系列之spring学习--spring搭建(一)
  5. U3D 平行光阴影细节 Directional Shadow Details
  6. Kotlin 基本数据类型(五)
  7. 用终端命令(Git)合并到Master分支等操作
  8. 纯CSS3实现打火机火焰动画
  9. AS3中 用JPEGEncoder保存 摄像头拍的照片 (另有JPEGEncoder类的下载地址)
  10. android手机误删通讯录恢复
  11. 1.Linux 程序设计入门
  12. [c#基础]关于const和readonly常见的笔试题剖析
  13. 别说理科男不懂撩妹,这个老司机一生只爱两样:物理和18岁的少女
  14. RTMP,RTSP,HLS 流服务器
  15. 柚墨模板PPT干货分享:幻影动画,打造科幻大片前卫PPT
  16. Excel技巧—Excel也能P图抠图
  17. 记录制作音响的青葱岁月
  18. Facade - 外观模式
  19. 京东cookie京东ck
  20. shell判断所输整数是否为质数

热门文章

  1. 零基础入门语音识别-食物声音识别[Task 1]
  2. Postman搭建mock server接口
  3. python 绘图英文字体_如何在matplotlib和networkx中显示非英语字体?
  4. 般若波罗密多心经浅说
  5. CC2530/ESP32+传感器+ZigBee+MQTT+MYSQL+Springboot+Vue+Echarts的老人卫生间防摔倒自动报警系统
  6. 今天偶遇win10的CTRL+c和CTRL+v,失灵。不知道为什么,也试验了各种帖子什么clip不行。发现有一个简单粗暴的方法
  7. 详解 TCP 和 UDP的概念、特点和区别
  8. 皇家墨尔本理工大学计算机科学专业,皇家墨尔本理工大学计算机科学本科专业.pdf...
  9. idea中web文件没有小蓝点问题解决
  10. 基于UniGUI的管理系统