一种CAN报文诊断方法技术

技术编号:31979861 阅读:23 留言:0更新日期:2022-01-20 01:35
本发明专利技术采用的技术方案是:一种CAN报文诊断方法,其特征在于:包括以下步骤:步骤S1,读取CAN报文并对报文有效性进行确;步骤S2,对诊断周期内接收到的步骤S1中确认为有效的CAN报文进行计数;步骤S3,将步骤S2获得的有效的CAN报文的计数结果与预期发送的CAN报文数量进行比较;步骤S4,根据步骤S3生成的比较结果生成CAN报文发送过快或者CAN报文发送过慢的诊断结论。本发明专利技术有效实现CAN报文发送是否符合预期要求的诊断。期要求的诊断。期要求的诊断。

【技术实现步骤摘要】
一种CAN报文诊断方法


[0001]本专利技术属于发动机电控
,具体涉及一种CAN报文诊断方法。

技术介绍

[0002]CAN(Controller Area Network)是ISO国际标准化的串行通信协议。在汽车产业中,出于对安全性、舒适性、方便性、低功耗、低成本的要求,各种各样的电子控制系统被开发了出来,各个控制器之间需要进行信息的通讯,为了减少线束的数量,通过CAN网络进行信息的传递。
[0003]CAN报文的正确传递是各控制器能正确执行功能的前提,这样才能保证汽车的安全运行。为了保证信息传递的正确性和实时性,需要对CAN总线上发送的报文进行监控。
[0004]一般的功能层报文监控是通过报文超时、checksum和counter来进行判断。
[0005]在现有技术方案中,仅能针对报文超时故障进行诊断,但针对报文发送过快或者过慢故障不能进行诊断。
[0006]报文发送过快会影响总线的负载率,总线的负载率过高,代表需要发送的数据越多,这样就有可能导致低优先级的报文一直发送不出去,或者发生通讯延迟,相对来说低优先级节点发生通讯延迟的概率越大。
[0007]报文发送过慢,会导致数据传输的不及时,比如出现丢帧的情况,导致发送的数据错误,进而影响控制功能的计算实时性。

技术实现思路

[0008]本专利技术的目的就是为了解决上述
技术介绍
存在的不足,提供一种CAN报文诊断方法,有效实现CAN报文发送是否符合预期要求的诊断。
[0009]本专利技术采用的技术方案是:一种CAN报文诊断方法,其特征在于:包括以下步骤:
[0010]步骤S1,读取CAN报文并对报文有效性进行确;
[0011]步骤S2,对诊断周期内接收到的步骤S1中确认为有效的CAN报文进行计数;
[0012]步骤S3,将步骤S2获得的有效的CAN报文的计数结果与预期发送的CAN报文数量进行比较;
[0013]步骤S4,根据步骤S3生成的比较结果生成CAN报文发送过快或者CAN报文发送过慢的诊断结论。
[0014]上述技术方案中,所述步骤S1中,对于接收到的CAN报文的判断条件包括:接收到的CAN报文源地址不等于EECU的目标地址;接收到的CAN报文的PDU值范围在最大允许的PDU值的阈值范围内;接收到CAN报文的目标地址为EECU的目标地址;如果上述三个判断条件都满足,则判定接收到的CAN报文有效;如果上述三个判断条件中任一一个条件不满足,则判定接收到的CAN报文无效。
[0015]上述技术方案中,所述步骤S1中,针对不同CAN报文的不同的PDU值,对CAN报文的数据包进行解包处理。
[0016]上述技术方案中,所述步骤S2中,所述诊断周期根据CAN报文的任务调度周期设置。
[0017]上述技术方案中,所述步骤S2中,对有效的CAN报文的计数方法包括以下步骤:CAN报文发送的目标控制器在每接收到一次发送的CAN报文时进行一次计数,每一次任务调度内接收到的CAN报文数为该次任务调度中目标控制器针对CAN报文的计数数值与上一次任务调度中目标控制器针对CAN报文的计数数值的差值,诊断周期内接收到的报文计数值为诊断周期内所有任务调度周期内接收到报文数的累加。
[0018]上述技术方案中,所述步骤S3中,将步骤S2获得的有效的CAN报文的计数结果比预期发送的CAN报文数量的报文数量进行比较,并判断所述的有效的CAN报文的计数结果与预期发送的CAN报文数量的差值是否超过限值。
[0019]上述技术方案中,所述步骤S4中,如果步骤S2获得的有效的CAN报文的计数结果比预期发送的CAN报文数量的报文数量多,且所述的有效的CAN报文的计数结果与预期发送的CAN报文数量的差值超过最大限值,则判断CAN报文发送过快。
[0020]上述技术方案中,所述步骤S4中,如果步骤S2获得的有效的CAN报文的计数结果比预期发送的CAN报文数量的报文数量少,且所述的有效的CAN报文的计数结果与预期发送的CAN报文数量的差值超过最小限值,则判断CAN报文发送过慢。
[0021]上述技术方案中,所述步骤S4中,当判定CAN报文发送过快或者CAN报文发送过慢后,进行故障抗抖处理,当判定CAN报文发送过快或者CAN报文发送过慢的次数超过抗抖次数之后,即生成CAN报文发送过快或者CAN报文发送过慢故障的诊断结论并进行输出。
[0022]本专利技术提供了一种CAN报文诊断系统,具体包括CAN报文有效性确认模块,CAN报文计数模块,CAN报文计数结果比较模块,以及诊断结果输出模块,其中CAN报文有效性确认模块的输入端接入CAN报文,CAN报文有效性确认模块的输出端与CAN报文计数模块的输入端电连接,CAN报文计数模块的输出端与CAN报文计数结果比较模块的输入端电连接,CAN报文计数结果比较模块的输出端与诊断结果输出模块的输入端电连接。
[0023]所述CAN报文有效性确认模块用于读取CAN报文并对报文有效性进行确认,并将有效的CAN报文发送至CAN报文计数模块。
[0024]CAN报文有效性确认模块对于接收到的CAN报文设置有判断条件,所述判断条件包括:接收到的CAN报文源地址不等于EECU的目标地址;接收到的CAN报文的PDU值范围在最大允许的PDU值的阈值范围内;接收到CAN报文的目标地址为EECU的目标地址。CAN报文有效性确认模块基于上述三个判断条件对接收到的CAN的有效性进行判断:如果上述三个判断条件都满足,则判定接收到的CAN报文有效;如果上述三个判断条件中任一一个条件不满足,则判定接收到的CAN报文无效。
[0025]CAN报文有效性确认模块中针对不同CAN报文的不同的PDU值,对CAN报文的数据包进行解包处理。
[0026]CAN报文计数模块用于接收被确认为有效的CAN报文,对诊断周期内接收到的确认为有效的CAN报文进行计数,并将计数结果发送至CAN报文计数结果比较模块。
[0027]CAN报文计数模块中设置有诊断周期,所述诊断周期根据CAN报文的任务调度周期设置。
[0028]CAN报文计数模块对有效的CAN报文的计数方法包括以下步骤:CAN报文计数模块
设置于CAN报文发送的目标控制器;CAN报文发送的目标控制器在每接收到一次发送的CAN报文时进行一次计数,每一次任务调度内接收到的CAN报文数为该次任务调度中目标控制器针对CAN报文的计数数值与上一次任务调度中目标控制器针对CAN报文的计数数值的差值,CAN报文计数模块诊断周期内接收到的报文计数值为诊断周期内所有任务调度周期内接收到报文数的累加。
[0029]CAN报文计数结果比较模块用于将接收到的有效的CAN报文的计数结果与预期发送的CAN报文数量进行比较。CAN报文计数结果比较模块获取并设定有预期发送的CAN报文数量。CAN报文计数结果比较模块将接收到的有效的CAN报文的计数结果比预期发送的CAN报文数量的报文数量进行比较,并判断所述的有效的CAN报文的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种CAN报文诊断方法,其特征在于:包括以下步骤:步骤S1,读取CAN报文并对报文有效性进行确认;步骤S2,对诊断周期内接收到的步骤S1中确认为有效的CAN报文进行计数;步骤S3,将步骤S2获得的有效的CAN报文的计数结果与预期发送的CAN报文数量进行比较;步骤S4,根据步骤S3生成的比较结果生成CAN报文发送过快或者CAN报文发送过慢的诊断结论。2.根据权利要求1所述的一种CAN报文诊断方法,其特征在于:所述步骤S1中,对于接收到的CAN报文的判断条件包括:接收到的CAN报文源地址不等于EECU的目标地址;接收到的CAN报文的PDU值范围在最大允许的PDU值的阈值范围内;接收到CAN报文的目标地址为EECU的目标地址;如果上述三个判断条件都满足,则判定接收到的CAN报文有效;如果上述三个判断条件中任一一个条件不满足,则判定接收到的CAN报文无效。3.根据权利要求1所述的一种CAN报文诊断方法,其特征在于:所述步骤S1中,针对不同CAN报文的不同的PDU值,对CAN报文的数据包进行解包处理。4.根据权利要求1所述的一种CAN报文诊断方法,其特征在于:所述步骤S2中,所述诊断周期根据CAN报文的任务调度周期设置。5.根据权利要求1所述的一种CAN报文诊断方法,其特征在于:所述步骤S2中,对有效的CAN报文的计数方法包括以下步骤:CAN报文发送的目标控制器在每接收到一次发送的CAN报文时进行一次计数,每一次任务调度内接收到的CAN报文数为该次任务调度中目标控制器针对CAN报文的计数数值与上一次任务调度中目标控制器针对CAN报文的计数数值的差值...

【专利技术属性】
技术研发人员:郭雪敬
申请(专利权)人:东风商用车有限公司
类型:发明
国别省市:

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

1