CN105389278B - 一种基于can总线的主从机串行通信方法 - Google Patents
一种基于can总线的主从机串行通信方法 Download PDFInfo
- Publication number
- CN105389278B CN105389278B CN201510670674.7A CN201510670674A CN105389278B CN 105389278 B CN105389278 B CN 105389278B CN 201510670674 A CN201510670674 A CN 201510670674A CN 105389278 B CN105389278 B CN 105389278B
- Authority
- CN
- China
- Prior art keywords
- node
- bus address
- subordinate computer
- host
- computer node
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
- G06F13/362—Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种CAN总线的主从机串行通信方法,包括:主机节点接入CAN总线,并在主机节点中配置主机总线地址和从机总线地址池;主机节点监听CAN总线,获取至少一个从机节点发送的广播消息;所述主机节点根据所述广播消息中的从机节点物理地址和网络连接状态,为所述从机节点配置目标主机总线地址和从机总线地址;所述主机节点根据所述从机总线地址和网络连接状态与所述从机节点进行点对点通信。本发明所述的一种CAN总线的主从机串行通信方法,通过实现主机节点与从机节点间的串行通信,解决了现有CAN总线通信方式中,需要大量数据节点并由此带来的数据拥堵的问题。
Description
技术领域
本发明涉及CAN总线技术领域,尤其涉及一种基于CAN总线的主从机串行通信方法。
背景技术
CAN(Controller Area Network,控制器局域网络)是目前国际上应用最为广泛的现场总线之一。在初期阶段控制器局域网络CAN被应用于汽车内部的现场总线。随着科学技术的不断发展,控制器局域网络CAN也逐步应用到医疗设备、工业生产、楼宇设施、交通运输等领域中。
目前,现有通信技术中多采用RS232串行通信、RS485串行通信及通用CAN总线通信。但上述通信方式均存在一定程度的不足。首先RS232串行通信只允许点对点通信,且距离有限;数据传输速率低且容易产生干扰,此外接口电路的芯片由于接口信号的高电平也极易造成损坏。其次,RS485串行通信配置较为繁琐,耗时较长;通用CAN总线数据通信节点没有主从之分,任意节点可以向任何其他节点发起数据通信,因此需要每个消息节点处理大量数据,并由此造成了总线节点数目较多,进而会出现数据拥堵的情况。
发明内容
本发明是为了解决现有技术中的上述不足而完成的,本发明的目的在于提出一种基于CAN总线的主从机的串行通信方法,该方法解决了现有通信方式,尤其是通用CAN总线通信在使用过程中出现的总线节点数目较多,数据造成拥堵的问题。
为达此目的,本发明采用以下技术方案:
一种CAN总线的主从机串行通信方法,包括:
主机节点接入CAN总线,并在主机节点中配置主机总线地址和从机总线地址池;
主机节点监听CAN总线,获取至少一个从机节点发送的广播消息;
所述主机节点根据所述广播消息中的从机节点物理地址和网络连接状态,为所述从机节点配置目标主机总线地址和从机总线地址;
所述主机节点根据所述从机总线地址和网络连接状态与所述从机节点进行点对点通信。
本发明所述的一种CAN总线的主从机串行通信方法,通过主机节点接入并监听CAN总线,获取从机节点发送的广播消息,并以此配置目标主机总线及从机总线地址,最终根据从机总线地址与网络连接状态实现与从机节点的点对点通信。本方法利用了CAN的通信协议,通过主机配置从机的地址,实现点对点通信,解决了现有CAN总线通信方式中,需要大量数据节点并由此带来的数据拥堵的问题。
附图说明
为了更加清楚地说明本发明示例性实施例的技术方案,下面对描述实施例中所需要用到的附图做一简单介绍。显然,所介绍的附图只是本发明所要描述的一部分实施例的附图,而不是全部的附图,对于本领域普通技术人员,在不付出创造性劳动的前提下,还可以根据这些附图得到其他的附图。
图1是本发明实施例一提供的一种CAN总线的主从机串行通信方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,以下将结合本发明实施例中的附图,通过具体实施方式,完整地描述本发明的技术方案。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例,基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动的前提下获得的所有其他实施例,均落入本发明的保护范围之内。
实施例一:
图1给出了本实施例一提供的一种CAN总线的主从机串行通信方法的流程图。
如图1,本实施例一提供的CAN总线的主从机串行通信方法,包括:
S100、主机节点接入CAN总线,并在主机节点中配置主机总线地址和从机总线地址池。
其中,主机总线地址是指主机节点的总线地址。该总线地址由2个字节组成并且具有唯一性,也就是说,主机节点为CAN总线多个节点中的主要节点,且只有一个。
从机总线地址池是指从机节点的总线地址池。该总线地址池为从机节点可分配的有效地址范围。
S200、主机节点监听CAN总线,获取至少一个从机节点发送的广播消息。
首先从机节点接入CAN总线,之后会以广播的形式发送广播消息。其中,广播消息包括从机节点的物理地址和网络连接状态。
需要说明的是,在从机节点未获取从机总线地址的情况下,从机节点的物理地址是其识别从机节点的唯一标记。物理地址可以是MAC地址,由6个字节组成。
S300、所述主机节点根据所述广播消息中的从机节点物理地址和网络连接状态,为所述从机节点配置目标主机总线地址和从机总线地址。
其中,为所述从机节点配置目标主机总线地址和从机总线地址的过程包括:
所述主机节点从所述广播消息中获取从机节点物理地址和网络连接状态,并对所述网络连接状态进行识别。
识别的内容包括:
所述主机节点按照目标主机总线地址是否配置、从机总线地址是否配置、以及网络是否连接的顺序获取识别结果。
识别的结果包括如下几种:
目标总线地址未配置,从机总线地址未配置,网络未连接;
目标总线地址已配置,从机总线地址未配置,网络未连接;
目标总线地址已配置,从机总线地址已配置,网络未连接;
目标总线地址已配置,从机总线地址已配置,网络已连接。
所述主机节点根据识别结果产生配置指令,广播或单播发送给所述从机节点,以指示所述从机节点根据所述配置指令进行配置和更改网络连接状态。从机节点可以根据配置指令的指令类型确定应进行何种配置。
根据上述的识别结果产生对应的配置指令,最终期望从机节点利用该配置指令达到从机节点的目标主机节点总线地址与其自身的总线地址已配置,从机节点与主机节点正常点对点连接的效果。
此外,所述主机节点按照目标主机总线地址是否配置、从机总线地址是否配置、以及网络是否连接的顺序获取识别结果之后,还包括:
所述主机节点根据识别结果将所述从机节点的网络连接状态记录至从机节点管理列表中。
其中,主机建立从机管理列表的目的在于,通过控制与所述主机节点通信的从机节点的数量,监听所述主机节点的CAN总线地址,管理从机节点的物理地址和CAN总线地址。
S400、所述主机节点根据所述从机总线地址和网络连接状态与所述从机节点进行点对点通信。
当主机节点与从机节点可以进行点对点通信之后,所述从机总线地址和网络连接状态与所述从机节点进行点对点通信包括:
所述主机节点接收外部接口发送至从机节点的数据;
所述主机节点根据所述从机节点的网路连接状态和从机总线地址,将所述数据点对点发送至所述从机节点。
例如:当需要完成从机节点与外部装置之间数据传输的时候,主机会利用其外部数据接口接收外部装置中的待发数据,并利用其与从机节点之间的点对点通信将数据传输至从机节点。
本发明实施例一提出了一种CAN总线的主从机串行通信方法,通过主机节点监听CAN总线,获取从机节点发送的广播消息,并以此配置目标主机总线及从机总线地址,最终通过从机总线地址与网络连接状态实现与从机节点的点对点通信,并进一步实现从机节点与外部装置的数据传输,进而克服了现有CAN总线通信方式中,需要大量数据节点来处理数据,并由此带来的数据拥堵的问题。
实施例二:
本发明实施例二是在实施例一的基础上,进一步指出:所述主机节点根据识别结果产生配置指令,广播发送给所述从机节点,以指示所述从机节点根据所述配置指令进行配置和更改网络连接状态包括:
如果识别到所述网络连接状态为目标主机总线地址未配置,则所述主机节点产生目标主机总线地址配置指令,将本地的主机总线地址和所述从机节点的物理地址添加到所述目标主机总线地址配置指令中,进行广播发送。
主机节点通过从机节点管理列表监听整个CAN网络总线数据,进而获取从机节点的广播消息。这个广播消息包括从机节点的物理地址和网络连接状态。其中,若监听到网络连接状态中的目标主机总线地址未配置,主机节点将其已配置的主机总线地址以及从机节点的物理地址配置成相应的配置指令,并将该指令以广播的形式发送至CAN总线。
接收到广播配置指令的从机节点,如果识别到所述物理地址与本地物理地址匹配,则将所述目标主机总线地址配置指令中的主机总线地址配置为本地的目标主机总线地址,并将本地网络连接状态变更为目标主机总线地址已配置。
多个从机节点通过CAN总线接收配置指令,并将配置指令中的物理地址与从机节点的物理地址进行匹配。一旦匹配成功,则说明此从机节点与配置指令相对应,则将配置指令中的主机总线地址配置为目标主机的总线地址。同时从机节点将其网络连接状态消息修改为目标主机总线地址已配置。
在目标主机总线地址已配置的基础上,主机节点根据识别结果产生配置指令,广播发送给所述从机节点,以指示所述从机节点根据所述配置指令进行配置和更改网络连接状态包括:
如果识别到所述网络连接状态为从机总线地址未配置,则所述主机节点产生从机总线地址配置指令,在从机总线地址池中提取从机总线地址,与所述从机节点的物理地址一起添加到所述从机总线地址配置指令中,进行广播发送。
若监听到网络连接状态中的从机总线地址未配置,主机节点会从已配置的从机总线地址池中选取相应的从机总线地址,由于地址池从机节点可分配的有效地址范围,因此可任意选取其中地址。之后,主机节点将选中的从机总线地址以及从机节点的物理地址配置成相应的配置指令,并将该指令以广播的形式发送至CAN总线。
接收到广播配置指令的从机节点,如果识别到所述物理地址与本地物理地址匹配,则将所述从机总线地址配置指令中的从机总线地址配置为本地的从机总线地址,并将本地网络连接状态变更为从机总线地址已配置。
多个从机节点通过CAN总线接收配置指令,并将配置指令中的物理地址与从机节点的物理地址进行匹配。一旦匹配成功,则说明此从机节点与配置指令相对应,则将配置指令中的从机总线地址配置为本地从机总线地址。同时从机节点将其网络连接状态消息修改为从机总线地址已配置。
需要说明的是,从机节点根据所述配置指令进行配置和更改网络连接状态包括:
如果识别到所述网络连接状态为网络未连接,则所述主机节点从所述广播消息中获取所述从机节点的从机总线地址,并配置网络连接指令,将所述从机节点的从机总线地址添加至所述配置网络连接指令中,单播发送给所述从机节点。
也就是说,在初始状态下,从机节点接入CAN总线,并向其发送带有网络连接状态的广播消息,如果其中的网络状态为网络未连接并假定从机总线地址已配置的情况下,主机节点利用广播消息中的从机总线地址配置网络连接指令,并将从机总线地址包含其中,以单播的形式发给从机节点。
所述从机节点接收所述配置网络连接指令,将本地的网络连接状态变更为网络已连接。
还需要指出的是,从机节点需要首先配置目标主机总线地址,否则接入CAN总线后将无法实现监听CAN总线。
本发明实施例二提出的一种CAN总线的主从机串行通信方法中包括从机节点的目标总线地址未配置、从机总线地址未配置以及网络连接状态未连接的三种网络连接状态,通过主机节点产生相应的配置指令或连接指令,进而实现了主机节点与从机节点的点对点通信,克服了现有CAN总线通信方式中,需要大量数据节点来处理数据并由此带来的数据拥堵的问题。
上述仅为本发明的较佳实施例及所运用的技术原理。本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由权利要求的范围决定。
Claims (5)
1.一种CAN总线的主从机串行通信方法,其特征在于,包括:
主机节点接入CAN总线,并在主机节点中配置主机总线地址和从机总线地址池;
主机节点监听CAN总线,获取至少一个从机节点发送的广播消息;
所述主机节点从所述广播消息中获取从机节点物理地址和网络连接状态,并对所述网络连接状态进行识别;
所述主机节点按照目标主机总线地址是否配置、从机总线地址是否配置、以及网络是否连接的顺序获取识别结果;
所述主机节点根据识别结果产生配置指令,广播或单播发送给所述从机节点,以指示所述从机节点根据所述配置指令进行配置和更改网络连接状态,包括:如果识别到所述网络连接状态为目标主机总线地址未配置,则所述主机节点产生目标主机总线地址配置指令,将本地的主机总线地址和所述从机节点的物理地址添加到所述目标主机总线地址配置指令中,进行广播发送;接收到广播的所述目标主机总线地址配置指令的从机节点,如果识别到所述物理地址与本地物理地址匹配,则将所述目标主机总线地址配置指令中的主机总线地址配置为本地的目标主机总线地址,并将本地网络连接状态变更为目标主机总线地址已配置;
所述主机节点根据所述从机总线地址和网络连接状态与所述从机节点进行点对点通信。
2.根据权利要求1所述的方法,其特征在于,所述主机节点根据识别结果产生配置指令,广播发送给所述从机节点,以指示所述从机节点根据所述配置指令进行配置和更改网络连接状态包括:
如果识别到所述网络连接状态为从机总线地址未配置,则所述主机节点产生从机总线地址配置指令,在从机总线地址池中提取从机总线地址,与所述从机节点的物理地址一起添加到所述从机总线地址配置指令中,进行广播发送;
接收到广播的所述从机总线地址配置指令的从机节点,如果识别到所述物理地址与本地物理地址匹配,则将所述从机总线地址配置指令中的从机总线地址配置为本地的从机总线地址,并将本地网络连接状态变更为从机总线地址已配置。
3.根据权利要求1所述的方法,其特征在于,所述主机节点根据识别结果产生配置指令,单播发送给所述从机节点,以指示所述从机节点根据所述配置指令进行配置和更改网络连接状态包括:
如果识别到所述网络连接状态为网络未连接,则所述主机节点从所述广播消息中获取所述从机节点的从机总线地址,并配置网络连接指令,将所述从机节点的从机总线地址添加至所述网络连接指令中,单播发送给所述从机节点;
所述从机节点接收所述网络连接指令,将本地的网络连接状态变更为网络已连接。
4.根据权利要求1所述的方法,其特征在于,所述主机节点按照目标主机总线地址是否配置、从机总线地址是否配置、以及网络是否连接的顺序获取识别结果之后,还包括:
所述主机节点根据识别结果将所述从机节点的网络连接状态记录至从机节点管理列表中。
5.根据权利要求1所述的方法,其特征在于,所述主机节点根据所述从机总线地址和网络连接状态与所述从机节点进行点对点通信包括:
所述主机节点接收外部接口发送至从机节点的数据;
所述主机节点根据所述从机节点的网路连接状态和从机总线地址,将所述数据点对点发送至所述从机节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510670674.7A CN105389278B (zh) | 2015-10-13 | 2015-10-13 | 一种基于can总线的主从机串行通信方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510670674.7A CN105389278B (zh) | 2015-10-13 | 2015-10-13 | 一种基于can总线的主从机串行通信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105389278A CN105389278A (zh) | 2016-03-09 |
CN105389278B true CN105389278B (zh) | 2018-06-12 |
Family
ID=55421579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510670674.7A Active CN105389278B (zh) | 2015-10-13 | 2015-10-13 | 一种基于can总线的主从机串行通信方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105389278B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107786403A (zh) * | 2016-08-31 | 2018-03-09 | 常州太平通讯科技有限公司 | 用于多从机设备间突发与并发传输的通讯处理方法 |
CN106802832B (zh) * | 2017-01-06 | 2020-04-17 | 网易(杭州)网络有限公司 | Jenkins节点状态管理方法及装置 |
CN109799737A (zh) * | 2017-11-16 | 2019-05-24 | 长沙闽壹湖电子科技有限责任公司 | 一种基于can总线的主从机通信***设计 |
CN111597123B (zh) * | 2020-04-08 | 2023-05-02 | 广东开利暖通空调股份有限公司 | 自动分配地址方法、装置、计算机设备和存储介质 |
CN112579490A (zh) * | 2020-12-21 | 2021-03-30 | 太原智林信息技术股份有限公司 | 一种可编程电子积木连接总线 |
CN113395198B (zh) * | 2021-06-16 | 2022-12-27 | 广州极飞科技股份有限公司 | 设备的组网方法及装置、数据传输*** |
CN114265352A (zh) * | 2021-12-22 | 2022-04-01 | 深圳埃瑞斯瓦特新能源有限公司 | 一种can总线id的自动配置***及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1677945A (zh) * | 2004-03-31 | 2005-10-05 | 联想(北京)有限公司 | 一种主从模式的多地址通信方法 |
CN101763333A (zh) * | 2008-12-08 | 2010-06-30 | 北京谊安医疗***股份有限公司 | 总线控制器及实现多主机通信的方法 |
CN101852472A (zh) * | 2009-04-01 | 2010-10-06 | 欧威尔空调(中国)有限公司 | 一种空调***自动编址的方法和空调控制器 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102023945B (zh) * | 2009-09-22 | 2012-03-28 | 鸿富锦精密工业(深圳)有限公司 | 基于串行***设备接口总线的设备及其数据传输方法 |
-
2015
- 2015-10-13 CN CN201510670674.7A patent/CN105389278B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1677945A (zh) * | 2004-03-31 | 2005-10-05 | 联想(北京)有限公司 | 一种主从模式的多地址通信方法 |
CN101763333A (zh) * | 2008-12-08 | 2010-06-30 | 北京谊安医疗***股份有限公司 | 总线控制器及实现多主机通信的方法 |
CN101852472A (zh) * | 2009-04-01 | 2010-10-06 | 欧威尔空调(中国)有限公司 | 一种空调***自动编址的方法和空调控制器 |
Also Published As
Publication number | Publication date |
---|---|
CN105389278A (zh) | 2016-03-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105389278B (zh) | 一种基于can总线的主从机串行通信方法 | |
CN103248526B (zh) | 实现带外监控管理的通信设备、方法 | |
CN105577420B (zh) | 自动产生伺服器网络拓扑的方法与*** | |
CN104901858A (zh) | 一种基于can总线的***通信方法 | |
CN105100142A (zh) | 软件定义网络协议报文的传输控制方法及装置 | |
CN104937896A (zh) | 地址解析协议消息的处理方法和转发器、控制器 | |
CN106982222A (zh) | 一种工业4.0环境下可配置的多协议数据接入方法及装置 | |
CN102780602B (zh) | 一种数据传输方法及装置 | |
JP2017229051A (ja) | 工業インターネット現場におけるブロードバンドバスの設定管理の実現方法 | |
CN105704256B (zh) | 一种ip地址管理方法、装置和*** | |
CN103929377A (zh) | 一种有线网络与无线网络联合调度方法、相关设备及*** | |
CN107124481B (zh) | 一种knx组地址的配置方法、***及设备 | |
CN105049312A (zh) | 工业控制环网***及其组网方法 | |
CN209962605U (zh) | Led显示屏及显示*** | |
CN107205059A (zh) | 管理表计设备地址的方法、采集终端和表计设备 | |
CN109032704A (zh) | 一种数据处理的方法和设备 | |
CN112235325B (zh) | 一种对与智能终端相连接的功能模组进行访问控制的方法及*** | |
US20090240859A1 (en) | Automatic address setting system | |
CN105681229B (zh) | 扩展端口编号的方法及交换机 | |
CN104699649A (zh) | 一种多分支串行总线接口及数据交换方法 | |
CN104780120A (zh) | 一种局域网中文件传输的方法和装置 | |
CN105897936B (zh) | 基于工业互联网的控制配置信息的处理方法、装置及*** | |
CN104853447A (zh) | 一种数据信息处理方法和装置 | |
CN104104594B (zh) | Vsu的协议报文发送与接收方法、设备及*** | |
CN109617817A (zh) | 一种mlag组网的转发表项的生成方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210521 Address after: 523000 room 805, unit 2, building 1, No.2, headquarters 2nd Road, Songshanhu Park, Dongguan City, Guangdong Province Patentee after: Guangdong Kedi Intelligent Engineering Co., Ltd Address before: 523000 Building 1, Caiyi Plaza, Dongcheng Science Park, Dongcheng District, Dongguan City, Guangdong Province Patentee before: GUANGDONG TRI-SUN ELECTRONICS TECHNOLOGY Co.,Ltd. |
|
TR01 | Transfer of patent right |