32位MCU

该如何对8位以及32位的MCU进行选择?8位和32位MCU在功能上仍是互为辅助、各有千秋,这其中的诀窍就在于,需先了解什么样的应用适合什么样的MCU架构。

本文对比了8位MCU和32位MCU的使用案例,也可作为如何选择这两种MCU架构的指南使用。本文中大部分32位MCU的范例将关注ARM Cortex-M,Cortex-M在不同MCU供应商产品组合中表现得非常相似。鉴于8位MCU有很多种架构,所以很难对8位供应商产品进行类似的比较。为了便于进行比较,我们将使用广泛应用、易于理解的8051 架构,该架构深受嵌入式开发人员的青睐。

8位和32位MCU该如何选择?

有时,当我对比人们所熟知的事物(例如ARM和8051)时,感觉就像在物联网论坛上发出「《星际争霸战》比《星际大战》好看」的帖子一样,很快就能火起来。

事实上,ARM Cortex和8051哪个更好并不是个逻辑问题,就像是在问:吉他和钢琴哪个更好?真正要解决的问题应是哪种MCU能帮我更好地解决当下面临的问题。不同的任务需要使用不同的工具,我们的目的是要了解「如何才能更好地运用我们所拥有的工具」,包括8位和32位MCU。几乎可以肯定地说,那些简单回答「ARM更好」或「8051更好」的人各有其目的,他们也许正在试图销售某种产品。

对不同的设备进行比较,需要对其进行测量。有很多构建工具可供选择,我们尽量选择一些场景,我认为其能够进行最公平的比较,且最能代表开发人员的真实体验。

并非所有的MCU都是一样的

在开始对架构进行比较之前,要注意到并非所有生产的MCU都是一样的,这一点非常重要。如果将基于ARM Cortex-M0+处理器的现代MCU与30年前的8051 MCU进行对比,8051 MCU在性能对比上不会胜出。幸运的是,依然有许多供应商一直在对8位处理器持续投资。在许多应用中,8位内核能依然能够弥补M0+或M3内核不利的地方,甚至在一些方面性能更佳。

开发工具也很重要。现代嵌入式固件开发需要全功能IDE、现成的固件库、丰富的范例、完整的评估和入门套件以及助手应用以简化硬体设定、库管理和量产程式设计之类的工作。当MCU有了现代化的8位内核和开发环境后,在很多情况下,这样的MCU将超越基于ARM Cortex的类似MCU。

系统规模

一般性原则是,ARM Cortex-M内核更适用于较大的系统规模,而8051设备适用于较小的系统规模。中等规模的系统可以选择两种方式,这取决于系统要执行的任务。有必要注意一点,在大多数情况下,外设组合将会发挥重要的作用。如果需要3个UART、1个LCD控制器、4个时钟和2个ADC,你可能并不会在8位MCU上找到所有这些外设。

易用性vs成本和尺寸

对于中等规模的系统来说,使用任何一种架构都可以完成工作,需要权衡的是选择ARM内核带来的易用性,还是8051设备带来的成本和物理尺寸优势。ARM Cortex-M架构具有统一的存储映射模式,并且在所有常见编译器中支持完整的C99,这使得这种架构非常易于写固件。此外,还可得到一系列库和协力厂商代码。当然,这种易用性的代价就是成本。对于高复杂性、上市时间较短的应用或缺乏经验的固件开发人员来说,易用性是个重要因素。

尽管8位与32位组件相比有些成本上的优势,但真正的区别就在于成本级别。大家经常会发现具有2 KB/512 B(Flash/RAM)的小容量8位器件,而却很少见低于8 KB/2 KB的32位器件。在不需要很多资源的系统中,该范围的存储容量能够让系统开发人员获得显著降低成本的解决方案。因此,对成本极为敏感或仅需较小存储容量的应用会更倾向于选择8051解决方案。

通常,8位器件也具有物理尺寸上的优势。例如,某些MCU的32位QFN封装为4 mm×4 mm,而基于8051的8位器件的QFN封装可小至2 mm×2 mm。芯片级封装(CSP)的8位和32位架构之间的差异较小,但却使成本增加,且组装较难。对于空间严格受限的应用来说,通常需要选择8051 MCU来满足限制要求。

通用代码和RAM效率

8051 MCU成本较低的主要原因之一是,它通常比ARM Cortex-M内核更高效地使用Flash和RAM,这允许系统采用更少资源实现。系统越大,这种影响就越小。

但这种8位存储资源的优势并不总是如此,在某些情况下,ARM内核会像8051内核一样高效或比其更高效。例如:32位运算仅需要一条ARM设备指令,而在8051 MCU上则需要多条8位指令。显然,这种代码在ARM架构上有更高的执行效率。

ARM架构在Flash/RAM尺寸较小时的两个主要缺点是:代码空间效率和RAM使用的可预测性。首要也是最明显的问题是通用代码空间效率。8051内核使用1位组、2位组或3位组指令,而ARM内核使用2位组或4位组指令。通常情况下,8051指令更小,但这一优势因实际上花费许多时间而受到削弱,ARM内核比8051在一条指令下能做更多工作,32位运算就是这样一个范例。实践起来,指令宽度是能在8051上产生适度的更密集代码。

代码空间效率

在含有分散式访问变数的系统中,ARM架构的载入/存储架构通常比指令宽度更为重要。试想讯号量的实现,一个变数需要在代码周围的多个不同位置进行减量(分配)或者增量(释放)。ARM内核必须将变数载入到寄存器,对其进行操作并重新存储,这需要3条指令。另一方面,8051内核可以直接在记忆体位置上进行操作,且仅需1条指令。随着每次对变数完成工作量的增大,由于载入/存储而产生的消耗就变得微不足道。但对于每次仅完成一点工作的情况来说,载入/存储能产生重要影响,让8051获得明显的效率优势。

尽管讯号量在嵌入式软件中并非常见,但简单的计数器和标志讯号量却广泛应用于控制导向的应用中并起着相同的作用。许多常见的MCU代码都属于这一类型。

另一个原因是,ARM处理器比8051内核拥有更多的自由使用栈空间。通常情况下,8051设备针对每次函式呼叫仅在栈上存储返回位址(2位组),通常通过分配给栈的静态变数处理大量的任务。

在某些情况下,这会产生问题,因为这会造成函数预设不可重入。然而,这也意味着必须保留的栈空间很小,且完全可预测,这在RAM容量有限的MCU中至关重要。

架构细节

现在,我们来说基本情景。假设有基于ARM和基于8051的MCU各一个,配有所需的外设,那么对于较大的系统或需要重点考虑易用性的应用来说,ARM设备是更好的选择。如果首要考虑的是低成本/小尺寸,那么8051设备将是更好的选择。下面我们对于每种架构更擅长的应用进行更详细的分析,同时也划分出一般原则。

(1) 延时

两种架构的中断和函式呼叫延时存在很大差异,8051比ARM Cortex-M内核更快。此外,高级外设汇流排(APB)配备的外设也会影响延时,这是因为资料必须通过APB和AMBA高性能汇流排(AHB)传输。最后,当使用高频内核时钟时,许多基于Cortex-M的MCU需要分配APB时钟,这也增加了外设延时。

我做了1个简单的实验,实验中的中断是通过I/O引脚触发的。该中断对引脚发出一些信号,并根据引发中断的引脚更新标志。然后我测量了一些参数显示了32位的实现。

简单说明这个实验结果,8051内核在中断服务程式(ISR)进入和退出时显示出优势。但是,随着中断服务程式(ISR)越来越大和执行时间的增加,这些延迟将变得微不足道。和已有原则一致,系统越大,8051的优势越小。此外,如果中断服务程式(ISR)涉及到大量资料移转或大于8位的整数资料运算,中断服务程式(ISR)执行时间的优势将转向ARM内核。例如,一个采用新样本更新16位或32位移动平均的ADC ISR可能在ARM设备上执行得更快。

(2) 控制vs处理

8051内核的基本功能是控制代码,其中对于变数的访问是分散的,并且使用了许多控制逻辑(if、case等)。8051内核在处理8位资料时也是非常有效的,而ARM Cortex-M内核擅长资料处理和32位运算。此外,32位资料通道使得ARM MCU复制大包的资料更加有效,因为它每次可以移动4个位组,而8051每次仅能够移动1个位组。因此,那些主要把资料从一个地方移动到另一个地方(例如UART到CRC或者到USB)的流资料处理的应用更适合选择基于ARM处理器的系统。

这并不意味着有大量资料移动或32位运算的应用不应该选择8051内核完成。在许多情况下,其他方面的考虑将超过ARM内核的效率优势,或者说这种优势是不相关的。考虑使用UART到SPI桥接器,该应用花费大部分时间在外设之间复制资料,而ARM内核会更高效地完成该任务。

然而,这也是一个非常小的应用,可能小到足以放入一个仅有2 KB存储容量的器件就足够合适。尽管8051内核效率较低,但它仍然有足够的处理能力去处理该应用中的高资料速率。对于ARM设备来说,可用的额外周期可能处于空闲回圈或「WFI」(等待中断),等待下一个可用的资料片到来。在这种情况下,8051内核仍然最有意义,因为额外的CPU周期是微不足道的,而较小的Flash封装会节约成本。如果我们要利用额外的周期去做些有意义的工作,那么额外的效率将是至关重要的,且效率越高可能越有利于ARM内核。这个例子说明,清楚被开发系统所关注的环境中的各种架构优势是何等重要。做出这个最佳的决定是简单但却重要的一步。

(3) 指针

8051设备没有像ARM设备那样的统一的存储映射,而是对存取码(Flash)、IDATA(内部RAM)和XDATA(外部RAM)有不同的指令。为了生成高效的代码,8051代码的指标会说明它指向什么空间。然而,在某些情况下,使用通用指标可以指向任何空间,但是这种类型的指标是低效的访问。例如,将指标指向缓冲区并将该缓冲区资料输出到UART的函数。如果指标是XDATA指标,那么XDATA阵列能被发送到UART,但在代码空间中的阵列首先需要被复制到XDATA。通用指标能同时指向代码和XDATA空间,但速度较慢,并且需要更多的代码来访问。

专用区域指标在大多情况下能发挥作用,但是通用指标在编写使用情况未知的可重用代码时非常灵活。如果这种情况在应用中很常见,那么8051就失去了其效率优势。

(4) 通过选择完成工作

我已经注意到多次,运算倾向于选择ARM,而控制倾向于选择8051,但没有应用仅仅着眼于计算或控制。我们怎样才能表征广义上的应用,并计算出它的合适范围呢?让我们考虑一个由10%的32位计算、25%的控制代码和65%的一般代码构成的假定的应用,它不能明确地归于8位或32位类别。

这个应用也更注重代码空间而不是执行速度,因为它并不需要所有可用MIPS,并且必须为成本进行优化。成本比应用速度更为重要的事实在一般代码情形下将给8051内核带来微弱优势。此外,8051内核在控制代码中有中间等级的优势。ARM内核在32位计算上占上风,但是这并非是很多应用所考虑的。考虑到所有这些因素,这个特殊的应用选择8051内核更加合适。

如果进行细微的改变,假设该应用更关心执行速度而非成本,那么通用代码不会倾向于哪种架构,并且ARM内核在计算代码中全面占优势。在这种情况下,虽然有比计算更多的控制代码,但是总的结果将相当均衡。显然,在这个过程中有很多的评估,但是分解应用,然后评估每一元件的技术将?明并确保我们了解在哪种情况下哪种架构有更显著的优势。

功耗

当查阅资料手册时,很容易根据功耗资料得出哪个MCU更优的结论。虽然睡眠模式和工作模式电流性能在某些类型MCU上更优,但是这一评估可能会非常具有误导性。占空比(在每个电源模式上分别占用多少时间)将始终占据功耗的主导地位。除非两个器件的占空比相同,否则资料手册中的电流规格几乎是没有意义的。最适合应用需求的核心架构通常具有更低的功耗。

假设有一个系统,在设备被唤醒后添加一个16位ADC样本到移动平均,然后返回到休眠状态,直到获取下一个样本时才又被唤醒。该任务涉及到大量16位和32位计算。ARM设备将能够进行计算,并比8051设备更快返回到休眠状态,这会让系统功耗更低,即使8051具有更好的睡眠和工作模式电流。当然,如果进行的任务更适合8051设备,那么MCU功耗由于相同的原因而对系统有利。

8位或32位?我仍然不能决定!

如果考虑到所有这些变数后,仍然不清楚哪些MCU架构是最好的选择,会怎样?那好吧!这说明,它们都是很好的选择,你使用哪种体系结构并不是紧要的事情。如果没有明确的技术优势,那么过去的经验和个人喜好在你的MCU架构决定中也起到了很大的作用。

此外,你也可以利用这个机会去评估可能的未来项目,如果大多数未来专案更适合ARM设备,那么选择ARM,如果未来项目更侧重于降低成本和尺寸,那么就选择8051。

这到底意味着什么呢?

8位MCU仍然可以为嵌入式开发人员提供许多功能,并且越来越关注物联网。当开发人员开始设计时,重要的是确保从工具箱中获得合适的工具。虽然我还是很乐意把8051出售给可能更适合选择32位设备的客户,但是我不禁想象,如果开发人员仅仅花费1个小时思考就作出决定,那么他们的工作将会更加容易、最终的产品将会更好。

实际上的难题是,不能仅仅依赖于一些演示文件中的一两个要点,就得出选择MCU架构的结论。然而,一旦你有正确的资讯,并愿意花一点时间应用它,就不难作出最佳选择。(文章来源:新电子)

转自:嵌入式资讯精选

围观 345

作者: 新唐科技

1、前言

传统的低功耗MCU设计都是以8位MCU为主,因为8位内核逻辑门数相对较少,运行或泄露电流低,售价也相对低廉。但是,许多新兴的应用都需要比8位内核更大的处理效率。近年智能生活的抬头、物联网的建立,便携式消费性电子产品与无线功能需求越来越高、设计越来越复杂,要提高性能的同时又要兼顾低功耗,需要有一款高性能低功耗的主控MCU来作为平台。另一方面,工业上的智能化也在展开,如远程监控、数字化、网络化等。简单说来,就是人物连接(云端应用)、物物连接(物联网)需求越来越多,导致产品功能越来越复杂,计算量越来越高,2009年ARM发表了32位Cortex-M0内核,提供给MCU厂商一个强而有力的平台,加上工艺微缩技术的进步,嵌入式闪存工艺普及化及降价,主要成本来自内存大小及模拟外设和IO引脚数量,CPU内核的成本差异已大幅缩短,更促进了高性价比32位低功耗MCU的快速发展。

2、MCU功耗来自何处?

在开始讨论低功耗MCU设计前,必须先探讨MCU功耗的来源,其主要由静态功耗及运行功耗两部分组成。考虑实际的应用,最后决定系统功耗性能指针则必须计算平均功耗。

2.1 运行功耗

现代MCU已集成相当多的模拟外设,不能单纯考虑数字电路的动态功耗。MCU运行时的总功耗由模拟外设功耗和数字外设的动态功耗相加而得。模拟电路的功耗通常由工作电压及其性能要求指针来决定,例如100ns传输延迟(Propogation Delay)的比较器工作电流可能约为40微安,当允许传递延迟规格为1μs时,工作电流有机会降到几个微安。

数字电路的动态功耗主要来自开关频率、电压及等效负载电容,其计算公式如下:

PDynamic(动态功耗) ~ f(工作频率) x CL(等效负载电容) x VDD2(工作电压)

由以上公式可以理解到降低动态功耗最直接的方式是降低工作电压及工作频率。但MCU实际应用通常要求更宽广的工作电压及更高的性能。在降低工作电压方面,可以选择更新的工艺,并通过LDO让CPU内核、数字电路及与引脚输入输出电压无关的模拟外设在低压工作,IO引脚及需要与其他外部电路连接的模拟外设则在较高的系统电压工作。如此可以兼顾低功耗及宽工作电压的需求。在降低工作频率这项参数上,一个设计优良的32位MCU更能突显其性能优势,除了直觉的MIPS比较之外,32位总线也代表更高的数据存取带宽,能以更低的工作频率达到相同的性能,进而降低整体功耗。另外,如果MCU内置与工作频率相关的模拟外设,例如石英晶体振荡电路、嵌入式闪存或电流式DAC,其电流消耗与转换频率成正比,也要纳入低功耗MCU的动态功耗设计考虑。

2.2静态功耗

传统静态功耗的定义是指系统时钟源关闭时数字电路的漏电流。但是在混合信号低功耗MCU的设计中要同时考虑下列多种漏电流来源,包含数字电路漏电流、SRAM漏电流、待机时已关闭的仿真电路漏电流(例如ADC,嵌入式闪存)、待机时不关闭的仿真电路工作电流(例如LDO、BOD)及IO引脚的漏电流。因为时钟源已关闭,影响静态功耗的主要参数为工艺、电压及温度。因此,降低静态功耗必须选择超低功耗工艺,但是低功耗工艺通常伴随较高的Vt,导致低电压模拟外设设计困难。另外,以MCU待机电流1微安的规格,代表数字电路漏电 + RAM保持电流 + LDO工作电流 + BOD(掉电检测或重置电路)工作电流总和必须小于1微安,对于Flash,RAM越来越大及功能越来越多的低功耗MCU设计厂商而言,是十分艰巨的挑战。

2.3平均功耗

在系统级要兼顾低功耗及高性能,必须考虑实际应用的需求,例如无线环境传感器可能让MCU主时钟及CPU关闭,只开启低频时钟,定时唤醒外围电路进行检测,当符合设定条件的事件发生时快速启动CPU进行处理,即使没有任何事件发生,也必须定时激活CPU维持无线传感器网络的联机。在遥控器的应用中,则可能完全将所有时钟源都关闭,当用户按键时快速唤醒时钟源及CPU进行处理。另外,许多应用都会加入一个MCU作为主机处理器的协处理器,用于监控键盘或红外线输入、刷新显示器、控制主处理器电源以及智能电池管理等任务。此时平均功耗比单纯的运行功耗或待机功耗更具指标性意义。

平均功耗由下列主要参数组合而成:运行功耗及运行时间,静态待机功耗及待机时间,不同运行模式之间的切换时间。兹以下图进行说明:

32位低功耗MCU的设计

32位低功耗MCU的设计

因为进入待机模式时间很短,忽略此段时间的电流消耗,公式可以简化为:
32位低功耗MCU的设计

由以上公式观察到除了降低运行电流及静态待机电流外,降低运行时间、唤醒时间及高低速运行模式切换时间也是降低整机功耗的重要手段。另外,上图同时指出,低功耗MCU支持动态切换运行时钟频率是必要的功能。

3、低功耗MCU设计考虑

3.1 工艺选择

为了达到低功耗的运作,并能有效地在低耗电待机模式下达到极低的待机功耗,可以通过对工艺的选择而达到基本的要求门槛。在不强调速度极致的某些工艺分类,选择极低组件截止电流工艺(如下图)进行逻辑门制作,并进行数字设计是方法之一。选择这种策略的额外效益是,通常也能在降低动态工作电流上,达到较好的表现。另外,由于高温大幅增加静态电流,当温度由摄氏25度增加到摄氏85度时,一个典型比例约增加10倍的静态电流,以非低功耗0.18微米工艺开发的32位MCU,逻辑门数200K、4KB SRAM在核心电压1.8V、摄氏25度的静态耗电约为5~10微安,当温度升高到摄氏85度时,静态待机电流将会飙升到50~100微安。而低功耗工艺在摄氏85度仅约10微安静态电流。

32位低功耗MCU的设计

3.2 低功耗高性能的CPU内核

早期低功耗MCU受限于成本及工艺技术,大都选择8位CPU内核,但随着工业上的智能化也在展开,如远程监控,数字化、网络化等。简单说来,就是人物连接(云端应用)、物物连接(物联网)的需求越来越多,导致产品功能越来越复杂,计算量越来越高,8位MCU已逐渐无法满足性能需求。为了兼顾低功耗高性能,选择适用的32位CPU内核是大势所趋。

选择低功耗CPU内核,除了单位频率耗电流外,还需要综合考虑紧凑的低内存代码,相同功能所需的代码越长,除了增加内存成本,也代表更长的运行时间及功耗。另外,由于软件开发成本在后期将会越来越高,大量的参考代码及更多的第三方开发商的支持,都可以有效降低软件的开发时间及成本。所以选择一款更多人使用的CPU内核也是重要的考虑之一,ARM Cortex-M0逻辑门数仅27K,使用的电量在1.8V,超低泄漏180ULL (Ultra Low Leakage)仅约50μA/MHz。M0内核采用Thumb2指令集架构,产生出非常紧凑的低内存代码,进一步降低了电源需求。ARM自2009年发表了32位Cortex-M0内核以来,包括NXP、新唐科技、ST、Freescale等多家国内外MCU大厂相继投入Cortex-M0 MCU开发,不论供货或者品种的齐全度都已十分成熟,投入Cortex-M0的MCU开发商也在持续增加中。

3.3 低功耗数字电路

对于一般的同步数字电路设计,要使数字单元有效降低工作电流,通过控制时钟的频率或截止不需要的时钟跳动,也是重要的方法。低功耗MCU通常配备丰富的时钟控制单元,可对个别的数字外设单元依照需求做降频或升频的工作调整,在达到工作能力的同时,用最低的频率来运行。但为了达到更弹性的时钟源配置,可能导致CPU内核和外围电路时钟不同步的现象,此时必须仔细考虑电路设计,保证跨时钟领域数据存取的正确性。

另外,为了尽量降低CPU介入处理的时间或降低CPU工作频率而节省下来的功耗,可以提供DMA或外围电路相互触发电路进行数据的传递,例如Timer定时自动触发ADC或DAC,并通过DMA进行数据由ADC到RAM或者RAM到DAC的搬移,同时在ADC的输入可以增加简单的数字滤波及平滑化电路,这样可不需要CPU经常介入处理,也不会因为需要实时处理ADC或DAC事件导致中断程序占用太多时间,降低系统的实时性及稳定性。

3.4 支持多种工作模式

为了配合不同的应用需求,并达到系统平均功耗的最小化,低功耗MCU需要提供多种工作模式,让用户灵活调配应用,常见的工作模式有下列几种:

● 正常运行模式:CPU内核及外设正常工作,能实时改变CPU及外设的工作频率(On the Fly)或关闭不需要的时钟源以获得最佳的工作性能。

● 低频工作模式:CPU内核及外设工作于低频的时钟源,例如32.768K晶振或内部低频10K RC振荡器。通常此时最大的耗电来源为嵌入式闪存及LDO本身的耗电流。如果此时的执行程序不大,可以考虑将程序运作于RAM以降低平均功耗。请注意并不是所有MCU都能支持在RAM执行程序。

● Idle模式:CPU内核停止,时钟源和被致能的外围电路持续工作,直到外围电路符合设定条件唤醒CPU进行数据处理或控制执行流程。通常高频的运行模式,CPU及嵌入式闪存消耗相当大比例的电流,故Idle模式能有效降低平均功耗。

● 待机RAM保持模式:CPU内核及所有时钟源关闭,内置LDO切换到低耗电模式,但是RAM及IO引脚持续供电,维持进入待机之前的状态。

● RTC模式:CPU内核及高频时钟源关闭,内置LDO切换到低耗电模式,由于此时LDO供电能力降低,仅能提供低耗电的外围电路运行,例如32.768K晶振、RTC(实时时钟计数器)、BOD(掉点检测或重置电路)、TN单色LCD直接驱动电路等。

● 深层待机模式:CPU内核及所有时钟源关闭,关闭RAM及LDO、BOD等所有外围电路的电源,仅IO引脚(或部分IO引脚)持续供电,由IO引脚或重置(Reset)引脚唤醒CPU。因为此模式下,RAM的数据已丢失,通常会进行内部电源切割,提供数十个状态记录缓存器作为系统重启时的初始状态参考源。此模式的优点是更低的静态电流,通常仅需100nA~500nA,其缺点是并非所有的应用都可以忍受RAM数据丢失及系统重启。

3.5 电源系统的考虑

在多电源系统的应用上,必须考虑低功耗MCU的内部电源规划或自动切换,以下以市电/备用电池双电源系统及内置USB接口,但平常由电池供电的移动设备来举例说明。

● 市电/备用电池双电源系统:MCU平常由市电经由交直流转换电路供电,当市电断电时,经由连接在备用电源的独立供电引脚进行供电,同时在MCU内部进行电源切割,并提供一个可靠的备用电源自动切换开关,确保市电正常供电时备用电池不会持续被消耗。但仔细考虑,其实有两种状况可能发生,一种是备用电池仅供电给部分低耗电的外围电路,例如32.768K晶振、RTC时钟电路、数据备份寄存器等。当市电来时MCU将重新启动。另外一种状况是当市电断电时,有可能MCU及部分外围电路会被唤醒工作,然后再次进入待机模式。智能型电表就是此类应用的典型代表。在此种应用中,备用电池需要供电给整颗MCU,所以电源自动切换开关必须能承受更高的电流,相对成本也较高。

● 内置USB接口移动设备:此类设备平时由两节电池供电或锂电池供电,工作电压可能为2.2V到3V,当连接到USB时,USB接口转由VBUS供电。此类低功耗MCU如果没有内置5V转3V的USB接口LDO将会产生下列问题,当连接USB时必须由外挂的LDO将USB VBUS的5V电源转换为3V电源同时提供给MCU VDD及USB接口电路,但又必须避免LDO输出的3V电源与脱机工作时的电池电源发生冲突,将会需要外加电源管理电路,增加系统成本及复杂度。

3.6 丰富的唤醒机制及快速唤醒时间

有许多的系统应用场合,需要由外部的单一信号、键盘或甚至串行通信信号来激发MCU启动整体系统的运作。在未被激发的时候,微控制器或甚至大部分的整机需要处于最低耗电的待机状态,以延长电池的寿命。能够在各种需求下被唤醒,也成为微控制器的重要特征。MCU能拥有各式不同的唤醒方式,包括各I/O可作为激发唤醒的通道,或是由I2C、UART、SPI的信道作为被外界组件触发唤醒,或使用内、外部的超低耗电时钟源,通过Timer来计时唤醒。诸多的唤醒机制,只要运用得当,并配合微控制器的低功耗工作切换模式,可以使MCU几乎时时处于极低功耗的状况。

配有快速、高效率内核的MCU,可以在每次唤醒的当下短暂时间里,完成应有的工作与反应,并再次进入深层的低待机模式,以此达到平均耗能下降的目的。但是,如果唤醒后开始执行微指令的时间因为某些因素而拖延得很长,将会使降低总体耗电的目标大打折扣,甚至达不到系统反应的要求。因此,有些MCU,配合起振时间的改进,逻辑设计的配合,使得唤醒后执行指令的时间至少降到数个微秒之内。

3.7 低功耗模拟外设及内存

低功耗MCU在运行时除了CPU内核及被使能的数字外围电路在工作外,越来越多被集成到内部的模拟外围电路也是耗电的主要来源。以最简单的while (1);执行语句来分析运行功耗,共包含下列耗电来源:CPU内核、时钟振荡器、嵌入式闪存内存、及LDO本身的消耗电流。代入以下典型值数据将会更清楚显示各个部分对耗电的影响:

● 工作频率12MHz,MCU电压3V,LDO输出1.8V供给CPU内核、内存及其他数字电路

● 低功耗Cortex-M0内核:600μA

● 嵌入式闪存内存:1.5mA

● 低功耗12MHz晶振电路:230μA

● LDO本身的静态消耗电流:70μA

● 总和 = 0.6 + 2 + 0.23 + 0.07 = 2.4mA,平均功耗约200μA/MHz

其中耗电比例最高的是嵌入式闪存内存。如果要工作在更高频率,通常会启动内置的PLL提供更高频率的时钟源,在1.8V供电的典型PLL,12MHz输入输出48MHz工作电流约为1~2mA,如果不能有效降低PLL耗电,对高频工作的低功耗MCU将是一大电流负担。

LDO的最低静态功耗、32.768kHz晶振电路、BOD及TN LCD驱动电路的工作电流,都会大大影响到待机或RTC模式的功耗指针。以低功耗应用的热能表为例,RTC加LCD显示的功耗要求在3V/8μA以下,这代表可以预估分配给下列电路的电流预算为:LDO静态功耗0.5μA + 32.768kHz晶振及RTC电路1μA + BOD 1μA + TN LCD驱动4μA + LCD玻璃1μA + 所有数字电路及模拟外设漏电流0.5μA。这些模拟外设除了低耗电要求,同时必须兼具要求批量生产及温度变化时的一致性,这对模拟设计人员将是一大挑战。

快速唤醒这个性能指针也会影响到下列模拟外设的稳定时间。当MCU从低耗电的待机模式唤醒时,首先要将LDO快速切换到高供电模式,启动内部高速RC振荡器,使能嵌入式闪存及CPU,以上所有电路的稳定时间总和必须在数个微秒内完成,才能符合快速唤醒的需求。

另外一个容易被忽略的设计是外围电路启动电流,因为相当多的便携设备采用CR2032小型锂电池,瞬间推动力仅有数mA,尤其使用一段时间瞬间推动力会更低,当MCU被唤醒时果外围电路启动电流总和太大时,将会导致CR2032输出电压骤降而导致MCU重置(Reset)或工作不正常。为了避免此问题,除了降低外围电路的启动电流,另一种方法是分时分段启动外围电路,不要集中开启太多耗电的电路。

4、平均功耗计算范例

为了让读者更具体了解平均功耗的计算,以新唐科技的低功耗32位MCU Nano系列及血糖计应用为例,进行使用年限的预估。新唐的Nano系列低功耗32位MCU的CPU内核为Cortex-M0,具有200uA/MHz低运行功耗、待机电流仅需1uA、7uS快速唤醒、多重时钟信号来源及多种工作模式,多达128KB Flash、16K SRAM及12位ADC、12位DAC、SPI、I2C、I2S、UART、LCD、Touch Key等丰富外设,符合低功耗、高性能MCU应用需求。

此血糖计范例采用CR2032 230mAh电池,使用方式、运行功耗及静态功耗如下表所示。

32位低功耗MCU的设计

使用年限的计算方式请参考下表。量测时间比例、显示时间比例及待机时间比例可由上表求得。例如,量测时间比例为“6次 x 0.25分钟 / (60 x 24)分钟 = 0.1%”。其余时间比例依此类推。量测平均电流为“量测时间比例 x (MCU工作耗电流 + 外部量测电路耗电流 + 待机(含RTC)耗电流 + LCD耗电流 + CR2032自放电)”。显示平均电流为“显示时间比例 x (待机(含RTC)耗电流 + LCD耗电流 + CR2032自放电)”。待机平均电流为“待机时间比例 x (待机(含RTC)耗电流 + CR2032自放电)”。最后计算出使用年限约为2.77年。由于待机时间比例高达99%,故血糖计应用待机电流为延长使用年限最重要的参数。
32位低功耗MCU的设计

5、结论

低功耗MCU设计是一个需要多面向考虑的复杂工作,本文仅阐述基本设计理念。开发低功耗MCU产品时,不只要挑战电路设计的高困难度,更要由客户应用的角度考虑性价比,功能最强的不一定是最好的。往往性价比最适合的才能在市场上取得成功。由于智能电网、物联网、远程控制、自动化管理等低功耗高性能应用需求量持续增加,在可以预见的未来,32位低功耗MCU将逐渐取代8/16位低功耗MCU,成为市场主流。

转自: xiahouzuoxin

围观 524

基于RX65N、RX130和RX231 MCU的目标板,助力快速启动触控式家电以及楼宇和工业自动化应用领域的嵌入式设计

全球领先的半导体解决方案供应商萨瑞电子株式会社(TSE:6723)今天宣布推出三款基于RX65N、RX130和RX231微控制器(MCU)的新型目标板,旨在帮助工程师快速启动其家电、楼宇和工业自动化应用的设计。目标板定价在30美元以下,从而降低了价格门槛,可以让更多系统设计人员从瑞萨电子众多的32位RX MCU系列产品的优势中获益。

RX目标板为嵌入式设计人员提供了一个便宜的切入点,用于开始评估,原型设计和产品开发。每个目标板套件都具有片上调试工具,无需购买额外工具即可进行应用设计。通孔引脚头提供了所有MCU信号引脚的接口,使客户可以轻松连接到标准面包板以实现快速原型设计。

瑞萨电子高级MCU业务高级总监Tim Burgess表示:“RX目标板评估概念的独特之处在于将同样的PCB用于所有MCU产品的创新方法。由于瑞萨RX MCU系列的每个产品都有共同的引脚分配,客户可以使用相同的PCB封装版本在不同的RX组以及RX组内各系列之间实现平滑移植。对于RX目标板而言,我们在板上内置了广泛使用的100 引脚LQFP封装。”

RX目标板为设计人员提供了开发板和演示板所需的一切,包括电路板电路图和材料清单、演示源代码、用户手册和操作说明。且不久之后,还将推出其它类型的目标板,以全面覆盖从低功率RX100系列到高性能RX700系列的完整RX系列。

RX65N MCU的主要特点

RX65N MCU Group集成了增强的RX CPU内核架构,运行速率为120 MHz,可实现4.55 CoreMark / MHz的处理能力。MCU包括集成的TSIP、增强且高可靠性闪存以及运用于工业物联网(IIoT)边缘的工业和网络控制系统的人机界面(HMI)。RX65N MCU集成了嵌入式TFT控制器和2D图形加速器等先进功能,非常适合于IIoT边缘设备或系统控制应用中的TFT显示。此外,RX65N MCU还包括嵌入式通信处理外设,如以太网、USB、CAN、SD主/从接口以及四通道SPI等。

RX130 MCU的主要特点

RX130系列MCU的运行速率为32MHz,闪存容量最高达512KB,封装引脚数最多达100,可以提供更高性能,并与支持触控技术的RX231/RX230系列MCU兼容。超低功率且低成本RX130系列MCU为需要3V或5V系统控制以及低功耗的触控式应用提供了更高的响应能力和更强大的功能。新型32位RX130 MCU采用新型电容式触控IP、具有更高的灵敏度和稳健性,配备了全面的产品评估环境,非常适合用于具有挑战性的非传统触摸材料设计的设备,或需要在诸如厨房,浴室或工厂地板等潮湿或不洁环境下工作的设备。

RX231 MCU的主要特点

RX231系列MCU的运行速率为54MHz,将32位RXv2 CPU内核和改进的DSP/FPU相结合,实现超高功效。甚至在低电流供电条件下,也可执行高性能数字滤波、浮点运算及其他处理功能。RX231系列产品提供多种通信安全和加密功能,配备了兼具高灵敏度和高噪声容限的电容式触摸传感器,还提供SD主接口、USB和CAN通信功能。

定价和供货

RX目标板现已开始通过瑞萨电子全球分销商供货,建议零售价低于30美元。如需了解更多信息,请访问 www.renesas.com/rxtb

围观 360

意法半导体的STSPIN32F0A可编程电机控制器在一个7mm x 7mm紧凑封装内整合全集成化栅驱动器(用于驱动三个外部MOSFET半桥)、STM32F0微控制器(MCU)以及3.3V DC/DC开关式转换器和12V LDO低压差稳压器,让设计人员可以根据不同的情况灵活地开发电机控制系统。内置32KB闪存的48MHz微控制器能够运行电机控制算法,例如,6步无传感器矢量控制或位置检测控制算法以及用户应用软件。

意法半导体(ST)推出内置32位MCU的电机驱动器

STSPIN32F0A拥有6.7V到45V的宽工作电压,在移动机器人、云台或无人机内,电源可使用小至仅一对 LiPo锂电池。新电机控制器还是电动工具、空气净化器和小冰箱等便携电器以及服务器散热风扇和3D打印机的理想选择。

开发人员可利用16个可编程I/O引脚和微控制器外设处理电机back-EMF[1]或位置传感器/霍尔传感器反馈数据,无需CPU介入,即便转子接近静止时,仍能保持控制精度。这些引脚外设包括一个12位9通道ADC转换器和三个运放。此外,运放还可以处理其它任务,例如,通过旁路电阻检测电流。

其它的MCU资源还包括五个通用定时器和I2C、UART和SPI接口。用户还可以使用boot loader程序,根据实际情况灵活地选用固件空中升级或更新。

栅驱动IC的输出电流达到每路600mA,为设计人员提供了更广的MOSFET管选择范围,能够控制各种额定功率值的电机。内部自举二极管保证启动的可靠性,内置保护功能包括实时可编程过流保护 、交叉导通/击穿保护、欠压锁保护(UVLO)和过热保护。

STSPIN32F0A还集成了3.3V DC/DC转换器和12V LDO低压差稳压器,分别用于给微控制器和栅驱动电路供电,从而进一步简化了系统设计和物料清单。

这款MCU驱动的电机控制器受益于意法半导体强大的STM32开发生态系统,其中包括STM32Cube软件包、STM32 Nucleo硬件开发板和STM32合作伙伴计划内的经过验证的第三方资源。

STSPIN32F0A即日上市,采用7mm x 7mm QFN封装。

产品详情访问 www.st.com/stspin

[1] 反电动势

围观 334

Microchip Technology Inc.(美国微芯科技公司)日前宣布推出SAM D5x和SAM E5x单片机(MCU)系列产品。这些32位MCU系列新品提供各种连接接口,不但性能强大,还具有基于硬件的可靠的安全特性,适合于多种应用。

SAM D5/E5单片机将ARM® Cortex®-M4处理器的性能与浮点单元(FPU)集于一身。这避免了使用中央处理单元(CPU),提高了系统能效,支持低功耗平台上的进程密集型应用。运行速度高达120 MHz的D5x和E5x MCU具有支持纠错码(ECC)的1 MB双区闪存,不用中断系统运行就很容易进行现场更新。此外,这些系列的SRAM高达256 KB,也支持ECC,为医疗设备和服务器系统等任务关键应用提供了必要支持。

这些新MCU拥有多个接口,提高了设计的灵活性,即使是最苛刻的连接也能满足其需求。这些系列包括一个具有就地执行(XIP)特性的四路串行外设接口(QSPI)。这样,系统能够使用高性能串行闪存,与传统的引脚并行闪存相比,不但体积小而且价格低,满足了外部存储器需求。SAM D5/E5器件还具有用于数据记录的安全数字主控制器(SDHC)、实现电容触摸功能的外设触摸控制器(PTC),一流的运行功耗性能(65 uA/MHz)适合关注高能效的应用。此外,SAM E5系列包括两个CAN-FD端口和一个支持IEEE 1588的10/100 Mbps以太网媒体访问控制器(MAC),因此非常适合工业自动化、家庭联网和其他物联网(IoT)应用。

SAM D5x和E5x系列均提供全面的加密硬件和软件支持,使开发人员能够在开始设计时便融入安全措施。基于硬件的安全特性包括支持椭圆曲线加密(ECC)和RSA方案的公钥密码控制器(PUKCC),以及高级加密标准(AES)密码和安全哈希算法(SHA)。

Microchip推出两款具有多种连接接口的SAM单片机系列新品

Microchip的MCU32业务部副总裁Rod Drake表示:“应用变得越来越复杂,迫切需要有较多连接选择和灵活外设支持的高速MCU。对于寻求经济高效解决方案的开发人员而言,SAM D5/E5单片机凭借其强大的性能、丰富的接口以及内置的安全特性,能很好地满足需求。”

开发支持

采用SAME54 Xplained Pro评估工具包可立即启动开发。该工具包集成了一个板上调试器和其他外设,进一步简化了设计过程。所有SAM D5x/E5x MCU都是由Atmel Studio 7集成开发环境(IDE)以及Atmel START提供支持的。Atmel START是一款免费的在线工具,用于配置外设和软件,以加速开发。

供货

多种引脚数和封装选择的SAM D5x和SAM E5x器件现已批量供货。
SAM D5/E5系列器件10,000片起可批量供货。
SAM E54 Xplained Pro评估工具包现已开始供货。

如果需要了解详细信息,请联系Microchip销售代表或者全球授权分销商。如果需要购买文中提及的产品,请访问Microchip使用方便的在线销售渠道microchipDIRECT,也可以联系Microchip的授权分销合作伙伴。

围观 351

功能丰富的Giant Gecko微控制器帮助开发人员解决复杂的IoT应用

Silicon Labs新型EFM32GG11 Gecko系列产品为低功耗MCU市场提供最先进的功能和最大的内存空间

Silicon Labs (亦称“芯科科技”,NASDAQ:SLAB) 日前扩展了其节能的工业级微控制器 (MCU) EFM32® Gecko产品组合,提供更高的性能、更多的功能和更低的功耗。新型EFM32GG11Giant Gecko MCU系列产品提供低功耗MCU市场中最先进的功能集,主要面向智能测量、资产跟踪、工业/楼宇自动化、可穿戴和个人医疗等应用。Giant Gecko MCU集成了峰速高达72MHz的处理性能、大存储容量、外设和硬件加速器,以及完整的软件工具,其中包括业界领先的Micrium® OS。

IoT应用越来越复杂,驱动了对于多传感器、复杂用户界面显示、高级算法和无线协议栈的需求。随着功率预算的缩小,MCU必须在睡眠模式时也尽量节能,以最大限度的延长电池寿命。Giant Gecko MCU通过提高集成度、性能和能源效率来应对这些挑战。

Silicon Labs物联网产品高级营销总监Tom Pannell表示:“Giant Gecko MCU提供了以前仅在高功耗MCU上才存在的用户体验。基于Gecko十年进化而来的成就,Giant Gecko系列产品为开发人员提供了性能、功能和设计能力的巨大飞跃。”

Giant Gecko系列产品能够提供以下功能:
· 支持性能密集型应用的ARM® Cortex®-M4处理器内核。
· 同类MCU中最大的片内存储容量(高达2MB闪存和512KB RAM),以支持更多的代码大小、调试能力、空中(OTA)更新、数据记录和丰富的图形界面。
· SD/MMC和Octal/Quad-SPI存储器接口,支持存储密集型应用的额外存储扩展能力。
· 快速唤醒/睡眠转换和低能耗架构,允许自主访问传感器输入,支持低功耗外设自主操作。
· 超低功耗:活动模式下为77μA/MHz,深度睡眠模式下为1.6μA。

Giant Gecko MCU集成了丰富的通讯接口和控制器:
· 10/100以太网媒体访问控制(MAC),用于基于IP的工业控制。
· 可以接SDIO接口的WiFi模块,用于基于IP的无线云连接。
· 单或双CAN总线控制器,用于工业控制应用。
· 免晶体USB控制器,用于实现经济高效、超低能耗的USB连接。
· 支持像素混合叠加(Alphablending)加速器的TFT LCD显示驱动和超低功耗段位式LCD驱动器,用于更丰富的用户界面。
· 基于电流的电容式感应引擎提供强大的触摸输入和超低功耗触摸唤醒,简化电容感应应用的开发。

Giant Gecko系列产品提供安全可靠的平台,可用于构建采用最佳加密算法的应用。该系列MCU具有高能效的安全加速器,可以运行高级算法,获得比传统软件方法更高的性能和更低的功耗;并具有安全管理单元(SMU)以支持对外围设备访问的精确安全控制,以及NIST认证的真随机数发生器(TRNG)用于更高的安全随机化。

Giant Gecko MCU提供QFN、QFP和BGA封装选项,最大支持192个引脚,其中也包括许多与现有EFM32 MCU引脚兼容的封装。通过与整个EFM32 MCU和EFR32 Wireless Gecko SoC系列产品软件兼容,获得最广泛的软件重用,减少了开发人员的设计时间和成本。

Silicon Labs的Simplicity Studio开发工具支持Gecko MCU,在统一的基于Eclipse的开发环境中为开发人员提供一键式访问完成项目所需的一切资源。Simplicity Studio包括图形化配置、高级能耗监视、网络分析和电容触摸配置工具,以及软件示例和文档。Giant Gecko MCU本身即支持Micrium OS,开发人员可以通过Simplicity Studio轻松访问Micrium工具。

EFM32GG11 Giant Gecko MCU的工程样片已经准备就绪,预计于2018年第一季度批量生产。此外,SLSTK3701A Giant Gecko开发套件也已经准备就绪,欲订购EFM32GG11工程样片和开发套件,请浏览网站: www.silabs.com/giantgecko

围观 224

页面

订阅 RSS - 32位MCU