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

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

[复制链接]
STMCU小助手 发布时间:2021-12-8 21:00
1.高性能DAC
/ p! j& [; \! C7 G. c& ^G4系列一共有四个DAC,前两个为低速采集DAC(1MHz),后两个为高速(可达15MHz)
% }# j1 G6 F( I# T% b0 R  Y  K
# Z( Y) f9 _/ I% T  e4 n
20200724174034276.png
; r7 v7 y6 b3 d8 k
- c" U8 h, A! J! Z; N7 z' ~
20200724174706457.png

7 e4 p( Q! N! `; x6 s. o! ~0 }( @( ?2 `6 c- {/ L  \
DAC1,DAC2的采样速率最大为1MHz,DAC3,DAC4的采样速率最大为15MHz。但是没有直接连接的GPIO口。: Z6 q. c) t$ r3 r4 }6 M
. ?0 Y4 S2 ^! f+ L
20200725100546822.png

$ @3 q0 `, ?6 n) R2 Z/ G6 \/ E! a9 c; Q3 H
20200725102032195.png

! f& ?) ?: d: O/ ?; ]) I
: v! h6 A% F9 ]  G; }3 Y
20200725102059872.png
0 p; ]; L8 ?* Y1 p- m
& B- o( L5 u6 b/ W" q
DAC可以输出任意的高频模拟波形。) h% k, U8 U. ^" S& _5 p
此时DAC的更新速度受制于运放带宽的限制,因此最大的速度也就是13M。5 I5 x* q3 j& V: n: @  e8 I" L

, ^  e. J) u0 a/ {2.滤波算法加速器FMAC(硬核FMAC+DMA滤波计算,能解放CPU)
! _$ _& a3 l! [' S+ [/ O4 z  D
20200725104311843.png
( h6 i. n0 f+ V# Z+ K
1 R/ C4 t" S# e' y1 d& L

- z6 n/ P9 ?) @  C8 D( e; B使用硬核的滤波,不通过软件程序进行,可以有效的解放CPU,
; h' ^1 W8 d  G( e. O2 P0 C( J2.滤波方程
. b% A2 |- ^5 K3 R
- w2 o, U/ n) ]1 w9 U, t
20200725104541862.png

- B6 [8 u( u" l: F4 }" M( }% a& ?  \
) \' S. f. q4 G* N1 R2 G. c3.单乘累加架构
3 o( t, o/ |/ A* C7 y( l7 v$ r" P; `0 z
20200725105056369.png

$ p, j% y7 Z- U( x
; |4 `5 T/ d* YFMAC单乘累加架构,是重复利用的。输入有Buffer,输出也有Buffer,通过Buffer加一个乘累加器实现滤波的计算。3 O% g0 k5 i7 b% Q% ?1 L0 @! o7 T

1 V) t3 @# e, vBuffer:存储缓冲器,将外设送来的数据暂时存放,以便处理器将它取走。
* {  U7 z0 O2 F0 c7 |3 W" Z" w) u2 G% w" F0 r* w- H$ h" O; z# R) K; B3 `
4.Buffer配置
6 G0 Z* l* W- G+ m
5 O' C' Q) L3 u
20200725105214582.png
  _8 H( j: I, b3 e- V6 r0 r

$ _+ ~3 x2 F9 z' i# b- P( k5.存储空间需求(Buffer的空间)-FIR
' L* o8 ~1 i( t8 I: k2 ~  E" k6 u
/ t- E  M  v1 K9 G, |7 a3 x
20200725113904393.png
7 M; u6 ^/ N5 j
% p7 }* ^) a0 V) V# Q
输入空间:N+k  H; Y1 X) V  e1 I
固定参数空间:N4 M% U$ F. J0 h) a
输出空间:k
0 L" R- P( I9 n7 c/ A总的占用空间=2(N+k)应该小于Buffer的空间256
6 p9 {8 ^% _" C2 v# q6 v" \6.硬核与软件的滤波计算比较% L4 _' g6 q6 N. z& @6 v
硬核处理滤波计算(FMAC+DMA),速度不占优,但是胜在可以解放CPU.
, M6 X: M" t2 w$ R, w4 p3 z& F" A- o! i# M5 G- X
20200725114947242.png
; z% ?/ v5 c' Q' C: b

0 k' m* b) C  x. e4 `: O% Q9 `- l7.工作流控制
& S4 Q8 I0 E: T0 z4 i/ S% o! o8 O# f) \4 D
20200725122307469.png

6 u" \2 L+ z% a. O* ?! \* o) C- C6 F" s- o8 k8 }* F
20200725122346451.png

! N- z# r0 K: q( V1 Z/ _2 w( ?
! f  b* j: q" P' U% ?
2 A7 X% d/ @& J& t! ~
20200725122657175.png

( A% K! a  {/ |* r9 P. L$ ^
8 n" z5 z2 I! i9.FMAC应用举例4 ]4 Q  Z- W, L  V# w5 M

7 K" k2 b& A% E0 T; S
20200725122916185.png
( A. g: z+ U- Y# P  e/ o0 }- ~

- a; _5 P$ J  x* Q5 _
20200725123036873.png

; H* t& q" l: `& }( X- Q; y+ G" S7 z7 v# M, R# e
2020072512310251.png

% M% q7 |: S# I4 U: V0 j! U/ X0 l' r/ Y; o8 H" K
20200725123123685.png

2 \4 @- ^; O4 r) S& P. \
4 C; Y5 k: ]; i- T9 ^/ }
2020072512314**.png

$ Q4 j: G, Q5 a2 D
/ E- F7 {4 W# p" s# o1 b( B, n2 O6 O/ _
代码:
2 @5 I2 j! r6 d! M2 [
  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)
复制代码
2 a8 Q$ C8 g" [+ |
20200725123456384.png
" ?' h$ j$ Z1 E) i. _, P8 \2 f

% r9 `+ \  I& N
20200725123522134.png

4 U; u& J& Q& B* W. g+ [& h( e" R7 e% i8 R3 k' O
20200725123544835.png

+ W1 j8 S9 u. D% A! X3 g( Q( W% t" k& ^
20200725123633745.png
; B# W" c6 r" n5 f
9 U6 v. `- a1 s8 p. e, r2 `
20200725123723577.png

4 i1 v, G% `2 `; ~% a: J( h
( H) {& |4 c2 I7 j
) X: X# Z# H0 J, n  N
  f5 Z$ N3 `) P5 }: }0 t( g0 N) T) M4 t9 o; s+ I! M! w
$ }6 p5 Y$ @; d* _) d# M2 E! N9 c
总结% u  g. p# g: m2 C8 v1 b; d
STM32G4的Cordic可以加快环路计算
- Z$ [6 V% l0 @. m# Z• STM32G4的FMAC做滤波算法可以释放CPU资源8 L1 m- K& l" s6 v* a# V
• 使用出色的片上运放,比较器即省成本又省板材空间( c. |+ f: i) s: V7 a& J5 f' S
• 特色外设可以有更多设计想象2 w3 L) B9 N# E: n% H
2 c8 |( t( E: \* e

# {% ^- _' Z( O; z. p, Q
% _2 H6 f* J' ~) j$ K0 ]( i
收藏 评论0 发布时间:2021-12-8 21:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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