Development/ testing of software for a cubesat for high resolution earth observation in a low earth orbit
Development/ testing of software for a cubesat for high resolution earth observation in a low earth orbit
Dosyalar
Tarih
2024-06-24
Yazarlar
Azam, Mehreen
Süreli Yayın başlığı
Süreli Yayın ISSN
Cilt Başlığı
Yayınevi
Graduate School
Özet
CubeSats, ranging from 1U to 27U, are small satellites many nations pursue for academic and commercial purposes. The success of their missions depends greatly on the design of their software architecture. Beyond merely achieving functionality and optimal performance, the software must also be resilient to faults and shielded from the effects of radiation, potential failures, and errors. As CubeSats accommodates more advanced subsystems, developers worldwide are exploring agile development methods. Consequently, software development must prioritize three essential factors: Modularization, refactoring, and generalization. This study aims to describe the design, implementation, and testing of software modules of a 16U CubeSat, focusing on its onboard computer (OBC) software. A comprehensive software platform has been developed featuring a flexible architecture capable of supporting a multispectral payload and other subsystems. Multiple studies were done to familiarize the current work with experience from past projects, coding standards, and rules. Three fundamental requirements were derived to ensure software development quality: Concurrent documentation, version control for efficient tracking, and Debug tools support. The mission software has been developed using the Free RTOS Real-Time Operating System for real-time scheduling functionality, inter-task communication, timing, and synchronization. SEU/SEL management is considered for relevant subsystems. The development environment of choice was the Eclipse IDE, with code crafted in the C language. The code architecture is structured around creating libraries for individual subsystems, which serve as building blocks for developing higher-level applications specific to each subsystem. Followed by creating subsystem managers and various operating modes (Initialization, idle, Payload operation mode, etc.) ensuring reliable operation. Finally, a mode manager is implemented which acts like a state machine handling decision-making and switching between operating modes. Additional peripherals like packet routing, housekeeping, timekeeping, data logging, and even power management have been designed to match the mission profile in these modes. Following code development, the subsequent phase involves testing the code on actual hardware. The chosen OBC hardware has 03 interfaces; I2C for housekeeping/telemetry, JTAG for programming and debugging, and UART for development and testing. Testing of the developed code is in process for various subsystems. As future work, implementation of developmental changes is an ongoing process to ensure robustness and reliability.
Açıklama
Thesis (M.Sc.) -- Istanbul Technical University, Graduate School, 2024
Anahtar kelimeler
CubeSats,
Küp uydular