
引言; N3 Y+ B4 V3 \! _. Q0 ?% _' n 数字MEMS(微机电系统)麦克风专为需要小尺寸、高音质、高可靠性和高经济效益的音频应用而设计。 它们的封装尺寸小且噪声低,可在单个器件中实现多个麦克风,并通过提供免提人机界面、噪声消除和高质量音频捕获,促进了工业和消费类应用中音频技术的不断发展。 STM32 32位Arm® Cortex® MCU和STM32 Arm® Cortex®MCU提供各种音频功能和丰富的连接功能,包括串行接口和增强型声音捕获接口,使用户能够轻松地为基于麦克风的应用构建解决方案。 本文档针对具有脉冲密度调制(PDM)输出的数字MEMS麦克风,描述了如何在单声道和立体声配置中使用SPI/I2S、SAI和DFSDM外设将麦克风连接到STM32 MCU和MPU。本应用笔记提供指南和基于CubeMX的示例,这些示例展示了如何正确地配置STM32器件,以便采集并处理来自麦克风的原始数据,并将其转换为标准音频数据。5 ?2 I* u( l8 v) a" P$ }% O 1 PDM数字麦克风概述 本章提供PDM数字麦克风的简述和将其与STM32器件相连的基本案例。STM32 MCU和MPU是基于Arm®(a)的器件。1 ^, t1 o+ p7 o/ ~7 e& W Z 1.1 声音采集概述; w( j* l3 b. H1 b( v# e 数字MEMS麦克风是将声压波转换为数字信号的传感器。STM32 MCU和MPU通过特定外设从麦克风采集数字数据,这些数据经过处理并被转换为标准音频数据。然后,由微控制器按照目标音频应用处理音频数据。 3 U* c( \; y7 A ![]() 6 C; u! h; K9 B! u0 f+ H" N 1.2 PDM数字麦克风框图 数字麦克风中的主要部件是MEMS传感器、放大器和PDM调制器。 ; ]2 C$ L% P2 [: F! ` ![]() 1 I% Z2 v0 h W" z MEMS传感器 MEMS传感器是一个可变电容,将声波导致的空气压力变化转换为电压。: P- y) K0 v$ E J: M* O . @" l% g0 F. ?3 |0 X6 K2 @ 放大器+ c" O8 ?1 X8 y, ^1 A+ X# o% Q 放大器对MEMS传感器提供的电压进行缓冲,并向PDM调制器提供足够强的信号。: m/ Z' e' R1 k j 2 \& U- w2 Q7 Y4 c6 {7 l/ }, W PDM调制器# t. v, G+ L! \1 z+ ] PDM调制器将缓冲模拟信号转换为串行脉冲密度调制信号。时钟输入(CLK)用于控制PDM调制器。ST数字麦克风的时钟频率范围在1 MHz至3.25 MHz之间。该频率定义生成离散时间表示(PDM比特流)的放大器模拟输出信号采样频率。 通道选择 麦克风的输出被驱动至所选时钟边沿上的合适电平,然后进入高阻抗状态并持续另外半个时钟周期。通道选择定义数字麦克风输出有效数据的时钟边沿。LR引脚必须连接到Vdd或GND。 表 1显示了如何选择DOUT信号模式。 ![]() / `+ o2 C2 Y" a5 }. a 电源1 d# w' _) @+ X 电源为不同数字麦克风组件供应Vdd和GND。由于任何波动都可能在输出上生成噪声,因此应提供正确的电源。 ; H7 \& D0 s; Q) B; k6 N6 { ) Q6 _5 R x: h: S/ E) v8 ~ 引脚说明 # \+ k7 ~- f( l" H ![]() 1.3 基础数字麦克风连接 单声道模式( Y# B5 r4 B8 m5 ]1 j 在该模式下,LR引脚可以连接到Vdd或GND。6 @6 t K1 g5 X, d2 O2 Z5 @; K / Z; `/ G4 j) W6 N3 P LR引脚连接到Vdd " y! m* v1 H, V5 M* P* j ![]() ![]() / p& _ W* a0 a1 M1 _/ C4 u ![]() 6 p. ]: Z' h% g2 R# V ![]() 6 N3 F/ P2 H+ |! u ![]() 1.4 PDM和PCM信号 1.4.1 脉冲密度调制(PDM), J& U8 s& _* X6 y PDM是一种调制形式,用于表示数字域中的模拟信号。它是1位数字采样的高频数据流。在PDM信号中,脉冲的相对密度对应于模拟信号的幅度。大量的'1'对应于高(正)幅度值,而大量的'0'对应于低(负)幅度值,交替的'1'和'0'对应于幅度值0。 - O+ D+ o' X7 c. w2 X* D ![]() 1.4.2 脉冲编码调制(PCM) + ?$ S) H5 i: ]; }+ ?1 o 在PCM信号中,具体的幅度值被编码为脉冲。/ {8 a) ?4 O' A7 E PCM流有两个基本属性,它们决定了流相对于原始模拟信号的保真度: • 采样率 • 位深( {! K' @5 @1 L* g 采样率是为了以数字方式表示信号,每秒采集的信号样本数。位深决定了每个样本中信息的位数。 ![]() 1.4.3 PDM到PCM的转换 为了将PDM流转换为PCM样本,需要对PDM流进行滤波和抽取。9 b( w& r& j% ~$ d/ Z 在抽取阶段,PDM信号的采样率降低至目标音频采样率(例如,16 kHz)。通过在每M个样本中选择一个,将采样率降低为1/M。因此,PDM数据频率(麦克风时钟的频率)是应用所需的目标音频采样频率的M倍,其中M为抽取因子。 PDM频率 = 音频采样频率 × 抽取因子抽取因子通常处于48至128的范围之内。 抽取阶段之前有一个低通滤波器,用于避免混叠导致的失真。3 [* k2 T! r( J4 e 1.5 声学参数2 {% o* V) X% `/ m: G+ ? 1.5.1 灵敏度 灵敏度是数字麦克风就给定声学参考信号输出的电信号的电平(单位为dBFS)。 通常使用1 kHz、1 Pa(或94 dBSPL)的音调作为参考信号给出麦克风的灵敏度。9 r% G0 P' g2 r6 H% b 1.5.2 信噪比(SNR) SNR表示在麦克风输出处,参考信号(94 dBSPL@1kHz)与残余噪声量之比。 更高SNR可提供更高的语音清晰度和远端(免提听筒)可理解性。$ ?/ o' g: f; l 1.5.3 声学过载点(AOP); X. A9 U+ f% N AOP是麦克风在失真可接受的情况下能够捕获的最大声学信号(一些规范允许声学过载点有最多10%的失真)。 1.5.4 电源抑制比(PSRR)4 H' R: I6 ` R+ A, h PSRR参数量化了麦克风对电源变化所产生的噪声的抑制能力。+ N. P' N& ]( }& N 1.6 数字麦克风的附加价值 ! B+ F- C/ p4 ~3 l# Z, U ![]() 1.7 可用的ST数字麦克风7 R& n9 {& ? v4 [5 n 表 4所示为可用的ST数字麦克风。2 ~: |6 P t6 Q# T9 r ![]() 完整版请查看:附件 |
使用STM32 MCU和MPU连接PDM数字麦克风.pdf
下载1.95 MB, 下载次数: 16
【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功能安全设计包,助力产品功能安全认证
基于STM32启动过程startup_xxxx.s文件经验分享