音频——数字麦克风和模拟麦克风(DMIC/AMIC)

Posted tyustli

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了音频——数字麦克风和模拟麦克风(DMIC/AMIC)相关的知识,希望对你有一定的参考价值。

数字麦克风与模拟麦克风 (DMIC/AMIC)

  • 麦克风 (microphone):是将声音信号转换为电信号的能量转换器件,也就是用来采集你说话的声音
  • 扬声器 (speaker):是一种把电信号转变为声信号的换能器件,就是把对方说话产生的电信号转换成声音播放出来。
  • 简单来说,麦克风的功能是采集声音,扬声器的功能是播放声音。

AMIC

通常使用的 MIC 就是模拟麦克风,模拟麦克风输出的信号是模拟信号,需要经过 codec 处理为数字信号。

模拟麦克风的输出阻抗典型值为几百欧姆。这个阻抗要高于运放通常具有的低输出阻抗,麦克风后面的低阻抗电路会衰减信号电平

应用


一些 MCU 内部带有 codec,所以上图中 AMIC 直接到 MCU。

需要注意的是,AMIC 通常需要提供偏置电压

DMIC

数字 mic 相对于模拟 mic,内部集成了 ADC,所以输出的为数字信号,一般是 PDM 编码或者 I2S 信号(参见 I2S协议),这里以 PDM 为例。如果输出的是 PDM 格式的数据需要 MCU/codec 进行 PMD 解码。

数字麦克风将模数转换功能从编解码器转移进了麦克风,从而实现了从麦克风到处理器的全数字音频捕获通道。

DMIC 接口也称双 / 立体声数字麦克风接口。这种接口允许两个麦克风共享一个公共的时钟与数据线。每个麦克风被配置为在时钟信号的不同沿产生各自的输出。这样两个麦克风的输出就能保持相互同步,设计师就能确保来自每个通道的数据被同时捕获到

数字麦克风的输出只有 1bit ,所以使用 PDM 编码。

硬件拓扑

应用

上图中 codec/MCU 解码 PDM数据。

时序

  • SELECT 脚接 V D D V_DD VDD 时,CLK 下降沿时,DATA 输出有效数据

  • SELECT 脚接 GND 时,CLK 上升沿时,DATA 输出有效数据

主控上相应配置好采样即可,这样可以实现一个 DATA 和 CLK 接双麦。

PDM

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

在实际输出的一位数据流中,只存在 1 和 0,1 的密度越大,代表该区域对应的模拟信号幅值越大,反之,0 的密度越大,代表该区域的模拟信号幅值越小。1 和 0 连续转换的区域对应中间幅值。

为 Maxim 的 Class-D 类型功放 MAX98358 PDM 接口时序为例,在 PDM_CLK 的上升沿采样左声道数据,在 PDM_CLK 下降沿采样右声道数据。

手册链接

差异

  • 电路设计差异,数字电路集成度高,但是音质效果会比模拟电路稍微差一些,相反模拟电路的麦克风音质效果会更好。

以上是关于音频——数字麦克风和模拟麦克风(DMIC/AMIC)的主要内容,如果未能解决你的问题,请参考以下文章

无线数字麦克风解决方案小结

如何在 React Native 上捕获麦克风音频并将其流式传输到 IceCast 端点?

如何模拟通话以将蓝牙音频流式传输到车辆中?

——PDM麦克风

alsa 编程

强制其他应用在 iOS 中释放麦克风