本申请涉及数据传输处理,特别涉及一种can总线数据的传输方法及系统。
背景技术:
1、can(控制器局域网)总线是一种应用广泛的总线技术,尤其在汽车电子系统中有着广泛的应用。然而,由于can总线的帧格式限制,每1帧最多只能传输8个字节的数据,这对传输较大数据量的信息造成了一定的限制。在实际应用中,尤其是需要传输大于8字节的数据时,现有的技术方案通常需要对数据进行拆分和重组,这不仅增加了系统的复杂性,也可能影响数据传输的可靠性和实时性。因此,迫切需要一种能够在can总线上高效传输大数据量的方法,以满足实际应用的需求。
技术实现思路
1、本申请实施例提供了一种can总线数据的传输方法及系统,用以解决现有技术中的问题。
2、一方面,本申请实施例提供了一种can总线数据的传输方法,包括:
3、获取待传输数据;
4、将待传输数据按照大小要求拆分为多个数据包;
5、对每个数据包生成相应的子包信息,子包信息包含包序号,将子包信息和数据包组合,形成相应的子包;
6、根据子包的数量生成基础信息包;
7、先传输基础信息包,再依次传输多个子包;
8、接收基础信息包后解析得到子包的数量,接收子包后,按照子包的包序号对子包中的数据进行存储。
9、另一方面,本申请实施例还提供了一种can总线数据的传输系统,包括:
10、数据采集模块,用于获取待传输数据;
11、数据组合模块,用于将待传输数据按照大小要求拆分为多个数据包,对每个数据包生成相应的子包信息,子包信息包含包序号,将子包信息和数据包组合,形成相应的子包,根据子包的数量生成基础信息包;
12、数据传输端,用于先传输基础信息包,再依次传输多个子包;
13、数据接收端,用于接收基础信息包后解析得到子包的数量,接收子包后,按照子包的包序号对子包中的数据进行存储。
14、本申请中的一种can总线数据的传输方法及系统,具有以下优点:
15、1、基础信息包和子包机制:将基础信息包和子包的帧类型和数量信息合并到1个字节中,通过最高位区分基础信息包和子包,提高了数据帧的紧凑性和传输效率。
16、2、灵活的数据传输:基础信息包传递总包数和数据类型信息,子包传递实际数据,通过分片和重组机制,实现了大数据量的灵活传输。
17、3、实时性和可靠性:采用帧类型和子包序号的机制,接收端能够实时解析并重组数据,确保数据传输的实时性和可靠性。
1.一种can总线数据的传输方法,其特征在于,包括:
2.根据权利要求1所述的一种can总线数据的传输方法,其特征在于,所述大小要求为7字节,每个所述数据包最大为7字节。
3.根据权利要求2所述的一种can总线数据的传输方法,其特征在于,所述子包信息还包括子包帧类型,所述子包信息共1字节,所述子包最大为8字节。
4.根据权利要求3所述的一种can总线数据的传输方法,其特征在于,所述子包信息的最高位为0,表示所述子包帧类型,所述子包信息的后7位表示所述包序号。
5.根据权利要求1所述的一种can总线数据的传输方法,其特征在于,根据所述子包的数量生成所述基础信息包时,所述基础信息包的基础包帧类型以及所述基础信息包和所述子包的数量组成基础包信息,将所述基础包信息、消息号和预留字节组成所述基础信息包。
6.根据权利要求5所述的一种can总线数据的传输方法,其特征在于,所述基础包信息、所述消息号和所述预留字节的大小分别为1字节、2字节和5字节。
7.根据权利要求6所述的一种can总线数据的传输方法,其特征在于,所述基础包信息的最高位为1,表示所述基础包帧类型,所述基础包信息的后7位表示所述基础信息包和所述子包的数量。
8.根据权利要求1所述的一种can总线数据的传输方法,其特征在于,接收所述基础信息包并解析得到所述子包的数量后,根据所述子包的数量初始化接收缓冲区和标志位数组,接收到所述子包后,提取所述子包中的所述数据包,将所述数据包按照所述包序号存储在所述接收缓冲区,更新所述标志位数组,在接收所有的所述子包后,将所述接收缓冲区中的数据重组为完整数据。
9.应用权利要求1-8任一项所述的一种can总线数据的传输方法的系统,其特征在于,包括: