一文揭秘:什么是 硅麦克风(MEMS Microphone)?
前言
随着大语言模型兴起,硅麦克风(MEMS Microphone)的应用愈发广泛。比如,近期流行的“小智 AI 聊天机器人”,那一口台湾腔女声,就颇受男性码农喜爱,你应该也听过吧?
我留意到在其开发套件中就配备了硅麦克风,料号是 InvenSense 的 INMP441:
今天,我们就介绍一下硅麦克风的原理与特点。
按惯例声明一下:我的解释不一定是对的,还可能存在错误,所以仅供参考,欢迎讨论。
硅麦克风的 MEMS 部分
硅麦克风,又称 MEMS 麦克风,它与 Codec / 处理器 等协同工作,完成声音信号的采集与处理:
硅麦克风的内部通常包含两颗 Die:一颗是 MEMS 传感器,一颗是 ASIC。前者完成声音与电信号的转换,后者完成信号的放大、量化、编码及输出:
其中,MEMS 全称是微机电系统(Micro-Electrical-Mechanical Systems),这个领域主要研究如何将声、光、电、力、磁等外部信号转换为电信号。
对于硅麦克风来说,MEMS 部分本质上是一个可变电容,它随着声音引起固定极板和可移动极板之间的电容变化:
其实,传统的驻极体麦克风(ECM)也同样视为一个可变电容,但它并非由硅晶圆加工而来,而 MEMS 传感器是采用了硅晶圆加工工艺,因此享有 “硅麦克风” 或者 “硅麦” 之称。
我们这个专栏不太关注半导体上游技术,只需要知道 MEMS 是一种基于硅晶圆的传感器加工技术,相比于驻极体麦克风(ECM),能带来更高的集成度、一致性、易于使用等各种优势。
硅麦克风的 ASIC 部分:模拟 vs 数字
首先要明确的是,硅麦克风 ≠ 数字麦克风。
所谓“数字”指的是输出。硅麦克风既可输出模拟信号,也能输出数字信号,这取决于 ASIC 。
我们在 InvenSense 的 “Analog and Digital MEMS Microphone Design Considerations”(参考资料 [3])中可以看到硅麦克风的内部框图,有三种类型,分别是 模拟、数字 PDM、数字 I2S 类型:
其中:
- 第 1 个框图是 模拟硅麦克风, ASIC 部分是一个放大器,其实这个描述过于简单了,这部分主要完成声音 → 可变电容 → 模拟电压信号的转换,有着较为复杂的激励信号及控制逻辑。
- 第 2 个框图是 数字 PDM 硅麦克风, ASIC 部分在 模拟硅麦克风 基础之上增加了 PDM 调制器。
- 第 3 个框图是 数字 I2S 硅麦克风,ASIC 部分在 数字 PDM 硅麦克风 的基础上又增加了滤波器和 I2S 输出。
我们也可以从 Knowles(楼氏)的 “SiSonic Design Guide” (参考资料 [4])中看到硅麦克风输出 PDM 与 I2S 的区别(在此 I2S 输出的是 PCM 编码):
也就是说:音频的采集与转换都需要这些步骤,无非是根据 Codec (PDM 转 PCM)的位置是在硅麦克风 ASIC 内部,或者独立 Codec 器件,或者在处理器内部,有不同的硬件架构和通信方式。
硅麦克风中的 PDM 与 PCM
PDM 调制器 是 硅麦克风的精髓,与我们前文讲的 Sigma-delta ADC 工作原理如出一辙。
PDM 是一种脉冲宽度调制,它是 1-bit 码流,码流的速率很高,如 512 kHz - 4.8 MHz。原理是大量连续的 “1” 对应较大的模拟电压信号,大量连续的 “0” 对应较小的模拟电压信号:
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:
高速 PDM 与音频基带 PCM 之间的“频率”比值称为抽取系数(Decimation Ratio),这个数值在很多音频芯片手册上都能看到,它决定了系统设计上的很多事情,如音频带宽、功耗、噪声、成本……
在 InvenSense 的应用笔记中可以看到 PDM 频率、抽取系数、音频基带采样、实际音频带宽之间的关系。我印象中 3.072 MHz 的 PDM 频率比较常用,当然,现在芯片里还有很多低功耗特性,能把频率玩出了很多花样。
综合来看硅麦克风的工作流程是:
- 声音信号输入,由 MEMS 和 ASIC 转换成模拟电压信号;
- 模拟抗混叠滤波器,截止频率根据 PDM 调制频率设置;
- PDM 调制,假设是 3.072 MHz,64x 的抽取系数;
- 数字抗混叠滤波器,截止频率根据抽取系数决定,增益曲线一般不用很陡峭;
- 数字抽取滤波器,降频至 48 KHz 音频基带采样,实际带宽为其 1/2 ;
- PCM 编码及数据输出;
大概是这样吧……
现实中的芯片
小智 AI 聊天机器人中的 InvenSense INMP441 是一颗 I2S 输出的硅麦克风,集成度很高,上述流程都集成在芯片内部。
我手上还有一颗 ST MP34DT01,它是 PDM 输出,如果大家有想研究 PDM 硅麦克风,可以了解一下,某宝有模组,Github 有 STM32 PDM 例程。
但是不管 InvenSense (已被 TDK 收购) 还是 ST,在硅麦克风市场里面似乎已经淡漠,看行研报告排前面的是 Goermicro(歌尔)、 Knowles(楼氏) 、 AAC (瑞声)等三家:
顺便问一下大家:像这类偏向于市场分析的行研,如果感兴趣,请留意告知细分领域,我可以多写一些这方面的内容。
参考资料
- https://www.st.com/resource/en/application_note/an5027-interfacing-pdm-digital-microphones-using-stm32-mcus-and-mpus-stmicroelectronics.pdf
- https://www.st.com/resource/en/application_note/an4426-tutorial-for-mems-microphones-stmicroelectronics.pdf
- https://invensense.tdk.com/download-pdf/analog-and-digital-mems-microphone-design-considerations/
- SiSonic Design Guide, Application Note AN24, www.knowles.com
- https://invensense.tdk.com/download-pdf/an-000111-selecting-pdm-microphone-clock-frequencies-and-decimation-ratios/
相关前文
欢迎关注我的微信公众号“疯狂的运放”
,及时收到最新的推文。