A Versatile State-Machine Controller for the SABER Instrument

Mark D. Jensen, and Jay C. Ballard
Space Dynamics Laboratory, Utah State University, Logan, Utah 84341

Abstract

A versatile state-machine controller is being used on the SABER instrument, part of the NASA TIMED satellite, to control various subsystem and telemetry gathering processes. This controller, called the Command and Data Handling System (C&DH), communicates with the TIMED spacecraft over a 1553 bus. It can execute a simple command set that makes up various on-board or upload routines, and can initiate appropriate action for various spacecraft warning flags. Telemetry is continuous and can be switched to several modes. The C&DH functions were designed using VHSIC Hardware Description Language (VHDL) implemented in four ACTEL 1280 FPGAs, with the entire controller residing on a single 6-inch by 9-inch circuit card. Since its launch on 7 December 2001, the C&DH system on the SABER instrument has worked as expected and no anomalies have been observed.

Although most spacecraft instrument controllers are now being designed using microprocessors and microcontrollers, a state-machine controller was used for the SABER instrument because of its inherent simplicity and reliability. State-machine controllers are designed to perform very specific functions, which simplifies their design, fabrication, testing, and verification, and reduces costs. In addition, because state-machine controllers cannot be modified in software, they are protected from inadvertent software changes, adding to the reliability of the system.

State-machine controllers can be used when the requirements and details of the instrument design are well defined. It is more difficult to change features or add flexibility to the controller than with a microprocessor system, where changes in the software can easily be made. A good candidate for a state-machine controller is a controller that works the same on orbit as it does during ground testing, has repetitious actions, has tasks that can be broken into submodules, and performs limited on-board computations. The SABER instrument met these requirements.

Although state-machine controllers are not as flexible as microprocessor controllers, versatility can be incorporated into the system and they can be designed to handle complex systems. Several complicated routines were designed into the SABER controller to handle various data collection processes that are required by SABER to make on-board changes to the data collection routine.

The central part of the SABER C&DH system is the main controller, which controls and exchanges data and information between the commanding and telemetry subsystems of the C&DH controller. The controller design is based on the simple scheme of giving precedence to the telemetry, which needs to be sampled on even time intervals. Commands are then performed in-between telemetry gathering. This can occur because no commands require precision higher than 0.1 seconds, and there is time every 0.044 seconds between telemetry gathering for commands to be executed. The main controller determines which telemetry to gather based on a matrix stored in PROM memory. The commands are either permanently stored in PROM/EEPROM or uploaded into a RAM buffer. Once the next command or telemetry gathering function is known, control is passed to the appropriate subsystem for execution. When the subsystem finishes, it reports back to the main controller and the next instruction is read from memory.

A dual-port memory buffers the C&DH main controller from the spacecraft 1553 bus. The C&DH main controller works on one side of the dual-port RAM and the 1553 bus on the other. The sender on either side passes information by simply placing it into a certain address or mail box, and the receiver on the other side of the dual-port memory then handles the contents at a later, predetermined time.

Since its launch, the SABER C&DH system has worked as designed. The complex routines that were implemented into the controller have also worked well. On occasion the C&DH system has had enough versatility to incorporate some ground operating processes into more timely automated on-board routines. The controller has also been able to create work arounds for several unexpected spacecraft and orbital conditions. To date, the SABER instrument has needed very little operator intervention.

Based on the SABER design, future space instrument state-machine controllers can be made even more robust and versatile with minimal complexity. Simplistic arithmetic and logical functions can be provided to process or confirm parameters to simplify decision making. In addition, larger, space qualified FPGAs are now available that would allow the entire design to be placed into one device rather than four, eliminating the complication of having to partition the design. Another improvement would be to allow a user-defined interrupt that can be enabled and disabled if needed.

The success of the SABER instrument shows that state-machine controllers are still a viable implementation method for space instruments if the proper conditions are met.