【摘要】:TinyOS不仅使用锁建立独占访问,同时也使用锁来决定何时开关外围设备。因此,如果TinyOS可以在不使用SPI时关闭SPI总线,即可达到节省能量的目的。锁提供了一种简单的方法来进行能量的自动管理,减轻了程序员的负担。功率锁的能量管理策略由默认所有者负责。当有等待处理的请求时,仲裁器总是授予请求者一个空闲锁,并通知默认所有者。
TinyOS不仅使用锁建立独占访问,同时也使用锁来决定何时开关外围设备。以SPI总线为例,微控制器通常有数个低功耗状态,这些低功耗状态的区别在于芯片子系统和中断资源的不同激活状态。典型的最低功耗状态是一个节点只能响应一个特定的硬件计数器或外部中断资源的唤醒,系统中诸如总线和ADCs处于休眠状态,不进行操作。因此,如果TinyOS可以在不使用SPI时关闭SPI总线,即可达到节省能量的目的。
锁提供了一种简单的方法来进行能量的自动管理,减轻了程序员的负担。当锁被释放掉并且没有等待处理的请求时处于空闲状态,此时锁可以关闭被它保护的系统的电源。当锁在空闲状态下接收一个请求时,锁切换到忙状态,此时可以打开系统电源。根据底层硬件的性质,锁可以在断电前等待一小段时间或者立即关闭电源。
图4-2 功率锁的子组件的结合方式(www.xing528.com)
功率锁支持存在一个“默认所有者”,这个“默认所有者”是一个在锁空闲时占用锁的组件。功率锁的能量管理策略由默认所有者负责。由于默认所有者从不请求锁,它使用一个与Resource稍有不同的接口。当有等待处理的请求时,仲裁器总是授予请求者一个空闲锁,并通知默认所有者。响应请求时,默认所有者给硬件加电,一旦加电成功便释放锁。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。