Computing

From Team SFU Satellite Wikipedia
Revision as of 16:35, 10 June 2019 by Megan (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

This is a quick introduction to the computing team.

Our job is to schedule tasks onboard the satellite, log telemetry data, and interface with the radio and power subsystems. We also packetize the data that gets sent down by the radio.

Our main processor is the TMS570 line from Texas Instruments. This is an industrial processor with two cores that constantly compare with each other. It has the SECDED (single error correction, double error detection) principle implemented throughout the entire chip. This means that any single-bit errors can be corrected automatically by the system, increasing reliability for us.

To schedule tasks and coordinate the functionality that must happen, we use FreeRTOS. There is already a part of the OS for our processor, and there is extensive documentation and help online.

Getting Started Steps

Quickly skim this presentation: https://docs.google.com/presentation/d/10rZ7HNJK1PKdXTrqoN9SsgCA_vathLfs1MCG52YartE/edit

Software development

Follow the steps in this presentation: https://docs.google.com/presentation/d/1f7Ju9JL5RSyHOoU5yEFDoLO5kCBvoIrjsd7w20Z_gYI/edit#slide=id.g2149ba1043_0_75

For reference, this is the development board we use: https://www.digikey.ca/products/en?keywords=hercules%20launchpad

YouTube Videos

Watch our youtube videos https://www.youtube.com/watch?v=DB2Amdz4kz0&list=PLcguvqXCBMy1I6HJXY4a4-JYDu080Ofvw These give an intro to our software and development tools


FreeRTOS

http://www.freertos.org/Documentation/161204_Mastering_the_FreeRTOS_Real_Time_Kernel-A_Hands-On_Tutorial_Guide.pdf

Read the preface, chapter 3, chapter 7

Firmware Overview

https://docs.google.com/document/d/1-uF4Wxw6pb8h1vlBszUyguli1cyjTC2M90cAprpoALA/edit#

This document is in progress, but has some details about the implementation of various features We are trying to update it with recent design decisions.

Check out the code

  • Pull master https://github.com/SFUSatClub/obc-firmware
  • Set the build config to build-obc-v0.4
  • Examine the flow in platform-obc-v0.4/source/sys_main.c
  • You can highlight and right click function names and choose “Open Declaration” to open the function’s .c file
  • All of our code is in either sys_main.c or the SFUSat directory
  • Have a look at task_main and the tests and examples

Browse the issues on Git

See what you’d like to work on. https://github.com/SFUSatClub/obc-firmware/issues


More Information:

Youtube tutorials https://docs.google.com/spreadsheets/d/1R0j-JpN3n5S3hFIuyeGC2EwDK7S45FBwHiTS_3dcA70/edit#gid=0 Important tutorials are numbered in the “View Order” tab Unfortunately, many of them don’t exist anymore :( Task walkthrough This is a simple task that still incorporates a lot of fundamentals such as: RTOS tasks, GPIO pins, and time delays. This document walks through the configuration and software writing process. https://docs.google.com/document/d/1AJDf07F2Gc79XzgEqg17G6lv2K4JDy7efGeB2hOkoxk/edit