论文部分内容阅读
近些年来,在航天、航海等国防尖端领域以及工业应用领域中对计算机系统的可靠性和实时性提出了越来越高的要求。一些关键的高性能复杂应用中,需要能够保证系统能够长时间稳定、无误差工作,任何微小的故障都会引起不可估量的损失。虽然可以采用高可靠性的部件来提高系统的稳定性,但是仍然不能达到要求。通过使用冗余备份技术是解决这一问题的有效途径。双CPU冗余备份技术是目前常用的提高可靠性的办法,在多个领域中已经被应用。本文依托相关研究项目,在研究系统冗余容错技术的基础上,对双CPU冗余备份系统进行了设计。主要工作如下:(1)研究了冗余容错技术的概念、基本形式和基本过程,研究了高可用性的概念和模型,分析了冗余容错的关键技术,评估了技术的可靠性。重点分析了双CPU冗余备份技术的双CPU互备份方式和双CPU主从备份方式的优缺点以及双CPU冷备份、双CPU温备份和双CPU热备份方式的不同。根据分析结果对双CPU冗余备份模型进行了改进。(2)针对实际的应用要求,设计和实现了一套基于CPCI总线和VxWorks实时操作系统的双CPU冗余备份系统。在一台CPCI工业机箱中实现了两块CPU板卡的相互热冗余备份。系统能够对CPU进行实时监测,当主CPU发生故障时备份CPU能够在10ms内自动切换,替代主CPU进行工作。系统通过两块CAN卡与其余的PC构成星形网络进行通信。所有的板卡支持热插拔,所有的数据通过光纤反射内存卡进行实时备份。(3)对原有的CPCI工业机箱进行改造。由于原机箱只支持单块CPU板卡,无法实现双CPU冗余备份,故设计了一块系统槽扩展板卡,实现对双CPU板卡的支持;设计了CPCI总线硬件切换机构,实现对CPU板卡的无扰动实时切换;设计了CPLD仲裁模块,实现了对CPU的实时故障监测和自动切换逻辑;实现了通过CAN卡与其余PC进行通信;设计了驱动程序的动态加载实现了CAN通信板卡的热插拔;实现了心跳包的发送;完成了应用程序的整体设计。本文设计的双CPU冗余备份系统实现了两个CPU之间的冗余备份功能,在满足系统实时性要求的前提下,有效的提高了系统的可靠性。