Design and implementation of generic flight software for a CubeSat

Date
2014-12
Journal Title
Journal ISSN
Volume Title
Publisher
Stellenbosch : Stellenbosch University
Abstract
ENGLISH ABSTRACT: The main on-board computer in a satellite is responsible for ensuring the correct operation of the entire system. It performs this task using flight software. In order to reduce future development costs, it is desirable to develop generic software that can be re-used on subsequent missions. This thesis details the design and implementation of a generic flight software application for CubeSats. A generic, modular framework is used in order to increase the re-usability of the flight software architecture. In order to simplify the management of the various on-board processes, the software is built upon the FreeRTOS real-time operating system. The Consultative Committee for Space Data Systems’ telemetry and telecommand packet definitions are used to interface with ground stations. In addition, a number of services defined in the European Cooperation for Space Standardisation’s Packet Utilisation Standard are used to perform the functions required from the flight software. The final application contains all the command and data handling functionality required in a standard CubeSat mission. Mechanisms for the collection, storage and transmission of housekeeping data are included as well as the implementation of basic fault tolerance techniques. Through testing it is shown that the FreeRTOS scheduler can be used to ensure the software meets hard-real time requirements.
AFRIKAANSE OPSOMMING: Die hoof aanboordrekenaar in ’n satelliet verseker die korrekte werking van die hele stelsel. Die rekenaar voer hierdie taak uit deur van vlugsagteware gebruik te maak. Om toekomstige ontwikkelingskostes te verminder, is dit noodsaaklik om generiese sagteware te ontwikkel wat hergebruik kan word op daaropvolgende missies. Hierdie tesis handel oor die besonderhede van die ontwerp en implementering van generiese vlugsagteware vir ’n CubeSat. ’n Generiese, modulêre raamwerk word gebruik om die hergebruik van die sagteware te verbeter. Ten einde die beheer van die verskillende aanboordprosesse te vereenvoudig, word die sagteware gebou op die FreeRTOS reëletyd bedryfstelsel. Die telemetrie- en telebevelpakket definisies van die “Consultative Committee for Space Data Systems” word gebruik om met grondstasies te kommunikeer. Daarby is ’n aantal dienste omskryf in die “Packet Utilisation Standard” van die “European Cooperation for Space Standardisation” gebruik om die vereiste funksies van die vlugsagteware uit te voer. Die finale sagteware bevat al die bevel en data-hantering funksies soos wat vereis word van ’n standaard CubeSat missie. Meganismes vir die versameling, bewaring en oordrag van huishoudelike data is ingesluit sowel as die implementering van basiese fouttolerante tegnieke. Toetse het gewys dat die FreeRTOS skeduleerder gebruik kan word om te verseker dat die sagteware aan harde reëletyd vereistes voldoen.
Description
Thesis (MEng)--Stellenbosch University, 2014.
Keywords
Artificial satellites -- Control systems, Computer software -- Development, CubeSats, Software architecture, Theses -- Electronic engineering, Dissertations -- Electronic engineering, UCTD
Citation