Cover Page

Fault‐Tolerance Techniques for Spacecraft Control Computers


Mengfei Yang,
Gengxin Hua,
Yanjun Feng,
Jian Gong









Brief Introduction

In this book, fault tolerance techniques are systematically presented for spacecraft control computers.

The contents of this book are as follows:

  • space environment where spacecraft control computers operate, and fault models of control computers;
  • fault‐tolerance architecture and clock synchronization techniques;
  • fault detection techniques;
  • space bus fault‐tolerance techniques;
  • software fault‐tolerance techniques, including single version and N‐version programming;
  • SRAM‐based FPGA fault‐tolerance techniques with redundancy and reconfiguration;
  • fault‐injection techniques;
  • intelligent fault‐tolerance techniques, such as evolvable hardware fault‐tolerance and artificial immune hardware fault‐tolerance.

This book can function as a reference for persons engaged in the research and design of high‐reliability computers, especially spacecraft computers and electronics, and also as a textbook for graduates engaged in research work in this field.


The control computer is one of the key equipment in a spacecraft control system. Advances in space technology have resulted in the functionality of the control computer becoming increasingly more complex. In addition, the control computer used in space is affected by the harsh elements of the space environment, especially radiation, necessitating the satisfaction of stringent requirements to ensure the control computer’s reliability. Consequently, multiple fault‐tolerance techniques are used in spacecraft design to improve the reliability of the control computer.

NASA (in the United States) has been using fault‐tolerant computer systems in its spacecraft – for example, the self‐testing and repairing (STAR) fault‐tolerant computer – since the 1960s. China began to develop fault‐tolerant computers for spacecraft in the 1970s. We utilized a fault‐tolerant control computer in a satellite for the first time at the Beijing Institute of Control Engineering in the 1980s, and realized a successful on‐orbit flight. Fault‐tolerance techniques have subsequently been predominantly incorporated into control computers, and have contributed significantly to the success of spacecraft projects and missions.

The significance of fault‐tolerance techniques in space technology has prompted us to publish this book, introducing the techniques that we use in spacecraft control computer research and design in China. The content of this book covers not only the fundamental principles, but also methods and case studies in practical engineering.

There are a total of eight chapters. Chapter 1 summarizes fundamental concepts and principles of fault‐tolerance techniques, analyzes the characteristics of a spacecraft control computer and the influences of the space environment, and reviews the course of development of fault‐tolerance techniques and development perspectives expected in the future. Chapter 2 introduces the typical architecture of a fault‐tolerant computer and its key techniques, based on China’s spacecraft projects and engineering practices. Chapter 3 presents frequently used fault models, based upon which, fault detection techniques of computer key components are discussed. Chapter 4 introduces the fault‐tolerance techniques of several frequently used spacecraft control computer buses, with special focus on buses such as 1553B bus, CAN bus, and SpaceWire bus.

Chapter 5 outlines the fundamental concepts and principles underlying software fault‐tolerance and emphatically discusses several concrete software fault‐tolerance techniques, including single‐version fault tolerance, N‐version fault tolerance, and data diversity‐based fault tolerance. Chapter 6 discusses the effect that space radiation has on field programmable gate arrays (FPGAs), and the fault models and dynamic fault‐tolerance methods used in static random access memory (SRAM)‐based FPGAs. Chapter 7 presents fault‐injection relevant techniques based on practical engineering, primarily involving fault‐injection methods, evaluation methods, and tools. Chapter 8 discusses the fundamental concepts, principles, and concrete implementation methods of state‐of‐the‐art intelligence fault‐tolerance techniques, and introduces two representative intelligence fault‐tolerance techniques – specifically, evolvable hardware fault tolerance and artificial immune hardware fault tolerance.

All the authors listed in this book – Yang Mengfei, Hua Gengxin, Feng Yanjun, and Gong Jian – helped to plan it. Yang Mengfei, Gong Jian, and Feng Yanjun wrote Chapter 1; Yang Mengfei, Feng Yanjun, and Gong Jian wrote Chapter 2; Yang Mengfei and Gong Jian wrote Chapter 3; Hua Gengxin, Yang Mengfei, Feng Yanjun, and Gong Jian wrote Chapter 4; Feng Yanjun and Yang Mengfei wrote Chapter 5; Liu Hongjin, Yang Mengfei, and Gong Jian wrote Chapter 6; Hua Gengxin and Gong Jinggang wrote Chapter 7; and Gong Jian, Yang Mengfei, and Dong Yangyang wrote Chapter 8. Gong Jian and Feng Yanjun were responsible for formatting, while Yang Mengfei approved, proofread, and finalized the book.

This book contains not only a summary of our practical work, but also our research experience, fully reflecting the present status and level of China’s spacecraft control computer fault‐tolerance techniques. This book combines theory with practice, and is highly specialized. As a result, it can function as a reference for persons engaged in the research and design of high‐reliability computers, especially of spacecraft computer and electronics, and also as a textbook for graduates engaged in research work in this field.