This repository contains firmware for the UBC Orbit Command and Data Handling system. The goal of CDH is to provide automatic on-board satellite operation, along with command-driven operation when requested by ground. In the process, CDH collects telemetry for health assessment of the satellite and handles any detected on-orbit errors. CDH must be a reliable, self-sustaining system to enable the payload to focus on mission execution, and enable other sub-systems to support the payload. The payload that this CDH system has been designed to support is:
- On-demand photo of specified location and downlink of photo to amateur radio operators worldwide
Further information on the project can be found in the /docs directory, including an overview of the repository layout and guidelines.
Information to come.
- FreeRTOS V9: real-time OS commonly used in embedded systems. Helps with prioritizing different functions and suspending tasks where no longer needed.
- Command System: Structure TBD
- Filesystem: TBD
- STMicroelectronics STM32H743ZIT: main microcontroller for the CDH. Chosen for its memory capacity, peripheral count, ECC flash, and embedded hardware features.
- MRAM: non-volatile memory storage for CDH, used for telemetry and command storage. MRAM performs well under radiation, and is available in a large enough capacity to meet our requirements.
- (Embedded) Real-Time Clock: embedded in MCU, used to timestamp satellite telemetry and provide a time reference for commands.
- (Embedded) Temperature Sensor: embedded in MCU, monitors CDH board temperature to ensure it is within operating limits.
- eFuse: monitors current draw of all components on the CDH board, and cuts power when this current draw spikes to unreasonable values to mitigate single even latchups (SEL). Also monitors for overvoltage and undervoltage.
- CDH Design Document: document outlining the high-level design of the CDH system and motivations for it
- CDH Requirements Document: detailed list of design requirements for all features of the CDH system
- FreeRTOS Intro Powerpoint
- More to come soon!
- Technical Reference Manual: detailed documentation on all peripherals and their possible configurations
- Datasheet: useful electrical and pinout documentation
- Nucleo 144 Board Manual: pin configurations for the Nucleo 144 Board and instructions for developing with it
- Technical Reference Manual: detailed documentation on all peripherals and their possible configurations
- Datasheet: useful electrical and pinout documentation
- Nucleo 64 Board Manual: pin configurations for the Nucleo 64 Board and instructions for developing with it