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

AN4957:如何在STM32F413/423器件上同步DFSDM滤波器...(中文译文)

[复制链接]
zero99 发布时间:2017-11-13 16:11
AN4957
' I! p9 L+ Y; @! b) J1 w0 o/ p应用笔记' M* }/ {9 A) X& r7 P( J
如何在STM32F413/423系列器件上同步DFSDM滤波器以及编程脉冲跳频9 r- K. ^7 J0 _0 b- [4 e& i- a

- L* K( e2 y& J. J- h, v5 e+ V3 a; P% d& V9 Z1 |3 _3 d: ]; Y

& v5 |- v! ?/ V8 i3 ]- }前言
2 K. u( s9 S6 r/ dSTM32F413/423系列微控制器在DFSDM(Sigma-Delta调制器的数字滤波器)的顶层实现了
/ V+ y. j, i# K7 [专门的机制,可支持以下功能:
/ y. n5 B1 e# K• 同步两个DFSDM滤波器4 ^: ?5 `% i1 _# m
• 脉冲跳频
; A# a* j9 z, h, c8 n脉冲跳频是指器件可以动态调整每个麦克风的PDM(脉冲密度调制)延迟,而不必增加任何) j( R2 U9 d% o
外部延迟线。使用脉冲跳频功能的音频应用包括波束成形和声源定位。
0 z& }. p6 t! y6 I% {本应用笔记的目的是描述如何在STM32F413/423系列器件上同步DFSDM滤波器以及如何编程) A. a1 q! Y$ J. J. x9 B0 D
脉冲跳频。
& B$ F% Y9 E, i. l; q本应用笔记详细描述:
5 Q6 Q$ G/ O. Y+ H& y$ T• 如何配置脉冲跳频机制来将音频时钟和数据注入DFSDM输入& _( ~1 l8 X+ q9 h3 E
• 如何配置TIM3和TIM4定时器来生成请求的脉冲以延迟一个或多个PDM流( @7 u& s$ T1 R1 j5 @& S1 m
• 如何构建一个序列来同步两个DFSDM滤波器
$ j; P* _4 u) I) X8 M$ K• 如何构建一个序列来生成脉冲, M3 Z  _, M5 h2 R
本应用笔记假设读者熟悉STM32 MCU的DFSDM和TIMER,如意法半导体的网站
# e7 P8 R" ?/ d. vwww.st.com提供的STM32F413/423 基于 ARM® 的高级 32 位 MCU参考手册(RM0430)中所述。7 x6 }" K% G% ?

# k: b) Y/ R, b, x. \! [
1 T  f0 ]+ ]$ `% x+ J3 J相关固件! j! s: `8 @2 R2 q. K( O8 U6 q+ s4 [
• 用于STM32F4系列产品的STM32CubeF4嵌入式软件
# O( b5 {/ H$ o- S! V8 {: j+ L, M: s! K% B

2 y9 R; ^) t. f& u6 Q* Z; X8 m
5 J: G. q$ s' ~' {: U; Y1  在 在DFSDM 顶层实现的STM32F413/423 系列机制概述
8 c, |! g- b5 t2 |$ ?& ~- m图  1显示了在DFSDM顶层实现的机制可以同步两个DFSDM滤波器和脉冲跳频用例。
0 h9 b- @5 S. g9 @: r4 |如 图  1所示,MCHDLY(多通道延迟)模块既是DFSDM滤波器同步的一部分,也是脉冲跳频用" M* f# e+ o5 K$ D
例的一部分。对于脉冲跳频用例,TIM3和TIM4定时器也是实现机制的一部分。
4 B" Q% m, `$ F: Y
- v- V* q9 }- ^( X. M! d' F2 ^: k$ U% k* _+ ]0 L
: G8 Y2 D0 T# q8 V/ O4 j% n) q
$ B5 w3 v! g; [% c. U  _" r
2  DFSDM 滤波器同步配置
6 o2 K4 o0 p4 {# Y+ L2.1  DFSDM 滤波器同步的一般性描述; {  [! [3 B/ ]( T" y' {' J6 J, S
STM32F413/423系列器件有两个DFSDM:
0 F$ D7 A: V. Y1 G8 V, e  c. Y• DFSDM1:包括四个通道和两个滤波器
" W6 g& R( X+ o1 \5 c2 }• DFSDM2:包括八个通道和四个滤波器。
! I$ F4 K7 J5 n每个DFSDM都可以与第一个DFSDM滤波器(DFSDM_FLT0)同步开始转换,但有些情况需要同$ F& \3 h5 P5 l4 Z! \8 n
步DFSDM1和DFSDM2滤波器。# I# U0 |# Q- K* P6 N
为同步DFSDM1和DFSDM2滤波器,用户必须遵循以下步骤:9 B0 t& b1 j8 U& q! ?! p
1. 使用外部时钟源和DFSDM音频源作为输入时钟
( x' t: i* [: P- Q0 t2.  禁用DFSDM2时钟输出(dfsdm2_ckout). @6 R  M2 t7 E
3.  对每个DFSDM进行编程, P! X, s  J% J
4.  开始滤波器转换8 I' Z- |; I, |- s/ Q
5.  启用DFSDM2时钟输出(dfsdm2_ckout)
1 g5 q$ I; R/ A1 |& P: U' {通过执行上述步骤,可以同步开始两个DFSDM滤波器的转换。1 I. G9 P2 b9 c* p1 z* v' g
! ]6 q5 L% X  Z. [5 |; v, y

8 D: k7 H: a, i( u2 n+ p2.2  DFSDM 滤波器同步的编程序列1 T. E' O5 Q$ ~) U& v
要遵循的序列主要取决于MCHDLY模块,如下所示:. ~0 [5 K; @# a; U! N+ T8 i8 Y
1. 禁用DFSDM2时钟输出(dfsdm2_ckout)信号(SYSCFG_MCHDLYCR.BSCKSEL设置为0  -
1 g% t9 _8 }  j  P( a' \, uM27)
2 x( G7 _" d% ~3 |2.  启用外部DFSDM输出时钟6 ~0 ~; B! m. Y9 I3 y7 Z. |, |
3.  配置DFSDM以选择外部CKINx作为输入时钟
! I- Z3 {  U$ E. q4.  配置DFSDM以从相同通道的引脚获取通道数据
4 f$ B4 E$ M& m( e+ q5.  输出DFSDM2外部输出时钟(dfsdm2_ckout)至DFSDMx CKOUT焊盘(可选):
# D3 _/ p- L- M0 a3 B2 |1 T8 dSYSCFG_MCHDLYCR.DFSDM1CKOSEL(M1)和SYSCFG_MCHDLYCR.DFSDM2CKOSEL+ A% x1 m4 [2 ?+ e
(M2)设置为1
4 ?$ u% H: p+ _% [+ o7 p: ^: Z6.  设置DFSDM2时钟输出(dfsdm2_ckout)路径为CKINx,具体取决于以下使用的
: d9 _( h5 [. P) v, r# R3 NDATINx:5 H( e2 F* v; c8 E8 u
a)  配置以下DMx开关
; \( y# Y8 F2 t" t' Z$ a) e8 L– DFSDM1:SYSCFG_MCHDLYCR. DFSDM1_CK02SEL设置为0以注入DFSDM2! D) u# Q! B( x  S
时钟输出(dfsdm2_ckout)至CKIN0(DM2); R& E5 P1 w  w3 l+ w
– DFSDM1:SYSCFG_MCHDLYCR. DFSDM1_CK02SEL设置为1以注入DFSDM29 M' E9 ?. p' E5 o
时钟输出(dfsdm2_ckout)至CKIN2(DM2)- T8 Q- q) \9 ?0 S; D
– DFSDM1:SYSCFG_MCHDLYCR. DFSDM1_CK13SEL设置为0以注入DFSDM2
! T  J, N, s0 Y6 H" p9 a时钟输出(dfsdm2_ckout)至CKIN1(DM1)
- I% N6 e. G, T; g" X, Y– DFSDM1:SYSCFG_MCHDLYCR. DFSDM1_CK13SEL设置为1以注入DFSDM2
$ [/ k8 t! ^/ b" t4 j时钟输出(dfsdm2_ckout)至CKIN3(DM1)
1 l" l& x" I. J6 a" k1 @( B  q6 W7 K% {5 Z0 i. N# p1 x  k4 k
.....
% O( w9 c! }* }  S: i" @8 T
3 ?4 {8 l  p& `# I" W  V$ t& B3 y) @. U$ Y, p: M4 B2 r( s: i1 l1 A% x. y
阅读更多内容,请下载文档:
, r. P+ g6 A3 R/ b6 Y1 h; f
2 g( @. v  a8 v. j, T4 p; |+ F下载地址1>>        下载地址2>>
0 V1 w4 \$ F7 T+ Y" S
收藏 评论0 发布时间:2017-11-13 16:11

举报

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