OBDH User Manual
OBDH User Manual
November 2021
OBDH 2.0 Documentation
November, 2021
Project Chief:
Eduardo Augusto Bezerra
Authors:
Gabriel Mariano Marcelino
André Martins Pio de Mattos
Yan Castro Azeredo
Contributing Authors:
Revision Control:
v
List of Figures
vi
List of Tables
vii
Nomenclature
IC Integrated Circuit.
ix
Contents
List of Figures vi
Nomenclature ix
1 Introduction 1
2 System Overview 3
2.1 Product tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Block Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 System Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4 Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.4.1 Execution Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4.2 Data Flow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.4.3 Status LEDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 Hardware 13
3.1 Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2 External Connectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.2.1 PC-104 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.2.2 Antenna Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.3 Programmer and Debug . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2.4 Daughterboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.3 Microcontroller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3.1 Interfaces Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3.2 Clocks Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
3.3.3 Pinout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3.4 External Watchdog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.5 Non-Volatile Memories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.5.1 Flash NOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.5.2 FRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.6 I2C Buffers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.7 RS-485 Transceiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.8 Voltage and Current Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4 Firmware 29
4.1 Product tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.2 Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
xi
Contents
4.3 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.1 Antenna deployment . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.2 Antenna reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.3 Beacon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
4.3.4 Data log . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3.5 EDC reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3.6 EPS reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3.7 Heartbeat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3.8 Housekeeping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3.9 Read sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3.10 Startup (boot) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3.11 System reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3.12 Telecommand processing . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3.13 Time control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3.14 TTC reading . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.3.15 Watchdog reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.4 Variables and Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
4.5 Telemetry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.5.1 Beacon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.5.2 EDC Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.5.3 EDC Samples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.6 Telecommands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
4.6.1 Enter hibernation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.6.2 Leave hibernation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.6.3 Activate beacon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.6.4 Deactivate beacon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.6.5 Activate EDC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.6.6 Deactivate EDC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.6.7 Get EDC info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.6.8 Activate Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.6.9 Deactivate Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.6.10 Activate Radiation Instrument . . . . . . . . . . . . . . . . . . . . . . 38
4.6.11 Deactivate Radiation Instrument . . . . . . . . . . . . . . . . . . . . 38
4.6.12 Activate Payload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.6.13 Deactivate Payload . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.6.14 Erase Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.6.15 Force Reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.6.16 Get Payload Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.6.17 Set Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.6.18 Get Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.6.19 Set system time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.6.20 Ping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.6.21 Message broadcast . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.6.22 Request data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.7 Operating System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
4.8 Hardware Abstraction Layer (HAL) . . . . . . . . . . . . . . . . . . . . . . . 40
xii
Contents
5 Board Assembly 43
5.1 Development Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.1.1 Debug and programming connectors . . . . . . . . . . . . . . . . . . 43
5.1.2 Status leds . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.2 Flight Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.3 Custom Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
6 Usage Instructions 45
6.1 Powering the Board . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.2 Log Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
6.3 Daughterboards Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
References 47
Appendices 49
xiii
CHAPTER 1
Introduction
The OBDH 2.0 is an On-Board Computer (OBC) module designed for nanosatellites.
It is one of the service modules developed for the GOLDS-UFSC CubeSat Mission [1].
The module is responsible for synchronizing actions and the data flow between other
modules (i.e., power module, communication module, payloads) and the Earth segment.
It packs the generated data into data frames and transmits it back to Earth through a
communication module or stores it on non-volatile memory for later retrieval. Commands
sent from the Earth segment to the CubeSat are received by radio transceivers located in
the communication module and redirected to the OBDH 2.0, which takes the appropriate
action or forward the commands to the target module.
The module is a direct upgrade from the OBDH of FloripaSat-1 [2], which grants a
flight heritage rating. The improvements focus on providing a cleaner and more generic
implementation compared to the previous version, along with more reliability in software
and hardware implementations and adaptations for the new mission requirements. The
whole project, including source and documentation files, is available freely on a GitHub
repository [3] under the GPLv3 license.
1
CHAPTER 2
System Overview
The board has an MSP430 low-power microcontroller that runs the firmware appli-
cation and several other peripherals for extended operation and physical interfaces (i.e.,
non-volatile memory, watchdog timer, service modules, payloads interfaces, daughterboard
interface, and current monitor). The microcontroller manages the other sub-modules within
the board using serial communication buses, synchronizes actions, handles communication
with the ground segment, and manages the data flow. The programming language used
is C, and the firmware was developed using the Code Composer Studio IDE (a.k.a. CCS)
for compiling, programming and testing. The module has many tasks over distinct proto-
cols and time requirements, such as interfacing peripherals and other MCUs. To improve
predictability, a Real-Time Operating System (RTOS) is used to ensure that the dead-
lines are observed, even under a faulty situation in a routine. The RTOS chosen is the
FreeRTOS (v10.0.0), since it is designed for embedded systems applications and was al-
ready validated in space applications. The firmware architecture follows an abstraction
layer scheme to facilitate higher-level implementations and allow more portability across
different hardware platforms.
3
Chapter 2. System Overview
OBDH 2.0
Interface Control
Block Diagram HAL
Document (ICD)
Design Definition
Schematics Drivers
File (DDF)
Assembly
PCB Layout Devices
Instructions
System
Tasks
Tests
As mentioned, the system is divided into abstraction layers to favor high-level firmware
implementations. The Figure 2.3 shows this scheme, composed of third-party drivers at
the lowest layer above the hardware, the operating system as the base building block of
the module, the devices handling implementation, and the application tasks in the highest
layer. More details are provided in chapter 4.
4
2.4. Operation
PC-104 Bus
I2 C I2 C
GPIO x11
SPI x2
I2 C I2 C RS-485 RS485 General Purpose
Buffer Buffer Transceiver RS-485 Bus
I2 C
2 UART
I C
JTAG UART
JTAG Microcontroller Debug
I2C, SPI, GPIO
ADC, PWM, DAC
GPIO
I2 C SPI
I2 C I2 C Watchdog
Flash/FRAM
Daughterboard
Antenna
Buffer Memories
OBDH 2.0
Applications (Tasks)
Operating System
HAL (Drivers)
Hardware
2.4 Operation
The system operates through the sequential execution of routines (tasks in the context
of the operating system) that are scheduled and multiplexed over time. Each routine has
a priority and a periodicity, determining the subsequent execution, the set of functional-
ities currently running, and the memory usage management. Besides this deterministic
scheduling system, the routines have communication channels with each other through
5
Chapter 2. System Overview
the usage of queues, which provides a robust synchronization scheme. In chapter 4 the
system operation and the internal nuances are described in detail. Then, this section uses
a top-view user perspective to describe the module operation.
• D3 - UART0 TX: Blinks when data is being transmitted over the UART0 port.
• D4 - UART0 RX: Blinks when data is being received over the UART0 port.
• D5 - UART1 TX: Blinks when data is being transmitted over that UART1 port.
• D6 - UART1 RX: Blinks when data is being received over the UART1 port.
• D7 - Antenna VCC: Indicates that the antenna module board is being power sourced.
• D8 - OBDH VCC: Indicates that the OBDH board is being power sourced.
These LEDs are not mounted in the flight version of the module.
6
2.4. Operation
7
Chapter 2. System Overview
8
2.4. Operation
9
Chapter 2. System Overview
TC
Received
TC ID == Transmit
40h? Yes Ping Answer
No
TC ID == Transmit
41h? Yes Req. Data
No
TC ID == Transmit
42h? Yes Message
No
No No
No No
No No
No No
No No
No No
No No
No No
No No No
End
10
2.4. Operation
Operation
Started
Read EPS
HK Data
Read TTC
HK Data
Read Payload
HK Data
Read Antenna
HK Data
Yes
Save Data TC
On Memory No Received?
Can Wait
Transmit? No 60 sec
Yes
Transmit
HK Data
11
Chapter 2. System Overview
RF RF
Solar Panel
External Radiation
EDC 1 EDC 2 RF Splitter
Interface Instrument
Solar Panel
UART
JTAG/
Solar Panel UART RF
I2C
Antenna
JTAG/UART
JTAG/UART
Solar Panel
SPI I2C
ADC RF
Batteries EPS SPI TTC
UART RF
12
CHAPTER 3
Hardware
The OBDH 2.0 architecture focuses on the low-power operation and low-cost pro-
duction, maintaining performance and proposing different approaches to increase overall
reliability. Therefore, the board was developed using these criteria, and the changes from
the original design were necessary to improve bottlenecks and achieve the requirements
of the further space mission. The Figure 2.2 presents the module architecture from the
hardware perspective, including the main PCB components and interfaces: microcontroller,
buffers, transceivers, memory, watchdog and voltage monitor, and connectors. The following
sections describe the hardware design, interfaces, and standards in detail. The Figures
3.1, 3.2, and 3.3 present 3D-rendered images of the top, bottom, and side views of the
board, respectively.
13
Chapter 3. Hardware
3.1 Interfaces
The Figure 3.4 presents the board interfaces, which consist of communication with
other modules, debug access points, and internal peripherals. From the perspective of
the microcontroller, there are 6 individual and shared communication buses and the JTAG
interface in the following scheme: A0-SPI (shared with Radio, TTC, and external memory
chip); A1-UART (shared with redundant payloads); A2-UART (dedicated for debugging);
B0-I2C (dedicated for the payload); B1-I2C (dedicated for the EPS); B2-I2C (dedicated for
the Antenna module). Currently, “Payload 1” and “Payload 2” are “Radiation instrument”
and “Payload EDC” respectively.
14
3.2. External Connectors
Payload 1 Payload 2
H1-41 - SDA
H1-43 - SCL
B0-I2 C A1-UART
Antenna
EPS B1-I2 C B2-I2 C
Module
OBDH 2.0
Radio
TTC A0-SPI A0-SPI
H2-12 - CLK H1-35 - CLK Downlink/Uplink
H2-14 - MISO H1-37 - MISO
H2-11 - MOSI A2-UART A0-SPI H1-39 - MOSI
H2-13 - CS H1-40 - CS
Desktop Non-Volatile
(Log messages) Memories
following topics describe these interfaces and present the pinout of the connectors.
3.2.1 PC-104
The connector PC-104 is a junction of two double-row 28H headers (SSW-126-04-G-
D). These connectors create a solid 104-pin interconnection across the different satellite
1
The communication protocol of the payload ports depends of the used payload.
15
Chapter 3. Hardware
modules. The Figure 3.5 shows the PC-104 interface from the bottom side of the PCB,
which allows visualizing the simplified label scheme in the board. Also, the Table 3.2
provides the connector pinout2 for the pins that are connected to the module.
2
This pinout is simplified since additional interfaces were omitted. Refer to option sheet in chapter 5.
16
3.2. External Connectors
Pin Row
1 VCC_3V3_ANT
2 VCC_3V3_ANT
3 I2C_SDA
4 I2C_SCL
5 GPIO
6 GND
17
Chapter 3. Hardware
Figure 3.7: Programmer (P1 and P2) and jumper (P6) connectors.
Pin Row
1 VCC_3V3
2 TDO_TDI
3 TCK
4 UART_TX
5 UART_RX
6 GND
3.2.4 Daughterboard
The daughterboard interface uses the Samtec FSI-110-D connector [4], which can be
seen in the Figure 3.9. This connector has metal contacts in the format of flexible arcs
and four polymer guide pins (a pair for the top and bottom). When the daughterboard is
attached, there is some pressure on the metal contacts that bend and create a meaningful
18
3.3. Microcontroller
pin connection to the daughterboard copper pads3 . A picture of this connector on the PCB
can be seen in Figure 3.10.
The pinout of the daughterboard interface is available in the Table 3.6. There are
different power supply lines (OBDH, Antenna, and battery), communication buses (I2C
and SPI), GPIO, and ADC interfaces available. Besides the GPIO and ADC pins, the
other interfaces are shared with other modules and peripherals.
Guidelines
The recommended shape and size of the daughterboard can be seen in the Figure 3.11.
Besides that, there are mandatory and suggested elements placement: four M3 holes
for mechanical attachment, required; contact connector pads (in light gray on the bottom
layer), required; two debug headers on the left and bottom sides, suggested; and a general
purpose flight model picoblade suggested.
3.3 Microcontroller
The OBDH 2.0 uses a low-power and low-cost microcontroller family from Texas In-
struments; the MSP430F6659 [5]. This device provides sufficient performance for low and
medium-complexity software and algorithms, allowing the module to execute the required
3
These daughterboard pads are similar to the ones used as a footprint in the OBDH, despite a slightly
bigger size.
19
Chapter 3. Hardware
tasks. The Table 3.7 presents a summary of the main available features and Figure 3.13
shows the internal subsystems, descriptions, and peripherals. The microcontroller inter-
faces, configurations, and auxiliary components are described in the following topics.
20
3.3. Microcontroller
21
Chapter 3. Hardware
are connected to these inputs. The first source is used for generating the Master Clock
(MCLK) and the Subsystem Master Clock (SMCLK), which are used by the CPU and the
internal peripheral modules. The second source is used for generating the Auxiliary Clock
(ACLK) that handles the low-power modes and might be used for peripherals.
3.3.3 Pinout
An illustration of the microcontroller pinout positions can be seen in the Figure 3.14.
The Table 3.9 presents the OBDH 2.0 microcontroller pins assignment.
22
3.3. Microcontroller
P1.7 41 -
P2.0 17 SPI_CLK
P2.1 18 I2C0_SDA
P2.2 19 I2C0_SCL
P2.3 20 -
P2.4 21 SPI_MOSI
P2.5 22 SPI_MISO
P2.6 23 VERSION_BIT0
P2.7 24 VERSION_BIT1
P3.0 42 I2C0_EN
P3.1 43 I2C1_EN
P3.2 44 I2C2_EN
P3.3 45 I2C0_READY
P3.4 46 I2C1_READY
P3.5 47 I2C2_READY
P3.6 48 PC104_GPIO0
P3.7 49 PC104_GPIO1
P4.0 50 PC104_GPIO2
P4.1 51 PC104_GPIO3
P4.2 52 MEM_HOLD
P4.3 53 MEM_RESET
P4.4 54 MEM_SPI_CS
P4.5 55 PC104_GPIO4
P4.6 56 PC104_GPIO5
P4.7 57 PC104_GPIO6
P5.0 9 VREF
P5.1 10 AGND
P5.2 28 SYSTEM_FAULT_LED
P5.3 31 SYSTEM_LED
P5.4 32 PAYLOAD_0_ENABLE
P5.5 33 PAYLOAD_1_ENABLE
P5.6 16 -
P5.7 88 -
P6.0 97 D_BOARD_ADC0
P6.1 98 D_BOARD_ADC1
P6.2 99 D_BOARD_ADC2
P6.3 100 OBDH_CURRENT_ADC
P6.4 1 OBDH_VOLTAGE_ADC
P6.5 2 D_BOARD_SPI_CS0
P6.6 3 D_BOARD_SPI_CS1
P6.7 4 -
P7.0 - -
P7.1 - -
P7.2 84 XT2_N
P7.3 85 XT2_P
P7.4 5 D_BOARD_GPIO0
23
Chapter 3. Hardware
P7.5 6 D_BOARD_GPIO1
P7.6 7 D_BOARD_GPIO2
P7.7 8 D_BOARD_GPIO3
P8.0 58 -
P8.1 59 -
P8.2 60 UART1_TX
P8.3 61 UART1_RX
P8.4 62 -
P8.5 65 I2C1_SDA
P8.6 66 I2C1_SCL
P8.7 67 ANTENNA_GPIO
P9.0 68 FRAM_WP
P9.1 69 FRAM_SPI_CS
P9.2 70 UART0_TX
P9.3 71 UART0_RX
P9.4 72 WDI_EXT
P9.5 73 I2C2_SDA
P9.6 74 I2C2_SCL
P9.7 75 MR_WDOG
PJ.0 92 TP21
PJ.1 93 TP22
PJ.2 94 TP23
PJ.3 95 TP24
- 13 XT1IN
- 14 XT1OUT
- 96 JTAG_TDO_TDI
- 91 JTAG_TCK
24
3.5. Non-Volatile Memories
3.5.2 FRAM
The EXCELON™ Auto CY15X102QN is an automotive grade, 2Mb non-volatile mem-
ory employing an advanced ferroelectric process. A ferroelectric random access memory or
F-RAM is non-volatile and performs reads and writes similar to RAM. It provides reliable
data retention for 121 years. The schematics of the memory can be seen in Figure 3.17,
an SPI bus is used to communicate with this peripheral.
25
Chapter 3. Hardware
26
3.8. Voltage and Current Sensors
27
CHAPTER 4
Firmware
4.2 Dependencies
The firmware depends on external libraries to access the embedded hardware or to
communicate with other modules. A list of these libraries and the used version is available
in Table 4.1.
Library Version
MSP430 DriverLib v2.91.11.01
FreeRTOS v10.2.1
4.3 Tasks
A list of the firmware tasks can be seen in the Table 4.2.
All these tasks are better described below.
4.3.3 Beacon
The Beacon task transmits a data package containing the satellite’s basic telemetry
data every 60 seconds.
29
Chapter 4. Firmware
OBDH 2.0
Firmware
Antenna
DriverLib ADC Antenna FreeRTOS Clocks Drivers
Deployment
Process
I2C Payload
Telecommand
Radiation Radiation
Read EPS
Instrument Instrument
Temperature
TCA4311A Read Sensors
Sensor
SpaceLab
Voltage Sensor Startup
EPS 2.0
SpaceLab
Watchdog System Reset
TTC 2.0
TPS382x
UART
WDT
Figure 4.1: Product tree of the firmware of the OBDH 2.0 module.
30
4.3. Tasks
4.3.7 Heartbeat
The heartbeat task keeps blinking a LED (“System LED” in Figure 2.10) at a rate of
1 Hz during the execution of the system. Its purpose is to give visual feedback on the
execution of the scheduler. This task does not have a specific purpose on the flight version
of the module (the flight version of the PCB does not have LEDs).
4.3.8 Housekeeping
This task reads all the important OBDH data and status.
31
Chapter 4. Firmware
ID Name/Description Type
0 Time counter in milliseconds uint32
1 Temperature of the µC in Kelvin uint16
2 Input current in mA uint16
3 Input voltage in mV uint16
Last reset cause:
- 0x00 = No interrupt pending
- 0x02 = Brownout (BOR)
- 0x04 = RST/NMI (BOR)
32
4.4. Variables and Parameters
33
Chapter 4. Firmware
4.5 Telemetry
4.5.1 Beacon
The beacon packet is transmitted every 1 minute and contains basic telemetry data of
the satellite. The content of this packet can be seen in Table 4.4.
• Period: 60 seconds
• Band: UHF
4.6 Telecommands
The system telecommands can be seen in Table 4.7.
34
4.6. Telecommands
35
Chapter 4. Firmware
36
4.6. Telecommands
Module ID number
Battery heater 1
Beacon 2
Periodic telemetry 3
37
Chapter 4. Firmware
38
4.6. Telecommands
4.6.20 Ping
The ping request telecommand is a simple command to test the communication with
the satellite. When the satellite receives a ping packet, it will respond with another ping
packet (with another packet ID, as defined in the downlink packets list). There are no
additional parameters in the ping packet, just the packet ID and the source callsign (or
address). It is also a public telecommand; anyone can send a ping request telecommand
to a satellite.
39
Chapter 4. Firmware
40
4.8. Hardware Abstraction Layer (HAL)
41
CHAPTER 5
Board Assembly
The OBDH2 has some DNP components to provide flashing, debugging, testing, or
extra interfaces if needed. These components may be optional for the flight model of the
board. The draftsman document can be viewed for more detailed information regarding
their location and board dimensions [9].
43
Chapter 5. Board Assembly
Label Interface
J_PC1 I2C0_SDA
J_PC2 I2C0_SCL
J_PC3 I2C1_SDA
J_PC4 I2C1_SCL
J_PC5 SPI_MOSI
J_PC6 SPI_MISO
J_PC7 SPI_CLK
J_PC8 GPI0
J_PC9 GPIO1
J_PC10 GPIO2
J_PC11 GPIO3
44
CHAPTER 6
Usage Instructions
45
Chapter 6. Usage Instructions
46
Bibliography
[5] Texas Instruments Inc. MSP430x5xx and MSP430x6xx Family User’s Guide, October
2016.
[6] Texas Instruments Inc. TPS328x Voltage Monitor With Watchdog Timer, July 2020.
[7] Amazon Web Services, Inc. FreeRTOS - Real-time operating system for microcon-
trollers, 2020. Available at <https://www.freertos.org/>.
[9] SpaceLab. On-board data handling 2.0 draftsman document, 2020. Available at <https:
//github.com/spacelab-ufsc/obdh2/tree/master/hardware/outputs/board_draftsman>.
47
APPENDIX A
This appendix is a test report of the first manufactured and assembled PCB (version
v0.5).
• Tester: G. M. Marcelino
• Material:
• Results: The results of this test can be seen in Figures A.1 (top view of the board)
and A.2 (bottom view of the board).
• Material:
49
Appendix A. Test Report of v0.5 Version
• Results: The results of this are available in Figure A.3, where the log messages of
the first boot of the board can be seen.
– I2 C Port 0
– I2 C Port 1
– I2 C Port 2
• Material:
50
A.4. Sensors
• Results: The results of this test can be seen in Figures A.4, A.5 and A.6.
• Conclusion: No problems were identified on this test, all buses are working as
expected.
A.4 Sensors
A.4.1 Input Voltage
• Test description/Objective: .
• Material:
51
Appendix A. Test Report of v0.5 Version
(a) Connections of the I2 C port 0 test. (b) Waveforms of the I2 C port 0 test.
• Results: .
• Conclusion: .
52
A.4. Sensors
(a) Connections of the I2 C port 1 test. (b) Waveforms of the I2 C port 1 test.
(a) Connections of the I2 C port 2 test. (b) Waveforms of the I2 C port 2 test.
• Material:
• Results: .
• Conclusion: .
53
Appendix A. Test Report of v0.5 Version
Figure A.7: .
54
A.5. Peripherals
Figure A.9: Log messages with the read values from the current sensor.
A.5 Peripherals
• Material:
55
Appendix A. Test Report of v0.5 Version
(a) Connections of the NOR flash memory test. (b) Waveforms of the NOR memory SPI.
A.6 Conclusion
Excluding the current sensor issue, no major problems were identified during the exe-
cuted tests. For the next fabrication round, the identified mistakes will be corrected.
56
APPENDIX B
This appendix is a test report of the first manufactured and assembled PCB (version
v0.7).
• DNP components: P8, P2, P5, P6, P7, D1, D2, D3, D4, D5, D6, D7, D8, U10, R19,
R20, R_ESD, J_PC3, J_PC4, R2, R3, R4, R5, R6, R7, R12, R13, J_V3, J_PC5, J_PC6,
J_PC7, J_PC1, J_PC2, V1, V4, R36, C36
• Material:
• Results: The results of this test can be seen in Figures B.1 (top view of the board)
and B.2 (bottom view of the board).
57
Appendix B. Test Report of v0.7 Version
• Material:
58
B.3. Communication Busses
• Results: The results of this are available in Figure B.3, where the log messages of
the first boot of the board can be seen.
– I2 C Port 0
– I2 C Port 1
59
Appendix B. Test Report of v0.7 Version
– I2 C Port 2
• Material:
• Results: The results of this test can be seen in Figures B.5, B.6 and B.7.
• Conclusion: No problems were identified on this test, all buses are working as
expected.
B.4 Sensors
B.4.1 Input Voltage
• Test description/Objective: Verify the input voltage measurements of the board.
• Material:
60
B.4. Sensors
• Results: TBC.
61
Appendix B. Test Report of v0.7 Version
• Material:
• Results: TBC.
B.5 Peripherals
B.5.1 NOR Flash Memory
• Test description/Objective: Test the functionality of the NOR flash memory by ver-
ifying the device ID register of the IC and performing writing/reading operations.
• Material:
62
B.6. Conclusion
• Conclusion: No problems were identified on this test, as can be seen in Figure B.8,
an writing/reading operation were executed with success.
• Material:
B.6 Conclusion
No major problems were identified during the executed tests, all peripherals all working
as expected.
63
Appendix B. Test Report of v0.7 Version
(a)
(b)
64