利用高级单片机的新低功耗模式
扫描二维码
随时随地手机看文章
尽管“绿色”与产品名称结合在一起已成为表示低功耗的公认符号,但低功耗的准确含义却并未被经常表述。
低功耗单片机(MCU)的要求会随着应用以及应用中使用MCU的方式的不同而有所变化。例如,在电池供电的恒温器应用中,低功耗主要由器件能够驱动LCD显示屏的最低功耗模式定义,在这种情况下,降低功耗会延长电池的使用寿命。在其他低功耗应用(如电表)中,低功耗是指系统在运行期间消耗的工作电流。第三类系统是需要保持时间的系统,而不管系统的主电源是否存在。停电期间的电表就是第三类系统的一个例子。由于各种应用的要求不尽相同,具有更加灵活的功耗模式的MCU允许设计人员进一步定制系统操作。
在过去,MCU的工作模式用于器件操作;空闲和打盹模式可降低或消除CPU开关功率,同时允许外设运行;休眠模式允许以最低功耗运行有限的外设。随着当今的高级MCU转向更高级的硅工艺(可将系统成本降至最低并减小工作电流),一些新的低功耗模式正在增加,以提高MCU的灵活性。我们将通过观察当今高级MCU中某些新型低功耗模式在各种应用中的使用来对其进行探究。
我们将使用电池寿命估算器(BLE)软件工具和16位MCU对不同应用中实现的各种功耗模式进行比较。Microchip的BLE是免费的软件工具,允许设计人员估算系统的电池寿命,并确定哪种可用的工作模式最适合其应用。PIC24FJ128GA310 MCU系列提供了一些新的低功耗模式,其LCD显示驱动器在如下一些示例中可发挥良好的作用。
恒温器已变得更加复杂,需要显示更多信息并覆盖多个地区。因此,通常需要大量片上闪存程序存储器来存储以多种语言显示的复杂菜单。
通常来说,需要采用高级工艺才能生产出价格具有竞争力的大存储器MCU。随着半导体工艺的发展,晶体管的工作电流减少而泄漏电流增加正成为趋势。泄漏电流增加在低功耗模式(如休眠模式)的电流规范中最为明显。高级MCU上的休眠电流通常在3至5 uA的范围内,而典型恒温器应用的大多数时间只是用来驱动分段式LCD显示屏。通常在休眠模式下驱动分段式LCD显示屏,该模式允许某些外设(本例中为LCD驱动器)在CPU和大多数外设掉电时运行。恒温器必须被定期唤醒并进入工作模式,读取温度、更新显示屏,可能还要发信号使火炉、风扇或空调装置开启。然而,99%以上的时间仅需要休眠模式。由于大量时间处于休眠模式,因此改善休眠电流就能大幅增加系统的电池使用寿命。
为了使MCU具有亚uA级的功耗模式,许多供应商引入了新的低功耗深度休眠模式。典型的深度休眠电流在10至50 nA的范围内,这些器件运行实时时钟日历(RTCC)时会增加400 nA的电流。通过关闭整个器件而仅保留少量存储器、实时时钟(或许还有看门狗定时器),可实现极低电流。但是,这些深度休眠模式不允许外设运行或保持器件上的数据RAM。当器件从深度休眠中唤醒时,如果RAM内容丢失,则器件需要执行重启例程,然后才能恢复程序执行。
新的低功耗模式(如低电压休眠模式)能以典型值为330 nA的基电流保持器件的数据RAM,并允许运行额外的低功耗外设。此低电压休眠模式会保持器件的RAM,并通过减少器件的片上稳压器输出来降低休眠电流。通过降低送入器件逻辑的电源电压并限制工作外设,MCU的休眠电流可从3.7 uA降至330 nA。在这种类型的MCU休眠模式下,LCD驱动器、定时器和RTCC等外设仍可运行,且仅增加极小的电流。器件从低电压休眠模式恢复到工作状态的时间不到从深度休眠唤醒的时间的一半。器件随后从下一条指令开始执行,而不是深度休眠模式唤醒通常需要的从重启序列开始。
图1:电池寿命估算器工具主屏幕
说明——如图1所示,电池寿命估算器工具的主屏幕显示了MCU及其工作电压、电池和工作模式。恒温器模型的电池寿命估算结果为11年零88天。
此外,BLE工具还会为单片机在每种工作模式中将花费的时间以及在每种模式中将消耗的功率数进行建模。图1给出了BLE的输出显示,您可在其中设置系统的几个关键参数,从而得到寿命估算值和平均系统电流。首先,选择MCU和系统的工作电压。这使得电池寿命估算器获得相应的规格参数。然后选择电池或电池对——本例中为2节AAA碱性电池。还可以选择预期的系统工作电压和工作温度,以获得最适合用于电池寿命估算模型的规格参数。最后,对系统中将使用的工作模式进行定义。对于我们的恒温器来说,将使用两个模式。
为了对恒温器仅显示LCD屏幕的时间进行建模,创建了一个名为“显示LCD”的工作模式。“显示LCD”工作模式使用低电压休眠模式来提供用于驱动LCD的最低功耗模式。电池寿命估算器工具建模为将器件的工作周期设置为30秒,其中的29.5秒用于低电压休眠模式。第二个工作模式为更新温度和LCD,用于对MCU监视温度、更新LCD屏幕以及与HVAC装置通信所需的时间进行建模。
为了更好地体会新的低电压休眠模式以及如何在BLE工具中实现工作模式,可以查看Add/Modify Mode(添加/修改模式)屏幕,如图2所示。在此屏幕中,设计人员可以调整Duration(持续时间)设置,此设置当前为29.5秒。通过使用Additional System Current(额外系统电流)输入框,设计人员可以添加MCU外围电路的电流消耗估算值。在本例中,添加了4 uA的系统电流,表示LCD显示屏消耗的电流,还添加了1 uA的额外电流,表示内部LCD偏置电阻所需的电流。接下来,选择功耗模式(本例中为低电压休眠)以及所需的外设。为了提供准确的系统电流模型,已选择LCD驱动器、BOR、WDT和RTCC。MCU本身消耗的电流为1.88 uA,此电流与我们的5 uA系统电流相加,达到系统在低电压休眠模式下所需的6.88 uA。
图2:电池寿命估算器工具模式编辑屏幕
说明:电池寿命估算器工具的模式编辑屏幕允许设计人员指定每个所用功耗模式的条件并为其命名。
BLE主屏幕显示,器件在低电压休眠模式下消耗的平均电流为6.88 uA,器件短期处于工作状态时消耗的电流略高于327 uA,因此总平均电流低于6.9 uA。系统电池寿命的估算值约为12年,也就是说比电池的贮藏寿命多出约5年。图3显示了一个类似的分析,但使用的是休眠模式而不是低电压休眠模式,此分析得出的平均电流约为10.5 uA,电池寿命减少了三年。
图3:电池寿命估算器工具
说明:基于休眠模式估算的电池寿命比基于标准休眠模式估算的电池寿命少了三年。
对于MCU来说,大多数时间处于工作模式的系统是另一个极端,例如电表。如今的电表在整个工作周期中只会处于两种状态。通电时处于正常工作模式。在这个“正常”工作模式下,MCU处于活动状态,不断测量电压和电流,并计算通过电表提供的功率。电表可能还要监视潜在篡改、驱动LCD显示屏并可能与读表设施进行通信。
当电表运行时,可能看起来电力很充足。事实上,电力是由电表制造商的最终客户——电力公司提供的产品。电力公司为上百万的客户提供电力,即使很小的电力损耗对于电力公司的业务来说都要付出很大代价。实际上,大多数电表必须工作在IEC制定的10 VA功率预算下。如果考虑到可能的线路变化、元件容差和系统设计裕度,在使用电容式电源时,系统MCU电流预算的最终结果约为10 mA。
如今的一些低成本电表采用8位MCU,在工作模式下全速运行时消耗的电流通常超过10 mA。为了保持在系统功率预算范围内,通常需要设计人员以较低的频率运行MCU。当前许多16位MCU利用先进工艺和设计技术来提供低至150 uA/MHz的典型工作电流,并且能全速运行在16 MIPS,而消耗的电流不超过6.9 mA。降低的工作电流为设计人员提供了两种选择:降低MCU的运行速度以减少系统功耗;增加额外的功能,同时保持系统功耗在分配的预算范围内。
尽管电表将绝大多数时间用在工作状态,但其也是利用功耗最低的模式之一(Vbat)的应用示例。Vbat功能提供了一个专用引脚,该引脚可提供备用电源,例如LTC电池或超级电容。如果系统的主电源掉电(如在停电期间),RTCC的电源会自动转换到备用Vbat引脚。电表中的RTCC在断电期间非常重要,因为按使用时段计费正日益普及。通过Vbat工作时,RTCC允许LTC电池持续使用数十年,几乎是无限的备用工作电源。将Vbat功能与RTCC配合使用不只局限于电表。许多应用,包括上述恒温器,都可利用RTCC在停电或更换电池期间保持时间。带有电容或电池的Vbat还有助于消除由停电引起的恼人闪光。
在高度关注功耗的环境下,低功耗MCU的发展促生了极具灵活性的通用MCU。工艺技术和设计技术的进步使16位MCU的工作电流可低至150 uA/MHz。新的低功耗模式(如低电压休眠和Vbat)为功耗管理链增加了灵活性,允许通用MCU在更为广泛的应用中工作。最终结果是出现功能强大且适应性强的单片机,实现对客户友好的高能效终端应用。