3. 均依靠特定ID段的网络管理报文,但是每个节点的报文ID均不一样。4. 唤醒方法相同,第一个被唤醒网络节点发送网络管理帧,同时也唤醒网络中其它节点。网络唤醒后,OSEK中要求节点发出的首帧报文必为Alive类型,而AUTOSAR只要求是网络管理帧即可。OSEK网络管理机制为令牌环机制,令牌从网络地址低的节点传到网络地址高的节点,如果没有更高的节点,就传给最低地址节点。令牌环根据ECU的网络地址建立。每个ECU都会接受网络管理消息,只有和目的地址相同的一个节点才会得到令牌。1) 控制器唤醒后想参与网络的节点会先发Alive报文申请加入逻辑环。2)逻辑环建成后,各节点按顺序发Ring报文向后续节点传递“令牌”。1)如果逻辑环中有节点想休眠,就设置Ring报文中的Sleep.Ind指示位。2)当逻辑环中所有的节点都设置了Sleep.Ind指示位,也意味着任何节点接收到所有其它节点的Sleep.Ind指示位。3)逻辑环中所有的节点设置Sleep.Ack指示位4)任何节点接收到所有其它的节点的Sleep.Ack指示位6)tWaitBusSleep时间内没有收到唤醒时间,所有节点同步进入睡眠状态。AUTOSAR基于分布式策略,每个节点根据通信系统中发送或者接收到的NM消息来执行自给自足的网络活动。NM消息通过广播发送,所有网络中的所有节点都可以接收到。接收到NM消息表示发送这个NM消息的节点倾向保持网络工作模式(NETWORK MODE)。如果有节点准备好进入总线睡眠模式 (BUS SLEEP MODE),它就停止发送NM消息,但是只要它还能够接收到从其他节点发来的NM消息,它就延迟到总线睡眠模式的变迁。最终,在一定的时限内,由于不再接收到NM消息,每个节点都启动到总线睡眠模式的变迁。如果网络中的任何节点需要总线通信,它可以通过发送NM消息使网络从来总线睡眠模式中唤醒。概括如下:1) 每个网络节点如果想保持总线通信,就会一直发送周期性的NM消息;如果它不再需要保持总线通信,它就不再发送NM消息。2) 如果总线通信已经被释放,并且在配置的一段时间内没有发送或者接收到NM消息,则执行到Bus-Sleep模式的转移。OSEK网络帧PDU包括自己地址,目标地址(下一个令牌环目标),命令状态,用户选择数据。而AUTOSAR网络帧PDU只包括自己地址,少量控制信息,用户选择数据。内容简单的多。1. OSEK同步休眠时刻是所有节点都发送Ring请求休眠帧,且收到其它节点的Ring确认休眠帧。而AUTOSAR的同步休眠时刻是所有节点都停发NM帧,且不能收到其它节点的NM帧。比较而言,AUTOSAR要简单点。2. OSEK令牌环中只要有一个节点异常,其它节点就要重新建立环才能维持正常网络状态,策略比较复杂。而AUTOSAR网络管理中,一个节点异常时不影响其它节点的网络状态。比较而言,AUTOSAR要简单点。
版权声明:本文为CSDN博主「南工问天」的原创文章,遵循CC 4.0 BY-SA版权协议,已获原文作者转载权限。