你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F4/F7/H7系列的STM32Cube PDM2PCM软件库

[复制链接]
STMCU小助手 发布时间:2022-7-21 19:13
引言
5 |# N* ~, F6 F  l7 mPDM2PCM库将来自MEMS麦克风的PDM位流转换为PCM音频流。, ~: v5 P8 ?6 {6 @1 G
本用户手册介绍了PDM2PCM库,它是STM32Cube固件包的一部分。它提供了有关接口参数和库配置的详细信息。它还显示了如何将此库集成到主程序中。" O% ]5 s5 l; F' Q
本文档适用于允许用户连接数字PDM麦克风的微控制器,即STM32F4、STM32F7和STM32H7系列。
; E5 `9 `$ w( `+ c  n2 L+ k: l3 q0 w; O5 ~' R0 s. z. ~' Y1 s
1 w" V2 V! n. X* a: S
1模块概述8 M1 N! o, X+ \
1.1 算法功能& o) L' I! v- C& d5 r9 [/ \
PDM2PCM库具有从数字麦克风抽取和滤除脉冲密度调制(PDM)流的功能,用于将其转换为脉冲编码调制(PCM)信号输出流。# U; K) k) E6 m, U, u
PCM输出流以16位分辨率实现。接口中未指定采样率,但本文档中约定使用16 kHz的PCM采样率。可配置各种抽取因子,以适应各种PDM时钟。
* ?7 g" i. ~+ Y还推荐可配置的高通滤波器和数字音量。
! J; V$ B1 i& _8 @, \" o" y
1.2 模块配置
3 s1 r8 F( E3 p: [$ d5 gPDM2PCM库将1位数字样本的PDM信号(768 kHz至2.048 MHz)流作为输入。通过使用基于Arm®内核(a)的STM32微控制器同步串行端口(SPI或I2S)以8个样本的数据块为单位来采集该信号。8 R# C2 Z1 C/ {/ g& }1 J9 Q
根据内核和使用的工具链,该模块有不同的可用版本。9 e: Y% E* x) @6 z0 H) F
4 O/ x6 R7 Q- ]8 b( \
1.3 资源总结
# C9 ~7 A  c  j) }1 j表 1包含对存储器和频率的要求。. J2 E1 Q; t6 |$ d, B3 {
使用IAR Embedded Workbench® for Arm® v7.40 (IAR Embedded Workbench®common components v7.2)测量板上的占用量。
; \/ E, |' P* a1 \
' Z! F! _8 e. [- s% | AR7I_V[{HTZ7K3KB]S.png
0 ?! a0 r, s+ r) [7 Z" N. u, z: X) k; s! t, U1 S

  c" |' }. X3 `( E  c4 M2 模块接口0 ~: W: V6 r; b( J+ D/ I2 D
需要使用两个文件来集成PDM2PCM库,pdm2pcm_glo.h头文件和正确的库文件(根据目标和工具链)。
8 U9 _9 L5 R' i3 m  J+ Y* ], ]它们包含所有要导出到软件集成框架的定义和结构。4 t1 h; Y( s/ R3 o
注: audio_fw_glo.h文件是通用头文件,它对于所有音频模块都通用且必须包含在音频框架中。
& G. _+ \3 a0 N3 i2.1 API# V3 w5 F* M* T( F. y
五个函数具有主程序的软件接口:
1 G6 R: A0 q* s0 }" Q• PDM_FilterInit2 q0 m0 t) h( P& u6 I
• PDM_Filter_setConfig
  ~/ }8 r! R" q• PDM_Filter_getConfig# |- d+ ?; J5 ?4 h0 M* V
• PDM_Filter_deInterleave, J$ m( l) |. z3 o- z) L2 ]) f
• PDM_Filter  b: U2 @7 l: Z1 f0 W
2.1.1 PDM_FilterInit 函数3 M7 Z2 h* O, }* h- ?* d& L0 v
该程序初始化静态存储器,设置默认值并初始化PDM2PCM库的查找表。, l% G, f( Y8 h9 C  K; S
uint32_t PDM_FilterInit(PDM_Filter_Handler_t *pHandler);
8 D5 Z9 z0 ?: I2 ?) Q7 L3 I/ L# f  }( y2 C, ]% w

5 B" z3 |9 Q3 X3 x6 F M4N`GN[JR4YYX}3${XT_W61.png
9 D" R& g8 b, Q* p6 h3 j% w
) x/ P, D! Y3 T5 H
当实时处理尚未开始时,在初始化阶段,必须至少调用一次该例程。
( W* @7 g) p% i( O1 C, L
8 ~2 V! s2 g* K: c1 u$ y* D8 Y; B
" d8 D* J8 f, M完整版请查看:附件
6 ^4 _" @! b4 s- _2 `  m4 h5 v+ J8 j& a

$ h; @2 s& M4 P/ [+ B% b

DM00482421_ZHV1.pdf

下载

757.04 KB, 下载次数: 58

赞 收藏 评论0 发布时间:2022-7-21 19:13

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版