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

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

[复制链接]
STMCU小助手 发布时间:2021-12-8 21:00
1.高性能DAC
! E3 X& k9 O8 m+ t, V+ e& ZG4系列一共有四个DAC,前两个为低速采集DAC(1MHz),后两个为高速(可达15MHz)
) B( H  _: r! z: M8 ~; {1 O5 r6 E  A, O
20200724174034276.png

! X5 R) \% K2 [9 f2 ]& Y( Q5 F! W4 W3 c& W
20200724174706457.png

4 ^6 C% u" P% @4 _3 {8 Q* Y; [  @5 }8 O0 w- m* w$ z
DAC1,DAC2的采样速率最大为1MHz,DAC3,DAC4的采样速率最大为15MHz。但是没有直接连接的GPIO口。
' t' X7 G- b) V
' u, e- i: n, y9 l4 }# L
20200725100546822.png

; |' Q, O/ M; h, S, Z: `# ~0 x" Z* q+ d4 a% O  N; J
20200725102032195.png
& x- J# ^( g) s" w# v  f
8 d+ L! X5 o- E$ {3 g' B
20200725102059872.png
  s  K$ A- i' x- L: {, O% W3 \
! H8 i! ^1 {# Q2 e
DAC可以输出任意的高频模拟波形。2 x& M: N/ C& M0 p) b! _% R
此时DAC的更新速度受制于运放带宽的限制,因此最大的速度也就是13M。# L* O) n& Y/ V" J

* g! O5 V/ \! x2.滤波算法加速器FMAC(硬核FMAC+DMA滤波计算,能解放CPU), G( V% o' R. d1 _

# m; b9 e4 Y9 ~. N: t) ^4 |
20200725104311843.png
/ W- h7 X  M) W+ W
7 o: v/ P4 v/ ^/ ?4 c

9 f: E# I! f1 y% P使用硬核的滤波,不通过软件程序进行,可以有效的解放CPU,/ Q1 I% h/ a  G# |9 k. Z: w) k* T
2.滤波方程
% B3 S$ ~; j' u' y; C, ]; f5 p3 t5 D$ t3 A* b  u
20200725104541862.png

# k  l2 T! ?; \8 v, y/ D
+ I8 y' E( j! L" C3 }( _) X3.单乘累加架构
5 ~, k( B4 M5 }# o' K% W% ?1 T+ e) [; h0 j! N
20200725105056369.png
! i, u/ C" @/ ^' b/ @

' P( T' F, e" V/ W6 Y) e9 `- nFMAC单乘累加架构,是重复利用的。输入有Buffer,输出也有Buffer,通过Buffer加一个乘累加器实现滤波的计算。* ]- `+ v, e/ p: l* N/ ~

. H$ x# \( k- E  ?$ EBuffer:存储缓冲器,将外设送来的数据暂时存放,以便处理器将它取走。7 F/ Z( x8 j0 }; W0 G1 C
! k& y2 V. j* H0 `, L: @) z0 O
4.Buffer配置, L' r0 R' b% ^- h2 F

$ L2 p+ w6 |+ l. k' l' s
20200725105214582.png
% P- b5 B2 F' A8 Z5 g* x5 z
1 }: E% r( p' g/ x) k
5.存储空间需求(Buffer的空间)-FIR
/ f: ^0 v& h* w
0 F3 |& Y; v" Z6 y; T8 o# w
20200725113904393.png

) F- _3 E( n9 l( V5 `3 }
# O, w4 d: d6 H4 \6 L输入空间:N+k
$ l4 T. K0 @! O9 L4 E. v2 F. B固定参数空间:N
; j2 f1 W, M; N) `" P输出空间:k
# m: Z# U, G5 l5 y7 G! p总的占用空间=2(N+k)应该小于Buffer的空间256
$ J4 L9 T9 d/ l9 _2 }0 t$ C* B6.硬核与软件的滤波计算比较$ M3 R9 ?4 Q' D. H
硬核处理滤波计算(FMAC+DMA),速度不占优,但是胜在可以解放CPU.
3 Z: ~! J# ?- `/ Z8 s! G3 E/ @& j0 F4 i$ I' i- R, d3 E* O2 C8 M
20200725114947242.png

3 f- E' Z! w9 l- F% |0 b
4 F! ~1 l2 c, v( M9 X+ ]- P7.工作流控制% [4 N+ ~' z' ~

3 A: _7 M- j$ q0 t" |% G
20200725122307469.png
# ?# }/ \9 [+ n9 R, r

' v2 K7 `- n( x9 X) o
20200725122346451.png
/ l& y+ Z% I- j* H; @

/ Q6 Q/ y& Y  h! n& }2 V. v9 S& ^& _. z, x5 |- @
20200725122657175.png
# a' a, ^% a) G9 t& e, U$ ~

6 Z1 ]$ C2 n8 F% s6 X9.FMAC应用举例
: f/ B5 q; z5 m: N$ Z, t: N
6 \2 r% }& q' H5 L
20200725122916185.png

& T7 R- s3 t2 O  B
" n( g$ b  v% C0 b
20200725123036873.png
+ w( H2 j3 a* A7 t+ b/ S

& [6 _0 n7 K: O, j, S  F
2020072512310251.png
( ~5 O; Z. s" e
1 \1 ?; P: B; {! L$ t5 E
20200725123123685.png

4 }4 S$ Z( F8 i% L: F  G( b: W* n8 n& h
: {. p& |/ `: U, U( N
2020072512314**.png
6 m/ l9 r; o; @# ~5 F1 i
  U+ n% a% t1 }7 C
% D3 ]7 i, {/ d
代码:
, j) b7 z; E9 C: F% T9 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)
复制代码

# v! s- W! z% z+ I& ?5 Z$ _7 ]
20200725123456384.png

  ~1 P# x3 d7 {5 l3 U" t, Y0 V4 ?) s: B* A2 K+ H9 N
20200725123522134.png

/ U& D. V& a# }2 `: Q0 s- F! q+ x9 B3 y  p7 z1 O. P1 a0 h0 m
20200725123544835.png

6 v9 S4 }! _9 C+ A$ u1 o
+ E. Z7 M5 H0 Z* Z$ P
20200725123633745.png
1 F- T2 S/ W5 P- t
6 }( L( e. i4 ]2 ^- n+ ~4 I) {
20200725123723577.png

; M. I7 H( G% S2 t2 a, t& {+ L1 n: j# ?$ _0 ^. y- s9 X" P! e- Q

4 b: A' M+ l1 q5 e3 B2 _6 A7 i0 ?  Q3 {

% N; @# L8 J& z) {5 w. I* a( x6 S. v
总结5 ?  a" ]( b  f! q
STM32G4的Cordic可以加快环路计算
6 }( \+ ]0 ~6 Y) r! v0 m• STM32G4的FMAC做滤波算法可以释放CPU资源- G/ u2 g- s( ~" x/ L# ~# w
• 使用出色的片上运放,比较器即省成本又省板材空间; c# j1 a( ~" n7 W. f* _* D
• 特色外设可以有更多设计想象# {# f8 c& X+ y& V( f) e
% u" U) J6 ?  d1 r2 j2 V; K
& r- F- O% \7 A  v

# u% ?7 ^4 F9 t0 Y
收藏 评论0 发布时间:2021-12-8 21:00

举报

0个回答

所属标签

相似分享

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版