你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

550MHz!STM32H730入坑体验(一)

[复制链接]
醉三秋 发布时间:2021-2-12 23:29
声明:本文为作者原创文章,转载请注明链接。
9 n0 C& J3 x  H$ E9 i* E5 t# q7 ^, \7 u- b% C
前言
4 ~) \, T# E( T2 d& L
STM32H730(以下简称H730)系列是ST于2020年新发布的基于Cortext-M7内核的高性能MCU产品。作为性价比传奇STM32H750(以下简称H750)同一产品线的新品,其最大的特点就是主频由H750的480M提升到了550MHz,并提供了双模Octo-SPI的支持。
8 k- t1 d8 a. d* ?4 F) I( ~' u2021年1月末,STM32的官方旗舰店放出了少量STM32H730VBT6的样品,早有关注的我立即购买了一颗。由于H730VB的Pinout是和H750VB兼容的,所以暂时焊接到H750的核心板上进行一些简单的测试。$ k9 d  r1 G( h& J( v: Z
本系列文章预期会有2到3篇的样子,所有的这些文章在撰文时都将以同产品线的H750作为参考。
2 }6 ?; X7 W1 C* ?( J9 f7 y5 R主角:STM32H730VBT6(可以看到,版本号已经到了Z,生产日期为2020年第21周)
8 X  f* p9 S$ g0 O
对比
看H730的命名,我们可能会觉得H730是H750的“低配版”。其实ST官方在宣传的时候也是这么暗示的,甚至H730的售价也比H750要低的多(撰文时,H750VB的10k官方指导价为$3.685,H730VB则为2.828,便宜约23%,当然,有没有货和实际拿到货是多少钱那就是另一个故事了)。但是事实上H730相较于H750并不是简单的减配,下边我们就来详细的看看H730于H750的那些异同点。0 N9 d& W4 X. ^( J( ^5 v5 [
image-20210127233919845.png

! F4 D% F6 X0 }/ _/ Q+ t9 Y9 h
我们先来看H730相较H750比较重要的缩水部分:
+ j' c9 C2 O2 R  C2 [% M首先,经简单测试,H750的隐藏福利——高达2M的片内Flash似乎已经没了。STLinkUtility完全无法识别H730,而CubeProgrammer虽然能识别出8个128K的Sector,也能读取这些Sector的数据(都是0xFF),但是无法编程。真实情况如何还得进一步研究。当然,严格来说,H750也是128KB的Flash,所以这条其实算不得缩水。& n  L4 g) g+ O
# ?  X+ h/ W, t0 o
image-20210127234545648.png
  e4 G* @9 b# i1 b: A/ }  }; x

4 R6 ?0 Z4 R# P" W' Q$ _4 W! V9 C+ V其次是内存大小,H730的内存由H750的1M缩水到了564KB,缩水将近一半。当然,虽然此缩水看起来触目惊心,但是由于D1域的AXI-SRAM依然有320K,所以实际使用中可玩性并没有下降太多,就是没H750那么富裕了。此外,RAM这块儿还有一个缩水的地方,那就是H730最高支持的SDRAM位宽由32bit降低到了24bit,虽然对于LTDC这类应用影响不大,但是多少还是会给内存需求较多的场景(如图形库,多媒体解码,机器学习等)带来一定的影响。
5 J( \- B  z+ k3 H# ~! G/ d
image-20210127235657573.png

* ]$ P1 X2 T/ a7 z- p
最后是一些外设:硬件JPEG解码没了(这个是最最令我痛心的了)。少了JPEG解码,这就意味着一些对硬件JPEG优化比较好的图形库(比如TouchGFX)将无法发挥出100%的实力。也没法像H750那样流畅播放高分辨率的MJPEG编码的视频了。虽然高主频会弥补一些,但是始终没有硬件JPEG来得爽快。还有就是内置的Trace Buffer由H750的4KB缩水到了2KB,缩水了一半,暂时还看不出这对调试有什么影响。HRTIM也没了,这点挺奇怪的,H730有对于电机和数字电源控制类应用的针对性增强,而HRTIM显然对这些方面的应用很重要。& l1 ~: D# R% ]( {% q; T. g
主要的缩水部分就是这些了。说完了缩水,我们再来谈谈增强的部分。比起缩水,这些增强的部分显然更值得关注一些:+ u4 k2 E, @$ I; _$ `
首先,最值得关注的自然是高达550MHz的主频了,这次不像H750刚开始Y版本还是400M,直接一上来就是550MHz拉满。虽说主频不代表一切,但是在MCU这块儿,尤其是M7高性能MCU这块儿,主频对性能的影响还是最关键的因素。(暗搓搓说一句,隔壁NXP都已经1GHz了,ST真的不准备做点什么吗?)
8 a& [- T, i$ ~
image-20210128003700288.png

9 r! q5 F, a5 k' B$ Q为了配合这么高的主频,H730的L1-Cache也由H750的16K I-Cache+16K D-Cache增加到了32K I-Cache+32K D-Cache,整整翻了一倍。这个容量已经超过市面上大部分MCU的SRAM大小了。从以往的经验来看,L1-Cache的提升会大幅度减少Cache Miss的情况,有效增加热点代码和数据的执行和访问效率。' M* L: G$ K( j2 J  }) Y! T
然后就是双模Octo-SPI了。依然支持从外置的Octo-SPI Flash运行代码(XIP)。由于内置的Flash只有128K,所以Octo-SPI的支持可谓是雪中送碳了。配合增强的L1-Cache,ST甚至宣称可以让外部Flash中的代码访问延迟也达到0-wait。此外,混合型Hyper-RAM的支持也为H730的内存扩展提供了另一个较为简单的方法,这对于H730VB这种无法挂接SDRAM的型号而言显得更为重要。还有,考虑到外置代码的安全性问题,H730添加了动态解密技术来保证外部代码的安全。' d$ N  I! M, h3 [; [
最后是一些外设的更新:32bit的Timer增加到了4个(H750是2个)。模拟外设(ADC,DAC,COMP,OPAMP)的性能得到了全面提升(尤其是DAC,增强到了5MSPS,5倍的提升)。增加了一个CORDIC协处理器用来为一些数学计算提供硬件加速(如三角函数),这会使得如电机控制、计量、信号处理和许多其他应用得到增强(所以为啥去掉了HRTIM?)。内置了SMPS。还有就是ST宣传H730的功耗比起H750有了明显的下降(希望H730别像H750那么烫了)。
点灯
对于一款MCU,我们到手做的第一件事当然是点灯了。

% }$ u, u) J: S, I3 J$ v1 o8 k) W
Video_2021-01-28_011538.gif # `3 Z' c2 p1 ?  j* E* X

( f6 e! ]4 B; M
当然只这样点灯没意思,我们来点高级的。

. D- N& e& r$ B6 O3 t! u
网传测H750的GPIO通过直接操作寄存器进行电平翻转速率大约为16MHz,这也是H750一直被诟病的地方之一。现在,我们来实际做一下实验看看,实验代码为:
$ U! @, @' Q- n. ~) G& i/ k8 G
image-20210128012351400.png

% l( o2 p1 M8 m- A
这里的开发环境为CubeIDE,编译器为GCC,开启O3优化,MCU关闭L1-Cache,GPIO-Speed设置为VeryHigh,主频和总线频率均设定为手册上的最大值
! x, I4 [5 `: U6 e4 o先看H750:实测翻转速率在约20MHz,果然如网上所讲,不是很快。要知道通过外设(如FMC)控制GPIO时,GPIO的翻转频率可以达到133MHz!与这个频率相比,直接控制GPIO寄存器时的翻转速率可以说是龟速。

9 I, }( U4 d/ Z: A! e+ f
image-20210128012611480.png
4 j7 C: q, S* p4 e: T( P
5 [9 M3 x$ Q  x. d) O4 h( h然后是H730:实测翻转速率约23MHz。嗯。。。。好吧,沾了主频提升的光(约15%,与主频的提升基本一致),略有改善。
; y8 R+ m# R- y( p: \- ?
- |' f: x0 m" T2 L9 o( x
image-20210128012706471.png
; k, G6 @0 p: c& w+ H$ X% }
* N9 X( F+ `3 B  N- w
作为对比,我们来看看STM32F730R8(主频216MHz)的翻转速率,108MHz不带含糊的:
4 |; ^+ K6 N: k( ~
image-20210128014218815.png ; @, ^1 G4 ]% F% E/ g
" f# S; G# N) e8 R. B
所以你要说ST没有人为限制这个东西,我是不信的。至于限制原因嘛,我就不知道了。好在这种极端的使用场景并不多,所以影响并不大。但总归是一个小小的遗憾吧。

: ^$ H0 z9 J$ o3 [; @. ^

2 T) t# O. x9 p$ y/ Q+ P: V$ F3 m+ ~7 s7 A1 P* Q
结语
时间所限,对于H730还没有深入进行研究。随后待把玩了之后,我会继续更新关于H730的更多使用体验,请大家关注。受限于本人的技术和能力,文章所讲的内容无法保证100%准确,有不对之处欢迎大家指摘。谢谢大家的围观~
5 ~0 C9 n  v/ B& W; }* A* R
收藏 2 评论3 发布时间:2021-2-12 23:29

举报

3个回答
pythonworld 回答时间:2021-2-17 14:43:04
感谢分享。IO翻转速度是否和生产工艺或芯片的设计有关?
醉三秋 回答时间:2021-2-25 16:19:47
pythonworld 发表于 2021-2-17 14:43
) I7 l1 U8 ~- C% h; k感谢分享。IO翻转速度是否和生产工艺或芯片的设计有关?

8 H9 I! d: A! S+ `  F* M" _- R不太清楚,我感觉要么是故意做的限制,要么跟H7的总线设计有关系。
KD25T 回答时间:2024-3-7 17:25:54

倒是低一档的G474/484集HRTIM和CORDIC协处理器于一身(莫非ST官方是打算细化H7系列的产品线,或者正在憋一波大的?)

所属标签

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版