CN103036704B - 一种快速重建汽车osek nm逻辑环的方法 - Google Patents
一种快速重建汽车osek nm逻辑环的方法 Download PDFInfo
- Publication number
- CN103036704B CN103036704B CN201210455102.3A CN201210455102A CN103036704B CN 103036704 B CN103036704 B CN 103036704B CN 201210455102 A CN201210455102 A CN 201210455102A CN 103036704 B CN103036704 B CN 103036704B
- Authority
- CN
- China
- Prior art keywords
- node
- logic
- ring
- logic box
- message
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种快速重建汽车OSEK NM逻辑环的方法,在实现OSEK NM逻辑环机制运行基础上,通过引入节点逻辑位置差概念,将新节点加入造成的逻辑环重建划分为三种模式;设计了面向汽车CAN网络节点的逻辑后继更新机制,实时判断逻辑环重建模式,动态选择逻辑后继节点,迅速完成逻辑环重建。本发明能够缩短逻辑环重建环时间和降低网络负载率,进而提高了OSEK NM逻辑环实时性和可靠性。
Description
技术领域
本发明涉及汽车电子网络控制系统的实时网络管理技术,尤其是一种快速重建汽车OSEK NM逻辑环的方法。
背景技术
随着汽车工业和信息技术的飞速发展,越来越多的电子控制系统(ECU,Electronic Control Unit)被应用到汽车上。由于系统间通信具有数据量大、类型复杂和实时性要求高等特点,ECU网络化成为了必然趋势。这也使得网络本身安全性成为了汽车整体控制安全的重要因素之一。网络管理(NM,Network Management)具有网络状态在线监测、网络故障诊断和自处理等功能,是保障汽车网络系统运行的重要安全机制。
目前汽车电子网络应用中大多数采用OSEK/ VDX直接NM( OSEK/ VDX Direct Network Management) 。OSEK 直接NM具有强实时性、高容错性、低资源占用率和分布式管理等特点,能够实时监控ECU站点通信状况,能够及时反馈故障站点信息,保障被监控ECU 节点状态安全。OSEK 直接NM是一种基于逻辑环的网络管理方式,稳定的逻辑环是整个网络管理机制运行基础。只有在逻辑环稳定状态下,各个节点才能够根据网络中NM消息来判断自身和整个网络的通信状况,实时采取相应安全措施。但是,当有节点加入和退出网络时,稳定运行的逻辑环将被破坏,OSEK NM 将不能对逻辑环上各节点进行监控,进入到不稳定状态,直至逻辑环重建完成。因此这种不稳定状态的时间长短,即逻辑环重建时间,对于OSEK NM机制运行的可靠性和实时性有着至关重要的影响。
当前应用最广泛的汽车网络是CAN(Controller Area Network)总线。但是OSEK NM只提供了汽车网络管理框架,没有给出针对CAN网络协议的实现方法。同时,现有OSEK NM规范中逻辑环重建主要集中在分布式建环机制上,对于逻辑环重建时可能产生的大量突发性NM消息,及其对逻辑环重建时间和网络负载不良影响也缺乏考虑。因此,针对常用汽车CAN总线,在原有OSEK NM基础上设计逻辑环快速重建方法,缩短逻辑环不稳定状态时间、降低突发NM消息数量,成为了OSEK NM应用中需要迫切解决的问题之一。
发明内容
本发明的目的是提供一种快速重建汽车OSEK NM逻辑环的方法,在不改变原有分布式建环机制基础上,根据汽车CAN网络中节点在逻辑环中相对位置,动态选择重建环模式,快速完成逻辑环重建,进而保证OSEK NM机制运行的可靠性和实时性。
本发明为解决上述问题,所采用的技术方案为:
一种快速重建汽车OSEK NM逻辑环的方法,在实现OSEK NM逻辑环机制正常运行基础上,引入节点逻辑位置差的概念,将新节点加入造成的逻辑环重建划分为三种模式;定义了OSEK NM消息的CAN帧结构,设计一种CAN网络节点逻辑后继更新机制,实时计算节点逻辑位置差,判断逻辑环重建模式,动态选择逻辑后继节点,迅速完成逻辑环重建,进而满足OSEK NM 逻辑环的实时性要求;具体实现方法如下:
(1)定义节点逻辑环位置差LogPosErr概念,设计节点间LogPosErr计算公式及逻辑环重建的模式转换图,描述Best_Join、 Normal_Join、Worst_Join模式之间关系;
(2)设计OSEK NM 协议数据单元NMPDU的数据域为三部分,分别为:源节点(即发送该NM消息节点)在逻辑环中位置souceIndex_NM;源节点是否修改逻辑后继的标志isOldSuccessorValid_NM;源节点修改逻辑后继前的原始逻辑后继节点oldSuccessor_NM,并设计与该NMPDU相应CAN总线数据帧格式;
(3)设计面向CAN网络节点的逻辑后继更新机制,该机制根据收到的Alive消息和Ring消息,计算节点逻辑环位置差来判断逻辑环重建模式,动态选择逻辑后继节点,完成逻辑环重建。
本发明所述节点逻辑环位置差LogPosErr及其计算公式、三种逻辑环重建模式(Best_Join、 Normal_Join、Worst_Join)之间关系如下:
(1)节点逻辑环位置差LogPosErr为新节点加入逻辑环时刻,其直接前驱节点和正在定时Ttyp节点间的逻辑位置差。定义m为当前时刻逻辑环中节点的数目,myIndex 为节点在逻辑环中相对位置索引,souceIndex_NM为NM消息中表明发送该消息的节点在逻辑环中相对位置索引,则有
(2)定义maxErr为最大允许的位置误差,则Best_Join、Normal_Join、Worst_Join三种逻辑环重建模式与LogPosErr关系为:当LogPosErr=0时,逻辑环重建模式为Best_Join;当0<LogPosErr<maxErr时,逻辑环重建模式为Normal_Join;当LogPosErr ≥ maxErr时,逻辑环重建模式为Worst_Join。
本发明使用基于ISO11898标准的汽车CAN总线,消息帧为CAN标准帧,该帧数据域长度为8个Byte,其中第1个Byte为NM消息目的节点 (Destination) ID,第二个Byte为NM消息操作码(Opcode),第3-8个字节为NM数据域 (Data byte),第6个Byte的0~6bit为souceIndex_NM,第7个bit 为isOldSuccessorValid_NM,第8个Byte为oldSuccessor_NM;
所述CAN网络节点逻辑后继更新机制实现如下:
(1)稳定逻辑环中任意节点i收到某节点j发送的Alive消息,根据OSEK NM 逻辑后继判别机制判断节点j是否是本节点后继节点,如果节点j是后继节点,则执行(2);否则,执行(6);
(2)如果节点j是本节点的后继节点,则读取最近收到Ring 消息数据域中的souceIndex_NM和本节点myIndex,计算节点逻辑环位置差LogPosErr,判断当前逻辑环重建模式。如果重建模式为Best_Join或Normal_Join,更改本节点后继节点为节点j后执行(6);如果重建模式为Worst_Join,更改本节点后继节点为节点j,设置本节点原后继节点有效标志isOldSuccessorValid,然后执行(6);
(3)逻辑环中任意节点i收到某节点j发送的Ring消息,判断该消息是否发送给自己,如果确认发送给自己,执行(4);否则执行(5);(4)根据Ring消息中标志isOldSuccessorValid_NM判断节点j原后继节点是否有效,如有效,更改本节点后继为节点j原后继节点。如无效,则执行(5);
(5)根据OSEK NM 逻辑后继判别机制判断节点j是否是本节点后继节点。如果节点j是后继节点,更改本节点后继节点为节点j后执行(6);如果节点j不是后继节点,直接执行(6);
(6)该机制执行完毕,退出。
本发明的对于现有技术的优势有:
(1)从实时性角度,在节点加入过程中,避免大量节点无必要的被跳过,节省了逻辑环建立时间,增强了网络管理机制运行的可靠性。
(2)从网络负载角度,在逻辑环重新建立过程中,减少了大量Alive消息和Ring消息的突然发送,降低了网络负载瞬间过大的不良影响。
附图说明
图1是OSEK NM逻辑环的建立过程图。
图2是节点加入时逻辑环断开与重建图。
图3 是LogPosErr与逻辑环重建模式关系图。
图4 是网络管理消息的CAN数据帧格式图。
图5 是OSEK NM 中节点逻辑后继更改SDL图。
图6是网络节点逻辑后继更改的流程图。
具体实施方式
在OSEK NM中,逻辑环建立是一种基于网络管理消息的分布式机制,无需中央节点(专门节点)进行组织,如图1所示。节点 1在t=0时刻开始定时Ttyp,节点 2,3定时Tmax。节点1在Ttyp到时发送Ring消息到总线上,同时节点2,3收到Ring消息,但是Ring消息的目标不是节点3,节点3忽略消息,节点2接收并定时Ttyp准备发送消息,节点1定时Tmax,节点3取消当前Tmax并重启Tmax。顺序下去,当节点1收到节点3发送给它的Ring消息时逻辑环建立完成。
逻辑环进入稳定状态后有节点加入网络,则逻辑环断开重建。逻辑环重建时间长短和产生多余的Alive消息数量与逻辑位置差LogPosErr相关。在图2中LogPosErr达到了最大值,如果所有Alive消息能否在一个Ttpy时间内传送完毕,则重建环时间将达到(w+3) Ttpy,产生的多余Alive消息将达到(w-1)条。利用逻辑环位置差LogPosErr,将逻辑环重建分为Best_Join、 Normal_Join、Worst_Join,各模式转换如图3所示。在不改变OSEK NM 原有分布式建环机制基础上,根据不同的重建环模式,动态选择逻辑后继更改机制。其中,Best_Join、 Normal_Join模式下选择OSEK NM本身的逻辑后继更改机制,Worst_Join模式下选择新的逻辑后继更改机制。
该OSEK NM 逻辑环重建方法具体实现步骤如下:
网络管理消息使用CAN标准帧,如图4所示。该帧标示符11位,8-10bit为BaseID,0-7bit为消息源节点source_NM,CAN帧数据域长度为8个Byte, 其中第1个Byte为消息目的节点destination_NM,第二个Byte为NM消息操作码(Opcode),第3-8个字节为NM数据域 (Data byte) 。第6个Byte的0~6bit为souceIndex_NM,第7个bit 为isOldSuccessorValid_NM,第7个Byte为oldSuccessor_NM。
各节点内部定义如下变量:mySource为本节点ID, myIndex为本节点在逻辑环中位置,mySuccessor为本节点逻辑后继节点,isOldSuccessorValid为本节点是否修改逻辑后继的标志,myOldSuccessor为本节点原逻辑后继节点。
网络节点逻辑后继更改步骤如图5、6所示,具体描述如下:
(1)设置myOldSuccessor=mySuccessor,判断所收到的NM消息类型,是Alive消息还是Ring消息。
(2)如果是Ring消息,判断该消息的destination_NM是不是等于本节点的mySource,如果相等,并且Ring消息数据域isOldSuccessorValid_NM等于1,则mySuccessor=oldSuccessor_NM。否则执行(3)。
(3)根据mySource、mySuccessor和所收到消息的source_NM,运用OSEK更改逻辑后继规则来判断节点是否需要更改本节点后继,如果确定更改,则设置本节点mySuccessor=source_NM。否则退出本次更新。
(4)如果是Alive消息,执行(3)操作。同时,如果更改了本节点逻辑后继,则计算节点逻辑环位置差LogPosErr,判断当前逻辑环重建模式,其中LogPosErr计算公式如下:
(5)当节点Ttyp定时结束时,发送Ring消息。该消息中,source_NM= mySource,destination_NM=mySuccessor,souceIndex_NM=myIndex , isOldSuccessorValid_NM=isOldSuccessorValid,
oldSuccessor_NM=myOldSuccessor。
Claims (1)
1.一种快速重建汽车OSEK NM逻辑环的方法,其特征在于:在实现OSEK NM逻辑环机制正常运行基础上,引入节点逻辑位置差概念,将新节点加入造成的逻辑环重建划分为三种模式;定义了OSEK NM消息的CAN帧结构,设计一种CAN网络节点逻辑后继更新机制,实时计算节点逻辑位置差,判断逻辑环重建模式,动态选择逻辑后继节点,迅速完成逻辑环重建,进而满足OSEK NM 逻辑环的实时性要求;具体实现方法如下:
(1)定义节点逻辑环位置差LogPosErr概念,设计节点间LogPosErr计算公式及逻辑环重建的模式转换图,描述Best_Join、 Normal_Join、Worst_Join模式之间关系:
1)节点逻辑环位置差LogPosErr为新节点加入逻辑环时刻,其直接前驱节点和正在定时Ttyp节点间的逻辑位置差;定义m为当前时刻逻辑环中节点的数目,myIndex 为节点在逻辑环中相对位置索引,sourceIndex_NM为NM消息中表明发送该消息的节点在逻辑环中相对位置索引,则有
2)定义maxErr为最大允许的位置误差,则Best_Join、Normal_Join、Worst_Join三种逻辑环重建模式与LogPosErr关系为:当LogPosErr=0时,逻辑环重建模式为Best_Join;当0<LogPosErr<maxErr时,逻辑环重建模式为Normal_Join;当LogPosErr ≥ maxErr时,逻辑环重建模式为Worst_Join;
(2)设计OSEK NM 协议数据单元NMPDU的数据域为三部分,分别为:源节点在逻辑环中位置sourceIndex_NM,源节点即发送该NM消息节点;源节点是否修改逻辑后继的标志isOldSuccessorValid_NM;源节点修改逻辑后继前的原始逻辑后继节点oldSuccessor_NM;并设计与所述NMPDU相应CAN总线数据帧格式;
与NMPDU相对应的是CAN标准帧,该CAN总线协议符合ISO11898标准,该帧数据域长度为8个Byte, 其中第1个Byte为NM消息目的节点ID, 第2个Byte为NM消息操作码,第3-8个Byte为NM数据域 ,第6个Byte的0~6bit为sourceIndex_NM,第6个Byte的第7个bit 为isOldSuccessorValid_NM,第8个Byte为oldSuccessor_NM;
(3)设计面向CAN网络节点的逻辑后继更新机制,该机制根据收到的Alive消息和Ring消息,计算节点逻辑环位置差来判断逻辑环重建模式,动态选择逻辑后继节点,完成逻辑环重建;
所述CAN网络节点逻辑后继更新机制实现如下:
1)稳定逻辑环中任意节点i收到某节点j发送的Alive消息,根据OSEK NM 逻辑后继判别机制判断节点j是否是本节点后继节点,如果节点j是后继节点,则执行2);否则,执行6);
2)如果节点j是本节点的后继节点,则读取最近收到Ring 消息数据域中的sourceIndex_NM和本节点myIndex,计算节点逻辑环位置差LogPosErr,判断当前逻辑环重建模式;如果重建模式为Best_Join或Normal_Join,更改本节点后继节点为节点j后执行6);如果重建模式为Worst_Join,更改本节点后继节点为节点j,设置本节点原后继节点有效标志isOldSuccessorValid,然后执行6);
3)逻辑环中任意节点i收到某节点j发送的Ring消息,判断该消息是否发送给自己,如果确认发送给自己,执行4);否则执行5);
4)根据Ring消息中标志isOldSuccessorValid_NM判断节点j原后继节点是否有效,如有效,更改本节点后继为节点j原后继节点;如无效,则执行5);
5)根据OSEK NM 逻辑后继判别机制判断节点j是否是本节点后继节点;如果节点j是后继节点,更改本节点后继节点为节点j后执行6);如果节点j不是后继节点,直接执行6);
6)该机制执行完毕,退出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210455102.3A CN103036704B (zh) | 2012-11-13 | 2012-11-13 | 一种快速重建汽车osek nm逻辑环的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210455102.3A CN103036704B (zh) | 2012-11-13 | 2012-11-13 | 一种快速重建汽车osek nm逻辑环的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103036704A CN103036704A (zh) | 2013-04-10 |
CN103036704B true CN103036704B (zh) | 2015-01-21 |
Family
ID=48023217
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210455102.3A Active CN103036704B (zh) | 2012-11-13 | 2012-11-13 | 一种快速重建汽车osek nm逻辑环的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103036704B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10162643B2 (en) | 2016-06-29 | 2018-12-25 | Wipro Limited | Method and system for booting automotive electronics in an electronic control unit of an automobile |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101547118A (zh) * | 2009-04-20 | 2009-09-30 | 浙江大学 | 一种基于osek网络管理机制的动态网络管理方法 |
-
2012
- 2012-11-13 CN CN201210455102.3A patent/CN103036704B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101547118A (zh) * | 2009-04-20 | 2009-09-30 | 浙江大学 | 一种基于osek网络管理机制的动态网络管理方法 |
Non-Patent Citations (5)
Title |
---|
《OSEK 网络管理在汽车CAN系统中研究与实现》;张利 等;《电子测量与仪器学报》;20110630;第25卷(第6期);第522-527页 * |
《The Distributed Diagnosis System of vehicles based on TH-OSEK Embedded platform》;Qing Yang 等;《IEEE Vehicle Power and Propulsion Conference(VPPC)》;20080905;第1-5页 * |
《基于OSKE/VDX直接NM规范的车载网络系统》;陈筠翰 等;《吉林大学学报(工学版)》;20110930;第41卷(第5期);第1407-1413页 * |
LI Yanwen 等.《Design of Automotive CAN Network Management Based on OSEK Standard》.《IEEE conference on Electronic & * |
Mechanical Engineering and Information Technology》.2011,第717-721页. * |
Also Published As
Publication number | Publication date |
---|---|
CN103036704A (zh) | 2013-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107272665A (zh) | 一种车辆网络管理方法及系统 | |
CN103685560B (zh) | 一种汽车电子系统网络架构 | |
CN106154903A (zh) | 用于整车网络与外设进行信息交互的系统和方法 | |
EP3407566A1 (en) | Automobile electrical system and isolation system for automobile electrical system | |
CN107196771A (zh) | 车载网络系统同步休眠方法、系统及网关控制器 | |
CN110971453B (zh) | 网络拓扑确定方法、装置、车辆网络拓扑结构及车辆 | |
CN113726573B (zh) | 冗余网络通信方法、装置、电子设备及存储介质 | |
CN103036704B (zh) | 一种快速重建汽车osek nm逻辑环的方法 | |
CN110949358B (zh) | 一种轨道列车制动控制方法及装置 | |
WO2019187203A1 (ja) | 制御装置、車両内通信システム、通信制御方法及びプログラム | |
CN104140046B (zh) | 用于起重机通信的方法和控制器、及起重机 | |
CN113022472B (zh) | 一种整车网络架构及汽车 | |
CN109428797B (zh) | 列车数据传输系统及方法 | |
CN111625282B (zh) | 一种基于can总线多子网协同睡眠方法及系统 | |
CN106911546A (zh) | 一种报文传输方法、装置、系统及诊断平台 | |
CN103840973B (zh) | 通信故障处理方法及设备 | |
CN114338678A (zh) | 一种智能网联汽车操作系统应用层切换方法及装置 | |
CN104253727A (zh) | 车辆lin网络的诊断方法及其系统 | |
CN105599709A (zh) | 用于汽车总线系统的安全装置和方法 | |
CN205344780U (zh) | 汽车电气系统和用于汽车电气系统的隔离系统 | |
CN108111317A (zh) | 基于节点内部状态转换的通信控制方法 | |
CN112860716B (zh) | 一种面向智能网联汽车的双链修复信息安全控制方法及装置 | |
CN113291351B (zh) | 编组列车、列车数据传输方法和装置、存储介质 | |
CN204111200U (zh) | 用于起重机通信的控制器、及起重机 | |
CN116319351A (zh) | 网络拓扑结构、轨道车辆、数据传输方法、装置及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |