一种冗余控制器的数据同步方法、冗余控制器及仪控系统转让专利

申请号 : CN202011174112.0

文献号 : CN112327600B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 伍巧凤叶奇李昱孙诗炎王明星贺理青先国何亮陈智刘宏春朱攀李谢晋许东芳

申请人 : 中国核动力研究设计院

摘要 :

本发明公开了一种冗余控制器的数据同步方法、冗余控制器及仪控系统,涉及数据处理与控制技术领域,其技术方案要点是:冗余控制器中用户软件通过PC104‑Plus总线与扩展出的数据发送存储区和数据接收存储区进行数据交互,数据存储区再通过光模块实现控制器之间的数据交互。数据发送存储区、数据接收存储区都分为32个区域,接收发送区域一一对应。当用户软件未向数据发送存储区写入新数据时,调度中心执行数据循环更新操作,依次将32个区域的数据通过光模块发送出去;当用户软件向数据发送存储区写入新数据时,优先处理新数据;数据接收方检查数据版本信息,当为最新版本时才更新相应区域数据。本发明具有信息同步速度快、可靠性高、对用户软件透明等优点。

权利要求 :

1.一种冗余控制器的数据同步方法,其特征是,包括以下步骤:S101:通过PC104‑Plus总线扩展出存储主用控制器、备用控制器之间同步信息的数据存储区,数据存储区包括数据发送存储区、数据接收存储区;

S102:将数据发送存储区、数据接收存储区分别划分成多个子区域,每个子区域设置一个标识位,并与用户软件进行数据交互;

S103:根据主用控制器的用户软件与数据发送存储区交互状态将子区域信息传输至主用控制器、备用控制器中并行的发送控制器,并同时对相应子区域的标识位进行变换,以及根据标识位变换状态执行数据循环更新操作;

S104:两个发送控制器对子区域信息各自进行编码后,通过对应的光高速收发器将编码信息同时输出以实现两路光纤冗余光通讯;

S105:以两路光纤读入数据,两个接收控制器各自对读入数据进行解码;

S106:对读入数据更新状态进行检测,并将更新版本的读入数据存入数据接收存储区中对应的子区域,实现主用控制器的数据同步到备用控制器。

2.根据权利要求1所述的一种冗余控制器的数据同步方法,其特征是,所述PC104‑Plus总线采用32bit/33MHzPCI协议,数据传输速率可达132MByte/s。

3.根据权利要求1所述的一种冗余控制器的数据同步方法,其特征是,所述数据发送存储区、数据接收存储区大小均为1kByte,划分成32子区域,每个子区域大小为32Byte,子区域与用户软件通过PC104‑Plus总线接口进行数据交互。

4.根据权利要求1所述的一种冗余控制器的数据同步方法,其特征是,所述步骤S103中,具体调度方法为:

当主用控制器的用户软件未向数据发送存储区写入新数据时,调度中心执行数据循环更新操作,依次读取32个子区域的数据,并将子区域信息传输至发送控制器;

当主用控制器的用户软件向数据发送存储区写入新数据时,相应子区域的标识位被置为“1”;调度中心退出循环更新操作,记录当前更新操作的位置,优先发送标识位为“1”的子区域的数据,并将已发送区域的标识位置为“0”;当所有子区域的标识位均为“0”时,继续执行数据循环更新操作。

5.根据权利要求1所述的一种冗余控制器的数据同步方法,其特征是,所述子区域信息包括由8bit数据构成的区域位置信息、同步数据、版本信息。

6.根据权利要求1所述的一种冗余控制器的数据同步方法,其特征是,所述步骤S106中,具体调度方法为:

调度中心检测读入数据有更新时,先读取对应的子区域数据,然后检查读入数据的版本信息;

若版本信息后于子区域数据的当前版本,则认为读入数据是新数据,将其存入数据接收存储区中相应子区域,并更新相应子区域数据的版本;

若版本信息早于子区域数据的当前版本或版本一致,则认为数据是无效的或冗余数据,予以丢弃。

7.根据权利要求1所述的一种冗余控制器的数据同步方法,其特征是,所述光高速收发器在数据传输过程中,采用CRC对传输数据进行校验;若校验未通过,则舍弃传输数据。

8.根据权利要求1所述的一种冗余控制器的数据同步方法,其特征是,所述用户软件对数据接收存储区数据的读取操作优先于调度中心对该区域的写操作;当用户软件读取某一区域的信息时,调度中心执行另一区域的写操作,或等待用户软件读操作的完成。

9.一种冗余控制器,其特征是,包括总线模块、存储区模块、调度中心、主用模块、备用模块;

总线模块,用于扩展出存储主用控制器、备用控制器之间同步信息的数据存储区,数据存储区包括数据发送存储区、数据接收存储区;

存储区模块,用于将数据发送存储区、数据接收存储区分别划分成多个子区域,每个子区域设置一个标识位,并与用户软件进行数据交互;

调度中心,用于根据主用控制器的用户软件与数据发送存储区交互状态将子区域信息传输至主用控制器、备用控制器中并行的发送控制器,并同时对相应子区域的标识位进行变换,以及根据标识位变换状态执行数据循环更新操作;

主用模块,用于以两个发送控制器对子区域信息各自进行编码后,通过对应的光高速收发器将编码信息同时输出以实现两路光纤冗余光通讯;

备用模块,用于以两路光纤读入数据,主用控制器、备用控制器中并行的两个接收控制器各自对读入数据进行解码;

调度中心,用于对读入数据更新状态进行检测,并将更新版本的读入数据存入数据接收存储区中对应的子区域,实现主用控制器的数据同步到备用控制器。

10.一种核动力数字化仪控系统,其特征是,至少包括一个如权利要求9所述的一种冗余控制器。

说明书 :

一种冗余控制器的数据同步方法、冗余控制器及仪控系统

技术领域

[0001] 本发明涉及数据处理与控制技术领域,更具体地说,它涉及一种冗余控制器的数据同步方法、冗余控制器及仪控系统。

背景技术

[0002] 冗余技术是一种广泛使用的容错技术,可有效提高系统的可靠性。在嵌入式控制器中应用冗余技术,是提升数字化仪控平台整体可靠性的一种重要方法。信息同步是实现
控制器冗余的前提之一。在一个采用了控制器冗余配置的系统中,处于备用状态的从控制
器需要通过信息同步来接收处于工作状态的主控制器送来的相关信息,以便随时可以替换
主控制器执行系统功能。
[0003] 在数字化仪控平台现有构架下,可利用平台目前已有通信板卡(CAN通讯卡、RS485通讯卡、以太网卡)和控制器自带通信接口实现信息同步,现有控制器之间的信息同步存在
以下缺陷:第一,信息同步需要具有强的实时性。通信速率越快,信息同步的时间越短,主备
控制器的切换所需时间也就越短,系统输出的扰动也越小;由于通信板卡与控制器之间均
通过AT96总线进行数据交互,AT96总线8MByte/s的带宽成为了缩短信息同步时间的瓶颈。
第二,信息同步的过程对于用户软件来说是非透明的,同步过程需要用户软件的参与,自动
化程度低。
[0004] 因此,如何研究设计一种冗余控制器的数据同步方法是我们目前急需解决的问题,为实现控制器冗余提供技术支撑。

发明内容

[0005] 为克服上述现有技术中的不足,本发明的目的是提供一种冗余控制器的数据同步方法、冗余控制器及仪控系统,具有信息同步速度快、可靠性高、对用户软件透明等优点,为
实现控制器冗余提供了技术支撑。
[0006] 本发明的上述技术目的是通过以下技术方案得以实现的:
[0007] 第一方面,提供了一种冗余控制器的数据同步方法,包括以下步骤:
[0008] S101:扩展出存储主用控制器、备用控制器之间同步信息的数据存储区,数据存储区包括数据发送存储区、数据接收存储区;
[0009] S102:将数据发送存储区、数据接收存储区分别划分成多个子区域,每个子区域设置一个标识位,并与用户软件进行数据交互;
[0010] S103:根据主用控制器的用户软件与数据发送存储区交互状态将子区域信息传输至主用控制器、备用控制器中并行的发送控制器,并同时对相应子区域的标识位进行变换,
以及根据标识位变换状态执行数据循环更新操作;
[0011] S104:两个发送控制器对子区域信息各自进行编码后,通过对应的光高速收发器将编码信息同时输出以实现两路光纤冗余光通讯;
[0012] S105:以两路光纤读入数据,两个接收控制器各自对读入数据进行解码;
[0013] S106:对读入数据更新状态进行检测,并将更新版本的读入数据存入数据接收存储区中对应的子区域,实现主用控制器的数据同步到备用控制器。
[0014] 进一步的,所述数据存储区通过PC104‑Plus总线进行扩展,PC104‑Plus总线采用32bit/33MHzPCI协议,数据传输速率可达132MByte/s。
[0015] 进一步的,所述数据发送存储区、数据接收存储区大小均为1kByte,划分成32子区域,每个子区域大小为32Byte,子区域与用户软件通过PC104‑Plus总线接口进行数据交互。
[0016] 进一步的,所述步骤S103中,具体调度方法为:
[0017] 当主用控制器的用户软件未向数据发送存储区写入新数据时,调度中心执行数据循环更新操作,依次读取32个子区域的数据,并将子区域信息传输至发送控制器;
[0018] 当主用控制器的用户软件向数据发送存储区写入新数据时,相应子区域的标识位被置为“1”;调度中心退出循环更新操作,记录当前更新操作的位置,优先发送标识位为“1”
的子区域的数据,并将已发送区域的标识位置为“0”;当所有子区域的标识位均为“0”时,继
续执行数据循环更新操作。
[0019] 进一步的,所述子区域信息包括由8bit数据构成的区域位置信息、同步数据、版本信息。
[0020] 进一步的,所述步骤S106中,具体调度方法为:
[0021] 调度中心检测读入数据有更新时,先读取对应的子区域数据,然后检查读入数据的版本信息;
[0022] 若版本信息后于子区域数据的当前版本,则认为读入数据是新数据,将其存入数据接收存储区中相应子区域,并更新相应子区域数据的版本;
[0023] 若版本信息早于子区域数据的当前版本或版本一致,则认为数据是无效的或冗余数据,予以丢弃。
[0024] 进一步的,所述光高速收发器在数据传输过程中,采用CRC对传输数据进行校验;若校验未通过,则舍弃传输数据。
[0025] 进一步的,所述用户软件对数据接收存储区数据的读取操作优先于调度中心对该区域的写操作;当用户软件读取某一区域的信息时,调度中心执行另一区域的写操作,或等
待用户软件读操作的完成。
[0026] 第二方面,提供了一种冗余控制器,包括总线模块、存储区模块、调度中心、主用模块、备用模块;
[0027] 总线模块,用于扩展出存储主用控制器、备用控制器之间同步信息的数据存储区,数据存储区包括数据发送存储区、数据接收存储区;
[0028] 存储区模块,用于将数据发送存储区、数据接收存储区分别划分成多个子区域,每个子区域设置一个标识位,并与用户软件进行数据交互;
[0029] 调度中心,用于根据主用控制器的用户软件与数据发送存储区交互状态将子区域信息传输至主用控制器、备用控制器中并行的发送控制器,并同时对相应子区域的标识位
进行变换,以及根据标识位变换状态执行数据循环更新操作;
[0030] 主用模块,用于以两个发送控制器对子区域信息各自进行编码后,通过对应的光高速收发器将编码信息同时输出以实现两路光纤冗余光通讯;
[0031] 备用模块,用于以两路光纤读入数据,两个接收控制器各自对读入数据进行解码;
[0032] 调度中心,用于对读入数据更新状态进行检测,并将更新版本的读入数据存入数据接收存储区中对应的子区域,实现主用控制器的数据同步到备用控制器。
[0033] 第三方面,提供了一种核动力数字化仪控系统,至少包括一个如第二方面所述的一种冗余控制器。
[0034] 与现有技术相比,本发明具有以下有益效果:
[0035] 1、本发明利用PC104‑Plus总线扩展出存储主用控制器、备用控制器之间同步信息的数据存储区,信息同步的过程自动进行,无需要用户软件的参与;信息同步方法具有很强
的实时性,通信速率快,信息同步时间短,当主控制器发生故障时,切换到备用控制器时间
短,系统输出的扰动小;
[0036] 2、本发明通过冗余控制器提供的PC104‑Plus总线接口,并采用冗余光纤作为通信传输介质以及采用CRC校验,具有信息同步速度快、可靠性高、对用户软件透明等优点,为实
现控制器冗余提供了技术支撑;
[0037] 3、本发明在控制中心快速响应的情况下,将1kByte数据从主用控制器同步到备用控制器的时间不超过8us。

附图说明

[0038] 此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定。在附图中:
[0039] 图1是本发明实施例中的数据同步原理图。

具体实施方式

[0040] 为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作
为对本发明的限定。
[0041] 实施例1:一种冗余控制器的数据同步方法,如图1所示,主用控制器、备用控制均为冗余控制器,同步方法包括以下步骤:
[0042] S101:通过PC104‑Plus总线扩展出存储主用控制器、备用控制器之间同步信息的数据存储区,数据存储区包括数据发送存储区、数据接收存储区。PC104‑Plus总线采用
32bit/33MHzPCI协议,数据传输速率可达132MByte/s。
[0043] S102:将数据发送存储区、数据接收存储区分别划分成多个子区域,每个子区域设置一个标识位。数据发送存储区、数据接收存储区大小均为1kByte,划分成32子区域,每个
子区域大小为32Byte,子区域与用户软件通过PC104‑Plus总线接口进行数据交互。
[0044] S103:根据主用控制器的用户软件与数据发送存储区交互状态将子区域信息传输至主用控制器、备用控制器中并行的发送控制器,并同时对相应子区域的标识位进行变换,
以及根据标识位变换状态执行数据循环更新操作,两次循环更新操作之间的时间间隔为
1us。子区域信息包括由8bit数据构成的区域位置信息、同步数据、版本信息,由8bit数据构
成可区别数据的先后顺序。具体调度方法为:
[0045] (1)当主用控制器的用户软件未向数据发送存储区写入新数据时,调度中心执行数据循环更新操作,依次读取32个子区域的数据,并将子区域信息传输至发送控制器。
[0046] (2)当主用控制器的用户软件向数据发送存储区写入新数据时,相应子区域的标识位被置为“1”;调度中心退出循环更新操作,记录当前更新操作的位置,优先发送标识位
为“1”的子区域的数据,并将已发送区域的标识位置为“0”;当所有子区域的标识位均为“0”
时,继续执行数据循环更新操作。
[0047] S104:两个发送控制器对子区域信息各自进行编码后,通过对应的光高速收发器将编码信息同时输出以实现两路光纤冗余光通讯。
[0048] S105:以两路光纤读入数据,两个接收控制器各自对读入数据进行解码。
[0049] S106:对读入数据更新状态进行检测,并将更新版本的读入数据存入数据接收存储区中对应的子区域,实现主用控制器的数据同步到备用控制器。具体调度方法为:调度中
心检测读入数据有更新时,先读取对应的子区域数据,然后检查读入数据的版本信息。若版
本信息后于子区域数据的当前版本,则认为读入数据是新数据,将其存入数据接收存储区
中相应子区域,并更新相应子区域数据的版本。若版本信息早于子区域数据的当前版本或
版本一致,则认为数据是无效的或冗余数据,予以丢弃。
[0050] 光高速收发器在数据传输过程中,采用CRC对传输数据进行校验;若校验未通过,则舍弃传输数据。
[0051] 用户软件对数据接收存储区数据的读取操作优先于调度中心对该区域的写操作;当用户软件读取某一区域的信息时,调度中心执行另一区域的写操作,或等待用户软件读
操作的完成。
[0052] 实施例2:一种冗余控制器,如图1所示,包括总线模块、存储区模块、调度中心、主用模块、备用模块。
[0053] 总线模块,用于扩展出存储主用控制器、备用控制器之间同步信息的数据存储区,数据存储区包括数据发送存储区、数据接收存储区。
[0054] 存储区模块,用于将数据发送存储区、数据接收存储区分别划分成多个子区域,每个子区域设置一个标识位,并与用户软件进行数据交互。
[0055] 调度中心,用于根据主用控制器的用户软件与数据发送存储区交互状态将子区域信息传输至主用控制器、备用控制器中并行的发送控制器,并同时对相应子区域的标识位
进行变换,以及根据标识位变换状态执行数据循环更新操作。
[0056] 主用模块,用于以两个发送控制器对子区域信息各自进行编码后,通过对应的光高速收发器将编码信息同时输出以实现两路光纤冗余光通讯。
[0057] 备用模块,用于以两路光纤读入数据,两个接收控制器各自对读入数据进行解码。
[0058] 调度中心,用于对读入数据更新状态进行检测,并将更新版本的读入数据存入数据接收存储区中对应的子区域,实现主用控制器的数据同步到备用控制器。
[0059] 工作原理:冗余控制器中用户软件通过PC104‑Plus总线与扩展出的数据发送存储区和数据接收存储区进行数据交互,数据存储区再通过光模块实现控制器之间的数据交
互。数据发送存储区、数据接收存储区都分为32个区域,接收发送区域一一对应。当用户软
件未向数据发送存储区写入新数据时,调度中心执行数据循环更新操作,依次将32个区域
的数据通过光模块发送出去;当用户软件向数据发送存储区写入新数据时,优先处理新数
据;数据接收方检查数据版本信息,当为最新版本时才更新相应区域数据。
[0060] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实
施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产
品的形式。
[0061] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序
指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实
现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0062] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
[0063] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
[0064] 以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范
围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明
的保护范围之内。