/********************************** * Back To Basics: * Flight Software in 8 Kilobytes **********************************/ /****************************************************** * Josh Schoolcraft <[email protected]> * Thomas A Werne <[email protected]> ******************************************************/ ~ "authors.h" 4L, 215C 4,2 All Copyright 2014 California Institute of Technology. Government sponsorship acknowledged.
20
Embed
****************************************************** * Josh Schoolcraft * Thomas A Werne ******************************************************/ ~ "authors.h"
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
/********************************** * Back To Basics: * Flight Software in 8 Kilobytes **********************************/
/****************************************************** * Josh Schoolcraft <[email protected]> * Thomas A Werne <[email protected]> ******************************************************/~ "authors.h" 4L, 215C 4,2 All
Copyright 2014 California Institute of Technology. Government sponsorship acknowledged.
“If you want to make an apple pie from scratch,
you must first create the universe.”
2
\mainpage
• Intro• INSPIRE• Architectures• Development• The Code• Reflections
Copyright 2014 California Institute of Technology. Government sponsorship acknowledged.
INSPIREInterplanetary NanoSpacecraft Pathfinder In a Relevant Environment
Low-cost mission leadership with the world’s first CubeSat beyond Earth-orbit
PI: Dr. Andrew Klesh, Jet Propulsion Laboratory, California Institute of TechnologyPM: Ms. Lauren Halatek, Jet Propulsion Laboratory, California Institute of Technology
University Partners:• Cal Poly - San Luis Obispo• U. California – Los Angeles• U. Michigan – Ann Arbor• U. Texas – Austin
Collaborator:• Goldstone-Apple Valley Radio Telescope (GAVRT)
Guidance and Control: Star TrackerGyroscopeSun Sensors / Solar CellsCold-Gas Thrusters
6
\INSPIRE
• Small project (<$5.5M) with small focused team (core of 9 people) for short mission duration (<90 days) in deep space with redundant spacecraft.• Development: 18 months from start to finish
• Delivered on time and under budget
• Built on extensive CubeSat experience in low-Earth orbit (personnel, practices, and hardware heritage)• Small, skilled, multidisciplinary team
• Use existing standards (CubeSat Specification, CCSDS, etc.) to reduce design complexity
• Large margin for mission success based on demonstrated capabilities
7
\requirements
• Survive• Navigate• Communicate
…Everything else is extra credit…
8
\constraints
• Time• People• Hardware
…Everything else is secondary…
9
\hardware architecture• Texas Instruments MSP430 family• Extremely low power (idle current <1µA)• Von-Neumann architecture• JTAG debug (single-step instructions with
full hardware state visibility)• Not radiation-hardened (yet)
Merge the CubeSat software development model (amateur code, fast and loose) with guidance from the agile software development, and a helping of skepticism.
\development
14
\nutshell• Coded ~99% from scratch
• Multi-threaded RTOS (“protos”)• Drivers for 14 hardware devices
• DSN-conformant telecom library• Protocols: AOS, TC, Space Packet,
• Stack: 2KB• 80% utilization at deepest call depth• Four threads, “executive” round-robin scheduler
• Telecom buffers: 4KB• Three multi-protocol I/O interfaces: Two radios + ground
umbilical
• Spacecraft state: 1KB• SD card driver: 512B
17
• Stable core• Breadcrumbs• Automation• Hardware in the loop• Tight write-test-modify loop
\critical points
18
“The original software development for the data computer has essentially been a two-man show since 1975, beginning when Edgar M. Blizzard joined Richard Rice to develop the flight version of the code. […]
From start to validation to release, their tools were within sight, and certainly hearing […].
Rice characterized the unique nature of the computer data software this way: ‘We didn’t worry about top-down or structured; we just defined functions.’”
\parallels
-Encyclopedia of Computer Science and Technology Vol. 18