如今,采用仅需极少功耗的设计,可使开发这些类型的无线系统成为可能。新一代无线网络可依靠其电池工作更长时间,并且在应用的生命周期中仅需很少或者根本无需维护。未来,能量收集甚至可以提供所需能源,而不再需要电池。本文将着重介绍新一代嵌入式单片机所具有的各种超低功耗控制功能,以及工程师如何利用这些功能延长无线传感器节点中电池的预期寿命。
1、功耗管理功能
那么,什么是“低功耗”呢?在继续之前,让我们首先讨论一些术语。“能量”与所做功的总量相关,而“功率”测量的是做功的速率(单位时间使用的能量)。在电子学中,能量=功率×时间,功率=电压×电流。因而,我们所要关注的关键系统参数为电压、电流和时间。具体来说,就是我的应用在多大电压下运行,要消耗多少电流,以及要运行多久?
从单片机的角度来研究这一问题,我们首先需要探讨新型单片机的各种功耗模式。
功耗模式
根据处理需求,应用具有一组显著不同的预设工作模式。嵌入式单片机可利用其众多外设中的一个来采样来自周围环境的信号。在外设收集到一定数量的采样之前,单片机可能无其他事要做。那么单片机可能会在每次数据采样之间“休眠”或进入超低功耗待机模式。一旦应用程序读到了足够多的数据采样,单片机即可轻松切换至“全速运行”模式,此时单片机被唤醒并以最大工作速度运行。
单片机通常会接收到某种类型的唤醒事件,才会从各种低功耗模式退出。唤醒事件可由诸如I/O引脚电平翻转等外部激励信号或诸如定时器外设产生的中断事件等内部处理器活动触发。单片机所支持的具体功耗模式有所不同,但通常各种功耗模式总有一些共同点。典型的功耗模式如下:
(1)“始终运行”模式
(2)“休眠”或“待机”模式,此时保持对存储器供电
(3)“深睡”或“深度休眠”模式,此时存储器断电,以最大程度节省功耗。
“始终运行”模式
“始终运行”模式嵌入式系统由持续供电且处于运行状态的器件构成。这些系统的平均功耗需求极有可能在亚毫安范围内,从而直接限制了单片机所能达到的处理性能。幸运的是,新一代嵌入式单片机具有动态控制其时钟切换频率的功能,因为在无需较高计算能力的情况下,有助于减少工作电流消耗。
待机模式
在“待机”模式下,系统工作或处于低功耗非活动模式。在这些系统中,工作和待机电流消耗都非常重要。在大多数待机模式系统中,由于保持对单片机存储器通电,虽然电流消耗显著减少,但仍可保持所有的内部状态及存储器内容。此外,可在数秒内唤醒单片机。通常,此类系统在大多数时间处于低功耗模式,但仍需具备快速启动能力来捕捉外部或对时间要求极高的事件。保持对存储器的供电有助于保持软件参数完整性以及应用程序软件的当前状态。从功耗模式退出的典型启动时间通常在5-10μs范围内。
深度休眠模式
在深度休眠或“深睡”模式系统中,系统全速运行或处于可大幅节省功耗的“深度休眠”模式。由于该模式通过完全关断嵌入式单片机内核(包括片上存储器)来最大程度节省能耗,因而尤为引人注目。由于在该模式下存储器断电,因此必须在进入深度休眠模式前将关键信息写入非易失性存储器。该模式使单片机的功耗降至绝对最小值,有时低至20nA。此外,唤醒单片机后需重新初始化所有存储器参数,这样会延长唤醒反应总时间。从该模式退出的典型启动时间通常在200-300μs范围内。在这些超低功耗模式系统中,电池的寿命通常由电路中其他元件消耗的电流决定。因此,应注意不仅要关注单片机消耗的电流,而且要关注PCB(印刷电路板)上其他元件消耗的电流。例如,可能的话,设计人员可使用陶瓷电容来替代钽电容,因为后者的漏电流通常较高。设计人员还可以决定在应用处于低功耗状态下给哪些其他电路供电。
2、利用功耗模式的优势
接下来,考虑一种具有代表性的情形,在这种情况下,选择不同单片机功耗模式对系统所用总功率有巨大影响。以基本远程温度传感器为例,该应用收集较长时间段内的数据,可能运用较为成熟的噪声滤波算法对数据进行处理,然后将单片机重新置于待机模式,直到需要更多采样测量为止。它还采用无线射频(RF)传输方式将温度信息报告给中央控制台。对温度进行采样需要使用MCU的片上模数转换器(ADC),并且仅需适当的处理能力。在噪声滤波阶段,单片机必须采用处理能力较高的模式来计算高级滤波算法,并尽快将结果存回存储器。因此,单片机运行并消耗功率的总时间缩短了。每隔一段预定的时间间隔,单片机就会组合所有的采样结果并采用RF收发器设备发送至中央控制台。需要精确时序来确保无线传感器在预先分配的时隙内发送这一信息,从而允许同一系统中的多个无线传感器节点协同工作。
我们如何管理唤醒处理器的频率呢?通过配合使用定时器外设和集成32kHz振荡器电路,单片机能很精确地每秒产生一次中断,从而保证唤醒时间准确。此中断事件还可以使单片机按预定的时间表向采样缓冲区填充温度数据。单片机填充完温度采样缓冲区后,它将切换至处理器速度较高的模式,完成较为成熟的噪声滤波算法计算,然后尽快返回休眠模式,以缩短工作时间。单片机采用同样的实时时钟功能来决定将捕捉到的采样数据发送回中央控制台的时间。确定单片机的最佳功耗模式以使总电流消耗最低取决于多个因素,下文将对此进行讨论。
(1)在低功耗应用中优化功耗
要使总功耗最低,仅选择单片机功耗最低的模式是不够的。我们还必须确定单片机需要完成的每个任务的工作量——例如,采样外部温度传感器。一旦确定每个任务的性能需求,我们还必须确定每个任务的最佳能源利用率。对于前面提到的公式:能量=时间×电压×电流,由于系统总体需求和实际电源决定电压值,因此我们通常无法改变公式中的电压,这样我们只能操作两个参数,时间和电流。我们需要权衡单片机的工作时间和电流消耗。下面将探讨在执行上述分析时要切记的一些特定于单片机的参数。
(2)处理器唤醒
将单片机置于低功耗模式后,有一些外部源可将其唤醒。唤醒事件可通过USB事件、实时时钟事件,甚至是I/O引脚上的外部触发信号发生。单片机从低功耗“休眠”模式唤醒并开始执行代码的时间非常重要。通常,我们努力使这个时间尽可能短,这也是我们之所以要在“休眠”和“深度休眠”工作模式之间选择的原因。若每秒唤醒一次单片机,由于从“休眠”模式唤醒时,单片机可在10μs内开始执行代码,而无需首先初始化任何软件存储单元,因而该模式可能是最佳选择。若单片机处于低功耗状态的时间较长——例如,数分钟甚至数小时才唤醒一次,则“深度休眠”模式可能是最佳选择。关键是要使单片机的总电流消耗最小。如果单片机处于低功耗关断模式的时间较长,那么300μs的唤醒时间与数分钟或数小时的深度休眠时间相比就微不足道了。
系统级唤醒事件的另一个绝佳示例,可采用通过串行接口连接到处理器的外部RF芯片进行演示。不使用处理器时,可将其置于某个低功耗状态下,仅保持RF芯片运行。由于新一代RF芯片的逻辑仅负责查找进入的RF数据包,因此在工作状态下消耗的电流很小。一旦接收到与所分配给该单元的地址相关的有效数据包,就将唤醒单片机开始处理信息。此类功耗模式机制较常用于基于射频网络的解决方案中,诸如那些基于ZigBee.无线协议的解决方案。
(3)时钟频率
单片机从外部或内部时钟源获取系统时钟频率。单片机采用该时钟频率并将其分频以得到应用程序软件所需的工作时钟频率。较低的频率通常等同于较低的功耗。有时,单片机还可以采用锁相环(PhaseLockedLoop,PLL)将外部时钟频率倍频。外部时钟信号通常来自晶振或称为晶体振荡器。
当器件进入低功耗模式时,单片机还可以禁止输入晶体放大器电路,这样也许可节省几毫安的电流,但会以恢复正常工作状态时延长振荡器的导通时间(由于外部晶振的起振延时)为代价。然而,有些单片机具有采用双速启动模式的能力,在这种模式下,单片机将使用内部振荡器立即开始运行,并在更精确的外部时钟源有足够时间稳定后,自动切换至外部时钟源。单片机控制自身时钟频率的能力允许软件工程师在保证总电流消耗最少的情况下,选择适合于特定任务的时钟速度。因此,工程师需要评估能量公式中的时间×电流元素,以确定哪种方案比较好:在较短时间段内全速运行,在较长时间段内较慢运行,或者选个中间速度。
(4)实时时钟
在本文所述的远程无线传感器应用示例中,系统需要保持精确的时间观念。除了系统时钟外,还可采用实时时钟和日历(RTCC)外设轻松实现这一点。RTCC的主要功能是跟踪日期和时间。在本文的情形中,RTCC对于控制功耗模式非常有用。RTCC还有助于单片机安排精确的唤醒事件、触发采样测量或发起与中央控制台的RF同步。
在系统中实现RTCC有多种方法。可将专用RTCC芯片连接至单片机;采用集成32kHz晶振及基本计时软件;以及使用单片机内的专用RTCC外设。对系统成本的限制通常第一时间就排除了第一种选择。对后两种的选择通常由单片机应用的其他需求以及一定程度的成本限制决定。本次讨论将采用第二种方法,即32kHz振荡器与一些非常基本的软件。外部32kHz晶振驱动电路与16位定时器配合使用,来每秒唤醒一次处理器。每秒唤醒一次处理器来更新RTCC定时器,也可能测量当前温度。然后处理器返回到相应的低功耗模式。此方法提供了一种“导通”占空比非常小的机制,器件运行的大多数时间仅消耗600nA的电流。
3、构建RF无线传感节点
高集成度的单芯片通用ISM带宽FSK收发器解决方案与低功耗单片机配合工作,简化了无线传感应用的实现。在本例中,单片机采用SPI接口作为与射频设备连接的串行通信端口。还要使用单片机来初始化收发器设备的射频配置设置。配置完成后,收发器设备将通过来自单片机的非常基本的串行命令完成大多数RF数据发送和接收操作。简单地组合这两种技术,即可构建一种基本网络,远程监视各种数字或模拟无线传感器节点,如本文中的远程温度传感器。
考虑无线系统的总功耗预算,我们最关注的数据手册参数为射频系统的发送功耗、接收功耗、待机功耗以及启动时间。了解了这些参数后,我们将能确定系统通过无线RF通道发送和接收数据所消耗的电流。开发RF解决方案时还需注意的关键因素还有发送的数据长度和安全性。以下部分将简要说明这两个因素。
(1)RF发送时间
常常被忽视的一个重要参数是需要发送的RF数据包的长度。事实上,RF发送时间对无线解决方案的性能、质量和功耗影响很大。较短的数据包有助于减少对电源的能源需求,甚至可以缩小电池体积。在定义新的低功耗RF协议时,必须牢记这一点。我们已针对无线温度传感器设计,评估了当今可用的各种RF通信协议。诸如ZigBee、ZigBeePro、Microchip的MiWi.和MiWiP2P(点对点)协议均已一一评估。由于本应用的低功耗需求,我们决定采用非常基本的时分多址(TimeDivisionalMultiAccess,TDMA)时间片协议机制。
通过在RF数据帧中分配预定义时隙并使用第一个时隙作为中央单片机发送的帧起始标记,即可方便地确保整个传感器监视系统的精确时序,同时降低功耗。采用这种基本时间片机制,单片机和RF收发器可在生命周期的大多数时间内处于低功耗待机模式。
(2)安全性
意识到无线网络所涉及的安全性问题,大多数RF系统均采用了强大的算法来保护其数据。具有128位密钥的高级加密标准(AdvancedEncryptionStandard,AES)确保了数据完整性以及系统抵抗黑客的能力,这两者对于商业应用至关重要。可通过软件实现AES安全性。对于需要使工作时间最短的无线传感器节点,能够尽快执行AES计算非常重要,因为节点工作时的功耗最大。单片机可按需动态更改处理功耗以帮助实现上述目标。别说是电池供电设备就是采用有线电源的系统,要使AES计算尽可能快也同样是不争的事实。功耗对所有系统(有线或无线)的温度、体积及成本均有影响。
4、系统成本
众所周知,系统的总成本在设计任何系统(如无线温度传感器)的过程中始终起着非常重要的作用。确定无线单片机成本的关键因素是所需程序和数据储存区的数量。传感器网络和相关产品的开发人员希望采用存储空间最佳的一系列单片机来满足应用程序的需求。开发基于网络协议层(如ZigBee)的较大应用程序时,需要较大的存储空间——在有些情况下,大于250KB。若要实现较为简单的传输协议,尤其是在对成本极度敏感的设计中,可使用单片机的许多功耗控制功能来最大程度降低成本和功耗。
5、硬件/软件
本文中的设计示例组合使用了一片高集成度通用ISM带宽FSK收发器芯片和一片超低功耗单片机。超低功耗PIC16LF1827单片机用在传感器单元中,用于每秒测量一次模拟温度传感器,将结果存入数据缓冲区,运行复杂的噪声滤波算法,然后采用RF收发器发送结果数据。出于安全性考虑,此信息采用AES算法保护并在已分配的预定时隙内发送。此外,单片机在上电后初始化RF收发器射频配置设置,并按需控制射频设备的功耗模式。
结论
本文探讨了轻松实现非常基本的低功耗无线传感器网络的过程。更好地理解超低功耗单片机的各种功耗管理功能,有助于系统工程师开发“绿色”无线解决方案。只需选择合适的超低功耗单片机和RF射频产品,理清所有系统级任务的需求,然后使用单片机的功耗管理设置,即可使系统处于低功耗“休眠”状态,这样就构成了低成本的超低功耗解决方案,从而完成任务。