Skip to content
eldertramontin edited this page Jan 26, 2018 · 1 revision

The next subsections describe the functionality and behavior of each OBDH's task. They are arranged in order of priority, in the RTOS context, from highest to lowest.

Reset Watchdog timers

A strategy to avoid a deadlock (software lock in some code stretch) 2 watchdog is used: 1 internal and 1 external. This task will run periodically and reset the watchdog timers, so, if a lock occurs, the timer reset will not happen, the counter will overflow and the watchdog will reset the MCU. There are 2 watchdog to bring redundancy for the system.

Ground Communications

Handle the ground-space communications. To transmit, assemble the data (sensors data, current time, reset events, received messages, peripheral status, among others) and send, over SPI protocol, to the radio transceiver. In a reception, decodes the payload of the packet, verify its authenticity and operates according the received command.

Housekeeping

This task is responsible to maintain the proper functioning of the OBDH. Its functions are listed below:

  • Read the MSP's internal sensors. The internal temperature sensor, the supply voltage and the current consumption is read over the internal ADC;
  • Read system status: verify if the communication with EPS, Beacon, Payloads, IMUs and Memories are working, read the reset counter and last reset cause and read the clocks fault flags;
  • Update the time counter;
  • Count the time to return to Normal Mode after receiving a Shutdown Command;
  • Do a periodic reset (every 12 hours).

Store data

To avoid that a reset causes lost of data, the data persistence is made on a non-volatile memory. Then (in Ground Communications task) this data could be sent over downlink. The connection with the non-volatile memory is over a SPI interface. This task read the data sent from other tasks over message queues.

EPS interface

This task is responsible to trade messages with the EPS module. This communication is done over I2C protocol. The purpose of this message could be: sensors data trading, notify to each other about its current status, do handshaking about some necessary shutdown, among others integration commands.

Beacon interface

This task is responsible to trade messages with the Beacon module. This communication is done over SPI protocol, implemented in software. The purpose of the messages could be: send some data to be transmitted along Beacon signal, warn Beacon MCU about a Shutdown command or request antenna usage.

IMU interface

Read the 2 on-board IMUs. Each IMU has a 3-axis Accelerometer, 3-axis Gyroscope, 3-axis Magnetometer and 1 temperature sensor. This data is necessary to allow the Attitude Control in ADCS module. The both IMU are in an I2C bus.

Solar panels interface

Read the solar panels sensors over a SPI interface. Each solar panel (there are 3 interfaces at all) have an 1-axis gyroscope, a sun sensor and a temperature sensor.