周期报文的发送方法及电气系统与流程

文档序号:37965250发布日期:2024-05-13 12:12阅读:14来源:国知局
周期报文的发送方法及电气系统与流程

本发明涉及总线通信,尤其涉及一种周期报文的发送方法及电气系统。


背景技术:

1、控制器局域网(controller area network,can)总线是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一,是一种有效支持分布式控制和实时控制的串行通信网络。can总线的应用范围已不再局限于汽车工业,被广泛应用到自动控制、楼宇自动化、医学设备等各个领域。

2、但是,当报文发送端与报文接收端使用can总线纵向进行数据交互时,报文发送端通常会存在多个周期报文上报到can总线,难以避免在某一时刻会存在多个报文的上报周期重合,即在某一时刻多个报文需要同时上传至can总线。但是,由于can总线的资源有限,且报文发送端和报文接收端在报文处理能力方面也同样有限,无法同一时刻将多个报文同时上报至can总线。报文发送端会优先将优先级高的周期报文发送,而优先级较低的周期报文则迟迟不能发送,造成优先级较低的报文延迟很严重,甚至导致报文发送失败。


技术实现思路

1、本发明实施例提供了一种周期报文的发送方法及电气系统,以解决当某一时刻存在多个报文的上报周期重合时,优先级较低的报文发送延迟严重的问题。

2、第一方面,本发明实施例提供了一种周期报文的发送方法,应用于报文发送端的处理器;发送方法包括:

3、若在同一预设处理周期内存在多个满足相应的周期发送条件的报文,则基于各报文的优先级依次延时并错位地发送各报文;

4、基于各报文的预设发送周期和每次发送的时间信息调整各报文的周期发送条件,以固化调整各报文后续的发送时刻;其中,时间信息包括本次延迟时间或本次发送时刻。

5、在一种可能的实现方式中,基于各报文的优先级依次延时并错位地发送各报文,包括:

6、每隔预设处理周期,依次按照各报文的优先级,并基于各报文的前次发送时刻和预设发送周期判断各报文在当前时刻是否满足其周期发送条件,在判断出满足周期发送条件的报文时,则发送该满足条件的报文;其中,前次发送时刻为相应报文距离当前时刻最近的历史发送时刻。

7、在一种可能的实现方式中,基于各报文的优先级依次延时并错位地发送各报文,包括:

8、每隔预设处理周期,基于各报文的前次发送时刻和预设发送周期,确定在当前时刻满足周期发送条件的所有报文,且在每个预设处理周期内仅发送第一目标报文;其中,前次发送时刻为相应报文距离当前时刻最近的历史发送时刻,第一目标报文为满足周期发送条件的所有报文中优先级最高的报文。

9、在一种可能的实现方式中,基于各报文的优先级依次延时并错位地发送各报文,包括:

10、每隔预设处理周期,针对不位于报文缓存队列的各报文,基于各报文的前次发送时刻和预设发送周期,确定在当前时刻满足周期发送条件的所有报文,并将本预设处理周期内满足周期发送条件的各报文依照其优先级顺序更新报文缓存队列,且在每个预设处理周期内仅发送报文缓存队列中位于对首的报文;其中,前次发送时刻为相应报文距离当前时刻最近的历史发送时刻。

11、在一种可能的实现方式中,周期发送条件为:

12、当前时刻与相应报文的前次发送时刻的差值大于或者等于该报文的预设发送周期;

13、时间信息为本次发送时刻;

14、基于各报文的预设发送周期和每次发送的时间信息调整各报文的周期发送条件,包括:

15、在每次发送报文后,基于其本次发送时刻更新该报文的前次发送时刻,以在后续时刻基于该报文的预设发送周期和更新后的前次发送时刻判断该报文是否满足周期发送条件。

16、在一种可能的实现方式中,基于各报文的优先级依次延时并错位地发送各报文,包括:

17、每隔预设处理周期,依次按照各报文的优先级,并基于各报文的计划发送时刻判断各报文在当前时刻是否满足其周期发送条件,在判断出满足周期发送条件的报文时,则发送满足条件的报文;其中,计划发送时刻是根据各报文的累计延迟时间、累计发送次数和预设发送周期确定的。

18、在一种可能的实现方式中,基于各报文的优先级依次延时并错位地发送各报文,包括:

19、每隔预设处理周期,基于各报文的计划发送时刻,确定在当前时刻满足周期发送条件的所有报文,且在每个预设处理周期内仅发送第一目标报文;其中,计划发送时刻是根据各报文的累计延迟时间、累计发送次数和预设发送周期确定的,第一目标报文为满足周期发送条件的所有报文中的优先级最高的报文。

20、在一种可能的实现方式中,基于各报文的优先级依次延时并错位地发送各报文,包括:

21、每隔预设处理周期,针对不位于报文缓存队列的各报文,基于各报文的计划发送时刻,确定在当前时刻满足周期发送条件的所有报文,并将本预设周期内满足周期发送条件的各报文依照其优先级顺序更新到报文缓存队列,且在每个预设处理周期内仅发送报文缓存队列中位于对首的报文;其中,计划发送时刻是根据各报文的累计延迟时间、累计发送次数和预设发送周期确定的。

22、在一种可能的实现方式中,周期发送条件为当前时刻等于或者晚于计划发送时刻;

23、计划发送时刻的计算方式为:

24、tp=t总+(m+1)×tr;其中,t总为报文的累计延迟时间,m为报文的累计发送次数,tr为报文的预设发送周期;

25、时间信息为本次延迟时间,本次延迟时间是基于本次发送时刻与计划发送时刻的差值确定的;

26、基于各报文的预设发送周期和每次发送的时间信息调整各报文的周期发送条件,包括:

27、在每次发送报文后,基于本次延迟时间更新该报文的累计延迟时间,并更新累计发送次数,以在后续时刻基于更新后的累计延迟时间和累计发送次数判断报文是否满足周期发送条件。

28、第二方面,本发明实施例提供了一种周期报文的发送装置,应用于报文发送端的处理器;发送装置包括:

29、发送模块,用于若在同一预设处理周期内存在多个满足相应的周期发送条件的报文,则基于各报文的优先级依次延时并错位地发送各报文;

30、更新模块,用于基于各报文的预设发送周期和每次发送的时间信息调整各报文的周期发送条件,以固化调整各报文后续的发送时刻;其中,时间信息包括本次延迟时间或本次发送时刻。

31、第三方面,本发明实施例提供了一种电气设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上第一方面或第一方面的任一种可能的实现方式所述方法的步骤。

32、第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上第一方面或第一方面的任一种可能的实现方式所述方法的步骤。

33、第五方面,本发明实施例提供了一种电气系统,包括至少一个第三方面的电气设备和用于监控电气设备运行状态的监控设备。

34、本发明实施例提供一种周期报文的发送方法及电气系统,首先,若在同一预设处理周期内存在多个满足相应的周期发送条件的报文,则基于各报文的优先级依次延时并错位地发送各报文。然后,基于各报文的预设发送周期和每次发送的时间信息调整各报文的周期发送条件,以固化调整各报文后续的发送时刻。本发明为了使在同一预设处理周期内多个满足发送条件的报文减少持续周期性出现重合发送的可能,首先基于在同一个预设处理周期重合发送报文的优先级依次延时并错位发送,使得重合的报文的发送时刻错位。为了进一步解决其周期性重合的问题,还基于各重合发送报文每次发送的时间信息调整各报文的周期发送条件,以及固化调整后续的发送时刻,从而使得在某一预设处理周期重合发送的报文在后续的预设处理周期内不会再重合,降低了优先级较低的周期报文的发送延迟时间,进而保证每个报文发送的实时性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1