随着AI和IoT的发展与融合,微处理器(MCU)的设计也更加复杂,逐渐从传统单一功能的微控制器转向集成更多功能特性、计算性能更强的系统级芯片(SoC)。
分析师团队认为未来MCU设计的发展方向将会是:
1. 更加智能(AI)2. 更强性能(Performance)3. 更低功耗(Power)4. 更加安全(Security)5. 无线连接(Wireless)6. 更小尺寸(Area)
MCU更加智能(AI)
自2017年开始,MCU厂商尝试在MCU中添加AI功能。例如,ST的Project Orlando项目作为实验性质的MCU超低功耗AI加速器单元,瑞萨在2018年发布了针对MCU的可编程可重构协处理器DRP。经过三年的发展,在MCU中加入AI加速器正在变得越来越主流。在需要AI相关算力的应用场景,使用专用AI加速器往往比提升处理器性能更为有效。
2020年10月,Arm发布Ethos-U65 microNPU神经处理单元,这种微型NPU是一个非常小的NPU,只针对尺寸受限的嵌入式系统和物联网设备。Ethos-U65是Arm早前发布的Ethos-U55的升级,NXP选择Ethos-U55 microNPU作为Cortex-M系统。Ethos-U55是专为微控制器设计的,与Cortex-M处理器以及MCU中的系统SRAM和flash协同工作,可以提供MCU所需的性能和效率组合。但Ethos-U55不适合在基于Cortex-A的应用处理器上运行复杂的ML应用程序。
通过NXP与Arm的技术合作,Ethos-U55的性能得到大幅提升,不仅将最大原始MAC(乘法和累加)性能提高一倍,达到1TOPS(1GHz工作频率下512次并行乘法累加操作),而且还能够正确调整系统总线的尺寸,以便将数据输入和输出到microNPU。但这还不够,MCU通常是基于SRAM和闪存的混合使用,但基于Cortex-A的应用处理器通常都有DRAM。DRAM提供了更高的数据速率和容量,但代价是延迟更长。microNPU需要更新设计来适应这种延迟,由此便诞生了Ethos-U65。
与Ethos-U55一样,Ethos-U65 microNPU可以与NXP的i.MX家族中已有的Cortex-M内核和片上SRAM协同工作。它继承了Ethos-U55的所有MCU级能效,与传统NPU相比,Cortex-M和Ethos-U的结合提高了面积和功率效率,从而能够开发出经济高效、高性能的边缘计算AI芯片。
从应用的角度来看,AI加速器搭配MCU渐成主流的主要原因是需要AI的应用场景越来越普遍。从具体的算法和模型来看,正在集中到少数几个模型,例如机器视觉(人脸识别,物体识别)和语音唤醒词中需要的卷积神经网络,以及在一些较为先进的语音识别中需要的循环神经网络(RNN)。三年前,AI算法和应用生态前景还不够明确,因此出现了走专用化(AI加速器)还是通用化(加强处理器性能以及可编程协处理器)两条道路的两难选择。而在应用和相关算法都已经很集中的今天,AI加速器已经成为较为明确的选择了。一方面,使用专用化的AI加速器可以提供最佳的能效比,另一方面在芯片设计门槛上也并不是太高。事实上,更考验设计能力的反而是编译器和相关的软件/模型优化。
ARM在短时间内连续发布两代针对MCU的microNPU,一方面说明MCU市场对于AI和AI加速器确实有很强的需求,另一方面我们也看到MCU和MPU甚至CPU之间的性能差距正在缩小,这将为未来智能MCU生态带来新的变化。
MCU更高性能
不断提升计算和处理性能是MCU设计工程师和开发商的不懈追求。以前我们都是跟随Arm的开发脚步来同步增强MCU芯片性能,但最近几年出现了与之匹敌的RISC-V。我们在此分别梳理一下这两个MCU微处理器内核的性能提升线路图。
ARM Cortex分为3个系列,分别针对:嵌入式(Microcontroller)、实时(Real-Time)和应用(Application)3个应用领域,对应的内核是Cortex-M、Cortex-R和Cortex-A 系列。ARM Cortex-M处理器是一系列可向上兼容的高能效、易于使用的处理器内核,旨在帮助开发人员满足将来的嵌入式应用需求,比如以更低的成本提供更多功能、不断增加连接、改善代码重用和提高能效。Cortex-M系列针对成本和功耗敏感的MCU和终端应用(如智能测量、人机接口设备、汽车和工业控制系统、大型家用电器、消费性产品和医疗器械)的混合信号设备进行了优化。
Cortex-M系列基于ARMv7-M架构(用于Cortex-M3和Cortex-M4),而较低的Cortex-M0 基于ARMv6-M架构。首款Cortex-M处理器于2004年发布,当一些主流MCU供应商选择这款内核开始量产MCU芯片后,Cortex-M处理器迅速受到市场青睐。可以说,Cortex-M之于32位MCU就如同8051之于8位MCU,迅速成为业界标准微处理器内核,各家MCU供应商基于该内核进行自己的开发,在市场中提供差异化产品。例如,Cortex-M系列能够实现在FPGA中作为软核使用,但更常见的用法是作为集成存储器、时钟和外设的MCU。
对于成本特别敏感的应用或者正在从8位迁移到32位的应用而言,Cortex-M系列的最低端产品可能是最佳选择。虽然Cortex-M0 的性能仅为0.95 DMIPS/MHz,比Cortex-M3和Cortex-M4的性能低一些,但仍可与同系列其他高端产品兼容。Cortex-M0 采用Thumb-2指令集的子集,而且这些指令大都是16位操作数(虽然所有数据运行都是32位的),这使得它们能够很好的适应Cortex-M0 所提供的2级流水线服务。通过减少分支映射,系统就能节约整体功耗,而且在大多数情况下,流水线将保留接下来的四个指令。Cortex-M0 还具有专用的总线用于单周期GPIO,这意味着设计师能够利用位控制的GPIO实现确定接口(就像8位MCU那样),但却以32位内核的性能来处理数据。
Cortex-M0 另外一个重要的特点是增加了微型跟踪缓冲器(MTB)。该外设可使设计人员在调试过程中使用一些片上RAM来存储程序分支。这些分支随后能够回传到集成开发环境中,而且可以重建程序流程。这一功能提供了一种初步的指令跟踪能力,这对于不具备扩展跟踪宏单元(ETM)功能的Cortex-M3和Cortex-M4来说比较有意义。从Cortex-M0 中提取的调试信息等级显著高于8位MCU,这就意味着那些难以解决的调试问题变得更加容易解决。
Cortex-M3和Cortex-M4是非常相似的内核,二者都具有1.25 DMIPS/MHz的性能,配有3级流水线、多重32位总线接口、时钟速率可高达200MHz,并配有非常高效的调试选项。二者最大的不同是,Cortex-M4的内核性能针对的是DSP。Cortex-M3和Cortex-M4具有相同的架构和指令集(Thumb-2)。然而,Cortex-M4增加了一系列特别针对处理DSP算法而优化的饱和运算和SIMD指令。以每0.5秒运行一次的512点FFT为例,如果分别在同类量产的Cortex-M3 MCU和Cortex-M4 MCU上运行,完成同样的工作,Cortex-M3所需功耗约是Cortex-M4所需功耗的三倍。此外,也有在Cortex-M4上实现单精度浮点单元(FPU)的选项。如果应用涉及到浮点计算,那在Cortex-M4上完成比在Cortex-M3上完成要快得多。也就是说,对于不使用Cortex-M4上DSP或FPU功能的应用而言,其性能和功耗与Cortex-M3相同。如果使用DSP功能,那就选择Cortex-M4。否则就选择Cortex-M3完成工作。
伴随着Arm Cortex-M系列内核的性能提升,MCU芯片制造工艺也在不断升级。例如,ST的新一代高性能MCU STM32F4基于Cortex-M33内核,具有200MHz的性能,而且采用更为先进的40nm工艺制造。此外,MCU厂商也在尝试从MCU产品领域跨界到MPU领域。今天很多用户不仅用MCU,还有很多采用MPU。MPU带来的不仅是产品本身的性能提升,还有更多软件的选择,因为它基于开源的Linux生态,带来从中间件、OS到应用层更多的选择和丰富的生态。
Arm阵营只有Arm一家公司提供处理器内核,而RISC-V阵营则是百家争鸣。作为RISC-V微处理器的开路先锋,SiFive提供的RISC-V内核正好对标Arm的3个系列内核,分别是:
E核 -- 32位嵌入式内核,针对边缘计算、AI和物联网应用,对标ARM Cortex-M系列;
S核 -- 64位嵌入式内核,针对存储、AR/VR和机器人应用,对标ARM Cortex-R系列;
U核 -- 64位应用处理器,面向数据中心、通信网络等领域,对标ARM Cortex-A系列。
每种类型的内核又按照数字标号从低端到高端做了不同种类,包括2系列、3/5系列、7系列,对标Cortex A、R、M编号从低到高可用于不同的场景。可以说是从横向和纵向都对标了Arm系列。本土RISC-V处理器内核开发商芯来科技也推出了四个不同性能级别的处理器内核,分别是:
N100系列处理器内核主要面向极低功耗与极小面积的场景而设计,非常适合传统的8位内核或16位内核升级需求,可广泛应用于模数混合、IoT或其他超低功耗应用场景;
N200系列32位超低功耗RISC-V处理器为物联网IoT终端设备的感知、连接、控制以及轻量级智能应用而设计;
N300系列32位超低功耗RISC-V处理器面向机制能效比高且需要DSP和FPU特性的场景而设计,适用于IoT和工业控制等场景;
N600系列32位RISC-V处理器面向实时控制或高性能嵌入式应用场景,适用于AIoT边缘计算、存储或其他实时控制应用。
台湾晶心科技的RISC-V处理器系列包括:
22内核应用于小型物联网及穿戴设备等入门级MCU,效能达同级别间最高的 3.95 Coremark/MHz,其高性能和精简设计,适合处理以高数据传输率运行中的协定封包;
N25F内核适合浮点密集型的多元应用,例如声音处里、先进马达控制器、卫星导航、高精度传感器融合以及高阶智能电表等;
45系列内核均采用有序的8级双发射超标量技术,N-系列支持RTOS的应用,D-系列则支持RISC-V的SIMD / DSP指令集(P扩展指令集)。
阿里旗下的平头哥半导体主要针对下一代云端一体芯片新型架构开发数据中心和嵌入式IoT芯片产品,其E902处理器采用2级极简流水线,兼容RISC-V架构且对执行效率等方面进行了增强,并可进一步选配安全执行技术以增强系统安全性,适用于对功耗和成本极其敏感的IoT、MCU等领域。
MCU更低功耗
消费电子、可穿戴设备及其它电池供电的物联网终端都低功耗都有严格的要求。系统功耗是物联网部署的主要考虑因素之一,很多应用场景下的IoT设备都是电池供电,而且要求可持续使用10 年以上。在很多应用中,MCU大部分时间都是处于低功耗睡眠模式,只是偶尔被唤醒读取传感器发送的一些数据,或处理和传送数据。
MCU子系统的功耗包括两部分——MCU工作时的动态功耗(与处理器主频成正比),以及MCU在睡眠状态下与漏电流相关的静态功耗(大部分是恒定的)。因此,总功耗受工作模式电流、睡眠模式电流和工作模式持续时间的影响。如果应用在大部分时间都处于关闭状态,睡眠电流甚至比工作电流更重要。32位MCU一般主频更高些,工作电流相应也大,但其处理速度也快,可以通过更快地完成处理任务和更快地进入睡眠模式来节省电量。此外,睡眠模式、发送和接收模式下的无线收发器电流消耗也是决定整体系统功耗的重要因素。
如果允许外围设备相互通信,并在不唤醒 CPU 的情况下可以监控传感器,这样可以大大降低系统的总功耗。Silicon Labs 的EZR32无线MCU就是一个很好的例子,它具有外设反射系统,允许外设在不唤醒 CPU 的情况下相互通信,其低功耗传感器接口可以在 CPU 处于深度睡眠状态下监控多达16个传感器。MCU和射频收发器节能技术的结合使得无线MCU成为物联网应用中电池供电传感器节点的理想选择。
为满足客户的低功耗需求,ST从2009年发布第一颗基于Cortex-M3的L1,到2014年基于M0的L0产品,一直到2015年、2017年持续给用户提供基于M4内核的L4和L4 。国内自主品牌的可穿戴手表有90%是基于L4和L4 这个产品线。去年ST发布了第一个基于Cortex-M33的STM32L5产品线,提升了整体安全性能和能效比,同时今年第一季度又发布了第一个基于40nm工艺的STM32U5产品线。
STM32U5产品线从宽度和高度两个维度来提升低功耗特性。宽度是指集成度,过去低功耗MCU最大集成的是2MB的Flash。在U5的最新规划中,今年会发布集成4MB Flash的产品。高度是指它的主频,过去不管是L4还是L5,产品线最高主频120MHz,现在会提升到160MHz主频。
MCU更加安全
开始注重安全问题乃是一个领域发展到高级阶段的体现,因为安全的技术投入和产出经常不成比例,很多时候还影响开发进度,但安全的缺失却足以造成致命打击。从MCU层面开始融入安全技术,让供应链下游的开发者将安全融入到开发生命周期中去,本身对MCU生态就是个比较积极的信号。
现在几乎每个MCU厂商都在MCU层面采取一些安全措施。比如,Silicon Labs旗下BG22蓝牙产品的安全性加强包括:专门硬件加速的加密、真随机数发生器、信任根安全启动、启动工程密码校验、Secure Debug with Lock/Unlock,以及Arm核本身支持的TrustZone。
国民技术是本土厂商中专门做“安全MCU”的企业,其安全芯片是一种为MCU融入安全技术,或者说增加相关安全模块的芯片产品。除了常规的MCU组成部分,其特点在于加强了芯片关键信息存储、运算过程的保护和抗攻击能力。下图中的红色部分即是国民技术为其安全芯片增加的安全模块。
相对典型的安全机制有安全存储技术,就是把明文的bin以密文的方式存储,程序执行时自动解密,每颗芯片的Key也各不相同,这与手机高级应用的数据保护措施颇为相似。还有比较典型的存储器分区隔离保护技术,这种技术会将Flash分成多个区,各区之间不能相互访问data与code。这一点针对不同层级做开发,比如语音识别厂商要将算法灌入MCU,方案整合商需要将应用场景整合进去,终端设备制造商又要修改人机界面。彼此藉由API访问,并不影响开发本身,同时做到防复制、防篡改、防擦除,保护多用户开发应用下的核心知识产权。
再比如各类密码算法硬件加速引擎的加入(包括国密算法)、时钟安全系统(外部时钟晶体失效时自动切换到内部RC振荡器)、固件安全更新(固件签名认证),以及一些防侧信道攻击的方案(典型如指令功耗平衡,因为攻击者通过功耗、发热等侧信道攻击方式是可以进行算法推断,进而获取资产的,指令功耗平衡可以切断这些侧信道攻击的可行性)。
MCU无线连接(Wireless)
过去几年,物联网 (IoT) 设备和无线连接产品(如无线传感器、智能电表、智能家居和可穿戴设备)出现了爆炸式增长。传感器和处理器等电子器件的成本逐渐降低,同时无线连接功能和AI性能的加持让许多产品变得更加“智能”,无需人工干预即可相互通信。然而,成功的AIoT产品必须满足特定应用的要求,比如低功耗、长无线连接范围,以及更高的计算处理能力等。
我们以一个典型的无线智能电表为例,其网络拓扑由多个简单的传感器节点(比如冰箱、空调和微波炉等)组成,这些节点通过传感器收集电量使用数据并将其传输到中央控制器或网关(Collector),从而保持与互联网和云服务平台的网络通信。这些节点和网关的设计必须最大限度地降低功耗、提供稳定可靠的网络连接,并尽可能扩展无线连接范围。
这一物联网系统的核心是微控制器 (MCU),负责处理数据并运行与无线收发器件接口的软件堆栈以实现无线连接和数据传输。MCU和无线器件的功能特性视特定的应用和系统要求不同,智能化的传感器节点集成传感器功能,并使用8位或32位MCU来运行小型的射频 (RF) 协议栈。这些物联网设备通常由电池供电,并通过无线连接到网关,由网关进行更繁重的处理和数据传输。MCU厂商可以通过增加高精度ADC或AI功能来提升其产品的竞争力,但集成无线连接功能及对各种无线协议(比如WiFi、蓝牙、Zigbee等)的支持将是决定MCU芯片在物联网应用市场能否成功的关键。
无线MCU将成为AIoT时代的标准处理器芯片,像Silicon Labs这样的国际厂商数年前就开始专注于IoT应用市场,甚至将其它业务剥离出去,而100%投入物联网,他们在各种无线连接通信协议的集成和支持上是值得关注的。而像乐鑫科技和联盛德等国内芯片厂商也开始在其芯片中集成更多的无线连接特性,他们有望把握住新兴的物联网机会,而成为AIoT时代的领导厂商。
MCU更小尺寸
为迎合物联网应用的需求,MCU开发商需要在性能、功耗和尺寸(PPA)三方面达到最佳平衡。前面我们大致介绍了高性能和低功耗设计,现在来探讨一下小尺寸的设计挑战。IoT 终端节点的基本要求是小尺寸,因为这些器件通常被限制在很小的基底面内。例如,可穿戴设备的设计,体积小和重量轻是获得客户认可的关键。
在小尺寸MCU的发展历史上,2004年Microchip推出的全球最小单片机是采用SOT-23-6封装的PIC10F系列。时至今天,该芯片仍然处于在产供应状态,这说明市场对MCU小尺寸需求的重视。
小封装 MCU 是控制体积受限型 IoT 终端节点应用的理想元件。许多MCU还有其它功能,可将一个功能非常强大的设计轻松放入引脚受限的形状内。灵活的引脚分配、自主运行以及智能化外设互连器件是小引脚数 MCU 先进特性的一些示例,它们进一步提升了MCU的适应能力。
转自 | 电子工程专辑