can网络管理(osek中的NM)
OSEK 直接网络管理基本功能
1、协调各 ECU 同时进入网络睡眠模式;
2、检测和监控网络的配置;
3、提供系统状态。所有参与直接网络管理的 ECU,根据[OSEKNM]中的算法建立逻辑环的通信机制:
4、每个参与直接[NM]的 ECU 都有一个特定的网络管理地址;
5、每个 ECU 发送特定的 NM 报文,NM 报文由优先级较高 ECU 发送至优先级较
低 ECU,优先级最低 ECU 发送至优先级最高 ECU,NM 报文以这种令牌环机
制依次发送形成逻辑环;
6、NM 报文分为 Alive 报文、Ring 报文和 LimpHome 报文;
7、需要 CAN 通信时,ECU 网络启动,通过发送 Alive 报文唤醒网络或申请加入网
络,收到 Alive 报文的其它 ECU 被唤醒或更新逻辑后继重新建立逻辑环;
8、当建立逻辑环,ECU 发送 Ring 报文,接收到 Ring 报文的其它 ECU 监测其目
标地址,判断是否被跳过,若被跳过则发送 Alive 报文,提示其它 ECU 更新逻
辑后继,重新建立逻辑环;
9、逻辑环稳定时,如果ECU不再需要 CAN通信也就是自身睡眠条件完全满足时,
该 ECU 将在发送的 Ring 报文中设置[Sleep.Ind](睡眠指示位),以通知网络中
其它 ECU。当逻辑环中所有的 ECU 都发送了设置 Sleep.Ind 的 Ring 报文,检
测到网络中所有 ECU 都满足睡眠条件的 ECU 会发送设置[Sleep.Ack](睡眠确
认位)的 Ring 报文,网络中所有的 ECU 接收到设置 Sleep.Ack 的 Ring 报文后
同步进入等待睡眠状态;
10、如果在进入等待睡眠状态后 t WaitBusSleep 时间内,网络中所有 ECU 没有监测到中
断事件,将同步进入睡眠状态。若 ECU 监测到中断,则 ECU 重新发送 Alive 报
文,重新建立逻辑环;
11、睡眠指示位的状态由应用程序进行控制,如果应用程序需要 CAN 通信,睡眠指
示位将被复位,此时 ECU 睡眠条件不满足,即 Sleep.Ind=0;当应用程序不再
需要 CAN 通信,此时 ECU 睡眠条件满足,在下次发送 NM 报文时会将其睡眠
指示位置位,即 Sleep.Ind=1