一种CAN总线设备编码方法与流程
未命名
10-19
阅读:98
评论:0
一种can总线设备编码方法
技术领域
1.本发明涉及设备编码技术领域,具体为一种can总线设备编码方法。
背景技术:
2.can总线是一种用于实时应用的串行通讯协议总线,它可以使用双绞线来传输信号,是世界上应用最广泛的现场总线之一。在使用can总线通讯的同一网络上,每个子设备都需要有一个唯一id。用于区分子设备。
3.在使用can总线的传统做法中,会事先对每个子设备进行id配置,配置方法可以是使用电脑,或者使用拨码开关逐一配置,工作量较大,并且容易出错。
技术实现要素:
4.(一)解决的技术问题
5.针对现有技术的不足,本发明提供了一种can总线设备编码方法,解决了现有手动方案出错率高,人力成本高的问题。
6.(二)技术方案
7.为实现以上目的,本发明通过以下技术方案予以实现:一种can总线设备编码方法,其特征在于,具体包括以下步骤:
8.s1.硬件设置
9.设置一台主机及若干个分机;
10.s2.上电发送
11.当需要使用自动id编码功能时,主机发一条通知分机进入id设置流程的can帧,分机进入id设置流程,主机延时100毫秒后,主机对addr+线上电,第一个分机通过光耦检测到地址线上电信息后,分机mcu根据mcu id计算hash值并将此hash值发送到can总线;
12.s3.分机发送
13.主机收到此hash值后,放入到一个二维数组的第一个位置,分机发送成功hash值can帧后,打开地址输出光耦,对分机的addr输出线上电;
14.s4.再次发送
15.下一个分机接收到地址线上电信息后,依照第一个分机生成hash的流程也发送hash值;
16.s5.总线发送
17.当所有分机都发送完hash值后,主机根据自身数组中的顺序,对总线发送hash值和分机id;
18.s6.设置id
19.分机收到与自身hash值匹配的数据帧后,根据数据中中的分机id对自身设置id,并对总线发送id设置成功can帧;
20.s7.结果回复
21.主机收到所有分机的id设置成功can帧后,关闭地址输出线,结束id设置流程,当主机无法收到所有分机回复,主机报id设置错误故障。
22.优选的,所述一台主机和若干个分机统一在一个系统中。
23.优选的,所述主机系统中若收到传感器回复则继续向下执行操作,若未收到,则持续本操作,直至收到传感器回复。
24.优选的,所述主机系统中若收到传感器hashs数据则继续向下执行操作,若未收到,则持续本操作,直至收到传感器hashs数据。
25.优选的,所述主机系统中若收到所有传感器的应答则继续向下执行操作,若未收到,则持续本操作,直至收到所有传感器的应答。
26.优选的,所述传感器系统中若收到主机查询hash值can帧并且编码线已上电则继续向下执行操作,若未收到,则持续等待,直至收到主机查询hash值can帧并且编码线已上电。
27.优选的,所述传感器系统中若收到带hash值及id的配置帧则继续向下执行操作,若未收到,则继续等待,直至收到带hash值及id的配置帧。
28.(三)有益效果
29.本发明提供了一种can总线设备编码方法。具备以下有益效果:
30.本发明提供了一种can总线设备编码方法,本发明通过一种自动编码的方式,可以实现全自动操作,能够在线式解决同一个网络下的子设备编码问题,设备不用离线,并且可以不中断子网内的通讯,如果子设备是安装在其他设备内部,可以不用拆装其他设备就解决子设备id编码问题,通过使用本方法,可以提高工作效率,减少出错概率。
附图说明
31.图1为本发明的硬件流程示意图;
32.图2为本发明的软件流程示意图。
具体实施方式
33.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
34.实施例:
35.如图1-2所示,本发明实施例提供一种can总线设备编码方法,具体包括以下步骤:
36.s1.硬件设置
37.设置一台主机及若干个分机;
38.s2.上电发送
39.当需要使用自动id编码功能时,主机发一条通知分机进入id设置流程的can帧,分机进入id设置流程,主机延时100毫秒后,主机对addr+线上电,第一个分机通过光耦检测到地址线上电信息后,分机mcu根据mcu id计算hash值并将此hash值发送到can总线;
40.s3.分机发送
41.主机收到此hash值后,放入到一个二维数组的第一个位置,分机发送成功hash值can帧后,打开地址输出光耦,对分机的addr输出线上电;
42.s4.再次发送
43.下一个分机接收到地址线上电信息后,依照第一个分机生成hash的流程也发送hash值;
44.s5.总线发送
45.当所有分机都发送完hash值后,主机根据自身数组中的顺序,对总线发送hash值和分机id;
46.s6.设置id
47.分机收到与自身hash值匹配的数据帧后,根据数据中中的分机id对自身设置id,并对总线发送id设置成功can帧;
48.s7.结果回复
49.主机收到所有分机的id设置成功can帧后,关闭地址输出线,结束id设置流程,当主机无法收到所有分机回复,主机报id设置错误故障。
50.一台主机和若干个分机统一在一个系统中,主机系统中若收到传感器回复则继续向下执行操作,若未收到,则持续本操作,直至收到传感器回复,主机系统中若收到传感器hashs数据则继续向下执行操作,若未收到,则持续本操作,直至收到传感器hashs数据,主机系统中若收到所有传感器的应答则继续向下执行操作,若未收到,则持续本操作,直至收到所有传感器的应答,传感器系统中若收到主机查询hash值can帧并且编码线已上电则继续向下执行操作,若未收到,则持续等待,直至收到主机查询hash值can帧并且编码线已上电,传感器系统中若收到带hash值及id的配置帧则继续向下执行操作,若未收到,则继续等待,直至收到带hash值及id的配置帧。
51.基于上述方法步骤,进一步的说明为:
52.本技术使用4条线缆完成can总线设备自动编码功能。系统中存在一台主机及若干个分机,当需要使用自动id编码功能时,主机发一条通知分机进入id设置流程的can帧,分机进入id设置流程,主机延时100毫秒后,主机对addr+线上电,第一个分机通过光耦检测到地址线上电信息后,分机mcu根据mcu id计算hash值并将此hash值发送到can总线,主机收到此hash值后,放入到一个二维数组的第一个位置,分机发送成功hash值can帧后,打开地址输出光耦,对分机的addr输出线上电,下一个分机接收到地址线上电信息后,依照第一个分机生成hash的流程也发送hash值,当所有分机都发送完hash值后,主机根据自身数组中的顺序,对总线发送hash值和分机id,分机收到与自身hash值匹配的数据帧后,根据数据中中的分机id对自身设置id,并对总线发送id设置成功can帧,主机收到所有分机的id设置成功can帧后,关闭地址输出线,结束id设置流程,当主机无法收到所有分机回复,主机报id设置错误故障。
53.基于现有的手动方案出错率高,人力成本高,且根据文献发现的现有自动编码方案,子设备需要中断通讯,会丢失一些数据。
54.本发明本发明具有以下优点:
55.1.按顺序对子设备进行id设置。
56.2.子设备无需离网,可以进行其他通讯。
57.3.方便替换坏掉的子设备。
58.尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。
技术特征:
1.一种can总线设备编码方法,其特征在于,具体包括以下步骤:s1.硬件设置设置一台主机及若干个分机;s2.上电发送当需要使用自动id编码功能时,主机发一条通知分机进入id设置流程的can帧,分机进入id设置流程,主机延时100毫秒后,主机对addr+线上电,第一个分机通过光耦检测到地址线上电信息后,分机mcu根据mcuid计算hash值并将此hash值发送到can总线;s3.分机发送主机收到此hash值后,放入到一个二维数组的第一个位置,分机发送成功hash值can帧后,打开地址输出光耦,对分机的addr输出线上电;s4.再次发送下一个分机接收到地址线上电信息后,依照第一个分机生成hash的流程也发送hash值;s5.总线发送当所有分机都发送完hash值后,主机根据自身数组中的顺序,对总线发送hash值和分机id;s6.设置id分机收到与自身hash值匹配的数据帧后,根据数据中中的分机id对自身设置id,并对总线发送id设置成功can帧;s7.结果回复主机收到所有分机的id设置成功can帧后,关闭地址输出线,结束id设置流程,当主机无法收到所有分机回复,主机报id设置错误故障。2.根据权利要求1所述的一种can总线设备编码方法,其特征在于:所述一台主机和若干个分机统一在一个系统中。3.根据权利要求1所述的一种can总线设备编码方法,其特征在于:所述主机系统中若收到传感器回复则继续向下执行操作,若未收到,则持续本操作,直至收到传感器回复。4.根据权利要求1所述的一种can总线设备编码方法,其特征在于:所述主机系统中若收到传感器hashs数据则继续向下执行操作,若未收到,则持续本操作,直至收到传感器hashs数据。5.根据权利要求1所述的一种can总线设备编码方法,其特征在于:所述主机系统中若收到所有传感器的应答则继续向下执行操作,若未收到,则持续本操作,直至收到所有传感器的应答。6.根据权利要求1所述的一种can总线设备编码方法,其特征在于:所述传感器系统中若收到主机查询hash值can帧并且编码线已上电则继续向下执行操作,若未收到,则持续等待,直至收到主机查询hash值can帧并且编码线已上电。7.根据权利要求1所述的一种can总线设备编码方法,其特征在于:所述传感器系统中若收到带hash值及id的配置帧则继续向下执行操作,若未收到,则继续等待,直至收到带hash值及id的配置帧。
技术总结
本发明提供一种CAN总线设备编码方法,涉及设备编码技术领域。该CAN总线设备编码方法,具体包括以下步骤:S1.硬件设置;S2.上电发送;S3.分机发送;S4.再次发送;S5.总线发送;S6.设置ID;S7.结果回复。本发明可以全自动操作,能够在线式解决同一个网络下的子设备编码问题,设备不用离线,并且可以不中断子网内的通讯,如果子设备是安装在其他设备内部,可以不用拆装其他设备就解决子设备ID编码问题,按顺序对子设备进行ID设置,并且子设备无需离网,可以进行其他通讯方便替换坏掉的子设备,从而使得本发明具有工作量小,工作效率高的优点。工作效率高的优点。工作效率高的优点。
技术研发人员:张金广
受保护的技术使用者:张金广
技术研发日:2023.07.21
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
