2023-2024 Qubo Software Projects: Difference between revisions

 
== Embedded software ==
Electrical team is redesigning the electrical system to use a backplane. If you've ever seen a computer motherboard, that's basically what a backplane is. Instead of a mess of wires, there will be several "daughter cards" that slot into the backplane, and will communicate over wiring inside the [[wikipedia:Printed_circuit_board|PCBs]].
 
Each of the daughter boards need to be programmed.
 
=== Daughter boards ===
WIP: This section is rough, just taken from Alex's notes from a meeting with Erik.
 
==== Thruster control board (x2) ====
 
* Each thruster control board controls 4 thrusters, for a total of 8 thrusters.
* CAN node
* UART node
* Receive heading information from Jetson (6-vector float?)
 
==== Power board ====
 
* CAN node
* UART node
* 5 Current Monitoring ICs, 1 for the whole system, same outputs as the monitors in the thruster control card
* eFuses (2 of them):
** Communicate with outside world using digital output (whether I'm open or not)
** Should be logged for diagnostics
* Enable pins (think power buttons for individual components)
** 1 for the thrusters and almost everything else, 1 for the Jetson
** Considering a shutoff for each individual sensor, great for diagnostic purposes
 
==== Diagnostics ====
 
* Polling for current and voltage information from the CAN bus (probably can be done on the Jetson)
* Home-cooked boundary scan: Do a full scan on startup, shutdown, and if serious fault detected.
** Send a stimulus to the pressure points, and measure the response.
 
==== Jetson ====
 
* CAN: Send heading information to the thruster daughter cards
* CAN: Get power information from the power daughter card
 
=== CAN Bus ===
[[wikipedia:CAN_bus|CAN bus]] is a protocol for communication between microcontrollers and devices. It is used in motor vehicles.
 
As of right now, this is the planned protocol for communication between daughter boards.