能量收集要求全面提高MCU效率
能量收集对新一代设备来说至关重要,它允许智能传感器部署到比以前的种类广泛得多的应用中。这些传感器与工业电机和穿戴传感器不同,支持在应用中实现连续状态监视,从而实现长期的身体健康测量。
虽然这些系统可以使用电池的能量,不需要将传感器连接到交流电源,但电池在使用中需要替换或充电。如果一旦电池放进比如大型电机或涡轮中,就很难去进行更换。不过许多这些应用的优势是它们自己可以收集能量。
工业电机的震动是可以利用的,通过使用合适的震动块和转换器,就能给监视它的系统提供能量。同样的,对于穿戴式传感器来说,震动和热能捕获可以给电容进行涓流充电,然后再用这个电容给传感器供电(表格)。
表:能量收集方法的功率密度。(来源:技术研究杂志)
接地
虽然这些系统提供了捕获能量的机制,但它们很少能产生设计师使用电池供电系统时习惯的能量等级。因此所设计的系统尽可能消耗最少的功率是很重要的。
降低逻辑电路功耗的一个关键目标是工作电压。对于CMOS电路来说,电压和功耗之间存在平方的关系,这从公式P=CV2f中可以看出来,其中C是电路的电容,f是开关频率,V是施加的电压。很明显,降低电压具有最大的降低功耗潜力。晶体管的近阈值和亚阈值工作提供了一种独特的方法,它能够将微控制器和其它逻辑电路的工作电压降低到远低于标准逻辑所要求的值。
近阈值和亚阈值工作背后的原理是,器件正常被认为“导通”的阈值电压不需要成为逻辑电路和模拟电路的要求目标。传统的逻辑晶体管设计在饱和时会通过大电流,以便给每个门后面的电容路径充电。不过无需将晶体管切换到完全饱和状态也可以给这些电路路径充电,而且允许电流更缓慢的流过。这样做的结果是导致逻辑切换状态的速度更慢,但在典型的传感器应用中,也不需要以最高的速度进行开关切换。
不过随着阈值电压越来越低,晶体管漏电流将呈指数式增加(图1)。
图1:随着阈值电压越来越低,晶体管漏电流将呈指数式增加。
当电压进一步降低到深亚阈值范围时,通过漏电流损失的能量比例将占主要地位,因此在考虑性能时出现了第二个极限因素,即供电电压究竟能降低到多少(图2)。
图2:当电压进一步降低到深亚阈值范围,通过漏电流损失的能量比例将占主要地位。
对亚阈值电路的设计师来说工艺变化以及供电电压接近于该阈值时的效应是个大问题。亚阈值电路高效设计的关键是减少这些变化效应的机制,比如专门设计用于克服这种变化的自适应电路。密歇根大学和Ambiq Micro公司多年的开发努力已经形成了诸如此类的许多亚阈值创新成果。整个设计流程也必须再设计,以便有效地发挥这种技术的优势——从用于实现亚阈值逻辑电路的标准单元库一直到测试nA和pA电流所需的测试策略。只有借助这种等级的投资,才可能最大限度地发挥亚阈值设计的节能效果。
虽然亚阈值工作可以最大程度地发挥电压与功耗之间平方关系的优势,但也并不永远是最合适的晶体管工作机制。因为亚阈值工作的性能影响,在近阈值甚至传统的超阈值机制中使用更高电压可能对某种电路更有好处。举例来说,在访问存储器块时并不总能从超低电压工作中受益。
在设计高功效的微控制器时,对电压、功耗与性能之间的折衷开展电路级分析非常重要。这项工作在位于Apollo系列微控制器核心的Ambiq亚阈值功耗优化技术(SPOT)平台上得到了广泛开展。
虽然电路级设计选择在优化能量收集物联网应用的功耗中发挥着重要作用,但系统级决策对总体能耗也有着重大的影响。一个重要的步骤是尽量减少不必要的活动,一般可以通过睡眠模式的智能运用达到这个目的。还可以通过充分利用处理器架构、最大限度地提高每个时钟周期完成的工作量来进一步增强性能。
微控制器通常具有一个以上的低功耗睡眠模式,从本地存储器和大多数外设保持加电状态但CPU内核本身处于空闲状态的轻度睡眠到大多数功能被关闭和断电的深度睡眠模式。由于少之又少的外设和内核功能保持在激活状态,所以节能效果有明显增加。不过仍有一些关键的设计折衷需要考虑。
一般情况下,物联网传感器节点需要持续监视周围的环境,并在系统状态改变时作出反应。优化低功耗嵌入式系统、特别是在使用能量收集的系统中依赖于间歇性能源的系统的关键是,找到可以对实时事件提供足够响应的最低功耗睡眠模式。
在实际系统中一个微控制器的最低功耗睡眠模式通常是这样的:实时时钟只管基本的一些设备管理功能,然后周期性地唤醒系统以检查活动。举例来说,系统每隔一秒醒过来检查外部状态是否改变,如果软件需要处理输入信号就完全唤醒处理器内核。但这种基于轮询的方法对于警醒状态相对很少以及不是均匀间隔的系统来说是非常浪费资源的。
让系统使用较高功耗的睡眠状态处理I/O、当超过阈值时快速唤醒处理器内核可以确保对随机中断作出更快的响应,但这些模式可能泄漏能量池,使得处理器没有足够的能量做出响应。不过仍可以将深度睡眠模式的一些最佳因素组合起来,为关键输入提供足够快速的响应。
可以采用超低功耗的实时时钟设计,它们能够检查许多外部事件,比如由硬件中断引起的事件,或由比较器检测到输入电压变化引起的事件。当检测到外部事件时,系统可以迅速进入唤醒状态,这样就不会出现实现轮询策略导致的功耗泄漏,从而最大限度地延长系统处于深度睡眠的时间。
在处理软件时,确保每个时钟周期达到最大工作量很重要。许多物联网传感器应用要求使用信号处理算法检测问题,并在问题转交给用户和/或云端之前对数据进行预处理。这将导致不仅要使用32位处理器架构而不是8位架构,因为32位架构使用较少的周期处理数**算,而且需要使用能够完全支持定点和浮点信号处理指令的架构。硬件支持浮点算术运算可以确保用少得多的周期执行算法,从而让内核快速回到更高能效的睡眠状态,进一步降低总的系统级功耗。这种组合要求促使设计师选用诸如ARM Cortex-M4F的处理器,如同Ambiq Apollo采用的那样。
|