一种基于CAN总线的主从机串行通信方法技术

技术编号:12996436 阅读:75 留言:0更新日期:2016-03-10 11:13
本发明专利技术公开了一种CAN总线的主从机串行通信方法,包括:主机节点接入CAN总线,并在主机节点中配置主机总线地址和从机总线地址池;主机节点监听CAN总线,获取至少一个从机节点发送的广播消息;所述主机节点根据所述广播消息中的从机节点物理地址和网络连接状态,为所述从机节点配置目标主机总线地址和从机总线地址;所述主机节点根据所述从机总线地址和网络连接状态与所述从机节点进行点对点通信。本发明专利技术所述的一种CAN总线的主从机串行通信方法,通过实现主机节点与从机节点间的串行通信,解决了现有CAN总线通信方式中,需要大量数据节点并由此带来的数据拥堵的问题。

【技术实现步骤摘要】

本专利技术涉及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总线,获取至少一个从机节点发送的广播消息;所述主机节点根据所述广播消息中的从机节点物理地址和网络连接状态,为所述从机节点配置目标主机总线地址和从机总线地址;所述主机节点根据所述从机总线地址和网络连接状态与所述从机节点进行点对点通信。

【技术特征摘要】

【专利技术属性】
技术研发人员:赵诚陈君宏
申请(专利权)人:广东聚光电子科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1