新闻资讯 > 加工定制

双核架构或许是 MCU行业的新亮点

更新:2019-08-16

在MCU市场,价格大战从未停止,但是除了高性价比,用户一定希望MCU厂商做出更多改变。在前不久,与非网做了一期题,探讨《除了价格,MCU还拼什么》,界的厂商纷纷提到了“创新”一词,然而,创新不仅包括性能的堆叠、价格的下降,还需要更高层次的创新,比如架构的改变,以便适应更高层次的需求,比如AI处理。


   STM32走向双核之路


   意法半导体微控制器事STM32高性能产品线市场经理RenaudBOUZEREAU将STM32H7双核MCU称为高性能产品,在媒体会上,他表示,“两年前,我们发布了STM32H7单核产品,到今天ST终于有了一款双核产品。”

   STM32H7双核产品包含两款ARM内核,分别是Cortex-M7和Cortex-M4,其中M7的主频是480MHz,M4的主频是240NHz。RenaudBOUZEREAU介绍,“从SMT32F2到STM32H7,单核STM32H7基于Cortex-M7,跑分是2400CoreMark,而今天推出的双核产品是Cortex-M7的2424CoreMark跑分与Cortex-M4的800CoreMark跑分之和,整体运算能力达到3200分以上,比市面上的同类型竞品的3000CoreMark还要高。”


   强大的内核是由强大的架构所支撑的,从功能上来看,在显示部分,ST内置了Chrom-ART加速器和MJPEG编码器,可以使整个CPULoading在图象显示时减少90%的工作负荷,因此让出更多CPU资源来做其它事情。


   高性能产品怕在数据传输方面出问题或者增加CPU的工作负荷,STM32H7双核系列内置主DMA,可以触发事件链接,比如,用户将多块不连续的数据搬到另外一块内存的时候,可以用主DMA创造一个事件链,让它从内存里自动搬取,这样可以制作出一个比较复杂的传输资料的任务给到CPU之间内存的交换,在这种情况下,无需CPU进行干预,CPU工作负荷减轻。


   STM32H7还嵌入了一个高精度的定时器模块,可以产生比较复杂的PWM的输出,比如Timer触发ADC,ADC触发DAC,DAC再回到TIM的PWM输出过程,这个高精度过程主要是面对于数字电源或者是更复杂的事件触发,而且在设定了触发的模式下,CPU不需要参与太多的事件触发的过程。


   在数据加解密部分内置了硬件的加解密算法,包括哈希的硬件加速器,客户原来用软件形式做加密工作,现在变成用内部的硬件资源来做加解密动作,可以使CPU工作负荷减少90%。


   在安面,STM32H7MCU配备预安装密钥和原生安全服务,包括安全固件安装(SFI)。SFI允许客户在任何地方订购标准产品,并将加密固件交付给外部编程公司,避免未加密的代码泄密。此外,内置安全启动和安全固件更新(SB-SFU)支持功能,保护空中下载(OTA)升级和补丁的安全。


   与无闪存处理器相比,STM32H7MCU不仅性能出色,还在片上额外提供高达2MB闪存和1MBSRAM,更好地解决了存储空间限制问题,并简化了具有实时性能或AI处理要求的工、消费和医疗智能产品设计。此外,Cortex-M7的1级高速缓存以及并行和串行存储器接口可以无限制地快速访问外部存储器。


   什么时候使用双核MCU好?RenaudBOUZEREAU举了两个例子。工控制的人机交互界面,采用双核MCU,客户可以分配不同的任务给两个内核,Cortex-M7可以完成人机界面显示控制,作为实时处理内核,Cortex-M4可以做网关通讯、马达驱动以及传感器数据采集;第二,在家庭自动化以及安全模块上,Cortex-M7可以处理人工智能的神经网络,例如:图象显示、语音的识别、图象识别等。M4可以控制WiFi通讯、以太网等实时通讯模块等。


   双核MCU的势在哪里?


   对于用户来讲,在选择MCU时,首先考虑的是就是双核的势在哪里?RenaudBOUZEREAU做了三点解释:


   两个核可以独立运行,使用STM32H7双核产品可以执行两套不同的任务,或者一个核执行任务,另外一个核监控其应用运行情况,保证其安全性。


   第二,在电源架构上分为三个供电域,D1是高性能域,由Cortex-M7进行GUI、DSP和安全控制;D2是Cortex-M4主要处理实时性的连接和控制,例如:对外的连接,实时操作系统,马达驱动以及更多的控制任务;D3是大数据采集域,在另外两个域休眠时,这个域自动从传感器,包括外部的电压电流进行数据采集,当达到一定数或者达到一定阈值后可以唤醒另外两个域进行处理。这三个域可以自由分配工作时序,自由决定开启和关闭,从而达到整体动态功耗的平衡。


   第三,两个核独立工作,用户是可以安排两个或者多个任务进行处理。当一个团队出现两个任务时,只要分配好,两个团队就可以基于自己的核或者自己分配的资源进行开发,不会影响另一个团队的工作。由于双核可以将以前多个MCU才能完成的任务变成一个MCU来控制,从而可以缩短电路板设计和项目评估时间。


   第四,双核的产品可以降低整体的系统的成本,因为STM32H7双核产品内置了很多外设资源,因此不需要再外挂ADC、比较器、放大器,从而减少外部器件的需求。对于开关电源,可以非常地解决动芯片态功耗的平衡。


   AI工具让MCU也能跑AI算法


   随着AI在各个领域的广泛应用,越来越多产品开始具有AI功能,比如智能家居系列产品已经开始走入千家万户,如果这些产品全部都采用CPU、GPU来做控制显然价格非常昂贵,因此,MCU厂商也在探索MCU完成AI处理的可能性。


前不久,恩智浦发布了双核MCU可以实现AI处理,无独有偶,SMT32H7双核产品也具有了AI处理能力。


   Renaud介绍,“从工具角度,ST有一款叫做STM32Cube.AI的工具,能够帮客户把现有的AI算法、AI的模型转化成能在STM32系列上运行的代码,不管是M4、M7,都能够执行代码的工具。传统的AI更多在云端或者更多在AI交流器上运行,ST能做到在MCU上运行AI。另外,运行AI需要具有高计算能力的处理器,所以STM32H7更适合处理和运行AI的算法。目前,有客户已经基于L1、L4,F4在100MHz,200MHz,300MHz主频实现AI的功能。在今年的深圳峰会上,一个日本客户用STM32展示了AI舞鞋,可以通过AI识别出当前跳舞的姿态,他们的设备就是基于STM32L1MCU来做的,内部是Cortex-M3的内核,主频只有32MHz。”


   Renaud还强调,“我们的工具可以把任何AI算法转化成MCU可以支持的AI算法。”


   双核MCU如果选择一个高性能的内核和一个比较低性能的内核搭配,我们可以理解,一个内核做高性能计算,一个内核做实时处理,但是ST为什么选择了Cortex-M7内核,而不是Cortex-A系列内核呢?曹锦东的解释是,“主频高,功率就会高,CPU发烫,会影响模拟外设的性能,即便在特定的工环境里,也会出问题。我们会找到平衡点,保证性能比较高,但同时确保在这样的主频上面,整体的性能和温度满足客户在工场景里的应用。”