tceic.com
学霸学习网 这下你爽了
当前位置:首页 >> >>

02_OSEKVDX直接网络管理-协议_图文

OSEK/VDX直接网络管理 协议
北京经纬恒润科技有限公司 汽车电子事业部 2012年7月2日

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

OSEK/VDX直接网络管理
? [1] 令牌环 ? [2] 节点状态 ? [3] 网络管理报文 ? [4] 睡眠 ? [5] BusOff处理 ? [6] 状态转换图

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

2

令牌环
? 直接网络管理采用“令牌环”的机制
? 每个节点都有一个后继节点 ? 按照节点地址大小,从小地址节点?大地址节点依次
传递令牌 (Ring报文) ? 如果没有地址再大的节点,则传递至地址最小的节点

ECU
1

Token >>

ECU
2

ECU
3

ECU
6

ECU
5

ECU
4

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

3

令牌环

? 令牌环的处理
? 令牌会被网络中所有的节点接收 ? 但只有地址匹配的节点 (后继节点) 会得到令牌

ECU 1
2

ECU 2
2

y Action #4

ECU 3
2

2
ECU 6

2
ECU 5

2?
ECU 4

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

4

OSEK/VDX直接网络管理
? [1] 令牌环 ? [2] 节点状态 ? [3] 网络管理报文 ? [4] 睡眠 ? [5] BusOff处理 ? [6] 状态转换图

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

5

节点状态
? 三个主要状态
? NMOff ? NMOn
? 网络管理正在运行
? NMShutDown
? 执行一系列清除工作,清除定时器、标志位等
? 两个核心服务
? StartNM( ) ? StopNM( )

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

6

节点状态-NMOn
? NMOn存在两组并行状态
? NMInit、NMAwake、NMBusSleep ? NMActive、NMPassive
? NMInit和NMActive是NMOn的初始化状态

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

7

节点状态-NMOn
? NMOn子状态
? NMInit?完成初始化(主要是硬件初始化)此状态短暂 ? NMAwake?一般情况,节点长期保持的状态,网络管
理通信正常进行 ? NMBusSleep?睡眠状态,网络管理通信停止 ? NMActive?节点参与网络管理 ? NMPassive?节点不参与网络管理,但仍然监视网络
活动

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

8

节点状态-NMOn
? NMOn子状态间的转换
? NMInit?NMAwake
? 初始化完毕,此转换自然完成
? NMAwake?NMBusSleep
? 睡眠条件满足
? NMBusSleep?NMInit
? 接收到网络管理报文
? NMActive?NMPassive
? 应用程序调用SilentNM()
? NMPassive?NMActive
? 应用程序调用TalkNM()

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

9

节点状态-NMAwake

? NMAwake子状态
? NMReset
? 软件初始化 ? 发送Alive报文

NMAwake

Fatal Bus Error

NMLimpHome

? NMNormal
? 周期性发送/接收Ring报文

NMReset

? 监测节点状态和网络配置的变化

? 向应用程序提交Normal配置和LimpHome配置

? NMLimpHome
? 跛行状态: 节点不能正常发送/接收网络管理报文 ? 尝试周期性发送LimpHome报文

NMNormal

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

10

节点状态-NMAwake
? NMAwake子状态间的转换
? NMReset?NMNormal
? NM报文能正常发送和接收
? NMNormal?NMReset
? Ring报文接收超时
? NMReset?NMLimpHome
? NM报文多次不能正常发送和接收
? NMLimpHome?NMReset
? LimpHome报文发送成功且收到其他节点NM报文
? NMNormal?NMLimpHome
? NM报文多次发送失败

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

11

节点状态
? 状态转换

NMBusSleep

NMOn
NMActive

NMInit

TalkNM
NMAwake

SilentNM

NMPassive

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

12

OSEK/VDX直接网络管理
? [1] 令牌环 ? [2] 节点状态 ? [3] 网络管理报文 ? [4] 睡眠 ? [5] BusOff处理 ? [6] 状态转换图

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

13

网络管理报文-报文格式

? 每个节点都有特定的网络管理报文

? 网络管理报文的格式

Byte 0

Byte 1

Byte 2 - 7

ID DLC Destination OpCode

User Data

Alive Ring LimpHome Sleep Indication Sleep Acknowledge

ID Base + NM ID 目标地址

xx

Sleep Ack

Sleep Ind

x

Limp Home

Ring

Alive

? OEM统一分配
? 网络管理报文的ID Base ? 各节点的网络管理ID (地址)

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

14

网络管理报文-报文格式
? 网络管理报文的ID
? 为了标识网络管理报文与其他报文的不同,使用 IdBase和Window_Mask
? IF(Id_of_Frame&WindowMask==IdBase),该报文 是网络管理报文
? 实例
? IdBase=0x700 ,预先在CAN Id分配中设定 ? 网络上有4个节点,0x700、0x701、0x702、0x703 ? 11位的Window_Mask=0x7FC ? 29位Window_Mask=0x1FFFFFFC

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

15

网络管理报文-报文类型
? Alive报文
? 各节点声明自身将要加入到“逻辑环”的报文
? Ring报文
? 各节点向后继节点传递“令牌”的报文
? LimpHome报文
? 节点不能正常收发报文时,节点进入跛足LimpHome 状态,之后节点周期性的发送此报文

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

16

网络管理报文-Alive报文
? Alive报文的发送
? 网络中的ECU初始化完成后 ? 节点发现自身被跳过后
? 节点接收到Alive报文后的处理
? 更新网络配置,标识出处于在线状态的节点 ? 判断逻辑环中的后继节点

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

17

网络管理报文-Ring报文
? Ring报文的发送
? ECU接收到前继节点的Ring报文,经过TTyp时间后向 后继节点发送自己的Ring报文,由此形成逻辑环
? Ring报文的目标地址为其后继节点地址

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

18

网络管理报文-Ring报文
? 节点接收到Ring报文后的处理
? 更新网络配置,标识处于在线状态的节点 ? 判断逻辑环中的后继节点 ? 如果目标地址是本地节点,则经过TTyp时间后向后继
节点发送Ring报文 ? 如果目标地址不是本地节点,则判断自己是否被跳过,
若被跳过,则发送Alive报文表明自己的存在 ? 发送Ring报文后在数据链路层返回发送确认之前接收
到一个Ring报文,节点将忽略该报文

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

19

网络管理报文-Ring报文
? 节点接收到Ring报文后的处理
? 目标地址是本地节点 ? TTyp正常结束

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

20

网络管理报文-Ring报文
? 节点接收到Ring报文后的处理
? 目标地址是本地节点 ? TTyp期间接收到其他Ring报文

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

21

网络管理报文-Ring报文
? Ring报文的取消
? 发送Ring报文后在数据链路层返回发送确认之前接收 到一个Ring报文,节点将忽略该报文

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

22

网络管理报文-Ring报文
? ECU被跳过
? ECU被跳过后重新发送Alive报文

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

23

网络管理报文-LimpHome报文
? 两个NM错误计数器
? NMtxcount、NMrxcount ? 计数器阈值?一般推荐: tx_limit=8,rx_limit=4
? 节点进入LimpHome模式的条件
? NMtxcount>tx_limit或NMrxcount>rx_limit

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

24

网络管理报文-LimpHome报文
? LimpHome报文的发送
? 处于LimpHome模式的ECU发送LimpHome报文 ? LimpHome报文的周期是TError
? 接收到LimpHome报文后的处理
? 更新网络配置,标识出处于LimpHome状态的节点

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

25

网络管理报文
? 接收NM报文的处理流程

ring msg
CancleAlarm(TTyp) CancleAlarm(TMax)

SetAlarm(TTyp)

yes destination
to me?

no

SetAlarm(TMax)

transmit alive msg

yes

own node skipped?

no

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

26

网络管理报文-时间参数

定时器

描述

TTyp TMax TTx TError TWaitBusSleep

两个Ring报文传输之间典型的时间 两个Ring报文传输之间最大的时间 重传一个Alive/Ring报文之前等待的时间 两个Limp Home报文传输之间的时间 总线睡眠请求被确认到总线进入睡眠模式之 间的时间

典型值 /ms 100 260 25 1000 1500

范围
全局 全局 局部 全局 全局

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

27

OSEK/VDX直接网络管理
? [1] 令牌环 ? [2] 节点状态 ? [3] 网络管理报文 ? [4] 睡眠 ? [5] BusOff处理 ? [6] 状态转换图

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

28

睡眠 ? 节点进入睡眠状态的过程

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

29

睡眠
? 进入睡眠的过程
? 调用GotoMode(BusSleep) ? 下一次Ring报文中
Sleep.Ind设置为TRUE ? 在LimpHome模式,下一次LimpHome报文的
Sleep.Ind设置为TRUE ? 当Ring报文已经在逻辑环中完成传输,并且所有网络
管理报文的Sleep.Ind均被设置为TRUE时,最后一个 发送Sleep.Ind的节点的下一个节点将发送Sleep.Ack 置为TRUE的网络管理报文 ? 之后所有节点进入等待睡眠状态

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

30

睡眠
? 等待睡眠状态
? 停止传输Ring报文 ? 启动TWaitBusSleep定时器 ? 当TWaitBusSleep定时器到时,停止所有总线上的传输,
并切换到NMBusSleep状态 ? 等待睡眠过程中,它继续监听网络上的报文,任何网
络管理报文被接收时,若其Sleep.Ind为FALSE,那么 节点进入NMReset状态重新启动

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

31

OSEK/VDX直接网络管理
? [1] 令牌环 ? [2] 节点状态 ? [3] 网络管理报文 ? [4] 睡眠 ? [5] BusOff处理 ? [6] 状态转换图

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

32

BusOff处理
? BusOff恢复 ? BusOff触发NM进入LimpHome状态 ? CAN驱动的报文发送路径被禁止 ? BusOff后CAN硬件重新初始化 ? 通知应用程序 ? TError时间后发送LimpHome报文 ? 如果发送成功,重新开始NM,发送Alive

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

33

OSEK/VDX直接网络管理
? [1] 令牌环 ? [2] 节点状态 ? [3] 网络管理报文 ? [4] 睡眠 ? [5] BusOff处理 ? [6] 状态转换图

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

34

状态转换图
? 初始化、常规与跛行状态的转换

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

35

状态转换图
? 常规与睡眠状态的转换

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

36

状态转换图
? 跛行与睡眠状态的转换

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

37

OSEK/VDX直接网络管理
? [1] 令牌环 ? [2] 节点状态 ? [3] 网络管理报文 ? [4] 睡眠 ? [5] BusOff处理 ? [6] 状态转换图

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

38

谢谢

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

39

更改历史
版本 1.0 初始版本

更改描述

更改日期 2012-06-12

更改人 王晓辉

? 2009-2012-H7-i2Rain Technologies

本资料仅限北汽研究总院内部使用

40


网站首页 | 网站地图 | 学霸百科 | 新词新语
All rights reserved Powered by 学霸学习网 www.tceic.com
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com