降低嵌入式系统能耗需求的解决方案介绍
扫描二维码
随时随地手机看文章
减少能源是世界上广泛存在的运动,涵盖电器,交通,娱乐,通信,计算,医疗设备等项目。使用电力的一切都消耗能量,从而消耗能量。由于能源是由战争产生的,并且成本上升,涓流效应使得一切对能源效率更敏感,特别是在产品寿命期间的能源成本方面。
当我们受到挑战时,已经取得了巨大的进步,我们所有人都感受到了这些好处。例如,当加利福尼亚州立法规定冰箱必须更节能时,该行业迎接挑战,创造了满足指导方针所需的新技术,世界上每个人都因此而变得更好。根据加利福尼亚大学的研究,仅在加利福尼亚,部署低能耗冰箱所节省的能源就无需在10年内建造50座燃煤电厂。当人口众多时,乘以很少的积蓄就会增加。
与电加热元件相比,任何微处理器或微控制器所需的能量似乎都微不足道。然而,庞大的人口乘数使得这个数字非常显着,特别是在虚拟载荷方面。幻象负载是即使在关闭设备时也会消耗功率的设备。因为我们生活在一个随需应变 - 我们现在想要它 - 社会,像电视机这样的东西,不断吸取相当大的力量,以便能够‘加速’更快。
能源研究表明,仅在美国,高达10%的国内电力是由于幻象负载造成的,而嵌入式智能可以改变我们周围世界的运作方式。像Qi新无线电源标准中使用的更智能的电源,在完全充电或不需要时自行关闭。
随着更多电池供电的玩具和设备的使用,微控制器本身也在进行转型,以减少运行时的能源需求。这可以延长电池寿命。这不仅仅是一个市场营销,当你的小工具可以在电池上使用更长时间时,这可以节省生命。例如,您想要更换除颤器或起搏器的频率。
低压CMOS工艺大大降低了现代微控制器所需的功率,但是,设计系统的能源要比制造工艺低得多。设计一个减少能源的系统需要不同的思维方式。此外,必须有硬件资源以及软件开发工具才能将这种节能提升到新的水平。
本文重点介绍一种降低嵌入式系统能耗需求的新方法。这种方法和产品来自一家名为Energy Micro的公司,该公司推出了一系列Energy Friendly Micros(EFMs)。
称为Geckos(因为Gecko只使用相同大小的哺乳动物能量的10%),EFM是ARM Cortex(M0和M3)风味的微控制器(见图1),嵌入了巧妙的技术和技术,大大降低了能量使用,如果你知道如何利用它。
我们将在这里探讨这些零件,技术和工具,为您介绍一种接近低能耗设计的新方法,包括使用新型硬件,新型软件工具以及接近系统的新方法设计。所有这些都在能源微型公司声称的延长电池寿命方面发挥了至关重要的作用。
图1:Geckos EFMs-ARM Cortex(M0和M3)风味微控制器,嵌入了巧妙的技术和技术,大大降低了能耗。
任何其他名称的ARM
您可能会说ARM内核是ARM内核。你没有太多可以做的事情来降低它的功率,除了时钟慢或让它睡觉。使用的能量与CMOS电路中的时钟速度成正比。这意味着,通过创新的时钟和时钟管理,可以节省大量功率。
虽然微型进入低功耗模式以减少能量时使用第二个晶体并不少见,但Energy Micro更进了一步。通常情况下,低频晶体为32.768 KHz,因为这可以很好地解析实时时钟的精确滴答。与高达48 MHz的范围相比,这些EFM部件可以工作,切换到32.768 KHz可以节省相当多的功率。
通过让您选择更低的频率并使用能够最大化能量的低功率振荡器,可以进一步降低这一点。 Energy Micro增加了另外两种能耗更低的低能量R/C振荡器。这些不是晶体的精度,但许多设计可能不需要这种精度。
R/C振荡器可以像任何其他振荡器一样接入和使用(见图2),并允许主晶体关闭,特别是如果外围设备可以使用较低频率的时钟。为此,整个芯片的时钟管理和使用变得至关重要,而另一个地方是Energy Micro将这项技术提升到了一个新的水平。通过使用新设计的低能耗外设。
图2:R/C振荡器可以像任何其他振荡器一样接入和使用。
不是自己的岛屿
没有处理器或处理器核心本身就是一个孤岛。为了有用,它被一组丰富的外围功能所包围,这些功能可以进行通信,计算,加密/解密,移动数据,在模拟/数字之间进行转换等等。这些外围接口中的每一个都是能量减少的公平游戏,而这正是Energy Micro所做的。
Energy Micro不是使用旧世界的外围设备IP,而是从头开始设计所有新的外围功能,旨在减少能耗。这很重要,因为像电视一样,外围设备总是在需要时提供一些功能。
一个完美的例子是它们的低能量UART(见图3)。 Energy Micro从头开始设计,而不是使用标准的3.6864 MHz或11.0592 MHz频率,而是在运行时使用32.768 KHz时钟节省能量。
图3:Energy Micro的低能耗UART。
Gecko利用专用的低功耗硬件,快速检测数据包的启动和唤醒,使UART处于睡眠模式,直到检测到数据包开始为止。低能量UART仅吸收150纳安,支持高达9600的波特率。通过切换更高频率的时钟和使用非低能量UARTS,可以实现更高的波特率。
所有关键的耗电外设都经过重新设计,使用更低的能量和更慢的时钟。定时器,A/D,D/A,DMA,SPI,多主IIC,计数器等都是新的低能耗版本,其运行功率仅为其他微处理器标准外设的一小部分。表1显示了这对于运行时功耗的有效性。
Meditative vs REM
我们有两种以上的睡眠状态,EFM32也是如此(见图4)。颜色表明在每种睡眠模式下外设都处于活动状态,您可能会惊讶地发现,需要或生成数据的复杂外设可以在不唤醒核心微控制器的情况下运行。
图4:具有两种睡眠状态的EFM32。
完全关闭模式消耗20纳安。 GPIO引脚或复位可以在2 uSec内唤醒它。您可以使用400 nanoAmp绘制保留实时时钟和512字节的SRAM。
下一个最低状态是停止模式,它吸收600纳安。停止模式保留CPU寄存器和内部RAM,各种模拟和数字功能也可用,如D/A,运算放大器和比较器,掉电检测器,IIC,看门狗和便携式脉冲计数器(更多)在此之后)。
深度休眠模式(900纳安)增加了USB,UART,定时器/计数器,传感器接口和LCD驱动器功能,而休眠模式(45 uA/MHz)增加了TFT驱动器,外部总线接口,ADC,AES和更多, - 所有的一切都是微睡的。
如何在不唤醒micro的情况下实现此功能?通过使用自主状态机来协调内部外围设备的活动而无需微观干预。
Energy Micro将其称为反射总线(参见图5),它实际上是一个基于内部状态机的序列发生器,允许低能量外设相互排队,传递数据,并在核心处于睡眠状态时进行通信。
图5:Energy Micro反射总线。
例如,接力棒传递触发机制,例如重复的实时时钟滴答,可以以精确的间隔触发A/D转换。转换后的数据触发DMA将该值移动到内存缓冲区,触发计数器更新计数。当已经采集了预定数量的样本时,您可以唤醒具有要操作的数据块的微观,而不仅仅是单个样本。
这只是核心微观睡眠时如何发生相对复杂功能的一个例子。其他包括LCD动画,TFT刷新,关键感兴趣传感器预处理和事件检测。
睡眠工作
从传感器获取的处理数据是最大的嵌入式系统应用之一,特别是涉及电池供电设备时,无论是现场部署,手持,通过能量采集供电,还是磨损和使用医疗设备。
从可穿戴式血压和血糖监测仪到远程环境监测,访问传感器,处理一些数据,然后再回到睡眠状态是延长可用电池寿命的唯一方法。
对于定期间隔的事件,这可能非常简单。 Micro进入睡眠状态,定期醒来,执行功能,然后重新进入睡眠状态(参见图6A)。这些是时间驱动的事件。实时时钟中断可以唤醒微观,功率曲线下面积是使用的总能量。任何微架构都可以很好地优化这种类型的硬件和软件。
图6A:Micro进入睡眠状态,定期醒来,执行功能,然后重新进入睡眠状态。
通过事件驱动检测,这变得更加成问题,并且可能非常浪费能源。微观必须不断醒来并检查表明事件已经开始的情况。如果未检测到任何事件,MCU将返回休眠状态(参见图6B)。只有在事件发生时才会保持清醒并执行。
图6B:如果未检测到任何事件,MCU将返回休眠状态。
唤醒之间的时间间隔决定了您的时间戳分辨率。如果微观每秒唤醒,那就是你的时间分辨率。你醒来的频率越高,你从睡眠模式中抽出的力量越多,检查,然后再回到睡眠状态。不幸的是,为了更好地工作,设备必须更具响应性,这意味着要花更多时间来检查事件。
采取心脏监护仪记录事件数据给医生。如果它睡得太久并且错过了医生需要的关键数据,那就不是很有效了。如果它在事件发生时捕获事件并记录数据,则它是有效的。如果它使用了太多的功率并且在找到任何东西之前就已经死了,那么它就无效了。
在追捕事件发生之前,数百,数千或数百万次唤醒(或更多)的情况并不少见。随着时间的推移,这种力量是你浪费的能量,它可以加起来。
专用硬件只有在需要保存所有不必要的唤醒时才能用于中断。这是一种节能方法,但可能不是具有成本效益或PCB空间有效的解决方案。这种专用硬件需要在芯片上,这就是反射总线和低能量传感器总线(LESENSE)为您做的事情。
LESENSE利用片上模拟比较器和运算放大器,A/D转换器和数字比较器,实现自运行,基于周期,事件检测,数据采集处理(有限扩展)和控制。
为了说明这一点,让我们看一下可用于执行流速检测和累积的电感式传感器应用(参见图7)。金属以圆形二进制计数配置排列,因此当金属条(暗)靠近感应线圈时,它会改变其振荡特性。
图7:可用于执行流速检测和累积的电感式传感器应用。
电感器附近没有金属,电感器可以以众所周知的预期衰减率自由振铃。如果使用片上运算放大器和比较器来创建阈值检测器,则结果是脉冲序列事件。脉冲计数器对这些脉冲进行计数并累计计数。计数超过预定的阈值,微观保持睡眠状态。这没东西看。
如果金属非常靠近,振荡器会受到抑制,脉冲计数会降低。这个较低的计数可以触发微型唤醒并采取行动,因为发生了需要微处理的事件。注意:生成正交波形是为了让微观知道旋转方向以及速率。
交易工具
为了更有效地编码,需要新工具让软件工程师利用低能量编码技术。蛮力有其自己的位置,但不是在每个循环时间取得力量时。
为了解决这个问题,Energy Micro在公司中创建了一个顶级职位,开发和维护一套易于使用,理解和有效的新工具套件,以减少处理器运行时间和开发时间。
全面的开发工具套件称为Simplicity Studio,它包含多个工具,可加快代码开发速度,让设计人员通过能量感知运行时功能降低能耗。
有关Simplicity Studio所有功能的详细信息将成为另一篇完整文章的主题。所以,在这里,为了说明这是如何有效,我们将看一个集成工具来展示它的效果。
Energy Profiler让您可以实时查看代码运行时使用的能量(参见图8)。作为条形图(右下角),显示每个主程序使用的功率量,代码(左侧)也是如此。
图8:Energy Profiler可让您实时查看代码运行时使用的能量。
关键是运行时能量抽取(右上角),它显示实时电流消耗。注意每个小的红色指标。可以单击其中任何一个以显示在该级别运行的代码。
这对减少常规能量特别有用。例如,如果您看到使用的能量块很长且持续时间很长,您可以单击它来查看基础代码。例如,如果它是一个‘WHILE’循环,你可能想要改变它以使用一个计时器,让微睡眠,然后让它唤醒更接近准备继续前进的时间。这样可以在微型电源等待事件时保存所有活动时间。
熄灯
开发低能耗系统是一门经验和支持的学科。如果您足够聪明,可以利用架构,工具和技术,Energy Micro提供硬件和软件,允许在极低能耗下延长运行时间。