没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
OSEK NM 2.53 之学习报告
1 概述
在报告中我首先说明一下通过学习 OSEK NM 过后,我现在对 OSEK NM 的认识;然
后我会列举在学习的过程中我所遇到的和提出的问题,有的问题在后续学习过程中已经解
决,有的还在继续探索中。当然我很希望您在看到这篇报告后,对于我所罗列的问题,对
于我作答的问题,希望您能帮我看看回答的是否正确,对于我没有解决的问题,希望您能
给我点指示或者解答,让我能尽快解决对 OSEK NM 的疑问。同时也很谢谢您让我做学习
报告,督促我学习,并能让我在学习之后能对自己学习的知识进行一次整理,很谢谢您。
2 OSEK NM
网络管理具体的功能有保证网络同步进入睡眠状态、网络启动后确定网络配置、运行
过程中监控网络配置、提供网络状态信息、网络故障的处理,而网络管理的重要任务就是
确保 ECU 之间交流的安全和可靠。
OSEK NM 提供了两种可选的监控机制,直接网络管理和间接网络管理。直接 NM 通
过令牌环实现网络状态的监控,通过发送网络管理报文每一个节点被其它节点监控。间接
网络管理是通过监控应用报文监控间接监控节点与网络的状态,网络中的每个节点必须周
期性发送报文。
3 直接网络管理
1.1 令牌环
在环中每个节点都有一个后继节点,按照节点地址的大小,从小地址节点向大地址节
点依次传送令牌(Ring 报文),最小地址节点是最大地址节点的后继节点,即如果没有地
址再大的节点,令牌将传递至地址最小的节点。
在令牌传递的过程中,令牌会被网络中所有节点接收,但只有地址匹配的节点(即后
继节点)会得到令牌。
1.2 网络管理协议数据单元
任何的网络管理报文都应该包含网络管理协议数据单元(NMPDU),NMPDU 包括源
地址、目标地址、操作码、特定应用数据(可选的)。其中操作码中会有
Alive、Ring、LimpHome、Sleep Indication、Sleep Acknowledge 的标识。通过操作码中的标
识位状态来确定当前报文是什么报文以及所处的睡眠状态。
为了标识网络管理报文与其他报文的不同(或者说为了识别出网络管理报文),使用
了 IdBase 和 WindowMask,硬件接收报文以后,进行
IF(Id_of_Frame&WindowMask==IdBase)判断,为真,则该报文是网络管理报文。具体的逻
辑过程可以参考附录图 1,该图是基于 CAN 报文的。
图 1 :基于 CAN 报文的 NM 报文的发送和接收过程
1.3 节点的状态
节点有三个状态:NMOff、NMOn、NMShutDown(执行一系列清除工作,清除定时
器、标志位等)。
两个核心服务(应用层):StartNM( ),StopNM( )。
1.3.1 NMOn
1.3.1.1 NMOn 子状态
NMOn 存在两组并行状态,一组是 NMInit、NMAwake、NMBusSleep;另一组是
NMActive、NMPassive。
对五中状态的解释:
NMInit——完成初始化(主要是硬件初始化),此状态短暂
NMAwake——一般情况,节点长期保持的状态,网络管理通信正常进行
NMBusSleep——睡眠状态,网络管理通信停止
NMActive——节点参与网络管理
NMPassive——节点不参与网络管理,但仍会监视网络活动
其中 NMInit 和 NMActive 是 NMOn 的初始化状态。
1.3.1.2 NMOn 子状态间的转换
NMInit 到 NMAwake 的转化是在初始化完毕,自然完成。
当节点睡眠条件满足(即所有节点都不请求通信的时候)NMAwake 转化到
NMBusSleep。
当接收到网络管理报文时,NMBusSleep 转化到 NMInit。
每个节点都有自己的 silent 标志,当应用程序调用 SilentNM()时,设置 silent 标志位,
NMActive 转化到 NMPassive;应用程序调用 TalkNM()时,清除 silent 标志位,NMPassive
转化到 NMActive。
1.3.1.3 NMAwake 子状态
其子状态包括 NMReset、NMNormal、NMLimpHome 三个状态:
NMReset:软件初始化,发送 Alive 报文
NMNormal:周期性发送/接收 Ring 报文,检测节点状态和网络配置的变化,向应
用程序提交 Normal 配置和 LimpHome 配置
NMLimpHome:此状态为跛行状态,此状态下节点不能正常发送/接收网络管理报
文,同时节点会周期性的发送 LimpHome 报文
各子状态间的转换:
NMReset→NMNormal:NM 报文能正常发送和接收
NMNormal → NMReset:Ring 报文接收超时
NMReset → NMLimpHome:NM 报文多次不能正常发送和接收
NMLimpHome → NMReset:LimpHome 报文发送成功且收到其他节点 NM 报文
NMNormal → NMLimpHome:NM 报文多次发送失败
1.3.2 节点各状态间的转换图
节点各状态间的转换图如图 2:
剩余13页未读,继续阅读
土豆宝妈
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页