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

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

[复制链接]
STMCU小助手 发布时间:2021-12-8 21:00
1.高性能DAC
) ]9 h* W* z$ n/ jG4系列一共有四个DAC,前两个为低速采集DAC(1MHz),后两个为高速(可达15MHz)  S8 L3 b' U: c' f" u( d8 A
% \+ `/ y% I9 p! y1 r- S) d# P
20200724174034276.png
3 g- @# c% S+ ^

$ g; c  ^, T7 u( A
20200724174706457.png

$ p1 T5 i6 N. W, v( ?
: d/ u+ e: [/ r2 @DAC1,DAC2的采样速率最大为1MHz,DAC3,DAC4的采样速率最大为15MHz。但是没有直接连接的GPIO口。
* A/ o; }0 O# }
1 {2 m: r' Z0 Z  u2 W* n4 `$ Q
20200725100546822.png

3 ]/ ?& J$ r. ]9 a! i( {' I8 ?0 c& s6 Z) _4 g& a0 F
20200725102032195.png
. m/ m& c0 n; T3 a

& s% G/ {) s# K- s
20200725102059872.png
2 ~( Y/ D' b0 |+ c4 Y2 q

- l2 p6 W9 Q: t- kDAC可以输出任意的高频模拟波形。4 P$ g. u) K- |7 S
此时DAC的更新速度受制于运放带宽的限制,因此最大的速度也就是13M。) d# ?! x2 t, m! S
: p+ C1 b* H$ y
2.滤波算法加速器FMAC(硬核FMAC+DMA滤波计算,能解放CPU)
4 x( A' a$ \3 {+ m& x
* z  B' V, x* ]8 _
20200725104311843.png

' C1 j6 k# b- K" D+ e  J8 H. ]
5 h2 ?* ?' U4 m8 {7 q
( c' D/ L( P# W( o$ b6 n" `2 Y使用硬核的滤波,不通过软件程序进行,可以有效的解放CPU,- B; U5 A3 L+ @$ n0 T
2.滤波方程
3 ~) C, y2 c* j. k9 ?1 L% l! p/ J* r1 b: b: i( a
20200725104541862.png
) |& t+ g6 F8 m, ?
$ j  j8 g! A  l) _8 u
3.单乘累加架构
- g( X- {2 h* u% d+ U. o7 x' S1 d9 f& z# v3 z# z6 c
20200725105056369.png

# y  u& c; L5 k, f- j8 h' c
( C) q* O/ f' \" F' O- v. ?FMAC单乘累加架构,是重复利用的。输入有Buffer,输出也有Buffer,通过Buffer加一个乘累加器实现滤波的计算。
! g+ {) m" c. h% f- ^
- A& R+ [( }! C# b6 RBuffer:存储缓冲器,将外设送来的数据暂时存放,以便处理器将它取走。7 C+ f6 d; R6 ]* `

1 m; X. L9 e" S* r4.Buffer配置
' q2 d% Z3 g: Q/ [
! E. N! J4 Z% V* _$ D
20200725105214582.png
5 N  ]/ ?8 e5 c; s. `

' `' _3 w9 b4 A* _2 Z* y3 f3 ]# C5.存储空间需求(Buffer的空间)-FIR! E; R: y# Z+ z3 b

4 M$ U" y* L, D9 L/ g0 n
20200725113904393.png
/ w  |2 ~% f' B5 h4 \

- b- L. F. b5 H输入空间:N+k
" x; j) f, S' ^& l6 i固定参数空间:N- [2 Y. a+ m7 z$ T0 D3 s
输出空间:k
  x, ^+ X9 D/ U总的占用空间=2(N+k)应该小于Buffer的空间2565 U  K4 ^  c4 \
6.硬核与软件的滤波计算比较
# l& ^' U  b3 l- D硬核处理滤波计算(FMAC+DMA),速度不占优,但是胜在可以解放CPU.2 n) ^4 X2 K: Q  E5 X/ b0 t# V6 U
9 e6 K3 G) n- ~
20200725114947242.png

3 v- x' h* K9 e9 J! A, |! z
" B5 ~- ~. Z6 }1 ?$ h9 |7 q7.工作流控制
' p% S' Y- d" L8 `' j' ^0 y1 v* Y+ |0 t: o4 r
20200725122307469.png

# N6 E! R5 X: ~# p/ V; `8 B. ^- C6 y+ G) e0 `3 `/ @  g# U
20200725122346451.png
+ P6 ]3 C  e% l. F

$ y# L3 g! N& n* b  O
2 B: M6 A+ g+ y& g3 l
20200725122657175.png
! K5 M1 K, N1 _& I4 ^, L
6 w, C& p3 b( a
9.FMAC应用举例
7 r0 g+ [; E% X1 Z$ [
$ Z  N2 q' T3 Y  K
20200725122916185.png
% {- o7 X' y2 e5 p# h
& K! {; f9 z0 m
20200725123036873.png
+ Z+ @, t( I. z' H$ G

: v) ?* r# K! @/ x  N# z; R3 E
2020072512310251.png
. a# j) e7 R  E9 v% L

) c8 v) Z% J% ]6 V* ?2 X' R
20200725123123685.png

! [8 y- V1 W$ Y- y8 L  z+ B7 T3 r( X, J
2020072512314**.png

0 j' X, i2 {1 r) x/ t. K: p) @: R
% ~" C& N4 @. A$ P. q
4 H1 s* C0 b3 E3 C代码:9 Y; ^6 d6 N2 f5 Q' J$ E) g& _
  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)
复制代码

, H0 |$ Y5 D0 r2 m( g& [
20200725123456384.png

, J2 o: ~9 w8 }/ C2 N- K3 Z6 I8 U6 k/ I" Y
20200725123522134.png

$ M/ s' s6 x3 m& d6 q6 |6 p/ Z+ u/ Z8 X' C/ `& }# e1 Q6 D* |
20200725123544835.png

; h9 c  n+ q2 j- x# O+ y& @) h5 N& C! }7 v5 g. O) K
20200725123633745.png

' y/ M% T9 Z# }; |( G  G. S
: k, E, `  K6 Y6 g7 s  b
20200725123723577.png

3 B; G" k1 b+ }  V. W
6 x* Q8 D/ j8 C- C7 {5 h! i( i7 D& t" h4 J( K3 {, q; `/ j
6 m  X* X7 {& J1 V
5 s* @# V5 n" I, v3 v( M3 t/ j

& b) Q/ t/ a1 l. |总结
5 L, _. n& H( v$ y; OSTM32G4的Cordic可以加快环路计算9 I8 x) o8 _( x$ `8 {2 b5 g
• STM32G4的FMAC做滤波算法可以释放CPU资源
5 r& B9 P. B- n- c, x( m& h• 使用出色的片上运放,比较器即省成本又省板材空间( n  [! S4 a( I4 P8 \9 j
• 特色外设可以有更多设计想象% n3 n, C9 ]3 p* g7 G: x; ]3 V( K8 X; @

, K; c1 I1 i5 w; s9 ^4 X: O3 m. W  X6 {# ~# K1 W& Q. c
4 u* u1 [$ Y# ~7 O, E
收藏 评论0 发布时间:2021-12-8 21:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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