Software
The main functions of the software on board the satellite are:
- Attitude control and determination (ADCS).
- Supervision and control of the satellite platform (housekeeping).
- Sending telemetry messages (TM) to the ground station.
- Decoding and processing of remote orders received from the ground station (TC).
- Time management on board the satellite.
- Detection of faults on the platform and management of operating modes.
- Control of the execution of experiments, data acquisition and sending of the corresponding telemetry to the ground.
The software is being designed and developed by the STRAST group (Real-time systems and telematic services engineering) at the UPM.
Advanced technologies such as MDE (model-driven engineering), Ada and ORK are used for the design and implementation of the software.
References:
- STRAST group.
- Design of the on-board software architecture. Master’s thesis, Jorge Garrido.
- A Real-Time Computer Control Platform for an Experimental Satellite. JTR 2102.
- Analysis of WCET in an experimental satellite software development. WCET 2012.
- Design of On-Board Software for an Experimental Satellite. JTR 2013.
The “Breadboard” model for the UPMSat-2 Software development has been built and tested
This preliminary model or breadboard of the OBC is based on a Xilinx ML507 evaluation board for the Virtex-5 FPGA, a custom-made expansion board and evaluation boards for the ADC128S102QML ADC from Texas Instruments. The expansion board carries the drivers for the MAX232 serial lines, the Total-Elapsed-Time Recorder DS1682, connectors for the GPIO and SPI bus.
For the construction of this model, the SoC of the OBC for the Virtex-5 FPGA has been configured and synthesized from the IP Cores library for LEON3 GRLIB from Gaisler Aeroflex. In addition, the expansion board has been designed and built.
On this preliminary model, the Ada compiler GNAT has been adapted with the run-time system ORK and all the low-level software has been developed. This software includes drivers for the OBC bus devices: serial lines, I2C, SPI and GPIO. It also includes the mission time driver implemented on a DS1682 connected via I2C and the ADC128S102QML analog-to-digital converter connected via SPI. The breadboard has also been used to validate the ADCS Simulink models using HIL.
The following students have participated in the work: Ángel Esquinas, Peter Bradley, Jorge Garrido, Daniel Brosnan and Álvaro Grajal from the STRAST group, and Assal Farrahi and Javier Cubas from IDR