1.高性能DAC0 W/ v1 p) h6 ~' Q/ N) o! r6 }2 B G4系列一共有四个DAC,前两个为低速采集DAC(1MHz),后两个为高速(可达15MHz) ; Q# t1 T, B: @: l: i $ ]8 K" b8 s- L- n DAC1,DAC2的采样速率最大为1MHz,DAC3,DAC4的采样速率最大为15MHz。但是没有直接连接的GPIO口。 l. a, a# o+ f; }: W, Y1 h ) p) \1 y; I* Z- H: d, g 9 b& O/ [; \! l. p4 ^2 G DAC可以输出任意的高频模拟波形。1 S+ ~) ~/ `. x' `% E! x 此时DAC的更新速度受制于运放带宽的限制,因此最大的速度也就是13M。4 \: A( G2 [4 T! e, K 2.滤波算法加速器FMAC(硬核FMAC+DMA滤波计算,能解放CPU) 9 M3 \! Z4 k7 ?% m6 a 使用硬核的滤波,不通过软件程序进行,可以有效的解放CPU,0 d6 I9 V4 t4 m/ r% e 2.滤波方程: V' `5 ^6 p) d+ A% E: G* K1 Z 2 T2 H, V/ Q% D3 D( _$ _ 3.单乘累加架构 ( k6 _$ h+ k: c7 L& e# O FMAC单乘累加架构,是重复利用的。输入有Buffer,输出也有Buffer,通过Buffer加一个乘累加器实现滤波的计算。 Buffer:存储缓冲器,将外设送来的数据暂时存放,以便处理器将它取走。 4.Buffer配置9 f* \+ x* A1 t- @1 u 4 n& a, d' z/ q& f/ d 5.存储空间需求(Buffer的空间)-FIR ) I7 Y- J+ @! G d+ j- `, A1 b 输入空间:N+k 固定参数空间:N! [. O `) Q( {3 u+ T9 Q+ g 输出空间:k! @& V4 B0 b+ x% Y4 p; B( ] 总的占用空间=2(N+k)应该小于Buffer的空间2567 K$ W% N7 h. O' y% u# S; T$ P 6.硬核与软件的滤波计算比较 硬核处理滤波计算(FMAC+DMA),速度不占优,但是胜在可以解放CPU. 7 e( d' `+ i+ e- e& Y" E 7.工作流控制; }) D9 C j) g/ W2 g ' d) ?$ F5 p0 p( ` 1 t# Z4 L: u! l6 R 9.FMAC应用举例 # m$ y: P' V# E1 s 2 U3 k9 R8 D7 G- t. X* b 代码:
+ c8 ~: W) p/ W' k, h# i $ L5 O8 p1 s+ t1 @- r ( Y8 R0 H+ ~7 J. F k/ l 6 T7 S, }# t: R$ [! o + Q9 }! A4 M6 |4 G0 T1 q$ M $ W" E1 G9 h+ R 总结) @" i" k+ m$ k6 l( Q STM32G4的Cordic可以加快环路计算9 N( H5 U# K7 g/ |0 B; a. b& [( \ • STM32G4的FMAC做滤波算法可以释放CPU资源; m! N6 c! @+ z9 C • 使用出色的片上运放,比较器即省成本又省板材空间! u4 H, z7 M) l- u& O( c: _ • 特色外设可以有更多设计想象 |
STM32G系列RS485自动收发控制以及自适应波特率实战
【学习指南】基于STM32G474VET6 开发板实验经验分享(三)
【学习指南】基于STM32G474VET6 开发板实验经验分享(二)
【学习指南】基于STM32G474VET6 开发板基础实验经验分享一
【学习指南】基于STM32G474软件平台安装与使用教程
【学习指南】基于STM32G474VET6 开发板硬件资源解析
STM32 Explore | 基于STM32G474的STM32Cube生态系统线下培训
STM32固件库分享,超全系列整理
STM32G47x 双 Bank 模式下在线升级
基于STM32G473ZET6开发板设计经验分享