Hardware Design
Design Choices
Up next is provided a table including the most important information of the OBC. In the following sections is found information about each one of them as well as the overall design of the system.
Quick Facts Table
Component | Value |
---|---|
Microcontroller | STM32L476RG |
Core | ARM Cortex-M4 |
Generation | STM32L4 Series of ultra-low-power MCUs |
Flash Memory | 1 MB |
SRAM | 128 KB |
Table 1: OBC Hardware Quick Facts Table
Microcontroller Unit (MCU)
The selected microcontroller unit is the STM32L476RG. Among its main features one can find outstanding processing performance, fast interrupt handling, low gate count and ultra-low-power consumption. Some of the reasons that back up this choice are provided next:
- Common industry use, therefore there is a lot of documentation about it on STMicroelectronics' website, but also a significant amount of online tutorials which showcase how this device could be used for a multitude of tasks.
- Size of the flash memory and effiency of SRAM, paired up with the 32 KB of hardware parity check, enabling the creation a buffer for important data to be safely stored in.
- The availability of a wide array of peripheral communications including I2C, USART, SPI, and SWPM create a very flexible environment for trying out several methods of setup and communication. This is also relevant considering the modular approach to the
- The number of internal and possible external clocks with a capacity of oscillating to 80 MHz allows the satellite to operate under multiple different modes, each with different clock settings well-suited to power management applications.
The microcontroller hosts an overall 4 GByte memory area, at adresses ranging between 0x0000 0000 and 0xFFFF FFFF. Accessible for our use are two SRAM memories providing a total sum of 128KB and a Flash memory with an storage capacity of 1MB.
Memory | Addresses | Storage Capacity | Boot Area | Application Code |
---|---|---|---|---|
SRAM1 | 0x2000 0000 - 0x2003 FFFF | 96 KBytes | NO | NO |
SRAM2 | 0x1000 0000 - 0x1000 7FFF | 32 KBytes | NO | NO |
Flash | 0x0800 0000 - 0x080F FFFF | 1 MByte | YES | YES |
Table 2: Embedded Memories information
The flash memory is also divided in two 512KBytes banks, enabling read-while-write operations. The embedded SRAM can be accessed in read/write at CPU clock speed with 0 wait states.
Clocks
The MCU is provided with internal clocks but a pair of external clocks are accommodated for clock configuration. This is due to the fact that the speed of the MCU will be slown down depending on the state of the battery as well as due to the necessity of high speeds by the K-Band payload.
These two external clocks will provide redundancy and a stable reference signal to the OBC ensuring proper timings. One of this clocks is a 32.768KHz SMD Low Profile Crystal (ABS09-32.768KHZ-7-T), providing a lower speed signal while the other clock, a ECX-32 SMD CRYSTAL(ECS-120-18-33-JEM-TR3), provides a high speed signal at a frequency 32 MHz. Both were selected due to their temperature operative ranges as well as package size, while also considering availability.
PoL Controls
While the PoL Controls do not belong to the OBC subsystem in on of itself they are located in the OBC-COMMS board and controlled by the MCU. These are requiered to easily shutdown parts of the system as well as ensuring voltages in critical points. Even though this task could moreless be performed by transistors, the use of PoL IC improves reliability and offers a safer alternative.
The selected IC for this task is the BD2232G-GTR due to it being equipped with the functions of over-current detection, thermal shutdown and under-voltage lockout. The package size and thermal properties also match the system requirements.
Schematic Design
MCU
The MCU is undoubtedly the most complex piece of the OBC-COMMS PCB in terms of connectivity. It communicates with the rest of the system using DACs, ADCs, UART, I2C (to a great extent), SPI and GPIOs. The schematic of the MCU is provided next:
Figure 1: MCU Schematic
In order to avoid high frequency interferance with the voltage supply of the MCU seven capacitors are placed in parallel before the input resulting in the following configuration.
Figure 2: MCU Decoupling Capacitors Schematic
Now a table with some information about each one of the PINs of thee MCU is given and most relevant explanations are provided later:
Pin Number / Name | PCB Pin Name | Type | Description |
---|---|---|---|
1/VBAT | VCC | Power | General Power line at 3.3V |
2/PC13 | NC | - | - |
3/PC14 | OSC32_IN | Input | 32 kHz Oscillator Input |
4/PC15 | OSC32_OUT | Output | 32 kHz Oscillator Output |
5/PHO | OSC_IN | Input | 12 MHz Oscillator Input |
6/PH1 | OSC_OUT | Output | 12 MHz Oscillator Output |
7/NRST | NRST | Digital Input | STM32 Reset Pin |
8/PC0 | SCL3 | I2C | I2C3 Clock Bus |
9/PC1 | SDA3 | I2C | I2C3 Data Bus |
10/PC2 | SEL_PH0 | Digital Output | Selector for Photodiode Multiplexer |
11/PC3 | NC | - | - |
12/VSSA | GND | Power | Ground |
13/VDDA | VCC | Power | General Power line at 3.3V |
14/PA0 | BATT_NTC | Analog Input | Battery Temperature NTC Sensor |
15/PA1 | ADC_PL | Analog Input | ADC Input |
16/PA2 | X | NC | Unused Pin for Future or No Use |
1/PA3 | CHRGOFF | Digital Output | Battery Charging Enable Pin |
18/VSS | GND | Power | Ground |
19/VDD | VCC | Power | General Power line at 3.3v |
20/PA4 | CLPROG | Analog Outpot | Charge Current Programming Output |
21/PA5 | DAC_PL | Analog Output | DAC Output for Payload |
22/PA6 | X | Not connected | Unused Pin for Future or No Use |
23/PA7 | PoL_ADCS_POWER_EN | Digital Output | Point of Load Control for ADCS |
24/PC4 | FAULT | Digital Input | Battery Charging Fault Status Pin |
25/PC5 | ADC_PH | Analog Input | Photodiode Array Output |
26/PB0 | STM32_PB0 | GPIO | Connected to STM32 PB0, User Defined |
27/PB1 | X | Not connected | Unused Pin for Future Use |
28/PB2 | CHRG | Digital Input | Battery Charging Monitoring Pin |
29/PB10 | HEATER_EN | Digital Output | Heater Enable Pin |
30/PB11 | PoL_BURN_EN | Digital Output | Point of Load Control for Antenna Deployment |
31/VSS | GND | Power | Ground |
32/VDD | VCC | Power | General Power line at 3.3V |
33/PB12 | SX1262_NSS | SPI Chip Select | SX1262 Chip Select |
34/PB13 | SCK | SPI Clock | SX1262 SPI Clock |
35/PB14 | MISO | SPI MISO | SX1262 SPI Master-In Slave-Out |
36/PB15 | MOSI | SPI MOSI | SX1262 SPI Master-Out Slave-In |
37/PC6 | PoL_P/L_EN | Digital Output | Point of Load Control for Payload |
38/PC7 | X | Not connected | Unused Pin for Future or No Use |
39/PC8 | X | Not connected | Unused Pin for Future or No Use |
40/PC9 | SX1262_NRST | Digital Input | SX1262 Reset |
41/PA8 | SX1262_BUSY | Digital Ouput | SX1262 Busy Indicator |
42/PA9 | STM32_PA9 | GPIO | Connected to STM32 PA9, User Defined |
43/PA10 | DIO1 | Digital Iinput | SX1262 Interrupts |
44/PA11 | SEL_PH1 | Digital Output | Selector for Photodiode Multiplexer |
45/PA12 | SEL_PH2 | Digital Output | Selector for Photodiode Multiplexer |
46/PA13 | SWDIO | Serial Wire I/O | STM32 Debug Port |
47/VSS | GND | Power | Ground |
48/VDDUSB | VCC | Power | General Power line at 3.3V |
49/PA14 | SWCLK | Serial Wire | STM32 Debug Port |
50 /PA15 | STM32_PA15 | GPIO | Connected to STM32 PA15, User Defined |
51/PC10 | UART_TX | UART (Output) | UART TX Bus to P/L |
52/PC11 | UART_RX | UART (Input) | UART RX Bus to P/L |
53/PC12 | X | Not connected | Unused Pin for Future or No Use |
54/PD2 | X | Not connected | Unused Pin for Future or No Use |
55/PB3 | SWO | Serial Wire | STM32 Debug Pin |
56/PB4 | X | Not connected | Unused Pin for Future or No Use |
57/PB5 | PFO | Power | Power Fault Output |
58/PB6 | SCL1 | I2C | I2C1 Clock Bus |
59/PB7 | SDA1 | I2C | I2C1 Data Bus |
60/BOOT0 | Boot0 | Boot | Boot Pin |
61/PB8 | X | Not connected | Unused Pin for Future or No Use |
62/PB9 | X | Not connected | Unused Pin for Future or No Use |
63/VSS | GND | Power | Ground |
64/VDD | VCC | Power | General Power line at 3.3V |
Table 3: MCU PINs
PoL Control
The Point-of-Load (PoL) control provides powering of critical components of the system, those being the P/L, ADCS, Thermal Knife and the Battery Heater. The IC is powered by the 3.3V line and the schematic follows the manufacturers reference design, with EN/EN# pin being controlled by the OBC with GPIOs (as MCU Outputs).
Figure 3: PoL Controls Schematic
The outputs of these PoL is connected to the vertical connectors on the sides of the PCB.
External Clocks
The OBC external clocks are provided with decoupling capacitors to minimize any noise that might affect the reference signals. The schematics are provided next:
Figure 3: External Clocks Schematic
Capacitors are placed at the extremes of the clocks to reduce the gain of higher harmonics produced by the crystals themselves.
Overall Schematic
A schematic of the whole system is provided now, highlihting the parts with different colours:
Figure 4: Overall OBC Schematic
- Red: The MCU itself, coupled with the pull-up resistors and capacitors it needs for its pins.
- Green: The 4 power switch ICs which can switch several pin outputs to zero (more specifically: P/L_POWER, ADCS_POWER, BURNCOMMS, and HEATER_PWR).
- Light blue: The outside lateral connectors used for system power and data connectivity.
- Dark blue: The Umbilical Power Diode used to protect the circuit from reflections while being directly powered .
- Pink: The 2 external oscillators (Low speed and High speed) used as redundant clocks for the OBC circuit.
- Orange: The MCU's decoupling capacitors used to reduce and filter out noise caused by sudden changes in power demand from a device or component.
- Yellow: The mounting holes for the PCB, which will be used to fixate all the PCB in place with a long screw and give them a common GND pin.
PCB Design
Next an explanation of the OBC side of the OBC-COMMS PCB is given. Information related to the COMMS side is in its respective section. A render of the PCB is provided in the next figure:
Figure 5: OBC-COMMS PCB with OBC Components highlighted
- Light red: MCU.
- Green: Pull-up resistors for I2C.
- Pink: Decoupling capacitors.
- Dark blue: Power switch ICs (PoL Control) and their respective input capacitor.
- Purple: Crystal oscillators and their respective coupling capacitors.
- Crimson red: Umbilical diode and connector.
- Light blue: Input capacitor and resistor for NRST and Boot0 respectively.
The MCU is located at the top layer of the PCB, placed at the left side of the board to keeking most power distribution as far away as possible from the COMMS side of the PCB to minimize interference. This distribution also keeps the I2C pins close to the vertical connectors which helps reduce noise from the PCB. The Decoupling capactitors are placed throughout the board on the STM32 voltage pins.
The I2C Pull-up resistors are simply placed as close as possible to the corresponding pins. This decision also happens to minimize the lenght of the lines as the PINs are close to the vertical conectors. This same philosophy applies to the input capacitor and resistor for NRST and Boot0.
All this components are besides the NRST capacitor are on the top layer. On the bottom layer we find the Power switch ICs (PoL Control) which are once again located as close as possible to the vertical connectors where their outputs match in order to minime power losses, keep lines short and avoid interferences with COMMS. On the same side are the Crystal oscillators which are located at the top right corner as the MCU is then located straight on top of them. This is fundamental as the harmonics generated by these clocks are dangerous to the COMMS subsystem, so keeping them as far as possible from the RF lines and transciever minimizes risk of coupling.
The last piece of the OBC PCB are the Umbilical diode and connector, also on the bottom layer and, once again, close to the vertical connectors for the same reasons as before.
A list of the components as well as some information for each part is provided next:
Microcontroller Unit (MCU)
The table containing the MCU information:
Characteristic | Description |
---|---|
Microcontroller | STM32L476RGT7 |
MCU Manufacturer | ST |
Core | ARM Cortex M4 |
Word Length | 32-bit |
Frequency (MHz) | 80 |
Architecture | RISC |
FPU | Yes |
Consumption | 9.6mA |
Interfaces | x3 I2C, x3 SPI, x2 UART, x3 USART, x8 GPIO |
ADC | 3 |
DAC | 2 |
Flash | 1MB |
RAM | 128KB |
Table 4: MCU Information
Decoupling capacitors
Capacitor C31 is a 4.7uF ceramic capacitor (GRT188R61E475KE13D) with the following characteristics:
Temp. coeff. or Cap. Change | Temp. Range | Ref. Temp. | Rated Voltage | Capacitance | Capacitance Tolerance | Operating Temp. Range | Mounting Method |
---|---|---|---|---|---|---|---|
-15 to 15 % | -55 to 125°C | 25°C | DC 100V | 4.7uF | +/-10% | -55 to 85°C | Flow, Reflow |
Table 5: GRT188R61E475KE13D (C31) Relevant Values
Capacitors C32 to C36 are all 100nF ceramic capacitors (GRM188R72A104KA35J) with the following characteristics:
Temp. coeff. or Cap. Change | Temp. Range | Ref. Temp. | Rated Voltage | Capacitance | Capacitance Tolerance | Operating Temp. Range | Mounting Method |
---|---|---|---|---|---|---|---|
-15 to 15 % | -55 to 125°C | 25°C | DC 100V | 0.1uF | +/-10% | -55 to 125°C | Flow, Reflow |
Table 6: GRM188R72A104KA35J (C32, C33, C34, C35, C36) Relevant Values
Capacitor C37 is a 1uF ceramic capacitor (GRM188R61A105KA61D) with the following characteristics:
Temp. coeff. or Cap. Change | Temp. Range | Ref. Temp. | Rated Voltage | Capacitance | Capacitance Tolerance | Operating Temp. Range | Mounting Method |
---|---|---|---|---|---|---|---|
-15 to 15 % | -55 to 85°C | 25°C | DC 10V | 1uF | +/-10% | -55 to 85°C | Flow, Reflow |
Table 7: GRM188R61A105KA61D (C37) Relevant Values
I2C Pull-up resistors
The I2C PU Resistors (R1, R2, R7, R8) are all 4.7k thick film resistors (CRCW06034K70JNEAC):
Resistance | Power Rating | Tolerance | Temp. Coefficient | Min. Operating Temp. | Max. Operating Temp. | Voltage Rating |
---|---|---|---|---|---|---|
4.7 kOhms | 100 mW (1/10 W) | 5% | 200 PPM / °C | -55 °C | +155 °C | 75 V |
Table 8: I2C PU Resistors Values (R1, R2, R7, R8)
Crystal Oscillators
The Crystal oscillators present the following capacitors to filter harmonics:
RefDes | Package | Value | Qty | Description | Manufacturer Code |
---|---|---|---|---|---|
C38, C39 | 0402 | 10pF | 1 | Multilayer ceramic capacitors C0G ±2%, 50V | 06035A100GAT2A |
C40, C41 | 0402 | 3.3pF | 1 | Multilayer Ceramic Capacitors C0G ±5%, 100V | GCM1885C2A200JA16D |
Table 9: Crystal Oscillators Capacitors Values
Umbilical diode (RBS1LAM40ATR)
The umbilical connector boasts two diodes, which are the same component:
Type | Configuration | Technology | If | Vrrm | Vf | Ifsm | Ir | Vr | Max Op. Temp. |
---|---|---|---|---|---|---|---|---|---|
Schottky Diodes | Single | Si | 1 A | 40 V | 340 mV | 40 A | 150 µA | 20 V | +125 °C |
Table 10: Umbilical Diodes Values
Input C&R for NRST and Boot0
NRST and Boot0 make use of the following components:
- The resistor R6 (CRCW040210K0FKEDC):
Resistance | Power Rating | Tolerance | Temp. Coefficient | Min. Operating Temp. | Max. Operating Temp. | Voltage Rating |
---|---|---|---|---|---|---|
10 kOhms | 63 mW (1/16 W) | 1% | 100 PPM / °C | -55 °C | +155 °C | 50 V |
Table 11: R6 Values
- The capacitor C42 (GRM188R72A104KA35J) is the same as the capacitors C32 to C36 decoupling capaciitors .
Power switch ICs Capacitors
The power switch capacitors are the same as the C37 decoupling capacitor .
PCB Layers
The OBC-COMMS layers are explained on the COMMS section of hardware-
State of the art
The Due to the novel nature of the satellite, research in this area is somewhat restricted. Most of the currently deployed spacecraft are primarily the outcome of educational initiatives and an emerging market. Considering all this, the assessment is focused on three enterprises currently offering market solutions, the already introduced Alba Orbital and FOSSA Systems, along with Citadel Space Systems. It is worth mentioning that the products of the latter company, still do not have experience in space. The 3 reference PocketQubes are Unicorn-2, FOSSASat-2 and Scquire, developed by Alba Orbital, FOSSA Systems and, Citadel Space Systems respectively.
The analysis breakdown of their microcontrollers on-board is performed in table 2.1. The underlying purpose of this comparison is to identify the technology that best meets the requirements of our On-Board Computer. In this regard, the research is focused on the relevant features of the microcontroller selected to fly towards space, such as word length, maximum frequency, architecture among others.
Organization | Alba Orbital | FOSSA Systems | Citadel Space Systems |
---|---|---|---|
PocketQube | Unicorn-2 | FOSSASat-2 | Squire |
Microcontroller | MSP430 | STM32L4 | TMS570 |
MCU Manufacturer | TI | ST | TI |
Core | CPU | ARM Cortex M4 | ARM Cortex R5F |
Word Length | 16-bit | 32-bit | 32-bit |
Frequency (MHz) | 16 | 80 | 300 |
Architecture | RISC | RISC | RISC |
FPU | No | Yes | Yes |
Consumption | 6.72mA | 9.6mA | 990mA |
Interfaces | x1 I2C, x1 SPI, x1 UART | x3 I2C, x3 SPI, x2 UART, x3 USART, x8 GPIO | x2 I2C, x5 SPI, x4 UART, x16 GPIO |
ADC | 8 | 3 | 2 |
DAC | - | 2 | - |
Flash | 16KB | 1MB | 4MB |
RAM | 512B | 128KB | 512KB |
Table x: State of the art comparison
According to the previous table, the microcontroller selected by the emergent picosatellite companies are Texas Instruments (TI) and STMicroelectronics (ST). Regarding the processor core, it is common for the microcontrollers to be based upon a processor manufactured by another enterprise. In this case, the STM32L4 and the TMS570 are based on ARM Cortex M4 and ARM Cortex R5F respectively, both developed by Arm. However, TI has opted to develop the Central Processing Unit (CPU) core themselves. Furthermore, the critical features that significantly impact microcontroller per-On-board computer software development for PocketQubes formance are frequency and word length.
On the one hand, the frequency establishes the speed of the CPU, expressed in Hertz or MegaHertz represents the number of clock cycles per second. In our scenario, the TMS570 is the fastest in terms of intruction execution with 300 MHz, followed by the STM32L4 with 80 MHz and finally, the slowest being MSP430 at 16 MHz. On the other hand, the word length determines the width of the processor registers and the bus data width. Consequently, the memory space, data and instruction handling, and data precision are dependent on this parameter. For this reason, the processing performance of the 32-bit microcontroller from FOSSA Systems and Citadel Space Systems is more powerful, than the 16-bit selected by Alba Orbital.
However, performance comes together with power consumption so adjusting the system functioning to its requirements is key. In this context, the assessment should focus on the optimum trade-off between performance and power consumption where the battery capacity plays a critical role. The only parameter that the application writer can tune in order to regulate the power consumption is the clock frequency. For the sake of simplicity, the maximum power consumption of each microcontroller has been analyzed at their respective maximum frequencies (16 MHz, 80 MHz, and 300 MHz). As anticipated, the microcontroller operating at the highest frequency exhibits the highest power consumption, measuring 990 mA. This value is over ten times larger than the power consumption of the STM32L4, which consumes 9.6 mA, and the STM32L4, in turn, consumes twice the power of the MSP430 at 6.72 mA.
Furthermore, the system can reap advantages from the inclusion of a Floating Point Unit (FPU), which is specifically designed to handle floating-point operations. While the CPU is capable of performing such operations, the FPU executes them not only faster, but also with higher precision. Interestingly, Alba Orbital made the decision not to incorporate this component, whereas FOSSA Systems and Citadel Space Systems opted to implement it.
One thing in common among the pioneering entities is the architecture of the MCU. Based on Reduced Instruction Set Computing (RISC), the processing focuses on the use of simple instructions that can be executed in a clock cycle. In general, RISC architecture when compared to Complex Instruction Set Computing (CISC), is much faster, less resource consuming and more power-efficient, which is ideal for embedded systems. Even though CISC reduces the number of memory access since more operations can be done with a single complex instruction, pipelining in RISC also accelerates the memory access process.
Regarding interfaces, it is the part that depends the most on the overall system architecture. In other words, it depends on which are the devices that the microcontroller has to communicate with and which is the protocol required to do so. The system governing FOSSASAT-2 and Squire is more complex since they feature a wide variety of serial peripheral interfaces such as I2C, SPI, UART, USART and GPIO. On the contrary, Unicorn-2 looks somewhat simpler with only one I2C, one SPI and one UART peripheral interfaces required. In addition, FOSSASat-2 accomodates three ADCs, Scquire features two of them and MSP430 has up to 8 ADC channel available. In terms of DAC, STM32L4 is the only one having this feature, with 2 DACs.
Last but not least, the discussion concerning memory storage is given. As stated before it is directly dependent on the word length, since the more addresses we can use the larger the memory can be. Memory needs to have enough room for both data and the program itself. The three introduced PocketQubes accomodate a Flash memory along with a RAM memory whose sizes are determined according to the system needs.