System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 基于CAN通信的大数据包传输方法、设备及系统技术方案_技高网

基于CAN通信的大数据包传输方法、设备及系统技术方案

技术编号:42428271 阅读:5 留言:0更新日期:2024-08-16 16:41
本申请适用于电数字数据处理技术领域,提供了基于CAN通信的大数据包传输方法、设备及系统,该方法包括:获取CAN数据包并进行分包,得到多个子数据包;针对任一子数据包,执行以下步骤:在该子数据包的首位添加帧头,在该子数据包的末尾添加校验位,将添加帧头和校验位后的该子数据包划分为多个帧数据;依次向第二电子设备发送多个帧数据;当接收到第二电子设备发送的校验成功的信息后,完成该子数据包的数据传输,当接收到第二电子设备发送的校验失败的信息后,重新发送该子数据包。本申请在CAN总线占用率高或干扰强时,能提高CAN总线通信的抗干扰能力,提高大数据包的传输成功率,并且只占用一个发送ID和一个接收ID,资源占用少。

【技术实现步骤摘要】

本申请属于电数字数据处理,尤其涉及基于can通信的大数据包传输方法、设备及系统。


技术介绍

1、can总线通信是一种多主机局域通信网络,因其高性能、高可靠性、实时性等优点现已广泛应用于工业自动化、多种控制设备、交通工具、医疗仪器以及建筑、环境控制等众多部门。目前被广泛应用的can2.0标准中,一帧数据由id和64位的数据组成,当发送数据超过64位时需要分成多帧进行发送,当can总线占用率较高或外部干扰较强时,可能会出现丢包的情况,造成传输的数据包不完整。


技术实现思路

1、本申请实施例提供了基于can通信的大数据包传输方法、设备及系统,在can总线占用率高或干扰强时,能提高can总线通信的抗干扰能力,提高大数据包的传输成功率,并且只占用一个发送id和一个接收id,资源占用少。

2、本申请是通过如下技术方案实现的:

3、第一方面,本申请实施例提供了一种基于can通信的大数据包传输方法,应用于第一电子设备,第一电子设备与第二电子设备通过can总线连接,第一电子设备的接收id和第二电子设备的发送id相同,第一电子设备的发送id和第二电子设备的接收id相同,方法包括:

4、获取can数据包并进行分包,得到多个子数据包。

5、针对任一子数据包,执行以下步骤:

6、在该子数据包的首位添加帧头,在该子数据包的末尾添加校验位,将添加帧头和校验位后的该子数据包划分为多个帧数据。

7、依次向第二电子设备发送多个帧数据。

>8、当接收到第二电子设备发送的校验成功的信息后,完成该子数据包的数据传输,当接收到第二电子设备发送的校验失败的信息后,重新发送该子数据包。

9、其中,依次向第二电子设备发送多个帧数据,包括:

10、每发送一个帧数据,接收一次第二电子设备发送的应答内容;根据第二电子设备发送的应答内容,判断向第二电子设备发送的帧数据;其中,帧数据包括第一电子设备的发送id和数据位,应答内容包括第一电子设备的接收id和数据位;应答内容中的数据位为第二电子设备接收到的帧数据的数据位。

11、当发送最后一个帧数据时,根据该子数据包的全部数据,计算得到第一校验码,并将第一校验码放入最后一个帧数据的校验位中。

12、当接收到的应答内容为发送最后一个帧数据后接收的应答内容时,此时接收到的应答内容为校验成功的信息或者校验失败的信息。

13、结合第一方面,在一些可能的实现方式中,根据第二电子设备发送的应答内容,判断向第二电子设备发送的帧数据,包括:

14、当应答内容中的数据位与当前帧数据的数据位相同时,向第二电子设备发送下一个帧数据。

15、当应答内容中的数据位中的编号与当前帧数据的数据位中的编号相同,应答内容中的数据位中的数据与当前帧数据的数据位中的数据不相同时,向第二电子设备重新发送当前帧数据;其中,当前帧数据为最近一次发送的帧数据。

16、当应答内容中的数据位中的编号与当前帧数据的数据位中的编号不相同,应答内容中的数据位中的数据与当前帧数据的数据位中的数据相同时,向第二电子设备发送下一个帧数据。

17、当应答内容中的数据位中的编号与当前帧数据的数据位中的编号不相同,应答内容中的数据位中的数据与当前帧数据的数据位中的数据不相同时,向第二电子设备发送应答内容中的数据位中的编号对应的帧数据。

18、结合第一方面,在一些可能的实现方式中,帧数据的数据位中的数据为64位数据;应答内容的数据位中的数据为64为数据。

19、第一个帧数据的64位数据中包括帧头,最后一个帧数据的64位数据中包括校验位,第一个帧数据后的每个帧数据的64位数据中包括不同的编号,且相邻两个帧数据的编号的差值不变。

20、帧头包括数据识别码和数据长度;数据识别码为8位数据,占用一个字节,数据长度为16位数据,占用两个字节;编号为16位数据,占用两个字节。

21、第二方面,本申请实施例提供了一种电子设备,包括:处理器、存储器和can通信接口,can通信接口用于电子设备进行can通信,处理器与存储器耦合,存储器用于存储程序或指令,当程序或指令被处理器执行时,使得电子设备执行第一方面任一项的方法。

22、第三方面,本申请实施例提供了一种基于can通信的大数据包传输方法,应用于第二电子设备,第一电子设备与第二电子设备通过can总线连接,第二电子设备的发送id和第一电子设备的接收id相同,第二电子设备的接收id相同和第一电子设备的发送id,方法包括:

23、接收第一电子设备依次发送的多个帧数据中的每个帧数据,针对每个帧数据,将该帧数据的数据位中的数据存储于第二电子设备的缓存中的存储该帧数据的数据位中的数据的对应位置,若对应位置已存在数据,则将对应位置处的数据替换为该帧数据的数据位中的数据;基于该帧数据生成应答内容,并向第一电子设备发送应答内容;其中,多个帧数据为第一电子设备获取can数据包并进行分包,得到多个子数据包之后,针对任一子数据包,在该子数据包的首位添加帧头,在该子数据包的末尾添加校验位,将添加帧头和校验位后的该子数据包划分得到的。

24、当接收到最后一个帧数据时,根据第二电子设备的缓存中的数据,计算得到第二校验码,根据第二校验码和第一校验码,验证接收到的子数据包是否完整;其中,第一校验码在最后一个帧数据的校验位中。

25、若接收到的子数据包完整,则将校验成功的信息设置为最后一个帧数据的应答内容。

26、若接收到的子数据包不完整,则将校验失败的信息设置为最后一个帧数据的应答内容。

27、结合第一方面,在一些可能的实现方式中,基于帧数据生成应答内容,包括:

28、若帧数据的存在帧头时,则将帧数据的数据位作为应答内容的数据位。

29、若帧数据的数据位中的编号正确,则将帧数据的数据位作为应答内容的数据位。

30、若帧数据的数据位中的编号不正确,则修正帧数据的数据位中编号位的数据,将修正编号位后的帧数据的数据位作为应答内容的数据位。

31、结合第一方面,在一些可能的实现方式中,若帧数据的数据位中的编号正确,则将帧数据的数据位作为应答内容的数据位,包括:

32、若帧数据的数据位中的编号等于编号校验码,则判定帧数据的数据位中的编号正确,则将帧数据的数据位作为应答内容的数据位;其中,编号校验码的初始数据为第二个帧数据的编号,每有一个帧数据的数据位中的编号校验正确时,编号校验码进行一次更新,更新后的编号校验码为此时的编号校验码和相邻两个帧数据的编号的差值的和。

33、若帧数据的数据位中的编号不正确,则修正帧数据的数据位中编号位的数据,将修正编号位后的帧数据的数据位作为应答内容的数据位,包括:

34、若帧数据的数据位中的编号不等于编号校验码,则判定帧数据的数据位中的编号不正确,则修正帧数据的数据位中编号位的数据,将本文档来自技高网...

【技术保护点】

1.一种基于CAN通信的大数据包传输方法,其特征在于,应用于第一电子设备,所述第一电子设备与第二电子设备通过CAN总线连接,所述第一电子设备的接收ID和所述第二电子设备的发送ID相同,所述第一电子设备的发送ID和所述第二电子设备的接收ID相同,所述方法包括:

2.如权利要求1所述的基于CAN通信的大数据包传输方法,其特征在于,所述根据所述第二电子设备发送的应答内容,判断向所述第二电子设备发送的帧数据,包括:

3.如权利要求1所述的基于CAN通信的大数据包传输方法,其特征在于,所述帧数据的数据位中的数据为64位数据;所述应答内容的数据位中的数据为64为数据;

4.一种电子设备,其特征在于,包括:处理器、存储器和CAN通信接口,所述CAN通信接口用于所述电子设备进行CAN通信,所述处理器与所述存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得所述电子设备执行如权利要求1至3任一项所述的方法。

5.一种基于CAN通信的大数据包传输方法,其特征在于,应用于第二电子设备,第一电子设备与所述第二电子设备通过CAN总线连接,所述第二电子设备的发送ID和所述第一电子设备的接收ID相同,所述第二电子设备的接收ID相同和所述第一电子设备的发送ID,所述方法包括:

6.如权利要求5所述的基于CAN通信的大数据包传输方法,其特征在于,所述基于所述帧数据生成应答内容,包括:

7.如权利要求5所述的基于CAN通信的大数据包传输方法,其特征在于,所述若所述帧数据的数据位中的编号正确,则将所述帧数据的数据位作为所述应答内容的数据位,包括:

8.如权利要求5所述的基于CAN通信的大数据包传输方法,其特征在于,所述根据所述第二校验码和第一校验码,验证接收到的子数据包是否完整,包括:

9.一种电子设备,其特征在于,包括:处理器、存储器和CAN通信接口,所述CAN通信接口用于所述电子设备进行CAN通信,所述处理器与所述存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得所述电子设备执行如权利要求5至7任一项所述的方法。

10.一种通信系统,其特征在于,包括:如权利要求4所述的电子设备和如权利要求9所述的电子设备。

...

【技术特征摘要】

1.一种基于can通信的大数据包传输方法,其特征在于,应用于第一电子设备,所述第一电子设备与第二电子设备通过can总线连接,所述第一电子设备的接收id和所述第二电子设备的发送id相同,所述第一电子设备的发送id和所述第二电子设备的接收id相同,所述方法包括:

2.如权利要求1所述的基于can通信的大数据包传输方法,其特征在于,所述根据所述第二电子设备发送的应答内容,判断向所述第二电子设备发送的帧数据,包括:

3.如权利要求1所述的基于can通信的大数据包传输方法,其特征在于,所述帧数据的数据位中的数据为64位数据;所述应答内容的数据位中的数据为64为数据;

4.一种电子设备,其特征在于,包括:处理器、存储器和can通信接口,所述can通信接口用于所述电子设备进行can通信,所述处理器与所述存储器耦合,所述存储器用于存储程序或指令,当所述程序或指令被所述处理器执行时,使得所述电子设备执行如权利要求1至3任一项所述的方法。

5.一种基于can通信的大数据包传输方法,其特征在于,应用于第二电子设备,第一电子设备与所述第二电子设备通过...

【专利技术属性】
技术研发人员:李世涛张龙
申请(专利权)人:河北通合新能源科技有限公司
类型:发明
国别省市:

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

1