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

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

[复制链接]
STMCU小助手 发布时间:2021-12-8 21:00
1.高性能DAC
# K+ v: F) V+ V# ]G4系列一共有四个DAC,前两个为低速采集DAC(1MHz),后两个为高速(可达15MHz); h0 |( D/ h/ _6 p% `" ?/ k
$ ]" C, R, V$ a/ P) P9 E  E- l/ x6 j
20200724174034276.png
0 \2 k- S1 o2 U
/ {2 M1 {9 j$ q+ t$ c  [9 u
20200724174706457.png

1 k) ^" W1 k- m" ~5 k9 j# R) R: D# F. X2 O
DAC1,DAC2的采样速率最大为1MHz,DAC3,DAC4的采样速率最大为15MHz。但是没有直接连接的GPIO口。
9 `6 K/ k% Y" G  g+ w" q: y: g: a" e# f7 r
20200725100546822.png

( [6 ^/ ^8 v1 P* [1 y8 o  C8 W: x: P5 E1 U6 U% [4 J+ r8 M8 ^" c
20200725102032195.png

, n7 a0 q: s3 \, G$ {% a9 v4 e+ d* V& y8 p- _* P
20200725102059872.png
3 o. z) Z$ I, B1 m0 N" _& L

& \2 V/ q  _7 u" ~/ G9 K+ F  @% P  gDAC可以输出任意的高频模拟波形。3 S6 a4 T! ]* k1 Q
此时DAC的更新速度受制于运放带宽的限制,因此最大的速度也就是13M。# X: S4 K! A5 A, G# t
4 E& X7 A3 J; d
2.滤波算法加速器FMAC(硬核FMAC+DMA滤波计算,能解放CPU)% H4 F% b& m# R/ I- A1 K

- Y8 a" {+ o( R6 d1 d( C0 `
20200725104311843.png
8 W2 k& K3 K; R" o, N* G2 S: N- v

! _! j( X, W3 I; I( N% B3 h' ]  d; P7 U
使用硬核的滤波,不通过软件程序进行,可以有效的解放CPU,% J' g+ ~. g$ c
2.滤波方程  M2 ]2 T: g4 h. T' x
* J" d7 ]3 ^4 Y
20200725104541862.png
( X2 R0 a% L' h% X2 ]: l

9 r6 C7 l! {, e* q; d: A* X3.单乘累加架构
* t: _0 f3 P! F1 ]# k0 r5 h7 c0 ]; I$ K
20200725105056369.png
. I' N8 ?4 q7 |# ?

! \) {6 b' I0 m9 }6 H4 B. ?FMAC单乘累加架构,是重复利用的。输入有Buffer,输出也有Buffer,通过Buffer加一个乘累加器实现滤波的计算。4 g1 p, s  _2 T, P" |
+ y/ ]9 b% k, ~$ Y7 t0 m! x# d  G
Buffer:存储缓冲器,将外设送来的数据暂时存放,以便处理器将它取走。
$ B! U2 z2 o8 W  ^
  A! x. n0 A, \9 Z% R* h( d4.Buffer配置" m! v3 k7 Z' ^) g# \; {

4 l6 V! x" ~0 L
20200725105214582.png
8 N5 L. M5 x8 }' P
& q  r1 V! ]- U) ?- Z
5.存储空间需求(Buffer的空间)-FIR
, N3 Y. D% g( F9 K' t
8 g  L( Y! n0 [5 X5 L3 `9 y
20200725113904393.png

! V; _/ b+ L* F- L4 Z5 `* K$ x/ A0 C- L& \3 R8 k5 K/ g$ O
输入空间:N+k8 {" v7 Z" d6 T2 N9 P
固定参数空间:N
6 H5 L, J  L: d# t输出空间:k$ ?! X) u5 m1 Q; H7 _; n
总的占用空间=2(N+k)应该小于Buffer的空间2565 C- D9 H- P5 m& M) J+ h& S2 C
6.硬核与软件的滤波计算比较
- G+ O$ h  @! \! Z) N硬核处理滤波计算(FMAC+DMA),速度不占优,但是胜在可以解放CPU.
9 m. I3 x, ~  C
' O2 t1 L9 m, e" X9 c" _/ E
20200725114947242.png

) V4 z, [3 N( Q! p* d0 ^# B
2 z) u3 S$ @1 {& U! M  q7.工作流控制
7 f( v' s$ _9 v. _' _, F, J, t3 e. e8 t1 ]! N: S* T4 `! v
20200725122307469.png
9 d; T5 E" [. Z1 `/ u) w

) }4 o( N" _  [1 r3 U0 A
20200725122346451.png
' X& `; I, e7 _8 G
8 c5 j: b4 B. A3 b) A

% H3 b6 H7 [0 e- b  r: k) h
20200725122657175.png

4 L) z' {1 {9 K
; k5 M0 _7 r7 i9.FMAC应用举例
* ?7 E- A2 {' t+ j1 \) Z3 F
/ o# S" D1 w2 M4 ]
20200725122916185.png
0 M) n( w% b9 J* D
$ U# }& x* F1 V- o+ }0 u* D1 |' n$ z5 r4 `
20200725123036873.png

6 O, m$ y' x- F. U# G; g/ @* v; r6 k+ O# C
2020072512310251.png
/ ^9 t. I4 q' q4 Y, o8 e' ~& L- w1 \7 r
, q+ S# N6 t8 R+ t7 K# n# R0 U/ Y
20200725123123685.png
. G9 n8 O9 \; P- [) R2 e

. `# h! ?' h) z& O! E0 J
2020072512314**.png

5 w' l+ f% u/ B! K, c' G) {9 w) Z7 H: A3 g

& b7 \0 v7 d* p! M5 J代码:0 D+ Z( U5 y' c6 k
  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)
复制代码
( h* R: `* L/ f1 U. [7 L! m
20200725123456384.png
' G9 \% c3 D7 v
- _1 i/ A8 j4 m9 @/ W& q
20200725123522134.png

  y$ }& r% X/ R- c5 v
7 {; m1 v$ y, I$ J# [
20200725123544835.png
0 q. t5 i' ?* n4 ?# T

2 r4 C- E- _/ J) }
20200725123633745.png

; v! o% M2 A' Y1 j* l" e( W( t/ [4 D  \4 G# T
20200725123723577.png

: ^4 I: {* E# S% X* W
- B; T! f6 B' A8 X  G- k
  P7 p9 X0 @! ~' }7 a  t2 ^1 |) G0 L4 m' ^* G" o4 _

0 Z5 ^1 b6 `# m) u- {. Y3 A! i  j% q  K
总结" V+ Z! s0 j! a' G+ Z9 r+ y) M
STM32G4的Cordic可以加快环路计算
  F! n' e( |+ C8 o, z+ I  t• STM32G4的FMAC做滤波算法可以释放CPU资源+ _: T- z2 E- Q6 v  \! N0 n
• 使用出色的片上运放,比较器即省成本又省板材空间  ?* T; B1 Y. L7 r9 S% i$ w
• 特色外设可以有更多设计想象# [! b* H# F2 `6 d1 d
# l% d& T8 r0 i  H- B8 l) j: ]9 [
' F" c+ n/ P' e7 w' m4 Z

. I  F/ T7 S+ \  ~
收藏 评论0 发布时间:2021-12-8 21:00

举报

0个回答

所属标签

相似分享

官网相关资源

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