C/C++教程

常用音频接口简介(PDM/PCM/IIS/SLIMBUS)

本文主要是介绍常用音频接口简介(PDM/PCM/IIS/SLIMBUS),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

缩写释义

CAS:随路信令,语音和信令在同一路话路中传送的信令

CCS:共路信令,语音和信令分开传输

ASLA - Advanced Sound Linux Architecture

OSS - 以前的Linux音频体系结构,被ASLA取代并兼容

Codec - Coder/Decoder

I2S/PCM/AC97 - Codec与CPU间音频的通信协议/接口/总线

DAI - Digital Audio Interface
其实就是I2S/PCM/AC97/PDM/TDM等,实现音频数据在CPU和Codec间的通信

DSP - Digital Signal Processor

Mixer - 混音器,将来自不同通道的几种音频模拟信号混合成一种模拟信号

Mute - 消音,屏蔽信号通道

PCM - Pulse Code Modulation 一种从音频模拟信号转换成数字信号的技术,区别于PCM音频通信协议

采样频率 - ADC的频率,每秒采样的次数,典型值如44.1KHZ

量化精度 - 比如24bit,就是将音频模拟信号按照2的24次方进行等分

SSI - Serial Sound Interface

DAPM - Dynamic Audio Power Management

Codec - 音频编解码器Codec负责处理音频信息,包括ADC,DAC,Mixer,DSP,输入输出以及音量控制等所有与音频相关的功能。Codec与处理器之间通过I2C总线和数字音频接口DAI进行通信。

一、PCM( 脉冲编码调制)

PCM/TDM,主要用来传语音

(1) 时钟脉冲 BCLK ;

(2) 帧同步信号FS;

(3)接收数据RX;

(4)发送数据TX。

在FS信号的上升沿,数据传输从MSB(Most Significant Bit)字开始,FS频率等于采样率。
FS信号之后开始数据字的传输,单个的数据位按顺序进行传输,1个时钟周期传输1个数据字。
发送MSB时,信号的等级首先降到最低,以避免在不同终端的接口使用不同的数据方案时造成MSB的丢失。
接口很容易实现,原则上能够支持任何数据方案和任何采样率,但需要每个音频通道获得一个独立的数据队列。

这里讲的PCM不是PCM编码,而是PCM接口。和I2S差不多,也是4根线,通常用于AP处理器和通信MODEM之间传输语音数据(就是双向打电话的数据)。

AP处理器和蓝牙之间也是通过PCM来传输语音数据,打电话的蓝牙数据走的是PCM,放音乐的蓝牙数据走的是串口(不是PCM)。

I2S只能传2个声道的数据,PCM可以传多达16路数据,采用时分复用的方式,就是TDM。
在这里插入图片描述

二、I2S

IIS 详细介绍

IIS接口(Inter-IC Sound)在20世纪80年代首先被飞利浦用于消费音频.

IIS 特性

1、 先传高位再传低位
2、数据的MSB从LRCLK边沿起延迟1 BCLK
3、主要有三个时钟
主时钟 MCLK
系统时钟,一般是12.288MHz 18.432MHz等 ,一般是位时钟(Bclk)的256倍或384倍
位时钟 BCLK(也有叫串行) 传输一位数据的时钟周期
帧时钟 LRCLK 低电平左声道 高电平右声道
4、串行SDDATA 用二进制补码表示的音频数据
5、其他方式
左对齐 数据的MSB在LRCLK边沿起第一个BCLK上升沿 用的比较少
右对齐 数据的LSB靠左LRCLK的上升沿 sony使用这种格式
6、电压(TTL) 输出 VL <0.4V VH>2.4V 输入电压 VIL=0.8V VIH=2.0V

在这里插入图片描述

与PCM相比,IIS更适合于立体声系统,用于传音乐。

在I2S/PCM接口的ADC/DAC系统中,除了BCLK和FS(LRCLK)外,CODEC经常还需要控制器提供MCLK (Master Clock),这是由CODEC内部基于Delta-Sigma (ΔΣ)的架构设计要求使然。MCLK时钟频率一般为256*FS,具体参考特定器件手册。

IIS仅仅是PCM的一个分支,接口定义都是一样的

它们有四组信号: 位时钟信号,同步信号,数据输入,数据输出。

PCM一般传单声道的声音,也可以传立体声,采样频率一般为8KHz。

IIS一般传立体声,比PCM多了一个线路。数据格式都为PCM格式。左/右声道的一个采样点编码一般为16位(量化深度),两个声道加起来为32位。

I2S只能传2个声道的数据,PCM一个复帧可以传多达32路数据。

三、AC97

AC’97(Audio Codec 1997)是以Intel为首的五个PC厂商Intel、Creative Labs、NS、Analog Device与Yamaha共同提出的规格标准。与PCM和IIS不同,AC’97不只是一种数据格式,用于音频编码的内部架构规格,它还具有控制功能。AC’97采用AC-Link与外部的编解码器相连,AC-Link接口包括位时钟(BITCLK)、同步信号校正(SYNC)和从编码到处理器及从处理器中解码(SDATDIN与SDATAOUT)的数据队列。AC’97数据帧以SYNC脉冲开始,包括12个20位时间段(时间段为标准中定义的不同的目的服务)及16位“tag”段,共计256个数据序列。例如,时间段“1”和“2”用于访问编码的控制寄存器,而时间段“3”和“4”分别负载左、右两个音频通道。“tag”段表示其他段中哪一个包含有效数据。把帧分成时间段使传输控制信号和音频数据仅通过4根线到达9个音频通道或转换成其他数据流成为可能。与具有分离控制接口的IIS方案相比,AC’97明显减少了整体管脚数。一般来说,AC’97编解码器采用TQFP48封装。

五、PDM(脉冲密度调制)[一般用于数字mic]

是一种使用二进制数0,1表示模拟信号的调制方式。在PDM信号中,模拟信号的幅值使用输出脉冲对应区域的密度表示。

在PDM输出麦克风内部,可以发现一个小型ADC IC(调制器),其用于将MEMS传感器输出的模拟信号转换为PDM信号流。这种音频转换器技术所生成的信号,其低频频谱接近所需音频信号,而高频寄生部分的频率在某个拐点频率之上随频率上升快速升高,基本落在最终产品需要使用的音频频率范围之外。

对于每一个采样点,用1bit就可以记录,也就是说,仅仅用表示“否”的“0”和表示“是”的“1”去记录这一个采样点的电平值。

DSD的编码过程中,对信号进行量化的方式和PCM完全不一样。具体原理如下:

(1)首先是Δ调制这个概念
试想一下,我们不像PCM那样用一组规定的电平值去度量,而是只使用一个固定的差值Δ去度量原始模拟信号。依然是隔一段时间间隔取一次样,每次取样得到的电平会拿来与上一次取样的信号进行比较,如果其差值大于Δ,则输出1(0),否则输出为0(1)。于是每个采样点就能以1bit的形式来表示,而不是像PCM、I2S用8位、16位的量化深度去表示。

但是Δ调制有着一个缺点,就是随着输入模拟信号的频率增高,信噪比SNR会急剧下降。我们可以通过减小Δ的值,并且增大采样频率,来控制量化噪声(通过增大采样频率和减小Δ值来使确保采样的电平差值不会过大)。

PDM的主体思想就是这样,每一个采样的值是上一个采样的相对值,前后采样点相互连系密不可分。这种量化方式的思想因为其连续性,更加接近自然中的声音。
在这里插入图片描述
为了克服Δ调制的缺陷,发展出了∑-Δ调制器(Sigma-Delta Modulator)
如上图,如果我们在信号的输入端再加一个差分器,信号从差分器正相输入,然后通过一个积分器,然后到Δ调制器(A/D),把Δ调制后的结果进行一次D/A转换,并且延时输入到差分器的反相端作为反馈,这就是一个完整的∑-Δ调制器了(应该都知道∑是什么意思)。

输入信号被发送到差分区,在差分块中从中减去反馈信号。产生的信号被发送到积分器,积分器的输出作用于比较器。比较器将参考电压与积分器的输出进行比较,并相应地产生“0”或“1”。

反过来,DAC由ADC输出的0和1去产生两个可用参考电压(最高电平或最低电平)。该参考电压被反馈到差值区。这个差分放大器的反馈设计使得DAC的输出平均值等于输入信号。DAC的输出是输入信号的模拟表示,即调制器的输出。

整体的量化方式思路还是和Δ调制类似,不过反馈回路差分放大器的反相输入端的电平为整个信号的最大值(逻辑1对应的模拟电压)或最小值(逻辑0对应的模拟电压),即Δ调制输出1,则反馈回Vmax,输出0,则反馈回Vmin,两者均为固定值。

也就是说积分器积分的是输入电平与最高或最低电平的差值,然后我们再对积分后结果进行一次Δ调制(这个过程可能不是那么容易想通,把原信号当成是某函数f(x)的导数,然后我们对f(x)来进行Δ调制量化,这样也许会更好理解一点)。

这样一来,量化的对象就变成了当前信号电平和先前所有差值和的差值,量化电平不再会受频率影响,最大量化范围直接取决于电平值。反馈中加入的延时电路使得∑-Δ调制器有着噪声整形的特征,一阶的∑-Δ调制器的噪声整形效果不明显,但是我们可以把多阶∑-Δ调制器叠加到一起,使得噪声整形效果达到一个较高水平。

这个噪声整形的具体结果就是,量化噪声总体量没有变,但是不是平均分布在所有频段上,低频段的量化噪声会较少,而高频的量化噪声会较多.也就是说,量化噪声被"推挤"到了高频中.在音频应用中,大部分量化噪声被推挤到了远超过20kHz的高频,也就是人耳听不到的频段,利用一个低通滤波就可以很简单地把这些噪声给干掉了。

PDM就是经过了以上的∑-Δ调制而得到的数字信号,如果把这一连串数字信号放在同一标尺上和原始信号相比,会发现数字"0"和"1"随着信号电频的增减成都而密度产生相应变化,所以称为是脉冲密度调制**(Pulse Density Modulation)
在这里插入图片描述
从实际工程设计的角度来看,典型PDM麦克风应有
电源引脚、接地引脚,当然还需要时钟输入引脚、数据输出引脚和通道选择引脚**。根据通道选择引脚的状态,麦克风的输出在时钟信号处于低电平或高电平状态为活跃状态,在另一状态下处于高阻抗。这种聪颖的设计意味着可以用一根话筒线多路复用两个麦克风,这样立体声PDM接口仅需两根线缆,即时钟输出线缆和一根同时支持两个声道的数据返回线。

在以PDM方式作为模数转换方法的应用接收端,需要用到**抽取滤波器(Decimation Filter)**将密密麻麻的0和1代表的密度分量转换为幅值分量。

PDM方式的逻辑相对复杂,但它只需要两根信号线,即时钟和数据。PDM在诸如手机和平板等对于空间限制严格的场合有着广泛的应用前景。在数字麦克风领域,应用最广的就是PDM接口,其次为I2S接口。PDM格式的音频信号可以在比如LCD屏这样Noise干扰强的电路附近走线(等于没说,这里指数字信号抗干扰能力相比于模拟信号更强,同样PCM也具有此优势)。
在这里插入图片描述
下图为Maxim的Class-D类型功放MAX98358对PDM接口时序的要求,可以看到它在PDM_CLK的上升沿采样左声道数据,在PDM_CLK下降沿采样右声道数据。
在这里插入图片描述

六、MIPI SLIMbus

SLIMbus详细介绍

SLIMBUS,全称 Serial Low-power Inter-chip Media Bus,是MIPI联盟指定的一种音频接口,用于连接基带/应用处理器和音频芯片,总线协议保证既能发控制信息,又能发数据信息,这样就可以替换传统的数据和控制两种接口如I2S和I2C。

SLIMbus v2.0是两线制,多分支TDM接口,支持多主机和多个设备。它采用以高达28MHz的单数据速率(SDR)运行的CMOS I / O,具有固定的帧大小,支持主控和时钟切换功能,以实现低功耗操作。SLIMbus v2.0还支持多个多通道,高质量音频流,相位相干性,以实现立体声,麦克风阵列和其他引人注目的功能。它还支持每台设备最多八个通道的可扩展带宽,以使峰值聚合带宽最高达到224Mbps。
在这里插入图片描述

七、MIPI SoundWire

MIPI SoundWire是MIPI SLIMbus的补充规范。SoundWire于2014年推出,整合了移动和PC行业音频接口中的关键属性,并提供了一种通用的,可扩展的体系结构,可用于在各个细分市场的多种类型的设备中启用全面的音频功能。

MIPI SoundWire是一个统一接口,主要用于小型音频外围设备。它针对低复杂度,低门数设计进行了优化,以支持在手机中使用成本敏感的音频组件,例如数字麦克风,数字扬声器和高级放大器。此外,它可以优化扬声器保护,麦克风功率和性能,噪声消除以及“始终听”音频输入。

SoundWire具有许多SLIMbus功能。SoundWire v1.1还采用CMOS I / O,并支持多达11个从设备,多通道音频,PDM格式以及带内控制/中断/唤醒。但是,它以高达12.288MHz(高达24.576 Mbps)的双数据速率(DDR)模式运行,并支持可配置的帧大小和增强的低延迟协议。多达8个数据通道的可选多通道扩展可用于支持高端音频应用。例如,八通道192 KHz 24位音频需要8 * 24 * 192000 = 36.864 Mbps,这将需要两个或更多通道,而它可能以较低的频率运行以相应地优化功率。
在这里插入图片描述
MIPI SoundWire和MIPI SLIMBus可以通过桥接解决方案在系统中协同运行,从而为移动或受移动平台影响的平台提供灵活而复杂的音频系统。
在这里插入图片描述
SLIMbus是具有成熟音频组件的成熟规范,已部署在高级智能手机和受移动设备影响的平台中。SoundWire作为高端智能手机平台中的数字麦克风和扬声器的推动者正在迅速获得发展势头.

八、其他

SPDIF
Sony/Philips Digital Interface 是SONY、PHILIPS数字音频接口的简称。

就传输方式而言,SPDIF分为输出(SPDIF OUT)和输入(SPDIF IN)两种.

就传输载体而言,SPDIF又分为同轴和光纤两种,其实信号是相同的.

S/PDIF往往被用来传输压缩过的音频讯号,它由 IEC 61937标准而定制。

它通常被用在支持杜比技术或DTS 环绕效果的家用DVD影院上,不分正负。

A2B 协议
ADI 针对 车内解决复杂布线 设定的协议 有主机 和从机 支持幻象供电 最多32路数据 双绞线 可以传输I2C 控制信号及数据

INIC 协议
Microchip 针对车内实现音视频传输解决方案,最大支持50Mbps 带宽

这篇关于常用音频接口简介(PDM/PCM/IIS/SLIMBUS)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!