请选择 进入手机版 | 继续访问电脑版

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

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

[复制链接]
STMCU小助手 发布时间:2021-12-8 21:00
1.高性能DAC+ V. N3 W) _/ E8 V
G4系列一共有四个DAC,前两个为低速采集DAC(1MHz),后两个为高速(可达15MHz)# l! \, S5 s& m
/ @) n$ E8 R* {7 q' `3 R  r
20200724174034276.png

; k  x: V6 V1 \6 R
9 T" o) M& Q; b! ?$ j' ]; r
20200724174706457.png

+ [3 a, z' g# |9 G6 V! D: v( I5 Z" ~3 f+ r& r/ b; ]. j" I$ B5 v# g# N6 A
DAC1,DAC2的采样速率最大为1MHz,DAC3,DAC4的采样速率最大为15MHz。但是没有直接连接的GPIO口。; E* {. N) R6 x8 W
" }. k! I, u% P+ v" I
20200725100546822.png

* Z& }) ^' z& J3 C' l
: m' }+ S% i- m
20200725102032195.png

+ F/ ~+ e, N# o+ `9 j9 \2 ^0 p. x/ i3 [/ C! H
20200725102059872.png

4 T8 j5 r9 P6 l! D% p
! {- B3 S+ K9 p- T1 TDAC可以输出任意的高频模拟波形。
1 r3 `9 Y/ Y* T* M) }此时DAC的更新速度受制于运放带宽的限制,因此最大的速度也就是13M。' t& G6 z/ }( t; p; \

- E7 a& a% M+ h% D, [2.滤波算法加速器FMAC(硬核FMAC+DMA滤波计算,能解放CPU)
- d0 U# L$ T& _/ J/ w6 b. j( V% S6 [
20200725104311843.png
" z* k; d3 Z+ ]4 M# N

$ K4 q/ g! l6 h+ Y: `( R' S) @
, N6 y5 }6 x+ v, D使用硬核的滤波,不通过软件程序进行,可以有效的解放CPU,
: n3 v# H9 t3 Q, k2 e2.滤波方程
7 P. k5 C5 @" f+ m
# o1 H8 ]! n! q2 M: Z: [
20200725104541862.png
% y/ d0 B# z) f7 L$ R2 Q

, T: ~/ u/ i& J* i3.单乘累加架构4 y6 H. |, X# Y

' H# W4 j8 C6 h- ?; z, w
20200725105056369.png

" o& T8 N, Y2 ?* i% {
( F( w2 j! l/ {$ M1 HFMAC单乘累加架构,是重复利用的。输入有Buffer,输出也有Buffer,通过Buffer加一个乘累加器实现滤波的计算。* o6 B0 e- d5 o( J$ K5 A1 _

- ^3 }9 M4 e( F; A1 G% |8 a, ?Buffer:存储缓冲器,将外设送来的数据暂时存放,以便处理器将它取走。
' }' p" t) |; c: M/ j+ i3 w8 Z' b1 A: f1 x# e  u
4.Buffer配置1 z' \$ r/ S; r0 ^4 |3 c3 q4 ~

9 X' L7 A0 L9 D
20200725105214582.png
- H4 |7 e) `% H; p8 [4 u
$ J3 i9 n9 N" g6 H! T# u/ U
5.存储空间需求(Buffer的空间)-FIR8 D. z) C6 \/ E+ Z. o4 w) F. R9 z& J+ a

) |( o0 `0 g+ G- ~2 K) C& n/ Q
20200725113904393.png

0 v7 i, _( [" l8 k% M* {
+ N4 R8 F" O& }- A# e" m输入空间:N+k
' ?* q4 r3 y  \4 T; {& x' C固定参数空间:N
( t( Y3 P* V% q! H, x! ^6 x! C输出空间:k
' u, @& B; ]8 ^7 e! X% H总的占用空间=2(N+k)应该小于Buffer的空间256
3 r4 J2 ~: d. E0 _. ]$ `1 B/ k2 C6.硬核与软件的滤波计算比较; f7 c* [9 n% d% a2 U; x' d6 R% E
硬核处理滤波计算(FMAC+DMA),速度不占优,但是胜在可以解放CPU.
$ ?9 Q1 J+ F) `& l: h# b9 f5 Y0 p9 k
20200725114947242.png
5 U3 `9 `& R4 G. `2 T5 `; Z  G
! g: v/ P2 k! l( v
7.工作流控制3 \2 \% s4 M1 @/ d" c  [
+ I2 T  Z+ W5 Q. t( T
20200725122307469.png

- w" }! V2 B& s5 a8 M( Q  r" E- O: n3 R, \
20200725122346451.png
" d4 V7 y# m, X% y" [9 V

, ~1 L/ D& a( `( _! o; ?
- i: F8 |* E2 O2 D* G, w- b
20200725122657175.png

. j; r* b6 k% e8 U; O" j- U8 O0 C
* Q2 B+ r8 k) R! h1 U& @7 r9.FMAC应用举例
# l- L* S8 x3 u) G
$ r$ @- D# E0 Y3 `; J
20200725122916185.png

9 N. S! J. H+ a/ v: X2 `% t9 X0 ~% P
" E7 J. L* K3 Y2 _( \  b9 l
20200725123036873.png

/ k  I& l7 r+ o6 L/ _
0 A: ]5 g5 c3 d0 Z
2020072512310251.png
  g8 ?& \4 Y; O

! P! p1 r, d: V( }8 |
20200725123123685.png

- v. [% b5 t( U) `6 G, A8 d2 J' U% ]$ z" I
2020072512314**.png
/ M" b3 V- V4 g: u8 O+ O6 U  M  W: f

( l4 p8 c+ A# }# M, H% W% ?, R9 Q4 p' M1 `
代码:; J9 U. w% M8 [' q" 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)
复制代码

& ~% E. B4 q1 d5 m1 j. m& N
20200725123456384.png
: [2 f* v' |/ S7 @
7 e2 [1 U+ c, \  G0 L: Y
20200725123522134.png

+ T3 f9 ]6 F. Z9 O0 C* [: U! U* H/ \- F: |% R
20200725123544835.png

' m: b0 |% ]7 U
% y' n% g% ]9 O* @' |3 d2 w  c
20200725123633745.png
( b$ d9 S- I6 t, g
2 \4 f4 E& _" d: A! O# O
20200725123723577.png
/ C% S" T8 s, t% I$ n
* b$ [' g; ?5 S/ x: p
; ?; K6 d; e- J7 H2 O4 x

4 x) O: U; \. a0 e6 k; ?/ f
; W& S  J& m5 _6 s$ r9 u9 b7 p- }" A) x9 r
总结
8 O2 ]- R! h# o! Z  \7 @$ mSTM32G4的Cordic可以加快环路计算3 p5 r! d0 w# v2 ?, }6 p
• STM32G4的FMAC做滤波算法可以释放CPU资源
" k4 |. ?" R/ h+ k5 m# v• 使用出色的片上运放,比较器即省成本又省板材空间
! O$ \) N6 R/ O! K7 w; Q• 特色外设可以有更多设计想象
4 w8 A% G, u5 _( w3 g! o( B0 J  {, M4 x0 K% `' `8 n4 l
" x# j4 f* {# K. d* n
9 U+ K& [. I/ }, k4 o
收藏 评论0 发布时间:2021-12-8 21:00

举报

0个回答
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版