Manual
Manual
TTC Documentation
TTC Documentation
SpaceLab, Universidade Federal de Santa Catarina, Florianópolis - Brazil
January 2021
TTC Documentation
January, 2021
Project Chief:
Eduardo Augusto Bezerra
Authors:
Gabriel Mariano Marcelino
Contributing Authors:
Sara Vega Martinez
Revision Control:
© 2021 by SpaceLab. TTC Documentation. This work is licensed under the Creative
Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license,
visit http://creativecommons.org/licenses/by-sa/4.0/.
List of Figures
v
List of Tables
vii
Nomenclature
I2 C Inter-Integrated Circuit.
RF Radio Frequency.
ix
Contents
List of Figures v
Nomenclature ix
1 Introduction 1
1.1 Module Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Hardware 5
2.1 General Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Main Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1 Microcontroller . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.2 Radio Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 External Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.1 PCI-104 Pins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 PCB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4.1 Types of assembly . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.5 Power Budget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3 Software 13
3.1 Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.2 Software Layers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
3.3 Flowcharts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3.1 Main . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3.2 Initialization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
3.3.3 ISRs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3.4 Operation Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.5 Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.6 Packets Payload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.7 USCIs Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.8 Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4 Tests 21
4.1 RF Signal Frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.1.1 Beacon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.1.2 Downlink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.2 RF Signal Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2.1 Beacon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
xi
Contents
4.2.2 Downlink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.3 Harmonics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3.1 Beacon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.3.2 Downlink . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
5 Assembly Instructions 27
5.1 Radio Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.1.1 Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.1.2 Final Remarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.2 Compiling and Building the Beacon Firmware . . . . . . . . . . . . . . . . . 35
5.2.1 Creating the Project . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.2.2 Compiling and Building . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.2.3 Flashing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.3 Power-On the TTC Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.3.1 Using an External Power Source for the Beacon MCU . . . . . . . 40
5.3.2 Using the JTAG as Power Source for the Beacon MCU . . . . . . . 42
5.4 Receiving the Beacon Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.4.1 Required Softwares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.4.2 Receiving the Beacon Signal . . . . . . . . . . . . . . . . . . . . . . 42
5.4.3 Receiving the Beacon Data . . . . . . . . . . . . . . . . . . . . . . . 42
References 45
xii
CHAPTER 1
Introduction
This document is the general documentation of the Telemetry, Tracking and Command
module of the FloripaSat project.
The TTC (or TT&C) is the communication module of the FloripaSat[1] cubesat. It is
responsible to make the communication between the earth (A ground station) and the
satellite, and is divided in two sub-modules: Beacon and telemetry.
The beacon is a independent sub-module who transmits a periodic signal containing
an identification data (ID) of the satellite and some basic telemetry data.
The telemetry sub-module is the main communication device. It has a bidirectional
data link to receive telecommands from the earth and transmit all the requested data.
The telemetry sub-module is controlled by the OBDH module (The OBC of the satel-
lite), and the software for handling with this sub-module is under development in the
OBDH module, and is not documented here.
[2]
The beacon executes the following tasks during its execution:
• One-way communication (RX) with the EPS module, using the FSP protocol.
• Two-way communication (TX and RX) with the OBDH module, using the FSP pro-
tocol.
• Transmission of the beacon packets (In two protocols: NGHam and AX.25), containing
the data from the EPS or the OBDH module and the satellite ID (“FLORIPASAT").
• When required by the OBDH module, the transmissions are stopped for an hiberna-
tion period (shutdown).
• In case of an critical failure of the OBDH module, or the uplink channel, the beacon
activates its reception and is capable of make its own hibernation (shutdown).
1
Chapter 1. Introduction
TMR 1 The FloripaSat shall have a physical device to inhibit radio frequency (RF) trans-
mission.
Compliance with CDS 3.3.9: The use of three independent inhibits is highly recommended and
can reduce required documentation and analysis.
TMR 2 The CubeSat will have the RF power output to the transmitting antenna input no
greater than 1,5 W.
Compliance with CDS 3.3.9.1.
TMR 3 The CubeSat will have the RF power output to the transmitting antenna input no
less than 1,0 W (or 30 dBm).
Defined by team analysis.
TMR 4 No CubeSats shall generate or transmit any RF signal from the time of integration
into the P-POD through 45 minutes after on-orbit deployment from the P-POD.
Compliance with CDS.
TMR 5 TTC transceiver shall transmit and receive on the frequency of 437,9 Mhz.
Defined by the team, based on available spectrum allocation to Amateur communication.
TMR 8 TTC Beacon must transmit periodic beacon messages at an interval of 10 seconds,
except when in hibernation or shutdown mode. Allows ground stations to track
and receive satellite data even if telecommand was not sent to the satellite.
TMR 9 TTC transceiver must receive signals from ground stations and demodulate them.
TMR 10 TTC must interface with OBDH, exchanging encoded raw data received or to be
transmitted.
TMR 11 TTC must interface with OBDH using the SPI protocol (@2 KHz).
Defined by the team.
TMR 12 TTC radio must modulate raw data received from OBDH using GFSK, prior to
transmission, and demodulate received data and forward raw data to OBDH.
TMR 13 TTC transceiver shall transmit and receive data at a baud rate of 2400 bps.
Defined by the team, based on link budget analysis.
TMR 14 TTC beacon shall transmit data at a baud rate of 1200 bps.
Defined by the team, based on link budget analysis.
TMR 15 TTC beacon shall transmit packets using the NGHam and AX.25 protocols.
Defined by the team.
2
1.1. Module Requirements
TMR 16 A same beacon packet must be transmitted in both NGHam and AX.25 protocols.
Defined by the team.
TMR 17 TTC must receive the batteries voltages from the EPS module at every 10 sec-
onds.
Defined by the team.
TMR 18 The payload from the packets transmitted by the beacon must contain at least
the satellite ID ("FLORIPASAT") and batteries voltages (received from the EPS
module at every 10 seconds).
TMR 19 TTC uC must perform the antenna deployment of the VHF band antenna.
Defined by the team.
TMR 20 Between the beacon packets transmissions, the beacon MCU and radio must
operate in low power mode, to save energy.
Defined by the team.
TMR 21 TTC PAs (Power amplifiers) must just only be activated during transmissions.
When they are not in operation, they must be turned off.
Defined by the team.
TMR 22 All the beacon critical data, like time control and antenna deployment status,
must be stored in a non-volatile memory.
Defined by the team.
TMR 23 TTC beacon must be able to receive a 24 hour shutdown command from the
OBDH module.
Compliance with AMSAT/IARU regulations.
3
CHAPTER 2
Hardware
• RF4463F30, as the radio module for the beacon and the telemetry link.
5
Chapter 2. Hardware
PC104
SPI/GPIO
UART
GPIO
JTAG RF4463F30 RF
SPI
JTAG Antenna
(Transceiver)
I2C
UART
Serial RF
TTC Board
Si4463
The RF4463F30 module uses the Si4463 radio module. The main characteristics of this
IC can be found in the table 2.2.
6
2.3. External Connections
Characteristic Value
CPU MSP430
Frequency Up to 20 MHz
Non-volatile memory 512 kB
RAM 66 kB
GPIO pins 74
2
IC 3
SPI 6
UART 3
DMA 6
ADC ADC12-12ch
Comparators 12 inputs
Timers - 16-bit 4
Multiplier 32 × 32
BSL USB
Min Vcc 1,8 V
Max Vcc 3,6 V
Active Power 360 µA/MHz
Standby Power (LMP3) 2, 6 µA
Wakeup Time 3 µs
Operating Temperature Range -40 to 80 ◦ C
The table 2.4 describes the PCI-104 connector used pins. The first column is the row
number of the connector, and the remaining columns are the respective columns (Named
as H1A, H1B, H2A and H2B respectively). If the pin has no description, it is not connected
to the TTC board.
7
Chapter 2. Hardware
2.4 PCB
The PCB (Printed Circuit Board) of the TTC module has basically the MSP430F6659 ic,
the RF4463F30 module and all the external connectors.
Some characteristics of this PCB are described bellow:
• The components and traces of the board are distributed over two layers (one in each
side of the board).
• The RF modules are placed in a isolated ground plane (Connected to the main GND
using a ferrite bead). This region can be seen in the figure 2.4.
• The antenna output of the RF4463F30 modules are connected to their respective
connector over a 50 Ohm coupled trace.
8
2.5. Power Budget
9
Chapter 2. Hardware
10
2.5. Power Budget
11
CHAPTER 3
Software
The beacon software is responsible to transmit periodic beacon signals, containing the
satellite identification and a basic telemetry data.
To achieve it, this software communicates with other modules of the satellite (to acquire
data to transmit in the beacon packets), controls the beacon’s radio module and its antenna
module.
It’s written in C, using the Code Composer Studio IDE (Version 7.4.0). The radio
module (Si4463 IC) is configured using the WDS (Version 3.2.11), a step-by-step tutorial
is available as an apendix.
3.1 Dependencies
The beacon software is dependent of the following libraries:
• NGHam: Used to generate and interpret the NGHam protocol packets (This library
was modified for this firmware).
• Hardware layer: All the TTC hardware (MSP430F6659 and the RF4463F30).
• Drivers layer: The software to make the interface with the hardware (Internal pe-
ripherals of the uC, the radio module and the antenna module).
• System layer: General usage functions and resources of the beacon system (like
data structures, power management, etc.).
• Application layer: The main beacon software, where all the tasks were implemented.
13
Chapter 3. Software
Beacon Application
Drivers DriverLib
Beacon Hardware
Power On
System
Initialization
Main Loop
3.3 Flowcharts
3.3.1 Main
3.3.2 Initialization
Watchdog
The watchdog is initialized using the ACLK as clock source and a 512k clock divider
(generating a 16 second watchdog). The counter starts right after the initialization.
CPU
For the CPU configuration, the core voltage is setted to level 2 (required for a clock
between 12 and 20 MHz). The DCO FLL reference is setted to REF0 (with the clock
divider equal to 1). The ACLK clock is setted to be equal to REF0 (same as DCO, clock
divider equal to 1). The SMCLK reference is setted to be the DCO, but with a divider
factor equal to 4.
14
3.3. Flowcharts
So, the final configuration is: MCLK = 16 MHz, SMCLK = 4 MHz and ACLK =
32,768 kHz.
Memory
UNDER DEVELOPMENT.
Time
During the time initialization, the last value stored in the memory is loaded and the counter
continues from it value, preventing the lost of time reference after a system reboot or fault.
Timer
For the system time, a 1 second timer is used (using the timer interruption to increment a
second counter variable, 32-bit unsigned integer). This counting starts from the last value
stored into the memory.
Antenna
UNDER DEVELOPMENT.
Radio
During the initialization of the radio, it is reseted and all the configuration parameters are
transfered to the radio module. More informations about this process can be found in the
radio IC documentation.
RF Protocols
The NGHam, AX.25 and the FSP protocols also need an initialization, to set internal
variables and counters.
3.3.3 ISRs
OBDH and EPS Communication
The flowchart of the interruption service routine (ISR) of the OBDH communication can
be seen in the figure 3.4(a). Basically, when a new byte arrives, it is pushed to a queue
15
Chapter 3. Software
(if it isn’t full), and periodically, the OBDH communication task process these new bytes
(taking out the bytes from the queue).
The flowchart of the interruption service routine (ISR) of the EPS communication can
be seen in the figure 3.4(b). It’s operation is equal to the OBDH communication ISR.
• DEBUG MODE: In this mode, the operation of the beacon is described through
an UART port. At every operation, a message describing what is happening is
transmitted to the debug UART port.
• TEST MODE: In this mode, the antenna deployment routines are not executed. This
is the main mode to use during the satellite integration tests.
• FLIGHT MODE: This is the mode to use in flight, with all the available resources
enabled.
The selection of the operation mode can be done using the “BEACON_MODE" variable
in the “config.h" file.
3.5 Tasks
In the table 3.1, the beacon tasks are listed with a brief description and its period of
execution.
16
3.8. Timers
17
Chapter 3. Software
Initialization
Routine
Watchdog Radio
Initialization Initialization
CPU
Initialization Radio No
Init. Successful?
Memory
Yes
Initialization
RF Protocols
Initialization
Time
Initialization
Operational Params.
Initialization
Timer
Initialization
End Of
Initialization
Antenna
Initialization
Antenna No
Init. Successful?
Yes
18
3.8. Timers
OBDH EPS
ISR ISR
Yes Yes
(a) OBDH communication ISR flowchart. (b) EPS communication ISR flowchart.
Table 3.3: Content of the beacon packets with a fault in the OBDH module.
Table 3.4: Content of the beacon packets with a fault in the OBDH and EPS modules.
19
Chapter 3. Software
20
CHAPTER 4
Tests
This...
• Measurement: ∼
= 145,9 MHz
4.1.2 Downlink
• Target: 437,9 MHz
21
Chapter 4. Tests
• Measurement: ∼
= 437,9 MHz
4.2.1 Beacon
• Target: 30 dBm
• Measurement: ∼
= 22 dBm (+3 dBm including the cable and connectors loss)
22
4.2. RF Signal Power
30
20
10
0
Power [dBm]
20
30
40
1.457 1.458 1.459 1.460 1.461
Frequency [Hz] 1e8
4.2.2 Downlink
• Target: 30 dBm
• Measurement: ∼
= 27 dBm (+3 dBm including the cable and connectors loss)
The output power of the downlink radio can be seen in Figure 4.2.
23
Chapter 4. Tests
4.3 Harmonics
4.3.1 Beacon
24
4.3. Harmonics
4.3.2 Downlink
25
CHAPTER 5
Assembly Instructions
5.1.1 Steps
After the installation of the software, the procedures to configure the beacon radio are
described bellow (When a parameter to configure the telemetry link radio differs from the
beacon radio, a note describes the difference).
Step 1
1. Open the WDS software.
2. The following box will appear in the center of the window.
3. Click in "Simulate radio" and go to the next step.
27
Chapter 5. Assembly Instructions
Step 2
1. In the list of radios that appeared on the new window, select the chip type “Si4463".
Step 3
1. Select “Radio Configuration Application".
Step 4
1. In the “Frequency and power" tab, change the base frequency to 145,9 MHz.
28
5.1. Radio Configuration
Step 5
1. In the “RF parameters" tab, change the modulation type to “2GFSK".
2. Change the the data rate to 1,2 kbps.
3. Change the deviation to 2, 5 kHz.
4. Go to the next step.
Step 6
1. In the “Packet" tab, many subtabs will appear. In “Preamble" change the “Preamble
TX length" to 4 bytes.
2. Again, in “Preamble", change the “Preamble pattern" to “Std. 1010 pattern (>= 32
and < 40 bits)".
3. Go to the next step.
Step 7
1. In the “Sync Word" tab, change the sync word length field to “4 bytes".
2. In the “Sync Word (on air int.)", enter the following sequence: 5D E6 2A 7E. This
sequence is the sync word used by the NGHam protocol.
3. Go to the next step.
29
Chapter 5. Assembly Instructions
Step 8
Step 9
30
5.1. Radio Configuration
Step 10
Step 11
31
Chapter 5. Assembly Instructions
Step 12
Step 13
32
5.1. Radio Configuration
Step 14
1. In the “GPIO and FRR" tab, enable pullup in GPIO1 and choose “TX_FIFO_EMPTY
- This output is..." as functionality.
2. Enable pullup in GPIO2 and choose “RX_STATE - This output is..." as functionality.
3. Enable pullup in GPIO3 and choose “TX_STATE - This output is..." as functionality.
4. Enable pullup in NIRQ and choose “Active low interrupt signal" as functionality.
5. Enable pullup in SDO and choose “SDO - Output SPI Serial data out." as function-
ality.
33
Chapter 5. Assembly Instructions
7. Select “Global interrupt status" for the “Fast Response Register B".
8. Select “Packet Handler status" for the “Fast Response Register C".
9. Select “Chip status status" for the “Fast Response Register D".
Step 15
1. Click in “Generate Source" and select the “.h" type of source.
3. The generated *.h file must be copied to the directory of the rf4463 driver.
34
5.2. Compiling and Building the Beacon Firmware
35
Chapter 5. Assembly Instructions
2. The window from the figure 5.15 will appear on the screen.
4. On “Project name", enter the name of the project (It can be “beacon", “beacon_firmware",
or whatever name you want).
36
5.2. Compiling and Building the Beacon Firmware
6. Click on “Finish".
Now the beacon project with the correct parameters has been created, and the project
source code files must be moved to the project directory. Copy the files inside the “beacon"
folder from the TTC git repository to the project folder.
To compile and build the firmware, click on "Project" -> "Build Project". If the process
finish with no errors, the code is ready to go to the MCU of the beacon.
37
Chapter 5. Assembly Instructions
5.2.3 Flashing
To load the code into the board, connect the MSP-FET in the computer and follow the
power-on tutorial.
With the board turned on and the MSP-FET connected, click on “Run" -> “Debug" or
just press F11. If no errors occur, the firmware was loaded succesfully to the board.
1. Using three different power sources: one for the MCU, one for the beacon radio
module and one for the telemetry radio module.
38
5.3. Power-On the TTC Module
2. Using two different power sources: one for each radio module (in this case, the
beacon MCU is powered using the JTAG bus).
3. Using just one power source to all components (THIS METHOD IS NOT SAFE:
there is no control over the power consumption of each component).
To test just the beacon, there is no need to power-on the telemetry radio module.
Turning on the telemetry radio only makes sense if an external module is connected and
controlling it (Like an OBC or an OBDH).
The connections reference of the TTC board can be found in External Connections.
39
Chapter 5. Assembly Instructions
40
5.3. Power-On the TTC Module
2. Connect the positive cable to the H1A-26 pin of the PCI-104 connector.
3. Connect the ground cable to any GND pin of the PCI-104 connector.
2. Connect the positive cable to the H1A-25 pin of the PCI-104 connector.
3. Connect the ground cable to any GND pin of the PCI-104 connector.
41
Chapter 5. Assembly Instructions
5.3.2 Using the JTAG as Power Source for the Beacon MCU
In this case, to power on the beacon MCU, just connect a jumper in the P4 connector of
the board and after, connect a MSP-FET debbuger to the JTAG connector.
The procedure to power-on the radio modules is the same as above.
• RTL-SDR drivers (The GRQX will install all the required drivers).
Supported SDRs
• RTL-SDR
The figure 5.16 illustrates the reception of the beacon signal in the GQRX software.
42
5.4. Receiving the Beacon Data
5. A new window will appear in the screen, with the FFT and Waterfall plot of the
received signal (in real time) of the connected SDR.
7. Adjust the frequency of the receive to the center frequency of the beacon signal (Use
the FFT and the Waterfall plot for that).
8. With the correct frequency sinthonization, the beacon data should appear in the main
window of the FloripaSat GRS softwate.
43
Chapter 5. Assembly Instructions
Figure 5.17: Beacon signal in the GNURadio receiver from the FloripaSat GRS.
44
Bibliography
[3] Texas Instruments Inc. MSP430x5xx and MSP430x6xx Family User’s Guide, October
2016.
[4] NiceRF Wireless Technology Co., Ltd. RF4463F30 1W High Sensitivity Wireless
Transceiver Module Product Specification, rev 2.1 edition, June 2016.
45