01
02
OSEK网络管理
NMOff:网络管理关闭
NMOn:网络管理正在运行
NMShutDown:关闭网络管理的操作,此过程会清理一些在运行过程中产生的数据
NMInit:主要是硬件初始化,此状态很短暂(初始)
NMAwake:一般情况下节点长期保持的状态,正常进行网络管理
NMBusSleep:睡眠状态,网络管理通信停止
NMActive:参与网络管理(初始)
NMPassive:节点不参与网络管理,但仍监视网络活动
NMReset:软件初始化,发送alive报文
NMNormal:周期性发送或接受Ring报文,检测节点状态和网络配置的变化
NMLimpHome:节点非正常状态,不能正常发送和接收网络管理报文,尝试周期性发送跛行报文
AUTOSAR网络管理
BusSleep Mode :总线睡眠模式,当具备AUTOSAR网络管理功能的控制器正常休眠时的状态
Prepare BusSleep Mode :总线预睡眠模式,此状态为网络中节点停止通信准备进入睡眠模式的一个过渡状态,不会长期处于此状态
Network Mode :网络模式,网络中有通信请求时的状态
Repeat Message State:重复消息状态,此状态不是一个长时间的状态,当从睡眠模式或者准备睡眠模式进入网络模式时进入此状态,发出自身的网络管理报文,让网络中的其他节点可以检测到,也可以用来检测当前在线的节点。
Normal Operation State:正常操作状态,某个节点需要网络通信时处于的状态,周期性的发出自身的网络管理报文。
Ready Sleep State:就绪睡眠状态,某个节点不再需要网络通信时处于的状态,不再发出自身的网络管理报文,但正常发送自身的应用报文。
03
共同点
1
都是基于状态机的网络管理。
2
都是协调网络中的节点同时进入休眠以及唤醒。
3
都分配了特定的网络管理报文在网络中进行网络管理,属于直接网络管理。
4
通常情况每个节点都有独有的节点ID(如0x1),与基础ID(如0x400)共同构成网络管理报文的ID(0x401)。
5
网络唤醒方式都相同,每个节点都可以由于自己需要通信而主动唤醒网络,也可以被网络中其它的节点唤醒。
不同点
唤醒行为不一样
1.通信启动
2.确认逻辑后继节点
3.发出Ring报文
4.令牌传递
5.建环完成
休眠行为不一样
1.节点B就绪休眠
2.仅节点C主动维持网络通信
1️⃣Node B准备休眠发出携带睡眠指示的网络管理报文,被节点C维持通信。
2️⃣Node C依然需要请求网络,发出未携带睡眠指示的网络管理报文,维持节点A/B处于通信状态。
3️⃣Node A准备休眠发出携带睡眠指示的网络管理报文,被节点C维持通信。
3.节点C也准备休眠
1️⃣Node B准备休眠发出携带睡眠指示的网络管理报文。
2️⃣Node C准备休眠发出携带睡眠指示的网络管理报文。
3️⃣Node A检测到所有节点都准备休眠,发出后继节点指向自身且携带睡眠应答信息的网络管理报文。
1.A/B/C三个节点都处于请求网络状态
所有节点都周期发送自身网络管理报文。
图十一 AUTOSAR网络管理控制同时休眠示意图(1)
2.节点A准备休眠,节点B/C依然维持通信
节点A停发自身网络管理报文,但被节点B/C维持通信。
图十二 AUTOSAR网络管理控制同时休眠示意图(2)
3.所有节点准备好睡眠
所有节点停发网络管理报文,等待NM-Timeout timer 超时并启动Wait Bus-Sleep Timer。
图十三 AUTOSAR网络管理控制同时休眠示意图(3)
网络管理逻辑不同
网络管理报文格式不一样
操作码(Opcode):OSEK网络管理PDU中的byte1,置位这个字节中不同位置的位就表现为不同的报文类型,分别为Alive报文,Ring报文,LimpHome报文,但同一时刻只能发送一种类型;这个字节中还包含节点的状态信息,也就是节点是否准备好睡眠以及是否确认睡眠,各占一个位。这个字节中的其它位则是预留的。
控制位向量(CBV):AUTOSAR网络管理PDU中的byte1,这个字节中包含重复消息请求信息,主动唤醒信息以及PN相关等表明节点进行网络管理的控制信息。
对于节点掉线或者加入的处理不一样
04