请选择 进入手机版 | 继续访问电脑版

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

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

[复制链接]
STMCU小助手 发布时间:2022-7-21 19:13
引言, J7 p' W: d- F: a) y! W
PDM2PCM库将来自MEMS麦克风的PDM位流转换为PCM音频流。
9 @" |5 j& R6 {7 q+ _2 M本用户手册介绍了PDM2PCM库,它是STM32Cube固件包的一部分。它提供了有关接口参数和库配置的详细信息。它还显示了如何将此库集成到主程序中。- N! p- X/ u. z; |
本文档适用于允许用户连接数字PDM麦克风的微控制器,即STM32F4、STM32F7和STM32H7系列。
( v$ S& d* {7 C
9 G; [/ L& G3 U0 y3 V9 S, R; I

3 U6 h( I7 `: c0 X& E+ c/ D 1模块概述9 c; ?. w5 ?* `, X
1.1 算法功能3 g; a& k6 r! q
PDM2PCM库具有从数字麦克风抽取和滤除脉冲密度调制(PDM)流的功能,用于将其转换为脉冲编码调制(PCM)信号输出流。
0 e  H; x$ ?# r7 U/ l" D4 E7 H$ BPCM输出流以16位分辨率实现。接口中未指定采样率,但本文档中约定使用16 kHz的PCM采样率。可配置各种抽取因子,以适应各种PDM时钟。
; |  P- K; {- D  j& T7 ]" @还推荐可配置的高通滤波器和数字音量。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! {

8 K% [+ i! ^  u5 W4 C  v3 P5 |
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 \
AR7I_V[{HTZ7K3KB]S.png
4 a& m/ v& a7 G8 u3 B* o4 V3 w/ w0 g- q  O) ]  ^9 n

: C7 ]8 Z! \8 p2 模块接口
2 ^9 q( x: i( Q! T5 a需要使用两个文件来集成PDM2PCM库,pdm2pcm_glo.h头文件和正确的库文件(根据目标和工具链)。
/ y/ a/ {: V! \# C- _它们包含所有要导出到软件集成框架的定义和结构。
7 a  i1 B* q+ o: }* n0 F9 h9 n注: audio_fw_glo.h文件是通用头文件,它对于所有音频模块都通用且必须包含在音频框架中。
$ C5 V% b$ O3 @3 l  K2 M- Y2.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
' u* H$ ~- w1 S/ Z# e2 I  n8 UPDM_Filter_getConfig& T7 z0 e1 v( ^* J! H9 _. U
PDM_Filter_deInterleave
; Z' i/ x8 L0 _. s+ APDM_Filter
1 a+ w9 P. \+ d% X+ u2.1.1 PDM_FilterInit 函数
  \" u5 h3 A7 P7 Q/ K0 r该程序初始化静态存储器,设置默认值并初始化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

. A9 E* e& g6 s0 N  M% m& D  ` M4N`GN[JR4YYX}3${XT_W61.png
; w( N( a+ F! a7 S& e. \3 f, d

$ U6 H* X: [. `: d2 |) e5 U# X当实时处理尚未开始时,在初始化阶段,必须至少调用一次该例程。
( J; @" }9 O) @9 y. q  P. \' R  m7 f( R" y8 c& J
2 R0 }: z6 [! ~5 D$ D' B
完整版请查看:附件- ?/ C: Z. \+ C' F  d

, Z. `/ _6 D" E! C5 A  K& `0 U2 T' J, E8 f2 [( d

DM00482421_ZHV1.pdf

下载

757.04 KB, 下载次数: 11

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

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版