周期性CAN报文丢失故障的判定系统技术方案

技术编号:8289046 阅读:442 留言:0更新日期:2013-02-01 02:55
本实用新型专利技术提供一种周期性CAN报文丢失故障的判定系统,该系统包括:报文接收模块;第一定时器模块,用于循环启用第一定时器,第一定时器的值为要接收CAN报文的周期;第二定时器模块,用于在第一定时器时间到达而报文接收模块没有接收到报文时启用第二定时器;计数器模块,用于设置计数器,计数器在第一定时器和第二定时器设定的时间内接收到报文时进行统计,并在第二定时器设定的时间内未接收到报文时进行相反的统计,以根据计数器的统计值是否达到设定的计数器上限值或下限值,判定是否产生报文丢失故障。本实用新型专利技术不但能检测出连续丢失报文的故障,还能检测出间歇性丢失报文和接收到的报文周期过长的故障。(*该技术在2022年保护过期,可自由使用*)

【技术实现步骤摘要】

本技术涉及汽车
,尤其涉及一种周期性CAN报文丢失故障的判定系统
技术介绍
CAN (Controller Area Network)即控制器局域网,是德国BOSCH公司在20世纪80年代初,为了解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。目前各汽车厂商对CAN通信中报文丢失的故障判别方法的定义通常为设置一个超时时间,一旦在此时间内未收到报文,即认定产生了报文丢失的故障。··这种判别方法的实现流程如图I所示,采用以下步骤步骤S101、设置一个超时定时器并启用。步骤S102、判断是否收到报文。如果是,则跳回步骤SlOl ;如果否,则跳至步骤S103。步骤S103、判断超时定时器是否超时。如果是,则跳至步骤S104;如果否,则跳回步骤S102。步骤S104、认定产生了报文丢失的故障。考虑到容错性,此超时时间一般设定在报文发送周期的5倍或以上。上述流程只能检测出在一段时间内连续丢失报文的故障,而对间歇性地丢失报文,或者接收到的报文周期比规定周期长但在超时时间以内的情况无法判定故障。S206、等待T2时间到,判断T2是否超时;S207、报文接收模块判断是否接收到报文;若是,则执行到S212,否则执行S208 ;S208、计数器模块判断报文丢失计数器的值是否大于等于b-n,η的取值范围为0〈n ( b ;若是,则执行S210,否则执行S209 ;S209、计数器模块将报文丢失计数器的值加n,并返回S202。S210、计数器模块将报文丢失计数器的值置为b,并判定报文丢失故障存在;S211、将报文丢失故障标志位(即故障Flag)置I ;S212、计数器模块判断报文丢失计数器的值是否小于等于m,该计数器的取值范围为0-b,m的取值范围为0〈m ( b ;若是,则执行S213,否则执行S215 ;S213、计数器模块将报文丢失计数器清零,并判定报文丢失故障消失;S214、将报文丢失故障标志位(即故障Flag)置O ;S215、计数器模块将报文丢失计数器的值减m,并返回S202。报文丢失计数器的初始值一般设置为0,表示报文未丢失。b值的设置与m、n的值有关,一般为m、η的5-10倍,例如,b=30, m=3, n=5, a=10。即计数器初始为0,丢失一次报文加5,收到一次报文减3,当计数器到达30时,判定故障存在;当计数器到达O时,判定故障消失;报文周期的容差为10%。当报文丢失故障标志位为I时,认为故障存在,则存储故障代码,且故障代码状态为当前,并将ECU的功能做相应的降级处理;当报文丢失故障标志位为O时,认为故障不存在,如果之前有故障代码,则将故障代码的状态设为历史,ECU的功能恢复正常。以上参照附图说明了本技术的优选实施例,本领域技术人员不脱
技术实现思路
本技术的特征和优点在下文的描述中部分地陈述,或者可从该描述显而易见,或者可通过实践本技术而学习。 为克服现有技术的问题,本技术提供一种周期性CAN报文丢失故障的判定系统,不但能检测出连续丢失报文的故障,还能检测出间歇性丢失报文和接收到的报文周期过长的故障。本技术解决上述技术问题所采用的技术方案如下根据本技术的一个方面,提供一种周期性CAN报文丢失故障的判定系统,包括报文接收模块、第一定时器模块、第二定时器模块和计数器模块,其中报文接收模块用于接收CAN报文,并将是否接收到的结果发送给计数器模块;第一定时器模块用于循环启用第一定时器,第一定时器的值为要接收CAN报文的周期,并在第一定时器时间到达时通知报文接收模块接收报文;第二定时器模块用于在第一定时器时间到达而报文接收模块没有接收到报文时启用第二定时器,在第二定时器时间到达时,通知报文接收模块接收报文;计数器模块用于设置计数器,计数器在第一定时器和第二定时器设定的时间内接收到报文时进行统计,并在第二定时器设定的时间内未接收到报文时进行相反的统计,以根据计数器的统计值是否达到设定的计数器上限值或下限值,判定是否产生报文丢失故障。根据本技术的一个实施例,还包括故障指示模块,用于对应每个报文设置一个报文丢失故障标志位,其值为O或1,以根据计数器的统计值是否达到设定的计数器上限值或下限值来指示是否产生报文丢失故障。根据本技术的一个实施例,第二定时器模块将第二定时器的值设置为要接收CAN报文的周期的预设百分比值,用来允许预设的报文接收时间误差。根据本技术的一个实施例,计数器采用报文丢失计数器,在接收到报文进行统计时,报文丢失计数器的值减去第一值;在未收到报文进行相反的统计时,将报文丢失计数器的值加上第二值。根据本技术的一个实施例,第一值小于或等于第二值。根据本技术的另一个方面,提供一种周期性CAN报文丢失故障的判定方法,包括循环启用第一定时器,第一定时器的值为要接收CAN报文的周期,用来周期性判断是否接收到报文;每当第一定时器时间到达时,判断是否接收到报文;若接收到报文,则通过计数器进行统计;否则启用第二定时器;在第二定时器时间到达时,判断是否接收到报文;若接收到报文,则通过计数器进行统计;否则通过计数器进行相反的统计;根据计数器的统计值是否达到设定的计数器上限值或下限值,判定是否产生报文丢失故障。根据本技术的一个实施例,还包括对应每个报文设置一个报文丢失故障标志位,其值为O或 1,用来根据计数器的统计值是否达到设定的计数器上限值或下限值来指示是否产生报文丢失故障。根据本技术的一个实施例,第二定时器的值为要接收CAN报文的周期的预设百分比值,用来允许预设的报文接收时间误差。根据本技术的一个实施例,计数器采用报文丢失计数器,在接收到报文进行统计时,报文丢失计数器的值减去第一值;在未收到报文进行相反的统计时,将报文丢失计数器的值加上第二值。根据本技术的一个实施例,第一值小于或等于第二值。根据本技术的一个实施例,在将报文丢失计数器的值减去第一值时,首先判断报文丢失计数器的值是否小于等于第一值,若是,则将报文丢失计数器清零,并判定报文丢失故障消失;否则将报文丢失计数器的值减去第一值;在将报文丢失计数器的值加上第二值时,判断报文丢失计数器的值是否大于等于报文丢失计数器的上限值与第二值之间的差值,若是,则将报文丢失计数器的值置为上限值,并判定报文丢失故障存在;否则将报文丢失计数器的值加上第二值。本技术提供了一种周期性CAN报文丢失故障的判定系统,在第一定时器和第二定时器设定的时间内接收到报文时进行统计,并在第二定时器设定的时间内未接收到报文时进行相反的统计,从而根据计数器的统计值是否达到设定的计数器上限值或下限值,判定是否产生报文丢失故障。收到一次报文,计数器减去第一值(例如m),丢失一次报文,计数器加上第二值(例如η)。当计数器的值到达上限值(例如b)时,判定报文丢失故障产生,当计数器的值到达下限值(例如O)时,判定报文丢失故障消失。此种方法不但能检测出连续丢失报文的故障,还能检测出间歇性丢失报文和接收到的报文周期过长的故障,有效避免了传统判定方法的弊端。通过阅读说明书,本领域普通技术人员将更好地了解这些技术方案的特征和内容。附图说明下面通过参考附图并结合实例具体地描述本技术,本技术的优点和实现本文档来自技高网
...

【技术保护点】
一种周期性CAN报文丢失故障的判定系统,其特征在于包括报文接收模块、第一定时器模块、第二定时器模块和计数器模块,其中:所述报文接收模块用于接收CAN报文,并将是否接收到的结果发送给所述计数器模块;所述第一定时器模块用于循环启用第一定时器,所述第一定时器的值为要接收CAN报文的周期,并在第一定时器时间到达时通知报文接收模块接收报文;所述第二定时器模块用于在所述第一定时器时间到达而所述报文接收模块没有接收到报文时启用第二定时器,在第二定时器时间到达时,通知所述报文接收模块接收报文;所述计数器模块用于设置计数器,所述计数器在所述第一定时器和第二定时器设定的时间内接收到报文时进行统计,并在所述第二定时器设定的时间内未接收到报文时进行相反的统计,以根据所述计数器的统计值是否达到设定的计数器上限值或下限值,判定是否产生报文丢失故障。

【技术特征摘要】

【专利技术属性】
技术研发人员:李济泰黄丽芳何晔黄少堂袁兰秀
申请(专利权)人:广州汽车集团股份有限公司
类型:实用新型
国别省市:

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

1