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

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

[复制链接]
STMCU小助手 发布时间:2022-7-5 17:32
1.高性能DAC/ ^/ p" j! g6 w
G4系列一共有四个DAC,前两个为低速采集DAC(1MHz),后两个为高速(可达15MHz)
7 \  ^* g4 ^/ e9 t( X& b9 ? )YR5~$GZ`TA(PW_L6`7[}_L.png
% P2 F+ {' S  X+ z) p
# B9 M! Q: R; }) | DG(NET97O)BN%)ZNY5J65[7.png 4 W" g1 l# G# J. k0 e
. p) H5 N7 D+ K6 p, C, H

1 w$ g( ?! D! aDAC1,DAC2的采样速率最大为1MHz,DAC3,DAC4的采样速率最大为15MHz。但是没有直接连接的GPIO口。
7 A% V  z; w: h# d# r0 m; D4 ?! c! M# x& c! E+ b# S
{J8W[]KENUPAMXIM6YYM@XF.png
: ^  B  k+ U/ |, g8 D
/ n! M& I. v, ^7 q, t# n TA%GXO5U6ZL2SW{83{L~(C8.png ) Y! Q3 _7 s' z; n% H! V

& h- w' r) ?3 W& n  e! i4 c M{U~L%RMBP08NL$V3CAV2OH.png 8 C4 S7 F5 z: w; n) h- H' I; S

, A" |4 l1 o/ NDAC可以输出任意的高频模拟波形。
' Z% X: l7 R$ N* ^& g9 _. s此时DAC的更新速度受制于运放带宽的限制,因此最大的速度也就是13M。* U" ?; p1 D. n( ^
+ k; o$ s! s5 m1 `
2.滤波算法加速器FMAC(硬核FMAC+DMA滤波计算,能解放CPU)
; {  g( [, ~9 Q1 Z% Z7 `
+ c3 f. W6 }0 ~7 i9 @使用硬核的滤波,不通过软件程序进行,可以有效的解放CPU,' w/ c# t$ F: U! l5 \- e) z
2.滤波方程. m4 B! b* v. ]" l
* y3 C2 s* O8 p5 E$ O% [  ^" n
SWE0$`8BYG~TT9N[`@05$$E.png 7 ~  p; U- d3 @3 A  ]
% ?1 r- o: I+ B* o
3.单乘累加架构
' Q* b# O" L: x2 |2 u% A( A" ?7 M6 h% e
82~85~61_J1UBRUI6[{}QHA.png
  b9 Y3 q- P* P$ D7 DFMAC单乘累加架构,是重复利用的。输入有Buffer,输出也有Buffer,通过Buffer加一个乘累加器实现滤波的计算。9 Y5 ^% }, U9 x" x2 [$ m9 h8 _- C0 M
7 s) [5 C: N  c( u
Buffer:存储缓冲器,将外设送来的数据暂时存放,以便处理器将它取走。) F7 ?6 }5 n2 t* f/ h1 y% F

- h, {* m5 M+ k5 o0 z4.Buffer配置
  u+ M8 w7 p, c0 J% z( C
# u4 h1 |5 U2 f" g0 M 0WN9EFJ6VD0TDWQ(A{IYN]4.png
; |) Z! j, [4 @' U
+ S' v+ `) o5 q  p, V/ q5.存储空间需求(Buffer的空间)-FIR4 P! u+ l! H) j# Z

4 O5 O: H; T  f" `& | {(QP2_N0N~C5`FNEUQA8B.png
6 b8 }. f) T1 d8 v, {
6 y3 w7 q- }( n! ^1 ?输入空间:N+k
9 ^7 v+ c- b" t( ]固定参数空间:N9 ^% x5 ]9 q' [* [% b
输出空间:k/ ]8 |" a! L: F/ I/ s6 j
总的占用空间=2(N+k)应该小于Buffer的空间256
+ I. [6 q. q5 C
& s5 |4 H1 p- F. e. \6.硬核与软件的滤波计算比较
8 m' @! Z% @  V8 @硬核处理滤波计算(FMAC+DMA),速度不占优,但是胜在可以解放CPU.
/ s  Q/ v& X8 l+ y
) x/ g. A. G" q3 G; @. H; _4 z C)Y4HTMBQFO$_J`CKW2UF.png
9 F# {" f$ e0 V! s1 u( y9 k! s0 H
7.工作流控制
' F: I: K( [& T
( N2 p1 s  x) I- U0 H (OM$KGH8ASU6QO~H`XX~H5Y.png $ K, s7 e. P' Q  U$ K9 }$ z6 t
3 X' l2 P' V; w! m" ~: }& h3 b  \
TBUGDE[SR[{3AH3M{TTO171.png . X$ }8 b. |" }/ E
) l8 m3 I1 ]; o. _8 t) z
H8E~L(XNXUQ@}TV8Z$GYLD5.png
4 r# Q' r" B, K8 q1 \& V7 F
" `* g: Y# n- M9.FMAC应用举例

( F/ d5 ]- C" y9 q
8 M* R7 R: }' ^- r, u0 \ Y~`{8)LH9P(A1]MM[P`Q.png 9 z* ?5 I/ V  i" }, [

5 d4 r! b9 Y9 o! E5 ]% `" i %[PQM[F9A7GPD$X)_UR}5X1.png : e' f; C8 X! w' J* m, X! _5 `

: d4 s$ j  r& X+ }7 }3 Z. W& i% c  g3 ^ EQ]8%CI3NMROSLUHGY(_CQV.png , m5 L2 Y. B2 w3 k

2 |, X! i: |; M& k  M% W1 j3 E 8}EH3%(U{KE%LYG6[__Y($U.png ) A$ C  l- m8 |! j3 O/ m4 e

; Z  c4 l8 s1 f" q" S7 G/ E, Z  M C6$_16CH8ZD)LR`@IGWK$_G.png
% }5 w; ]: B) q1 R, O- j$ a! P; D$ l9 d
代码:& g5 q7 k$ o8 g, G
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)- S4 {/ X% ~. |
- t3 Z" ]" s/ U0 e: R
P]1QKD]9$NFACFH`~SM{@XI.png
" a4 y8 j# O# @0 b 9CO%6(R{%8Y{X_}BY[S}R7Y.png
6 h% v! W9 u7 b4 K; W  [  x
. |8 U7 |" j: |* [: ?( ^) [
1 p! }: {6 r3 C8 W0 |3 f& G0 ~" l2 K0 c* |1 z1 ?

* N  r. i/ z  c! _. ^. R) }7 s
& _! s, {, Y* H  J4 r 11E{PZ59J)5P1I(M33$NP4V.png ( ~6 T% d0 w" M1 [- k2 o

. a$ W2 X( W: e  z; j" H总结
% a! u9 X" P. Q0 ~' {; t
STM32G4的Cordic可以加快环路计算
& `5 O' L0 I  t" n) Q& C  c" @• STM32G4的FMAC做滤波算法可以释放CPU资源
9 {+ ~8 b3 I3 s/ B6 F4 `6 {) p% c• 使用出色的片上运放,比较器即省成本又省板材空间
/ F, p, Z9 d; y( n, D• 特色外设可以有更多设计想象* e$ c! m6 T# r- V$ P% Z$ M- `/ P: _% D1 m

$ ~0 a2 R5 O! S9 h- ]" k% G6 i' A  z5 M( y( T4 `

+ `6 k0 c$ Z$ x* l7 q
/ s. E, _8 E  B4 f; i1 Y- ?2 b% D% i$ q: N! |) v
7UT%S5L77CCNGE{5A88$ZU6.png
AGM2_%}10$5OJ5OX2[_BUC4.png
2$W2ZSCM(BT$8G@G{}I7$4N.png
赞 收藏 评论0 发布时间:2022-7-5 17:32

举报

0个回答

所属标签

相似技术帖

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版