STM32G4微控制器系列是史上第一款包含五个模数转换器、七个数模转换器、六个运算放大器和七个比较器的产品,同时还集成了USB-C供电控制器,184 皮秒的高分辨率定时器,具有灵活数据速率的CAN接口以及可加速某些三角函数的数学单元。
在计算吞吐量方面,STM32G4与STM32F4的算力接近。STM32G4作为“混合信号”微控制器领域的新秀,可为数字和模拟应用提供新颖和优化的功能。其Cortex-M4 内核主频达到170 MHz,DMIPS 为213 ,CoreMark跑分高达550分;产品架构上有很多优化改进,以提升设计开发过程中的便捷性和开发能力。
STM32G4的创新
新型数学加速器
STM32G4是第一款具有两个数学加速器的STM32,一个用于三角计算(坐标旋转数字计算器或CORDIC),另一个用于数字滤波功能(滤波数学加速器或FMAC)。CORDIC 加速器为三角函数提供硬件加速,这些三角函数通常出现在电机控制、计量、信号处理及其他应用中。另一方面,FMAC支持在信号处理中实现两个主要的初级滤波器:有限脉冲响应(FIR)和无限脉冲响应(IIR)数字滤波器。
▲ STM32G474E-EVAL板
一个高分辨率计时器和
三个高级电机控制计时器
▲ NUCLEO-G474RE板
双存储区闪存和安全的存储区
STM32G4的优化
CCM-SRAM 例行增强器
STM32G4还借鉴了其他STM32产品的诸多创新。与STM32F3一样,开发人员可以将一些可用的SRAM用作核心耦合存储器(CCM),ST将这项技术称为“例程增强器”,程序员可以将一段代码放入内核的SRAM中,以加快关键例程的执行速度并保持其确定性。STM32G4可使用其指令总线来调用代码,同时用数据总线来检索信息,代码可以在可用的最高时钟频率下运行,并等待状态为零,从而达到优化性能的效果。开发人员将CCM-SRAM用于实时或计算密集型应用程序,可以避免例程和数据必须共享同一总线时发生的瓶颈。
开发者从CCM-SRAM中受益是非常直接的,只需要为CCM-SRAM定义内存地址区域,并使用特殊的属性标记代码段即可告诉编译器将其移至耦合的核心内存。接下来,程序员在启动时通过修改启动文件将代码加载到CCM-SRAM中,如有必要,将初始化变量复制到主函数中,然后调用有问题的代码。因此,仅需几行代码就可以显著优化应用程序。
众多外围设备和优化