STM32G4学习笔记之DAC+FMAC

1.高性能DAC

G4系列一共有四个DAC,前两个为低速采集DAC(1MHz),后两个为高速(可达15MHz)STM32G4学习笔记之DAC+FMAC_第1张图片STM32G4学习笔记之DAC+FMAC_第2张图片
DAC1,DAC2的采样速率最大为1MHz,DAC3,DAC4的采样速率最大为15MHz。但是没有直接连接的GPIO口。
STM32G4学习笔记之DAC+FMAC_第3张图片
STM32G4学习笔记之DAC+FMAC_第4张图片
STM32G4学习笔记之DAC+FMAC_第5张图片
DAC可以输出任意的高频模拟波形。
此时DAC的更新速度受制于运放带宽的限制,因此最大的速度也就是13M。

2.滤波算法加速器FMAC(硬核FMAC+DMA滤波计算,能解放CPU)

STM32G4学习笔记之DAC+FMAC_第6张图片
使用硬核的滤波,不通过软件程序进行,可以有效的解放CPU,
2.滤波方程
STM32G4学习笔记之DAC+FMAC_第7张图片
3.单乘累加架构
STM32G4学习笔记之DAC+FMAC_第8张图片
FMAC单乘累加架构,是重复利用的。输入有Buffer,输出也有Buffer,通过Buffer加一个乘累加器实现滤波的计算。

Buffer:存储缓冲器,将外设送来的数据暂时存放,以便处理器将它取走。

4.Buffer配置
STM32G4学习笔记之DAC+FMAC_第9张图片

5.存储空间需求(Buffer的空间)-FIR
STM32G4学习笔记之DAC+FMAC_第10张图片
输入空间:N+k
固定参数空间:N
输出空间:k
总的占用空间=2(N+k)应该小于Buffer的空间256
6.硬核与软件的滤波计算比较
硬核处理滤波计算(FMAC+DMA),速度不占优,但是胜在可以解放CPU.
STM32G4学习笔记之DAC+FMAC_第11张图片
7.工作流控制
STM32G4学习笔记之DAC+FMAC_第12张图片
STM32G4学习笔记之DAC+FMAC_第13张图片
STM32G4学习笔记之DAC+FMAC_第14张图片
9.FMAC应用举例STM32G4学习笔记之DAC+FMAC_第15张图片
STM32G4学习笔记之DAC+FMAC_第16张图片
STM32G4学习笔记之DAC+FMAC_第17张图片
STM32G4学习笔记之DAC+FMAC_第18张图片
STM32G4学习笔记之DAC+FMAC_第19张图片
代码:
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)
STM32G4学习笔记之DAC+FMAC_第20张图片
STM32G4学习笔记之DAC+FMAC_第21张图片
STM32G4学习笔记之DAC+FMAC_第22张图片
STM32G4学习笔记之DAC+FMAC_第23张图片
STM32G4学习笔记之DAC+FMAC_第24张图片

总结

STM32G4的Cordic可以加快环路计算
• STM32G4的FMAC做滤波算法可以释放CPU资源
• 使用出色的片上运放,比较器即省成本又省板材空间
• 特色外设可以有更多设计想象
总结

源文件PPT及视频地址:
[https://c.51diantang.com/coursedetail?id=16008798439247bd8c3d1555e59d6d03]

你可能感兴趣的:(STM32G4学习记录)