
声明:本文为作者原创文章,转载请注明链接。3 H. |5 u9 }6 P" D , Y; `1 U% Y$ M 前言 ; y; Y+ x1 T2 a, k* P STM32H730(以下简称H730)系列是ST于2020年新发布的基于Cortext-M7内核的高性能MCU产品。作为性价比传奇STM32H750(以下简称H750)同一产品线的新品,其最大的特点就是主频由H750的480M提升到了550MHz,并提供了双模Octo-SPI的支持。 2021年1月末,STM32的官方旗舰店放出了少量STM32H730VBT6的样品,早有关注的我立即购买了一颗。由于H730VB的Pinout是和H750VB兼容的,所以暂时焊接到H750的核心板上进行一些简单的测试。 本系列文章预期会有2到3篇的样子,所有的这些文章在撰文时都将以同产品线的H750作为参考。 主角:STM32H730VBT6(可以看到,版本号已经到了Z,生产日期为2020年第21周) ![]() 对比 看H730的命名,我们可能会觉得H730是H750的“低配版”。其实ST官方在宣传的时候也是这么暗示的,甚至H730的售价也比H750要低的多(撰文时,H750VB的10k官方指导价为$3.685,H730VB则为2.828,便宜约23%,当然,有没有货和实际拿到货是多少钱那就是另一个故事了)。但是事实上H730相较于H750并不是简单的减配,下边我们就来详细的看看H730于H750的那些异同点。 ![]() 我们先来看H730相较H750比较重要的缩水部分: 首先,经简单测试,H750的隐藏福利——高达2M的片内Flash似乎已经没了。STLinkUtility完全无法识别H730,而CubeProgrammer虽然能识别出8个128K的Sector,也能读取这些Sector的数据(都是0xFF),但是无法编程。真实情况如何还得进一步研究。当然,严格来说,H750也是128KB的Flash,所以这条其实算不得缩水。* y7 Z3 B& n8 ` ![]() ( k t% K6 Y1 `8 A8 z0 ~9 d( d 其次是内存大小,H730的内存由H750的1M缩水到了564KB,缩水将近一半。当然,虽然此缩水看起来触目惊心,但是由于D1域的AXI-SRAM依然有320K,所以实际使用中可玩性并没有下降太多,就是没H750那么富裕了。此外,RAM这块儿还有一个缩水的地方,那就是H730最高支持的SDRAM位宽由32bit降低到了24bit,虽然对于LTDC这类应用影响不大,但是多少还是会给内存需求较多的场景(如图形库,多媒体解码,机器学习等)带来一定的影响。 ![]() 最后是一些外设:硬件JPEG解码没了(这个是最最令我痛心的了)。少了JPEG解码,这就意味着一些对硬件JPEG优化比较好的图形库(比如TouchGFX)将无法发挥出100%的实力。也没法像H750那样流畅播放高分辨率的MJPEG编码的视频了。虽然高主频会弥补一些,但是始终没有硬件JPEG来得爽快。还有就是内置的Trace Buffer由H750的4KB缩水到了2KB,缩水了一半,暂时还看不出这对调试有什么影响。HRTIM也没了,这点挺奇怪的,H730有对于电机和数字电源控制类应用的针对性增强,而HRTIM显然对这些方面的应用很重要。' A( r$ W5 O; H: K) Z9 S 主要的缩水部分就是这些了。说完了缩水,我们再来谈谈增强的部分。比起缩水,这些增强的部分显然更值得关注一些: 首先,最值得关注的自然是高达550MHz的主频了,这次不像H750刚开始Y版本还是400M,直接一上来就是550MHz拉满。虽说主频不代表一切,但是在MCU这块儿,尤其是M7高性能MCU这块儿,主频对性能的影响还是最关键的因素。(暗搓搓说一句,隔壁NXP都已经1GHz了,ST真的不准备做点什么吗?) ![]() 7 v. c8 A2 B; k4 O- [ 点灯为了配合这么高的主频,H730的L1-Cache也由H750的16K I-Cache+16K D-Cache增加到了32K I-Cache+32K D-Cache,整整翻了一倍。这个容量已经超过市面上大部分MCU的SRAM大小了。从以往的经验来看,L1-Cache的提升会大幅度减少Cache Miss的情况,有效增加热点代码和数据的执行和访问效率。, X9 S: c% S! s( P& H7 \ T 然后就是双模Octo-SPI了。依然支持从外置的Octo-SPI Flash运行代码(XIP)。由于内置的Flash只有128K,所以Octo-SPI的支持可谓是雪中送碳了。配合增强的L1-Cache,ST甚至宣称可以让外部Flash中的代码访问延迟也达到0-wait。此外,混合型Hyper-RAM的支持也为H730的内存扩展提供了另一个较为简单的方法,这对于H730VB这种无法挂接SDRAM的型号而言显得更为重要。还有,考虑到外置代码的安全性问题,H730添加了动态解密技术来保证外部代码的安全。) k+ e/ I6 f9 @8 Z' V [ 最后是一些外设的更新:32bit的Timer增加到了4个(H750是2个)。模拟外设(ADC,DAC,COMP,OPAMP)的性能得到了全面提升(尤其是DAC,增强到了5MSPS,5倍的提升)。增加了一个CORDIC协处理器用来为一些数学计算提供硬件加速(如三角函数),这会使得如电机控制、计量、信号处理和许多其他应用得到增强(所以为啥去掉了HRTIM?)。内置了SMPS。还有就是ST宣传H730的功耗比起H750有了明显的下降(希望H730别像H750那么烫了)。 对于一款MCU,我们到手做的第一件事当然是点灯了。 & V& ]+ F* c. Y" J. T1 Z5 y) n3 \3 X ![]() / ` ? e) B4 B1 S* u7 K 当然只这样点灯没意思,我们来点高级的。 网传测H750的GPIO通过直接操作寄存器进行电平翻转速率大约为16MHz,这也是H750一直被诟病的地方之一。现在,我们来实际做一下实验看看,实验代码为: ![]() 这里的开发环境为CubeIDE,编译器为GCC,开启O3优化,MCU关闭L1-Cache,GPIO-Speed设置为VeryHigh,主频和总线频率均设定为手册上的最大值4 K; v% H+ X/ b) w# y, l 先看H750:实测翻转速率在约20MHz,果然如网上所讲,不是很快。要知道通过外设(如FMC)控制GPIO时,GPIO的翻转频率可以达到133MHz!与这个频率相比,直接控制GPIO寄存器时的翻转速率可以说是龟速。 ![]() / l& A5 M7 @+ w6 W, p" ^3 h3 L 然后是H730:实测翻转速率约23MHz。嗯。。。。好吧,沾了主频提升的光(约15%,与主频的提升基本一致),略有改善。 ! z1 T& |7 N1 s" w9 y ![]() 2 ?( ?7 O+ Z5 C# q5 ]! J 作为对比,我们来看看STM32F730R8(主频216MHz)的翻转速率,108MHz不带含糊的: * }! q: l5 M4 \1 r4 p' f" W ![]() 9 Z# e/ T/ W& t, G+ N" m: e 所以你要说ST没有人为限制这个东西,我是不信的。至于限制原因嘛,我就不知道了。好在这种极端的使用场景并不多,所以影响并不大。但总归是一个小小的遗憾吧。 + W7 ~& ?% q {' T ) V* _# R; [" D1 H 结语 时间所限,对于H730还没有深入进行研究。随后待把玩了之后,我会继续更新关于H730的更多使用体验,请大家关注。受限于本人的技术和能力,文章所讲的内容无法保证100%准确,有不对之处欢迎大家指摘。谢谢大家的围观~ ! X( q& X. C' l0 ?' Z: R |
不太清楚,我感觉要么是故意做的限制,要么跟H7的总线设计有关系。
倒是低一档的G474/484集HRTIM和CORDIC协处理器于一身(莫非ST官方是打算细化H7系列的产品线,或者正在憋一波大的?)