在智能硬件和物联网产品设计中,经常遇到声音的传输。本文主要讲一下最常用的音频接口,以及使用场景。

主要分类:模拟、数字(I2S、PCM、PDM、TDM)

模拟音频,就是功放输出的,驱动音箱和喇叭的音频。模拟麦克风采样回来的数据也是模拟音频。通常会有单端或差分两种信号。
数字音频,不能直接驱动喇叭,必须要通过DAC转换成模拟音频,才能发出声音来。数字音频的接口比较多,目前较为通用的是I2S、PCM、PDM和TDM接口。

什么时候用模拟的?
在智能硬件产品中,模拟音频主要用在:喇叭播放声音、Line-in外接音源、麦克风输入等。设备外的音频传输一般使用模拟信号。
通常看到的音频波形,都是模拟音频,能够和声音实际的波动完全对应起来

当前有不少音频产品使用D类音频功放,输出波形看起来是,但实际上还是属于模拟音频类型的。是高频载波叠加的模拟音频的波形,经过LC滤波之后能够还原成模拟音频波形
如下图,下半部分是D类功放输出的方波状的音频信号,上半部分的正玄波是还原出来的模拟音频波形。
1526373602223286bc0b5be?from=pc.jpg
D类功放输出的方波状的模拟音频信号

什么时候用数字接口?
智能硬件产品的设备内音频传输,采用I2S、PCM、TDM、PDM等数字接口。

  • I2S速度快,专门用于传音乐。


从MCU往Codec传音乐数据,一般使用I2S。包含主时钟、左右声道时钟、正反两根数据线。
如下图的I2S接口的时序,最典型的特征是LRCLK,用于区分左右声道的时钟。
152637707902720ffba9598?from=pc.jpg
I2S接口的时序

  • PCM/TDM,主要用来传语音

这里讲的PCM不是PCM编码,而是PCM接口。和I2S差不多,也是4根线,通常用于AP处理器和通信MODEM之间传输语音数据(就是双向打电话的数据)。
AP处理器和蓝牙之间也是通过PCM来传输语音数据,打电话的蓝牙数据走的是PCM,放音乐的蓝牙数据走的是串口(不是PCM)。
I2S只能传2个声道的数据,PCM可以传多达16路数据,采用时分复用的方式,就是TDM。像现在最流行的语音智能音箱的7麦克风矩阵,一般都是用TDM来传的数据,同时可以传输7路麦克风输入和3路以上的音频反馈信号。
如下图是某智能音箱,7个麦克风通过5个ADC,接入一组TDM接口上,传输给AP处理器。
152637681840152947b93ca?from=pc.jpg
某智能音箱TDM接口(局部)

  • PDM,只有2根线,传音乐,编码方式和I2S不同。

很多数字麦克风使用的PDM接口,有数据和时钟两根线。PDM接口和I2S最大的区别是编码方式不同。
15263756116992955fdc7db?from=pc.jpg
PDM和I2S接口的数字麦克风

其他数字接口:USB
除了上述几个,在很多外接的音频模块上,用的是USB音频。
像科大讯飞的多mic降噪模块,用的就是usb接口,方便调试。
但是万变不离其宗,不管用的什么接口,传输的都是PCM或者PDM编码的数字音频。

来源 燚智能