CN115328706A - 双cpu冗余架构综合控制方法及*** - Google Patents
双cpu冗余架构综合控制方法及*** Download PDFInfo
- Publication number
- CN115328706A CN115328706A CN202210780505.9A CN202210780505A CN115328706A CN 115328706 A CN115328706 A CN 115328706A CN 202210780505 A CN202210780505 A CN 202210780505A CN 115328706 A CN115328706 A CN 115328706A
- Authority
- CN
- China
- Prior art keywords
- cpu
- main cpu
- processor
- slave
- self
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2023—Failover techniques
- G06F11/2028—Failover techniques eliminating a faulty processor or activating a spare
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1441—Resetting or repowering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
- G06F11/2007—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant using redundant communication media
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2015—Redundant power supplies
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/202—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
- G06F11/2038—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4004—Coupling between buses
- G06F13/4022—Coupling between buses using switching circuits, e.g. switching matrix, connection or expansion network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0002—Serial port, e.g. RS232C
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0032—Serial ATA [SATA]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Hardware Redundancy (AREA)
- Power Sources (AREA)
Abstract
本发明提供一种双CPU冗余架构综合控制方法及***,包括:步骤S1:***上电后,通过硬件上电时序控制完成除CPU外的电源供电和相关外设的复位及初始化工作;步骤S2:进行双路CPU最小***部分的上电初始化工作,每个CPU都对应各自独立的供电模组,包括主CPU和从CPU;步骤S3:判定两个CPU处理器的主从分配,并设置好GPIO状态标识;步骤S4:正常工作模式下,主处理器将FPGA扩展出的各低、中、高速扩展总线接口接收到的数据流进行通信协议的相关任务,并将处理后的结果或者数据返回给扩展总线接口传出至外设;步骤S5:若当前主CPU处理器出现异常,则完成主从CPU的切换,同时复位原主CPU,若原主CPU复位后自检正常,则循环步骤S4。本发明能够提升***的鲁棒性能。
Description
技术领域
本发明涉及双CPU的安全冗余架构技术领域,具体地,涉及一种双CPU安全冗余架构下的各类总线扩展接口的综合控制技术,尤其涉及一种双CPU冗余架构综合控制方法及***。
背景技术
冗余控制***是采用了两套CPU处理器,一个作为主处理器,一个作为从处理器。正常情况下由主处理器进行程序处理,控制I/O等各类外设,从处理器则不断的监控主处理器的状态,若某时刻主处理器出现故障时,从处理器立即接管对I/O的控制,继续执行程序,从而实现对***的冗余控制。冗余控制是通过硬件、软件等方式,相互切换作为后备设备或元器件,替代因故障而损坏的设备或元器件,保持***正常工作,使控制设备因意外而导致的停机损失降到最低,从而提升***和设备的安全性、可靠性。
目前很多工控、安防、军工等领域的***和设备均采用冗余控制***来提升可靠性和安全性能。冗余控制***一般从“处理器冗余”、“通信冗余”、“I/O冗余”以及“电源冗余”四个方面进行设计保证。但***的外设不再仅仅局限于I/O设备,各式各样的总线层出不穷,速率也越来越高,CPU本身的资源有限,做不到面面俱到,也很难实现一套***在多种场合下的适用。
发明内容
针对现有技术中的缺陷,本发明提供一种双CPU冗余架构综合控制方法及***。
根据本发明提供的一种双CPU冗余架构综合控制方法及***,所述方案如下:
第一方面,提供了一种双CPU冗余架构综合控制方法,所述方法包括:
步骤S1:***上电后,通过硬件上电时序控制完成除CPU外的FPGA、CPLD、各交换芯片、光模块、各收发器在内的电源供电和相关外设的复位及初始化工作;
步骤S2:进行双路CPU最小***部分的上电初始化工作,此时每个CPU都对应各自独立的供电模组,包括主CPU和从CPU;
步骤S3:判定两个CPU处理器的主从分配,并设置好GPIO状态标识;
步骤S4:正常工作模式下,主处理器将FPGA扩展出的各低、中、高速扩展总线接口接收到的数据流进行通信协议解析、转换、计算以及处理在内的相关任务,并将处理后的结果或者数据返回给扩展总线接口传出至外设,完成整个通信过程;
步骤S5:若当前主CPU处理器出现异常,则完成主从CPU的切换,同时复位原主CPU,若原主CPU复位后自检正常,则继续循环步骤S4的工作过程。
优选地,所述步骤S3包括:根据主CPU的自检结果,判定主CPU自检状态是否正常,若主CPU自检正常,则设置主CPU为主处理器,从CPU为从处理器,并设置好相应的GPIO状态标识,同时进入正常工作模式。
优选地,所述步骤S3还包括:若主CPU自检结果异常,则继续判定从CPU的自检结果,若从CPU自检正常,则设置从CPU为主处理器,主CPU为从处理器,并设置好相应的GPIO状态标识,同时进入正常工作模式。若主CPU和从CPU同时自检异常,则通过GPIO标识和指示灯进行故障告警。
优选地,所述步骤S4还包括:从CPU处理器通过两层交换机实现与主CPU处理器及FPGA互联的千兆冗余网络接口,监控主CPU处理器的心跳状态,判定主CPU是否异常,并且结合GPIO状态标识,监控主CPU处理器的各任务以及任务执行状态。
优选地,所述步骤S5还包括:若原主CPU复位后自检异常,则此时***原主CPU已宕机故障,需要告警示意,同时,当前正常工作的CPU完成步骤S4中主CPU处理器的工作过程。
第二方面,提供了一种双CPU冗余架构综合控制***,所述***包括:
模块M1:***上电后,通过硬件上电时序控制完成除CPU外的FPGA、CPLD、各交换芯片、光模块、各收发器在内的电源供电和相关外设的复位及初始化工作;
模块M2:进行双路CPU最小***部分的上电初始化工作,此时每个CPU都对应各自独立的供电模组,包括主CPU和从CPU;
模块M3:判定两个CPU处理器的主从分配,并设置好GPIO状态标识;
模块M4:正常工作模式下,主处理器将FPGA扩展出的各低、中、高速扩展总线接口接收到的数据流进行通信协议解析、转换、计算以及处理在内的相关任务,并将处理后的结果或者数据返回给扩展总线接口传出至外设,完成整个通信过程;
模块M5:若当前主CPU处理器出现异常,则完成主从CPU的切换,同时复位原主CPU,若原主CPU复位后自检正常,则继续循环模块M4的工作过程。
优选地,所述模块M3包括:根据主CPU的自检结果,判定主CPU自检状态是否正常,若主CPU自检正常,则设置主CPU为主处理器,从CPU为从处理器,并设置好相应的GPIO状态标识,同时进入正常工作模式。
优选地,所述模块M3还包括:若主CPU自检结果异常,则继续判定从CPU的自检结果,若从CPU自检正常,则设置从CPU为主处理器,主CPU为从处理器,并设置好相应的GPIO状态标识,同时进入正常工作模式。若主CPU和从CPU同时自检异常,则通过GPIO标识和指示灯进行故障告警。
优选地,所述模块M4还包括:从CPU处理器通过两层交换机实现与主CPU处理器及FPGA互联的千兆冗余网络接口,监控主CPU处理器的心跳状态,判定主CPU是否异常,并且结合GPIO状态标识,监控主CPU处理器的各任务以及任务执行状态。
优选地,所述模块M5还包括:若原主CPU复位后自检异常,则此时***原主CPU已宕机故障,需要告警示意,同时,当前正常工作的CPU完成模块M4中主CPU处理器的工作过程。
与现有技术相比,本发明具有如下的有益效果:
1、本发明开发出基于双冗余CPU架构的综合控制***,使FPGA完成的各总线扩展单元,不再局限于通过单个CPU处理器进行通信协议的解析和数据流的计算处理,而是有主处理器和从处理器两个冗余机制CPU互为备份,从“处理器冗余”角度增加了处理和计算的靠干扰能力、异常下的响应能力;
2、本发明依托双冗余CPU处理器和FPGA总线扩展单元,二者之间通过千兆网络进行连接,同时满足“通信冗余”,FPGA内逻辑完成两路冗余网络的配置,通过交换芯片分别与两个CPU处理器进行,从“通信冗余”角度保障了总线扩展单元与计算处理单元之间的安全、可靠的数据传输;
3、本发明依托FPGA总线扩展单元,扩展出包括但不限制于数字量输入、数字量输出、模拟量输入、模拟量输出、RS232、RS422、同步串口、LVDS、BLVDS、MLVDS、SPI、I2C、CAN、LVTTL以及千兆、万兆、FC、SRIO等各种IO外设以及通信总线接口,充分利用了FPGA的动态可重构特性,可以根据不同的适用场合,定制各种不同总线需求的配置,灵活、可靠。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为双CPU冗余架构综合控制***初始化及工作流程框图;
图2为双冗余架构综合控制***硬件框图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明实施例提供了一种双CPU冗余架构综合控制方法,参照图1和图2所示所示,本发明的***总体硬件实现框图主要由2个国产CPU处理器和1个FPGA控制器组成,其中2个国产CPU处理器作为双冗余架构的主要处理器和备份处理器,各自由独立的电源供电模组、时钟模组、调试串口、调试网络接口、存储接口等独立计算、处理所需要的功能单元组成;FPGA作为总线扩展接口,完成对外所需的各类总线的扩展和控制,包括但不限制于数字量输入、数字量输出、模拟量输入、模拟量输出、RS232、RS422、同步串口、LVDS、BLVDS、MLVDS、SPI、I2C、CAN、LVTTL以及千兆、万兆、FC、SRIO等各种IO外设以及通信总线接口;CPU与FPGA之间,采用千兆网络接口并通过二层交换进行连接,对于FPGA而言,这两路网络为双冗余网络接口,以确保通信链路的安全可靠。
参照图1所示,该方法具体包括:
步骤S1:***上电,整板12V供电,通过硬件上电时序控制完成除CPU外的FPGA、CPLD、各交换芯片、光模块、各收发器等电源供电和相关外设的复位及初始化工作。
步骤S2:进行双路CPU最小***部分的上电初始化工作,此时每个CPU都对应各自独立的供电模组,且默认CPU1为主处理器,CPU2为从处理器,即主CPU和从CPU。
步骤S3:判定两个CPU处理器的主从分配,并设置好GPIO状态标识。具体如下:根据主CPU的自检结果,判定主CPU自检状态是否正常,若主CPU自检正常,则设置主CPU为主处理器,从CPU为从处理器,并设置好相应的GPIO状态标识,同时进入正常工作模式。若主CPU自检结果异常,则继续判定从CPU的自检结果,若从CPU自检正常,则设置从CPU为主处理器,主CPU为从处理器,并设置好相应的GPIO状态标识,同时进入正常工作模式。若主CPU和从CPU同时自检异常,则通过GPIO标识和指示灯进行故障告警。
步骤S4:正常工作模式下,主处理器将FPGA扩展出的各低、中、高速扩展总线接口接收到的数据流进行通信协议解析、转换、计算以及处理在内的相关任务,并将处理后的结果或者数据返回给扩展总线接口传出至外设,完成整个通信过程。同时,从CPU处理器通过2层交换机实现与主CPU处理器及FPGA互联的千兆冗余网络接口,监控主CPU处理器的“心跳”状态,判定主CPU是否异常,并且结合GPIO状态标识(由用户根据当前需求下的具体任务种类和类型,自定义各任务的状态由GPIO模组的标识码),监控主CPU处理器的各任务以及任务执行状态,便于故障时及时响应和任务接管。
步骤S5:若当前主CPU处理器出现异常,则完成主从CPU的切换,同时复位原主CPU,若原主CPU复位后自检正常,则继续循环步骤S4的工作过程。若原主CPU复位后自检异常,则此时***原主CPU已宕机故障,需要告警示意,同时,当前正常工作的CPU完成步骤S4中主CPU处理器的工作过程。
接下来,对本发明进行更为具体的说明。
本发明包含两部分,一部分为双冗余单元,也就是CPU计算处理单元,通过电源供电冗余以及CPU处理器冗余的方式,构建双冗余CPU处理器单元,完成对后续扩展总线的通信协议解析以及数据包的计算处理、任务分发等;另一部分是总线扩展单元,由FPGA作为主控制器,内部通过特有的逻辑搭建所需的总线控制器和各种粘贴逻辑等,结合硬件的收发器、保护器等,完成包括但不限制于各IO、各低速、中速、高速总线接口外设的通信控制,利用了FPGA的动态可重构特性,完成了“IO冗余”。同时,这两部分之间通过“通信冗余”方式,采用双冗余千兆网络,完成两两之间的连接,当前的主处理器与FPGA扩展单元之前的通信情况,从处理器可一直监控获取当前主处理器的状态,有异常发生时,第一时间进行响应接管,完成任务的牵引和数据流的计算处理。附图1为双CPU冗余架构综合控制***初始化及工作流程框图,附图2为双冗余架构综合控制***硬件框图。
如图2所示,双冗余架构综合控制***硬件框图:
硬件框图包括双冗余单元和总线扩展单元两大部分以及两部分间的互联通信接口,本发明采用双冗余千兆以太网接口结合二层交换机实现。双冗余单元由两套完全一样的CPU最小***电路组成,包括各自的供电模组、时钟模组、DDR-SDRAM内存、SPI-FLASH引导启动、调试串口、调试网络、PCIE-SATA转换电路(实现mSATA固态硬盘的大容量存储)、PCIE-SRIO转换电路(实现CPU外扩SRIO总线)以及数据通信网络电路(用于双冗余单元与总线扩展单元的互联通信)等。CPU采用国产飞腾FT-2000-4,因为电源上电时序控制的需要以及接口电平转换的需要,还增加了CPLD来实现各CPU的电源上电时序控制以及所需的电平转换控制,同时有GPIO模组与CPLD互联,实现各自CPU状态的指示输出或者输入控制,以备另一片CPU获悉约定好的特定的状态信息。总线扩展单元主要由复旦微电子JFM7VX690T80实现,结合正常工作所需的电源供电模组、各时钟芯片、DDR3-SDRAM存储、BPI-FALSH,以及该FPGA控制器内部丰富的MGT、I/O、时钟等资源,再搭配各种总线专用收发器,更便于各低速、中速及高速总线接口的扩展,支持的总线接口包括但不限制于数字量输入、数字量输出、模拟量输入、模拟量输出、RS232、RS422、同步串口、LVDS、BLVDS、MLVDS、SPI、I2C、CAN、LVTTL以及万兆、FC、SRIO等各种通信总线接口。同时,FPGA内部逻辑可编程实现各种自主IP功能,利用FPGA特有的动态可重构特性,可在不同的需求下进行逻辑的裁剪以及重新加载,可适用各种不同的应用场合。双冗余单元和总线扩展单元之间采用千兆网络进行物理连接,FPGA内部逻辑完成双冗余千兆网络的功能,经过2层交换机后,分别与2个CPU的数据网络端口连接,这样,可以保证无论哪个CPU为主处理,都能与FPGA保持通讯的物理通道连接,实现网络数据的接管,从而保证FPGA外扩总线接口的通信继续。同时主处理器和从处理器也可以互联通信,检测“心跳”信息,从而监测主处理器的状态。再者,2个CPU均有GPIO组与CPLD互联,特定任务状态进行信号高低电平的约定,通过CPLD中间的“握手传达”从处理器可以及时监控主处理器的任务执行情况,进而做出自己的行为判断,从而保证故障响应和任务接管的及时性。
如图1所示,双CPU冗余架构综合控制***的初始化及工作流程框图:
步骤1:***上电,整板12V供电,通过硬件上电时序控制完成除CPU外的FPGA、CPLD、各交换芯片、光模块、各收发器等的电源供电和相关外设的复位及初始化工作。
步骤2:再进行双路CPU最小***部分的上电初始化工作。此时每个CPU都对应各自独立的供电模组,且默认CPU1为主处理器。
步骤3:判定两个CPU处理器的主从分配,并设置好GPIO状态标识。具体如下:根据CPU1的自检结果,判定CPU1自检状态是否正常,若CPU1自检正常,则设置CPU1为主处理器,CPU2为从处理器,并设置好相应的GPIO状态标识,同时进入正常工作模式。若CPU1自检结果异常,则继续判定CPU2的自检结果,若CPU2自检正常,则设置CPU2为主处理器,CPU1为从处理器,并设置好相应的GPIO状态标识,同时进入正常工作模式。若CPU1和CPU2同时自检异常,则通过GPIO标识和指示灯进行故障告警。
步骤4:正常工作模式下,主处理器将FPGA扩展出的各低、中、高速扩展总线接口接收到的数据流进行通信协议解析、转换、计算、处理等任务,并将处理后的结果或者数据返回给扩展总线接口传出至外设,完成整个通信过程。同时,从CPU处理器通过2层交换机实现与主CPU处理器及FPGA互联的千兆冗余网络接口,监控主CPU处理器的“心跳”状态,判定主CPU是否异常,并且结合GPIO状态标识,监控主CPU处理器的各任务以及任务执行状态,便于故障时及时响应和任务接管。
步骤5:若当前主CPU处理器出现异常,则完成主从CPU的切换,同时复位原主CPU,若原主CPU复位后自检正常,则继续循环步骤4的工作过程。若原主CPU复位后自检异常,则此时***原主CPU已宕机故障,需要告警示意,同时,当前正常工作的CPU完成步骤4中主CPU处理器的工作过程。
本发明实施例提供了一种双CPU冗余架构综合控制方法及***,针对当前的冗余控制***,外设扩展要求的总线接口种类繁多,从以往的低速、中速到现在的高速,速度上越来越高且通信模式复杂等情况,开发出将冗余控制和总线扩展两大功能独立实现的***,即CPU只进行数据流的处理、各任务的调度,而总线扩展采用可编程FPGA,利用逻辑可重构的特点,实现各种不同总线需求的定制配置。针对单纯的总线扩展控制器,没有冗余控制机制,无法备份的情况,开发出为总线扩展控制器添加CPU冗余处理器,通过通信冗余的方式将总线扩展控制器与两个CPU处理器进行连接的***,从而大大提升整个***的鲁棒性能。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的***及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的***及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的***及其各项装置、模块、单元可以被认为是一种硬件
部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (10)
1.一种双CPU冗余架构综合控制方法,其特征在于,包括:
步骤S1:***上电后,通过硬件上电时序控制完成除CPU外的FPGA、CPLD、各交换芯片、光模块、各收发器在内的电源供电和相关外设的复位及初始化工作;
步骤S2:进行双路CPU最小***部分的上电初始化工作,此时每个CPU都对应各自独立的供电模组,包括主CPU和从CPU;
步骤S3:判定两个CPU处理器的主从分配,并设置好GPIO状态标识;
步骤S4:正常工作模式下,主处理器将FPGA扩展出的各低、中、高速扩展总线接口接收到的数据流进行通信协议解析、转换、计算以及处理在内的相关任务,并将处理后的结果或者数据返回给扩展总线接口传出至外设,完成整个通信过程;
步骤S5:若当前主CPU处理器出现异常,则完成主从CPU的切换,同时复位原主CPU,若原主CPU复位后自检正常,则继续循环步骤S4的工作过程。
2.根据权利要求1所述的双CPU冗余架构综合控制方法,其特征在于,所述步骤S3包括:根据主CPU的自检结果,判定主CPU自检状态是否正常,若主CPU自检正常,则设置主CPU为主处理器,从CPU为从处理器,并设置好相应的GPIO状态标识,同时进入正常工作模式。
3.根据权利要求2所述的双CPU冗余架构综合控制方法,其特征在于,所述步骤S3还包括:若主CPU自检结果异常,则继续判定从CPU的自检结果,若从CPU自检正常,则设置从CPU为主处理器,主CPU为从处理器,并设置好相应的GPIO状态标识,同时进入正常工作模式。若主CPU和从CPU同时自检异常,则通过GPIO标识和指示灯进行故障告警。
4.根据权利要求1所述的双CPU冗余架构综合控制方法,其特征在于,所述步骤S4还包括:从CPU处理器通过两层交换机实现与主CPU处理器及FPGA互联的千兆冗余网络接口,监控主CPU处理器的心跳状态,判定主CPU是否异常,并且结合GPIO状态标识,监控主CPU处理器的各任务以及任务执行状态。
5.根据权利要求1所述的双CPU冗余架构综合控制方法,其特征在于,所述步骤S5还包括:若原主CPU复位后自检异常,则此时***原主CPU已宕机故障,需要告警示意,同时,当前正常工作的CPU完成步骤S4中主CPU处理器的工作过程。
6.一种双CPU冗余架构综合控制***,其特征在于,包括:
模块M1:***上电后,通过硬件上电时序控制完成除CPU外的FPGA、CPLD、各交换芯片、光模块、各收发器在内的电源供电和相关外设的复位及初始化工作;
模块M2:进行双路CPU最小***部分的上电初始化工作,此时每个CPU都对应各自独立的供电模组,包括主CPU和从CPU;
模块M3:判定两个CPU处理器的主从分配,并设置好GPIO状态标识;
模块M4:正常工作模式下,主处理器将FPGA扩展出的各低、中、高速扩展总线接口接收到的数据流进行通信协议解析、转换、计算以及处理在内的相关任务,并将处理后的结果或者数据返回给扩展总线接口传出至外设,完成整个通信过程;
模块M5:若当前主CPU处理器出现异常,则完成主从CPU的切换,同时复位原主CPU,若原主CPU复位后自检正常,则继续循环模块M4的工作过程。
7.根据权利要求6所述的双CPU冗余架构综合控制***,其特征在于,所述模块M3包括:根据主CPU的自检结果,判定主CPU自检状态是否正常,若主CPU自检正常,则设置主CPU为主处理器,从CPU为从处理器,并设置好相应的GPIO状态标识,同时进入正常工作模式。
8.根据权利要求7所述的双CPU冗余架构综合控制***,其特征在于,所述模块M3还包括:若主CPU自检结果异常,则继续判定从CPU的自检结果,若从CPU自检正常,则设置从CPU为主处理器,主CPU为从处理器,并设置好相应的GPIO状态标识,同时进入正常工作模式。若主CPU和从CPU同时自检异常,则通过GPIO标识和指示灯进行故障告警。
9.根据权利要求6所述的双CPU冗余架构综合控制***,其特征在于,所述模块M4还包括:从CPU处理器通过两层交换机实现与主CPU处理器及FPGA互联的千兆冗余网络接口,监控主CPU处理器的心跳状态,判定主CPU是否异常,并且结合GPIO状态标识,监控主CPU处理器的各任务以及任务执行状态。
10.根据权利要求6所述的双CPU冗余架构综合控制***,其特征在于,所述模块M5还包括:若原主CPU复位后自检异常,则此时***原主CPU已宕机故障,需要告警示意,同时,当前正常工作的CPU完成模块M4中主CPU处理器的工作过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210780505.9A CN115328706A (zh) | 2022-07-04 | 2022-07-04 | 双cpu冗余架构综合控制方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210780505.9A CN115328706A (zh) | 2022-07-04 | 2022-07-04 | 双cpu冗余架构综合控制方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115328706A true CN115328706A (zh) | 2022-11-11 |
Family
ID=83917488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210780505.9A Pending CN115328706A (zh) | 2022-07-04 | 2022-07-04 | 双cpu冗余架构综合控制方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115328706A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116974636A (zh) * | 2023-08-03 | 2023-10-31 | 上海合芯数字科技有限公司 | 多路互联***及其总线接口初始化方法、装置 |
-
2022
- 2022-07-04 CN CN202210780505.9A patent/CN115328706A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116974636A (zh) * | 2023-08-03 | 2023-10-31 | 上海合芯数字科技有限公司 | 多路互联***及其总线接口初始化方法、装置 |
CN116974636B (zh) * | 2023-08-03 | 2024-04-26 | 上海合芯数字科技有限公司 | 多路互联***及其总线接口初始化方法、装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110351174B (zh) | 一种模块冗余的安全计算机平台 | |
CN110376876B (zh) | 一种双系同步的安全计算机平台 | |
US20020152425A1 (en) | Distributed restart in a multiple processor system | |
JPH03131939A (ja) | 高信頼性コンピュータ診断システム | |
CN104050061A (zh) | 一种基于PCIe总线多主控板冗余备份*** | |
JPH11143729A (ja) | フォールトトレラントコンピュータ | |
US20200110372A1 (en) | Control Device for Redundant Execution of an Operating Function and Motor Vehicle | |
JPH0934809A (ja) | 高信頼化コンピュータシステム | |
US20040059862A1 (en) | Method and apparatus for providing redundant bus control | |
CN115328706A (zh) | 双cpu冗余架构综合控制方法及*** | |
CN112445751B (zh) | 适用于多模冗余***的计算机主机接口板 | |
JP6135403B2 (ja) | 情報処理システム、情報処理システムの障害処理方法 | |
CN117785614A (zh) | 双余度计算机的故障监控及切换方法 | |
JP3424968B2 (ja) | 計算機システム及びプロセッサチップ及び障害復旧方法 | |
CN113312094B (zh) | 一种多核处理器应用***及提高其可靠性的方法 | |
CN115408240A (zh) | 一种冗余***主备方法、装置、设备及储存介质 | |
CN115391251A (zh) | 一种无人机智能飞控芯片架构 | |
WO2001084252A1 (fr) | Systeme de commande de multiplexage et procede de multiplexage associe | |
US7836335B2 (en) | Cost-reduced redundant service processor configuration | |
US10991235B2 (en) | Fire-prevention control unit | |
Börcsök et al. | Safe-system-on-chip for functional safety | |
Thompson | Transputer-based fault tolerance in safety-critical systems | |
CN114194125B (zh) | 一种整车控制器、整车控制器的运行方法及汽车 | |
US10108253B2 (en) | Multiple compute nodes | |
JPS60173602A (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 |