OSEK间接网络管理(NM)

时间:2024-04-02 16:52:44

OSEK间接网络管理则是建立在信息传递的基础上的,网络节点周围的各模块向这一节点定时地发送信息,管理模块根据所获得的信息就可以判断出它们的状态,同时由其监控的更新网络状态。
间接的网络管理机制下,Master节点通过监控应用程序消息来监控网络状况,从而实现对整个网络的有效管理。所以,实现间接的网络管理要求节点能够在系统运行过程中,定时地周期性地发送特定的NM消息。
间接网络管理机制下,节点有两组状态:标识自身的状态not mute/mute和标识其他节点的状态present/absent。其中,状态又有一般状态和扩展状态(statically)之分,见表3.4所示:
OSEK间接网络管理(NM)
表3.4 间接网络管理的节点状态
间接网络管理的消息的传送和接收是基于两个超时机制的:

  1. 所有的消息都被一个全局的时间线(TOB)所监听;
  2. 每个消息被自身专用的一个时间线监听。
    其中,全局时间线的取值,必须不小于所有消息专用的时间线中的最大值。
    每个消息独自的超时机制可以由COM提供,即所谓的“COM截止线监控”机制。超时与否由交互层确定,每当一条消息被正确发送或者接收,或者收发超时,COM组件都会提交给网络管理模块相应的信息。
    间接网络管理的节点内部状态(即节点的NM所处的状态)和直接网络管理下的类似,见图3 8所示:
    OSEK间接网络管理(NM)
    图3 8 间接网络管理的节点内部状态
    absent或者mute状态不会促使NM让节点进入NMLimpHome状态,因为NM只监控节点行为,但是它不知道节点行为失常的原因是自身损坏,还是链路上的其他环节出了问题。
    扩展的超时机制使用阈值的方式来监控节点的当前状态,每次消息的接收发送成功与否,NM都减小或者增大标识节点功能正常与否的一个计数器,如果计数器增大到指定的阈值,则该节点被标识为mute/absent statically,,如果计数器减小到指定的阈值,则该节点被标识为not mute/present statically。例子见图3 9所示:
    OSEK间接网络管理(NM)
    图3 9 扩展的超时机制
    间接网络管理的总线睡眠模式,其与直接网络管理不同的是,间接网络管理中没有整个网络上的总线睡眠协商过程,Master节点如果想要进入睡眠状态,它就发送一个含有总线睡眠信息的消息给所有他所监控的Slave节点,Slave节点接收到总线睡眠消息后,就调用GotoMode(BusSleep)函数进入总线睡眠状态,Master节点在总线睡眠发送出去后调用GotoMode(BusSleep)函数进入总线睡眠状态。参见图3 10:
    OSEK间接网络管理(NM)
    图3 10间接网络管理的总线睡眠模式