scsd-cdh / OBC

2 stars 0 forks source link

Components involved


Remove this later: https://app.diagrams.net/?state=%7B%22ids%22:%5B%221Lrvki_HJC8g2YscnLJUFlnQhUQTD1xV3%22%5D,%22action%22:%22open%22,%22userId%22:%22111935358387644137052%22,%22resourceKeys%22:%7B%7D%7D

There are three different sections which the various components are divided into,

  1. Embedded: This level consists of all the hardware components involved. There are two main programmable components- The SAMV71 and the MSP430, both of these are space-grade microcontrollers. These were the components used in SC-ODIN, our clubs last spacecraft endeavor.

The programs we write mainly run on these processors. Their specs are listed in the appendix. But in general, MSP430 sare much less powerful athan the SAMV71s.

The SAMV71's sole purpose is to send the MSP430s commands. The MSP430s are connected to other peripherals and collect information, which is then retreived by the SAMV71 and processed accordingly.

This is subject to change - Discuss with Nabil/Callum as to where the IRQs are supposed to be located. Also its not SRAM(on the bottom right), its S-BAND. Also update this.

The following communication protocols will be used:

      1. I2C - Mainly used to communicate between the MSP430s and SAMV71.
      2. QSPI - Used to interface with the MRAM chips.
      3. UART - Used to communicate between the MSP430 and Transciever Chip(AX100) in the communications sub-module.
      4. GPIO - Usually just one wire(IRQ) directly connected to the microcontroller, used for setting/reading flags or sending an on/off signal for power cycling.
      5. LVDS - Used to reliable routing images to the Comms Submodule from the Imager payload(Zetane).
  1. OS Level: The OS level components will likely include several APIs which will use the drivers implemented in the previous section.

  2. Debugging Interfaces: This level of the stack will be a software suite comprising of several web-app UIs and which will also provide functionality for generating logs and test reports.

Task Decomposition and Assignment


Todo: Add "State Resolver" to middleware.

The tasks are decomposed into three distinct stack. The lowest level of the stack will implement the driver code. The middleware will then use this to implement its own functionality. The App layer will implement the top level functions using the middleware.

APPENDIX

Stuff that may be helpful

https://www.lucidchart.com/blog/how-to-create-software-design-documents

https://nvie.com/posts/a-successful-git-branching-model/

Commit Convention: [https://www.conventionalcommits.org/en/v1.0.0/]

[

gist.github.com

https://gist.github.com/digitaljhelms/4287848

](https://gist.github.com/digitaljhelms/4287848)

Also Make sure to include/create a component list with ID for Each component.