Command & Data Handling
The ELFIN CDH (Commands & Data Handling) subsystem is responsible for the development and testing of software onboard the avionics stack, which includes all onboard processing and interfaces with the exception of the science payload.
The avionics stack is comprised of 8 PCBs, 4 of which are AeroCube boards provided in partnership with Aerospace Corporation. The Aerocube boards include the Flight Computer (FC Main, WD), Attitude Control Board (ACB Main, PC), and 2 redundant power boards that handle solar charging and 2 batteries each (4 total). The flight avionics are connected to each of the other components of the spacecraft:
- He-82 radio
- Batteries, solar panels and other power circuitry
- torquer coils and MRM (magnetoresistive magnetometer) sensors
- Deployment GPIO pins
- Instruments stack
The Flight Computer serves as the central hub of all spacecraft controls: it receives commands from the radio and processes them, passing them on to the instruments or other avionics processors as needed. It provides the ability to store scripts (sequences of commands) onboard its filesystem, and allows for the execution of these scripts to be scheduled in advance, at specific timestamps. During the early orbit phase of operations, immediately upon deployment from the P-POD, it also autonomously handles antenna deployments and subsequent attempts (as neccesary) until communication with the ground is established.
The Flight Computer is also responsible for maintaining spacecraft health - it periodically collects, stores, and transmits (via beacon) housekeeping information by aggregating telemetry values from other devices, checks these values against acceptable thresholds and enters Safe Mode as needed, and logs all anomalies and errors.
The Watchdog's primary responsibility is to ensure the health of the Flight Computer. Both the Watchdog and Flight computer periodically transmit heartbeat pulses to communicate liveness; if either device stops sending pulses, the other will attempt to reboot the device and reset any errors or fault conditions. The Watchdog also periodically resets the Flight Computer even if liveness is still detected, in order to clear any faults which may have accumulated. Finally, the Watchdog can independently listen to the He-82 radio for commands from the ground, and is responsible for reading live temperature data from a set of temperature sensors onboard the spacecraft.
The two Power Boards, or Solar Battery PCBs (SBPCBs), are each connected to circuitry which controls the charging and monitoring of 2 of the 4 batteries onboard ELFIN. They periodically poll these devices for updated telemetry values, and provide this information to the Flight Computer as needed.
ACB and Peripheral Controller
The ACB is responsible for collection of MRM data for attitude determination purposes, and using BDOT and BACT algorithms to process readings from these sensors in order to control the spacecraft's torquer coils.
The Peripheral Controller is the device which communicates with both MRM sensors (in different locations, allowing for the selection of the more accurate readings), as well as four solar panel temperature sensors, over I2C.