状态机(State Machine)

协议中定义了单独的网络管理,规定了从节点的四种状态:关机、初始化、运行和睡眠。此外,还定义了状态转换(参见交互图:Slave State Model)。上电将从节点切换为初始化状态且切换必须在100毫秒内完成。然后,从节点自动切换为运行状态。

睡眠指令(Sleep Command)

主节点可以通过发送Go-to-sleep命令使所有从节点进入睡眠状态。此命令是一个主请求帧,第一个数据字节的值为0x00(相当于NAD=0),其他七个数据字节值为0xFF。

主动睡眠(Stand-alone Sleep)

如果四到十秒内没有总线活动,从节点会转换为睡眠状态。根据规范,切换到睡眠状态并不需要同步切换为低功耗状态。这意味着微控制器不会完全切换为节能模式(节能模式下会关闭不必要的硬件资源)。

唤醒

除主节点外,每个从节点都可以唤醒子网。从节点可以在总线上发送唤醒信号(参见交互图:Slave State Model)。此信号是一个显性脉冲,持续时间最短250微秒,最长5毫秒。检测到唤醒信号后,节点将退出睡眠状态并转换为初始化状态。再过100毫秒后,节点切换为运行状态。

“沉睡的”主节点

如果从节点负责唤醒,并且初始化后150毫秒内未检测到任何帧头,则该节点将发送另一个唤醒信号(参见交互图:Wakeup Procedure)。如果连续3次尝试唤醒失败(3个唤醒信号 = 1个唤醒块),则从节点将停止唤醒程序1.5秒,然后才可以再次启动(如果适用)。具体行为最终取决于系统设计需求。

最后修改: 2021年03月3日 星期三 19:22