一种CAN报文丢失的监测方法技术

技术编号:15706436 阅读:430 留言:0更新日期:2017-06-26 19:43
本发明专利技术公开了一种CAN报文丢失的监测方法,包括:S100:网络接收节点从网络发送节点采集CAN报文;S200:判断采集的报文是否是该网络节点应接收的报文,如果是,进入步骤S300,如果不是,结束报文处理;S300:判断该报文是否是周期性报文,如果是,进入步骤S400,如果不是,结束报文处理S400:判断将要采集的报文的发送节点的供电方式,基于发送节点的不同供电方式采取不同的CAN报文丢失监测模式。本发明专利技术对CAN网络中采用不同供电方式的各ECU采取不同的CAN报文丢失监测模式,从而避免了误报或漏报CAN报文的丢失故障问题。

Monitoring method for CAN message loss

The invention discloses a CAN packet loss monitoring method, including: S100: network receiving node from the network node acquisition CAN message; S200: the message is the message to judge the acquisition, the network node should be received if it is to step S300, if not, the end of packet processing; S300 determines whether the message is: is a periodic message, if yes, in step S400, if not, the end of message processing S400: power supply node will collect the message to determine the different power supply mode of the sending node based on different CAN packet loss monitoring mode. The invention adopts different CAN message loss monitoring modes for each ECU with different power supply modes in the CAN network, thereby avoiding the loss or failure of the CAN message in the case of false positives or missing messages.

【技术实现步骤摘要】
一种CAN报文丢失的监测方法
本专利技术属于汽车控制器局域网(ControllerAreaNetwork,简称CAN)网络通信
,具体涉及一种CAN报文丢失的监测方法。
技术介绍
如果节点1从节点2接收一条或一条以上报文,则节点2称为节点1的伙伴节点。为提高车辆CAN网络可维护性,网络中所有电子控制单元(ElectronicControlUnit,简称ECU)都应包含其所有伙伴节点发送的周期性报文的报文丢失监测机制,并根据监测结果存储相应的CAN报文丢失故障码。专利文献1(公开号:CN102404170A;公开日:2012年4月4日)公开了一种报文丢失检测方法、装置、及系统,该专利通过单位时间内接收报文数量过多、收发报文数量不相等等网络通信整体情况判断收发双方之间是否丢失数据。专利文献2(公开号:CN102185740A;公开日:2011年9月14日)公开了一种心跳检测方法及网络设备,该专利通过专用的心跳请求报文和心跳应答报文判断被检测设备是否死机。然而,这两个专利均只能检测到设备级的数据丢失,而不能检测到报文级的数据丢失,故障定位不够准确。此外,二者均需要增加专用报文以监测数据丢失,额外占用了网络负载,不适用于网络负载比较紧张的CAN通信网络。专利文献3(公开号:CN103546306A;公开日:2014-01-29)公开了一种周期性CAN报文丢失故障的判定系统和方法,所述方法采用两个定时器模块判定是否产生报文丢失故障,能够检测出报文级的数据丢失,但没有涉及到CAN报文丢失故障的判定方法与发送该报文的网络节点的供电方式之间的关系。当车辆网络中各ECU供电方式不同时,各ECU开始发送报文的时间也不同,而传统的CAN报文丢失的监测方法通常采用一种CAN报文丢失监测模式,易产生误报或漏报CAN报文丢失故障的问题。例如:ECU1为附件档(Accesory,简称ACC)供电,上电后周期性发送报文M1;ECU2为接通档(ON)供电,上电后周期性发送报文M2;ECU3周期性接收报文M1和M2。在现有技术中,ECU3通常采用一种CAN报文丢失监测模式。有的厂家在ACC档即开始监测CAN报文丢失,此时ECU2因没有上电而不能发送报文M2,从而导致ECU3误报报文M2丢失故障;有的厂家延后至ON档才开始监测CAN报文丢失,则当点火开关处于ACC档时ECU3接收周期性报文M1而并不监测该报文是否丢失,从而易导致ECU3漏报报文M1丢失故障。
技术实现思路
针对上述技术问题,本专利技术提供一种CAN报文丢失的监测方法,该方法不增加各ECU的单件成本,适用于车辆CAN网络中各ECU采用不同供电方式的复杂CAN网络,用于解决现有技术存在的诊断故障码(diagnostictroublecode,简称DTC)误报和DTC漏报的问题。本专利技术采用的技术方案为:本专利技术实施例提供的一种CAN报文丢失的监测方法,包括:S100:网络节点采集CAN报文;S200:判断采集的CAN报文是否是该网络节点应接收的报文,如果是,进入步骤S300,如果不是,结束报文处理;S300:判断该应接收的CAN报文是否是周期性报文,如果是,进入步骤S400,如果不是,结束报文处理;S400:判断该应接收的CAN报文的发送节点的供电方式,基于发送节点的不同供电方式采取不同的CAN报文丢失监测模式。可选地,步骤S400具体包括:如果发送节点的供电方式为常电,则采取CAN报文丢失监测模式1;如果发送节点的供电方式为ACC供电,则采取CAN报文丢失监测模式2;如果发送节点的供电方式为ON供电,则采取CAN报文丢失监测模式3;如果发送节点的供电方式为EMS主继电器供电,则采取CAN报文丢失监测模式4;如果发送节点的供电方式为HCU主继电器供电,则采取CAN报文丢失监测模式5;如果发送节点的供电方式为MCU主继电器供电,则采取CAN报文丢失监测模式6。可选地,所述CAN报文丢失监测模式1的CAN报文丢失监测控制逻辑包括:(1)将应接收的每个CAN报文的丢失情况通过相对应的超时计时器来进行监测,所述超时计时器的初始值设置为0;(2)当满足CAN报文丢失监测模式1的起动条件时,重置超时计数器为0,并启动超时计数器,所述起动条件为CAN网络由睡眠状态转为工作状态;(3)当满足CAN报文丢失监测模式1的停止条件时,停止超时计数器,并重置超时计数器为0,所述停止条件为网络由工作状态转为睡眠状态;(4)当接收到应接收的的CAN报文时,重置超时计数器为0,并启动超时计数器;(5)当在应接收的CAN报文的发送周期内没有收到该应接收的CAN报文时,将超时计数器的值加1;当超时计数器的值大于应接收的CAN报文丢失监测的限值时,存储该应接收的CAN报文的相应的CAN报文丢失故障码。可选地,所述CAN报文丢失监测模式2的CAN报文丢失监测控制逻辑包括:(1)将应接收的每个CAN报文的丢失情况通过相对应的超时计时器来进行监测,所述超时计时器的初始值设置为0;(2)当满足CAN报文丢失监测模式2的起动条件时,重置超时计数器为0,并启动超时计数器,所述起动条件为点火开关由LOCK档转为ACC档;(3)当满足CAN报文丢失监测模式2的停止条件时,停止超时计数器,并重置超时计数器为0,所述停止条件为点火开关由ACC档转为LOCK档;(4)当接收到应接收的的CAN报文时,重置超时计数器为0,并启动超时计数器;(5)当在应接收的CAN报文的发送周期内没有收到该应接收的CAN报文时,将超时计数器的值加1;当超时计数器的值大于应接收的报文丢失监测的限值时,存储该应接收的CAN报文的相应的CAN报文丢失故障码。可选地,所述CAN报文丢失监测模式3的CAN报文丢失监测控制逻辑包括:(1)将应接收的每个CAN报文的丢失情况通过相对应的超时计时器来进行监测,所述超时计时器的初始值设置为0;(2)当满足CAN报文丢失监测模式3的起动条件时,重置超时计数器为0,并启动超时计数器,所述起动条件为点火开关由LOCK档或ACC档转为ON档;(3)当满足CAN报文丢失监测模式3的停止条件时,停止超时计数器,并重置超时计数器为0,所述停止条件为点火开关由ON档转为LOCK档或ACC档;(4)当接收到应接收的的CAN报文时,重置超时计数器为0,并启动超时计数器;(5)当在应接收的CAN报文的发送周期内没有收到该应接收的CAN报文时,将超时计数器的值加1;当超时计数器的值大于应接收的CAN报文丢失监测的限值时,存储该应接收的CAN报文的相应的CAN报文丢失故障码。可选地,所述CAN报文丢失监测模式4的CAN报文丢失监测控制逻辑包括:(1)将应接收的每个CAN报文的丢失情况通过相对应的超时计时器来进行监测,所述超时计时器的初始值设置为0;(2)当满足CAN报文丢失监测模式4的起动条件时,重置超时计数器为0,并启动超时计数器,所述起动条件为EMS主继电器开关由断开转为闭合;(3)当满足CAN报文丢失监测模式4的停止条件时,停止超时计数器,并重置超时计数器为0,所述停止条件为EMS主继电器开关由闭合转为断开;(4)当接收到应接收的CAN报文时,重置超时计数器为0,并启动超时计数器;(5)当在应接收的CAN报文的发送周期内没有收到该应接收的本文档来自技高网
...
一种CAN报文丢失的监测方法

【技术保护点】
一种CAN报文丢失的监测方法,其特征在于,包括:S100:网络节点采集CAN报文;S200:判断采集的CAN报文是否是该网络节点应接收的报文,如果是,进入步骤S300,如果不是,结束报文处理;S300:判断该应接收的CAN报文是否是周期性报文,如果是,进入步骤S400,如果不是,结束报文处理;S400:判断该应接收的CAN报文的发送节点的供电方式,基于发送节点的不同供电方式采取不同的CAN报文丢失监测模式。

【技术特征摘要】
1.一种CAN报文丢失的监测方法,其特征在于,包括:S100:网络节点采集CAN报文;S200:判断采集的CAN报文是否是该网络节点应接收的报文,如果是,进入步骤S300,如果不是,结束报文处理;S300:判断该应接收的CAN报文是否是周期性报文,如果是,进入步骤S400,如果不是,结束报文处理;S400:判断该应接收的CAN报文的发送节点的供电方式,基于发送节点的不同供电方式采取不同的CAN报文丢失监测模式。2.根据权利要求1所述的CAN报文丢失的监测方法,其特征在于,步骤S400具体包括:如果发送节点的供电方式为常电,则采取CAN报文丢失监测模式1;如果发送节点的供电方式为ACC供电,则采取CAN报文丢失监测模式2;如果发送节点的供电方式为ON供电,则采取CAN报文丢失监测模式3;如果发送节点的供电方式为EMS主继电器供电,则采取CAN报文丢失监测模式4;如果发送节点的供电方式为HCU主继电器供电,则采取CAN报文丢失监测模式5;如果发送节点的供电方式为MCU主继电器供电,则采取CAN报文丢失监测模式6。3.根据权利要求2所述的CAN报文丢失的监测方法,其特征在于,所述CAN报文丢失监测模式1的CAN报文丢失监测控制逻辑包括:(1)将应接收的每个CAN报文的丢失情况通过相对应的超时计时器来进行监测,所述超时计时器的初始值设置为0;(2)当满足CAN报文丢失监测模式1的起动条件时,重置超时计数器为0,并启动超时计数器,所述起动条件为CAN网络由睡眠状态转为工作状态;(3)当满足CAN报文丢失监测模式1的停止条件时,停止超时计数器,并重置超时计数器为0,所述停止条件为网络由工作状态转为睡眠状态;(4)当接收到应接收的CAN报文时,重置超时计数器为0,并启动超时计数器;(5)当在应接收的CAN报文的发送周期内没有收到该应接收的CAN报文时,将超时计数器的值加1;当超时计数器的值大于应接收的CAN报文丢失监测的限值时,存储该应接收的CAN报文的相应的CAN报文丢失故障码。4.根据权利要求2所述的CAN报文丢失的监测方法,其特征在于,所述CAN报文丢失监测模式2的CAN报文丢失监测控制逻辑包括:(1)将应接收的每个CAN报文的丢失情况通过相对应的超时计时器来进行监测,所述超时计时器的初始值设置为0;(2)当满足CAN报文丢失监测模式2的起动条件时,重置超时计数器为0,并启动超时计数器,所述起动条件为点火开关由LOCK档转为ACC档;(3)当满足CAN报文丢失监测模式2的停止条件时,停止超时计数器,并重置超时计数器为0,所述停止条件为点火开关由ACC档转为LOCK档;(4)当接收到应接收的的CAN报文时,重置超时计数器为0,并启动超时计数器;(5)当在应接收的CAN报文的发送周期内没有收到该应接收的CAN报文时,将超时计数器的值加1;当超时计数器的值大于应接收的报文丢失监测的限值时,存储该应接收的CAN报文的相应的CAN报文丢失故障码。5.根据权利要求2所述的CAN报文丢失的监测方法,其特征在于,所述CAN报文丢失监测模式3的CAN报文丢失监测控制逻辑包括:(1)将应接收的每个CAN报文的丢失情况通过相对应的超时计时器来进行监测,所述超时计时器的初始值设置为0;(2)当满足CAN报文丢失监测模式3的起动条件时,重置超时计数器为0,并启动超时计数器,所述起动条件为点...

【专利技术属性】
技术研发人员:张丽波马东扬何俊婷玄国勋
申请(专利权)人:中国第一汽车股份有限公司
类型:发明
国别省市:吉林,22

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1