CN107786405B - 基于can总线的多节点自动组网方法 - Google Patents

基于can总线的多节点自动组网方法 Download PDF

Info

Publication number
CN107786405B
CN107786405B CN201710963166.7A CN201710963166A CN107786405B CN 107786405 B CN107786405 B CN 107786405B CN 201710963166 A CN201710963166 A CN 201710963166A CN 107786405 B CN107786405 B CN 107786405B
Authority
CN
China
Prior art keywords
node
bus
nodes
sent
message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710963166.7A
Other languages
English (en)
Other versions
CN107786405A (zh
Inventor
李晓庆
陈世明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
FSP Powerland Technology Inc
Original Assignee
FSP Powerland Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by FSP Powerland Technology Inc filed Critical FSP Powerland Technology Inc
Priority to CN201710963166.7A priority Critical patent/CN107786405B/zh
Publication of CN107786405A publication Critical patent/CN107786405A/zh
Application granted granted Critical
Publication of CN107786405B publication Critical patent/CN107786405B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/407Bus networks with decentralised control
    • H04L12/413Bus networks with decentralised control with random access, e.g. carrier-sense multiple-access with collision detection [CSMA-CD]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5038Address allocation for local use, e.g. in LAN or USB networks, or in a controller area network [CAN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5069Address allocation for group communication, multicast communication or broadcast communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40215Controller Area Network CAN
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/627Controller area network [CAN] identifiers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了基于CAN总线的多节点自动组网方法。CAN节点上电侦听等待第一时长,并随机延时第二时长,并得到一ID,然后广播发送所述ID。成功广播发送完成的CAN节点,将其发送的所述ID设置为自身ID,其后每个一心跳时间发送一次该自身ID。未成功发送完成的节点,将收到来自发送成功CAN节点广播的ID报文,并认为该ID已被占用,将该ID加1形成新的ID,终止前一次发送,随机延时所述第二时长,再次广播发送所述新的ID报文。依次类推,直至所有CAN节点均已被分配ID。本发明的自动组网方法针对多机并联、总线上有多节点的应用,通过自动组网算法,实现ID分配、节点动态增减,无需任何人工或外部干预。

Description

基于CAN总线的多节点自动组网方法
技术领域
本发明涉及CAN总线技术领域,且特别是有关于CAN总线自动组网的方法。
背景技术
CAN(Controller Area Network)总线是一种最初为汽车车载设备控制而设计的串行数字通信总线,其目的是用多点、串行数字通讯技术取代常规的直接导线信号连接,可以大量节省车载设备的电缆布线。由于CAN总线可靠性高、协议精炼、价格低,在工业测控领域也获得广泛应用。随着电动汽车的普及,充电桩市场规模庞大,为便于与电池管理系统BMS对接,CAN总线在充电桩产品中也已成为主流通讯方式。
充电桩一般由数台或数十台充电模块并联以提升功率,通信电源系统通常也由数台开关电源模块并联组成,以及测控领域也存在较多并联、同等多节点组网的应用需求。针对多节点CAN总线,通常组成网络时先由专业人员定义好每个节点的ID,网络建立需较长的准备时间;另一种方法是通过一个主机来管理和分配ID,但各个节点需依次连接到网络,操作较为复杂。
专利201210034238.7公开了一种小型CAN总线网络组网的方法,该方法具有以下缺点:
1)需外部先选定起始节点,增加了操作难度,非完全自动;
2)节点ID由随机数确定,会导致不连续,增加了主机监控难度;
3)需确定的网络节点总数N,以确定组网完成,应用场合受限;也无法动态地增加或减少网络节点。
专利200910079308.9公开了一种CAN总线动态组网的方法,该方法的缺点是:
1)每个节点即终端设备须具有不同的特征ID,无法自动分配ID;仅通过组网竞争出总线控制器;
2)总线控制器须维护节点信息表,若总线控制器退出,需重新组网,由新竞争出的总线控制器维护节点信息表,增加了软件开发难度。
发明内容
本发明正是思及于此,提供针对总线上有多节点的应用,提供一种自动组网算法,实现ID分配、节点动态增减,无需任何人工或外部干预。
为达到上述目的,本发明采用的技术方案是:
所述CAN总线包含多个CAN节点,所述自动组网方法,包括如下步骤:
第一步骤,各CAN节点上电侦听等待第一时长,接收总线上的ID报文;
第二步骤,各CAN节点随机延时第二时长,并生成一ID,所述ID包含N位随机数和M位有效ID,然后广播发送所述ID;
第三步骤,成功发送完成的CAN节点,将其发送的所述ID设置为自身ID,其后每个一心跳时间发送一次所述自身ID;
第四步骤,未成功发送完成的节点,将收到来自发送成功CAN节点广播发送的ID报文,并认为所述ID已被占用,若其生成的ID与其接收到的ID报文相同,自动将其生成的ID加1形成新的ID报文,终止前一次发送,随机延时所述第二时长,再次广播发送所述新的ID报文;
第四步骤执行结束后继续执行第三步骤,直至所有CAN节点均已被分配ID。
本发明优选的,所述心跳时间为1S。
本发明优选的,所述第二时长小于100ms。
基于CAN总线的多节点自动组网方法,应用于新加入CAN节点的CAN总线,包含如下步骤:
第五步骤,新加入节点上电侦听等待;
第六步骤,获知当前网络上节点数量及各节点的ID,自动递加查询即可确定自身ID,然后广播发送ID报文;
第七步骤,成功发送完成的节点,将其发送的ID报文设置为自身ID,其后每个一心跳时间发送一次该自身ID;
第八步骤,未成功发送完成的节点,将收到来自发送成功CAN节点广播的ID报文,并认为该ID已被占用,若其生成的ID与该ID报文相同,则自动将其生成的ID加1形成新的ID报文,终止前一次发送,随机延时所述第二时长,再次广播发送所述新的ID报文;
第八步骤执行结束后继续执行第七步骤,直至所有CAN节点均已被分配ID。
本发明基于CAN总线的多节点自动组网方法,应用于具有指定ID的CAN总线,将所述指定ID作为组地址或者硬件地址,通过所述基于CAN总线的多节点自动组网方法再次分配软件网络ID。
本发明基于CAN总线的多节点自动组网方法,应用于具有指定ID的CAN总线,,应用于具有指定ID的CAN总线,所述指定ID作为所述自身ID进行组网。
有益效果,本发明的自动组网方法针对多机并联、总线上有多节点的应用,通过自动组网算法,实现ID分配、节点动态增减,无需任何人工或外部干预。。
为让发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图式作详细说明如下。
附图说明
图1为多节点CAN总线网络。
图2为无指定ID多节点CAN总线自动组网实施例图。
图3为本发明标准ID地址帧图。
图4为新加入节点CAN总线自动组网实施例图。
具体实施方式
为使本发明实施例的目的和技术方案更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明中所述的“第一”、“第二”、“第三”等(如果存在)用于在类似要素之间进行区别,并且不一定是描述特定的次序或者按时间的顺序。要理解,这样使用的这些术语在适当的环境下是可互换的,使得在此描述的主题的实施例如是能够以与那些说明的次序不同的次序或者以在此描述的另外的次序来进行操作。另外,凡可能之处,在图示及实施方式中使用相同标号的组件/构件/步骤,系代表相同或类似部件。
本发明的目的在于提供一种基于CAN总线的多节点自动组网方法,实现ID完全自动分配,且自动分配的ID地址连续,便于管理及寻址;组网完成后,通过心跳报文,各节点能够实时获知网络节点数量及ID情况,在任一节点故障退出时,其他节点的可以及时补位;同时便于新增节点的ID分配,达到动态组网的效果。
图1为一多节点CAN总线网络示意图,是本发明CAN总线动态组网方法实施例的硬件电路,所述CAN总线上连接有多个CAN节点。
图2为本发明CAN总线动态组网方法的第一实施例,包括如下步骤:
步骤S21,各CAN节点上电侦听等待第一时长。用于接收总线上的ID报文。所述第一时长,例如为1S。
步骤S22,各CAN节点随机延时第二时长,并生成一ID,所述ID包含N位随机数和M位有效ID,然后广播发送所述ID。被广播发送的所述ID为ID报文。如图3为本发明所述ID的标准帧组成,所述ID的标准帧的位数为N+M位,优选的,所述ID的标准帧的位数为11位,且其中N优选的N<6,且各节点初始有效ID均为1。另外所述第二时长,优选的小于100ms。
步骤S23,成功发送完成的CAN节点,将其发送的ID报文设置为自身ID,其后每隔一心跳时间发送一次该自身ID。心跳时间内被发送的自身ID被称为心跳报文。基于CAN总线的仲裁功能,多个CAN节点同时发送时,仅有一CAN节点能够成功发送完成,进一步,通过随机延时及所述ID的N位随机数可有效确保仅一节点成功发送,例如,随机数为N位1,随机数为N位1使得所述ID的数值变大,所述ID的数值越大优先级越低,全部设置为1以降低心跳报文的优先级;所述心跳时间,优选的,为1S。
步骤S24,未成功发送完成的CAN节点,将收到来自发送成功CAN节点广播的ID报文,并认为该ID已被占用,若其生成的ID与该ID报文相同,则自动将该ID报文加1形成新的ID,终止前一次发送,随机延时所述第二时长,再次广播发送所述新的ID。
此次发送,同样仅有一个CAN节点能够成功发送,执行完步骤S24后执行步骤S23,成功发送的CAN节点,将其发送的ID报文设置为自身ID,其后每个一心跳时间发送一次该自身ID。依次类推,直至所有CAN节点均已被分配ID。执行步骤S25,所有CAN节点均已被分配ID,组网完成。
组网完成后,网络中所有节点能够周期收到来自其他节点的广播ID报文,类似心跳报文,则任一节点可以获知当前网络上节点数量及各节点的ID情况;在区分主从机的多节点总线上,比如可以让ID最小的节点作为主机,其他均作为从机;当主机因故障退出网络时,按ID顺序的其他从机自动切换为主机。
图4为新加入节点CAN总线网络组网实施例图。该实施例包括如下步骤:
步骤S41,新加入CAN节点上电侦听等待所述第一时长,若所述第一时长内收到了心跳报文,重新计时再等待所述第一时长,直至收不到任何新心跳报文。所述第一时长,例如为1S。
步骤S42,获知当前网络上CAN节点数量及各节点的ID,自动递加查询确定ID,然后广播发送所述ID。被广播发送的所述ID称为ID报文。
步骤S43,成功发送完成的节点,将其发送的ID报文设置为自身ID,其后每隔一心跳时间发送一次该自身ID。所述心跳时间,优选的,为1S。每隔一心跳时间发送的所述自身ID,称为心跳报文。
步骤S44,未成功发送完成的CAN节点,将收到来自发送成功CAN节点广播的ID报文,并认为该ID已被占用,若其生成的ID与该ID报文相同,则自动将其生成的ID加1形成新的ID,终止前一次发送,随机延时所述第二时长,再次广播发送所述新的ID。所述第二时长,优选的小于100ms。
此次发送,同样仅有一个CAN节点能够成功发送,执行完步骤S44后执行步骤S43,成功发送的CAN节点,将其发送的ID报文设置为自身ID,其后每个一心跳时间发送一次该自身ID。依次类推,直至所有CAN节点均已被分配ID。执行步骤S45,所有CAN节点均已被分配ID,组网完成。
本发明的CAN总线动态组网方法,针对已指定ID的多节点网络同样适用;已指定ID可以作为组地址或者硬件地址,通过组网再次分配软件网络ID;或者,已指定ID也可直接作为网络ID,按照前述步骤组网。
本发明动态组网方法是基于CAN总线的多机仲裁机制而实现的抢占式获取ID分配方式,采用仲裁退出发送的节点ID自动递加,再次发送抢占的ID分配逻辑。另外,通过延时随机时长发送及随机数作为ID一部分的报文格式,避免相同ID同时发送的情况。通过心跳报文及上电侦听一定时长,实现了网络的动态重组。
虽然本发明已以实施例揭露如上,然其并非用以限定本发明,任何所属技术领域中具有通常知识者,在不脱离本发明的精神和范围内,当可作些许的更动与润饰,故本发明的保护范围当视后附的申请专利范围所界定者为准。

Claims (8)

1.基于CAN总线的多节点自动组网方法,所述CAN总线包含多个CAN节点,其特征在于,所述自动组网方法,包括如下步骤:
第一步骤,各CAN节点上电侦听等待第一时长,接收总线上的ID报文;
第二步骤,各CAN节点随机延时第二时长,并生成一ID,所述ID包含N位随机数和M位有效ID,然后广播发送所述ID;
第三步骤,成功发送完成的CAN节点,将其发送的所述ID设置为自身ID,其后每个一心跳时间发送一次所述自身ID;
第四步骤,未成功发送完成的节点,将收到来自发送成功CAN节点广播发送的ID报文,并认为所述ID已被占用,若其生成的ID与其接收到的ID报文相同,自动将其生成的ID加1形成新的ID报文,终止前一次发送,随机延时所述第二时长,再次广播发送所述新的ID报文;
第四步骤执行结束后继续执行第三步骤,直至所有CAN节点均已被分配ID。
2.如权利要求1所述基于CAN总线的多节点自动组网方法,其特征在于,所述心跳时间为1S。
3.如权利要求1所述基于CAN总线的多节点自动组网方法,其特征在于,所述第二时长小于100ms。
4.如权利要求1所述基于CAN总线的多节点自动组网方法,应用于新加入CAN节点的CAN总线,包含如下步骤:
第五步骤,新加入CAN节点上电侦听等待;
第六步骤,获知当前网络上节点数量及各节点的ID,自动递加查询生成一ID,然后广播发送所述ID;
第七步骤,成功发送完成的节点,将其发送的ID报文设置为自身ID,其后每隔一心跳时间发送一次该自身ID;
第八步骤,未成功发送完成的节点,将收到来自发送成功CAN节点广播的ID报文,并认为该ID已被占用,若其生成的ID与ID报文相同,则自动将其生成的ID加1形成新的ID,终止前一次发送,随机延时所述第二时长,再次广播发送所述新的ID报文;
第八步骤执行结束后继续执行第七步骤,直至所有CAN节点均已被分配ID。
5.如权利要求4所述基于CAN总线的多节点自动组网方法,其特征在于,所述心跳时间为1S。
6.如权利要求4所述基于CAN总线的多节点自动组网方法,其特征在于,所述第二时长小于100ms。
7.如权利要求1所述基于CAN总线的多节点自动组网方法,其特征在于,应用于具有指定ID的CAN总线,将所述指定ID作为组地址或者硬件地址,通过所述基于CAN总线的多节点自动组网方法再次分配软件网络ID。
8.如权利要求1所述基于CAN总线的多节点自动组网方法,其特征在于,应用于具有指定ID的CAN总线,所述指定ID作为所述自身ID进行组网。
CN201710963166.7A 2017-10-17 2017-10-17 基于can总线的多节点自动组网方法 Active CN107786405B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710963166.7A CN107786405B (zh) 2017-10-17 2017-10-17 基于can总线的多节点自动组网方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710963166.7A CN107786405B (zh) 2017-10-17 2017-10-17 基于can总线的多节点自动组网方法

Publications (2)

Publication Number Publication Date
CN107786405A CN107786405A (zh) 2018-03-09
CN107786405B true CN107786405B (zh) 2020-10-27

Family

ID=61434577

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710963166.7A Active CN107786405B (zh) 2017-10-17 2017-10-17 基于can总线的多节点自动组网方法

Country Status (1)

Country Link
CN (1) CN107786405B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109104303A (zh) * 2018-07-20 2018-12-28 中国电子科技集团公司第三十八研究所 一种can总线id的自动配置系统和方法
CN108989169B (zh) * 2018-08-23 2021-06-04 成都圭目机器人有限公司 基于can总线的模块智能自组网的方法
CN109450662B (zh) * 2018-09-30 2023-09-15 浙江正泰电器股份有限公司 自组网通讯管理机及组网方法、自组网通讯系统
CN109861893B (zh) * 2018-10-18 2020-08-14 珠海格力电器股份有限公司 一种基于系统总线的通信方法、装置及系统
CN109586978B (zh) * 2018-12-28 2022-03-18 浙江中控研究院有限公司 总线拓扑网络自组网方法
CN112866072B (zh) * 2020-12-15 2022-04-26 杭州协能科技股份有限公司 一种用于can总线id分配的控制方法
CN113114792A (zh) * 2021-03-08 2021-07-13 珠海格力电器股份有限公司 设备自组网方法、装置及空调系统
CN113135111A (zh) * 2021-06-22 2021-07-20 深圳市健网科技有限公司 充电控制方法、充电桩以及计算机可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6845416B1 (en) * 2000-08-02 2005-01-18 National Instruments Corporation System and method for interfacing a CAN device and a peripheral device
CN101499946A (zh) * 2009-03-05 2009-08-05 北京云涌科技发展有限责任公司 Can总线动态组网的方法
CN101582824A (zh) * 2008-05-13 2009-11-18 施耐德电器工业公司 关于控制局域网总线从节点设备的节点号自动分配方法
CN102546340A (zh) * 2012-02-16 2012-07-04 山东师范大学 一种小型can总线网络组网的方法
CN104901858A (zh) * 2015-05-21 2015-09-09 艾德克斯电子(南京)有限公司 一种基于can总线的系统通信方法
CN105607535A (zh) * 2015-12-23 2016-05-25 华南理工大学 一种基于CAN通信和ZigBee组网的智能电表

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6845416B1 (en) * 2000-08-02 2005-01-18 National Instruments Corporation System and method for interfacing a CAN device and a peripheral device
CN101582824A (zh) * 2008-05-13 2009-11-18 施耐德电器工业公司 关于控制局域网总线从节点设备的节点号自动分配方法
CN101499946A (zh) * 2009-03-05 2009-08-05 北京云涌科技发展有限责任公司 Can总线动态组网的方法
CN102546340A (zh) * 2012-02-16 2012-07-04 山东师范大学 一种小型can总线网络组网的方法
CN104901858A (zh) * 2015-05-21 2015-09-09 艾德克斯电子(南京)有限公司 一种基于can总线的系统通信方法
CN105607535A (zh) * 2015-12-23 2016-05-25 华南理工大学 一种基于CAN通信和ZigBee组网的智能电表

Also Published As

Publication number Publication date
CN107786405A (zh) 2018-03-09

Similar Documents

Publication Publication Date Title
CN107786405B (zh) 基于can总线的多节点自动组网方法
CN112764407B (zh) 一种分布式控制的非周期通信方法
EP2771939B1 (en) Distributed batterry management system and method of identification distribution using the same
CN105955905B (zh) 一种基于串行总线结构的接口电路及通信协议
CN110830276B (zh) 一种基于冷冗余机制的EtherCAT通信系统及方法
CN102291259B (zh) 基于多主站模式的低压电力线通信网络层管理方法
CN103218331A (zh) 采用同步模式切换及帧优先级自动调整的总线装置及方法
CN107508930A (zh) Id分配方法及系统
CN106789498B (zh) Modbus通信网络的网络地址分配方法、从节点设备与通信系统
EP2688333A1 (en) Parallel monitoring method and system for communication base station power sources
CN103001888B (zh) 一种实时数据的传输方法及节点设备
CN106773862A (zh) 一种整流器并机系统及其控制方法
CN105389278A (zh) 一种基于can总线的主从机串行通信方法
CN111182086A (zh) 基于一主多从式模块的can总线地址分配方法及装置
CN104950829A (zh) 一种总线系统功耗控制方法及装置
CN104301191A (zh) 总线系统
CN116319683A (zh) 分配组网地址的方法、系统、装置以及电子设备
CN108462537B (zh) 一种一主多从通信的实现方法
KR102256153B1 (ko) 버스 시스템에서 결정성 데이터 전송을 위한 방법 및 버스 시스템
CN106161595B (zh) 基于工业互联网的过程控制实时通信方法、装置及系统
CN113994638A (zh) 用于串行总线系统的用户站和用于在串行总线系统中进行通信的方法
CN107171921B (zh) 一种基于rs485网络的实时通信方法
CN108628796A (zh) 一种串行通信方法和系统
US6894603B2 (en) Packet communication method of powerline communication system
CN113596189A (zh) 一种并联编址方法、电池包及并联编址系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant