List of all MCUs and their purpose =================================== MPU - Main Processing Unit ---------------------------- This is the most powerful processor aboard and runs the satellites main operating system which is based on ChibiOS. The MPU runs the payload applications and maintains the high level communication channel to the groundstation network. Tasks: - store collected data -> SDCard (min. 4 GB) Log-structured file system?? - monitor SOL (rotations, camera) -> SDCard - takes pictures using camera -> SDCard check SOL if picture is worth a try evaluate pictures if it is worth transferring - record audio (using IDM) -> SDCard encode raw audio (from IDM) to FLAC evaluate audio if it is worth transferring - control LIS (LED in space) - monitor ANC for pressed button -> Beacon!! - communicate with ground stations (using COMM) IDM - Impact detection module ------------------------------- This is basically a very low power soundcard which watches the output of a small piezo microphone and starts recording when a signal is detected. It then wakes the MPU for further processing. Optionally the IDM may also 'play' sounds from MPU using yet another piezo. This can be used as a payload application or to test the signal detection. Tasks: - wait for 'impacts' aka signals form microphone - after 'noise' is detected start recording and wake up MPU - when internal ring buffer is full stop recording - MPU may start downloading the audio data which prevents the ring buffer from overfilling -> endless recording - recording may be triggered by MPU as well - MPU may send audio data which should be played using a small piezo (optional) IHU - internal houskeeping unit --------------------------------- This processor runs the low level operating system which maintains power levels, reboots MPU and other subsystems on error and controls the system clock (RTC). Tasks: - initalize/boot up satellite - maintain vital-power (turn of main power to prevent power outages) - monitor solar energy levels - battery management (using BAT) - power path control (using BAT) - temperature management (sensors and heating) - MPU overwatch (reset on error) - CTR overwatch (reset on error) - report power states and environment to MPU and CTR - control RTC and report system time to MPU and CTR - enforce radio silence BAT - battery management -------------------------- A simple battery monitoring and control device which reports all measured values to IHU and serves as a persistent power path controller (states should be maintained even after total power loss) Tasks: - periodically measure currents, voltages and temperatures of all battery packs and report them to IHU - mitigate short circuit conditions by disabling the charge or discharge channels for all or some battery packs - report fault conditions (short circuit, defective batteries, etc...) to IHU CTR - command transmit/receive -------------------------------- This MCU maintains the low level communication (TTX and CRX). TTX is a simple CW beacon containing telemetry information and a sequence number CRX is the emergency command receiver which may be used to invoke emergency commands such as 'radio silence' or 'reset'. Tasks: - IHU overwatch (reset on error?? - probable not a good idea) - listen for incoming CRX commands - send out telemetry beacons (TTX) COMM - communications ----------------------- This processor controls the 2m and 70cm transceivers. There are two radios. Each consist of one COMM processor, one 2m transceiver and on 70cm transcevier. A static network of gates takes care of assigning radios to MPU and CRX. Optional: connect the "soundcard"(IDM) output to the audio input of the 2m transceiver to send out audio. Tasks: - initialize and control the 2m and 70cm transceivers - send out data frames when requeseted by MPU or CTR - wait for incoming data frames when requested by MPU or CTR Flash/Update Mechanism ======================= All MCUs inside mur.sat should be updateable through a single USB Port (connected to MPU). MCUs to update: - MPU (STM32F103/STM32F405) USB -> PC (Entry Point) - IDM (PIC 16F1847) SPI -> MPU - IHU (PIC 16F887) RS232 -> MPU - BAT (PIC 16F887) SPI -> IHU - CTR (PIC 16F887) SPI -> IHU - COMM (AtTiny??) x2 RS232 -> MPU