Command and Data Handling Subsystem
The C&DH system for CSSWE utilizes an off-the-shelf processor module from Pumpkin, Inc. that uses a 16-bit microcontroller (MCU), the MSP430 from Texas Instruments. The MCU runs at eight megahertz and has eight kilobytes of random-access memory (RAM); this allows CSSWE to meet mission requirements while providing ultra-low power consumption to reduce load on the battery. The C&DH firmware was written in C, and run under the Salvo realtime operating system. It was developed using CrossStudio for MSP430 from Rowley Associates Ltd. The processor module involves additional hardware including an interface to a secure digital (SD) card that is used to store science and housekeeping data, log files, and configuration parameters.
C&DH communicates with nearly every other subsystem in the satellite; most interfaces use the I2C protocol (Inter-Integrated Circuit), an interface often used for data acquisition. The only exceptions are communication with the hardware supporting the SD card, which uses SPI (Serial Peripheral Interface), and communication with the radio, which uses asynchronous serial. The interface to the radio and SD card was dictated by the hardware manufacturers.
The C&DH firmware has five main tasks:
- Responding to commands from the ground
- Acquiring and storing science data
- Acquiring and storing housekeeping data
- Deploying the antenna
- Controlling the battery heaters
This simplicity is in part due to the overall design goal of minimal autonomy—to build the system in a way that reduces the number of decisions that C&DH makes on its own, while ensuring that enough information is available to operators on the ground to make informed decisions.
Storing data on the SD card takes place in two distinct streams. First, science data from the REPTile instrument and attitude data from the magnetometer are acquired and stored every six seconds. Secondly, housekeeping data (including voltages, currents, and temperatures from various locations on the spacecraft) are acquired every minute. Every ten minutes, the minimum, maximum, and average values are stored to the SD card. Both streams of data are stored in time-offset files that allow C&DH to easily respond to ground requests for data from particular time ranges.