一种基于CANBUS通信协议的适配方法与流程

文档序号:34655346发布日期:2023-06-29 23:37阅读:69来源:国知局
一种基于CANBUS通信协议的适配方法与流程

本发明涉及电数字数据处理,特别涉及一种基于canbus通信协议的适配方法。


背景技术:

1、can总线是一种总线标准,旨在允许微控制器和设备在没有主机的情况下与彼此的应用程序进行通信。它是一种基于消息的协议,最初是为汽车内的多路设备及其间的并行通信和控制而设计的,目前已经广泛运用到许多电子设备。

2、对于每个设备,帧中的数据是串行传输,每一帧通信包所承载的数据长度为8个字节;

3、不同厂家由于技术路径的区别,各自有各自的通信协议,对于集成商来说,如果使用了多个产商的canbus协议设备产品,则都需要理解各个设备的协议定义和规则,然后编写代码以适配,增加了额外工作量,为此,提出一种基于canbus通信协议的适配方法。


技术实现思路

1、有鉴于此,本发明实施例希望提供一种基于canbus通信协议的适配方法,以解决或缓解现有技术中存在的技术问题,至少提供一种有益的选择。

2、本发明实施例的技术方案是这样实现的:一种基于canbus通信协议的适配方法,包括:

3、集成以canbus为通信协议的电子设备,具体包括:

4、将电子设备控制相关的参数配置属性、功能执行属性、反馈参数属性的canbus协议按抽象规则写入配置文件,采用抽象配置机制自动解析配置文件,并组织协议命令,满足canbus通信协议电子设备的功能控制;

5、其中,抽象配置的数据范围定义到数据包的 8bytes,并将其中的单个 byte 定义为一个元数据;

6、将电子设备控制相关的参数配置属性、功能执行属性、反馈参数属性的canbus协议按抽象规则写入配置文件的抽象过程包括:

7、设置一般规则:将不同厂家、品牌、型号所对应不同的通信协议,统一拆解到元数据中,即以一种具有共性的规则进行抽象,拆解到本机制所定义的一般规则的元数据中,元数据带有规则的对应属性,在使用具体协议时,再基于元数据及其对应的规则属性逆向组织元数据以形成完整的相对应的通信协议。

8、进一步优选的:所述配置文件以yaml形式存储,通过缩进的方式实现各级条目间的层级关系。

9、进一步优选的:所述抽象规则定义包括指令分类、数据格式定义、基本抽象单元结构定义、init_commands/deactive_commands/static_commands定义、command定义和feedback定义;

10、其中,所述指令分类包括向电子设备发送指令类和接收驱动器反馈指令类;

11、所述基本抽象单元结构定义包括条件结构、移位结构、静态指令结构、动态指令结构、反馈字节结构和反馈参数结构。

12、进一步优选的:所述init_commands/deactive_commands/static_commands定义用于不同的设备控制逻辑,提供更加清晰的协议配置;

13、具体包括电子设备的初始化工作、设备系统退出或关闭时执行的操作以及电子设备常规的周期性指令发送。

14、进一步优选的:所述command定义控制设备执行功能的实时指令,数据内容包括所控设备自身定义的各项功能操作指令,电子设备可以为电机,以电机驱动器为例,该组指令用于控制电机运动的实时指令,数据内容会包括电机运动方向、电机运动转速、电机运动加/减速、以及电机使能等,电机运动的实时指令在各个厂家、品牌、型号间变化最大,且各个 byte 之间还有依赖关系,因此规则定义作用于 8bytes 中的每一个 byte。

15、进一步优选的:所述feedback定义用于接收电子设备的实时反馈参数;

16、反馈参数的读取基于用户所配置的反馈参数段,反馈参数段支持用户配置任意个参数,以“- param”关键字开头,包括基址属性,反馈数据8个字节中每一个字节的移位属性,以电机驱动器为例,反馈参数可定义为:

17、“read_rpm”电机实时转速反馈、“read_encoder”电机编码器实时反馈、“read_state”电机或驱动器状态实时反馈、“read_soc”电池电量信息实时反馈。

18、进一步优选的:所述抽象规则包括预定义参数、协议到抽象配置、抽象配置重组为协议。

19、进一步优选的:所述协议到抽象配置包括设备的配置指令、设备的动态执行指令、设备的实时反馈指令;

20、其中:

21、设备的配置指令使用静态抽象指令“init_commands”/“static_commands”定义进行配置;

22、设备的动态执行指令使用动态抽象指令“commands”定义进行配置;

23、设备的实时反馈指令使用反馈抽象指令“feedback”定义进行配置。

24、进一步优选的:所述抽象配置重组为协议包括:

25、通过基本抽象单元结构定义以规则的形式存于各个定义单元的数据结构中,机制的协议重组包括对规则的逆向操作,依据各个定义单元的数据结构字段属性,重组重构为特定canbus设备所规定的通信协议。

26、进一步优选的:所述对规则的逆向操作,依据各个定义单元的数据结构字段属性,重组重构为特定canbus设备所规定的通信协议,具体包括:

27、s1、确定是否为数值类型,并根据确定结果执行以下操作:

28、是,重构协议;

29、否,进入下一步骤;

30、s2、确定否为预定义参数,并根据确定结果执行以下操作:

31、否,依据名称寻找对应参数,并根据寻找结果执行以下操作:

32、是,进入下一步骤;

33、不存在对应参数,异常终止;

34、s3、确定是否为条件属性,并根据确定结果执行以下操作:

35、否,进入下一步骤;

36、是,与目标数据对比,对比后,重构协议;

37、s4、确定是否为移动属性,并根据确定结果执行以下操作:

38、是,依据bits_和dir_向指定方向移动指定位数,重构协议;

39、否,重构协议。

40、本发明实施例由于采用以上技术方案,其具有以下优点:

41、本发明抽象配置文件的机制实现对以canbus为通信协议的电子设备的集成,无需进行代码的编写,支持can,canopen,用户只需将电子设备控制相关的参数配置属性、功能执行属性、反馈参数属性按抽象规则写入配置文件,抽象配置机制将会自动解析配置文件,并组织协议命令,从而实现满足电子设备所提供功能的相应控制和相关反馈信息的采集,一种机制适配多种协议,适应能力强。

42、上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。



技术特征:

1.一种基于canbus通信协议的适配方法,其特征在于,包括:

2.根据权利要求1所述的一种基于canbus通信协议的适配方法,其特征在于:所述配置文件以yaml形式存储,通过缩进的方式实现各级条目间的层级关系。

3.根据权利要求1所述的一种基于canbus通信协议的适配方法,其特征在于:所述抽象规则定义包括指令分类、数据格式定义、基本抽象单元结构定义、init_commands/deactive_commands/static_commands定义、command定义和feedback定义;

4.根据权利要求3所述的一种基于canbus通信协议的适配方法,其特征在于:所述init_commands/deactive_commands/static_commands定义用于不同的设备控制逻辑;

5.根据权利要求3所述的一种基于canbus通信协议的适配方法,其特征在于:所述command定义控制设备执行功能的实时指令,数据内容包括所控设备自身定义的各项功能操作指令。

6.根据权利要求3所述的一种基于canbus通信协议的适配方法,其特征在于:所述feedback定义用于接收电子设备的实时反馈参数;

7.根据权利要求1所述的一种基于canbus通信协议的适配方法,其特征在于:所述抽象规则包括预定义参数、协议到抽象配置、抽象配置重组为协议。

8.根据权利要求7所述的一种基于canbus通信协议的适配方法,其特征在于:所述协议到抽象配置包括设备的配置指令、设备的动态执行指令、设备的实时反馈指令;

9.根据权利要求7所述的一种基于canbus通信协议的适配方法,其特征在于:所述抽象配置重组为协议包括:

10.根据权利要求9所述的一种基于canbus通信协议的适配方法,其特征在于:所述对规则的逆向操作,依据各个定义单元的数据结构字段属性,重组重构为特定canbus设备所规定的通信协议,具体包括:


技术总结
本发明提供了一种基于CANBUS通信协议的适配方法,包括:集成以CANBUS为通信协议的电子设备,具体包括:将电子设备控制相关的参数配置属性、功能执行属性、反馈参数属性的CANBUS协议按抽象规则写入配置文件,采用抽象配置机制自动解析配置文件;用户只需将电子设备控制相关的参数配置属性、功能执行属性、反馈参数属性按抽象规则写入配置文件,抽象配置机制将会自动解析配置文件,并组织协议命令,从而实现满足电子设备所提供功能的相应控制和相关反馈信息的采集,一种机制适配多种协议,适应能力强。

技术研发人员:邹欣钰,黄渊海,刘强,王正
受保护的技术使用者:云南自由贸易试验区苇航智能科技有限责任公司
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1