STMCU小助手
发布时间:2022-7-21 19:13
|
引言1 [+ Y# s3 a; R7 B' I- Q7 @ PDM2PCM库将来自MEMS麦克风的PDM位流转换为PCM音频流。 本用户手册介绍了PDM2PCM库,它是STM32Cube固件包的一部分。它提供了有关接口参数和库配置的详细信息。它还显示了如何将此库集成到主程序中。' n& \% l, ? o4 L9 Z, v 本文档适用于允许用户连接数字PDM麦克风的微控制器,即STM32F4、STM32F7和STM32H7系列。 1模块概述( K- w( C( a+ D1 [/ R V* e: K# H3 T+ f 1.1 算法功能. V& S5 p3 B/ p) X8 ` PDM2PCM库具有从数字麦克风抽取和滤除脉冲密度调制(PDM)流的功能,用于将其转换为脉冲编码调制(PCM)信号输出流。/ P& a9 E' u3 t% B9 S D( S PCM输出流以16位分辨率实现。接口中未指定采样率,但本文档中约定使用16 kHz的PCM采样率。可配置各种抽取因子,以适应各种PDM时钟。8 p7 {' _; a7 L2 `+ p) E1 R 还推荐可配置的高通滤波器和数字音量。 1.2 模块配置! f$ e' \4 J8 H3 }" k PDM2PCM库将1位数字样本的PDM信号(768 kHz至2.048 MHz)流作为输入。通过使用基于Arm®内核(a)的STM32微控制器同步串行端口(SPI或I2S)以8个样本的数据块为单位来采集该信号。 根据内核和使用的工具链,该模块有不同的可用版本。9 `+ `4 G" }. ~# }9 H, _* Z 1.3 资源总结 表 1包含对存储器和频率的要求。 使用IAR Embedded Workbench® for Arm® v7.40 (IAR Embedded Workbench®common components v7.2)测量板上的占用量。) S+ R* }6 |: i+ @
2 模块接口0 H- |1 o: a, ] 需要使用两个文件来集成PDM2PCM库,pdm2pcm_glo.h头文件和正确的库文件(根据目标和工具链)。3 d1 J% j' M9 t. t/ o P 它们包含所有要导出到软件集成框架的定义和结构。, p9 ~2 Y) E! G; G1 F 注: audio_fw_glo.h文件是通用头文件,它对于所有音频模块都通用且必须包含在音频框架中。 2.1 API 五个函数具有主程序的软件接口:! m& v$ S/ L# |8 ]+ b • PDM_FilterInit • PDM_Filter_setConfig: F ~+ R# ?4 p7 ^) r# f • PDM_Filter_getConfig. P/ z3 o4 u) V$ z • PDM_Filter_deInterleave7 ^+ p& q0 }9 Y7 I • PDM_Filter 2.1.1 PDM_FilterInit 函数 该程序初始化静态存储器,设置默认值并初始化PDM2PCM库的查找表。 uint32_t PDM_FilterInit(PDM_Filter_Handler_t *pHandler);! f8 p8 X- \7 x8 l 1 Y" `5 Q9 l+ Z 4 s' Z7 g( A5 T6 j: X
当实时处理尚未开始时,在初始化阶段,必须至少调用一次该例程。: d0 _% V' Y! r; e ( O5 ^( v; x3 b8 Y6 Z 完整版请查看:附件 7 g# x* m( a' d9 N+ W |
DM00482421_ZHV1.pdf
下载757.04 KB, 下载次数: 58
基于STM32F767通过cube配置:QSPI接口读写64M PSRAM+flash参考资料...
【 逢7发帖赢大礼】1、利用CubeMX生成正点原子H7R7开发板的STM32CubeIDE工程
【STM32H735G-DK测评】ADC3+TIMER1+DMA 采样模拟信号
【STM32H735DK测评】Ethernet+lwip DHCP获取IP地址
STM32H743基于CubeMx5.0配置手册
【STM32H735G-DK测评】lvgl移植
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
STM32F746G-DISCO移植lvgl9.0性能基准测试
【福利三:逢7发帖赢大礼】使用MPU6050模块、img_dsc、img_btn机制实现一些简单有趣的动画效果
【福利三:逢7发帖赢大礼】使用arc弧形拉条控件控制PWM舵机及使用SPI3接口操作NRF24L01模块进行无线通信
微信公众号
手机版