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

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

【经验分享】STM32G4学习笔记之DAC+FMAC

[复制链接]
STMCU小助手 发布时间:2021-12-8 21:00
1.高性能DAC' q& s1 C/ F  n! l. I
G4系列一共有四个DAC,前两个为低速采集DAC(1MHz),后两个为高速(可达15MHz)! m- z/ P2 s: {  r3 e3 d

. \! b; I) J- R. @
20200724174034276.png
( w9 x# r  x6 `; W: |
. c. I# f- W& G+ i3 C1 y+ N, O
20200724174706457.png
$ E! J0 r) y7 c7 G/ [6 l, V

/ F- O% ^' n% D; W' {DAC1,DAC2的采样速率最大为1MHz,DAC3,DAC4的采样速率最大为15MHz。但是没有直接连接的GPIO口。
# @' e2 ]( B, \, m8 H! R  X/ J0 F* f) }
20200725100546822.png

( t/ s8 X& k) {" E0 e: ]+ A8 U4 c7 v; Q% s* G$ K1 @) u5 c
20200725102032195.png

& \' K; F7 L4 ~% r2 }2 ?- q2 d7 Y& g7 V
20200725102059872.png
7 H7 w  e( ^; i' \
+ J' B* t9 U2 n& _2 B, n0 ?( x  m; j
DAC可以输出任意的高频模拟波形。  [( _$ E2 ?- H6 y  O
此时DAC的更新速度受制于运放带宽的限制,因此最大的速度也就是13M。; f$ I# ?; P( G  I

0 R8 n: P6 ~6 }& K4 E  _2.滤波算法加速器FMAC(硬核FMAC+DMA滤波计算,能解放CPU)- S9 s6 m, Q* r& t

% s& L- ?4 S5 i% |+ O3 {, e
20200725104311843.png
7 S9 `( Z- E* y. V+ j) O
. ?; O. ^3 `! G  I

( f/ ?" d1 v0 l# ]9 i  f使用硬核的滤波,不通过软件程序进行,可以有效的解放CPU,* @- @8 Q& S3 ?8 a1 \
2.滤波方程+ V0 X" B# a+ c

' D4 {* }9 X3 f2 Q
20200725104541862.png

$ Z- w  b* B& ~; d# [: P: W! l1 l
, f7 a" t3 h2 k3 y7 w" O6 m+ h% N3.单乘累加架构; L. G* y( C7 N7 j: `

7 q: i& l3 S2 F9 s1 N
20200725105056369.png
* U! B( X# y* |! j+ E7 I. Q" ]

' S9 h1 V" w) y/ [) m. g9 tFMAC单乘累加架构,是重复利用的。输入有Buffer,输出也有Buffer,通过Buffer加一个乘累加器实现滤波的计算。* d9 b1 E" q6 q7 P3 _0 f: V
1 ~7 x9 C: p7 w7 S
Buffer:存储缓冲器,将外设送来的数据暂时存放,以便处理器将它取走。
0 g+ [& L/ W+ K
% O, P' \8 i  V9 S( E/ P% m, h6 Z6 W4.Buffer配置
4 U# A( q: w* g
* E5 I7 u" b2 {3 w
20200725105214582.png

- s% p$ o  i9 n
3 y& p" \8 ^8 ]; Q! v5.存储空间需求(Buffer的空间)-FIR0 @3 n0 j% `' q$ V5 y

; @. Q+ Y3 B1 k, f2 E  `7 t
20200725113904393.png

1 F3 E1 R$ c6 K$ M
  Q( o% w1 Y0 g2 D* `输入空间:N+k
3 z! @9 v" R9 V1 r# H4 z, _$ W' x2 v固定参数空间:N# i! O! ^5 y! C& e
输出空间:k
/ t* \6 h9 X# B' M2 {总的占用空间=2(N+k)应该小于Buffer的空间256+ t8 A% f: V3 v' c( \& U9 h0 H
6.硬核与软件的滤波计算比较
% X( G: h  c, _1 s: P0 r/ d硬核处理滤波计算(FMAC+DMA),速度不占优,但是胜在可以解放CPU.
+ P1 @. e( t. L4 v5 E
+ u& E  w+ e: k2 L. i+ @- o! I1 N
20200725114947242.png

) b) @( P- F0 v7 g0 `: [( v" c/ t
" S9 l2 v; b+ K7 Q) x7.工作流控制
6 ?. l. t! W' [5 b9 p+ i5 O- I+ z: d! L
20200725122307469.png
( j. V2 I; j. k  Z. e

! Y- L& I9 a2 C: M- Y( B5 I! ]! O
20200725122346451.png
( v+ }9 a* Y5 ]4 a  M
; D8 t4 l4 J7 R' K8 Q# o

5 U- l2 k* J! w; V
20200725122657175.png

; u' w3 j* M! F4 v* g% J4 G9 `! g' [' I# i
9.FMAC应用举例
/ a1 H$ R1 \' N, w8 o. }
; V* e' ?! l! a6 i
20200725122916185.png
! q% G$ T, \# W
: E1 l& r6 m$ C& C7 g
20200725123036873.png

9 G/ j" z4 {# c: J0 V7 K
, O' |9 r9 d) Q. `
2020072512310251.png
) u5 B# }$ G* M( w

- }  U2 _5 E! o$ I# ^
20200725123123685.png
& z$ Y; k- T. b

$ z7 i" W4 K, A, M) I6 A3 q
2020072512314**.png

: m. O0 z5 }7 r7 g. U" p
( B1 `4 I! x4 i: b' R4 a# Y9 b. |
2 Q: p2 U" e. X代码:1 M0 `( s+ `) g6 ]+ b$ }
  1. 1.FMAC_FilterConfigTypeDef sFmacConfig; sFmacConfig.CoeffBaseAddress = 0; sFmacConfig.CoeffBufferSize = FIR_COEFF_B_SIZE; …… …… 2. HAL_FMAC_FilterConfig(&hfmac, &sFmacConfig); HAL_FMAC_FilterPreload(&hfmac, aInputValues, FIR_COEFF_B_SIZE + FIR_D1, aOutputDataToPreload, FIR_COEFF_A_SIZE +FIR_COEFF_B_SIZE) 3.HAL_FMAC_FilterStart(&hfmac, aCalculatedFilteredData, &FIR_OutputSize)
复制代码
. ]$ ]* _. n4 P9 Q9 a& c
20200725123456384.png

1 K) E: N7 m' h: [
5 @& a6 ], e- H' \  Y
20200725123522134.png
2 J0 Z" h% Q+ M) r. h# F

4 E4 r4 V# D/ B/ Z+ w
20200725123544835.png

. l9 I4 a0 s% b1 P2 h' c* [
" o; D! h0 A4 A1 F) C0 a: Z% E9 _
20200725123633745.png
( Z3 A5 m* c9 Z8 I$ C  \4 W
2 W, I$ W% U, g* D( `. w: F
20200725123723577.png

& Q& `3 z5 r" g) y; C8 `) ~
0 P* S% A+ s# w1 Z$ o$ n4 L0 h4 {' T4 w+ x8 o* W# S

! B& g- e" N4 D  ?; C- k: p- N: t0 |2 V$ Q1 t. K/ }8 M4 H) |
& u1 a, \7 ]+ Z. \
总结
5 _2 l  a3 V+ [( c" v7 l3 G4 @STM32G4的Cordic可以加快环路计算2 x0 A0 C1 A/ s. C" \" d
• STM32G4的FMAC做滤波算法可以释放CPU资源# ]; ^3 Y: U2 O. z( T" [. j& q
• 使用出色的片上运放,比较器即省成本又省板材空间
8 ~) v2 q. e/ k% ?• 特色外设可以有更多设计想象$ h1 k4 q# Q0 V+ B/ A

+ b4 _8 U! S9 [; [; S- s# t5 ~! _' y( N) R/ B& d6 X- X' Z

, e- G$ A* ~/ r, x8 |
收藏 评论0 发布时间:2021-12-8 21:00

举报

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