CN112738176B - 一种有线通信总线通信方法及系统 - Google Patents
一种有线通信总线通信方法及系统 Download PDFInfo
- Publication number
- CN112738176B CN112738176B CN202011540311.9A CN202011540311A CN112738176B CN 112738176 B CN112738176 B CN 112738176B CN 202011540311 A CN202011540311 A CN 202011540311A CN 112738176 B CN112738176 B CN 112738176B
- Authority
- CN
- China
- Prior art keywords
- link layer
- bus
- communication
- control right
- preset
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/324—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the data link layer [OSI layer 2], e.g. HDLC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/40—Bus networks
- H04L12/40006—Architecture of a communication node
Abstract
本发明公开了一种有线通信总线通信方法及系统。本发明通过在通信设备的链路层设置协议栈、并进行协议栈角色配置,配置相应的链路层轮值主机、链路层从机;通过链路层轮值主机分配总线使用控制权以及预设总线可用流量,并控制获取总线使用控制权的链路层从机所对应的通信设备基于所述预设总线可用流量发送数据,并在预设总线可用流量使用完毕后收回总线使用控制权;各通信设备使用流量可控,所有通信设备使用总线使用控制权的时间可预期,可以实现通信系统稳定高效;且获取总线使用控制权的通信设备均可快速主动发起与网络内任一其它通信设备之间的通信。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种可实现无主对等网络组网的有线通信总线通信方法及系统。
背景技术
现有的有线通信总线(例如RS485、RS422或用光耦隔离的普通串口通信)一般只能进行主从式通信,即必须存在一个主机设备,其它设备为从设备,通信时必须由主机来主动发起通信。这种通信方式操作以下问题:系统稳定性差,一旦主机故障,则会造成整个通信网络瘫痪;效率较低,当从机需要发起通信时必须等待主机来分配通信时序;通信往往在主机和某个从机之间,从机与从机之间必须通过主机才能通信,两台从机一般无法直接通信,造成通信线路和时间浪费。
无主机的对等网络通信总线(例如CAN等)通信效率高,但其一般需要专门的硬件模块来实现,造成成本价格也较高。这类通信总线也容易出现稳定性问题,例如,当通信总线被优先级高的设备取得控制权限后,何时释放总线控制权限无法预期,即流量不可控。且对已存在的主从有线通信系统,现场一般无法无损改造。
发明内容
本发明的目的在于,针对现有技术存在的问题,提供一种有线通信总线通信方法及系统,可以实现各通信设备使用流量可控,所有通信设备使用总线使用控制权的时间受限制可预期,通信系统稳定高效。
为实现上述目的,本发明提供了一种有线通信总线通信方法,所述方法包括以下步骤:在连接至有线通信总线的多个通信设备的链路层设置协议栈,以使所述链路层通过所述协议栈连接相应通信设备的应用层进而访问所述有线通信总线;采用预设配置规则将所述多个通信设备的其中之一的协议栈角色配置为链路层轮值主机,并将所述多个通信设备中的其它通信设备的协议栈角色配置为链路层从机;通过所述链路层轮值主机采用预设分配规则发送分配总线使用控制权以及预设总线可用流量的控制消息至各所述链路层从机;通过所述链路层轮值主机控制获取所述总线使用控制权的链路层从机所对应的通信设备,基于所述预设总线可用流量向目标通信设备发送数据。
进一步地,所述方法进一步包括:在判定协议栈角色为所述链路层轮值主机的通信设备发生故障时,通过所述预设配置规则选择一非故障通信设备,并将其协议栈角色配置为链路层轮值主机。
进一步地,所述预设配置规则为:连接至所述有线通信总线的通信设备,向所述有线通信总线发送链路层轮值主机角色竞选的报名消息并设置第一等待时间,其中,所述报名消息中携带有本机地址和竞选标记;判断在所述第一等待时间内当前通信设备是否接收到其它通信设备发送的反馈消息;若在所述第一等待时间内收到其它通信设备发送的反馈消息,则退出链路层轮值主机角色竞选;若在所述第一等待时间内未收到其它通信设备发送的反馈消息,则所述当前通信设备向所述有线通信总线发送链路层轮值主机角色确认消息并设置第二等待时间;在所述第二等待时间结束后,将所述当前通信设备作为竞选出的通信设备,并将其协议栈角色配置为链路层轮值主机。
进一步地,所述方法进一步包括:判断在预设超时时间后,协议栈角色为链路层从机的当前通信设备是否接收到所述控制消息;若在预设超时时间后所述当前通信设备未接收到所述控制消息,则判定协议栈角色为所述链路层轮值主机的通信设备发生故障,将所述当前通信设备由正常工作状态切换至异常工作状态;在预设延时后,所述当前通信设备向所述有线通信总线发送链路层轮值主机角色竞选的报名消息,参与链路层轮值主机角色竞选。
进一步地,所述预设分配规则为根据各所述链路层从机的本机地址的排列顺序,依次分配所述总线使用控制权以及预设总线可用流量。
进一步地,所述的通过所述链路层轮值主机采用预设分配规则发送分配总线使用控制权以及预设总线可用流量的控制消息至各所述链路层从机的步骤进一步包括:所述链路层轮值主机根据各所述链路层从机的本机地址的排列顺序,将所述总线使用控制权分配给当前链路层从机、并询问所述当前链路层从机是否有数据发送;所述链路层轮值主机在接收到所述当前链路层从机反馈的无数据发送消息时,收回所述总线使用控制权,进而将所述总线使用控制权分配给下一个链路层从机;所述链路层轮值主机在接收到所述当前链路层从机反馈的有数据发送消息时,将所述预设总线可用流量分配给所述当前链路层从机,并在所述当前链路层从机将所述预设总线可用流量使用完毕时,收回所述总线使用控制权,进而将所述总线使用控制权分配给下一个链路层从机。
可选地,每一所述链路层从机所分配得到的预设总线可用流量相同。
进一步地,所述的通过所述链路层轮值主机控制获取所述总线使用控制权的链路层从机所对应的通信设备,基于所述预设总线可用流量向目标通信设备发送数据的步骤进一步包括:计算获取所述总线使用控制权的链路层从机所对应的通信设备已发送数据的当前已用流量;判断所述当前已用流量是否达到所述预设总线可用流量;若所述当前已用流量达到所述预设总线可用流量,则所述链路层轮值主机收回所述总线使用控制权;若所述当前已用流量未达到所述预设总线可用流量,则判断数据发送是否完成;若数据发送完成,则所述链路层轮值主机收回所述总线使用控制权。
进一步地,所述方法进一步包括:当所述当前已用流量达到所述预设总线可用流量而数据发送未完成时,在获取所述总线使用控制权的链路层从机中设置发送中断标记,以使其在下一次获取所述总线使用控制权时,根据所述发送中断标记继续发送剩余数据。
进一步地,所述目标通信设备为连接至所述有线通信总线的除获取所述总线使用控制权的链路层从机所对应的通信设备以外的任意通信设备。
为实现上述目的,本发明还提供了一种有线通信总线通信系统,所述系统包括:多个通信设备,所述多个通信设备连接至有线通信总线;所述多个通信设备之间采用如本发明所述的有线通信总线通信方法进行通信。
本发明的优点在于:各通信设备使用流量可控,所有通信设备使用总线使用控制权的时间可预期,可以实现通信系统稳定高效;且获取总线使用控制权的通信设备均可快速主动发起与网络内任一其它通信设备之间的通信。通过配置链路层轮值主机、链路层从机,可快速高效无损改造已有的主从式通信总线为无主对等网络通信总线,且实现成本低。可以通过软件协议栈形式实现协议栈的角色配置,也可以直接配置通信硬件模组,通过该通信硬件模组,使用者可以自行设计无主对等网络通信总线。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本发明第一实施例提供的有线通信总线通信方法的流程图;
图2为本发明链路层轮值主机角色竞选一实施例的流程图;
图3为本发明总线使用控制权分配一实施例的流程图;
图4为本发明链路层轮值主机收回总线使用控制权一实施例的流程图;
图5为本发明第二实施例提供的有线通信总线通信系统的架构图;
图6为本发明协议栈实现一实施例的交互图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出。下面通过参阅附图描述的实施方式是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。在本发明的描述中,术语“第一”、“第二”仅用于将多个元件彼此区分开,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
请参阅图1,其为本发明第一实施例提供的有线通信总线通信方法的流程图。所述方法包括以下步骤:S1、在连接至有线通信总线的多个通信设备的链路层设置协议栈,以使所述链路层通过所述协议栈连接相应通信设备的应用层进而访问所述有线通信总线;S2、采用预设配置规则将所述多个通信设备的其中之一的协议栈角色配置为链路层轮值主机,并将所述多个通信设备中的其它通信设备的协议栈角色配置为链路层从机;S3、通过所述链路层轮值主机采用预设分配规则发送分配总线使用控制权以及预设总线可用流量的控制消息至各所述链路层从机;S4、通过所述链路层轮值主机控制获取所述总线使用控制权的链路层从机所对应的通信设备,基于所述预设总线可用流量向目标通信设备发送数据。以下给出详细解释说明。
关于步骤S1、在连接至有线通信总线的多个通信设备的链路层设置协议栈,以使所述链路层通过所述协议栈连接相应通信设备的应用层进而访问所述有线通信总线。
具体地,通信设备包括应用层(主MCU)和链路层,所述链路层设置有协议栈(Protocol Stack)。所述链路层通过所述协议栈连接相应通信设备的上层应用层进而访问有线通信总线。连接至有线通信总线的所有所述通信设备的应用层角色对等;通过在链路层对协议栈进行角色配置,可以将相应通信设备的协议栈配置为链路层轮值主机角色或链路层从机角色。协议栈是网络中各层协议的总和,其反映了一个网络中文件传输的过程:由上层协议到底层协议,再由底层协议到上层协议所述协议栈的角色配置实现机制,既可以是软件协议栈形式,也可以形成通信硬件模组形式。使用者(上层应用层)可以通过软件接口调用方式对软件协议栈直接调用,或者通过与通信硬件模组通信,从而实现无主对等网络组网。
关于步骤S2、采用预设配置规则将所述多个通信设备的其中之一的协议栈角色配置为链路层轮值主机,并将所述多个通信设备中的其它通信设备的协议栈角色配置为链路层从机。
所述预设配置规则可以为通过链路层轮值主机角色竞选方式选择一通信设备,并将其协议栈角色配置为链路层轮值主机;也可以采用随机选择或根据各通信设备的本机地址选择地址排序靠前的通信设备的方式,选择链路层轮值主机。
进一步的实施例中,采用链路层轮值主机角色竞选方式的所述预设配置规则为:S21、连接至有线通信总线的通信设备,向所述有线通信总线发送链路层轮值主机角色竞选的报名消息并设置第一等待时间;其中,所述报名消息中携带有本机地址和竞选标记,报名消息的目的地址是特定的组播地址(即,连接至所述有线通信总线的通信设备可以接收到)。S22、判断在所述第一等待时间内当前通信设备是否接收到其它通信设备发送的反馈消息,若是,则执行步骤S23,否则执行步骤S24。S23、退出链路层轮值主机角色竞选。S24、所述当前通信设备向所述有线通信总线发送链路层轮值主机角色确认消息并设置第二等待时间。S25、在所述第二等待时间结束后,将所述当前通信设备作为竞选出的通信设备。具体链路层轮值主机角色竞选流程图如图2所示。其中,所述第一等待时间与所述第二等待时间可以相同,并大于预设时间阈值。所述预设时间阈值可根据连接至有线通信总线的通信设备总数量而定,以充分等待接收其它通信设备发送的反馈消息。其中,其它通信设备发送的反馈消息包括其它通信设备发送的报名消息(即存在通信设备已在先发送报名消息),或在已确定链路层轮值主机时,由链路层轮值主机回复的拒绝其参与竞选的消息(消息内容可根据实际设计需要配置,可以让接收该消息的通信设备知悉其报名消息被拒从而主动退出链路层轮值主机角色竞选即可)。
具体地,在系统刚启动时,连接至所述有线通信总线的所有通信设备都可以向所述有线通信总线发送报名消息参与竞选链路层轮值主机角色,并在发送报名消息同时设置等待时间;若某一通信设备在其设置的等待时间内收到其它通信设备发送的报名消息则主动退出竞选;在有通信设备退出竞选时,可能仍剩下多个通信设备没有收到其它通信设备发送的报名消息(即没有退出竞选);剩下的多个通信设备会继续等待,并在其设置的等待时间结束且未收到其它通信设备发送的报名消息时,发送角色确认消息并继续等待一段时间后,没有收到其它通信设备发送的报名消息,则认为本机被选中为链路层轮值主机。若通信设备发送角色确认消息后,在其设置的等待时间内,收到其它通信设备发送的报名消息,也主动退出竞选。通过上述步骤,最终只有一个参与竞选链路层轮值主机角色的通信设备在持续一段时间后(大于两次预设等待时间之和),没有收到其它通信设备发送的反馈消息,从而竞选出一个通信设备,进而将其协议栈角色配置为链路层轮值主机。
关于步骤S3、通过所述链路层轮值主机采用预设分配规则发送分配总线使用控制权以及预设总线可用流量的控制消息至各所述链路层从机。控制消息涉及的通信交互(链路层内部控制协议)可根据实际设计需要配置,从而实现分配需求。
所述预设分配规则可以为根据各所述链路层从机的本机地址的排列顺序,依次分配所述总线使用控制权以及预设总线可用流量。默认排列顺序为从地址1至最大地址,其中最大地址可配置。可以根据各所述链路层从机对应的通信设备的通信频率,将通信频率较高的通信设备对应的本机地址排序靠前,从而可以优先被分配总线使用控制权。需要说明的是,本机地址的排列顺序为预先设定,非动态可调,从而各所述链路层从机对应的通信设备均可按顺序获取总线使用控制权,避免出现总线使用控制权被某一或部分通信设备长时间占用,从而可以提高系统稳定性。
进一步的实施例中,步骤S3进一步包括:S31、所述链路层轮值主机根据各所述链路层从机的本机地址的排列顺序,将所述总线使用控制权分配给当前链路层从机、并询问所述当前链路层从机是否有数据发送;S32、所述链路层轮值主机在接收到所述当前链路层从机反馈的无数据发送消息时,收回所述总线使用控制权,进而将所述总线使用控制权分配给下一个链路层从机;S33、所述链路层轮值主机在接收到所述当前链路层从机反馈的有数据发送消息时,将所述预设总线可用流量分配给所述当前链路层从机,并在所述当前链路层从机将所述预设总线可用流量使用完毕时,收回所述总线使用控制权,进而将所述总线使用控制权分配给下一个链路层从机;具体总线使用控制权分配流程图如图3所示。例如,分配开始时,链路层轮值主机先将所述总线使用控制权分配给地址排在第1位的链路层从机、并询问其是否有数据发送;若该链路层从机无数据发送,则链路层轮值主机立即收回总线使用控制权,转而询问下一地址对应的链路层从机;若该链路层从机有数据发送,则链路层轮值主机将预设总线可用流量分配给该链路层从机,并在等待该链路层从机流量使用完毕时,收回总线使用控制权,转而询问下一地址对应的链路层从机。即,由链路层轮值主机来进行总线使用控制权的分配与收回,在链路层轮值主机主动协调干预下,相应链路层从机获取总线使用控制权并进行数据发送。
可选地,每一所述链路层从机所分配得到的预设总线可用流量相同。即,各所述链路层从机对应的通信设备可相对平等的使用所述有线通信总线,进一步避免某一或部分通信设备长时间占用所述有线通信总线,从而可以提高系统稳定性。
关于步骤S4、通过所述链路层轮值主机控制获取所述总线使用控制权的链路层从机所对应的通信设备,基于所述预设总线可用流量向目标通信设备发送数据。其中,获取所述总线使用控制权的链路层从机所对应的通信设备作为发送方通信设备,所述目标通信设备可以为连接至所述有线通信总线的除所述发送方通信设备以外的任意通信设备;即当链路层从机取得所述总线使用控制权时,将只有其对应的通信设备才有权限可以向所述有线通信总线发送消息,其所发送的消息可以发送给连接至所述有线通信总线的任何其它通信设备。其中,向目标通信设备发送数据为数据帧,控制信令不计入当前已用流量。
进一步的实施例中,步骤S4进一步包括:S41、计算获取所述总线使用控制权的链路层从机所对应的通信设备已发送数据的当前已用流量。S42、判断所述当前已用流量是否达到所述预设总线可用流量,若是,则执行步骤S43,否则执行步骤S44。S43、链路层轮值主机收回所述总线使用控制权。S44、判断数据发送是否完成,若是,则执行步骤S43,否则返回执行步骤S41。具体链路层轮值主机收回总线使用控制权流程图如图4所示。即,在获取所述总线使用控制权的链路层从机所对应的通信设备将所述预设总线可用流量使用完毕,所述链路层轮值主机会将所述总线使用控制权收回。优选地,在所述预设总线可用流量使用完毕之前,获取所述总线使用控制权的链路层从机所对应的通信设备所需发送的数据已发送完毕,则所述链路层轮值主机可以提前将所述总线使用控制权收回,从而提高网络利用率。其中,将所述总线使用控制权收回涉及的通信交互(链路层内部控制协议)可根据实际设计需要配置,从而实现总线使用控制权收回需求。
进一步的实施例中,所述方法进一步包括:在所述当前已用流量达到所述预设总线可用流量而数据发送未完成时,设置发送中断标记,并在下一次获取所述总线使用控制权时,根据所述发送中断标记继续执行发送数据操作。即,前述步骤S42与步骤S43之间还可以包括步骤S421~步骤S422:S421、判断数据发送是否完成(同步骤S44),若是,则执行步骤S43(即链路层轮值主机收回所述总线使用控制权),否则执行步骤S422。S422、设置发送中断标记,以在下一次获取所述总线使用控制权时,根据所述发送中断标记继续发送剩余数据;之后执行步骤S43。当获取所述总线使用控制权的链路层从机所对应的通信设备有大量数据需要发送时,通过在分配的预设总线可用流量使用完毕时,对剩余未发送数据(或已发送数据)做标记,以在下一次获取总线使用控制权时继续发送,从而可以分次完成数据的发送,并避免长时间占用有线通信总线,提高系统稳定性。需要说明的是,仅获取所述总线使用控制权的链路层从机所对应的通信设备可以进行数据发送,其它通信设备均可以进行数据接收。
进一步的实施例中,所述方法进一步包括:S5、在判定协议栈角色为所述链路层轮值主机的通信设备发生故障时,通过所述预设配置规则选择一非故障通信设备,并将其协议栈角色配置为链路层轮值主机;进而返回执行步骤S3。判断在预设超时时间后,协议栈角色为链路层从机的当前通信设备是否接收到所述控制消息;若在预设超时时间后所述当前通信设备未接收到所述控制消息,则判定协议栈角色为所述链路层轮值主机的通信设备发生故障。当链路层轮值主机故障时,所有链路层从机将不再收到链路层轮值主机发送的分配总线使用控制权以及预设总线可用流量的控制消息。可以通过链路层轮值主机角色竞选方式选择一通信设备,并将其协议栈角色配置为链路层轮值主机;也可以采用随机选择或根据各通信设备的本机地址选择地址排序靠前的通信设备(故障通信设备的本机地址不在可选择范围内)的方式,选择新的链路层轮值主机。
进一步的实施例中,若某一协议栈角色为链路层从机的通信设备经过预设的超时时间后,没有收到链路层轮值主机发送的控制消息,则该通信设备由正常工作状态切换至异常工作状态,进而可以向所述有线通信总线发送报名消息参与链路层轮值主机角色竞选。具体地,判断在预设超时时间后,协议栈角色为链路层从机的当前通信设备是否接收到所述控制消息;若在预设超时时间后所述当前通信设备未接收到所述控制消息,则判定协议栈角色为所述链路层轮值主机的通信设备发生故障,将所述当前通信设备由正常工作状态切换至异常工作状态;在预设延时(可以为一随机延时)后,所述当前通信设备向所述有线通信总线发送链路层轮值主机角色竞选的报名消息,参与链路层轮值主机角色竞选,链路层轮值主机角色竞选方式可参考图2所示。通过链路层轮值主机角色竞选,最终只有一个参与竞选链路层轮值主机角色的通信设备在持续一段时间后(大于两次预设等待时间之和),没有收到其它通信设备发送的反馈消息,从而竞选出一个通信设备,进而将其协议栈角色配置为链路层轮值主机。通过链路层轮值主机角色竞选,避免了由于链路层轮值主机故障所导致的整个网络通信瘫痪,提高了系统稳定性。
本实施例提供的有线通信总线通信方法,通过在通信设备的链路层设置协议栈、并进行协议栈角色配置,配置相应的链路层轮值主机、链路层从机;通过链路层轮值主机分配总线使用控制权以及预设总线可用流量,并控制获取总线使用控制权的链路层从机所对应的通信设备基于所述预设总线可用流量发送数据,并在预设总线可用流量使用完毕后收回总线使用控制权。本实施例各通信设备使用流量可控,所有通信设备使用总线使用控制权的时间可预期,可以实现通信系统稳定高效;且获取总线使用控制权的通信设备均可快速主动发起与网络内任一其它通信设备之间的通信。且本实施例通过配置链路层轮值主机、链路层从机,可快速高效无损改造已有的主从式通信总线为无主对等网络通信总线、且实现成本低。
基于同一发明构思,本发明还提供了一种有线通信总线通信系统。
请参阅图5,本发明第二实施例提供的有线通信总线通信系统的架构图。本实施例所述的有线通信总线通信系统包括:多个通信设备51以及有线通信总线52;所述多个通信设备51连接至所述有线通信总线52。所述多个通信设备51之间采用如本发明前述的有线通信总线通信方法进行通信。
具体地,所述通信设备51包括应用层(主MCU)和链路层,所述链路层设置有协议栈(Protocol Stack)。所述链路层通过所述协议栈连接相应通信设备的上层应用层进而访问有线通信总线52。连接至所述有线通信总线52的所有所述通信设备51的应用层角色对等;通过在链路层对协议栈进行角色配置,可以将相应所述通信设备51的协议栈配置为链路层轮值主机角色或链路层从机角色。协议栈是网络中各层协议的总和,其反映了一个网络中文件传输的过程:由上层协议到底层协议,再由底层协议到上层协议所述协议栈的角色配置实现机制,既可以是软件协议栈形式,也可以形成通信硬件模组形式。使用者(上层应用层)可以通过软件接口调用方式对软件协议栈直接调用,或者通过与通信硬件模组通信,从而实现无主对等网络组网。
附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件电路或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。未在本实施例中详尽描述的技术细节可参见本发明上述实施例。
请参阅图6,其为本发明协议栈实现一实施例的交互图。在系统刚启动时,通过链路层轮值主机角色竞选方式,在连接至所述有线通信总线的所有通信设备中选出一通信设备,并将其协议栈角色配置为链路层轮值主机,并将其它通信设备的协议栈角色配置为链路层从机。选出的链路层轮值主机,根据各所述链路层从机的本机地址的排列顺序,依次分配总线使用控制权以及预设总线可用流量给相应的链路层从机。例如,链路层轮值主机先将总线使用控制权以及预设总线可用流量分配给排在第一位的链路层从机1。链路层从机1获取总线使用控制权后,其所对应的通信设备作为发送方通信设备即可通过所述有线通信总线向目标通信设备发送数据;目标通信设备可以为连接至所述有线通信总线的除所述发送方通信设备以外的任意通信设备。链路层从机1被分配的预设总线可用流量使用完毕,或在预设总线可用流量使用完毕前数据发送完成,则将总线使用控制权归还至链路层轮值主机。链路层轮值主机再将总线使用控制权以及预设总线可用流量分配给排在第二位的链路层从机2。如此循环,从而各通信设备可以基本均等的使用有线通信总线,且通信系统稳定高效。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (10)
1.一种有线通信总线通信方法,其特征在于,所述方法包括以下步骤:
在连接至有线通信总线的多个通信设备的链路层设置协议栈,以使所述链路层通过所述协议栈连接相应通信设备的应用层进而访问所述有线通信总线;
采用预设配置规则将所述多个通信设备的其中之一的协议栈角色配置为链路层轮值主机,并将所述多个通信设备中的其它通信设备的协议栈角色配置为链路层从机;
通过所述链路层轮值主机采用预设分配规则发送分配总线使用控制权以及预设总线可用流量的控制消息至各所述链路层从机;
通过所述链路层轮值主机控制获取所述总线使用控制权的链路层从机所对应的通信设备,基于所述预设总线可用流量向目标通信设备发送数据;
所述的通过所述链路层轮值主机采用预设分配规则发送分配总线使用控制权以及预设总线可用流量的控制消息至各所述链路层从机的步骤进一步包括:
所述链路层轮值主机根据各所述链路层从机的本机地址的排列顺序,将所述总线使用控制权分配给当前链路层从机、并询问所述当前链路层从机是否有数据发送;
所述链路层轮值主机在接收到所述当前链路层从机反馈的无数据发送消息时,收回所述总线使用控制权,进而将所述总线使用控制权分配给下一个链路层从机;
所述链路层轮值主机在接收到所述当前链路层从机反馈的有数据发送消息时,将所述预设总线可用流量分配给所述当前链路层从机,并在所述当前链路层从机将所述预设总线可用流量使用完毕时,收回所述总线使用控制权,进而将所述总线使用控制权分配给下一个链路层从机。
2.如权利要求1所述的方法,其特征在于,所述方法进一步包括:
在判定协议栈角色为所述链路层轮值主机的通信设备发生故障时,通过所述预设配置规则选择一非故障通信设备,并将其协议栈角色配置为链路层轮值主机。
3.如权利要求1或2所述的方法,其特征在于,所述预设配置规则为:
连接至所述有线通信总线的通信设备,向所述有线通信总线发送链路层轮值主机角色竞选的报名消息并设置第一等待时间,其中,所述报名消息中携带有本机地址和竞选标记;
判断在所述第一等待时间内当前通信设备是否接收到其它通信设备发送的反馈消息;
若在所述第一等待时间内收到其它通信设备发送的反馈消息,则退出链路层轮值主机角色竞选;
若在所述第一等待时间内未收到其它通信设备发送的反馈消息,则所述当前通信设备向所述有线通信总线发送链路层轮值主机角色确认消息并设置第二等待时间;
在所述第二等待时间结束后,将所述当前通信设备作为竞选出的通信设备,并将其协议栈角色配置为链路层轮值主机。
4.如权利要求1或2所述的方法,其特征在于,所述方法进一步包括:
判断在预设超时时间后,协议栈角色为链路层从机的当前通信设备是否接收到所述控制消息;
若在预设超时时间后,协议栈角色为链路层从机的当前通信设备未接收到所述控制消息,则判定协议栈角色为所述链路层轮值主机的当前通信设备发生故障,将所述链路层轮值主机的当前通信设备由正常工作状态切换至异常工作状态;
在预设延时后,所述协议栈角色为链路层从机的当前通信设备向所述有线通信总线发送链路层轮值主机角色竞选的报名消息,参与链路层轮值主机角色竞选。
5.如权利要求1所述的方法,其特征在于,所述预设分配规则为根据各所述链路层从机的本机地址的排列顺序,依次分配所述总线使用控制权以及预设总线可用流量。
6.如权利要求1所述的方法,其特征在于,每一所述链路层从机所分配得到的预设总线可用流量相同。
7.如权利要求1所述的方法,其特征在于,所述的通过所述链路层轮值主机控制获取所述总线使用控制权的链路层从机所对应的通信设备,基于所述预设总线可用流量向目标通信设备发送数据的步骤进一步包括:
计算获取所述总线使用控制权的链路层从机所对应的通信设备已发送数据的当前已用流量;
判断所述当前已用流量是否达到所述预设总线可用流量;
若所述当前已用流量达到所述预设总线可用流量,则所述链路层轮值主机收回所述总线使用控制权;
若所述当前已用流量未达到所述预设总线可用流量,则判断数据发送是否完成;
若数据发送完成,则所述链路层轮值主机收回所述总线使用控制权。
8.如权利要求7所述的方法,其特征在于,所述方法进一步包括:当所述当前已用流量达到所述预设总线可用流量而数据发送未完成时,在获取所述总线使用控制权的链路层从机中设置发送中断标记,以使其在下一次获取所述总线使用控制权时,根据所述发送中断标记继续发送剩余数据。
9.如权利要求1所述的方法,其特征在于,所述目标通信设备为连接至所述有线通信总线的除获取所述总线使用控制权的链路层从机所对应的通信设备以外的任意通信设备。
10.一种有线通信总线通信系统,其特征在于,所述系统包括:多个通信设备,所述多个通信设备连接至有线通信总线;所述多个通信设备之间采用如权利要求1所述的有线通信总线通信方法进行通信。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011540311.9A CN112738176B (zh) | 2020-12-23 | 2020-12-23 | 一种有线通信总线通信方法及系统 |
PCT/CN2021/133867 WO2022135064A1 (zh) | 2020-12-23 | 2021-11-29 | 一种有线通信总线通信方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011540311.9A CN112738176B (zh) | 2020-12-23 | 2020-12-23 | 一种有线通信总线通信方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112738176A CN112738176A (zh) | 2021-04-30 |
CN112738176B true CN112738176B (zh) | 2022-11-29 |
Family
ID=75604545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011540311.9A Active CN112738176B (zh) | 2020-12-23 | 2020-12-23 | 一种有线通信总线通信方法及系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN112738176B (zh) |
WO (1) | WO2022135064A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112738176B (zh) * | 2020-12-23 | 2022-11-29 | 欧普照明股份有限公司 | 一种有线通信总线通信方法及系统 |
CN113485090A (zh) * | 2021-07-22 | 2021-10-08 | 中国第一汽车股份有限公司 | 控制器故障接替系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4814984A (en) * | 1986-05-30 | 1989-03-21 | International Computers Limited | Computer network system with contention mode for selecting master |
CN106773862A (zh) * | 2016-12-30 | 2017-05-31 | 深圳市英威腾电气股份有限公司 | 一种整流器并机系统及其控制方法 |
CN107367014A (zh) * | 2017-06-06 | 2017-11-21 | 珠海格力电器股份有限公司 | 空调集群的控制方法、装置及系统 |
CN107706925A (zh) * | 2017-11-28 | 2018-02-16 | 厦门亿力天龙科技有限公司 | 一种基于抗谐低压智能无功补偿系统的控制方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102664902B (zh) * | 2012-05-15 | 2015-05-06 | 南京华兴数控技术有限公司 | Powerlink通讯协议主从站内核的硬件实现方法 |
CN105354159A (zh) * | 2015-09-28 | 2016-02-24 | 上海海视电子有限公司 | 一种基于rs485分布式总线系统的控制方法 |
CN106330643A (zh) * | 2016-10-31 | 2017-01-11 | 威胜电气有限公司 | 一主多从通信网络的通信方法及通信装置 |
CN109150680B (zh) * | 2018-08-30 | 2020-10-16 | 青岛科技大学 | 一种适用于rs485总线的自适应确定地址组网电路及方法 |
CN110581577B (zh) * | 2019-09-10 | 2021-06-01 | 深圳市瑞鼎电子有限公司 | 一种储能电池即插即用控制方法 |
CN110855538B (zh) * | 2019-11-13 | 2022-04-15 | 深圳竹芒科技有限公司 | 一种从机地址识别方法、总线通信系统及充电宝租借系统 |
CN112738176B (zh) * | 2020-12-23 | 2022-11-29 | 欧普照明股份有限公司 | 一种有线通信总线通信方法及系统 |
-
2020
- 2020-12-23 CN CN202011540311.9A patent/CN112738176B/zh active Active
-
2021
- 2021-11-29 WO PCT/CN2021/133867 patent/WO2022135064A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4814984A (en) * | 1986-05-30 | 1989-03-21 | International Computers Limited | Computer network system with contention mode for selecting master |
CN106773862A (zh) * | 2016-12-30 | 2017-05-31 | 深圳市英威腾电气股份有限公司 | 一种整流器并机系统及其控制方法 |
CN107367014A (zh) * | 2017-06-06 | 2017-11-21 | 珠海格力电器股份有限公司 | 空调集群的控制方法、装置及系统 |
CN107706925A (zh) * | 2017-11-28 | 2018-02-16 | 厦门亿力天龙科技有限公司 | 一种基于抗谐低压智能无功补偿系统的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112738176A (zh) | 2021-04-30 |
WO2022135064A1 (zh) | 2022-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112738176B (zh) | 一种有线通信总线通信方法及系统 | |
EP0861548B1 (en) | Method and apparatus for a hybrid contention and polling protocol | |
CN101316236B (zh) | Vrrp备份组负载分担方法及路由器 | |
TWI237480B (en) | Methods and apparatus for supporting group communications | |
WO2015074396A1 (zh) | 一种软件定义网络sdn的自动配置方法、设备及系统 | |
WO2012083669A1 (zh) | 基于接入网关的主备用设备切换方法和装置 | |
CN110225137B (zh) | 业务请求处理方法、系统、服务器及存储介质 | |
CN102130776A (zh) | 一种通信方法和系统 | |
US20130205011A1 (en) | Service providing system | |
WO2011147312A1 (zh) | 一种业务接入路由器的端口备份方法、装置和系统 | |
CN101167307A (zh) | 一种可动态自适应的分布式资源管理系统和方法 | |
CN107766267A (zh) | 一种i2c总线的仲裁方法及系统 | |
CN102067516A (zh) | 请求组播、处理组播请求及对其进行辅助的方法和装置 | |
CN111092819B (zh) | 一种收发组播业务报文的方法及设备 | |
CN117118951A (zh) | 一种一主多从总线通用从机地址动态分配的方法 | |
JP2004032452A (ja) | クラスタ構成マシンの系切り替え方法および方式 | |
CN112003755B (zh) | 一种集群主节点的选取方法、装置、设备及介质 | |
CN102821118A (zh) | 一种具备异构节点的网络中业务备份的方法和系统 | |
JP5572812B2 (ja) | ゲートウェイ装置、及び、通信ブロック割当変更方法 | |
WO2015106506A1 (zh) | 设置控制信息、建立通信的方法及管理控制器及控制器 | |
JP4225656B2 (ja) | 通信回線制御方法及び通信回線制御システム | |
CN113220448B (zh) | 一种双机系统及其控制方法 | |
CN101616025B (zh) | 一种控制板上业务的主备确定方法和装置 | |
JP2000183970A (ja) | ネットワーク装置 | |
JP6492789B2 (ja) | 呼制御装置、呼制御システム、及び呼制御方法 |
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 |