1.高性能DACG4系列一共有四个DAC,前两个为低速采集DAC(1MHz),后两个为高速(可达15MHz)DAC1,DAC2的采样速率最大为1MHz,DAC3,DAC4的采样速率最大为15MHz。但是没有直接连接的GPIO口。DAC可以输出任意的高频模拟波形。此时DAC的更新速度受制于运放带宽的限制,因此最大的速度也就是13M。2.滤波算法加速器FMAC(硬核FMAC+DMA滤波计算,能解放CPU)使用硬核的滤波,不通过软件程序进行,可以有效的解放CPU,2.滤波方程3.单乘累加架构FMAC单乘累加架构,是重复利用的。输入有Buffer,输出也有Buffer,通过Buffer加一个乘累加器实现滤波的计算。Buffer:存储缓冲器,将外设送来的数据暂时存放,以便处理器将它取走。4.Buffer配置5.存储空间需求(Buffer的空间)-FIR输入空间:N+k固定参数空间:N输出空间:k总的占用空间=2(N+k)应该小于Buffer的空间2566.硬核与软件的滤波计算比较硬核处理滤波计算(FMAC+DMA),速度不占优,但是胜在可以解放CPU.7.工作流控制9.FMAC应用举例代码:- 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的Cordic可以加快环路计算• STM32G4的FMAC做滤波算法可以释放CPU资源• 使用出色的片上运放,比较器即省成本又省板材空间• 特色外设可以有更多设计想象 |