一种一主多从通信的实现方法与流程

文档序号:15281168发布日期:2018-08-28 23:33阅读:2469来源:国知局

本发明涉及多节点通信领域,具体涉及一种一主多从通信的实现方法。



背景技术:

目前,多节点通信系统已广泛用于仓库通信、电视监控、机器人焊接、考勤机、水表集抄、高速公路收费、脉冲功率装置、数据采集和工业控制等诸多应用场合。

网络拓扑结构是指网络中各个站点相互连接的形式,常用的拓扑结构有总线型拓扑、星型拓扑、环形拓扑以及基于上述拓扑的混合型拓扑,总线型拓扑将所有工作节点都连在称为总线的一条公共线缆上,且总线两端必须有终端节点;星型拓扑则以一台设备作为中央连接点,各工作站都与它直接相连形成星型;环形拓扑将所有站点彼此串行连接,像链条一样构成一个环形回路。

在智能光配线系统中,主控管理单元与熔配盘管理单元构成一主多从的通信结构,目前均以总线型拓扑的组网方式实现各个节点之间的通信,该组网方式结构简单、布线容易,但所有数据均需要经过总线传送,一旦总线上所挂接的节点数目较多,则总线会成为整个网络的瓶颈,且出现故障后的诊断较为困难。

综上所述,现有的智能光配线系统中的一主多从通信结构存在以下缺点:

(1)总线负荷过大;

(2)故障的诊断和排除较为困难。



技术实现要素:

本发明所要解决的技术问题是现有的智能光配线系统中的一主多从通信结构总线负荷过大,故障的诊断和排除较为困难的问题。

为了解决上述技术问题,本发明所采用的技术方案是提供一种一主多从通信的实现方法,包括以下步骤:

为主节点设置下行接口,为主节点下的每个从节点设置一组通信接口,分别为第一、第二接口,每个第一、第二接口均包括发送端口和接收端口,每个从节点通过发送、接收端口实现与上、下行节点的全双工通信;

主节点向指定的从节点发送相应指令,从节点根据接收到的指令中的数据包做相应处理。

在上述技术方案中,

所述第一接口的接收端口连接上行节点,所述第一接口的发送端口连接下行节点;

所述第二接口的接收端口连接下行节点,所述第二接口的发送端口连接上行节点。

在上述技术方案中,主节点向指定的从节点发送相应指令,从节点根据接收到的指令中的数据包做相应处理具体包括以下步骤:

当系统首次上电后,主节点通过下行接口依次发送地址分配指令到指定从节点进行地址分配;

各从节点接收到地址分配指令后,首先检测自身是否已设置地址,若已设置,则直接通过发送端口将地址分配指令转发到下行节点;若未设置,则直接将地址分配指令中的数据包携带的地址信息作为自身地址进行存储。

在上述技术方案中,所述从节点向所述主节点返回地址设置结果的应答消息,所述主节点根据接收到的应答消息更新所述数据包携带的地址信息,并通过下行端口依次向下行节点发送地址分配指令。

在上述技术方案中,地址分配完毕后,当从节点接收到上行端口下发的数据包时,对数据包携带的地址信息进行判断,若该地址信息与自身地址一致,则直接对数据包中的数据进行处理;否则,直接通过下行端口将该数据包转发到下行节点。

在上述技术方案中,每个所述从节点中的所述第一接口和第二接口均设有发送和接收数据的数据缓存区,所述数据缓存区用于存储所述从节点的自身数据和接收到的上行端口下发的数据。

在上述技术方案中,所述主节点向所有从节点发送广播数据包,所述从节点对接收到的所述广播数据包进行相应处理,并通过下行端口将所述广播数据包转发到下行节点。

本发明为主节点下的每个从节点设置一组通信接口,分别为第一、第二接口,每个第一、第二接口均包括发送端口和接收端口,每个从节点通过发送、接收端口实现与上、下行节点的全双工通信,网络搭建方法简单,各节点之间的数据传递更加简便,解决了总线负荷过大、故障诊断和排除困难的问题,通信稳定性高,适于大规模推广。

附图说明

图1为本发明中一种一主多从通信的实现方法流程图;

图2为本发明中从节点的发送端口和接收端口的走向示意图;

图3为本发明中从节点内部数据缓存区的工作原理示意图。

具体实施方式

本发明提供了一种一主多从通信的实现方法,采用链型网络,网络搭建方法简单,各节点之间的数据传递更加简便,解决了总线负荷过大、故障诊断和排除困难以及总线数据冲突导致的接收误码问题,大大降低了数据误码率,通信稳定性高,适于大规模推广。

下面结合说明书附图和具体实施方式对本发明做出详细的说明。

本发明实施例提供了一种一主多从通信的实现方法,如图1所示,包括以下步骤:

s1、为网络中的主节点(网络的首节点)设置下行接口,为主节点下的每个从节点均设置一组通信接口,分别为第一接口和第二接口,每个第一接口和第二接口均包括发送端口和接收端口,每个从节点可独立实现数据的发送和接收,还可通过发送端口和接收端口实现与上行节点和下行节点的全双工通信。

如图2所示,第一接口的接收端口连接上行节点,第一接口的发送端口连接下行节点;第二接口的接收端口连接下行节点,第二接口的发送端口连接上行节点,各个节点之间形成手挽手的链型网络,链型网络中的数据在各个节点之间依次传递。

s2、主节点向指定的从节点发送相应指令,从节点根据接收到的指令中的数据包做相应处理。

如图3所示,每个从节点中的第一接口和第二接口均设有发送和接收数据的数据缓存区,用于存储从节点的自身数据和接收到的上行端口下发的数据(转发数据),通过数据缓存区的暂存,使数据的处理在时间上形成先后次序,依次处理,当从节点的自身数据和转发数据需要同时处理,避免了数据冲突导致的接收误码问题,大大降低了误码率。

步骤s2具体包括以下步骤:

当系统首次上电后,主节点通过下行接口依次发送地址分配指令到指定从节点进行地址分配;与主节点相连的第一个从节点接收到地址分配指令后,首先检测自身是否已设置地址,若已设置,则直接通过发送端口将地址分配指令转发到与其连接的下行节点;若尚未设置地址,则直接将地址分配指令中的数据包携带的地址信息作为自身地址进行存储,并向主节点返回地址设置结果的应答消息,主节点根据接收到的应答消息更新数据包携带的地址信息,并通过下行端口依次向下行节点发送地址分配指令。

地址分配完毕后,当从节点接收到上行端口下发的数据包时,先将指令中的数据包存入数据缓存区中,再对数据包中携带的地址信息进行判断;若该地址信息与当前节点的地址一致,则直接对数据包中的数据进行处理;否则,直接通过下行端口将该指令转发到下行节点。

从节点需要向外主动发送的数据与待转发数据(上行端口下发的数据)均置于数据缓存区中,再根据节点内部的发送指令将数据缓存区中的数据依次发出,从而避免采用总线通信时,两个不同的节点需要同时向外发送数据时,造成总线数据冲突而导致数据误码的问题。

对于主节点,除可以向特定的从节点发送数据包外,还可以发送所有从节点均需要处理的广播数据包,从节点在接收到广播数据包之后,除提交到节点内部进行处理外,同时将该数据包通过下行端口转发到下行节点,通过这样逐级传递,最终保证所有从节点均可接收到主节点发送的广播数据。

本发明不局限于上述最佳实施方式,任何人在本发明的启示下作出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1