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

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

[复制链接]
STMCU小助手 发布时间:2022-7-21 19:13
引言1 [+ Y# s3 a; R7 B' I- Q7 @
PDM2PCM库将来自MEMS麦克风的PDM位流转换为PCM音频流。
$ l- P. L8 _' n. I7 ^7 [$ R3 z本用户手册介绍了PDM2PCM库,它是STM32Cube固件包的一部分。它提供了有关接口参数和库配置的详细信息。它还显示了如何将此库集成到主程序中。' n& \% l, ?  o4 L9 Z, v
本文档适用于允许用户连接数字PDM麦克风的微控制器,即STM32F4、STM32F7和STM32H7系列。
/ Z/ U' P4 C+ M6 m( l3 p
8 o" i8 o% _5 W& E9 R) q

" J8 M6 F  Z& g2 d& i. ^ 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
还推荐可配置的高通滤波器和数字音量。
$ F, z1 ?7 ^; Q% e
1.2 模块配置! f$ e' \4 J8 H3 }" k
PDM2PCM库将1位数字样本的PDM信号(768 kHz至2.048 MHz)流作为输入。通过使用基于Arm®内核(a)的STM32微控制器同步串行端口(SPI或I2S)以8个样本的数据块为单位来采集该信号。
  M1 c* V. V) K根据内核和使用的工具链,该模块有不同的可用版本。9 `+ `4 G" }. ~# }9 H, _* Z

% C% n2 j- G- |& k/ R. i- Z
1.3 资源总结
! v5 |+ X" G; @: ^表 1包含对存储器和频率的要求。
/ C1 G+ ~, {2 V/ S  n$ Y- T  s$ f使用IAR Embedded Workbench® for Arm® v7.40 (IAR Embedded Workbench®common components v7.2)测量板上的占用量。) S+ R* }6 |: i+ @

6 E1 B2 ?8 i; o: C9 }4 {. }$ ] AR7I_V[{HTZ7K3KB]S.png
  B. [" U$ }4 t+ V
8 |1 w1 G6 c/ b- X  e
9 V: {3 E* d& J; H7 w& J; |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文件是通用头文件,它对于所有音频模块都通用且必须包含在音频框架中。
# C% J- v5 P, `2.1 API
5 |7 }- c& n  A- |2 M: j. Q7 A五个函数具有主程序的软件接口:! m& v$ S/ L# |8 ]+ b
• PDM_FilterInit
* f$ U5 e7 J  a! K• 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
6 b. \# e# G' R2 g8 \0 Z' k2.1.1 PDM_FilterInit 函数
8 |3 A  \, P6 `- f  N6 Y9 K该程序初始化静态存储器,设置默认值并初始化PDM2PCM库的查找表。
0 t5 u) Z  C" y& \" l; i0 auint32_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
M4N`GN[JR4YYX}3${XT_W61.png : B1 X2 o" [' @/ E

* ]0 |& a  F4 D* N当实时处理尚未开始时,在初始化阶段,必须至少调用一次该例程。: d0 _% V' Y! r; e
( O5 ^( v; x3 b8 Y6 Z

2 v4 L, K! U1 W5 k完整版请查看:附件
  n. U/ J* |7 H# ^4 w6 ^% [
( y3 v- g0 ~7 o, Q! {  B$ f$ C7 g# x* m( a' d9 N+ W

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 手机版