CN114237990A - 一种基于fpga芯片的二乘冗余切换方法及装置 - Google Patents
一种基于fpga芯片的二乘冗余切换方法及装置 Download PDFInfo
- Publication number
- CN114237990A CN114237990A CN202111370996.1A CN202111370996A CN114237990A CN 114237990 A CN114237990 A CN 114237990A CN 202111370996 A CN202111370996 A CN 202111370996A CN 114237990 A CN114237990 A CN 114237990A
- Authority
- CN
- China
- Prior art keywords
- fpga chip
- board card
- signal
- cpu
- message
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 41
- 238000004590 computer program Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 abstract description 13
- 230000003993 interaction Effects 0.000 abstract description 10
- 238000013461 design Methods 0.000 abstract description 8
- 238000011161 development Methods 0.000 abstract description 8
- 230000008878 coupling Effects 0.000 abstract description 3
- 238000010168 coupling process Methods 0.000 abstract description 3
- 238000005859 coupling reaction Methods 0.000 abstract description 3
- 230000006870 function Effects 0.000 description 11
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
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/1608—Error detection by comparing the output signals of redundant hardware
- G06F11/1625—Error detection by comparing the output signals of redundant hardware in communications, e.g. transmission, interfaces
-
- 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/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请提供了一种基于FPGA芯片的二乘冗余切换方法及装置,涉及轨道交通信息安全领域,包括:第一板卡包括第一FPGA芯片和第一CPU,第二板卡包括第二FPGA芯片和第二CPU;根据第一FPGA芯片通过GPIO总线向第二FPGA芯片发送第一脉冲信号,得到第一信号,并通过SPI总线向第一CPU发送心跳报文,得到第一报文;根据第一报文和第一CPU的自检信息对第一板卡是否具备正常工作条件进行判断,若是,根据第一FPGA芯片将第一板卡设置为主系并对第一信号进行脉冲信号的改变,得到第二信号;根据第二信号将第二板卡设置为备系。本设计使用FPGA走总线数据交互,将二乘功能与应用软件和操作系统分离,解除与应用层的耦合度,开发过程中更易排查问题,提高开发效率,实现自主可控。
Description
技术领域
本申请涉及轨道交通信息安全领域,尤其涉及一种基于FPGA芯片的二乘冗余切换方法及装置。
背景技术
在轨道交通领域,信息的处理秉持着以安全为导向的原则,因此,为了提高系统的安全性,系统软件都采用二乘冗余切换的设计。二乘冗余功能是否能正常工作,直接关系到系统的运行的安全性。轨道交通的信号处理的二乘功能冗余功能一般由两块相同的CPU板卡中运行着相同的应用程序组成,在同一时刻只存在一块板卡执行工作,作为主板卡。另一块板处于备用状态,作为备板卡。只有正在工作的主板卡出现故障之后,自身将级为故障状态,另一块备用板卡自动接替工作,升级为主板卡。该设计极大的提升了系统的工作的安全性,当某个模块出现故障会有备用模块接替工作,而不会影响整个系统的正常功能。
目前国内的二乘冗余方案的实现主要基于运行在CPU上的系统软件,通过以太网交换数据信息。操作系统均使用Wind River System的VxWorks操作系统。一方面使用以太网交互数据故障概率较高,设计复杂,对系统软件的依赖校强。另一方面使用VxWorks系统,无法自主可控,在开发过程中问题难以排查。
发明内容
本申请提供了一种基于FPGA芯片的二乘冗余切换方法及装置,旨在解决上述中存在的交互数据故障概率较高,设计复杂,对系统软件的依赖校强,无法自主可控,在开发过程中问题难以排查的问题。
为了实现上述目的,本方案采用以下技术方案,包括:
硬件层的硬件包括第一板卡和第二板卡,所述第一板卡包括第一FPGA芯片和第一CPU,所述第二板卡包括第二FPGA芯片和第二CPU;
根据所述第一FPGA芯片通过GPIO总线向所述第二FPGA芯片发送第一脉冲信号,得到第一信号,并通过SPI总线向所述第一CPU发送心跳报文,得到第一报文;
根据所述第一报文和所述第一CPU的自检信息对所述第一板卡是否具备正常工作条件进行判断,若是,根据所述第一FPGA芯片将所述第一板卡设置为主系并对所述第一信号进行脉冲信号的改变,得到第二信号;
根据所述第二信号将所述第二板卡设置为备系。
作为优选,所述根据所述第一报文和所述第一CPU的自检信息对所述第一板卡是否具备正常工作条件进行判断,还包括:
若否,根据所述第二CPU的自检信息对所述第二板卡是否具备正常工作条件进行判断,若是,根据所述第二FPGA芯片对所述第一FPGA芯片发送第二脉冲信号,得到第三信号;
根据所述第三信号将所述第二板卡设置为所述主系。
作为优选,所述根据所述第一FPGA芯片通过GPIO总线向所述第二FPGA芯片发送第一脉冲信号,得到第一信号,并通过SPI总线向所述第一CPU发送心跳报文,得到第一报文,还包括:
根据所述第二FPGA芯片通过所述GPIO总线向所述第一FPGA芯片发送第三脉冲信号,得到第四信号,根据所述第一CPU将所述自检信息通过所述SPI总线对所述第一FPGA芯片进行发送,得到第二报文;
根据所述第一FPGA芯片的定时器按照预设周期对所述第一FPGA芯片是否获得所述第二报文进行判断,若是,重置所述定时器。
作为优选,所述根据所述第一FPGA芯片的定时器按照预设周期对所述第一FPGA芯片是否获得所述第二报文进行判断,还包括:
若否,根据所述第一FPGA芯片将所述第一板卡设置为所述备系并对所述第二FPGA芯片发送第四脉冲信号,得到第五信号;
根据所述第五信号将所述第二板卡设置为所述主系。
作为优选,所述将所述第一板卡设置为所述备系,并将所述第二板卡设置为所述主系,还包括:
当所述第一信号为空,将所述第一板卡设置为所述备系。
一种基于FPGA芯片的二乘冗余切换装置,包括:
板卡部件模块:用于,所述第一板卡包括第一FPGA芯片和第一CPU,所述第二板卡包括第二FPGA芯片和第二CPU;
第一报文获取模块:用于根据所述第一FPGA芯片通过GPIO总线向所述第二FPGA芯片发送第一脉冲信号,得到第一信号,并通过SPI总线向所述第一CPU发送心跳报文,得到第一报文;
第二信号获取模块:用于根据所述第一报文和所述第一CPU的自检信息对所述第一板卡是否具备正常工作条件进行判断,若是,根据所述第一FPGA芯片将所述第一板卡设置为主系并对所述第一信号进行脉冲信号的改变,得到第二信号;
板卡第一设置模块:用于根据所述第二信号将所述第二板卡设置为备系。
作为优选,所述第二信号获取模块,还包括:
第三信号获取模块:用于判断若否,根据所述第二CPU的自检信息对所述第二板卡是否具备正常工作条件进行判断,若是,根据所述第二FPGA芯片对所述第一FPGA芯片发送第二脉冲信号,得到第三信号;
板卡第二设置模块:用于根据所述第三信号将所述第二板卡设置为所述主系。
作为优选,所述第一报文获取模块,还包括:
第二报文获取模块:用于根据所述第二FPGA芯片通过所述GPIO总线向所述第一FPGA芯片发送第三脉冲信号,得到第四信号,根据所述第一CPU将所述自检信息通过所述SPI总线对所述第一FPGA芯片进行发送,得到第二报文;
定时器重置模块:用于根据所述第一FPGA芯片的定时器按照预设周期对所述第一FPGA芯片是否获得所述第二报文进行判断,若是,重置所述定时器。
一种基于FPGA芯片的二乘冗余切换装置,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如上述中任一项所述的一种基于FPGA芯片的二乘冗余切换方法。
一种存储有计算机程序的计算机可读存储介质,所述计算机程序被计算机执行时实现如上述中任一项所述的一种基于FPGA芯片的二乘冗余切换方法。
本发明具有以下有益效果:
由于使用以太网交互数据故障概率较高,设计复杂,对系统软件的依赖校强,所以本设计使用FPGA走总线数据交互,提高了数据传输的可靠性,另一方面解除了二乘冗余功能对应用层(包括操作系统)的依赖,增加了该功能的通用性,将二乘功能与应用软件和操作系统分离,解除了与应用层的耦合度,开发过程中更易排查问题,提高开发效率,实现自主可控;在硬件层正常工作的过程中,两个信号处理板卡在实时的进行信息交互,当一个板卡出现问题,不能正常工作的时候,系统会自动将本版卡由“主”降为“备”,并且另一板卡如果具备正常工作的条件,就会根据原来工作板卡的实时交互信息及时进行反馈,将另一板卡的工作状态由“备”升为“主”,这样可以在一个板卡遇到故障导致不能正常工作的时候,及时不间断的由另一板卡代替工作,增加整体装置或系统的工作安全,保障了信息能够不因意外情况造成缺失,提高了信息的安全性;由于板卡的是否具备正常工作的条件因不同的应用程序和应用场景而不同,难以形成统一标准,为了使系统更加通用,本技术方案将是否具备正常工作的条件交由应用程序决定,再通过SPI总线的心跳报文的形式将是否具备工作条件的信息交由FPGA,由FPGA芯片进行本板卡主备的确定,另一系的主备状态通过FPGA直接相连的总线发送不同的脉冲进行区分,并根据该脉冲信号设置本板卡的工作状态,增加了系统的通用性。
附图说明
图1为本发明实施例实现一种基于FPGA芯片的二乘冗余切换方法的流程图
图2为本发明实施例中的一种硬件层板卡间信息交互的结构示意图
图3为本发明实施例中的一种板卡中的FPGA芯片内部工作流程的结构示意图
图4为本发明实施例实现一种对方板卡不具备工作条件时,本板卡进行主备切换的方法的流程图
图5为本发明实施例实现一种基于FPGA芯片的二乘冗余切换装置的结构示意图
图6为本发明实施例实现一种基于FPGA芯片的二乘冗余切换装置中的第二信号获取模块30的结构示意图
图7为本发明实施例实现一种基于FPGA芯片的二乘冗余切换装置中的第一报文获取模块20的结构示意图
图8为本发明实施例实现一种基于FPGA芯片的二乘冗余切换装置的一种电子设备示意图
具体实施方式
下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请的权利要求书和说明书的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序,应该理解这样使用的术语在适当情况下可以互换,这仅仅是描述本申请的实施例中对相同属性的对象在描述时所采用的区分方式,此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,以便包含一系列单元的过程、方法、系统、产品或设备不必限于那些单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其他单元。
在本文中,第一板卡和第二板卡只是象征性的表示两个不同的板卡,之间并没有优先级顺序关系,即两个板卡都可以为第一板卡或第二板卡。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同,本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是在于限制本申请。
实施例1
如图1所示,一种基于FPGA芯片的二乘冗余切换方法,包括以下步骤:
S11、所述第一板卡包括第一FPGA芯片和第一CPU,所述第二板卡包括第二FPGA芯片和第二CPU;
S12、根据所述第一FPGA芯片通过GPIO总线向所述第二FPGA芯片发送第一脉冲信号,得到第一信号,并通过SPI总线向所述第一CPU发送心跳报文,得到第一报文;
S13、根据所述第一报文和所述第一CPU的自检信息对所述第一板卡是否具备正常工作条件进行判断,若是,根据所述第一FPGA芯片将所述第一板卡设置为主系并对所述第一信号进行脉冲信号的改变,得到第二信号;
S14、根据所述第二信号将所述第二板卡设置为备系。
在本实施例中,本二乘冗余切换方法应用于硬件层,整个硬件由两块相同的信号处理板卡组成即“第一板卡和第二板卡”,信号处理板卡上有一块FPGA芯片,两个板卡之间的FPGA有两条数据总线(avtive总线是软件层描述,GPIO总线是物理链路,二者一样)直接相连。每个板卡上都有FPGA芯片与CPU通过SPI总线连接,即“第一板卡包括第一FPGA芯片和第一CPU,第二板卡包括第二FPGA芯片和第二CPU”,如图2所示,其中两个板卡之间的FPGA有两条之间相连的active数据总线即GPIO总线,一条作为输入,一条作为输出,FPGA与CPU之间采用SPI数据总线,CPU端部署两块CPU芯片,一块只能接收SPI不能发送,一块可发可收,FPGA每次向两块CPU芯片发送相同的数据,两个CPU在获取到相同的输入数据之后,通过两个CPU之间的网络通信交互数据,互相校验,验证数据的正确性,并根据相同的输入,在异构的程序下形成输出数据,再互相校验,只有在得到相同输出数据时,才真正将输出数据输出,以此,两块CPU芯片可实现二取二表决;在上电初始时,双方FPGA芯片都会向active总线输出备的脉冲信号进行信息交互,也就是说“第一FPGA芯片通过GPIO总线向第二FPGA芯片发送第一脉冲信号,该信号为第一信号,并且第二FPGA芯片通过GPIO总线向第一FPGA芯片发送第三脉冲信号,该信号为第四信号”,在两个FPGA芯片进行信息交互后,都会向各自的CPU输出自己是备的心跳报文,即“第一FPGA芯片向第一CPU发送心跳报文,该是备的心跳报文为第一报文”,第二FPGA芯片也会向第二CPU发送自己是备的心跳报文,然后各自FPGA芯片等待接收各自的CPU反馈发送的心跳报文;然后CPU会接收到各自的心跳报文,CPU接收到FPGA发送的心跳报文之后,根据FPGA发送的主备信息而进行相应的工作,并对自身进行综合自检总结自己是否具备正常工作的条件,然后将结果发送给对应的FPGA芯片,对于第一板卡来说,该过程即“根据第一报文和第一CPU的自检信息对第一板卡是否具备正常工作条件进行判断”,对于第二板卡来说,第二CPU也会将自身是否具备工作条件的结果信息对第二FPGA芯片进行发送,在FPGA芯片每一次接到FSC报文之后,会解析FSC报文(该报文即心跳报文),该过程对于第一板卡来说,即“第一CPU将自检信息通过SPI总线对第一FPGA芯片进行发送,该传输的自检信息以心跳报文形式传输,该报文即第二报文”,如果此报文信息内容显示CPU认为具备工作条件,那么对应的FPGA芯片会将自己板卡的工作状态设置为主,并对初始发出的备的脉冲信号进行改变,将脉冲信号变为主,该过程即“若是,根据所述第一FPGA芯片将所述第一板卡设置为主系并对所述第一信号进行脉冲信号的改变,得到第二信号”,并通过总线将该信号发送给另一板卡中的FPGA芯片,另一板卡在收到对方是主的信息之后,另一板卡不改变原始状态,依旧还是为备的工作状态,同时也将该信号回复给自己CPU,此时本板卡的工作状态为主,并根据该自己为主的脉冲信号使得另一板卡的工作状态设置为备,该过程即“根据所述第二信号将所述第二板卡设置为备系”;
同时在FPGA芯片内部有定时器,会按照定时器设置好的固定周期对CPU反馈的报文信息进行检测,判断是否在周期内有报文信息反馈,如果在周期内获得了对应CPU发来的心跳报文,会根据报文信息,完成如图3中CH,MH,PRIO,STA标志符的赋值,以及重启超时定时器等工作,即“第一FPGA芯片的定时器按照预设周期对第一FPGA芯片是否获得第二报文进行判断,若是,重置定时器”,如果定时器超时(也就是说CPU没能在固定周期时间内发送心跳报文,FPGA芯片没有在周期时间内获得对应CPU发来的心跳报文),则FPGA芯片将本板卡是否具备正常工作条件设置为“否”,并将本板卡的工作状态设置为备,然后将此时本板卡的工作状态为备的信息以脉冲信号形式发送给另一板卡,另一板卡收到该信息之后,以一定采样率(如50HZ)去解析输入的ACTIVE脉冲信号,根据脉冲信号的占空比,解析得到DST_ACTIVE和对方主备信息值,并根据DST_ACTIVE,PRIO,STA的值生成ONSEF标识符,并根据标识符生成输出ACTIVE脉冲信号,并且会根据该脉冲信号将自己板卡的工作状态设置为主,该过程即“若否,根据所述第一FPGA芯片将所述第一板卡设置为所述备系并对所述第二FPGA芯片发送第四脉冲信号,得到第五信号;根据所述第五信号将所述第二板卡设置为所述主系”。
本实施例的有益效果为:本设计使用FPGA走总线数据交互,提高了数据传输的可靠性,另一方面解除了二乘冗余功能对应用层(包括操作系统)的依赖,增加了该功能的通用性,将二乘功能与应用软件和操作系统分离,解除了与应用层的耦合度,开发过程中更易排查问题,提高开发效率,实现自主可控,并且由于板卡的是否具备正常工作的条件因不同的应用程序和应用场景而不同,难以形成统一标准,为了使系统更加通用,本技术方案将是否具备正常工作的条件交由应用程序决定,再通过SPI总线的心跳报文的形式将是否具备工作条件的信息交由FPGA,由FPGA芯片进行本板卡主备的确定,另一系的主备状态通过FPGA直接相连的总线发送不同的脉冲进行区分,并根据该脉冲信号设置本板卡的工作状态,增加了系统的通用性。
实施例2
如图4所示,一种对方板卡不具备工作条件时,本板卡进行主备切换的方法,包括以下步骤:
S21、根据所述第一报文和所述第一CPU的自检信息对所述第一板卡是否具备正常工作条件进行判断;
S22、若否,根据所述第二CPU的自检信息对所述第二板卡是否具备正常工作条件进行判断,若是,根据所述第二FPGA芯片对所述第一FPGA芯片发送第二脉冲信号,得到第三信号;
S23、根据所述第三信号将所述第二板卡设置为所述主系。
在本实施例中,当第一板卡的第一CPU在获得的第一报文信息后,通过自检信息对本板卡是否具备正常工作条件进行判断时,发现本板卡不具有工作条件时,即判断结果为否时,则第一板卡的第一FPGA芯片会将备的脉冲信号发送给第二板卡的第二FPGA芯片,并且第一FPGA芯片会将第一板卡的工作状态设置为备,第二FPGA芯片收到该脉冲信号之后首先将对方为备的信息以心跳报文的形式发送给第二CPU,第二CPU在收到对方为备的信息之后,会对本板卡是否具备工作条件进行分析判断,如果判断结果是本板卡具有工作条件,那么将该信息再以心跳报文的形式发送给第二FPGA芯片,第二FPGA芯片根据该信息将本板卡即第二板卡设置为主,此时实现了第二板卡由备升主的状态,并将本板卡为主的信息以脉冲信号形式发送给第一板卡,该脉冲信号即第二脉冲信号,该信息即为第三信号;
当第二CPU在收到对方为备的信息之后,对本板卡是否具备工作条件进行分析,判断结果为不具备的时候,也会将该消息发送给第二FPGA芯片,并且第二FPGA芯片会将本板卡的工作状态设置为备,此时第一板卡和第二板卡的工作状态都为备,即停止工作,并且当第一信号为空,即第一FPGA芯片没有脉冲信号发出时,第一FPGA芯片将第一板卡设置为备,第二FPGA芯片也没有脉冲信号发出时,也将第二板卡设置为备,当上述情况发生时,代表出现死机或是停止工作的情况。
本实施例的有益效果为:在硬件层正常工作的过程中,两个信号处理板卡在实时的进行信息交互,当一个板卡出现问题,不能正常工作的时候,系统会自动将本版卡由“主”降为“备”,并且另一板卡如果具备正常工作的条件,就会根据原来工作板卡的实时交互信息及时进行反馈,将另一板卡的工作状态由“备”升为“主”,这样可以在一个板卡遇到故障导致不能正常工作的时候,及时不间断的由另一板卡代替工作,增加整体装置或系统的工作安全,保障了信息能够不因意外情况造成缺失,提高了信息的安全性。
实施例3
如图5所示,一种基于FPGA芯片的二乘冗余切换装置,包括:
板卡部件模块10:用于,所述第一板卡包括第一FPGA芯片和第一CPU,所述第二板卡包括第二FPGA芯片和第二CPU;
第一报文获取模块20:用于根据所述第一FPGA芯片通过GPIO总线向所述第二FPGA芯片发送第一脉冲信号,得到第一信号,并通过SPI总线向所述第一CPU发送心跳报文,得到第一报文;
第二信号获取模块30:用于根据所述第一报文和所述第一CPU的自检信息对所述第一板卡是否具备正常工作条件进行判断,若是,根据所述第一FPGA芯片将所述第一板卡设置为主系并对所述第一信号进行脉冲信号的改变,得到第二信号;
板卡第一设置模块40:用于根据所述第二信号将所述第二板卡设置为备系。
上述装置的一种实施方式为,在板卡部件模块10中,所述第一板卡包括第一FPGA芯片和第一CPU,所述第二板卡包括第二FPGA芯片和第二CPU,在第一报文获取模块20中,根据所述第一FPGA芯片通过GPIO总线向所述第二FPGA芯片发送第一脉冲信号,得到第一信号,并通过SPI总线向所述第一CPU发送心跳报文,得到第一报文,在第二信号获取模块30中,根据所述第一报文和所述第一CPU的自检信息对所述第一板卡是否具备正常工作条件进行判断,若是,根据所述第一FPGA芯片将所述第一板卡设置为主系并对所述第一信号进行脉冲信号的改变,得到第二信号,在板卡第一设置模块40中,根据所述第二信号将所述第二板卡设置为备系。
实施例4
如图6所示,一种基于FPGA芯片的二乘冗余切换装置中的第二信号获取模块30,包括:
第三信号获取模块31:用于判断若否,根据所述第二CPU的自检信息对所述第二板卡是否具备正常工作条件进行判断,若是,根据所述第二FPGA芯片对所述第一FPGA芯片发送第二脉冲信号,得到第三信号;
板卡第二设置模块32:用于根据所述第三信号将所述第二板卡设置为所述主系。
上述装置的一种实施方式为,在第三信号获取模块31中,判断若否,根据所述第二CPU的自检信息对所述第二板卡是否具备正常工作条件进行判断,若是,根据所述第二FPGA芯片对所述第一FPGA芯片发送第二脉冲信号,得到第三信号,在板卡第二设置模块32中,根据所述第三信号将所述第二板卡设置为所述主系。
实施例5
如图7所示,一种基于FPGA芯片的二乘冗余切换装置中的第一报文获取模块20,包括:
第二报文获取模块21:用于根据所述第二FPGA芯片通过所述GPIO总线向所述第一FPGA芯片发送第三脉冲信号,得到第四信号,根据所述第一CPU将所述自检信息通过所述SPI总线对所述第一FPGA芯片进行发送,得到第二报文;
定时器重置模块22:用于根据所述第一FPGA芯片的定时器按照预设周期对所述第一FPGA芯片是否获得所述第二报文进行判断,若是,重置所述定时器。
上述装置的一种实施方式为,在第二报文获取模块21中,根据所述第二FPGA芯片通过所述GPIO总线向所述第一FPGA芯片发送第三脉冲信号,得到第四信号,根据所述第一CPU将所述自检信息通过所述SPI总线对所述第一FPGA芯片进行发送,得到第二报文,在定时器重置模块22中,根据所述第一FPGA芯片的定时器按照预设周期对所述第一FPGA芯片是否获得所述第二报文进行判断,若是,重置所述定时器。
实施例6
如图8所示,一种电子设备,包括存储器601和处理器602,所述存储器601用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器602执行以实现上述的任一一种方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的电子设备的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
一种存储有计算机程序的计算机可读存储介质,所述计算机程序使计算机执行时实现如上述的任一一种方法。
示例性的,计算机程序可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器601中,并由处理器602执行,并由输入接口605和输出接口606完成数据的I/O接口传输,以完成本发明,一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机设备中的执行过程。
计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。计算机设备可包括,但不仅限于,存储器601、处理器602,本领域技术人员可以理解,本实施例仅仅是计算机设备的示例,并不构成对计算机设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机设备还可以包括输入器607、网络接入设备、总线等。
处理器602可以是中央处理单元(CentralProcessingUnit,CPU),还可以是其他通用处理器602、数字信号处理器602(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、现成可编程门阵列(Field-ProgRAM503mableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器602可以是微处理器602或者该处理器602也可以是任何常规的处理器602等。
存储器601可以是计算机设备的内部存储单元,例如计算机设备的硬盘或内存。存储器601也可以是计算机设备的外部存储设备,例如计算机设备上配备的插接式硬盘,智能存储卡(SmartMediaCard,SMC),安全数字(SecureDigital,SD)卡,闪存卡(FlashCard)等,进一步地,存储器601还可以既包括计算机设备的内部存储单元也包括外部存储设备,存储器601用于存储计算机程序以及计算机设备所需的其他程序和数据,存储器601还可以用于暂时地存储在输出器608,而前述的存储介质包括U盘、移动硬盘、只读存储器ROM603、随机存储器RAM604、碟盘或光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的具体实施例,但本发明的技术特征并不局限于此,任何本领域的技术人员在本发明的领域内,所作的变化或修饰皆涵盖在本发明的专利范围之中。
Claims (10)
1.一种基于FPGA芯片的二乘冗余切换方法,其特征在于,应用于硬件层,所述硬件层的硬件包括第一板卡和第二板卡,包括:
所述第一板卡包括第一FPGA芯片和第一CPU,所述第二板卡包括第二FPGA芯片和第二CPU;
根据所述第一FPGA芯片通过GPIO总线向所述第二FPGA芯片发送第一脉冲信号,得到第一信号,并通过SPI总线向所述第一CPU发送心跳报文,得到第一报文;
根据所述第一报文和所述第一CPU的自检信息对所述第一板卡是否具备正常工作条件进行判断,若是,根据所述第一FPGA芯片将所述第一板卡设置为主系并对所述第一信号进行脉冲信号的改变,得到第二信号;
根据所述第二信号将所述第二板卡设置为备系。
2.根据权利要求1所述一种基于FPGA芯片的二乘冗余切换方法,其特征在于,所述根据所述第一报文和所述第一CPU的自检信息对所述第一板卡是否具备正常工作条件进行判断,还包括:
若否,根据所述第二CPU的自检信息对所述第二板卡是否具备正常工作条件进行判断,若是,根据所述第二FPGA芯片对所述第一FPGA芯片发送第二脉冲信号,得到第三信号;
根据所述第三信号将所述第二板卡设置为所述主系。
3.根据权利要求1所述一种基于FPGA芯片的二乘冗余切换方法,其特征在于,所述根据所述第一FPGA芯片通过GPIO总线向所述第二FPGA芯片发送第一脉冲信号,得到第一信号,并通过SPI总线向所述第一CPU发送心跳报文,得到第一报文,还包括:
根据所述第二FPGA芯片通过所述GPIO总线向所述第一FPGA芯片发送第三脉冲信号,得到第四信号,根据所述第一CPU将所述自检信息通过所述SPI总线对所述第一FPGA芯片进行发送,得到第二报文;
根据所述第一FPGA芯片的定时器按照预设周期对所述第一FPGA芯片是否获得所述第二报文进行判断,若是,重置所述定时器。
4.根据权利要求3所述一种基于FPGA芯片的二乘冗余切换方法,其特征在于,所述根据所述第一FPGA芯片的定时器按照预设周期对所述第一FPGA芯片是否获得所述第二报文进行判断,还包括:
若否,根据所述第一FPGA芯片将所述第一板卡设置为所述备系并对所述第二FPGA芯片发送第四脉冲信号,得到第五信号;
根据所述第五信号将所述第二板卡设置为所述主系。
5.根据权利要求2所述一种基于FPGA芯片的二乘冗余切换方法,其特征在于,所述将所述第一板卡设置为所述备系,并将所述第二板卡设置为所述主系,还包括:
当所述第一信号为空,将所述第一板卡设置为所述备系。
6.一种基于FPGA芯片的二乘冗余切换装置,用于实现如权利要求1所述的一种基于FPGA芯片的二乘冗余切换方法,其特征在于,包括:
板卡部件模块:用于,所述第一板卡包括第一FPGA芯片和第一CPU,所述第二板卡包括第二FPGA芯片和第二CPU;
第一报文获取模块:用于根据所述第一FPGA芯片通过GPIO总线向所述第二FPGA芯片发送第一脉冲信号,得到第一信号,并通过SPI总线向所述第一CPU发送心跳报文,得到第一报文;
第二信号获取模块:用于根据所述第一报文和所述第一CPU的自检信息对所述第一板卡是否具备正常工作条件进行判断,若是,根据所述第一FPGA芯片将所述第一板卡设置为主系并对所述第一信号进行脉冲信号的改变,得到第二信号;
板卡第一设置模块:用于根据所述第二信号将所述第二板卡设置为备系。
7.根据权利要求6所述的一种基于FPGA芯片的二乘冗余切换装置,其特征在于,所述第二信号获取模块,还包括:
第三信号获取模块:用于判断若否,根据所述第二CPU的自检信息对所述第二板卡是否具备正常工作条件进行判断,若是,根据所述第二FPGA芯片对所述第一FPGA芯片发送第二脉冲信号,得到第三信号;
板卡第二设置模块:用于根据所述第三信号将所述第二板卡设置为所述主系。
8.根据权利要求6所述的一种基于FPGA芯片的二乘冗余切换装置,其特征在于,所述第一报文获取模块,还包括:
第二报文获取模块:用于根据所述第二FPGA芯片通过所述GPIO总线向所述第一FPGA芯片发送第三脉冲信号,得到第四信号,根据所述第一CPU将所述自检信息通过所述SPI总线对所述第一FPGA芯片进行发送,得到第二报文;
定时器重置模块:用于根据所述第一FPGA芯片的定时器按照预设周期对所述第一FPGA芯片是否获得所述第二报文进行判断,若是,重置所述定时器。
9.一种基于FPGA芯片的二乘冗余切换装置,其特征在于,包括存储器和处理器,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现如权利要求1-5中任一项所述的一种基于FPGA芯片的二乘冗余切换方法。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被计算机执行时实现如权利要求1-5中任一项所述的一种基于FPGA芯片的二乘冗余切换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111370996.1A CN114237990B (zh) | 2021-11-18 | 2021-11-18 | 一种基于fpga芯片的二乘冗余切换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111370996.1A CN114237990B (zh) | 2021-11-18 | 2021-11-18 | 一种基于fpga芯片的二乘冗余切换方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114237990A true CN114237990A (zh) | 2022-03-25 |
CN114237990B CN114237990B (zh) | 2024-04-26 |
Family
ID=80749971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111370996.1A Active CN114237990B (zh) | 2021-11-18 | 2021-11-18 | 一种基于fpga芯片的二乘冗余切换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114237990B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115037674A (zh) * | 2022-05-16 | 2022-09-09 | 郑州小鸟信息科技有限公司 | 一种中央控制系统单机及多设备冗余备份方法 |
CN117555278A (zh) * | 2024-01-11 | 2024-02-13 | 国网经济技术研究院有限公司 | 柔直阀控系统中零数据丢失的控制芯片系统及其使用方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877528A (zh) * | 2010-05-27 | 2010-11-03 | 国电南京自动化股份有限公司 | 基于高压变频器的双cpu冗余容错系统及其实现方法 |
KR20140008853A (ko) * | 2012-07-12 | 2014-01-22 | 한국원자력연구원 | Fpga에 기반한 이중화 제어장치 및 이중화 절체 방법 |
WO2017101238A1 (zh) * | 2015-12-16 | 2017-06-22 | 南京南瑞继保电气有限公司 | 一种保证智能变电站保护跳闸可靠性的装置和方法 |
WO2018111362A1 (en) * | 2016-12-14 | 2018-06-21 | Raytheon Company | System and method for address-mapped control of field programmable gate array (fpga) via ethernet |
CN109005070A (zh) * | 2018-08-31 | 2018-12-14 | 北京计算机技术及应用研究所 | 一种基于共享内存的双机冗余热备设备 |
WO2019080477A1 (zh) * | 2017-10-24 | 2019-05-02 | 北京全路通信信号研究设计院集团有限公司 | 一种计算机联锁系统及其冗余切换方法 |
WO2019100916A1 (zh) * | 2017-11-27 | 2019-05-31 | 卡斯柯信号有限公司 | 一种基于二乘二取二架构的非国标制式道岔驱动系统 |
EP3543870A1 (en) * | 2018-03-22 | 2019-09-25 | Tata Consultancy Services Limited | Exactly-once transaction semantics for fault tolerant fpga based transaction systems |
US10606764B1 (en) * | 2017-10-02 | 2020-03-31 | Northrop Grumman Systems Corporation | Fault-tolerant embedded root of trust using lockstep processor cores on an FPGA |
KR102220389B1 (ko) * | 2019-11-28 | 2021-02-24 | 주식회사 한화 | Fpga를 이용하여 실시간 동기화를 수행하는 장치 및 그 방법 |
CN112887176A (zh) * | 2021-04-28 | 2021-06-01 | 北京城建智控科技有限公司 | 一种基于心跳报文的计算机联锁子系统主备切换系统 |
-
2021
- 2021-11-18 CN CN202111370996.1A patent/CN114237990B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101877528A (zh) * | 2010-05-27 | 2010-11-03 | 国电南京自动化股份有限公司 | 基于高压变频器的双cpu冗余容错系统及其实现方法 |
KR20140008853A (ko) * | 2012-07-12 | 2014-01-22 | 한국원자력연구원 | Fpga에 기반한 이중화 제어장치 및 이중화 절체 방법 |
WO2017101238A1 (zh) * | 2015-12-16 | 2017-06-22 | 南京南瑞继保电气有限公司 | 一种保证智能变电站保护跳闸可靠性的装置和方法 |
WO2018111362A1 (en) * | 2016-12-14 | 2018-06-21 | Raytheon Company | System and method for address-mapped control of field programmable gate array (fpga) via ethernet |
US10606764B1 (en) * | 2017-10-02 | 2020-03-31 | Northrop Grumman Systems Corporation | Fault-tolerant embedded root of trust using lockstep processor cores on an FPGA |
WO2019080477A1 (zh) * | 2017-10-24 | 2019-05-02 | 北京全路通信信号研究设计院集团有限公司 | 一种计算机联锁系统及其冗余切换方法 |
WO2019100916A1 (zh) * | 2017-11-27 | 2019-05-31 | 卡斯柯信号有限公司 | 一种基于二乘二取二架构的非国标制式道岔驱动系统 |
EP3543870A1 (en) * | 2018-03-22 | 2019-09-25 | Tata Consultancy Services Limited | Exactly-once transaction semantics for fault tolerant fpga based transaction systems |
CN109005070A (zh) * | 2018-08-31 | 2018-12-14 | 北京计算机技术及应用研究所 | 一种基于共享内存的双机冗余热备设备 |
KR102220389B1 (ko) * | 2019-11-28 | 2021-02-24 | 주식회사 한화 | Fpga를 이용하여 실시간 동기화를 수행하는 장치 및 그 방법 |
CN112887176A (zh) * | 2021-04-28 | 2021-06-01 | 北京城建智控科技有限公司 | 一种基于心跳报文的计算机联锁子系统主备切换系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115037674A (zh) * | 2022-05-16 | 2022-09-09 | 郑州小鸟信息科技有限公司 | 一种中央控制系统单机及多设备冗余备份方法 |
CN115037674B (zh) * | 2022-05-16 | 2023-08-22 | 郑州小鸟信息科技有限公司 | 一种中央控制系统单机及多设备冗余备份方法 |
CN117555278A (zh) * | 2024-01-11 | 2024-02-13 | 国网经济技术研究院有限公司 | 柔直阀控系统中零数据丢失的控制芯片系统及其使用方法 |
CN117555278B (zh) * | 2024-01-11 | 2024-03-26 | 国网经济技术研究院有限公司 | 柔直阀控系统中零数据丢失的控制芯片系统及其使用方法 |
Also Published As
Publication number | Publication date |
---|---|
CN114237990B (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103559053B (zh) | 一种板卡系统及通信接口卡fpga在线升级方法 | |
CN114237990A (zh) | 一种基于fpga芯片的二乘冗余切换方法及装置 | |
CN107347018B (zh) | 一种三冗余1553b总线动态切换方法 | |
CN110351174B (zh) | 一种模块冗余的安全计算机平台 | |
CN110376876B (zh) | 一种双系同步的安全计算机平台 | |
CN201909961U (zh) | 一种冗余控制系统 | |
CN101324855A (zh) | 辅助cpu工作状态的检测方法、系统、组件及多cpu设备 | |
CN103853622A (zh) | 一种互为备份的双余度控制方法 | |
CN110293999B (zh) | 一种安全型lkj制动控制方式 | |
CN105760241A (zh) | 一种内存数据导出方法和系统 | |
CN106789506B (zh) | 一种基于光纤总线与1553b总线混合结构的bc切换方法 | |
CN101291201A (zh) | 心跳信息传输系统及方法 | |
CN112201378A (zh) | 基于核电厂dcs平台的热备切换方法、系统、终端及介质 | |
CN112380066A (zh) | 一种基于国产平台的服务器维护调试装置及服务器 | |
WO2021111639A1 (ja) | コントローラ | |
CN115202949B (zh) | 一种芯片信号的监测装置、方法、计算机设备及存储介质 | |
CN203658991U (zh) | 一种计算机取证系统 | |
CN101299205A (zh) | 基于表决的优先排队仲裁系统总线控制方法 | |
CN103840956A (zh) | 一种物联网网关设备的备份方法 | |
CN211349235U (zh) | 一种bios冗余的飞腾服务器主板 | |
CN111505977B (zh) | 功能辅助调试方法、功能调试方法、装置、系统及介质 | |
CN107894930A (zh) | 死机状态数据被动恢复处理的方法和装置 | |
CN114528242A (zh) | 一种计算机平台双系同步方法、装置、设备及介质 | |
CN110687854B (zh) | 一种pa总线控制器以及一种pa总线控制系统 | |
JPH0326936B2 (zh) |
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 |