HD Audio 硬件总架构
音频控制器由CPU运行的软件来模拟,软声卡;
音频编解码器,主要处理A/D、D/A转换。
HDA 总线协议
【常见音频(传输)接口/标准总结】
音频接口 | 中文+全称 | 主要(技术+应用)场景 | 备注说明 |
PCM | Pulse Code Modulation =脉冲编码调制 | AP处理器和通信MODEM/蓝牙之间也是通过PCM来传输语音数据(就是双向打电话的数据) | 通过等时间隔(即采样率时钟周期)采样将模拟信号数字化的方法 4-bit PCM的采样量化 接口上传输的音频数据通过PCM方式采样得到的 |
I2S | Inter-IC Sound =Integrated Interchip Sound =IIS =IC间音频 | 最早的:CD播放器 I2S速度快,专门用于传音乐 | 飞利浦在1986年定义(1996年修订)的数字音频传输标准,用于数字音频数据在系统内部器件之间传输,例如编解码器CODEC、DSP、数字输入/输出接口、ADC、DAC和数字滤波器等。 I2S是比较简单的数字接口协议,没有地址或设备选择机制 在I2S总线上,只能同时存在一个主设备和发送设备。 主设备可以是发送设备,也可以是接收设备,或是协调发送设备和接收设备的其它控制设备。 在I2S系统中,提供时钟(SCK和WS)的设备为主设备。 I2S设备连接示意图 在高端应用中,CODEC经常作为I2S的主控设备以精确控制I2S的数据流。 多数音频ADC、DAC、DSP,与采样速率转换器,以及一些微控制器都带有I2S接口。 I2S包括两个声道(Left/Right)的数据,在主设备发出声道选择/字选择(WS)控制下进行左右声道数据切换。 一般只支持1路音频数据 通过增加I2S接口的数目或其它I2S设备可以实现多声道(Multi-Channels)应用。 |
TDM | Time Division Multiplexing =时分复用 | I2S只能传2个声道的数据 -> PCM可以传多达16路数据,采用时分复用的方式,就是TDM ->像现在最流行的语音智能音箱的7麦克风矩阵,一般都是用TDM来传的数据,同时可以传输7路麦克风输入和3路以上的音频反馈信号 | TDM不像I2S有统一的标准,不同的IC厂商在应用TDM时可能略有差异,这些差异表现在时钟的极性、声道配置的触发条件和对闲置声道的处理等。 特点: 比I2S节省管脚数量 支持多路传输 最多支持16路=16通道 TDM系统框图 |
PDM | Pulse Density Modulation =脉冲分时复用 | 手机和平板电脑等便携设备的音频 PDM在诸如手机和平板等对于空间限制严格的场合,即尺寸受限应用中优势明显,有着广泛的应用前景 -》在数字麦克风应用很广 手机cpu到蓝牙的通话实时音频和mp3 codec的音频接口 | 一种用数字信号表示模拟信号的调制方法 PCM使用等间隔采样方法,将每次采样的模拟分量幅度表示为N位的数字分量(N = 量化深度),因此PCM方式每次采样的结果都是N bit字长的数据。 PDM,只有2根线,传音乐,编码方式和I2S不同。 PDM方式表示的正弦波 PDM格式的音频信号可以在比如LCD屏这样Noise干扰强的电路附近走线(等于没说,这里指数字信号抗干扰能力相比于模拟信号更强,同样PCM也具有此优势) 基于PDM的架构不同于I2S和TDM之处在于,抽取滤波器(Decimation Filter)不在发送设备,而在接收设备内部。源端输出是原始的高采样率(oversample)调制数据,如Sigma-Delta调制器的输出,而不是像I2S中那样的抽取数据。基于PDM接口的应用降低了发送设备的复杂性,由于作为接收设备的CODEC内部集成抽取滤波器,因此系统整体复杂度大大降低。对于数字麦克风而言,通过使用面向CODEC或处理器制造的更精细硅工艺,而非传统麦克风使用的工艺,可以实现更高效率的抽取滤波器。 |
综合解释:
-
传输单声道数据:PCM
-
比如:麦克风
-
-
传输双声道数据:I2S
-
传输两个及以上声道的数据:TCM
PCM vs PDM:
-
PCM:
-
使用等间隔采样方法:将每次采样的模拟分量幅度表示为N位的数字分量(N = 量化深度)
-
每次采样的结果都是N bit字长的数据
-
逻辑更加简单
-
需要用到数据时钟,采样时钟和数据信号三根信号线
-
-
PDM:
-
PDM采样的音频数据 也常被叫做:Oversampled 1-bit Audio
-
使用远高于PCM采样率的时钟采样调制模拟分量
-
只有1位输出:要么为0,要么为1
-
逻辑相对复杂
-
只需要两根信号线,即时钟和数据
-
一. I2S协议介绍
I2S全称Inter-IC Sound, Integrated Interchip Sound,或简写IIS,是飞利浦在1986年定义(1996年修订)的数字音频传输标准,用于数字音频数据在系统内部器件之间传输,例如编解码器CODEC、DSP、数字输入/输出接口、ADC、DAC和数字滤波器等。除了都是由飞利浦定义外,I2S和I2C没有任何关系。
二、I2S特点
1、支持全双工/半双工
2、支持主/从模式
3、和PCM相比,I2S更适合立体声系统。当然,I2S的变体也支持多通道的时分复用,因此可以支持多声道。
在飞利浦公司的I2S标准中,既规定了硬件接口规范,也规定了数字音频数据的格式。
I2S有3个主要信号
1.串行时钟SCLK,也叫位时钟(BCLK),即对应数字音频的每一位数据,SCLK都有1个脉冲。SCLK的频率=2×采样频率×采样位数。
2. 帧时钟LRCK,(也称WS),用于切换左右声道的数据。LRCK为“1”表示正在传输的是右声道的数据,为“0”则表示正在传输的是左声道的数据。LRCK的频率等于采样频率。
3.串行数据SDATA,就是用二进制补码表示的音频数据。
有时为了使系统间能够更好地同步,还需要另外传输一个信号MCLK,称为主时钟,也叫系统时钟(Sys Clock),是采样频率的256倍或384倍。
串行数据(SD)
I2S格式的信号无论有多少位有效数据,数据的最高位总是出现在LRCK变化(也就是一帧开始)后的第2个SCLK脉冲处。这就使得接收端与发送端的有效位数可以不同。如果接收端能处理的有效位数少于发送端,可以放弃数据帧中多余的低位数据;如果接收端能处理的有效位数多于发送端,可以自行补足剩余的位。这种同步机制使得数字音频设备的互连更加方便,而且不会造成数据错位。
随着技术的发展,在统一的 I2S接口下,出现了多种不同的数据格式。根据SDATA数据相对于LRCK和SCLK的位置不同,分为左对齐(较少使用)、I2S格式(即飞利浦规定的格式)和右对齐(也叫日本格式、普通格式)。
为了保证数字音频信号的正确传输,发送端和接收端应该采用相同的数据格式和长度。当然,对I2S格式来说数据长度可以不同。
字段(声道)选择(WS)
命令选择线表明了正在被传输的声道。
WS=0,表示正在传输的是左声道的数据。
WS=1,表示正在传输的是右声道的数据。
WS可以在串行时钟的上升沿或者下降沿发生改变,并且WS信号不需要一定是对称的。在从属装置端,WS在时钟信号的上升沿发生改变。WS总是在最高位传输前的一个时钟周期发生改变,这样可以使从属装置得到与被传输的串行数据同步的时间,并且使接收端存储当前的命令以及为下次的命令清除空间。
电气规范:
输出电压:
VL <0.4V
VH>2.4V
输入电压
VIL<0.8V
VIH>2.0V
注:这是使用的TTL电平标准,随着其他IC(LSI)的流行,其他电平也会支持。
时序要求
在I2s总线中,任何设备都可以通过提供必需的时钟信号成为系统的主导装置,而从属装置通过外部时钟信号来得到它的内部时钟信号,这就意味着必须重视主导装置和数据以及命令选择信号之间的传播延迟,总的延迟主要由两部分组成:
1.外部时钟和从属装置的内部时钟之间的延迟
2.内部时钟和数据信号以及命令选择信号之间的延迟
对于数据和命令信号的输入,外部时钟和内部时钟的延迟不占据主导地位,它只是延长了有效的建立时间(set—up time)。延迟的主要部分是发送端的传输延迟和设置接收端所需的时间。
T是时钟周期,Tr是最小允许时钟周期,T>Tr这样发送端和接收端才能满足数据传输速率的要求。
对于所有的数据速率,发送端和接收端均发出一个具有固定的传号空号比(mark—space ratio)的时钟信号,所以t LC和tHC是由T所定义的。 t LC和tHC必须大于0.35T,这样信号在从属装置端就可以被检测到。
延迟(tdtr)和最快的传输速度(由Ttr定义)是相关的,快的发送端信号在慢的时钟上升沿可能导致tdtr不能超过tRC而使thtr为零或者负。只有tRC不大于tRCmax的时候(tRCmax>:0.15T),发送端才能保证thtr大于等于0。
为了允许数据在下降沿被记录,时钟信号上升沿及T相关的时间延迟应该给予接收端充分的建立时间(set-up time)。
数据建立时间(set-up time)和保持时间(hold time)不能小于指定接收端的建立时间和保持时间。
I2S只能传2个声道的数据,PCM可以传多达16路数据,采用时分复用的方式,就是TDM
-
PDM,只有2根线,传音乐,编码方式和I2S不同。
很多数字麦克风使用的PDM接口,有数据和时钟两根线。PDM接口和I2S最大的区别是编码方式不同
I2S速度快,专门用于传音乐。
PCM/TDM,主要用来传语音
国产音频芯片厂家:
1,苏州顺芯半导体有限公司
http://www.everest-semi.com/cn_products.php
国外:
1,瑞昱半导体realtek
https://www.realtek.com/zh-tw/
2,Cirrus Logic
https://www.cn.cirrus.com/products/wm8960/
参考:
1. I2S Bus Specification -Philips
https://blog.51cto.com/12810168/2450275