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

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

[复制链接]
STMCU小助手 发布时间:2021-12-8 21:00
1.高性能DAC" N5 p* N+ e) c; p6 ~, ~
G4系列一共有四个DAC,前两个为低速采集DAC(1MHz),后两个为高速(可达15MHz)
4 O$ l4 s& l% l! {& P+ _+ I* W2 e) k% a
20200724174034276.png
) s& x  ~3 |; A" _
4 y& t0 T5 m, T3 N
20200724174706457.png
- k5 m6 ?0 T7 [7 b) _

& ]; E6 M. ~4 ^8 m9 y" k$ y2 VDAC1,DAC2的采样速率最大为1MHz,DAC3,DAC4的采样速率最大为15MHz。但是没有直接连接的GPIO口。9 p! S$ u7 K% n6 N7 \
- _1 w; s+ p# C
20200725100546822.png
. L, c6 N  U. f7 B0 o1 T6 d6 o
0 _6 C/ T0 B5 `% H3 b3 F  e% w+ @8 h
20200725102032195.png
3 J( ]8 H$ t: f8 u' C5 c

& y8 j8 h& s9 Z& B5 [3 ^: r( S( z
20200725102059872.png
+ R0 v! X: X0 I
% e+ E# Z, h; n  F2 |
DAC可以输出任意的高频模拟波形。
$ }9 m  A* ^5 q2 O" F- Q+ Z- t此时DAC的更新速度受制于运放带宽的限制,因此最大的速度也就是13M。
- _+ v4 k% l' X+ T; d/ r# B6 Y# D$ P+ X) T. o, S# B
2.滤波算法加速器FMAC(硬核FMAC+DMA滤波计算,能解放CPU)
6 B0 `  o& q& X+ V/ }* ]4 r# l$ Y8 Q! `  ]8 ^" @* u* i1 p; |7 {9 C+ l0 b, R1 V
20200725104311843.png
8 {! l/ ^# w& |2 U

! X4 C4 e+ M; V2 `. v% S  m% B6 k; l0 T, S/ P3 y' E
使用硬核的滤波,不通过软件程序进行,可以有效的解放CPU,3 l# g2 |9 c5 B' q$ C) K* f7 D
2.滤波方程
* `/ K8 T- I9 s
' |* e5 X: f* a3 u1 _  c
20200725104541862.png
  F# K5 I; w$ h, P% P) Y
# x" Y# _3 A% F0 `- c1 |( a; N
3.单乘累加架构- d1 M- O6 _: E4 b
+ c# u; v3 D5 z2 p/ b
20200725105056369.png

  F% T  d+ Y; O' d/ {9 U  i" ^  O/ @0 T6 l4 V' F
FMAC单乘累加架构,是重复利用的。输入有Buffer,输出也有Buffer,通过Buffer加一个乘累加器实现滤波的计算。
  e% s& S# G/ f6 O8 D. @2 I
* T5 A/ [* \! Z5 G1 fBuffer:存储缓冲器,将外设送来的数据暂时存放,以便处理器将它取走。
# ^7 \" n+ R2 E" l* b& `  G4 g0 R2 {1 `% ~
4.Buffer配置4 V$ j4 [- a  O5 K

0 t! b2 J' B1 ]& F' x2 p* l- o/ O
20200725105214582.png

# l( S3 p5 M# {
# C% Q, }3 I' `6 F% b5.存储空间需求(Buffer的空间)-FIR1 S$ X8 b/ w, _5 y
3 Z/ w. S# M1 B7 _( \+ V9 G# X
20200725113904393.png
: d. J( j! G  w, l" x7 H$ g

: ~1 P! k( Z& Y  @输入空间:N+k# c, Z( |7 C$ ~; s" ?
固定参数空间:N
$ q8 I. f. N, d5 V; p: w1 {; Z输出空间:k9 Q6 g! ?: x( E# X3 [9 X/ a5 u
总的占用空间=2(N+k)应该小于Buffer的空间256# b9 m. O4 G6 g: F/ M/ V  @
6.硬核与软件的滤波计算比较# w6 f1 Z. D8 C& V
硬核处理滤波计算(FMAC+DMA),速度不占优,但是胜在可以解放CPU.; B% n4 ]# h1 k8 V) H/ c

- {  L2 F8 }: }4 ^/ y5 F, w( X
20200725114947242.png

# A- j# C# |" N# R! Z+ ?! {1 B) l
* k. |1 _/ ~% D4 V. c7.工作流控制! I, ^- O6 D6 p) z( }5 ~) b7 ^+ }2 I
- o9 p* L' F8 ]( K4 d
20200725122307469.png

$ s, Y$ I$ B# {: C$ f
( @# g& `# R3 L
20200725122346451.png
9 M: c" h/ j0 R! h* I3 Z" _# H( ]
+ d, {4 p% f' |& a+ z9 f
' i$ Q7 Y: X9 I( J& q
20200725122657175.png
; q* ]7 O+ t% z1 B/ n* d

7 H, C' [* c' Z; d  k, _9.FMAC应用举例
( u+ T' I& t# o" O4 @, T4 H1 O2 ^5 J4 P9 e) @
20200725122916185.png

  f: m- L. e" e! k- Y9 m% x2 b
$ }; M# r/ V& A3 Q2 P" e
20200725123036873.png

! A: t6 M/ ]& ]: w6 O5 d8 `6 ]" [& T9 ?+ H
2020072512310251.png
! l5 j$ `( h# N, E" G. {% J+ Q

* H& W; m3 B# d
20200725123123685.png

' f4 i' W3 s* r9 g  J2 \
3 |$ A3 ^0 u$ p' M
2020072512314**.png
% ]& A' m/ t: L8 g
0 B. i7 Q( Y% l# [5 w' f
1 c0 k+ M* A' b$ i, Q7 g! U5 j
代码:* Y, w) i7 j( F) M
  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)
复制代码
8 W( u# G7 {4 k# Z4 y4 B
20200725123456384.png
. Y2 K( p+ s2 ]2 v

, L: J( T" Y7 o- P& e
20200725123522134.png
/ q# ]4 E; D( q6 ^4 ?# L
( W4 p, |# ?  s$ E" D
20200725123544835.png
+ H5 `- W+ t; A0 R
/ s2 |* F& V4 D' {
20200725123633745.png

9 V  e$ a9 [% M$ L3 f; U8 o' S+ ~) T
- L8 G( P5 w  s  ~; ~6 }
20200725123723577.png

/ R5 h- ~/ {& P) X( ~0 p1 z* Z2 ^( ^3 @; E
- N, l8 L, V) j3 W* M

  ]* O1 B* T4 ]& M
% l+ p4 H" B% ~, r, ]
, I9 a9 \: |: E" v( m6 G. P; E7 x! Y总结
$ c6 m7 Z8 V6 XSTM32G4的Cordic可以加快环路计算# n$ t$ c) A- }+ s
• STM32G4的FMAC做滤波算法可以释放CPU资源
) o% E# e" Y! M- X, V( f7 g9 a• 使用出色的片上运放,比较器即省成本又省板材空间  h1 @: w! f! B  M) k" T
• 特色外设可以有更多设计想象' k2 a5 ]% U& q

# I+ y/ V8 R8 I1 Z, a# I* Y+ D( m4 P; v, a7 x8 }2 w

8 W' k; N& J1 N  e
收藏 评论0 发布时间:2021-12-8 21:00

举报

0个回答

所属标签

相似分享

官网相关资源

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