Skip to content

New OBDH Requirements

Daniel Baron edited this page Aug 23, 2018 · 89 revisions

Requirements OBDH Software

Legend: - M: Must Have - S: Should Have - C: Could Have - W: Won't have

Table of Contents

1. Boot

1.1 The Boot must be the first routine when the OBDH is turned on.

1.2 The Boot shall have the following structure, in execution order:

  • Setup Hardware.
  • Update the reset counter and reset cause.
  • Restore the time counter.

These structures can be visualized here.

1.3 Setup Hardware:

1.3.1 The setup Hardware routine shall be able to configure and incialize all the hardware modules of the OBDH microcontroler.

1.3.2 The setup hardware shall configure and initialize the following modules, in sequence :

  • Internal Watchdog Timer
  • External Watchdog Timer
  • Clock
  • Serial Interface
  • ADC Module

1.3.3 The internal and external watchdog timer should have the following behavior: click here

1.3.4 The Clock of the system should have the following behavior: click here

1.3.5 The Serial interface should have the following behavior: click here

1.3.6 The ADC module should have the following behavior: click here

1.4 Update the reset counter and reset cause

1.4.1 The OBDH should count the number of times that a reset occurred, and store in a non-volatile memory.

1.4.2 The OBDH should identify what the cause of the reset based on this table.

1.5 Restore the time counter

1.5.1 The OBDH should redeem the last value of the time counter after a reset.

2. Deploy Antenna

2.1 The OBDH should start the deploy antenna routine, after the boot.

2.1 The Deploy Antena should execute in order three tasks:

  • Verify deployment status block
  • Hybernate block
  • Start deploy block

These structures can be visualized here.

2.2 "Verify deployment status" should have the following requirements:

2.2.1 This Block should ensure that the deploy antenna process occurs just one time, in the entire mission.

2.2.2 If the deploy antenna process already occurred, the hibernate and the deployment process must be ignored.

2.3 "Hibernate" should have the following requirements:

2.3.1 In this block the OBDH should enter in Low Power Mode.

2.3.2 The OBDH should stays in hibernate mode for 45 minutes.

2.4 "Start deploy" should have the following requirements:

2.4.1 This block should ensure that, the four antennas will be deployed.

3. Tasks

3.1 The Watchdog timer Task should have the following requirements:

3.1.1 This task should reset the counter of the internal and external watchdog timer.

3.2 The Housekeeping task should have the following requirements:

3.2.1 Should read the following informations:

  • MCU temperature

  • Supply Voltage

  • Supply Current

  • Clock Fault Flags

  • Reset Cause

  • System modules status:

    • EPS status
    • Payload's Status
    • Memory status
    • IMU status

3.2.2 Should update the time counting.

3.2.3 Should send acquired data through queues to be stored in memory.

3.2.4 Should do a periodic reset every 12 hours.

3.2.4 Should count the time to return to Normal Mode after receiving a Shutdown Command

3.3 The EPS interface task should have the following requirements:

3.3.1 The OBDH shall receive a data package from EPS board with the following structure:

Position Variable Position Variable
0-1 -Y Panel Current 28-29 Batteries Monitor Temperature
2-3 +X Panel Current 30-31 Battery 1 Voltage
4-5 -X Panel Current 32-33 Battery 2 Voltage
6-7 +Z Panel Current 34-35 Batteries Current
8-9 -Z Panel Current 36-37 Batteries Accumulated Current
10-11 +Y Panel Current 38 Protection Register
12-13 -Y/+X Panel Voltage 39 Status Register
14-15 -X/+Z Panel Voltage 40 Cycle Counter
16-17 -Z/+Y Panel Voltage 41-42 Remaining active absolute capacity register
18-19 Solar Panels Boosts Output Voltage 43-44 Remaining standby absolute capacity register
20-21 Main Power Bus Voltage 45 Remaining active relative capacity register
22-23 Beacon-EPS Current 46 Remaining standby relative capacity register
24-25 MCU Internal Temperature 47-67 RTD1 - RTD7 Temperatures
26-27 Batteries Average Current 68 Energy Level

3.3.2 Should update the energy level of the satellite.

3.3.3 Should send the EPS data package to the “store data task”.

3.4 The Store data task should have the following requirements:

3.4.1 Should read the status memory, and send over queue to housekeeping task.

3.4.2 Should read and package the following data from the queue:

Data Length [bytes]
Packet Flags 2
OBDH Status 6
IMU 24
OBDH Misc 6
OBDH Uptime 4
Solar Panels Sensors 12
Main Radio 19
Solar Panels 18
EPS Misc 8
Battery Monitor 21
Temperatures 21
Energy Level 1
Australia 40
Joinville 7
TOTAL 187

3.4.3 This data should be send to a non-volatile memory.

3.5 The Solar panels interface task should have the following requirements:

3.5.1 Should read data from the following sensors presenting in solar panels:

  • Photodiodes
  • Gyroscopes
  • Temperature sensor

3.5.2 This data must be sent to the solar panel queue, and wait to be stored in memory.

3.6 The Beacon interface task should have the following requirements:

3.6.1 Should send to Beacon module the following data:

Information Length (Bytes)
Batteries voltages 4
Batteries tempearatures 6
Total charge of batteries 2
Solar panels currents 12
Solar panels voltages 6
Overall status of the satellite 2
Accelerometer and gyroscope 12
Time since boot 4
Number of OBDH module resets since launch 2

3.6.2 Should send to beacon the following commands:

  • Shutdown command
  • Request antenna mutex

3.6.3 This communication should be done over SPI protocol.

3.7 The IMU interface task should have the following requirements:

3.7.1 Should read data from IMU.

3.7.2 Should send the IMU status to the housekeeping task.

3.7.3 Should send the IMU data to the store data task.

3.7.4 This communication should be done over I²C protocol.

3.8 The Link interface task should have the following requirements:

3.8.1 When the ground station send a telecommand, the OBDH should recognize,decode and execute the telecommand.

3.8.2 Should change the period that a telemetry package is send to the GRS, depending of the energy level:

  • Energy level 1 or 2 : 60s
  • Energy level 1 or 3 : 120s
  • Other levels : Do not send telemetry packages

3.8.3 Should send the telemetry packet to the radio modules to be sent to earth.

4. Time Counter

4.1 The OBDH should have a 32-bit counter allocated in the Memory Segment B of the microcontroller.

4.2 This counter should be incremented each time that a minute is completed.

4.3 The counter (4 bytes) should be stored along 32 sequential positions of the Segment B (128 bytes).

4.4 Once the position reaches the last address of Segment B, the next write should occur at the beginning of the segment, composing a circular memory.

4.5 This time counter should be stored in a non-volatile memory, to be recovered when a reset occurs.

5. Memory Organization

5.1 The Non-volatile memory should have the following structure.

Requirements OBDH Hardware

Table of Contents

7. IMU

7.1 Should have two IMU with a 3-Axis gyroscope, a 3-Axis accelerometer, a 3-Axis magnetometer and a Digital Motion Processor (DMP).

7.2 Should transfer Data to the microcontroller via an I2C bus and are useful for the Attitude Control and Determination System (ADCS).

7.3 Shall have three 16-bit analog-to-digital (ADCs) for digitizing the gyroscope outputs, three 16-bit ADCs for digitizing the accelerometer outputs, and three 16-bit ADCs for digitizing the magnetometer outputs.

7.4 The scale of gyroscope should be ±250º/s.

7.5 The scale of accelerometer should be ±16g.

7.6 The scale of magnetometer should be ±4800μT.

7.7 The VDD operating range could be 2.4 V to 3.6 V.

8. Microcontroller

8.1 Should follow this requirements.

9. Sun Sensor Current Measure:

9.1 The OBDH should have a Current Sensing module composed by three Rail to Rail Op Amps (TLV341AIDBVR) for the sun sensors readings and a Current Sense amplifier (MAX9934TAUA+) for the OBDH total current consumption.

9.1.1 The TLV341AIDBVR should work between 1.8V to 5V.

9.1.2 The TLV341AIDBVR should have a 1.7mV as maximum low offset.

9.1.3 The TLV341AIDBVR should have from -0.2V to 0.5V as input voltage.

9.1.4 The TLV341AIDBVR should have 0.3mV as input offset voltage.

9.2 The currents shall be measured by the MAX9934TAUA+ current sense amplifier.

9.2.1 The MAX9934TAUA+ should work between 2.5 to 3.6V.

9.2.2 The MAX9934TAUA+ gain should be 25µA/mV.

9.3 Each Solar Panel should have a 1-axis gyroscope, a sun sensor, and a temperature sensor.

9.4 The OBDH shall read the Solar Panels Currents over a SPI interface (SPI_1).

10. Payloads Interface

10.1 The OBDH shall use the BUS0 to exchange data with payloads.

10.2 The Payloads shall be enabled through the GPIOs, one to each Payload.

10.2.1 The pins used to the connections should be as:

Position Pin Pin Name
H1 18 ENABLE_PAYLOAD_0
H1 20 ENABLE_PAYLOAD_1

11. Beacon Interface

11.1 The Beacon shall connect itself to the OBDH's and TTC's MCUs through 4 GPIOs, which are:

Position Pin Pin Name
H2 11 BUS3_MOSI
H2 12 BUS3_SCLK
H2 13 BUS3_GPIO3
H2 14 BUS3_MISO

11.2 The frequency should be 145,9 MHz.

12. EPS Interface

12.1 The communication between OBDH and the EPS shall be done through an I²C protocol.

12.2 The connections should be made by the following pins:

Position Pin Pin Name
H1 41 I2C0_SDA
H1 43 I2C0_SCL

13. Telemetry Radio Interface

13.1 The OBDH's MCU shall communicate with the NiceRF's RF4463F30 radio by a SPI bus with the following pins:

Position Pin Pin Name
H1 35 SPI0_CLK
H1 37 SPI0_MISO
H1 39 SPI0_MOSI
H1 40 SPI0_CSn

13.2 The OBDH and the TTC Board shall also be connected by more 4 GPIOs pins to monitor interruptions, reset the radio and assume other generic functions, which are:

Position Pin Pin Name
H1 7 Transc_GPIO0
H1 8 Transc_GPIO1
H1 9 Transc_GPIO2
H1 11 Transc_RST

13.3 The OBDH and the TTC Board shall also be connected by one last pin where the OBDH controls the regulator, located on the EPS board, that supplies the radio, which is:

Position Pin Pin Name
H1 12 EN_R_PA_Transc

14. Current Drivers

14.1 The current drivers shall be two H-bridges (DRV8833).

14.2 The current drivers shall operate between 2,7 and 10,8 V.

14.3 The current drivers should control the Magnetorquers from Gomspace's NanoPower P110 solar panels.

14.4 The current drivers should be connected to the Magnetorquers' power pins, which are:

Position Pin Pin Name
H2 45 VCC_MAGNETORQUER
H2 46 VCC_MAGNETORQUER

15. Watchdog External

15.1 To provide a redundant Watchdog timer, should have an external watchdog together with the microcontroller.

16. Memory

16.1 The OBDH shal have a non-volatile memory to store data from the whole satellite.

16.2 The non-volatile memory shall have, in total, at least 1GB of storage.

16.5 The non-volatile memory could be a Molex 5031821852 micro SD socket.

16.6 The OBDH shall have 3 Nor Flash IS25LP128-JBLE memory ICs.

16.7 The OBDH shall have a redundant secondary non-volatile memory of at least 32MB, in case the primary stops working.

17. Electrical Characteristics

17.1 The voltage input should be 3.3 V ± 0.1 V.

Clone this wiki locally