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

550MHz!STM32H730入坑体验(一)

[复制链接]
醉三秋 发布时间:2021-2-12 23:29
声明:本文为作者原创文章,转载请注明链接。' d% m  L! G9 T& L7 `9 V- A
, I0 Q5 I* V3 r, e2 v2 V& g9 d
前言
( S& @3 y$ a' r- ~5 f5 H
STM32H730(以下简称H730)系列是ST于2020年新发布的基于Cortext-M7内核的高性能MCU产品。作为性价比传奇STM32H750(以下简称H750)同一产品线的新品,其最大的特点就是主频由H750的480M提升到了550MHz,并提供了双模Octo-SPI的支持。
3 o: W; k' f/ J2021年1月末,STM32的官方旗舰店放出了少量STM32H730VBT6的样品,早有关注的我立即购买了一颗。由于H730VB的Pinout是和H750VB兼容的,所以暂时焊接到H750的核心板上进行一些简单的测试。% F6 n& P, Z& J( \; W, `
本系列文章预期会有2到3篇的样子,所有的这些文章在撰文时都将以同产品线的H750作为参考。8 ?9 f3 Y" x4 `
主角:STM32H730VBT6(可以看到,版本号已经到了Z,生产日期为2020年第21周)
- Z+ J, O9 M: {: a4 w! B/ f
对比
看H730的命名,我们可能会觉得H730是H750的“低配版”。其实ST官方在宣传的时候也是这么暗示的,甚至H730的售价也比H750要低的多(撰文时,H750VB的10k官方指导价为$3.685,H730VB则为2.828,便宜约23%,当然,有没有货和实际拿到货是多少钱那就是另一个故事了)。但是事实上H730相较于H750并不是简单的减配,下边我们就来详细的看看H730于H750的那些异同点。! g# e+ d2 m6 E1 `6 g+ l
image-20210127233919845.png
4 G0 b  j( i5 D' N7 O: d0 p
我们先来看H730相较H750比较重要的缩水部分:
+ N% @% Y- z4 Q, U7 o' T首先,经简单测试,H750的隐藏福利——高达2M的片内Flash似乎已经没了。STLinkUtility完全无法识别H730,而CubeProgrammer虽然能识别出8个128K的Sector,也能读取这些Sector的数据(都是0xFF),但是无法编程。真实情况如何还得进一步研究。当然,严格来说,H750也是128KB的Flash,所以这条其实算不得缩水。9 ]8 n4 X1 \* J5 U4 ]3 W1 x& N% u

( s4 }2 h" s" ~! o1 o5 D
image-20210127234545648.png

: b" ?" D) C6 P; u

; `8 W& z4 d, y/ Y9 E; Y其次是内存大小,H730的内存由H750的1M缩水到了564KB,缩水将近一半。当然,虽然此缩水看起来触目惊心,但是由于D1域的AXI-SRAM依然有320K,所以实际使用中可玩性并没有下降太多,就是没H750那么富裕了。此外,RAM这块儿还有一个缩水的地方,那就是H730最高支持的SDRAM位宽由32bit降低到了24bit,虽然对于LTDC这类应用影响不大,但是多少还是会给内存需求较多的场景(如图形库,多媒体解码,机器学习等)带来一定的影响。0 j, O; ^' F. c! V
image-20210127235657573.png
/ ~) G0 ?; l- j% F8 d
最后是一些外设:硬件JPEG解码没了(这个是最最令我痛心的了)。少了JPEG解码,这就意味着一些对硬件JPEG优化比较好的图形库(比如TouchGFX)将无法发挥出100%的实力。也没法像H750那样流畅播放高分辨率的MJPEG编码的视频了。虽然高主频会弥补一些,但是始终没有硬件JPEG来得爽快。还有就是内置的Trace Buffer由H750的4KB缩水到了2KB,缩水了一半,暂时还看不出这对调试有什么影响。HRTIM也没了,这点挺奇怪的,H730有对于电机和数字电源控制类应用的针对性增强,而HRTIM显然对这些方面的应用很重要。
5 }( T/ [7 o1 u: c. }, K主要的缩水部分就是这些了。说完了缩水,我们再来谈谈增强的部分。比起缩水,这些增强的部分显然更值得关注一些:0 ^9 {: @+ K" Z$ s
首先,最值得关注的自然是高达550MHz的主频了,这次不像H750刚开始Y版本还是400M,直接一上来就是550MHz拉满。虽说主频不代表一切,但是在MCU这块儿,尤其是M7高性能MCU这块儿,主频对性能的影响还是最关键的因素。(暗搓搓说一句,隔壁NXP都已经1GHz了,ST真的不准备做点什么吗?)

# s, G& Z1 }. D2 P) Z
image-20210128003700288.png

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

& I1 q/ T6 F2 P8 U1 l/ q
Video_2021-01-28_011538.gif
* H  _$ m' @6 i2 R$ S8 a! u8 F3 O2 d2 i2 U) j
当然只这样点灯没意思,我们来点高级的。
  L, V8 c: C# J; [+ O
网传测H750的GPIO通过直接操作寄存器进行电平翻转速率大约为16MHz,这也是H750一直被诟病的地方之一。现在,我们来实际做一下实验看看,实验代码为:
. @7 B& h6 p& e2 D, E1 G0 Q& h. g
image-20210128012351400.png

0 x) W7 q" O- q( l  \- Q1 H6 U
这里的开发环境为CubeIDE,编译器为GCC,开启O3优化,MCU关闭L1-Cache,GPIO-Speed设置为VeryHigh,主频和总线频率均设定为手册上的最大值
& U' b. \# ^/ S  t先看H750:实测翻转速率在约20MHz,果然如网上所讲,不是很快。要知道通过外设(如FMC)控制GPIO时,GPIO的翻转频率可以达到133MHz!与这个频率相比,直接控制GPIO寄存器时的翻转速率可以说是龟速。
/ e+ W& ~2 Z& c6 `( q4 p# Y; O
image-20210128012611480.png 8 a; }* @' R1 I8 z/ Y

! o* V! L) Z. ~, r" w然后是H730:实测翻转速率约23MHz。嗯。。。。好吧,沾了主频提升的光(约15%,与主频的提升基本一致),略有改善。7 R, x* g& w+ l

# o8 N& c9 o( ^) f) q3 X
image-20210128012706471.png
6 m$ J; a! S( S0 ]3 E5 ?) @
% u) [% P; X+ p' a+ F0 w, V# i
作为对比,我们来看看STM32F730R8(主频216MHz)的翻转速率,108MHz不带含糊的:
  k: @4 m/ h& O4 a+ R
image-20210128014218815.png
' Q% y3 D9 i/ R( P, R: l( C
0 k* }7 i  `" P, Z' P% K+ k
所以你要说ST没有人为限制这个东西,我是不信的。至于限制原因嘛,我就不知道了。好在这种极端的使用场景并不多,所以影响并不大。但总归是一个小小的遗憾吧。
2 }  u7 `0 W- M# Y' L

# ~( d9 L1 b6 Q  L8 L/ X: S2 p7 f/ W5 L( ^1 E/ Z5 X$ J4 g
结语
时间所限,对于H730还没有深入进行研究。随后待把玩了之后,我会继续更新关于H730的更多使用体验,请大家关注。受限于本人的技术和能力,文章所讲的内容无法保证100%准确,有不对之处欢迎大家指摘。谢谢大家的围观~

6 k2 U% }" ^* O4 l- x
收藏 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
0 I7 m4 R8 G0 m6 H感谢分享。IO翻转速度是否和生产工艺或芯片的设计有关?
3 W( G, h& Q- ?( H) }% g4 _* L
不太清楚,我感觉要么是故意做的限制,要么跟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 手机版