ST的H7 MCU设计考量:用双核实现高性能与实时组合
不久前,意法半导体(ST)发布了高性能的微控制器(MCU)STM32H7。其突出特点之一是采用Arm Cortex-M系列中性能最高的480MHz Cortex-M7内核,并增加一颗240MHz Cortex-M4内核,实现了3224 CoreMark,可谓业界性能最高的Arm Cortex-M通用MCU。
本文引用地址:http://www.amcfsurvey.com/article/201907/402697.htmST微控制器事业部STM32高性能产品线高级市场经理Renaud BOUZEREAU专程来京,与ST中国区微控制器事业部市场及应用总监曹锦东先生,向媒体介绍了这款MCU的产品定义和设计考量。例如为何采用双核架构,为何没有采用友商的无闪存模式,新增的安全功能,如何保证高性能产品的投入产出平衡等。
图 ST的H7系列2019年产品规划(注:双核产品如期发布)
1 为何通过双核实现超高性能
无独有偶,MCU的另一大玩家N公司早在两年前也推出了基于M7单核的MCU,名为“跨界处理器”,特点是无内置闪存,主频可达1 GHz、600MHz等,CoreMark 3000左右,实现了MCU的架构、MPU的应用。那么,ST为何不把H7的单核主频提高,而是采用了较为复杂的双核策略?另外,双核是否意味着客户的软件编程难度提高了?
图 H7的双核CoreMark超过3200分
Renaud BOUZEREAU解释道,在内核跑分上,需要从两方面看。第一,主频的提高会是影响Coremark跑分的一个非常重要的因素。但是,整个工程的执行效率并不能仅仅看主频,还要看芯片内部的总线架构、访问Flash的位数,以及其余外设资源和硬件加速器等。而内置Flash执行代码的效率对比与外置QSPI Flash这种模式会高很多,也避免了很多总线冲突和内存配置的问题。从嵌入式设计角度而言,外面增加元器件也会影响系统的稳定性。
第二,在设计产品的时候,ST一直在考虑性能和稳定性的平衡。越高的主频,意味着产品会相对脆弱。ST研究过很多竞争对手的芯片,发现在高温测试的时候,往往要降低主频才能保证系统的稳定性。所以ST在讨论和研究后,认为480MHz的主频会是一个很好的平衡点。
为了解决双核编程的挑战,ST从两方面入手。第一,从硬件角度而言,在STM32H7双核产品里,内置了硬件信号量的机制,硬件信号量可以将两个核的运行状态进行同步,例如有些外设通过M4处理的时候,通过硬件信号量通知M7内核该外设暂时不能被访问的。
其次,从软件角度,ST现在的CubeMX及IDE(集成设计环境)都已经支持双核的开发。在双核开发时,两个工程都会摆在同一个界面上做调试,这样对于开发者会比较简单,包括第三方操作系统,例如FreeRTOS,现在支持双核的设计,两个核之间的通讯会通过内部有一个Mailbox的机制在进行通讯,将两个核的信息进行同步。
除此之外,双核还有独特的“1+1>2”的优势。首先,通过灵活使用两个内核,开发人员可以轻松升级现有应用,增加更先进复杂的图形用户界面。以电机控制为例,将以前在单核Cortex-M4 MCU上的旧代码迁移到STM32H7 Cortex-M4上,同时在Cortex-M7上运行新GUI(图形用户界面)。另一个例子是通过降低主处理器的密集型工作负荷,例如,神经网络、校验和、DSP过滤或音频编解码,提高应用性能。
其次,双核架构还有助于简化代码开发,并缩短项目开发周期,将用户界面代码与实时控制或通信功能的开发分开进行(如下图)。
图 H7双核应用案例之一,神经网络、图形显示等在M7上运行,实时控制、通信功能在M4上运行
2 内置闪存、SRAM的考虑
友商N公司的高性能MCU/跨界处理器的主要特色之一是无闪存。但ST依然提供了丰富的闪存。ST称,与无闪存处理器相比,H7 MCU在片上额外提供高达2MB闪存和1MB SRAM,更好地解决了存储空间限制问题,并简化了具有实时性能或AI处理要求的工业、消费和医疗智能产品设计。
那么,ST为何不做这种无闪存的产品呢?Renaud BOUZEREAU称,据ST调查,现在市场上超过80%~90%的客户希望的架构是MCU内置flash、内置RAM的,并拥有更多先进的外设,首先,这样的架构可以缩小他们的PCB(印制板)面积和设计成本。其次,内置闪存非常安全,可防止外部盗取或篡改数据。
3 生产流程的安全保障
H7的另一新特色是保证生产流程的安全。据悉,H7 MCU配备预安装密钥和原生安全服务,包括安全固件安装(SFI)。SFI允许客户在世界任何地方订购标准产品,并将加密固件交付给外部编程公司,避免未加密的代码泄密。此外,内置安全启动和安全固件更新(SB-SFU)支持功能,保护空中下载(OTA)升级和补丁的安全。
那么,为何要增加安全固件安装(SFI)?这与其他的MCU安全芯片有什么区别吗?
实际上,安全需要跟具体的应用环境相关,换句话,安全是一种服务。在生产流程安全方面,服务表现在假如我是一家设计公司,我把我的芯片通过其他加工厂去做烧录。是我怎么确保我的代工厂按照我的要求把我的程序进行烧入芯片,这里是有不同的加密的软件,通过智能卡/硬件安全模组(HSM)给了用户,给了加工厂,这是个公钥,这个程序是加过密的,这个程序是需要用公钥去解密的,如果没有这个智能卡解密的加密程序,即使外人拿到也不能进行烧录和破解。第二个特点是每使用的时候会确认这个代码是不是一开始开发的代码,如果代码有木马程序,就不会启动。
4 H7如何保证投资产出的平衡
STM32的产品线越来越丰富细化,例如H7两年前是单核,现在又出了双核产品。出炉这么多细分高端产品,会不会带来制造成本的压力?
Renaud BOUZEREAU解释道,从芯片的制造而言,因为是基于同样的平台,例如现在的H7是属于40nm平台,在40nm平台上,这是一次性投资的技术,投入之后,ST在这个平台上面去开发更多的产品来满足用户的需求,这相对于一次性技术投入,成本较小。
从另外角度来看,之所以会生产很多细分的产品,主要是为了应对现在越来越细分化的市场需要。ST现在有上千个型号,每个型号的资源配置都是根据很多细分应用来决定的。从性价比上来讲,如果你只需要实现一个简单的功能,而我们提供一个非常强大的MCU,价格肯定会比你预期的贵不少。所以ST会创造出不同的产品,来满足各个细分市场的需求。
曹锦东先生补充道,高性能并不代表批量的减少,ST追求的是技术的迭代,因为当12年前(2007年)ST发布STM32F1时,工艺是180nm,那个时候投资回报率(ROI)这个问题同样是有——因为那时主要市场还是8位、16位MCU,但五年、十年后,32位MCU变成了巨大的市场。因此,技术会推动或者可以激发更多创新的应用,帮助客户把过去不敢想象的应用,基于新的技术、新的产品去实现。
图 STM32家族一览表
评论