嵌入式 > 技术百科 > 详情

如何利用嵌入式单片机延长无线传感器节点中电池的预期寿命

发布时间:2020-06-09 发布时间:
|

  本文将着重介绍新一代嵌入式单片机所具有的各种超低功耗控制功能,以及工程师如何利用这些功能延长无线传感器节点中电池的预期寿命。

  功耗管理功能

  那么,什么是"低功耗"呢?在继续之前,让我们首先讨论一些术语。"能量"与所做功的总量相关,而"功率"测量的是做功的速率(单位时间使用的能量)。在电学中,能量 = 功率×时间,功率 =电压×电流。因而,我们所要关注的关键系统参数为电压、电流和时间。具体来说,就是我的应用在多大电压下运行,要消耗多少电流,以及要运行多久?

  从单片机的角度来研究这一问题,我们首先需要探讨新型单片机的各种功耗模式。

  功耗模式

  根据处理需求,应用具有一组显著不同的预设工作模式。嵌入式单片机可利用其众多外设中的一个来采样来自周围环境的信号。在外设收集到一定数量的采样之前,单片机可能无其他事要做。那么单片机可能会在每次数据采样之间"休眠"或进入超低功耗待机模式。一旦应用程序读到了足够多的数据采样,单片机即可轻松切换至"全速运行"模式,此时单片机被唤醒并以最大工作速度运行。

  单片机通常会接收到某种类型的唤醒事件,才会从各种低功耗模式退出。唤醒事件可由诸如I/O引脚电平翻转等外部激励信号或诸如定时器外设产生的中断事件等内部处理器活动触发。单片机所支持的具体功耗模式有所不同,但通常各种功耗模式总有一些共同点。典型的功耗模式如下:

  ●"始终运行"模式

  ●"休眠"或"待机"模式,此时保持对存储器供电

  ●"深睡"或"深度休眠"模式,此时存储器断电,以最大程度节省功耗 .

  "始终运行"模式

  "始终运行"模式嵌入式系统由持续供电且处于运行状态的器件构成。这些系统的平均功耗需求极有可能在亚毫安范围内,从而直接限制了单片机所能达到的处理性能。幸运的是,新一代嵌入式单片机具有动态控制其时钟切换频率的功能,因为在无需较高计算能力的情况下,有助于减少工作电流消耗。

  待机模式

  在"待机"模式下,系统工作或处于低功耗非活动模式。在这些系统中,工作和待机电流消耗都非常重要。在大多数待机模式系统中,由于保持对单片机存储器通电,虽然电流消耗显著减少,但仍可保持所有的内部状态及存储器内容。此外,可在数秒内唤醒单片机。通常,此类系统在大

  多数时间处于低功耗模式,但仍需具备快速启动能力来捕捉外部或对时间要求极高的事件。保持对存储器的供电有助于保持软件参数完整性以及应用程序软件的当前状态。从功耗模式退出的典型启动时间通常在 5 -10 μs范围内。

  深度休眠模式

  在深度休眠或"深睡"模式系统中,系统全速运行或处于可大幅节省功耗的"深度休眠"模式。由于该模式通过完全关断嵌入式单片机内核(包括片上存储器)来最大程度节省能耗,因而尤为引人注目。由于在该模式下存储器断电,因此必须在进入深度休眠模式前将关键信息写入非易失性存储器。该模式使单片机的功耗降至绝对最小值,有时低至 20 nA.此外,唤醒单片机后需重新初始化所有存储器参数,这样会延长唤醒反应总时间。从该模式退出的典型启动时间通常在 200 - 300 μs范围内。

  在这些超低功耗模式系统中,电池的寿命通常由电路中其他元件消耗的电流决定。因此,应注意不仅要关注单片机消耗的电流,而且要关注 PCB(印刷电路板)上其他元件消耗的电流。例如,可能的话,设计人员可使用陶瓷电容来替代钽电容,因为后者的漏电流通常较高。设计人员还可以决定在应用处于低功耗状态下给哪些其他电路供电。

  利用功耗模式的优势

  接下来,考虑一种具有代表性的情形,在这种情况下,选择不同单片机功耗模式对系统所用总功率有巨大影响。以基本远程温度传感器为例,该应用收集较长时间段内的数据,可能运用较为成熟的噪声滤波算法对数据进行处理,然后将单片机重新置于待机模式,直到需要更多采样测量为止。它还采用无线射频(RF)传输方式将温度信息报告给中央控制台。

  对温度进行采样需要使用MCU的片上模数转换器(ADC),并且仅需适当的处理能力。 在噪声滤波阶段,单片机必须采用处理能力较高的模式来计算高级滤波算法,并尽快将结果存回存储器。因此,单片机运行并消耗功率的总时间缩短了。

  每隔一段预定的时间间隔,单片机就会组合所有的采样结果并采用RF收发器设备发送至中央控制台。需要精确时序来确保无线传感器在预先分配的时隙内发送这一信息,从而允许同一系统中的多个无线传感器节点协同工作。

  我们如何管理唤醒处理器的频率呢?通过配合使用定时器外设和集成32 kHz振荡器电路,单片机能很精确地每秒产生一次中断,从而保证唤醒时间准确。此中断事件还可以使单片机按预定的时间表向采样缓冲区填充温度数据。

  单片机填充完温度采样缓冲区后,它将切换至处理器速度较高的模式,完成较为成熟的噪声滤波算法计算,然后尽快返回休眠模式,以缩短工作时间。单片机采用同样的实时时钟功能来决定将捕捉到的采样数据发送回中央控制台的时间。确定单片机的最佳功耗模式以使总电流消耗最低取决于多个因素,下文将对此进行讨论。

在低功耗应用中优化功耗

  要使总功耗最低,仅选择单片机功耗最低的模式是不够的。我们还必须确定单片机需要完成的每个任务的工作量--例如,采样外部温度传感器。一旦确定每个任务的性能需求,我们还必须确定每个任务的最佳能源利用率。对于前面提到的公式:能量 = 时间 × 电压 × 电流,由于系统总体需求和实际电源决定电压值,因此我们通常无法改变公式中的电压,这样我们只能操作两个参数,时间和电流。我们需要权衡单片机的工作时间和电流消耗。下面将探讨在执行上述分析时要切记的一些特定于单片机的参数。

  处理器唤醒

  将单片机置于低功耗模式后,有一些外部源可将其唤醒。唤醒事件可通过USB事件、实时时钟事件,甚至是I/O引脚上的外部触发信号发生。单片机从低功耗"休眠"模式唤醒并开始执行代码的时间非常重要。通常,我们努力使这个时间尽可能短,这也是我们之所以要在"休眠"和"深度休眠"工作模式之间选择的原因。若每秒唤醒一次单片机,由于从"休眠"模式唤醒时,单片机可在10 μs内开始执行代码,而无需首先初始化任何软件存储单元,因而该模式可能是最佳选择。若单片机处于低功耗状态的时间较长--例如,数分钟甚至数小时才唤醒一次,则"深度休眠"模式可能是最佳选择。关键是要使单片机的总电流消耗最小。如果单片机处于低功耗关断模式的时间较长,那么 300 μs的唤醒时间与数分钟或数小时的深度休眠时间相比就微不足道了。

 

  系统级唤醒事件的另一个绝佳示例,可采用通过串行接口连接到处理器的外部RF芯片进行演示。不使用处理器时,可将其置于某个低功耗状态下,仅保持 RF芯片运行。由于新一代 RF芯片的逻辑仅负责查找进入的RF数据包,因此在工作状态下消耗的电流很小。一旦接收到与所分配给该单元的地址相关的有效数据包,就将唤醒单片机开始处理信息。此类功耗模式机制较常用于基于射频网络的解决方案中,诸如那些基于ZigBee .无线协议的解决方案。

  时钟频率

  单片机从外部或内部时钟源获取系统时钟频率。单片机采用该时钟频率并将其分频以得到应用程序软件所需的工作时钟频率。较低的频率通常等同于较低的功耗。有时,单片机还可以采用锁相环(Phase Locked Loop,PLL)将外部时钟频率倍频。外部时钟信号通常来自晶振或称为晶体振荡器。

  当器件进入低功耗模式时,单片机还可以禁止输入晶体放大器电路,这样也许可节省几毫安的电流,但会以恢复正常工作状态时延长振荡器的导通时间(由于外部晶振的起振延时)为代价。然而,有些单片机具有采用双速启动模式的能力,在这种模式下,单片机将使用内部振荡器立即开始运行,并在更精确的外部时钟源有足够时间稳定后,自动切换至外部时钟源。

 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
灾难本可避免?美媒:波音偷改737Max防失速系统 少装一个传