首页 理论教育 TinyOS1.x中的微控制器能量管理策略

TinyOS1.x中的微控制器能量管理策略

时间:2023-06-28 理论教育 版权反馈
【摘要】:当任务队列为空时,TinyOS调度器将处理器置于休眠状态。TinyOS 1.x的平台有几种不同的管理微控制器能量状态的方式,这几种方式之间有共性。当TinyOS调度系统使微控制器进入休眠状态时,它使用控制寄存器来决定进入哪种低能耗模式。在TinyOS 1.x中Mica平台使用方法的效率较高,此方法仅计算被告知的低能耗模式。因此,更高层组件需要一种方法,为TinyOS微控制器能量管理提供所需的信息,用于计算合适的低能耗模式。

TinyOS1.x中的微控制器能量管理策略

当任务队列为空时,TinyOS调度器将处理器置于休眠状态。然而,处理器通常有多个能量状态。例如,MSP430有一个激活模式和五个低能耗模式。其低能耗模式从只禁用CPU和主系统时钟的LPM0模式到禁用CPU、所有的时钟和振荡器的LPM4模式。各个低能耗模式下的能耗可以相差350倍甚至更多(电源电压为3V时,LPM0模式所需电流为75μA,LPM4为0.2μA)。所以正确选择微控制器的低能耗模式可以大大提高系统的使用寿命。

TinyOS 1.x的平台有几种不同的管理微控制器能量状态的方式,这几种方式之间有共性。例如,Mica平台有一个名为HPLPowerManagement的组件,此组件有一个启用和禁用低能耗模式的命令,还有一个adjustPower()命令,此命令能根据各种控制寄存器和状态寄存器来计算低能耗模式,并把计算的值存储在Atmege128微控制器的控制寄存器中。当TinyOS调度系统使微控制器进入休眠状态时,它使用控制寄存器来决定进入哪种低能耗模式。相反,基于MSP430微控制器的平台则不同,如Telos平台和eyes平台,这些平台会自动计算低能耗模式,并使微控制器进入所计算出的低能耗模式。

这两种方法各有优缺点。在TinyOS 1.x中Mica平台使用方法的效率较高,此方法仅计算被告知的低能耗模式。然而,此方法由其他组件决定何时计算低能耗模式,这会引入漏洞。另外,TinyOS 1.x缺少对硬件抽象架构的定义,这会使情况更加恶化。相反,MSP430的方法相对简单,此方法在没有任何外部激励下,系统就可进入正确的能量状态。然而,它的开销较大,在用于唤醒系统的中断中引入了40~60个时钟周期的开销,限制了系统中断处理速度的提高。(www.xing528.com)

这两种方法都假定TinyOS的调度系统可以通过检查控制寄存器和状态寄存器状态来确定正确的低能耗模式。例如,MSP430微控制器默认低能耗模式是LPM3,但在检测到Timer A、USARTs或者ADC为激活状态时,它使用LPM1低能耗模式。当微控制器进入休眠状态时,外围设备和子系统可唤醒节点。然而,能量模式间的切换需要一定的唤醒延迟(由低能耗模式向更高能耗模式切换时),在使用更高层组件时需要注意这一点。虽然,唤醒延迟在如Atmega128和MSP430的低能耗微控制器上不是一个重要的问题,但是,对于一些功能强大的处理器,如Xsale系列的处理器(用于imote2等平台),它们的最大唤醒时延可达5ms。在一些应用场景中,这种延迟能够带来严重的问题。因此,更高层组件需要一种方法,为TinyOS微控制器能量管理提供所需的信息,用于计算合适的低能耗模式。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈