本文介绍CAN网管各个状态跳转条件以及执行的动作。
先放出一个状态机图。
这是一张非常经典CAN网管状态机图。
各个状态简单介绍:
Bus-sheep Mode: 总线休眠状态,ECU不会往总线发任何报文和接收报文。
Repeat Message State:不会接收和发送应用报文,只会接收和发送网络管理报文(后面都简称 网管报文)。
Normal Operation State:主动唤醒,ECU正常执行状态,会接收和发送应用报文和网管报文。
Ready Sheep State:准备休眠状态,网络释放,和前面normal模式不同,准备休眠状态不会向总线上发送网管报文。
Prepare Bus-Sleep Mode: 接收网管报文超时,进入预总线休眠,不会送任何报文,可以接收网管报文。
状态跳转
1、Bus-sheep Mode -> Repeat Message State
跳转条件是:主动唤醒或者被动唤醒请求,这里简单解释下,主动唤醒源可以认为是KL15 on或者其他主动唤醒源;被动唤醒源是网管报文。主动和被动有什么区别,比如ADSD域控制器,检测到KL15电源,会主动唤醒,但是他需要获取车内传感器数据,其他ECU收到网管报文(被动唤醒&#x