Table 1: Comparison of PSAS Launch Vehicles
Name Size Dia. Weight Ns Altitude Cost Design CPU OS
LV0 1.8 m 10.0 cm 5.4 kg J 0.3 km $500 4 mo. PIC16C Interrupt-driven LV1 3.4 m 11.0 cm 19.5 kg M 3.6 km $2000 18 mo. PIC17C Interrupt framework LV2 4.0 m 13.6 cm 46.0 kg P 23.0 km $10000 >21 mo. 5x86 Linux / RTLinux
The software system is divided into three major areas:
The LV2 flight system uses three significantly different kinds of processors (Table 2). This necessitates three significantly different software architectures: processes running in a 32 bit pre-emptive multitasking RTOS; threads running in a light-weight POSIX-compatible RTOS; and tasks running in a custom interrupt-driven framework. In this section we review these software architectures. Note that we distinguish firmware from software: firmware consists of small, hardware-oriented programs stored in nonvolatile memory and considered read-only by the local processor.
The first design was implemented in C using POSIX threads, TCP/IP sockets, and device I/O processes. The processes passed messages by connecting to a server process called Muxer, which broadcasted each message received to every other task.
One team member began working on an independent effort, and titled it the ``Renegade'' design. Renegade continued the theme of a central Muxer task dispatching each message to all asynchronous I/O-handling clients. However, the architecture was implemented as a UNIX process with UNIX pipes to child I/O processes (Figure 3).
The third and completed design is called FCFIFO. It combines the independent processes from the Muxer design with the conventional UNIX interprocess communications of Renegade. In addition, it eliminates the central multiplexer (Figure 4). On startup, each process opens a uniquely named pipe to read messages from, then opens the named pipes of any processes it needs to communicate with. By eliminating the central multiplexer, task switch and copying overhead are minimized.
Table 3: Embedded Operating Systems Comparison
Name RT POSIX Free Small Effort
RTLinux Y Y Y N 1x µcLinux N Y Y N 2x MicroC/OS-II Y N N Y 4x µITRON Y N Y Y 4x eCos Y Y Y Y 4x Custom Y N Y Y 10x
This document was translated from LATEX by HEVEA.