无线传感器网络利用大量的具有感知、处理和无线通信功能的智能微传感结点在特定的测量区域完成复杂任务。无线传感器结点通常采用电池供电,因而能量有限。为使布置后的传感器结点的寿命最大化,在电路、结构体系、算法和协议等方面必须要考虑能量有效性来进行设计。一旦设计了系统,额外的能量节省可通过采用动态电源管理(Dynamic Power Management,DPM)技术获得。另外,结点需要具有适度的可扩展的能量特性,若应用需要,用户可根据传感精度延长任务时限。空闲能量管理的基本思想是在不需要时关闭设备,而在必要时将其唤醒。对多种睡眠状态执行正确的转换策略对有效的空闲能量管理十分重要。动态电压调节(Dynamic Voltage Scaling,DVS)对于减少处理器能耗是一种十分有效的能量管理技术。基于微处理器的系统多数表现出时变计算负荷的特征。在活跃性降低的阶段,简单地降低工作频率可使能耗线性降低,但不会影响任务的总体能耗。降低工作电压意味着更大的电路延迟,会降低最佳性能。由于最佳性能并不是时刻需要的,因而可实现显著的能量节省。
1)空闲能量管理
空闲模式的有效DPM需要多种具有能量差异的状态和各状态间转换的最优操作系统(Operation System,OS)策略。
(1)多种关闭状态
具有多种能量模式的设备有很多,例如,StrongARM SA-1100处理器有3种能量模式,即运行、空闲和睡眠。运行模式是处理器的一般工作模式,所有能量供应均被激活,所有时钟均运行,所有资源均工作。空闲模式允许软件暂停未使用的CPU,而继续侦听中断服务请求。CPU时钟停止并保存所有处理器的相关指令。中断产生时,处理器返回运行模式,并继续从暂停点开始工作。睡眠模式节省的能量最多,提供的功能最少,大部分电路的能量供应被切断,睡眠状态机守候预排程序的唤醒事件。这与蓝牙无线装置中的4种不同能耗模式即激活、保持、嗅探和暂停相类似。
多数能量感知的设备支持多种断电模式,并提供不同级别的能耗和功能。具有多个此类设备的嵌入式系统按照设备能量状态的各种组合,拥有了一系列的能量状态。实际中,被称为高级设置和能量管理接口(Advanced Configuration and Power Management Interface,ACPI)的开放式接口规范受到了Intel、Microsoft和Toshiba的共同支持,这些规范制定了OS与具有多种能量状态的设备连接并提供动态能量管理的标准。ACPI支持系统资源的有限状态模型,并指定了软/硬件的控制接口。ACPI控制整个系统的能耗和各设备的能量状态。遵守ACPI规范的系统具有5个全局状态,包括SystemStateS0,即工作状态,以及SystemStateS1~SystemStateS4。SystemStateS1~SystemStateS4对应于4种不同程度的睡眠状态。类似地,遵守ACPI规范的设备有4种状态,包括PowerDeviceD1,即工作状态,以及PowerDeviceD1~PowerDeviceD3。睡眠状态根据能耗、进入睡眠需要的管理花费和唤醒时间来区分。
(2)传感器结点的构成
如图4-25所示为基本传感结点的构成。各结点由嵌入式传感器、A/D转换器、带有存储器的处理器(此情形下为StrongARM SA-llx0处理器)以及RF电路组成。每个部分通过基本设备驱动受OS控制。OS的一个重要功能就是能量管理。OS根据事件统计情况决定设备的开启和关闭。传感器网络由分布在矩形区域R上的q类传感器结点组成,区域尺寸为W×L,各结点可见度半径为ρ。
对于传感器结点,表4-2列举了与5种不同的睡眠状态相关的各部分能量模式。各结点的睡眠模式对应于越来越深的睡眠状态,因而其特征被描述为渐增的延迟和渐减的能耗。需要根据传感器结点的工作条件选择这些睡眠状态,例如,在激活状态中关闭存储器或关闭其他任何部分都是没有意义的。
图4-25 传感器网络和结点的体系结构
①状态S0是结点的完全激活状态,结点可传感、处理、发送和接收数据。
②状态S1中,结点处于传感和接收模式,而处理器处于待命状态。
③状态S2与状态S1类似,不同点在于处理器断电,当传感器或无线通信模块接收到数据时会被唤醒。
④状态S3是仅传感的模式,除了传感前端外均关闭。
⑤状态S4表示设备的全关闭状态。
表4-2 传感器结点有用睡眠状态
能量管理是根据观测事件进行状态转换的策略,目的是使能量有效性最大。可见,能量唤醒传感器模型与ACPI标准的系统能量模型类似。睡眠状态通过消耗的能量、进入睡眠的管理花费以及唤醒时间来区分。睡眠状态越深,则能耗越少,唤醒时间越长。
(3)睡眠状态转换策略
假设传感器结点在某时刻t0探测到一个事件,在时刻t1结束处理,下一事件在时刻t2=t1+ti发生。在时刻t1,结点决定从激活状态S0转换到睡眠状态Sk,如图4-26所示。各状态Sk的能耗为Pk,而且转换到此状态和恢复的时间分别为τd,k和τu,k。假设结点在睡眠状态中,对于任意i>j,Pi>Pj,τu,i>τu,j。睡眠模式间的能耗可采用状态间线性变化的模型。例如,当结点从状态S0转换到状态Sk时,无线通信模块、存储器和处理器这些单个部件逐步断电,状态间能耗产生阶梯变化。线性变化在解析上比较容易求解并能合理地近似此过程。
图4-26 传感器结点睡眠状态转换策略示意图
现在获得一组与状态{Sk}相应的睡眠时间阈值{Tth,k}。若空闲时间ti>Tth,k,由于存在状态转换的能量管理花费,从状态S0转换到睡眠状态Sk将造成网络能量损失。假设在转换阶段无须完成其他工作,例如,当处理器醒来时,转换时间包括PLL锁定、时钟稳定和处理器相关指令恢复的时间。图4-26中,图线下方区域表示状态转换节省的能量,可用下式计算:
当且仅当Esave,k>0时这种转换是合理的。于是,可得到如下的能量增益阈值:
这意味着转换的延迟花费越大,能量增益阈值就越高,而且P0与Pk间的区别越大,阈值越小。
表4-3列出了图4-26所示的传感结点的能耗,说明了现有组件在不同能量模式下相应的能量增益阈值。由此可见,阈值处于微秒量级。OS的关闭策略以事件执行间隔统计和能量增益阈值为基础,可视为一个优化问题。若事件采用泊松过程模型,时刻ti至少发生一个事件的概率可由下式获得:
表4-3 睡眠状态的能量、延迟和阈值
此时,应该采用简单算法更新每单位时间的平均事件数λ,计算阈值内的事件发生概率Tth,k,并根据有效的最小概率阈值选择最深的睡眠状态。
2)有功能量管理
对于具有能量约束的传感器结点,OS能对有功能耗进行管理。将工作频率和电压降低到刚好适合传感应用的等级,性能不会有显著下降,但可以降低能耗。
DVS对降低CPU能耗来说是一种十分有效的技术。一些传感器系统具有时变的计算负荷。在活性较低的阶段,简单地降低工作频率会造成能耗的线性降低,但不会影响每个任务的总体能耗,如图4-27(a)所示,图中阴影区域表示能量。降低工作频率意味着工作电压同样会降低。因为转换能耗与频率线性成比例,并与供电电压的二次方成比例,所以可获得二次能量降低,如图4-27(b)所示。由于最佳性能不是时刻需要的,因此能显著降低系统能耗,这意味着处理器的工作电压和频率可根据瞬时处理的需要进行动态调整。(www.xing528.com)
图4-27 动态电压和频率缩放
3)系统实现
无线通信模块由2.4GHz双功率无线电构成,范围为10m和100m。16位总线接口连接器使无线通信模块能连接在处理器的电路板上。另外,连接器支持不同传感器电路板,例如振动传感器的接入。处理器电路板具有1个RS-232和1个USB接口,用于远程调试和与PC相连。传感器结点包括了固定振动传感器,即扬声器、运算放大器与A/D电路,传感器采用同步串行端口(Synchronous Serial Port,SSP)与StrongARM处理器通信。运算放大器增益是可编程的,受处理器控制。传感器电路还集成了封装探测机制,当信号能量超过设定的阈值时,可绕过A/D电路唤醒处理器。这样可显著降低传感模式的能耗,并提供对事件驱动算法的支持。
(1)DVS电路
图4-28表示一个基本的核心能量供应调节方式。MAX1717降压控制器用于动态调节核心供电电压,采用了5位数模转换器(Digital to Analog Converter,DAC),输入范围是0.925~2V。转换器工作依照的原理是可变工作循环脉冲宽度调制(Pulse Width Modulated,PWM)信号交替开启功率管VF1和VF2。功率管在工作周期D输出1个方波。LC低通滤波器使等于DVbattery的DC输出通过,而使AC分量衰减到可接受的范围内。工作周期D是可控的,采用DAC管脚即D0:D4,可产生30个电压级别。双线远程传感方案补偿了地线与输出电压线上的电压降。StrongARM根据是否需要DVS设置其使能引脚,将其作为电压调节器。调节器的反馈信号告知处理器输出核心电压是否稳定,这对于能量释放中的无误差工作是必需的。
图4-28 DVS电路示意
处理器时钟频率调节包括了SA-1110的核心时钟设置(Core Clock Configuration,CCF)的状态更新。核心时钟通过标准晶振时钟的倍频获得,采用基于CCF寄存器设置锁相环(Phase-Locked Loop,PLL),见表4-4。核心时钟(Core Clock,CCLK)可用快速CCLK或存储器时钟(Memory Clock,MCLK)驱动,其中MCLK的运行频率为CCLK的一半。核心时钟除了在存储丢失时等待填充完成外一般采用CCLK方式。通过设置控制寄存器可取消核心时钟在CCLK和MCLK间转换的能力。
电压和频率更新中的操作序列取决于操作是否提高了处理器时钟频率,如图4-29所示。当时钟频率提高时,将核心供电电压提高到特定频率所需的最小值是很有必要的。最优电压频率对存储在查询表中。一旦核心电压稳定,可开始更新频率。第一步包括重新校准存储计时器,可通过在MSC控制寄存器中设置适当的值实现。在CCLK频率提高前设置时钟,使之不能在CCLK和MCLK间转换,防止核心时钟的意外转换。通过设置CCF寄存器,完成了CCLK频率的改变。完成了这些步骤后,恢复核心时钟在CCLK和MCLK间转换的能力。
图4-29 DVS工作过程框图
表4-4 SA-1110核心时钟频率设置和最低核心供电电压
降低频率时,操作序列略有不同。首先,更新核心时钟频率,按照前面提到的3个基本步骤进行。在降低核心电压前需要重新校准存储计时器,因为在核心时钟频率降低时,若不调整存储计时器,存储器的读-写将造成误差,例如在读电压-频率查询表时。接下来,降低核心电压,当其稳定时开始进行一般操作。为了确保操作正确,所完成的所有电压频率更新都采用了原子方式。例如,当频率更新而存储器未重新校准时,若发生一个中断,可能产生执行错误。
(2)空闲能量管理硬件实现
经过特别设计的传感器结点拥有一系列与前述类似的睡眠状态。另外,结点硬件支持事件驱动算法。图4-30对其进行了全面描述。StrongARM的GPIO管脚与外围设备相连,用于生成和接收各种信号。SA-1110包含28个GPIO管脚,各管脚设置为输入或输出功能。另外,GPIO管脚经过特别设置可用于探测上升沿或下降沿。4个GPIO管脚专门用于实现系统能量供应控制。当不需要进行测量时,可选择关闭所有模块的能量供应,或者仅关闭低通滤波器(Low Pass Filter,LPF)的能量供应,而能量传感电路用于向处理器发出触发信号。此时,处理器激活LPF,并开始使用SSP从A/D转换器读入数据。信号探测阈值同样可用其他GPIO管脚编程,对无线通信模块可采用类似的能量供应控制。不需要无线通信时,处理器可将其关闭。
图4-30 DVS的硬件结构示意
(3)处理器能量模式
SA-1110包含能量管理逻辑电路,控制3种不同模式的转换,即运行、空闲和睡眠,各模式均对应于较低的能耗水平。
①运行模式。这是SA-1110的一般工作模式。所有单元能量供应均开启,所有时钟均开启,而且所有单片资源都可用。处理器通常经过上电或重置在运行模式下启动。
②空闲模式。此模式允许在CPU未被使用时停止CPU,同时继续监视中断请求。CPU时钟停止时,因为SA-1110是全静态设计的,所有状态信息均被保存。当重新开始一般操作时,CPU精确地从停止处开始执行。在空闲模式下,所有单片资源包括实时时钟、OS计时器、中断控制器、GPIO、能量管理器、DMA与LCD控制器等都开启。PLL也保持锁定,于是处理器可快速地进入和退出空闲模式。
③睡眠模式。睡眠模式为处理器节省最多能量,同时提供最少的功能。SA-1110从运行/空闲状态转换到睡眠状态时顺序关闭单片资源,对处理器采用内部中断,并取消能量使能PWR-EN管脚的作用,从而给外部系统指示,说明能量供应可关闭。32.768kHz晶振停止,睡眠状态机守候预排程序唤醒事件的发生。进入睡眠模式有两种方式,即软件控制和能量供应错误。设置能量管理控制寄存器(Power Manager Control Register,PMCR)中的强制睡眠位可进入睡眠模式。睡眠时,通过软件设置标志位,然后采用硬件清空此标志位。于是,当处理器醒来时,此标志位已清空。整体睡眠的关闭序列耗时约90ms。
如表4-5所示为各种模式下的能耗,包括了SA-1110处理器的两种不同频率和相应电压规格。值得注意的是,两种频率下所需最低工作电压,表4-4所示的比表4-5所示的略低。空闲模式的能量约降低了75%,而睡眠模式几乎节省了所有能量。
表4-5 SA-1110处理器能耗
4)动态能量管理实验
将传感器结点在完全激活状态即所有模块开启时的能耗作为SA-1110工作频率的函数。在激活模式下,能量管理主要由DVS实现。当在最高工作电压和工作频率下运行时,系统的能耗大约为1W。采用DVS有功能量管理的最大系统能量节省约为53%。实际的节省依赖于负荷需要。
采用DVS时,当处理速率变化程度最小时,由于能量负荷模型具有凸性,因而存在最低能耗。虽然平均负荷可能是固定的,但电池寿命从DVS获得的改善会随着负荷波动的增加而降低。
表4-6列出了测得的各种工作模式下传感器结点的能耗。无线通信模块的能量需求受到处理器控制,在3.3V下约为70mA。DVS可将系统能耗降低53%。关闭各部分,包括模拟能量供应、无线通信模块以及处理器可得到44%的额外能量节省。也就是说,空闲能量管理的系统级能量节省约为97%。如图4-31所示为由各种能量管理装置带来的总体能量节省。
表4-6 各种传感器工作模式的能耗
图4-31 系统级能量节省分布
实际的能量节省明显依赖于处理速率和事件统计。为了评价激活模式下获得的能量节省,需要估计系统负荷变化的程度。若平均负荷需求为50%,变化缓慢,则预计能量节省约为30%。另一方面,空闲模式能量的节省十分显著。假设操作的工作周期为1%,则估计能量节省约为96%。这意味着传感器结点电池寿命的提高因子会超过27,也就是说,若无能量管理时结点能维持1天,现在则几乎能维持1个月。工作周期为10%时,电池寿命提高因子约为10。这里,重点在于系统是能量可扩展的,即系统可根据计算负荷和传感需要来调整能耗。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。