LIN总线的状态管理主要指网络的休眠和唤醒。协议规定从机 4 种状态:关机、初始化、运行和休眠。各个状态的切换关系如图1所示,在系统上电时从机在 100ms 以内完成初始化,随后从机自行进入运行状态。主机可以通过主机请求帧(帧ID = 0x3C)的 Go-to-Sleep 命令从机进入休眠状态(DAT0 = 0x00, DAT1-7 = 0xFF)。从机也可以在总线上没有活动后的 4 ~ 10s 内进入休眠状态。
图1. LIN总线状态机
主机和从机都可以唤醒整个网络,唤醒为持续时间 250us ~ 5ms 的显性信号,所有节点在检测到唤醒信号后旋即退出休眠状态,进行初始化,最长在 100ms 后进入运行状态。如果节点发送出唤醒信号后,在 150 ~ 250ms 内没有接收到总线上的任何命令(帧头),则可以重新发送一次唤醒。唤醒信号最多可以发送 3 次, 3 次之后,必须等待至少 1.5s 之后才可以再次发送唤醒。图2示意LIN总线的唤醒流程。
图2. LIN唤醒流程