OSEK直接网络管理NM规范_第1页
OSEK直接网络管理NM规范_第2页
OSEK直接网络管理NM规范_第3页
OSEK直接网络管理NM规范_第4页
OSEK直接网络管理NM规范_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、OSEK直接网络管理(NM)介绍OSEK直接网络管理(NM)赋予节点“消息地址”的概念,即每个网络上的节点有唯一的标识号。NM规范没有定义最大的节点标识号,但建议采用8位地址(0-255)。虽然底层物理网络不支持消息地址,但直接NM要求间接实现对消息地址的支持。一个网关节点可连接不同的网络,并且在每一网络中它的消息地址可能是不同的。如图3 2所示: 图3 2 两个总线网络中的逻辑环结构在图3 2中,子网1的3个节点在逻辑上形成一个环,称之逻辑环(LogicalRi ng)。逻辑环通过环消息(Ring Message)序列实现消息传输。环消息自低地址节点(ID号小)向高地址节点(ID号

2、大)发送,再由最高节点传回最低节点,形成一个环。逻辑环上的消息交换机制如图3 3所示: 图3 3 逻辑环上的消息交换机制直接NM还要求网络广播的实现,允许异步广播Alive消息和limpHome消息。Alive消息指定网络上一个新的节点;ImpHome消息指定一个不再能工作的节点。NM通过传输NM消息来确定网络的内部状态,状态反映了NM当前运行时的信息。状态是分层级的,总的内部状态如图3 4所示: 图3 4 OSEK网络管理总的内部状态当系统复位时,NM进入NMOff状态;调用StartNM()使得NM进入NMOn状态;调用StopNM()使得NM进入NMShutdown状

3、态。函数StartNM()和StopNM()是NM的核心API。StartNM()初始化一个NM逻辑环;StopNM()改变NM的状态为NMShutdown,执行清除操作,然后进入NMOff状态。其中,NMOn状态又有如下子状态(表3.1):表3.1 NMOn的子状态 NMOn存在两组并行子状态:NMInit、NMAwake、NMBusSleep和NMActive、NMPassive。NMOn的并行子状态如图3 5所示: 图3 5 NMOn的并行子状态当NM进入NMOn状态时,NMInit和NMActive是其缺省的初始化状态。NMInit是NM组件内部的瞬时初始化状态。完

4、成初始化任务后,即转入NMAwake状态并保持,直到转到总线睡眠的条件被满足才转入NMBusSleep状态。当系统处于NMBusSleep状态时,一旦接收到NM消息,即转入NMInit状态。在并行状态图中,当系统处于NMActive状态时,NM通信正常运行;当SilentNM()被调用时,本地节点进入NMPassive状态,并停止参与逻辑环组成。为了返回NMActive状态,只需调用TalkNM()函数。系统执行完NMInit状态所要求的动作后,即转入NMActive状态。NMAwake状态有如下子状态(表3.2):表3.2 NMAwake的子状态 NMAwake的状态图如图3 6所

5、示: 图3 6 NMAwake的状态图NMReset子状态是进入NMAwake状态后的缺省状态,NM在此时重置NM的通信链路、有关的计数器、参数等。初始化完成,NM将检查NM消息是否正确的收发,然后转入NMNormal状态并保持。一旦致命错误发生将切换到NMLimpHome状态。当系统处在NMLimpHome状态时,系统将会传输一个周期性的LimpHome消息。NM继续监听网络,以便确定消息传输是否已被恢复从而切换回NMNormal状态。汽车网络上的节点是多种多样的,可能在不同时刻运行、开关或激活,也有可能因节点或网络的故障而失效,因此网络的配置是变化的。NM维护当前网络的配置,并可

6、以按要求为应用程序提供这些信息。NM识别两种配置:实际(Actual)配置和故障(LimpHome)配置,实际配置指示可访问的节点,而故障配置指示那些因故障退出逻辑环组成的节点。NM并不管理应用程序的模式(APPMODE),但是NM管理两个主要的操作模式,对应于内部状态的NMAwake(NMActive)和NMBusSleep。节点在NMAwake操作模式下,参与逻辑环组成并监视网络上所有同处于NMAwake模式的节点:如果一个节点进入NMBusSleep操作模式,就不再参与逻辑环上的NM通信。NM消息包含NM协议数据单元(NMPDU)。NMPDU在通信网络上传输,其结构如图3 7所示:

7、60;图3 7 NMPDU的结构地址域包含源消息地址和目的节点地址。控制域包含关于消息类型的信息,上述部分是必选部分,而数据域则是可选部分,它包含特定应用程序的数据。为了易于标识NM消息和其它消息,NM采用基地址(ID_Base)和窗口(Window_Mask)机制,类似于IP中的网络号与子网掩码。如果一条消息的ID满足:ID & WINDOW_MASK = = ID_BASE则认为该消息是NM消息。假设有一个子网,网络配置中有4个节点,ID为1-4,如果采用8位消息地址和11位掩码,设定ID_BASE为0x700及WINDOW_MASK为0x7F8,那么来自集合0x701,0x 70

8、2,0x 703,0x 704的任一条消息就是NM消息。报警器的设计:直接NM定义了5个报警器,并通过其控制逻辑环上消息的收发,进而监控网络配置和节点状态。比如节点从收到一个Ring消息到重传该Ring消息的间隔时间Ttyp就是报警器Ttyp控制的。详细定义如表3.3所示:表3.3 NM所用报警器的定义 逻辑环运行:调用StartNM()启动直接NM时,NM执行一系列初始化操作,然后广播第一个NM消息Alive消息。Alive消息通知网络上的其它节点(如果有的话),当前节点加入逻辑环,并启动Ttyp报警器。当一个活动节点接收到一个Alive消息时,它将执行以下步骤:1.将发送节点作为

9、在线节点添加到网络配置中;2.本地节点确定新节点是否为环中的逻辑后继节点。任何时候,如果数据链路层通知NM消息失败,则启动Ttx报警器,并增加计数器的值。如果计数器超过一个设定的阀值,NM将进入LimpHome状态。否则,当Ttx到时NM重传消息。逻辑环与802.5令牌环类似,在网络中只有一个节点控制Ring消息。当节点接收到Ring消息并且Ttyp定时器到时,发送该消息。NM启动时在Alive消息传输之后,网络处于瞬时状态,在该状态下总线上可能存在Alive消息和Ring消息,以及不同的情况:1.如果接收到Alive消息,如前所述节点更新配置和后继节点;2.如果在Tmax到时之前,节点接收到

10、一个Ring消息,则取消定时器,并处理Ring消息;3.当Ttyp到时,本地节点发送Ring消息;4.如果在本地节点发送Ring消息到数据链路层和消息发送确认返回之间接收到一个Ring消息,节点将忽略该消息以确保Ring消息的唯一性。当接收到一个Ring消息时,本地节点检查NMPDU的目的地址,根据该域的有效值,采取如下操作:如果Ring消息的目的地址不是本地节点,取消Ttyp报警器,然后重启Tmax报警器。NM检查源地址、目的地址操作码,据此更新网络配置和切换状态;如果Ring消息的目的地址是本地节点,取消Tmax报警器,然后重起Ttyp报警器。如果源节点在配置信息中标识为离线,则更新为在线。当逻辑环中没有Alive消息传输,并且唯一的Ring消息沿逻辑环传递一周后,网络状态从瞬时状态切换到稳定状态。当网络处于瞬时状态时,数据中的数据无效。NM提供了检测离线节点的机制,如果Tmax到时则NM将进入NMReset状态试图重建逻辑环从而返回NMNormal状态,这样离线节点将被排除在新的逻辑环组成之外;NM还提供了检测节点被跳过的机制,如果一个节点被挑过,它立即发送一个Al

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论