
引言 数字MEMS(微机电系统)麦克风专为需要小尺寸、高音质、高可靠性和高经济效益的音频应用而设计。 它们的封装尺寸小且噪声低,可在单个器件中实现多个麦克风,并通过提供免提人机界面、噪声消除和高质量音频捕获,促进了工业和消费类应用中音频技术的不断发展。 STM32 32位Arm® Cortex® MCU和STM32 Arm® Cortex®MCU提供各种音频功能和丰富的连接功能,包括串行接口和增强型声音捕获接口,使用户能够轻松地为基于麦克风的应用构建解决方案。 本文档针对具有脉冲密度调制(PDM)输出的数字MEMS麦克风,描述了如何在单声道和立体声配置中使用SPI/I2S、SAI和DFSDM外设将麦克风连接到STM32 MCU和MPU。本应用笔记提供指南和基于CubeMX的示例,这些示例展示了如何正确地配置STM32器件,以便采集并处理来自麦克风的原始数据,并将其转换为标准音频数据。 1 PDM数字麦克风概述 本章提供PDM数字麦克风的简述和将其与STM32器件相连的基本案例。STM32 MCU和MPU是基于Arm®(a)的器件。 1.1 声音采集概述 数字MEMS麦克风是将声压波转换为数字信号的传感器。STM32 MCU和MPU通过特定外设从麦克风采集数字数据,这些数据经过处理并被转换为标准音频数据。然后,由微控制器按照目标音频应用处理音频数据。 ![]() 1.2 PDM数字麦克风框图 数字麦克风中的主要部件是MEMS传感器、放大器和PDM调制器。 ![]() MEMS传感器 MEMS传感器是一个可变电容,将声波导致的空气压力变化转换为电压。 放大器 放大器对MEMS传感器提供的电压进行缓冲,并向PDM调制器提供足够强的信号。 PDM调制器 PDM调制器将缓冲模拟信号转换为串行脉冲密度调制信号。时钟输入(CLK)用于控制PDM调制器。ST数字麦克风的时钟频率范围在1 MHz至3.25 MHz之间。该频率定义生成离散时间表示(PDM比特流)的放大器模拟输出信号采样频率。 通道选择 麦克风的输出被驱动至所选时钟边沿上的合适电平,然后进入高阻抗状态并持续另外半个时钟周期。通道选择定义数字麦克风输出有效数据的时钟边沿。LR引脚必须连接到Vdd或GND。 表 1显示了如何选择DOUT信号模式。 ![]() 电源 电源为不同数字麦克风组件供应Vdd和GND。由于任何波动都可能在输出上生成噪声,因此应提供正确的电源。 引脚说明 ![]() 1.3 基础数字麦克风连接 单声道模式 在该模式下,LR引脚可以连接到Vdd或GND。 LR引脚连接到Vdd ![]() ![]() ![]() ![]() ![]() 1.4 PDM和PCM信号 1.4.1 脉冲密度调制(PDM) PDM是一种调制形式,用于表示数字域中的模拟信号。它是1位数字采样的高频数据流。在PDM信号中,脉冲的相对密度对应于模拟信号的幅度。大量的'1'对应于高(正)幅度值,而大量的'0'对应于低(负)幅度值,交替的'1'和'0'对应于幅度值0。 ![]() 1.4.2 脉冲编码调制(PCM) 在PCM信号中,具体的幅度值被编码为脉冲。 PCM流有两个基本属性,它们决定了流相对于原始模拟信号的保真度: • 采样率 • 位深 采样率是为了以数字方式表示信号,每秒采集的信号样本数。位深决定了每个样本中信息的位数。 ![]() 1.4.3 PDM到PCM的转换 为了将PDM流转换为PCM样本,需要对PDM流进行滤波和抽取。 在抽取阶段,PDM信号的采样率降低至目标音频采样率(例如,16 kHz)。通过在每M个样本中选择一个,将采样率降低为1/M。因此,PDM数据频率(麦克风时钟的频率)是应用所需的目标音频采样频率的M倍,其中M为抽取因子。 PDM频率 = 音频采样频率 × 抽取因子抽取因子通常处于48至128的范围之内。 抽取阶段之前有一个低通滤波器,用于避免混叠导致的失真。 1.5 声学参数 1.5.1 灵敏度 灵敏度是数字麦克风就给定声学参考信号输出的电信号的电平(单位为dBFS)。 通常使用1 kHz、1 Pa(或94 dBSPL)的音调作为参考信号给出麦克风的灵敏度。 1.5.2 信噪比(SNR) SNR表示在麦克风输出处,参考信号(94 dBSPL@1kHz)与残余噪声量之比。 更高SNR可提供更高的语音清晰度和远端(免提听筒)可理解性。 1.5.3 声学过载点(AOP) AOP是麦克风在失真可接受的情况下能够捕获的最大声学信号(一些规范允许声学过载点有最多10%的失真)。 1.5.4 电源抑制比(PSRR) PSRR参数量化了麦克风对电源变化所产生的噪声的抑制能力。 1.6 数字麦克风的附加价值 ![]() 1.7 可用的ST数字麦克风 表 4所示为可用的ST数字麦克风。 ![]() 完整版请查看:附件 |
使用STM32 MCU和MPU连接PDM数字麦克风.pdf
下载1.95 MB, 下载次数: 16
STM32 GUI LTDC 最大像素时钟评估方法
【2025·STM32峰会】GUI解决方案实训分享1-对LVGL咖啡机例程的牛刀小试以及问题排查
OpenBLT移植到STM32F405开发板
为什么要先开启STM32外设时钟?
【STM32MP157】从ST官方例程中分析RPMsg-TTY/SDB核间通信的使用方法
【经验分享】STM32实例-RTC实时时钟实验④-获取RTC时间函数与中断服务函数
STM32 以太网 MAC Loopback 的实现
刘氓兔的64位入门挑战【1】——MP257芯片下单和硬件准备
刘氓兔的64位入门挑战【0】——MP257选型
STM32功能安全设计包,助力产品功能安全认证