- 1、本文档共44页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OSEK 网络管理培训
徐峰
什么是OSEK
OSEK,是指德国的汽车电子类开放系统和对应接口标准(open systems and the corresponding interfaces for automotive electronics)而VDX则是汽车分布式执行标准(vehicle distributed executive),后者最初是由法国独自发起的,后来加入了OSEK团体。两者的名字都反映出OSEK/VDX的目的是为汽车电子制定标准化接口.
标准定义了三个组件来构成OSEK/VDX标准:
实时的操作系统(OSEK OS)
通讯子系统(OSEK-COM)
网络管理系统(OSEK-NM)
OSEK 在ECU软件组件
NM
OSEK网络管理作用
初始化ECU资源,比如网络接口
启动网络
提供网络配置
网络节点监控
侦测,处理网络和节点的运行状态
设置网络或是节点的具体参数
协调网络运行状态,比如睡眠
控制,协调进入到睡眠模式。静态电流是重要的指标。
提供诊断功能
定义网络管理的状态机
网络管理的方式
最直接的方法是将所有CAN总线上的ECU电源都接在KL15上面。(KL15是当点火开关在ON上才接通蓄电池电源)
上面的方法有什么缺点?
无法适应所有的ECU:
可以断电关闭,比如座椅控制
有些ECU在汽车到OFF档时需要一些额外的时间关闭,比如车灯控制模块,可能有礼宾功能,在熄火之后需要点亮一段时间。
有些ECU需要一直在低功耗情况下运行,比如安全防盗模块
网络管理进行管理
所有的节点都连结在KL30上,直接由VCC供电
KL15作为网络消息通知各个节点
各个节点具备OSEK定义的网络管理功能
睡眠模式和低功耗模式区别?
ECU进入睡眠模式并不是说ECU一定工作在低功耗模式。
ECU要进入低功耗模式,必须会先进入睡眠模式。
网络管理消息
ID
DLC
Destination
OpCode
User Data
ECU 基地址+网络节点序号
消息数据长度
目的地节点地址
命令和状态
用户数据
Alive 报文
各节点申明自己要加入逻辑环
Ring 报文
各节点向后续节点传递“令牌”的报文
Limp home报文
各节点不能正常收发报文时,节点进入Limp home,之后节点周期发送此报文。
网络管理如何工作
OSEK 网络管理使用令牌环机制
令牌从网络地址低的节点传到网络地址高的节点
如果没有更高的节点,就传给最低地址节点
令牌环根据ECU的网络地址建立。
每个ECU都会接受网络管理消息,只有和目的地址相同的一个节点才会得到令牌。
网络建立过程
各个节点发送Alive消息,后续节点为自己
各个节点接受总线上的网络管理消息,配置表和后续节点
进入睡眠模式
Limphome 模式
加入新节点
网络节点丢失
网络管理重要 API
System Generation Support
StartNM
StartNM starts the local network management. This causes the
state transition from NMOff to NMOn
StopNM
StopNM stops the local network management. This causes the
state transition from NMOn to NMShutDown and after
processing of the shutdown activities to NMOff.
GotoMode
GotoMode serves to set the NM operating mode specified by
NewMode. Operating modes to be set globally are
recognized by the local NM and treated accordingly.
GetStatus
This service provides the current status of the network
InitDirectNMParams
InitDirectNMParams is a directive for initializing the parameters
of the direct NM.
文档评论(0)