System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种CAN报文周期长期监测方法、系统、设备和介质技术方案_技高网

一种CAN报文周期长期监测方法、系统、设备和介质技术方案

技术编号:40057791 阅读:11 留言:0更新日期:2024-01-16 22:12
本发明专利技术涉及一种CAN报文周期长期监测方法、系统、设备和介质,所述CAN报文周期长期监测方法包括以下步骤:定义用于记录消息的时间戳的临时变量;基于所述临时变量获取相邻两帧消息之间的时间间隔值;判断所述时间间隔值是否在预设的周期范围内,若否,则发出警告提示。本发明专利技术操作简便,无需复杂测试设备,只需要具备基本的CANoe运行环境就可以完成测试;精度高,当前测试精度为5ms,如果需要,调整参数可以实现1ms的精准测量;效率高,直接提示周期偏差以及出现偏差时消息的时间戳,无需人工查找。

【技术实现步骤摘要】

本专利技术属于车载通信,尤其涉及一种can报文周期长期监测方法、系统、设备和介质。


技术介绍

1、can是控制器局域网络(controller area network,can)的简称,是由以研发和生产汽车电子产品著称的德国bosch公司开发的,并最终成为国际标准(iso 11898),是国际上应用最广泛的现场总线之一。

2、在汽车产业中,出于对安全性、舒适性、方便性、低功耗、低成本的要求,各种各样的电子控制系统被开发了出来。由于这些系统之间通信所用的数据类型及对可靠性的要求不尽相同,底盘动力域的通信对实时性、稳定性要求较高,这就要求总线工程师在设计通信网络时要对周期这个指标进行充分验证。

3、简述一下周期性报文发送原理:假定报文周期为20ms,协议栈有个调度函数com_mainfunctiontx,每隔2ms(可配置修改)调用一次,函数被调用10次才会向总线发送数据。在不考虑外部因素的前提下(比如,can线的长度,和报文优先级太低并且周期还特别短,终端电阻等):can报文的周期一般有两个因素影响,一个是总线繁忙造成的等待,另一个是函数com_mainfunctiontx调用周期偏移。

4、第一种情况,cpu已经将数据发送给了tranceiver,但是由于总线处于繁忙状态,数据没有发送出去,这时tranceiver会将报文数据暂时储存在缓存数组中,等待总线空闲再进行后发送,当总线出现连续11bit隐性位时,说明总线已经空闲,消息成功发送,而这时可能已经过了5ms,也就是这一帧消息延迟了5ms才被发送,同时再过了15ms计时器时间到了cpu会再次将数据写给tranceiver,而此刻刚好总线空闲,数据没有等待,直接被发送出去。这时我们会发现两条报文之间的时间间隔实际为15ms。

5、另一个情况,就是函数com_mainfunctiontx调用周期偏移,cpu占用率高,task是分时间片调度。

6、按照奇瑞通信规范的定义,周期报文的周期偏差应在一定范围之内,如图2所示,如图3所示,20ms-100ms周期的报文允许的周期偏差为±10%,也就是说一个20ms周期的报文,其实际周期在18ms-22ms之间都是符合规范要求的。大部分时间里消息的周期都是稳定的,只是在某些特定时刻出现通信超时,而这个时刻并不可预测,如何准确捕捉通信丢失时的报文成为一个难题,对于20ms周期的消息来说,每秒钟的消息量500帧,而一条总线上通常有30-50帧这样的消息在发送,每秒钟的消息量在10000-20000条,如果将一个小时内的消息全部记录下来,并用肉眼核对每帧消息之间的时间间隔(周期)显然是不现实的。


技术实现思路

1、本专利技术的目的就在于为了解决上述问题而提供一种can报文周期长期监测方法、系统、设备和介质。

2、本专利技术通过以下技术方案来实现上述目的:

3、一种can报文周期长期监测方法,包括以下步骤:

4、定义用于记录消息的时间戳的临时变量;

5、基于所述临时变量获取相邻两帧消息之间的时间间隔值;

6、判断所述时间间隔值是否在预设的周期范围内,若否,则发出警告提示。

7、作为本专利技术的进一步优化方案,设定预设帧数,若所述时间间隔值在预设的周期范围内,每隔预设帧数,提示报文周期正常。

8、作为本专利技术的进一步优化方案,所述预设帧数的取值范围为5000至20000。

9、作为本专利技术的进一步优化方案,定义用于记录消息的时间戳的临时变量之前,定义全局变量,所述全局变量中包括用于定义要监控的消息的消息常量;

10、定义消息触发事件,即每次在can上接收到所述消息常量时,触发该事件下的流程步骤。

11、作为本专利技术的进一步优化方案,当所述时间间隔值大于预设的周期范围的最大值,提示消息超时,并记录每帧超时消息的时间戳;当所述时间间隔值小于预设的周期范围的最小值,提示消息过快,并记录每帧超时消息的时间戳。

12、作为本专利技术的进一步优化方案,当所述时间间隔值不在预设的周期范围内,则通过打印日志的方法进行提示。

13、作为本专利技术的进一步优化方案,基于所述临时变量获取相邻两帧消息之间的时间间隔值之后,将时间间隔值的单位从秒转换成毫秒。

14、一种can报文周期长期监测系统,包括:

15、定义模块,用于定义用于记录消息的时间戳的临时变量;

16、差值模块,用于基于所述临时变量获取相邻两帧消息之间的时间间隔值;

17、判断模块,用于判断所述时间间隔值是否在预设的周期范围内,若否,则发出警告提示。

18、一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;

19、存储器,用于储存计算机程序;

20、处理器,用于执行存储器上所存放的程序时,实现can报文周期长期监测方法。

21、一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现can报文周期长期监测方法。

22、本专利技术的有益效果在于:

23、本专利技术操作简便,无需复杂测试设备,只需要具备基本的canoe运行环境就可以完成测试;精度高,当前测试精度为5ms,如果需要,调整参数可以实现1ms的精准测量;效率高,直接提示周期偏差以及出现偏差时消息的时间戳,无需人工查找。

本文档来自技高网...

【技术保护点】

1.一种CAN报文周期长期监测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种CAN报文周期长期监测方法,其特征在于,设定预设帧数,若所述时间间隔值在预设的周期范围内,每隔预设帧数,提示报文周期正常。

3.根据权利要求1所述的一种CAN报文周期长期监测方法,其特征在于,所述预设帧数的取值范围为5000至20000。

4.根据权利要求1所述的一种CAN报文周期长期监测方法,其特征在于,定义用于记录消息的时间戳的临时变量之前,定义全局变量,所述全局变量中包括用于定义要监控的消息的消息常量;

5.根据权利要求1所述的一种CAN报文周期长期监测方法,其特征在于,当所述时间间隔值大于预设的周期范围的最大值,提示消息超时,并记录每帧超时消息的时间戳;当所述时间间隔值小于预设的周期范围的最小值,提示消息过快,并记录每帧超时消息的时间戳。

6.根据权利要求1所述的一种CAN报文周期长期监测方法,其特征在于,当所述时间间隔值不在预设的周期范围内,则通过打印日志的方法进行提示。

7.根据权利要求1所述的一种CAN报文周期长期监测方法,其特征在于,基于所述临时变量获取相邻两帧消息之间的时间间隔值之后,将时间间隔值的单位从秒转换成毫秒。

8.一种CAN报文周期长期监测系统,其特征在于,包括:

9.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器、通信接口和存储器通过通信总线完成相互间的通信;

10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的CAN报文周期长期监测方法。

...

【技术特征摘要】

1.一种can报文周期长期监测方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种can报文周期长期监测方法,其特征在于,设定预设帧数,若所述时间间隔值在预设的周期范围内,每隔预设帧数,提示报文周期正常。

3.根据权利要求1所述的一种can报文周期长期监测方法,其特征在于,所述预设帧数的取值范围为5000至20000。

4.根据权利要求1所述的一种can报文周期长期监测方法,其特征在于,定义用于记录消息的时间戳的临时变量之前,定义全局变量,所述全局变量中包括用于定义要监控的消息的消息常量;

5.根据权利要求1所述的一种can报文周期长期监测方法,其特征在于,当所述时间间隔值大于预设的周期范围的最大值,提示消息超时,并记录每帧超时消息的时间戳;当所述时间间隔值小于预设的周期范围的...

【专利技术属性】
技术研发人员:韩嵩嵬雷永富陈大凯
申请(专利权)人:奇瑞新能源汽车股份有限公司
类型:发明
国别省市:

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

1