一种基于FPGA的双余度计算机控制系统的设计方法与流程

文档序号:12464472阅读:274来源:国知局

本发明涉及一种基于FPGA的双余度计算机控制系统的设计方法,通过对系统中输入、输出及CPU资源进行细粒度的管理和组合,实现灵活冗余替换,从而显著增加系统的任务可靠性。



背景技术:

双余度计算机控制系统广泛应用于飞控等有较高可靠性要求的领域。其原理是系统中存在两套控制电路,当其主控制电路出现故障时将控制权切换到冗余控制电路,主控制电路的所有资源都不再使用。当两套控制电路都出现故障时系统将处于失控状态。但实际情况是两套控制电路的故障点往往不相同,例如第一套控制电路的输入通道1故障,而第二套控制电路则可能是输入通道9故障或CPU故障等。如果能够灵活组合资源,则仍然使系统正常工作。



技术实现要素:

本发明的目的在于提供了一种通过FPGA灵活管理双余度计算机系统中各种资源的方法,对各种资源进行细粒度的管理,实现更加灵活的组合,从而尽可能避免系统失控。该方法器件使用量小,可实现多个不同类故障点的冗余切换。

本发明的技术解决方案是:

一种基于FPGA的双余度计算机控制系统的设计方法,其特殊之处在于,该方法包括:

1】系统的每一路输入、输出电路及CPU电路 均分别与同一FPGA相连;

2】FPGA可对每一路输入、输出电路分别进行调配切换;

3】主从CPU均可读取或控制每一输入、输出电路;

4】当某一路输入、输出电路及CPU电路出现故障时仅切换该路器件。

上述基于FPGA的双余度计算机控制系统的设计方法,其特征在于,该方法具体描述为:

1】外部输入器件单独与FPGA连接,FPGA将每一路流式数据读取并存入FPGA内部两个独立的FIFO,两个FIFO的输出端分别通过FPGA与主、从CPU的总线连;每一路输入开关量通过两个独立的buffer与两个CPU的总线连接,使两个CPU可以独立读取每一路输入通道的数据;

2】每个输出器件的所有控制线单独与FPGA连接,并在FPGA内部实现输出控制器对其进行控制;

数据的控制和流向:每一个输出控制器的输入端通过FPGA内部的多路开关分别与两个CPU的总线连,通过切换可接收每个CPU的指令,同时输出控制器接收到的数据可被从CPU读出;

3】为每个输出器件设计自检电路,用以测试输出器件是否正常;

4】系统初始态时主控制电路得到控制权,主CPU从主输入电路读取输入数据并进行计算,再将计算所得的控制写入FPGA中相应的输出控制器对输出器件进行控制;

主CPU同时比对每一路主、从输入电路的输入结果,当某一路主输入异常时便不再采用该路数据而采用从输入电路中对应的通道数据;主CPU查询每一输出器件自检电路结果,判断是否为预期结果,如果不是则控制切换电路将该路输出切换为相应的从输出电路;

5】从CPU同步进行上一步4】中主CPU进行的读取和计算工作,并监控其输出数据及切换控制动作;当从CPU发现主CPU动作异常则切换控制权。

上述流式数据包括AD以及串行输入接口数据。

本发明的优点在于:

1、对系统中各电路模块用同一FPGA进行灵活管理;

2、系统结构简洁,器件数量少;

3、出现故障时仅将最小范围的故障相关器件切换,而非将该组所有器件切换;

4、能够对应主从电路同时出现多个异类故障;

5、较大程度提高系统的任务可靠性。

附图说明

图1为本发明原理框图。

具体实施方式

参见图1,一种基于FPGA的双余度计算机控制系统的设计方法,该方法包括:

1】系统上电初始,主CPU获得所有输出器件的控制权,FPGA中的切换开关将FPGA中所有输出控制器的输入端切换到主CPU的总线,切换开关阵列将系统输出切换到主输出电路;

2】系统每一路输入均接入主、从两路输入器件,每一路输入器件的输出结果独立输入同一FPGA中;

3】FPGA将每一路流式输入器件产生的数据分别存入2个内部FIFO中。主、从CPU通过总线分别在2个FIFO的输出端夺取流式数据,从2个不同的Buffer中读取开关量数据;

4】主、从CPU分别比对每一路输入量的主、从两路输入器件的结果,若均正确则采用主输入器件的结果,若主输入器件的结果故障则采用从输入器件的结果;

5】主、从CPU分别根据输入量计算需输出的结果;

6】主CPU计算的需输出结果经FPGA中连接输出控制器的多路开关写入FPGA中的输出控制器,然后从检查控制及读取模块中的数据判断该路输出工作是否正常,若不正常则操作切换开关阵列将系统该路输出切换至从输出电路的对应通道。从CPU读取并验证输出控制器中数据及主CPU的切换动作,若不正确则切换FPGA中的多路开关到从CPU总线,即将控制权切换到从CPU。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1