2024年MCU大变局:NPU和64位

文摘   2024-12-03 11:47   四川  

关注+星标公众,不错过精彩内容

作者 | 付斌

出品 | 电子工程世界

今年非常流行一句话,叫做“无AI,不终端”。在MCU领域,也正在进行着边缘AI和TinyML的革命。

对于MCU来说,跑AI也是非常重点的应用之一。前两天,就连实时控制派系的MCU TI C2000都开始搭载NPU和64位化。可见,MCU正在加速向AI进化。


带NPU的C2000:能干什么



TI在最近推出的两款MCU,第一款是业界首款具有集成神经处理单元(NPU)的实时微控制器产品组合TMS320F28P55x系列(简称F28P55x系列),可实现高精度和低延迟的故障检测。

F28P55x系列中的NPU从主CPU卸载了神经网络模型的执行,与软件实现相比,延迟降低了5~10倍,从而实现更快、更准确的决策。此外,在集成NPU上运行的模型通过训练学习并适应不同环境,可以帮助系统实现超过99%的故障检测准确率,从而在边缘做出更明智的决策。

从官方的Datasheet来看,F28P55x的实时内核采用C28x系列的32位150MHz DSP MCU,通过浮点单元(FPU)、三角函数数学单元(TMU)和VCRC(循环冗余检查)扩展指令集得到进一步增强,加快了实时控制系统中关键的通用算法的速度;拥有独立的32位浮点加速器150MHZ CLA,其拥有专用内存资源,可以直接访问典型控制系统中所需的键外围设备;NPU具有600~1200MOPS(每秒百万操作)的能力(600MOPS at75MHz on 8bWx8bD,1200MOPS at 75MHz on 4bWx8bD),与仅基于软件的实现相比,NP最多可提供10倍的NN推理周期改进。

带NPU有什么用?根据TI官方的介绍,工程师面临的挑战是设计能够实时做出准确、智能决策的系统,以执行太阳能和储能系统中的电弧故障检测以及用于预测性维护的电机轴承故障检测等功能。而TI新型的F28P55x系列通过确保实时处理的一致性能来应对这两个挑战。

若要维持电机驱动和太阳能系统的可靠运作,需要快速且可预测的系统故障侦测,以协助减少误报,同时也需监控电机轴承异常和实际故障。

支持边缘AI的MCU可监控两种类型的故障:

  • 当电机轴承出现异常状况或劣化时,就会发生电机轴承故障。检测这些故障对于防止意外故障、减少停机时间和降低维护成本十分重要。

  • 太阳能电弧故障是指当电流流经非预期路径(如空气) 时发生的电弧放电。太阳能电弧故障通常是由太阳能系统中出现绝缘崩溃、连接松动或其他故障所引起。放电会产生强烈的热量,导致火灾或损坏电气系统。监控与侦测太阳能电弧故障有助于预防危险事件的发生,并确保太阳能系统的安全性与可靠性。

上述两种故障,传统人工判读或者分析频域电流信号再套用阈值式规则来检测电弧故障信号需要大量系统专业只是,在适应性和灵敏度等方面存在限制。

适用于马达轴承和电弧故障检测的CNN模型可从振动信号等原始传感器数据中学习复杂的模式,然后检测指示轴承故障的微妙变化。

通过在MCU执行CNN模型,可能有助于提高故障侦测率,进而协助避免误报,同时提供更佳的预测性维护。透过边缘AI,这些系统可以学习并适应其环 境,以便优化实时控制,提高整体系统可靠性、安全性和效率,同时减少停机时间。

对于马达驱动,CNN可以根据振动或电流信号识别故障模式,例如轴承磨损或转子不平衡。在太阳能系统中,CNN可检测 DC 电流波形的异常,以进行电弧故障检测。在电池管理应用中,CNN 模型可以分析电池充电曲线 寿命、电池健康状况监控和电池充电状态评估。其适应性可确保在动态条件下准确侦测故障,同时实时处理则能优化效率。

64位C2000:比32位C28强2~5倍



第二款产品为F29H85x系列,它基于TI的新型64位C29 DSP CPU内核构建,提供具有集成功能安全和信息安全功能的高级架构。官方介绍,基于C29内核的MCU,性能是以前TI C28内核产品和市场上其MCU的2~5倍。

官方Datasheet显示,F29H85x系列实时控制子系统具有多达三个200MHz C29x DSP内核。C29x支持从片上闪存或RAM运行的32位和64位浮点和定点信号处理。器件包含许多功能,以支持系统级ASIL-D功能安全解决方案。C29x CPU1和CPU2内核可以锁步,用于检测永久和瞬态故障。

C29核心的创新包括:

  • 重新设计的平台:采用VLIW架构并配备完全保护的流水线,能够实现多达8条指令的并行执行。

  • 新的编译器:通过基于LLVM/Clang的编译器提高性能,无需自定义编码或汇编即可实现性能提升。

  • 重新设计的中断性能:硬件支持快速的自动上下文保存和恢复,以应对实时中断。新的中断控制器允许完全用户配置中断优先级和阈值。

  • 增强的平台性能:具备低延迟的内存和外设互连设计,内置安全和保护功能,增强保护的同时保持最大实时性能。

F29H85x系列MCU的应用主要瞄准电动汽车实时控制方面。

根据官方文档,使用F29H85x系列MCU,设计人员可以同步分配MCU三个内核中的两个,以处理主机MCU所需的关键功能,例如AUTOSAR和ASIL-D完整性级别的关键安全和安保任务,而其余内核则处理系统中的控制功能。C29核心与安全与防护单元(SSU)的集成,实现了在同一核心上无缝执行多个控制功能,同时防止各功能之间相互干扰。

F29H85x 系列 MCU 通过增强的 EPWM 功能,进一步提升了汽车系统的性能,使得新型控制拓扑和算法的应用成为可能,例如矩阵变换器拓扑。这些功能包括复杂的比较方案,并集成了安全检查,如保证最小死区和非法组合逻辑。此外,这些 MCU 中集成的 ADC 帮助实现精确的传感功能,具备硬件过采样和结果安全检查等特性,从而减少了执行常见任务所需的软开销。


边缘NPU火了,但有些厂商更为保守



过去MCU中一直都存在的DSP和FPU,一定程度上都能对AI进行、加速。但AI模型愈发复杂化,仅依靠DPS和FPU算力无疑是不足的。所以厂商都开始向MCU中塞入NPU,像手机SoC、AI PC那样,大幅度降低MCU在AI上的功耗。

恩智浦在上个月推出了拥有NPU的跨界MCU i.MX RT700,至此,恩智浦MCU、跨界MCU、应用处理器三大系列均拥有了NPU。也就是说,恩智浦整个产品线都内置了AI/ML加速器功能,算力覆盖从10G到几T TOPS。

R700相比于前代产品,提升幅度非常之大,可以说是“降维打击”,早在发布之前就引发了工程师群体的讨论。相比上一代产品,其在边缘提供高达172倍的速度提升和119倍的节能,同时功耗比上一代产品降低了30~70%。

今年4月,英飞凌发布新一代PSOC Edge产品组合。从具体产品来看,有用Arm NPU的,也有自家神经网络加速器:PSOC Edge E83和E84内置Arm Ethos -U55 NPU处理器,E81采用Arm Helium DSP技术和英飞凌NNLite神经网络(NN)加速器。

瑞萨一直也布局AI,其曾在去年发布内置瑞萨电子独家硬件加速器 “DRP,动态可配置处理器-AI”的RZ/V2MA系列产品,实现了精确图像识别和多摄像头图像支持功能。据了解,DRP-AI专为嵌入式机器视觉类AI/ML应用优化设计,可提供实时AI推理和图像处理功能,兼具高AI推理性能和低功耗特性,家族化产品支持0.4~80TOPS不等的可扩展AI算力,为资源有限的嵌入式端侧AI应用提供差异化有竞争力的解决方案。

ADI也在自己的产品中加入了卷积神经网络(CNN)加速器,其推出的边缘AI解决方案MAX7800X系列MCU,由两个微控制器内核(ARM Cortex M4F和RISC-V)加上一个卷积神经网络(CNN)加速器构成。

ST也看好NPU在MCU或者MPU中的表现,但是不知道为什么产品姗姗来迟。2022年,报道称ST将推出其首款配备完整神经处理单元 (NPU) 的微控制器STM32N6。而后,又在Embedded World 2023上抢先展示了STM32N6。笔者猜测,可能ST对于NPU的态度上比较保守。

目前来说,市场上MCU都在陆续利用NPU或是自己研发的神经处理加速器布局边缘AI,Arm、Cadence、Synopsys、Verisilicon、Ceva等IP厂商的NPU IP也在逐渐渗透至MCU中。

但总体来说,MCU厂商走得并没有其他领域那么快。因为市面上跑的边缘AI,其实绝大多数情况下,无论是Arm核,还是用DSP、FPU,不带NPU的通用MCU已经能够满足基本要求。与AI PC或者AI手机不同,MCU领域给产品中增加NPU需要实打实的应用,否则容易缺乏市场。AI PC或者AI手机就不一样了,因为这些领域可以随时增加一些AI软件之类的,消费者可以提前买单。

纵观几家加入NPU的厂商,都在市场上拥有了应用的验证,初步形成了良好的循环。等到下游的所有产品都加入了AI功能,并且渗入到了生活,相信边缘AI和NPU MCU会发展的比现在更加迅速。


也许是真正意义的64位MCU



事实上,在过去多年,似乎还没有真正意义上的64位MCU。虽然有些搭载RISC-V CPU的产品,偶尔还叫MCU,但也可以算作SoC。而TI的C2000,作为一款DSP MCU,跨越64位很明显可以快速拉升性能。

64位MCU主要解决的问题是4GB物理寻址的瓶颈,显然,目前MCU领域使用64位还并不具备很强的意义。因为,现在32位的性能足够了,64位在绝大的场景下没有必要。

一位工程师表示,历史上也出现过一些所谓的64位产品,比如K210是64位的,而且是双核64位的,但是绝大多数场合下64位没有必要,一些特殊场合会出现64位,比如AI。也许,边缘AI如果能继续火下去,而且模型变得更大时,也许64位MCU就会逐渐流行起来。


参考文献

[1]https://www.ti.com/about-ti/newsroom/news-releases/2024/2024-11-11-new-ti-mcus-enable-edge-ai-and-industry-leading-real-time-control-to-advance-system-efficiency--safety-and-sustainability.html

[2]https://www.ti.com/lit/ds/symlink/f29h850tu.pdf?ts=1731401489469&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FF29H850TU

[3]https://www.ti.com/lit/ab/spradn6/spradn6.pdf?hqs=epd-asm-cd-rtc_f29xxx-pr-ta-electronicanews-wwe&ts=1731478773238&ref_url=https%253A%252F%252Fwww.ti.com%252Fabout-ti%252Fnewsroom%252Fnews-releases%252F2024%252F2024-11-11-new-ti-mcus-enable-edge-ai-and-industry-leading-real-time-control-to-advance-system-efficiency--safety-and-sustainability.html

[4]https://www.ti.com/lit/ta/nest132/nest132.pdf?ts=1731459244792&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FTMS320F28P550SJ

[5]https://www.ti.com/lit/ds/symlink/tms320f28p550sj.pdf?ts=1731463855496&ref_url=https%253A%252F%252Fwww.ti.com%252Ftool%252FTIDA-010933

[6]https://blog.st.com/stm32n6/



------------ END ------------



●专栏《嵌入式工具

●专栏《嵌入式开发》

●专栏《Keil教程》

●嵌入式专栏精选教程


关注公众号回复“加群”按规则加入技术交流群,回复“1024”查看更多内容。


点击“阅读原文”查看更多分享。

嵌入式专栏
作者黄工【strongerHuang】,专注分享嵌入式软件、硬件、工具等相关内容,通过专栏形式精选并整理更多嵌入式相关教程。关注并回复“1024”查看更多教程。
 最新文章