OSEK直接网络管理(NM)规范.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

OSEK直接网络管理(NM)规范

?

图34OSEK网络管理总的内部状态

当系统复位时,NM进入NMOff状态;调用StartNM()使得NM进入NMOn状态;调用StopNM()使得NM进入NMShutdown状态。函数StartNM()和StopNM()是NM的核心API。StartNM()初始化一个NM逻辑环;StopNM()改变NM的状态为NMShutdown,执行清除操作,然后进入NMOff状态。

其中,NMOn状态又有如下子状态(表3.1):

表3.1NMOn的子状态

?

NMOn存在两组并行子状态:NMInit、NMAwake、NMBusSleep和NMActive、NMPassive。NMOn的并行子状态如图35所示:

?

图35NMOn的并行子状态

当NM进入NMOn状态时,NMInit和NMActive是其缺省的初始化状态。NMInit是NM组件内部的瞬时初始化状态。完成初始化任务后,即转入NMAwake状态并保持,直到转到总线睡眠的条件被满足才转入NMBusSleep状态。当系统处于NMBusSleep状态时,一旦接收到NM消息,即转入NMInit状态。

在并行状态图中,当系统处于NMActive状态时,NM通信正常运行;当SilentNM()被调用时,本地节点进入NMPassive状态,并停止参与逻辑环组成。为了返回NMActive状态,只需调用TalkNM()函数。

系统执行完NMInit状态所要求的动作后,即转入NMActive状态。NMAwake状态有如下子状态(表3.2):

表3.2NMAwake的子状态

?

NMAwake的状态图如图36所示:

?

图36NMAwake的状态图

NMReset子状态是进入NMAwake状态后的缺省状态,NM在此时重置NM的通信链路、有关的计数器、参数等。初始化完成,NM将检查NM消息是否正确的收发,然后转入NMNormal状态并保持。

一旦致命错误发生将切换到NMLimpHome状态。当系统处在NMLimpHome状态时,系统将会传输一个周期性的LimpHome消息。NM继续监听网络,以便确定消息传输是否已被恢复从而切换回NMNormal状态。

汽车网络上的节点是多种多样的,可能在不同时刻运行、开关或激活,也有可能因节点或网络的故障而失效,因此网络的配置是变化的。NM维护当前网络的配置,并可以按要求为应用程序提供这些信息。

NM识别两种配置:实际(Actual)配置和故障(LimpHome)配置,实际配置指示可访问的节点,而故障配置指示那些因故障退出逻辑环组成的节点。

NM并不管理应用程序的模式(APPMODE),但是NM管理两个主要的操作模式,对应于内部状态的NMAwake(NMActive)和NMBusSleep。节点在NMAwake操作模式下,参与逻辑环组成并监视网络上所有同处于NMAwake模式的节点:如果一个节点进入NMBusSleep操作模式,就不再参与逻辑环上的NM通信。

NM消息包含NM协议数据单元(NMPDU)。NMPDU在通信网络上传输,其结构如图37所示:

?

图37NMPDU的结构

地址域包含源消息地址和目的节点地址。控制域包含关于消息类型的信息,上述部分是必选部分,而数据域则是可选部分,它包含特定应用程序的数据。

为了易于标识NM消息和其它消息,NM采用基地址(ID_Base)和窗口(Window_Mask)机制,类似于IP中的网络号与子网掩码。如果一条消息的ID满足:

IDWINDOW_MASK==ID_BASE

则认为该消息是NM消息。假设有一个子网,网络配置中有4个节点,ID为1-4,如果采用8位消息地址和11位掩码,设定ID_BASE为0x700及WINDOW_MASK为0x7F8,那么来自集合{0x701,0x702,0x703,0x704}的任一条消息就是NM消息。

报警器的设计:

直接NM定义了5个报警器,并通过其控制逻辑环上消息的收发,进而监控网络配置和节点状态。比如节点从收到一个Ring消息到重传该Ring消息的间隔时间Ttyp就是报警器Ttyp控制的。详细定义如表3.3所示:

表3.3NM所用报警器的定义

?

逻辑环运行:

调用StartNM()启动直接NM时,NM执行一系列初始化操作,然后广播第一个NM消息——Alive消息。Alive消息通知网络上的其它节点(如果有的话),当前节点加入逻辑环,并启动Ttyp报警器。当一个活动节点接收到一个Alive消息时,它将执行以下步骤:

1. 将发送节点作为在线节点添加到网络配置中;

2. 本地节点确定新节点是否为环中的逻辑后继节点。

任何时候,如果数据链路层通知NM消息失败,则启动Ttx报警器,并增加计数器的值。如果计数器超过

文档评论(0)

183****9588 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档