看一颗新 MCU 发布,大多数时候我先看两行:内核换了没有,主频涨了多少。ST 这次发 G5,内核从 M4 换成了 M33,主频从 170MHz 拉到 280MHz,CoreMark 从 569 跑到 1136。发布会上的说法是性能翻倍,数字摆在那儿,看着挺直接。
翻倍这个词,得先问清楚它测的是什么。CoreMark 测的是处理器核心跑一串标准代码的速度,569 到 1136,确实差了一倍。DMIPS 也一样,213 到 420,也是一倍。可这两个数测的都是核心本身,不测 ADC 采得多快,不测 PWM 能切多细,也不测中断进来要等多久。一颗 MCU 干活的速度,核心只是其中一环。它翻的是核心算分,整条环路的速度不跟着翻。
CoreMark 与 DMIPS:G4 对 G5,跑分翻倍测的是核心本身
环路里卡时间的,往往不是 CPU
控制环路里真正卡时间的东西,大多数时候不是 CPU。一个 FOC 环路跑一圈,先是 ADC 采样,再是观测器和电流环算一遍,然后 PWM 更新占空比。采样和 PWM 更新的节拍是功率级和定时器定的,CPU 在中间只占一段。G4 的 170MHz 跑一个常规 FOC 环路,本来就有余量,换到 280MHz,省下来的只是中间那段计算时间,环路周期该是多少还是多少。
一个 FOC 环路跑一圈:ADC 采样、观测器/电流环计算、PWM 更新占空比
环路里塞的东西多,计算就占大头。电流环后面再挂速度环、位置环,或者观测器算得复杂,M4 跑着吃力,M33 的 280MHz 就有用了。
一颗芯片干两件活儿,计算也占大头。电机控制之外再跑通信、跑一段上位机协议,或者数字电源里开关频率往上走,控制算法本身变重。G5 这次主推的两个场景就是这两类:机器人关节要多轴同步,一只机械手就能有 20 个电机;AI 服务器的数字电源要高频开关,环路算得密。这些地方,核心快一倍是真能感觉到的。
M33 多出来的东西
M33 这个核本身也多出来几样东西。M4 没有硬件隔离,M33 带 TrustZone,安全代码和密钥可以单独放在一个区里,普通代码碰不到。对一颗只跑电机、不联网的芯片,这功能基本用不上;对要联网、要过认证的工业产品,它省的是外挂安全芯片的钱和板子面积。还有 I/D 缓存和带 ECC 的 SRAM,跑大段代码不容易掉速,长时间运行不容易被偶发错误打断。这些都是"跑起来更稳"的东西,不是"跑得更快"的东西。
外设那头也有变化
外设那头也有两处跟核心沾边的变化。高分辨率定时器从 184 皮秒做到 111 皮秒,开关频率往上走,占空比还能切得更细;ADC 从 4MSPS 提到 5MSPS,采样能跟上更快的环路。这两处都是给高频数字电源准备的,普通电机控制用不太上。双区 Flash 是另一个实在的变化:升级固件不用停机,新程序写进另一个区,确认没问题再切过去,工业现场升级不用停产。
高分辨率定时器:G4 184ps,G5 111ps
这么摊开,值不值得换就剩一个问题:你的环路吃不吃算力。G4 上跑 FOC,环路周期还有余量,换 G5 省下来的时间也是闲着,换了等于没换。环路里东西越塞越多,或者一颗芯片要同时扛控制和通信,G4 跑着开始紧了,G5 的 280MHz 才有意义。双核版要到明年才出,现在这批都是单核,等双核还是先拿单核,也看你手里的活儿急不急。
换核这件事,值不值不看发布会上的两倍,看你的环路吃不吃算力。吃,就换;不吃,G4 接着用。
103
