前言

随着大语言模型兴起,硅麦克风(MEMS Microphone)的应用愈发广泛。比如,近期流行的“小智 AI 聊天机器人”,那一口台湾腔女声,就颇受男性码农喜爱,你应该也听过吧?

我留意到在其开发套件中就配备了硅麦克风,料号是 InvenSense 的 INMP441:

图1 虾哥小智 AI 开发套件中的硅麦克风

图1 虾哥小智 AI 开发套件中的硅麦克风,来源淘宝

今天,我们就介绍一下硅麦克风的原理与特点。

按惯例声明一下:我的解释不一定是对的,还可能存在错误,所以仅供参考,欢迎讨论。

硅麦克风的 MEMS 部分

硅麦克风,又称 MEMS 麦克风,它与 Codec / 处理器 等协同工作,完成声音信号的采集与处理:

图2 硅麦克风与音频处理

图2 硅麦克风与音频处理 ,来源 [1]

硅麦克风的内部通常包含两颗 Die:一颗是 MEMS 传感器,一颗是 ASIC。前者完成声音与电信号的转换,后者完成信号的放大、量化、编码及输出:

图3 硅麦克风上有两颗 Die

图3 硅麦克风上有两颗 Die,来源 [2]

其中,MEMS 全称是微机电系统(Micro-Electrical-Mechanical Systems),这个领域主要研究如何将声、光、电、力、磁等外部信号转换为电信号。

对于硅麦克风来说,MEMS 部分本质上是一个可变电容,它随着声音引起固定极板和可移动极板之间的电容变化:

图4 将麦克风简单等效为可变电容

图4 将麦克风简单等效为可变电容,来源 [2]

其实,传统的驻极体麦克风(ECM)也同样视为一个可变电容,但它并非由硅晶圆加工而来,而 MEMS 传感器是采用了硅晶圆加工工艺,因此享有 “硅麦克风” 或者 “硅麦” 之称。

图5 传统的驻极体麦克风

图5 传统的驻极体麦克风,来源 wiki

我们这个专栏不太关注半导体上游技术,只需要知道 MEMS 是一种基于硅晶圆的传感器加工技术,相比于驻极体麦克风(ECM),能带来更高的集成度、一致性、易于使用等各种优势。

硅麦克风的 ASIC 部分:模拟 vs 数字

首先要明确的是,硅麦克风 ≠ 数字麦克风。

所谓“数字”指的是输出。硅麦克风既可输出模拟信号,也能输出数字信号,这取决于 ASIC 。

我们在 InvenSense 的 “Analog and Digital MEMS Microphone Design Considerations”(参考资料 [3])中可以看到硅麦克风的内部框图,有三种类型,分别是 模拟、数字 PDM、数字 I2S 类型:

图6 三种类型的硅麦克风 - 模拟、数字 PDM、数字 I2S

图6 三种类型的硅麦克风 - 模拟、数字 PDM、数字 I2S,来源 [3]

其中:

  • 第 1 个框图是 模拟硅麦克风, ASIC 部分是一个放大器,其实这个描述过于简单了,这部分主要完成声音 → 可变电容 → 模拟电压信号的转换,有着较为复杂的激励信号及控制逻辑。
  • 第 2 个框图是 数字 PDM 硅麦克风, ASIC 部分在 模拟硅麦克风 基础之上增加了 PDM 调制器。
  • 第 3 个框图是 数字 I2S 硅麦克风,ASIC 部分在 数字 PDM 硅麦克风 的基础上又增加了滤波器和 I2S 输出。

我们也可以从 Knowles(楼氏)的 “SiSonic Design Guide” (参考资料 [4])中看到硅麦克风输出 PDM 与 I2S 的区别(在此 I2S 输出的是 PCM 编码):

图7 硅麦克风的 PDM 与 I2S(PCM)

图7 硅麦克风的 PDM 与 I2S(PCM),来源 [4]

也就是说:音频的采集与转换都需要这些步骤,无非是根据 Codec (PDM 转 PCM)的位置是在硅麦克风 ASIC 内部,或者独立 Codec 器件,或者在处理器内部,有不同的硬件架构和通信方式。

硅麦克风中的 PDM 与 PCM

PDM 调制器 是 硅麦克风的精髓,与我们前文讲的 Sigma-delta ADC 工作原理如出一辙。

PDM 是一种脉冲宽度调制,它是 1-bit 码流,码流的速率很高,如 512 kHz - 4.8 MHz。原理是大量连续的 “1” 对应较大的模拟电压信号,大量连续的 “0” 对应较小的模拟电压信号:

图8 PDM 与模拟电压信号

图8 PDM 与模拟电压信号,来源 [1]

PDM 码流连接至 Codec 或处理器,它们内部有抽取滤波器(Decimation Filter),可以将 PDM 码流降采样至 8 kHz - 48 kHz 的音频基带频率,并将其转换为 8 bit - 24 bit 的 PCM 数据,以便于对音频进行后续处理。

STM32 中的外设 DFSDM (Digital Filter for Sigma-Delta Modulator)做的就是上述这些事情,在参考资料[1] 中描绘了 PDM 与 PCM 的链路情况,图中蓝线代表 PDM,绿线代表 PCM:

图9 STM32 中的外设 DFSDM

图9 STM32 中的外设 DFSDM,来源 [1]

高速 PDM 与音频基带 PCM 之间的“频率”比值称为抽取系数(Decimation Ratio),这个数值在很多音频芯片手册上都能看到,它决定了系统设计上的很多事情,如音频带宽、功耗、噪声、成本……

在 InvenSense 的应用笔记中可以看到 PDM 频率、抽取系数、音频基带采样、实际音频带宽之间的关系。我印象中 3.072 MHz 的 PDM 频率比较常用,当然,现在芯片里还有很多低功耗特性,能把频率玩出了很多花样。

图10 PDM 频率、抽取系数、音频基带采样、带宽的关系

图10 PDM 频率、抽取系数、音频基带采样、带宽的关系,来源 [5]

综合来看硅麦克风的工作流程是:

  • 声音信号输入,由 MEMS 和 ASIC 转换成模拟电压信号;
  • 模拟抗混叠滤波器,截止频率根据 PDM 调制频率设置;
  • PDM 调制,假设是 3.072 MHz,64x 的抽取系数;
  • 数字抗混叠滤波器,截止频率根据抽取系数决定,增益曲线一般不用很陡峭;
  • 数字抽取滤波器,降频至 48 KHz 音频基带采样,实际带宽为其 1/2 ;
  • PCM 编码及数据输出;

大概是这样吧……

现实中的芯片

小智 AI 聊天机器人中的 InvenSense INMP441 是一颗 I2S 输出的硅麦克风,集成度很高,上述流程都集成在芯片内部。

我手上还有一颗 ST MP34DT01,它是 PDM 输出,如果大家有想研究 PDM 硅麦克风,可以了解一下,某宝有模组,Github 有 STM32 PDM 例程。

图11 ST MP34DT01 模组

图11 ST MP34DT01 模组

但是不管 InvenSense (已被 TDK 收购) 还是 ST,在硅麦克风市场里面似乎已经淡漠,看行研报告排前面的是 Goermicro(歌尔)、 Knowles(楼氏) 、 AAC (瑞声)等三家:

图12 2020年 硅麦克风市场份额

图12 2020年 硅麦克风市场份额,来源 Yole 公开资料

顺便问一下大家:像这类偏向于市场分析的行研,如果感兴趣,请留意告知细分领域,我可以多写一些这方面的内容。

参考资料

  1. https://www.st.com/resource/en/application_note/an5027-interfacing-pdm-digital-microphones-using-stm32-mcus-and-mpus-stmicroelectronics.pdf
  2. https://www.st.com/resource/en/application_note/an4426-tutorial-for-mems-microphones-stmicroelectronics.pdf
  3. https://invensense.tdk.com/download-pdf/analog-and-digital-mems-microphone-design-considerations/
  4. SiSonic Design Guide, Application Note AN24, www.knowles.com
  5. https://invensense.tdk.com/download-pdf/an-000111-selecting-pdm-microphone-clock-frequencies-and-decimation-ratios/

相关前文


欢迎关注我的微信公众号“疯狂的运放”,及时收到最新的推文。