引言, J7 p' W: d- F: a) y! W PDM2PCM库将来自MEMS麦克风的PDM位流转换为PCM音频流。 本用户手册介绍了PDM2PCM库,它是STM32Cube固件包的一部分。它提供了有关接口参数和库配置的详细信息。它还显示了如何将此库集成到主程序中。- N! p- X/ u. z; | 本文档适用于允许用户连接数字PDM麦克风的微控制器,即STM32F4、STM32F7和STM32H7系列。 1模块概述9 c; ?. w5 ?* `, X 1.1 算法功能3 g; a& k6 r! q PDM2PCM库具有从数字麦克风抽取和滤除脉冲密度调制(PDM)流的功能,用于将其转换为脉冲编码调制(PCM)信号输出流。 PCM输出流以16位分辨率实现。接口中未指定采样率,但本文档中约定使用16 kHz的PCM采样率。可配置各种抽取因子,以适应各种PDM时钟。 还推荐可配置的高通滤波器和数字音量。2 m7 Q4 ^& n% }) F1 t5 f2 Z 1.2 模块配置7 g& w* E1 W: I1 r! j PDM2PCM库将1位数字样本的PDM信号(768 kHz至2.048 MHz)流作为输入。通过使用基于Arm®内核(a)的STM32微控制器同步串行端口(SPI或I2S)以8个样本的数据块为单位来采集该信号。' w2 U1 K4 ]" G. ~/ Y 根据内核和使用的工具链,该模块有不同的可用版本。, I! S5 F9 ~5 n' [! V( f+ A! { 1.3 资源总结6 _$ L2 C' Z: l: g 表 1包含对存储器和频率的要求。% K1 w: w" N: B. S: a5 n 使用IAR Embedded Workbench® for Arm® v7.40 (IAR Embedded Workbench®common components v7.2)测量板上的占用量。+ _: z! n7 p0 o4 q ( ~" H, ?! @/ _$ t8 c3 \ 3 B* o4 V3 w/ w0 g- q O) ] ^9 n 2 模块接口 需要使用两个文件来集成PDM2PCM库,pdm2pcm_glo.h头文件和正确的库文件(根据目标和工具链)。 它们包含所有要导出到软件集成框架的定义和结构。 注: audio_fw_glo.h文件是通用头文件,它对于所有音频模块都通用且必须包含在音频框架中。 2.1 API$ g) ?6 P3 l9 Z5 Z+ R; |' M3 B 五个函数具有主程序的软件接口: k9 h; u) l6 d; o • PDM_FilterInit/ T2 @% h9 R+ l • PDM_Filter_setConfig • PDM_Filter_getConfig& T7 z0 e1 v( ^* J! H9 _. U • PDM_Filter_deInterleave • PDM_Filter 2.1.1 PDM_FilterInit 函数 该程序初始化静态存储器,设置默认值并初始化PDM2PCM库的查找表。1 Q+ o8 A" i$ w uint32_t PDM_FilterInit(PDM_Filter_Handler_t *pHandler);6 R+ H* q! `0 H+ k 5 Y* I. v' f: d8 H 当实时处理尚未开始时,在初始化阶段,必须至少调用一次该例程。 P. \' R m7 f( R" y8 c& J 2 R0 }: z6 [! ~5 D$ D' B 完整版请查看:附件- ?/ C: Z. \+ C' F d 5 A K& `0 U2 T' J, E8 f2 [( d |
DM00482421_ZHV1.pdf
下载757.04 KB, 下载次数: 11
【经验分享】STM32_H7_ADC
STM32H7R/S高性能MCU:安全性,大存储和优异图显赋能更多应用创新
STM32固件库分享,超全系列整理
【中文文档】AN3965_STM32F40x和STM32F41x基于串口的IAP
Stm32H7XX GCC下分散加载实现
STM32F4-DISC 实现USB主机(U盘)和USB设备(虚拟串口)自动切换
【银杏科技ARM+FPGA双核心应用】STM32H7系列10——ADC
STM32F4中文用户手册
DIY-STM32H750核心板
[nucleo-H7A3ZI-Q]1-点亮一个皮皮灯