一种实现分布式系统的同步控制的方法和系统的制作方法

文档序号:7701424阅读:242来源:国知局
专利名称:一种实现分布式系统的同步控制的方法和系统的制作方法
技术领域
本发明涉及分布式系统,尤其涉及到 一种实现分布式系统的同步控制的方 法和系统。
背景技术
在现代工业控制、计算机通信等领域,分布式系统以其极好的优异特性, 得到了越来越多的应用,但同步控制一直是其应用中存在的普遍技术难题。同 步控制是分布式系统的核心技术之一,其目的是维护一个全局一致的物理或逻 辑时钟,以使分布式系统中的消息、事件及各节点与时间有关的行为能够有一 个全局一致的解释,确保节点发送和接收消息在时间逻辑上是完全正确的。在 分布式系统中,不同的节点需要统一的时钟来实现全局的系统节拍,如果没有 全局的系统节拍,就m^获得精确的同步控制。,前常见的同步控制的方法有1) 不同节点使用同一个物理时钟源,这种方法最为简单和直观。但在分布 式系统中,由于各节点地理位置的分散性,采用这种方法需要增加单独的时钟 线,在应用中并不易于实现。2) 使用全球定位系统(GPS)卫星时钟进行时钟同步; GPS卫星时钟,具有工作稳定、时间精度高、安全可靠、无需人工校时维护等优点,但是在使用时,需要购买GPS接收机,而且,由于GPS归美国政 府所有,受控于美国国防部,对世界各地的用户未有任何政府承诺,而且用户 只支付了 GPS接收机的费用,并未支付GPS的使用费用。因此这种方法自主 性差,也带来一些不稳定因素。因此,这种方法实际使用中具有其局限性。 3 )使用ieeel588协议,解决网络时钟同步问题;2002年提出的ieeel588标准旨在解决网络的时钟同步问题,制定了将^t 在测量和控制系统内的分离节点上独立运行的时钟,同步到一个高精度和高准 确度时钟上的协议。这种ieeel588标准的方法在实际应用中,需要较高成本, 技术复杂,实现难度较高。发明内容有鉴于此,本发明的主要目的在于提供一种实现分布式系统的同步控制的 方法和系统,佳z彈分布式系统的同步控制简单而易于实现。 为达到上述目的,本发明的技术方案是这样实现的 一种实现分布式系统的同步控制的方法,该方法包括 主机在当前呼叫周期产生呼叫包,并发送呼叫包给分布式系统中的所有从机;主机延时至从机触发的外部中断的起始时刻,执行同步控制; 各从机接收呼叫包,产生接收中断,由接收中断触发外部中断,在外部中断的起始时刻,执行同步控制。所述产生呼叫包,具体为设置第9位数据位为呼叫包标识,根据上一个呼叫周期中的数据传送方向设置数据传送方向标识,并设置呼叫从机的地址;和/或,所述从机包括MCU和外部中断电路,该外部中断电路至少包括单稳态触 发电路,所述由接收中断触发外部中断电路,具体为接收中断中,设置MCU 的与外部中断电路相连接的输出端口为高,外部中断电路中的单稳态触发电路 接收到所述端口为高后,单稳态触发电路的输出端触发MCU的外部中断;和/ 或,所述发送呼叫包之前,进一步包括延时间歇时间,所述间歇时间内不进 行数据传输;和/或,所述主机延时的延时时间的长度为主机发送呼叫包的时刻至从机触发外 部中断的起始时刻之间的时间差,所述时间差配置在主机中;或者,由呼叫包的发送时间加上从才几的接收中断响应时间和外部中断响应时间计算所得。所述触发MCU的外部中断之后,进一步包括在MCU的外部中断中,对 MCU的硬件时钟定时器的寄存器进行复位处理;和/或,设置每个呼叫周期内允许传送的数据的最大字节数,所述发送呼叫包之后 进一步包括主才;^艮据当前呼叫周期向AM几发送的数据包数据在其所属数据包 中的位置进4亍数据标识;和/或,设置每个呼叫周期内允许传送的数据的最大字节数,所述从机接收呼叫包 之后进一步包括根据当前呼叫周期向主机发送的数据包数据在其所属数据包 中的位置进行数据标识。所述执行同步控制之后,进一步包括依据上一个呼叫周期中的数据标识 以及所述呼叫包中的数据传送方向标识、呼叫从机的地址,在当前呼叫周期继 续数据的传送。该方法进一步包括进行同步控制的异常保护,包括设备作为从机投入已有分布式系统的保护,具体为主机通过发送系统检 测命令得知有从机的投入,分布式系统主机从原本空闲的从机地址中去除投入 的从机的地址,将^L^设备作为从机纳入分布式系统;和/或,设备作为主机投入已有分布式系统的保护,具体为原主机通过发送系统 检测命令确定有主机^/v,根据该主机是否发申请主机命令,确定分布式系统 的主才几;和/或,从机退出分布式系统的保护,具体为当主机检测到有从机退出分布式系 统时,主机进4于对应处理;和/或,分布式系统中无主机或者主机因故退出的保护,具体为各从机在设置的 异常时间内没有接收到呼叫包,则各从才M艮据自身地址号在对应时间主动发送 申请主机命令,先发送申请主机命令的从机成为主机。一种实现分布式系统的同步控制的系统,该系统包括主机,用于在当前呼叫周期性产生呼叫包,发送呼叫包后,延时至从机触 发的外部中断的起始时刻,执行主机的同步控制;从机,用于接收主机下发的呼叫包,产生接收中断,由接收中断触发外部 中断,在外部中断的起始时刻,执行该从机自身的同步控制。所述主机包括第一定时模块,用于对主机发送呼叫包的呼叫周期进行计时,在每个呼叫周期触发呼叫包模块;呼叫包模块,用于根据第一定时模块的触发产生地址帧作为呼叫包; 第一收发模块,用于发送呼叫包模块产生的呼叫包,并同时触发延时同步模块;延时同步模块,用于延时至从机触发的外部中断的起始时刻时,执行主机 的同步控制;和/或,从机包括第二收发模块、接收中断模块和外部中断模块,其中, 第二^模块,用于接收来自主机的呼叫包;接收中断模块,用于检测到第二收发模块收到呼叫包时产生接收中断,并触发外部中断模块;外部中断模块,用于根据接收中断模块的触发,触发外部中断,在外部中断的起始时刻,执行从才几的同步控制。所述主机进一步还包括第一数据标识模块和第一数据控制模块,其中, 第一定时模块在每个呼叫周期,进一步用于触发第一数据标识模块; 第一数据标识模块,用于根据第一收发模块中主机在当前呼叫周期内向从机发送的数据在其所属数据包中的位置进行数据标识;第一收发模块,进一步用于主机和从机间的数据传送,向从机发送所述数据标识;还用于接收从才几发送的数据标识;延时同步模块执行主机的同步控制后,进一步用于触发第一数据控制模块; 第一数据控制模块,用于根据延时同步模块的触发,依据上一个呼叫周期中的数据标识及所述呼叫包中的数据传送方向标识和呼叫从机的地址,控制第一4议模块在当前呼叫周期与从机间传送数据;和/或,所述从机进一步包括第二数据标识模块和第二数据控制模块,其中,第二数据标识模块,用于根据第二收发模块中从机在当前呼叫周期内向主机发送的数据在其所属数据包中的位置进行数据标识;第二收发模块,进一步用于从机和主机间的数据传送;向主机发送所述数 据标识;还用于接收主机发送的数据标识;外部中断才莫块执行从机的同步控制后,进一步用于触发第二数据控制模块;第二数据控制模块,用于根据外部中断模块的触发,依据上一个呼叫周期 中的数据标识及所述呼叫包中的数据传送方向标识和呼叫从机的地址,控制第 二收发模块在当前呼叫周期与主机间传送数据。所述主机进一步包括间歇时间模块,用于控制第一收发模块延时间歇时 间后发送呼叫包;和/或,所述从机进一步包括硬件时钟定时器,外部中断模块进一步用于在外部 中断过程中对硬件时钟定时器的寄存器进行复位处理。所述主机包括第二定时模块、广播命令模块、检测分析模块和地址发送 模块,其中,第二定时模块,用于对检测周期进行计时,每个检测周期触发广*令模块;广才脸令模块,用于根据第二定时模块的触发,发送系统检测命令;检测分析模块,用于接收应答,通过检测应答的地址判断是否有设备新投 入或从机退出分布式系统,确定有从机退出分布式系统时,进行对应处理;确 定有从机新投入分布式系统时,触发地址发送模块从原本空闲的从机地址中去 除所述地址;确定有主机新投入分布式系统时,并且未接收到主机申请命令, 触发地址发送模块向对应主机发送可用从机地址;地址发送模块,用于根据检测分析模块的触发从原本空闲的从机地址中去 除新投入从机的地址或提供可用^M4几地址;所述从机或新投入的所述设备包括广播命令应答模块、主机申请模块和 地址转换模块,其中,广播命令应答模块,用于接收来自主机的系统检测命令,使用可用从机地址或主一几地址向主冲几返回应答;主机申请模块,用于发送申请主机命令;地址转换模块,用于更改自身主机地址为主机提供的可用从机地址或更改 自身从机地址为主机地址。所述地址转换;f莫块所在的设备为主机时,检测分析模块确定应答的地址与主机地址相同时,进一步用于确定是否在 设定时间内收到主机申请命令,如果收到,则确定有主机新^^分布式系统, 触发地址转换模块;如果未收到,则触发地址发送模块向对应设备发送可用从 机地址;地址转换模块,用于根据检测分析模块的触发将主机地址更改为可用从机 地址。本发明提供的一种实现分布式系统的同步控制的方法和系统,分布式系统 的主机周期性地发送呼叫包,将此呼叫包作为整个分布式系统的同步信号,实 现整个分布式系统的同步控制,从而,在分布式系统中不用增加额外的时钟线 缆,只需要简单的硬件电路,再配合易于实现的软件流程,就可以实现分布式 系统的同步控制,所需的硬件成本非常低,简单易行,具有较大的实用价值。


图1为本发明中基于RS485网络实现分布式系统的同步控制的方法流程示 意图;图2为本发明中基于RS485网络实现分布式系统的同步控制的系统结构示 意图;系统结构示意图;图4为本发明中监控器之间的连接示意图; 图5为本发明中外部中断电路示意图;图6为本发明中所有监控器实现执行PWM同步命令的流程示意图。
具体实施方式
本发明的基本思想是在分布式系统中,主机周期性地发送呼叫包,此呼 叫包作为整个分布式系统的同步信号,分布式系统中各个从机接收到呼叫包后 产生接收中断,由接收中断触发外部中断,在外部中断的起始时刻执行同步控 制;主机发送呼叫包后,延时至从机触发的外部中断的起始时刻,执行同步控 制,从而实现整个分布式系统的同步控制。下面以RS485网络为例,结合附图和具体实施例对本发明再做进一步的详 细说明。本发明基于RS485网络实现分布式系统的同步控制的方法,如图l所示, 该方法的具体步骤包括步骤101:分布式系统中的所有设备在初始投入运作前,确定呼叫包的格 式、呼叫周期以及主机执行同步控制的延时时间,所有设备在初始投入运作时, 进入静音状态;分布式系统中的所有设备在初始^v运作前,首先约定广播命令和主机对 应的地址,例如,约定地址为0的数据包表示对分布式系统内所有从才几发送的 广播命令,地址127表示主机地址,同时,确定呼叫包格式,以及根据实际情 况、分布式系统要求同步控制的时间以及从机的硬件时钟周期,确定分布式系 统中主机发送呼叫包的周期、即呼叫周期。其中,确定呼叫包格式具体为在RS485网络通信中,数据包全部采用9位数据位,其中第9位(TB8)被用 来表征该数据包的帧是地址帧还是数据帧,在正常通信中,设定TB8为0表征数 据帧,采用数据帧传送数据包,这里,设定TB8为1表征地址帧,采用地址帧作 为呼叫包;进一步的,呼叫包中除了第9位,在剩下的8个数据位中,取其中l位(TBx) 设置为数据传送方向标识,标识主机在发送呼叫包时,RS485网络通信中数据 的传送方向,设置TBx为O,表示主机在发送呼叫包时,数据由AM几发往主机; TBx为l,表示主才几在发送呼叫包时,数据由主机发往:地址匹配的从机;其中,呼叫包中剩下的7个数据位用来表示呼叫从机的地址,该呼叫从机的地址为主机 发送呼叫包时与主机有数据传送的从机的地址,因此,主机可以将数据发往除 了广播命令地址和主机地址外的126个地址中的任意一个从机;其中,确定的呼叫周期要短于从机的硬件时钟周期;同时,设定主机执行同步控制的延时时间,延时时间的长度可以是主机发 送呼叫包的时刻至从机的MCU触发外部中断的起始时刻之间的时间差,该时间 差配置在主;f几中,该时间差可以通过多次实际测量得到,以确保精确性;或者 通过计算来确定,计算方法为呼叫包的发送时间加上从机的接收中断响应时 间和外部中断响应时间,呼叫包的发送时间、从才几的4妄收中断响应时间、从才几 的外部中断响应时间的具体取值均为已知,呼叫包的发送时间即一个呼叫包由 主机发送的时刻开始至从机收到的时刻结束,可以是通过多次测量得到的经验 值,从机的接收中断响应时间和外部中断响应时间与从机的设备性能有关。然后,在分布式系统中,将一台设备的地址设置为约定的主机地址,作为 主机,其他设备设置从机地址,作为从机,所有设备在初始投入运作的一段时 间内,均不发送数据,只处于接收状态,称为静音状态。静音状态主要是为了 保证分布式系统中只有 一 台作为主机的设备。设备投入到已有的分布式系统时, 被设置为主机的设备,如果在静音状态时没有接收到呼叫包,则进行主机运作; 如果在静音状态时接收到呼叫包,说明分布式系统中有另一主机存在,则分布 式系统认为该设备作为主机投入已有分布式系统,将采取异常保护;步骤102:分布式系统的所有i殳备在静音状态后,由主机开始呼叫周期的计 时,并在每个呼叫周期向分布式系统中所有从机发送由主机产生的呼叫包,并 对主机和从机间的数据传送进行数据标识;在RS485网络通信中,分布式系统的所有设备在静音状态后,由主机开始 呼叫周期的定时,如在一个呼叫周期到、即一个呼叫周期的开始或结束时,主 机产生一个步骤101中所述格式的地址帧作为呼叫包,其中,呼叫包中的数据 传送方向标识根据上一个呼叫周期中主机和从才几间的数据传送方向进行设置, 并且设置呼叫包中的呼叫从机的地址,呼叫包中的从机地址根据上一个呼叫周期中与主机进行通信的从机的从机地址或者指定的从机地址进行设置。主机将 产生的呼叫包在每个呼叫周期发送给分布式系统中所有从机。主机和从才几间通 过数据包进行数据通信,这里的数据包中的数据,包括数据包传送的停止命令。 另外,对于主机和从机间进行的数据传送,设置了每个呼叫周期内允许传 送的数据的最大字节数、即周期字节数。这样,如果主机或者从机在一个呼叫 周期内传送的数据包比较长,由于受周期字节数的限制,则可能无法在一个呼 叫周期内完整发送该数据包,因此,需要通过一个字节作为表示数据包是否完 整发送的数据标识。这样,在主机发送呼叫包后或者从机接收到呼叫包后,需
数据包数据后,根据当前发送的数据包数据在其所属数据包中的位置进行数据
标识。这里的数据标识,用来表明数据包是否发送完整,包括继续标识和终 止标识,即主机或者从机在发送完含有停止命令的数据包数据、即数据包的最 后一段后发送终止标识;在发送完其他数据包数据、即数据包其他各段后发送 继续标识。如果主机或者从机发送的数据包长度比较短,在一个呼叫周期即可 完成发送,则只在其后发送终止标识即可。为了便于数据的识别,主机或者从 机可以在一个呼叫周期内只发送完整数据包。此处所说的发送完整数据包是指 发送的是含有停止命令的数据包数据,可以是一个呼叫周期内发送的一个完整 的数据包,即使该数据包的全部字节数并未达到周期字节数,也不再发送其他 数据包的数据;也可以是一个呼叫周期内发送的含有停止命令的数据包数据, 该数据包数据与之前的呼叫周期发送的数据包数据共同组成一个完整的数据 包,类似地,即使该数据包数据并未达到周期字节数,也不再发送其他数据包 的数据,该数据所属的数据包的其他数据在之前的一个或多个呼叫周期,则依 据周期字节数来发送。
其中,为了确保主才几发送呼叫包时分布式系统中没有数据在传输,主机可 以在发送呼叫包前,延时一定的时间,作为间歇时间,间歇时间的长度可以根 据实际的数据传输速率进行设定,当间歇时间到达后,主才几再发送呼叫包;这 样,主机或者从才几按照上面数据标识的方法,对^^皮间歇时间所中断的数据包中的数据传送进行数据标识。
以下将对主机和从机在主机发送完呼叫包后的操作步骤进行分别阐述。
其中,主机在发送完呼叫包后的操作步骤包括
步骤103:主机发送呼叫包后,延时至从机、如从机的孩吏控制单元(MCU) 触发外部中断的起始时刻,执行同步控制;
主机发送呼叫包后,按照步骤101中设定的延时时间,进行延时,延时至从 机的MCU触发外部中断的起始时刻,主机执行同步控制,例如通过产生自身 的时钟滴答或同步控制信号等,进行同步控制;
步骤104:主机在执行同步控制后,根据发送的呼叫包中的数据传送方向标 识和呼叫从机的地址、以及在发送呼叫包前的数据标识即上一个呼叫周期中的 数据标识,继续传送或接收数据;
具体为,主机在执行同步控制后,依据产生呼叫包时呼叫包中设置的数据 传送方向标识,确定数据的传送方向,如果数据传送方向标识表示主机发送呼 叫包时数据由从机发往主机,则主机查询发送呼叫包前接收的数据标识,其中, 若数据标识为终止标识,则主机接收与呼叫包中呼叫从机的地址相匹配的从机 发送的新的数据包的数据;若数据标识为继续标识,则主机接收与呼叫包中呼 叫从机的地址相匹配的从机发送的在上一个呼叫周期未发送完的数据包的数 据;
如果数据传送方向标识表示主机发送呼叫包时数据由主机发往从机,则主 机查询发送呼叫包前发送的数据标识,其中,若数据标识为终止标识,则主机 向与呼叫包中呼叫从机的地址相匹配的从机发送新的数据包的数据;若数据标 识为继续标识,则主才几继续向与呼叫包中呼叫从机的地址相匹配的从机发送在 上一个呼叫周期未发送完的数据包的数据;
其中,从机在主机发送完呼叫包后的操作步骤包括
步骤105:分布式系统中的各个从机接收到主机发送的呼叫包,产生接收中 断,由接收中断产生外部中断电路的触发信号,触发外部中断;
在RS485网络通信中,分布式系统中的各个从机根据接收到的数据包中的笫9位确定出所接收到的数据包的帧是否为地址帧、即主机发送的呼叫包,当分 布式系统中的各个^Mof几接收到主机发送的呼叫包后,从机中的MCU产生接收中 断,接收中断改变MCU与外部中断电路相连接的输出端口状态,作为触发信号
触发外部中断电路中的单稳态触发电路;
步骤106:外部中断电M收到接收中断产生的触发信号后,由外部中断电 路触发MCU的外部中断,各从机在各自MCU的外部中断的起始时刻,执行同步
控制;
外部中断电路中的单稳态触发电路接收到接收中断产生的触发信号后,单
稳态触发电路的输出端改变MCU的外部中断端口的状态,从而触发MCU的外部 中断,各从机在MCU的外部中断的起始时刻,执行同步控制,例如通过产生 各自的时钟滴答或同步控制信号等,进行同步控制;
此外,在MCU的外部中断中要对MCU的硬件时钟定时器的寄存器进行复位 处理,即每个呼叫周期均对MCU的硬件时钟定时器的寄存器进行复位处理,使 自身的硬件时钟定时器不产生中断、即不能完成硬件时钟周期,防止该从机进 入无主机的异常保护,因此,需要设置呼叫周期短于^Mv机的硬件时钟周期;
步骤107:分布式系统中的各个从机在执行同步控制后,根据收到的呼叫包 中的数据传送方向标识和呼叫从机的地址、以及在主机发送呼叫包前的数据标 识即上一个呼叫周期中的数据标识,在当前呼叫周期继续传送或接收数据;
具体为,分布式系统中的各个从机在执行同步控制后,查询收到的呼叫包 中呼叫从机的地址和数据传送方向标识,如果数据传送方向标识表示主机发送 呼叫包时数据由从机发往主机,则与呼叫包中呼叫从机的地址相匹配的从机查 询在主机发送呼叫包前发送的数据标识,若数据标识为终止标识,则与呼叫包 中呼叫从机的地址相匹配的从机向主机发送新的数据包的数据;若数据标识为 继续标识,则与呼叫包中呼叫^M4几的地址相匹配的从机继续向主机发送在上一
个呼叫周期该从机未发送完的数据包的数据;
如果数据传送方向标识表示主机发送呼叫包时数据由主机发往从机,则从 机查询在主机发送呼叫包前接收的数据标识,其中,若数据标识为终止标识,则与呼叫包中呼叫从机的地址相匹配的从机接收主机发送的新的数据包的数
据;若数据标识为继续标识,则与呼叫包中呼叫从机的地址相匹配的从;f几继续 接收主机发送的在上一个呼叫周期未发送完的数据包的数据。
本发明基于RS485网络实现分布式系统的同步控制的方法,进一步的,该 方法还包括分布式系统的异常保护方法,包括设备作为从机投入已有分布式 系统的保护、设备作为主机投入已有分布式系统的保护、从机退出分布式系统 的保护、以及分布式系统中无主机或者主机因故退出的保护;
具体为,分布式系统中的主机将定期以广播命令的形式发送系统检测命令, 分布式系统中的其他各个设备接收系统检测命令并进行应答,主机通过检测应 答的地址判断是否有设备新投入或从机退出分布式系统。该系统检测命令为广 #^令,根据约定是地址为O的数据包。
当设备作为从机投入已有分布式系统时,即设备的地址为分布式系统中空 闲的从机地址,该设备在静音状态后第一次接收到系统检测命令时发送应答, 分布式系统内的主才;i^测到发送应答的i殳备的地址为分布式系统内没有用到过 的从机地址、即原本空闲的从机地址,也就是可用从机地址,分布式系统主机 从原本空闲的从机地址中去除此地址,将其纳入从机进行管理,该设备进行从
当有从才几退出分布式系统时,分布式系统内的主才*测到应答的地址缺少 某个已经使用的从机地址,则根据实际需要加以处理,比如提醒有从机退出、 提供退出的从机的地址等;
当设备作为主机投入已有分布式系统时,即设备地址为分布式系统中原主 机的地址,该设备在静音状态后第一次接收到系统检测命令时,向分布式系统 中的原主机发送应答,分布式系统中的原主机检测到应答的地址与自身地址相 同,则分布式系统中的原主机继续检测是否有申请主机命令,如果该设备在静 音状态后,向分布式系统中原主机发送申请主机命令,则原主机在检测到此设 备应答后的一#爻时间内,'比如在到下次此设备发送应答的这段时间内,检测 到申请主机命令后,将自身的主机地址更改为分布式系统中的可用从机地址,降格为从机,进行>^4几运作,包括接收呼叫包和执行同步控制等;新投入的 主机,进行主机运作,包括周期性的发送呼叫包、定期发送广播命令以及控 制整个分布式系统的通信等;如果作为主机投入的设备没有发送申请主机命令, 原主机在一段时间内没有收到申请主机命令,则原主机下发分布式系统中的可 用从机地址给该设备,该设备作为^y4^进行^M几运作;
此外,当分布式系统中无主机或者主机因故退出后,各从机会在一段时间、 如设置的异常时间内没有接收到呼叫包,从而从机不能产生MCU的外部中断, 从机中的硬件时钟定时器将会完成多个硬件时钟周期,如2 ~ 3个硬件时钟周期,
各从才;^艮据自身的地址号,延时不同的时间后,主动发送申请主机命令,申请
成为主机,如地址号为1的从机延时0.1秒钟申请主机,地址号为2的从机延时0.2 秒钟申请主机等;其中,先发送申请主机命令的从机将不会接收到其他从机发 送的申请主机命令,从而成为主机,地址改为主机的地址,代替原主机进行主 机运作;申请主机命令以广旨令的形式发送;
当原先的主机重新^后,将按照上述的分布式系统中投入的设备为主机 时的方法进行操作,这里不再赘述。
上述的所有主机和从机的操作方法,在分布式系统中的每台设备都可以执 行,也就是说,分布式系统中的每台设备既可以作为主机也可以作为从机按照 上述的方法进4于运作。
以上为本发明基于RS485网络实现分布式系统的同步控制的方法的较佳实 施例,通过上述方法,本发明基于RS485网络实现分布式系统的同步控制的系 统,如图2所示,该系统包括主才几20和从才几21;其中,
主机20,用于在当前呼叫周期产生呼叫包,发送呼叫包后,延时至从机触 发的外部中断的起始时刻,执行主机的同步控制;进一步用于主机的数据接收 和发送;
从机21,用于接收主机下发的呼叫包,产生接收中断,由接收中断触发外 部中断,在外部中断的起始时刻,执行该从机自身的同步控制;进一步用于从 机的数据接收和发送;下面对主机20和从才几21在实现分布式系统的同步控制中的具体运作进行 分别阐述。
主机20包括第一定时模块201、呼叫包模块202、第一收发模块203、 延时同步模块204,其中,
第一定时模块201,用于对主机20发送呼叫包的呼叫周期进行计时,在每 个呼叫周期触发呼叫包4莫块202;
呼叫包模块202,用于根据第一定时模块201的触发产生地址帧作为呼叫
包;
第一4议模块203,用于发送呼叫包模块202产生的呼叫包,并同时触发 延时同步模块204;进一步用于主机20和从机21间的数据传送;
延时同步模块204,用于延时至从机21触发的外部中断的起始时刻时,执 行主机20的同步控制;延时同步模块204可根据设定的延时时间进行延时。
主机20进一步包括第一数据标识模块205和第一数据控制模块206,其
中,
第一定时模块201在每个呼叫周期,进一步用于触发第一数据标识模块
205;
第 一数据标识模块205 ,用于根据第 一收发模块203中主机20在当前呼叫 周期内向从机21发送的数据在其所属数据包中的位置进行数据标识;其具体实 现可参照图1步骤102中主机和从机间进行数据传送的相关描述,在此不再赘 述;
第一收发模块203,进一步用于主机20和从机21间的数据传送,向从机 21发送第一数据标识才莫块205确定的数据标识;还用于接收从机21发送的数 据标识;
呼叫包模块202产生呼叫包具体为产生地址帧作为呼叫包,根据第一收 发模块203中上一个呼叫周期中主机20和从机21间的数据传送方向设置呼叫 包中的数据传送方向标识,并i殳置呼叫包中的呼叫从才几的地址;所述呼叫包的 具体格式可参照图1步骤101中的相关描述,在此不再赘述;延时同步模块204执行主机20的同步控制后,进一步用于触发第 一数据控 制模块206;
第一数据控制模块206,用于根据延时同步模块204的触发,依据上一个 呼叫周期中的数据标识及主机发送的呼叫包中的数据传送方向标识和呼叫从机 的地址,控制第一收发模块203在当前呼叫周期与^y4/L21间传送数据,上一个 呼叫周期中的数据标识具体可以是笫一数据标识才莫块205在上一个呼叫周期确 定的、和/或从才几21在上一个呼叫周期发送的数据标识;其具体实现可参照图1 步骤104中的相关描述,在此不再赘述。
另外,主机20可以进一步包括间歇时间模块207,用于控制第一收发模 块203延时间歇时间后发送呼叫包,以确保主机20发送呼叫包时分布式系统中 没有数据在传输。
从机21包括第二收发模块211、接收中断模块212和外部中断模块214, 其中,
第二收发模块211,用于接收来自主机20的呼叫包;进一步用于^M4几21 和主才几20间的数据传送;
接收中断模块212,用于检测到第二》|议模块211收到呼叫包时产生接收 中断,并触发外部中断模块214;
外部中断模块214,用于根据接收中断模块212的触发,触发外部中断, 在外部中断的起始时刻,执行从机21的同步控制。
从机21进一步包括第二数据标识模块215和第二数据控制模块216,其
中,
第二数据标识模块215,用于根据第二收发模块211中从机21在当前呼叫 周期内向主机20发送的数据在其所属数据包中的位置进行数据标识;其具体实 现可参照图1步骤102中主机和从机间的数据传送的相关描述,在此不再赘述;
第二4t^;漠块211,进一步用于向主机20发送第二数据标识模块215确定 的数据标识;还用于接收主机20发送的数据标识;
外部中断模块214执行从机21的同步控制后,进一步用于触发第二数据控制模块216;
第二数据控制4莫块216,用于根据外部中断模块214的触发,依据上一个 呼叫周期中的数据标识及从机收到的呼叫包中的数据传送方向标识和呼叫从机 的地址,控制第二收发模块211在当前呼叫周期与主机20间传送数据,上一个 呼叫周期中的数据标识具体可以是第二数据标识模块215在上一个呼叫周期确 定的、和/或主机20在上一个呼叫周期发送的数据标识;其具体实现可参照图1 步骤107中的相关描述,在此不再赘述。
另外,从机21可以进一步包括硬件时钟定时器217,外部中断模块214 进一步用于在外部中断过程中对石更件时钟定时器217的寄存器进^f亍复位处理, 使硬件时钟定时器217不产生中断。
当然,本发明实现基于RS485网络实现分布式系统的同步控制的系统也包 括用于在出现异常时进行异常保护的系统,该系统置于分布式系统的所有设备 中。如图3所示,主机30包括第二定时模块301、广旨令模块302、检测 分析模块303和地址发送模块304,其中,
第二定时模块301,用于对检测周期进行计时,每个检测周期触发广播命 令模块302;
广播命令模块302,用于根据第二定时模块301的触发,发送系统检测命 令,该系统检测命令为广4旨令,根据约定是地址为O的数据包;
检测分析模块303,用于接收应答,通过检测应答的地址判断是否有设备 新投入或从机退出分布式系统,确定有从机退出分布式系统时,才艮据实际需要 加以处理;确定有从才几新^分布式系统时,触发地址发送模块304从原本空 闲的从机地址中去除此地址;确定有主机新投入分布式系统时,并且未接收到 主机申请命令,触发地址发送模块304向对应主机发送可用从机地址;
地址发送模块304,用于根据检测分析才莫块303的触发从原本空闲的从才几 地址中去除新^v从机的地址或提供可用从机地址。
主机30进一步包括地址转换才莫块305 ,
检测分析模块303确定应答的地址与主机地址相同时,进一步用于确定是否在设定时间内收到主机申请命令,如果收到,则确定有主机新投入分布式系
统,触发地址转换模块305;如果未收到,则触发地址发送模块304向对应设 备发送可用从才几地址;
地址转换模块305,用于根据检测分析模块303的触发将主机地址更改为 可用从机地址,并可进一步触发图2中的第一定时模块停止计时,使其所在设 备由主才几变为从机。
如图3所示,投入现有分布式系统的设备包括广播命令应答模块311、 主机申请模块312和地址转换模块313,其中,
广播命令应答模块311,用于接收来自主机的系统检测命令,使用可用从 机地址或主机地址向主机返回应答;
主机申请模块312,用于发送申请主机命令;
地址转换模块313,用于更改自身主机地址为主机提供的可用从机地址或 更改自身从机地址为主机地址。
以上各模块相结合的具体实现是如果广*令应答模块311使用可用从 机地址向主机返回应答,址转换4莫块313无需更改地址;如果广播命令应答模 块311使用主机地址向主机返回应答,并且主机申请模块312不发送申请主机 命令,则地址转换模块313将所在主机的地址更改为主机提供的可用从机地址; 如果广播命令应答模块311使用主机地址向主机返回应答,并且主机申请模块 312发送了申请主机命令,则地址转换模块313无需更改地址,仍然使用主机 地址,其所在设备为主才几。
另外,设备作为从机时,其包括的主机申请模块312可以在硬件时钟定时 器完成多个硬件时钟周期时,根据从机地址延时发送申请主机命令,并且,没 有收到其他设备发送的申请主机命令的设备,通过内部的地址转换模块313将 自身从机地址更改为主机地址,该设备作为主机。
上述的实现基于RS485网络实现分布式系统的同步控制的系统布置在分布 式系统中的每台设备上,以实现分布式系统的同步控制。
f说明假设某/>司的电源产品中,需要把几套电源设备并联输出,各个设备的监
控器之间通过RS485网络组网通信,将其中一台监控器设定为主机,其他监控 器作为从机,由主机收集、采集各个作为从机的监控器的信息后进行统一的管 理,完成整个分布式系统的控制,如调节整个分布式系统中各个电源设备的 整流器的输出电压、输出电流等。
比如,主机通过统一下发给各个从 M目同的脉宽调制(PWM)值,来调节 各个从机管理的整流器电压。在实际应用中,为了不引起输出电压的紊乱,需 要全部的监控器在同一时刻向各自管理的整流器下发更新后的PWM值,实现 同步控制。各监控器间使用RS485通信,各监控器之间的连接如图4所示,A 为监控器的发送端口, B为监控器的接收端口,将主机的端口A和从机的端口 A连接起来,主机的端口 B和AM/U的端口 B连接起来,从机N中的N不大于 126。
主、从机端均增加外部中断电路,如图5所示,由MCU51的一个输出引 脚(PB0)连接外部中断电路50中单稳态触发电路501的输入端,单稳态触发 电路501的输出端连接MCU51的外部中断引脚(EXINT)。
在主、从机的通信中,数据包全部采用9位数据位、l位起始位、l位终止 位的方式通信。数据包的第9位(TB8)被用作为表征该帧是地址帧还是数据 帧,为1时表示该帧数据为一个地址帧,为O时表示该帧数据为数据帧。
地址帧的各位^故如下定义TB8为l,表示该帧数据为地址帧;第2位至 第8位表示呼叫从机的地址,并约定地址O表示广播,地址127表示主机;第 l位(TBO)作为数据传送方向标识,TBO为O,表示需要#立刻应答,数据 由从机发往主机;TBO为1,表示主机后续要下发命令数据,通知从机继续接 收,数据由主机发往地址匹配的从机;
在正常的数据通信中,设备之间互相发送的数据均为TB8=0的数据帧。 TB8=1的地址帧作为呼叫包使用,由主机端周期性发出。
另外,所有监控器均可以作为主机或者从机使用,在初始投入运作时的一 段时间内,处于静音状态,静音状态是为了,在这些监控器是投入到已有的分布式系统时,其中,被设置成为主机的监控器,如果在静音状态时没有接收到
呼叫包,则进行主机运作;如果在静音状态时接收到呼叫包,说明分布式系统 中有另 一主机存在,则分布式系统认为该监控器作为主机新投入分布式系统, 而采取异常保护;
当监控器的地址与约定的主机地址不相同时,则该监控器可以作为从机; 下面详细说明所有监控器实现执行PWM同步命令的步骤,如图6所示 步骤601:主机首先发送一个广播式呼叫包,即发送呼叫从机的地址为0 的地址帧,并且设定该地址帧的TBO为1,通知各个^y^继续接收后续数据, 在后续数据中将PWM值发送给所有从机;各个从机在接收到PWM值后,将 PWM值保存;
步骤602:主机确定以10ms为一个周期,发送呼叫包给系统内的所有从机, 作为同步信号,并对主机和从机间的数据传送进行数据标识;
主机确定以10ms为一个周期,发送呼叫包给系统内的所有从机,此外, 主机和从机间进行数据传送时,主机或者从才*据在10ms内可以传送的数据 包的字节数,确定主机或者从机在每个10ms内传送的数据包的字节数并且留 有一个字节作为数据标识,这样,在主机发送呼叫包后或者从机接收到呼叫包 后,主机或者从机按照在10ms内传送的数据包的字节数,将数据包的一段进 行传送并在每段传送完后传送数据标识。这里的数据标识,用来表明在一个 10ms内的数据包是否发送完整,包括继续标识和终止标识,即在发送完数据 包的含有停止命令的最后一段后发送终止标识;在发送完其他各段后发送继续 标识,如果发送的数据包长度比较短,在一个10ms内 即可完成发送,则只发 送终止标识。
步骤603:主机发送完呼叫包后,延时一段时间,主机把PWM值下发给 自己的整流器;
该延时时间为呼叫包的发送时间加上从机中断响应时间,在波特率为 9600bps时,由于在RS485通信中发送呼叫包还要加上起始位与停止位,所以 发送呼叫包的时间为(9+2) xi/9600us,从机中断响应时间具体可以通过从才几响应服务程序汇编代码行中得到,或者通过实际测量得到;
步骤604:主机给自己的整流器下发PWM值之后,主树艮据呼叫包中的 数据传送方向标识和从机地址,以及在发送呼叫包前的数据标识,继续发送或 接收数据;
具体为,主机在给自己的整流器下发PWM值之后,根据呼叫包中设置的数 据传送方向标识,如果数据传送方向标识表示主机发送呼叫包时,数据由从机 发往主机,主才几查询发送呼叫包前收到的数据标识,其中,若数据标识为终止 标识,则主机接收与呼叫包中从机地址相匹配的从机发送的数据包的数据;若 数据标识为继续标识,则主机接收与呼叫包中从机地址相匹配的从机发送的在 上个10ms未发送完的数据包的数据;
如果数据传送方向标识表示主机发送呼叫包时,数据由主机发往从机,则 主机查询发送呼叫包前发送的数据标识,其中,若数据标识为终止标识,则主 机向与呼叫包中从机地址相匹配的*发送新的数据包的数据;若数据标识为 继续标识,则主机继续向与呼叫包中从机地址相匹配的从机发送在上个1 Oms 未发送完的数据包的数据;
步骤605:在主机发送完呼叫包后,从机接收到呼叫包,产生接收中断, 在接收中断中,设置图5中MCU 51的PBO为高,以触发外部中断电路50中 的单稳态触发电路501;
步骤606:图5中外部中断电路50中的单稳态触发电路501接收到MCU 51 的PBO为高后,单稳态触发电路501的输出端触发MCU51的外部中断,各从 机向各自的整流器同步下发PWM值;
外部中断电路50的单稳态触发电路501接收到MCU 5 1的PBO为高后, 单稳态触发电路501的输出端改变MCU 51的EXINT端口的状态,触发MCU 51 的外部中断,在外部中断的起始时刻,各从机执行向各自的整流器同步,下发 步骤601中收到的PWM值,此外,在外部中断中,对从冲几MCU 51的硬件时 钟定时器寄存器进行复位,防止该从机进入无主机的异常保护;
步骤607:所有从机向各自的整流器下发PWM值后,根据呼叫包中的数据传送方向标识和#地址,以及在发送呼叫包前的数据标识,继续传送或接
收数据;
具体为,所有从机向各自的整流器下发PWM值后,查询收到的呼叫包中的 呼叫从机的地址和数据传送方向标识,如果数据传送方向标识表示主机在发送 呼叫包时,数据由从机发往主机,则与呼叫包中从机地址相匹配的^M4^查询在 主机发送呼叫包前发送的数据标识,若数据标识为终止标识,则与呼叫包中从 机地址相匹配的从才几向主机发送新的数据包中的数据;若数据标识为继续标识, 则与呼叫包中从机地址相匹配的从机继续向主机发送在上个10ms未发送完的 数据包中的翁L据;
如果数据传送方向标识表示后续数据由主才几发往从才几,则从4几查询发送呼 叫包前收到的数据标识,其中,若数据标识为终止标识,则与呼叫包中从机地 址相匹配的从机接收主机发送的新的数据包中的数据;若数据标识为继续标识, 则与呼叫包中从机地址相匹配的从机继续接收主机发送的在上个10ms未发送 完的数椐包中的数据。
这样,分布式系统中的所有监控器就会同时下发PWM值给各自的整流器了。
此外,该分布式系统也将对异常情况进行保护,包括监控器作为从机投 入已有分布式系统的保护、监控器作为主机投入已有分布式系统的保护、监视 器机退出系统的保护以及分布式系统中无主机或者主机因故退出的保护;
具体为,分布式系统中的主机将定期以广播命令的形式发送系统检测命令, 分布式系统中的其他各个监控器收到系统检测命令并进行应答,主4緣测应答 的地址判断是否有监控器新^或^M4几退出系统。
当监控器作为从机投入已有分布式系统时,即监控器地址为分布式系统中 空闲的从机地址,该监控器在静音状态后第一次收到系统检测命令时发送应答, 分布式系统内的主才*测到发送应答的地址,为分布式系统内没有用到过的从 机地址,即原本空闲的可用vM4U也址,分布式系统内的主机从原本空闲的从机 地址中去除此地址,将该监控器纳入从机进行管理;当有从机退出系统时,系统内的主才賺测到应答的地址缺少某个已经使用
的从机地址,则提醒有从机退出,并提供退出从机的地址;
当监控器作为主机^v已有分布式系统时,即监控器地址为系统中原主机 地址,该监控器在静音状态后第一次接收到系统检测命令时,向系统中的原主 机发送应答,分布式系统中的原主机检测到应答的地址与自身地址相同,则分 布式系统内的原主机继续检测是否有申请主机命令,如果该监控器在静音状态 后,向分布式系统中原主机发送申请主机命令,则原主机在检测到此监控器应 答后的一段时间内,比如在到下次此监控器发送应答的这段时间内,检测到 申请主机命令后,将自身的主机地址更改为分布式系统中的可用从机地址,降 格为从机,进行从才/L^作,包括接收呼叫包和执行同步控制等;新投入的监 控器,进行主机运作,包括周期性的发送呼叫包、定期发送广播命令以及控 制整个分布式系统的通信等;如果作为主机投入的监控器没有发送申请主机的 广播命令,原主机在一段时间内没有收到申请主机命令,则原主机下发分布式 系统中的可用^y^几地址给该监控器,该监控器作为从才几进行从才^作;
此外,当分布式系统中无主机或者主机因故退出后,各从机监控器会在一 段时间没有接收到呼叫包,从而不能产生MCU的外部中断,从机中的硬件时钟 定时器将会完成多个硬件时钟周期,如2~3个硬件时钟周期,各从才M艮据自身 的地址号,延时不同的时间后,主动发送申请主机命令,申请成为主机,其中 地址号为1的从机延时0.1秒钟申请主机,地址号为2的从机延时0.2秒钟申请主 机,地址号为N的延时N/10秒钟申请主机;其中,先发送申请包的从机将不会 接收到其他从才几发送的申请主机命令而成为主才几,地址更改为主才几的地址, 替原主机进行主机运作;申请主机命令以广播命令的形式发送;
当原先的主机重新^后,将按照上述的,当监控器作为主机M已有分 布式系统时的方法进行操作,这里不再赘述。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范 围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应 包含在本发明的保护范围之内。
权利要求
1、一种实现分布式系统的同步控制的方法,其特征在于,该方法包括主机在当前呼叫周期产生呼叫包,并发送呼叫包给分布式系统中的所有从机;主机延时至从机触发的外部中断的起始时刻,执行同步控制;各从机接收呼叫包,产生接收中断,由接收中断触发外部中断,在外部中断的起始时刻,执行同步控制。
2、 根据权利要求1所述的实现分布式系统的同步控制的方法,其特征在于, 所述产生呼叫包,具体为设置第9位数据位为呼叫包标识,根据上一个呼叫周期中的数据传送方向设置数据传送方向标识,并设置呼叫从机的地址; 和/或,所述从机包括MCU和外部中断电路,该外部中断电路至少包括单稳态触 发电路,所述由接收中断触发外部中断电路,具体为接收中断中,设置MCU 的与外部中断电路相连接的输出端口为高,外部中断电路中的单稳态触发电路 接收到所述端口为高后,单稳态触发电路的输出端触发MCU的外部中断;和/ 或,所述发送呼叫包之前,进一步包括延时间歇时间,所述间歇时间内不进 行数据传输;和/或,所述主才几延时的延时时间的长度为主机发送呼叫包的时刻至从机触发外 部中断的起始时刻之间的时间差,所述时间差配置在主才几中;或者,由呼叫包 的发送时间加上从^L的接收中断响应时间和外部中断响应时间计算所得。
3、 根据权利要求2所述的实现分布式系统的同步控制的方法,其特征在于, 所述触发MCU的外部中断之后,进一步包括在MCU的外部中断中,对MCU的硬件时钟定时器的寄存器进行复位处理;和/或,设置每个呼叫周期内允许传送的数据的最大字节数,所述发送呼叫包之后 进一步包括主机根据当前呼叫周期向从机发送的数据包数据在其所属数据包中的位置进行数据标识;和/或,设置每个呼叫周期内允许传送的数据的最大字节数,所述从机接收呼叫包 之后进一步包括根据当前呼叫周期向主机发送的数据包数据在其所属数据包 中的位置进行数据标识。
4、 根据权利要求3所述的实现分布式系统的同步控制的方法,其特征在于, 所述执行同步控制之后,进一步包括依据上一个呼叫周期中的数据标识以及 所述呼叫包中的数据传送方向标识、呼叫从机的地址,在当前呼叫周期继续数 据的传送。
5、 根据权利要求1至4任一所述的实现分布式系统的同步控制的方法,其 特征在于,该方法进一步包括进行同步控制的异常保护,包括设^f乍为从机投入已有分布式系统的保护,具体为主机通过发送系统检 测命令得知有从机的^^,分布式系统主机从原本空闲的从机地址中去除投入 的从机的地址,将投入设备作为从机纳入分布式系统;和/或,设备作为主机投入已有分布式系统的保护,具体为原主机通过发送系统 检测命令确定有主机投入,根据该主机是否发申请主机命令,确定分布式系统 的主才凡;和/或,从机退出分布式系统的保护,具体为当主才几检测到有从机退出分布式系 统时,主机进行对应处理;和/或,分布式系统中无主机或者主机因故退出的保护,具体为各从机在设置的 异常时间内没有接收到呼叫包,则各从4M艮据自身地址号在对应时间主动发送 申请主机命令,先发送申请主机命令的从机成为主机。
6、 一种实现分布式系统的同步控制的系统,其特征在于,该系统包括 主机,用于在当前呼叫周期性产生呼叫包,发送呼叫包后,延时至从机触发的外部中断的起始时刻,执行主机的同步控制;从机,用于接收主机下发的呼叫包,产生接收中断,由接收中断触发外部 中断,在外部中断的起始时刻,执行该从机自身的同步控制。
7、 根据权利要求6所述的实现分布式系统的同步控制的系统,其特征在于,所述主机包括第一定时模块,用于对主机发送呼叫包的呼叫周期进行计时,在每个呼叫周期触发呼叫包模块;呼叫包模块,用于根据第一定时模块的触发产生地址帧作为呼叫包; 第一收发模块,用于发送呼叫包模块产生的呼叫包,并同时触发延时同步模块;延时同步模块,用于延时至从机触发的外部中断的起始时刻时,执行主机 的同步控制;和/或,从机包括第二收发模块、接收中断模块和外部中断模块,其中, 第二jj议模块,用于接收来自主机的呼叫包;接收中断模块,用于检测到第二收发模块收到呼叫包时产生接收中断,并触发外部中断模块;外部中断模块,用于根据接收中断模块的触发,触发外部中断,在外部中断的起始时刻,执行从机的同步控制。
8、根据权利要求7所述的实现分布式系统的同步控制的系统,其特征在于, 所述主机进一步还包括第一数据标识模块和第一数据控制模块,其中, 第一定时模块在每个呼叫周期,进一步用于触发第一数据标识模块; 第一数据标识模块,用于根据第 一收发模块中主机在当前呼叫周期内向从机发送的数据在其所属数据包中的位置进行数据标识;第一收发模块,进一步用于主机和从机间的数据传送,向从机发送所述数据标识;还用于接^lt^机发送的数据标识;延时同步模块执行主机的同步控制后,进一步用于触发第一数据控制模块; 第一数据控制模块,用于根据延时同步模块的触发,依据上一个呼叫周期中的数据标识及所述呼叫包中的数据传送方向标识和呼叫从机的地址,控制第一^模块在当前呼叫周期与从机间传送数据;和/或,所述从机进一步包括第二数据标识模块和第二数据控制模块,其中,第二数据标识模块,用于根据第二收发模块中从机在当前呼叫周期内向主机发送的数据在其所属数据包中的位置进行数据标识;第二收发模块,进一步用于从机和主机间的数据传送;向主机发送所述数据标识;还用于接收主机发送的数据标识;外部中断模块执行从机的同步控制后,进一步用于触发第二数据控制模块; 第二数据控制才莫块,用于根据外部中断模块的触发,依据上一个呼叫周期中的数据标识及所述呼叫包中的数据传送方向标识和呼叫^li的地址,控制第二收发模块在当前呼叫周期与主机间传送数据。
9、 根据权利要求8所述的实现分布式系统的同步控制的系统,其特征在于, 所述主机进一步包括间歇时间模块,用于控制第一收发模块延时间歇时间后发送呼叫包;和/或,所述从;f几进一步包括硬件时钟定时器,外部中断^t块进一步用于在外部 中断过程中对硬件时钟定时器的寄存器进行复位处理。
10、 根据权利要求6至9任一所述的实现分布式系统的同步控制的系统, 其特征在于,所述主机包括第二定时模块、广旨令模块、检测分析模块和地址发送 模块,其中,第二定时模块,用于对检测周期进行计时,每个检测周期触发广播命令模块;广播命令模块,用于根据第二定时模块的触发,发送系统检测命令;检测分析模块,用于接收应答,通过检测应答的地址判断是否有设备新投 入或从机退出分布式系统,确定有从才几退出分布式系统时,进行对应处理;确 定有从机新"^分布式系统时,触发地址发送才莫块从原本空闲的从机地址中去 除所述地址;确定有主机新投入分布式系统时,并且未接收到主机申请命令, 触发地址发送才莫块向对应主才几发送可用从才几地址;地址发送模块,用于根据检测分析模块的触发从原本空闲的从机地址中去 除新^7v从机的地址或提供可用从机地址;所述从机或新投入的所述设备包括广播命令应答模块、主机申请模块和地址转换模块,其中,广播命令应答模块,用于接收来自主机的系统检测命令,使用可用从机地址或主机地址向主机返回应答;主机申请模块,用于发送申请主机命令;地址转换模块,用于更改自身主机地址为主机提供的可用从机地址或更改 自身从机地址为主机地址。
11、根据权利要求IO所述的实现分布式系统的同步控制的系统,其特征在 于,所述地址转换模块所在的设备为主机时,检测分析模块确定应答的地址与主机地址相同时,进一步用于确定是否在 设定时间内收到主机申请命令,如果收到,则确定有主机新投入分布式系统, 触发地址转换模块;如果未收到,则触发地址发送模块向对应设备发送可用从 机地址;地址转换模块,用于根据检测分析模块的触发将主机地址更改为可用从机 地址。
全文摘要
本发明公开了一种实现分布式系统的同步控制的方法,分布式系统的主机周期性地发送呼叫包,将此呼叫包作为整个分布式系统的同步信号,分布式系统中各个从机接收到呼叫包后产生接收中断,从而触发外部中断,在外部中断的起始时刻执行同步控制;主机延时至从机调用外部中断的起始时刻,执行同步控制,从而实现整个分布式系统的同步控制;同时,本发明还公开了一种基于RS485网络实现分布式系统的同步控制的系统。本发明方案中,无需在分布式系统中增加额外的时钟线缆,只需要简单的硬件电路,配合易于实现的软件流程,就可以实现分布式系统的同步控制,所需的硬件成本非常低,简单易行,具有较大的实用价值。
文档编号H04L29/08GK101610145SQ20091008850
公开日2009年12月23日 申请日期2009年7月3日 优先权日2009年7月3日
发明者开 张, 勇 熊 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1