Command and Data Handling (CDH)
The CDH subsystem was actively redundant, with two parallel data system buses running at all times. Each data system bus (a.k.a. string) was composed of the same functional elements, consisting of multiplexers (MUX), high-level modules (HLM), low-level modules (LLM), power converters (PC), bulk memory (BUM), data management subsystem bulk memory (DBUM), timing chains (TC), phase locked loops (PLL), Golay coders (GC), hardware command decoders (HCD) and critical controllers (CRC).
The CDH subsystem was responsible for maintaining the following functions:
decoding of uplink commands
execution of commands and sequences
execution of system-level fault-protection responses
collection, processing, and formatting of telemetry data for downlink transmission
movement of data between subsystems via a data system bus.
The spacecraft was controlled by six RCA 1802 COSMAC microprocessor CPUs: four on the spun side and two on the despun side. Each CPU was clocked at about 1.6 MHz, and fabricated on sapphire (silicon on sapphire), which is a radiation-and static-hardened material ideal for spacecraft operation. This 8-bit microprocessor was the first low-power CMOS processor chip, similar to the 6502 that was being built into the Apple II desktop computer at that time.
The Galileo Attitude and Articulation Control System (AACSE) was controlled by two Itek Advanced Technology Airborne Computers (ATAC), built using radiation-hardened 2901s. The AACSE could be reprogrammed in flight by sending the new program through the Command and Data Subsystem. The attitude control system software was written in the HAL/S programming language, which was also used in the Space Shuttle program.
Memory capacity provided by each BUM was 16K of RAM, while the DBUMs each provided 8K of RAM. There were two BUMs and two DBUMs in the CDH subsystem and they all resided on the spun side of the spacecraft. The BUMs and DBUMs provided storage for sequences and contain various buffers for telemetry data and interbus communication. Every HLM and LLM was built up around a single 1802 microprocessor and 32K of RAM (for HLMs) or 16K of RAM (for LLMs). Two HLMs and two LLMs resided on the spun side while two LLMs were on the despun side. Thus, total memory capacity available to the CDH subsystem was 176K of RAM: 144K allocated to the spun side and 32K to the despun side.
Each HLM was responsible for the following functions:
uplink command processing
maintenance of the spacecraft clock
movement of data over the data system bus
execution of stored sequences (time-event tables)
telemetry control
error recovery including system fault-protection monitoring and response.
Each LLM was responsible for the following functions:
collect and format engineering data from the subsystems
provide the capability to issue coded and discrete commands to spacecraft users
recognize out-of-tolerance conditions on status inputs
perform some system fault-protection functions.