System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() CAN帧的发送方法、装置及系统制造方法及图纸_技高网

CAN帧的发送方法、装置及系统制造方法及图纸

技术编号:40650748 阅读:7 留言:0更新日期:2024-03-13 21:28
本申请涉及一种CAN帧的发送方法、装置及系统,该方法包括:第一CAN控制器确定连接第一CAN终端异常时,触发CAN总线错误中断,已写入发送缓存器中的待发送的CAN帧被滞留;主控处理器响应CAN总线错误中断,去使能CAN总线错误中断,将第一CAN终端不在线标志位置位后确定不再向第一CAN控制器的发送缓存器中写入CAN帧。本申请当CAN终端异常时,通过CAN控制器触发CAN总线错误中断,由主控处理器响应CAN总线错误中断并置位CAN终端不在线标志位,这样就不会再向CAN控制器的发送缓存器写入CAN帧,这样不会使主控处理器一直轮询CAN控制器的发送缓存器,不会耗费主控处理器的CPU资源。

【技术实现步骤摘要】

本申请涉及can帧的发送,特别是指一种can帧的发送方法、装置及系统、计算设备及存储介质。


技术介绍

1、传统的通过软件发送can帧的方法,需要主控处理器把要发送的can帧的id、数据以及数据长度写到can控制器的发送缓存器,然后启动can帧发送,把can帧发送至与can控制器连接的can终端。其中,主控处理器通过轮询can控制器的发送缓存器的方式确定是否继续发送can帧,如果发送缓存器空闲,则把待发送的can帧写入发送缓存器进行发送,如果发送缓存器已满,则不再向发送缓存器写入can帧。

2、上述发送can帧的方式,依赖于对发送缓存器状态的不断轮询的机制,基于该机制主控制处理器才能在每个轮询周期知晓发送缓存器状态,来确定是否继续向发送缓存器写入can帧,主控处理器并不关注can控制器所连接的can终端的在线状态。这种发送can帧的方式具有如下的问题:

3、当所述can终端出现不在线或故障等异常时,写入can控制器的发送缓存器的can帧会无法发送出去,会导致发送缓存器被逐渐写满,而此时主控处理器依然会对该发送缓存器进行不断轮询,将会耗费主控处理器的cpu资源。

4、因此,如何在can终端出现连接异常时,能够使主控处理器不去轮询发送缓存器,以降低对cpu资源的耗费,是有待解决的技术问题。


技术实现思路

1、鉴于现有技术的以上问题,本申请提供一种can帧的发送方法、装置及系统、计算设备及存储介质,以在can终端连接异常时可降低对主控处理器的cpu资源的耗费。

2、为达到上述目的,本申请第一方面提供了一种can帧的发送方法,包括:

3、第一can控制器确定连接的第一can终端异常时,触发can总线错误中断,已写入所述第一can控制器的发送缓存器中的待发送的can帧被滞留;

4、主控处理器响应所述can总线错误中断,将第一can终端不在线标志位置位,以及去使能所述can总线错误中断,以使所述can总线错误中断不被一直触发;

5、所述主控处理器基于所述第一can终端不在线标志位的置位,不再向所述第一can控制器的发送缓存器中写入can帧。

6、由上,本申请当can控制器连接的can终端异常时,can控制器触发can总线错误中断,已写入can控制器的发送缓存器中的待发送的can帧则被滞留,然后主控处理器响应该can总线错误中断并置位can终端不在线标志位,使得不会再向can控制器发送can帧,同时去使能所述can总线错误中断,以使can总线错误中断不被一直触发。可见,本申请采用了中断服务机制,替代了轮询机制,从而在can终端异常时降低了主控处理器的cpu资源。

7、作为第一方面的一种可能的实现方式,还包括:

8、所述第一can控制器确定连接的第一can终端恢复正常时,将滞留在所述发送缓存器中的待发送的can帧发送出去,并在发送完成后触发can发送完成中断;

9、所述主控处理器响应所述can发送完成中断,清除所述第一can终端不在线标志位,以及使能所述can总线错误中断,以使所述can总线错误中断可被触发;

10、所述主控处理器基于所述can终端不在线标志位的清除,向所述第一can控制器的发送缓存器中写入can帧。

11、由上,本申请可以在can终端恢复正常时,由can控制器发送滞留的can帧并触发can发送完成中断,主控处理器响应can发送完成中断后会清除can终端不在线标志位,从而可以向can控制器的发送缓存器中写入can帧,同时使能can总线错误中断,使得下次can终端异常时可以被触发。可见,本申请采用了中断服务机制,替代了轮询机制,从而在can终端异常时降低了主控处理器的cpu资源。

12、作为第一方面的一种可能的实现方式,还包括:

13、所述主控处理器将第一can终端不在线标志位置位后,将尚未写入所述发送缓存器中的can帧丢弃。

14、由上,本申请当主控处理器置位can终端不在线标志位后,会将尚未写入can控制器的can帧丢弃,这样不会占用主控处理器的内存资源。

15、作为第一方面的一种可能的实现方式,所述主控处理器响应所述can发送完成中断,清除所述第一can终端不在线标志位,包括:

16、所述主控处理器记录所述can发送完成中断的触发次数,当所述次数达到次数阈值时,清除所述第一can终端不在线标志位。

17、由上,本申请设定触发can发送完成中断的次数,当次数超过设定的次数阈值时,才会清除can终端不在线标志位,这样避免can总线错误中断被误触发或者频繁触发。

18、作为第一方面的一种可能的实现方式,还包括:

19、所述第一can控制器触发所述can发送完成中断之后,设置所述发送缓存器为空闲状态;

20、所述主控处理器检测到所述发送缓存器为空闲状态时,向所述发送缓存器写入待发送的can帧。

21、由上,本申请在can控制器触发can发送完成中断之后,通过中断来设置发送缓存器的状态,在主控处理器检测到发送缓存器空闲时向发送缓存器写入待发送的can帧,这样由中断方式替代了
技术介绍
中的轮询的方式,降低了轮询方式对主控处理器的cpu的资源消耗。

22、作为第一方面的一种可能的实现方式,还包括:

23、所述主控处理器在初始化阶段,创建can发送完成中断服务、can总线错误中断服务;其中,所述can发送完成中断服务用于响应所述can发送完成中断,所述can总线错误中断服务用于响应所述can总线错误中断;

24、使能can发送完成中断和所述can总线错误中断。

25、由上,本申请中主控处理器进行初始化、使能can发送完成中断和can总线错误中断,使得当can终端异常时,可以立刻触发can总线错误中断,当can终端恢复正常时可以立刻触发can发送完成中断。可见本申请采用了中断服务机制,替代了轮询机制,从而在can终端异常时降低了主控处理器的cpu资源。

26、为达到上述目的,本申请第二方面提供了一种can帧的发送装置,包括:

27、第一can控制器,用于确定连接的第一can终端异常时,触发can总线错误中断,已写入所述第一can控制器的发送缓存器中的待发送的can帧被滞留;

28、主控处理器,用于响应所述can总线错误中断,将第一can终端不在线标志位置位,以及去使能所述can总线错误中断,以使所述can总线错误中断不被一直触发,基于所述第一can终端不在线标志位的置位,不再向所述第一can控制器的发送缓存器中写入can帧。

29、为达到上述目的,本申请第三方面提供了一种can帧的发送系统,包括:主控处理器、多个can控制器和多个can终端;

30、所述主控处理器与所述多个can控制器连接,所述多个can控制器与所述多个can终端一一连接;

<本文档来自技高网...

【技术保护点】

1.一种CAN帧的发送方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,还包括:

3.如权利要求1所述的方法,其特征在于,还包括:

4.如权利要求2所述的方法,其特征在于,所述主控处理器响应所述CAN发送完成中断,清除所述第一CAN终端不在线标志位,包括:

5.如权利要求2所述的方法,其特征在于,还包括:

6.如权利要求1所述的方法,其特征在于,还包括:

7.一种CAN帧的发送装置,其特征在于,包括:

8.一种CAN帧的发送系统,其特征在于,包括:主控处理器、多个CAN控制器和多个CAN终端;

9.一种计算设备,其特征在于,包括:

10.一种计算机可读存储介质,其特征在于,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行权利要求1至6任一项所述的方法。

【技术特征摘要】

1.一种can帧的发送方法,其特征在于,包括:

2.如权利要求1所述的方法,其特征在于,还包括:

3.如权利要求1所述的方法,其特征在于,还包括:

4.如权利要求2所述的方法,其特征在于,所述主控处理器响应所述can发送完成中断,清除所述第一can终端不在线标志位,包括:

5.如权利要求2所述的方法,其特征在于,还包括:

6.如权利要求1所...

【专利技术属性】
技术研发人员:孙大娟
申请(专利权)人:北京东土军悦科技有限公司
类型:发明
国别省市:

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

1