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

技术编号:9620440 阅读:109 留言:0更新日期:2014-01-30 09:14
本发明专利技术提供一种周期性CAN报文丢失故障的判定系统和方法,该系统包括:报文接收模块;第一定时器模块,用于循环启用第一定时器,第一定时器的值为要接收CAN报文的周期;第二定时器模块,用于在第一定时器时间到达而报文接收模块没有接收到报文时启用第二定时器;计数器模块,用于设置计数器,计数器在第一定时器和第二定时器设定的时间内接收到报文时进行统计,并在第二定时器设定的时间内未接收到报文时进行相反的统计,以根据计数器的统计值是否达到设定的计数器上限值或下限值,判定是否产生报文丢失故障。本发明专利技术不但能检测出连续丢失报文的故障,还能检测出间歇性丢失报文和接收到的报文周期过长的故障。

System and method for judging periodic CAN packet loss fault

The invention provides a system and method for determining a periodic CAN packet loss fault, the system comprises a message receiving module; a first timer module, for the opening of the first cycle timer, a first timer value is to cycle to receive CAN message; second timer module, used for the first time to reach the receiving module timer second timer enable no receives the message; the counter module, used to set the counter, timer and counter in the first second within the time set by the timer receives the message statistics, and set the second timer time did not receive a message when the opposite statistics, according to the statistics of the value of the counter counter limit or lower limit value the value, to determine whether the generated packet loss fault. The invention can not only detect the failure of the continuous lost message, but also detect the intermittent lost message and the fault that the received message cycle is too long.

【技术实现步骤摘要】
周期性CAN报文丢失故障的判定系统和方法
本专利技术涉及汽车
,尤其涉及一种周期性CAN报文丢失故障的判定系统和方法。
技术介绍
CAN(ControllerAreaNetwork)即控制器局域网,是德国BOSCH公司在20世纪80年代初,为了解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。目前各汽车厂商对CAN通信中报文丢失的故障判别方法的定义通常为:设置一个超时时间,一旦在此时间内未收到报文,即认定产生了报文丢失的故障。这种判别方法的实现流程如图1所示,采用以下步骤:步骤S101、设置一个超时定时器并启用。步骤S102、判断是否收到报文。如果是,则跳回步骤S101;如果否,则跳至步骤S103。步骤S103、判断超时定时器是否超时。如果是,则跳至步骤S104;如果否,则跳回步骤S102。步骤S104、认定产生了报文丢失的故障。考虑到容错性,此超时时间一般设定在报文发送周期的5倍或以上。上述流程只能检测出在一段时间内连续丢失报文的故障,而对间歇性地丢失报文,或者接收到的报文周期比规定周期长但在超时时间以内的情况无法判定故障。
技术实现思路
本专利技术的特征和优点在下文的描述中部分地陈述,或者可从该描述显而易见,或者可通过实践本专利技术而学习。为克服现有技术的问题,本专利技术提供一种周期性CAN报文丢失故障的判定系统和方法,不但能检测出连续丢失报文的故障,还能检测出间歇性丢失报文和接收到的报文周期过长的故障。本专利技术解决上述技术问题所采用的技术方案如下:根据本专利技术的一个方面,提供一种周期性CAN报文丢失故障的判定系统,包括报文接收模块、第一定时器模块、第二定时器模块和计数器模块,其中:报文接收模块用于接收CAN报文,并将是否接收到的结果发送给计数器模块;第一定时器模块用于循环启用第一定时器,第一定时器的值为要接收CAN报文的周期,并在第一定时器时间到达时通知报文接收模块接收报文;第二定时器模块用于在第一定时器时间到达而报文接收模块没有接收到报文时启用第二定时器,在第二定时器时间到达时,通知报文接收模块接收报文;计数器模块用于设置计数器,计数器在第一定时器和第二定时器设定的时间内接收到报文时进行统计,并在第二定时器设定的时间内未接收到报文时进行相反的统计,以根据计数器的统计值是否达到设定的计数器上限值或下限值,判定是否产生报文丢失故障。根据本专利技术的一个实施例,还包括故障指示模块,用于对应每个报文设置一个报文丢失故障标志位,其值为0或1,以根据计数器的统计值是否达到设定的计数器上限值或下限值来指示是否产生报文丢失故障。根据本专利技术的一个实施例,第二定时器模块将第二定时器的值设置为要接收CAN报文的周期的预设百分比值,用来允许预设的报文接收时间误差。根据本专利技术的一个实施例,计数器采用报文丢失计数器,在接收到报文进行统计时,报文丢失计数器的值减去第一值;在未收到报文进行相反的统计时,将报文丢失计数器的值加上第二值。根据本专利技术的一个实施例,第一值小于或等于第二值。根据本专利技术的另一个方面,提供一种周期性CAN报文丢失故障的判定方法,包括:循环启用第一定时器,第一定时器的值为要接收CAN报文的周期,用来周期性判断是否接收到报文;每当第一定时器时间到达时,判断是否接收到报文;若接收到报文,则通过计数器进行统计;否则启用第二定时器;在第二定时器时间到达时,判断是否接收到报文;若接收到报文,则通过计数器进行统计;否则通过计数器进行相反的统计;根据计数器的统计值是否达到设定的计数器上限值或下限值,判定是否产生报文丢失故障。根据本专利技术的一个实施例,还包括:对应每个报文设置一个报文丢失故障标志位,其值为0或1,用来根据计数器的统计值是否达到设定的计数器上限值或下限值来指示是否产生报文丢失故障。根据本专利技术的一个实施例,第二定时器的值为要接收CAN报文的周期的预设百分比值,用来允许预设的报文接收时间误差。根据本专利技术的一个实施例,计数器采用报文丢失计数器,在接收到报文进行统计时,报文丢失计数器的值减去第一值;在未收到报文进行相反的统计时,将报文丢失计数器的值加上第二值。根据本专利技术的一个实施例,第一值小于或等于第二值。根据本专利技术的一个实施例,在将报文丢失计数器的值减去第一值时,首先判断报文丢失计数器的值是否小于等于第一值,若是,则将报文丢失计数器清零,并判定报文丢失故障消失;否则将报文丢失计数器的值减去第一值;在将报文丢失计数器的值加上第二值时,判断报文丢失计数器的值是否大于等于报文丢失计数器的上限值与第二值之间的差值,若是,则将报文丢失计数器的值置为上限值,并判定报文丢失故障存在;否则将报文丢失计数器的值加上第二值。本专利技术提供了一种周期性CAN报文丢失故障的判定系统和方法,在第一定时器和第二定时器设定的时间内接收到报文时进行统计,并在第二定时器设定的时间内未接收到报文时进行相反的统计,从而根据计数器的统计值是否达到设定的计数器上限值或下限值,判定是否产生报文丢失故障。收到一次报文,计数器减去第一值(例如m),丢失一次报文,计数器加上第二值(例如n)。当计数器的值到达上限值(例如b)时,判定报文丢失故障产生,当计数器的值到达下限值(例如0)时,判定报文丢失故障消失。此种方法不但能检测出连续丢失报文的故障,还能检测出间歇性丢失报文和接收到的报文周期过长的故障,有效避免了传统判定方法的弊端。通过阅读说明书,本领域普通技术人员将更好地了解这些技术方案的特征和内容。附图说明下面通过参考附图并结合实例具体地描述本专利技术,本专利技术的优点和实现方式将会更加明显,其中附图所示内容仅用于对本专利技术的解释说明,而不构成对本专利技术的任何意义上的限制,在附图中:图1为传统的报文丢失故障判定流程。图2为本专利技术实施例的周期性CAN报文丢失故障判定系统结构示意图。图3为本专利技术实施例的周期性CAN报文丢失故障判定流程图。具体实施方式如图1所示,为解决传统判定方法对间歇性地丢失报文,或者接收到的报文周期比规定周期长但在超时时间以内的情况下无法判定故障的问题,本实施例提供一种周期性CAN报文丢失故障的判定系统,包括报文接收模块10、第一定时器模块20、第二定时器模块30、计数器模块40和故障指示模块50,其中:报文接收模块10用于接收CAN报文,并将是否接收到的结果发送给计数器模块40;第一定时器模块20用于循环启用第一定时器,第一定时器的值为要接收CAN报文的周期,并在第一定时器时间到达时通知报文接收模块10接收报文;第二定时器模块30用于在第一定时器时间到达而报文接收模块10没有接收到报文时启用第二定时器,在第二定时器时间到达时,通知报文接收模块10接收报文;优选地,第二定时器模块30将第二定时器的值设置为要接收CAN报文的周期的预设百分比值,用来允许预设的报文接收时间误差。计数器模块40用于设置计数器,计数器在第一定时器和第二定时器设定的时间内接收到报文时进行统计,并在第二定时器设定的时间内未接收到报文时进行相反的统计,以根据计数器的统计值是否达到设定的计数器上限值或下限值,判定是否产生报文丢失故障。在本实施中,计数器采用报文丢失计数器,在接收到报文进行统计时,报文丢失计数器的值减去第一值;在未收到报文进行相反的统计时,将报文丢失计数器的值加上第二本文档来自技高网...
周期性CAN报文丢失故障的判定系统和方法

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

【技术特征摘要】
1.一种周期性CAN报文丢失故障的判定系统,其特征在于包括报文接收模块、第一定时器模块、第二定时器模块和计数器模块,其中:所述报文接收模块用于接收CAN报文,并将是否接收到的结果发送给所述计数器模块;所述第一定时器模块用于循环启用第一定时器,所述第一定时器的值为要接收CAN报文的周期,并在第一定时器时间到达时通知报文接收模块接收报文;所述第二定时器模块用于在所述第一定时器时间到达而所述报文接收模块没有接收到报文时启用第二定时器,在第二定时器时间到达时,通知所述报文接收模块接收报文;所述计数器模块用于设置计数器,所述计数器在所述第一定时器或第二定时器设定的时间到达并接收到报文时进行统计,并在所述第二定时器设定的时间到达并未接收到报文时进行相反的统计,以根据所述计数器的统计值是否达到设定的计数器上限值或下限值,判定是否产生报文丢失故障。2.根据权利要求1所述的周期性CAN报文丢失故障的判定系统,其特征在于,还包括故障指示模块,用于对应每个报文设置一个报文丢失故障标志位,其值为0或1,以根据所述计数器的统计值是否达到设定的计数器上限值或下限值来指示是否产生报文丢失故障。3.根据权利要求1所述的周期性CAN报文丢失故障的判定系统,其特征在于,所述第二定时器模块将所述第二定时器的值设置为要接收CAN报文的周期的预设百分比值,用来允许预设的报文接收时间误差。4.根据权利要求1至3中任一项所述的周期性CAN报文丢失故障的判定系统,其特征在于,所述计数器采用报文丢失计数器,在接收到报文进行统计时,报文丢失计数器的值减去第一值;在未收到报文进行相反的统计时,将报文丢失计数器的值加上第二值,且所述第一值小于或等于所述第二值。5.一种周期性CAN报文丢失故障的判定方法,其特征在于包括:循环启用第一定时器,所述第一定时器的值为要...

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

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

1