THE ON BOARD COMPUTER SOFTWARE FOR THE BRAZILIAN SCIENTIFIC MICROSATELLITE - SACI-1

 

 

Mário Eugênio Saturno   Walter Abrahão dos Santos   José Bianchi Neto   José Ângelo Neri

 

INPE - Instituto Nacional de Pesquisas Espaciais

Av. dos Astronautas, 1758 - 12227-010 - São José dos Campos - Brazil

 

 

 

ABSTRACT

 

The first Brazilian Microsatellite for Scientific Application (SACI-1), that is being designed by the INPE, was conceived to perform earth and space science experiments. The SACI-1 On Board Computer (OBC) is responsible for service and on board experiment data acquisition, data message encoding and transmission to ground; command reception, decoding and distribution, experiment control, spin and attitude determination and control. The OBC is composed of three fault-tolerant INMOS T805 transputers (each one has 8 Mbytes of data memory) and three I/O interfaces (telemetry and telecommand, RS-422 serial communication and analog/digital/thermistor input and on/off outputs). A basic software manages all subsystems, hardware fault tolerance and implements some primitive functions. This architecture creates an environment appropriate for the development of concurrent and parallel modular software applications. Object oriented analysis was adopted due to its intrinsic advantages over a structural paradigm, nevertheless a convenient mapping during code generation will be necessary as Occam, a non-object-oriented language, shall be used.

 

 

 

1. INTRODUCTION

 

     This paper focuses on the on board computer (OBC) software development of the first Brazilian microsatellite, SACI-1 which carries four scientific payloads.

     As the OBC shall deal with a data throughput around 4 kbytes/s from the experiments and with a 10 hour time interval between consecutive passes, on board hardware and software will require high data memory capability, processing and transfer rate.

     A transputer-based hardware solution is being implemented which meets some of the requirements. In the software part, object-oriented analysis was adopted to model the whole applications demands, hence it is necessary to map objects into a non-object-oriented language like Occam.

     The paper is organized in the following way: section 2 briefly describes the SACI-1 microsatellite, section 3 elucidates the hardware architecture while section 3 discusses the main points for the software architecture.


2. THE SACI-1 MICROSATELLITE

 

     SACI-1 is the first of a series of scientific microsatellites under development at INPE (The Instituto Nacional de Pesquisas Espaciais) [1]. The project is based upon novel technological solutions as well as on background in previous developments for the Brazilian space program.

     SACI-1 will weight 60 Kg and will have a almost circular low earth polar orbit inclined 98.5 degrees to the earth equator at a 750 Km altitude. During visible passes, scientific data from any of its four on board experiments will be transmitted to ground. A Long March IV launcher is expected to put on orbit the microsatellite piggybacked to the CBERS (China-Brazil Earth Resources Satellite) whose launch is due on October, 1997.

     The payload comprises four scientific experiments, namely:

·      PLASMEX, a study of the plasma bubbles in the B ionosphere;

·      ORCAS, a telescope to measure the anomalous cosmic radiation;

·      PHOTOMETER, a measurement of the terrestrial airglow emissions and

·      MAGNEX, a triaxial high precision magnetometer to investigate the geomagnetic field.

 

 

3. THE SACI-1 OBC HARDWARE ARCHITECTURE

 

     The OBC hardware architecture is set around a transputer-based system comprising three fault-tolerant INMOS T805 transputers and three I/O interfaces. They are connected through 10-Mbps serial links. Each CPU contain a Watch-Dog Timer used to detect CPU malfunctioning and to generate a flag to others CPUs.

     Each transputer has a main memory divided into a ROM of 128 kBytes (32 kBytes x 32 bits) and a RAM of 128 kBytes (32 k x 44, 32 bits for data plus 12 bits for parity checks) protected by an error detection and correction circuit (EDAC) that detects single and double errors and corrects single errors and an extended memory to store data, two RAM chips of 4 Mbytes (1 M x 32 bits). The extended memory has a circuit for latch-up detection as it is prone to it.

     Each interface is internally redundant and connected to two processing units. The Telemetry and Telecommand interface receives telecommands frames from the ground communication system at 19200 bps and sends telemetry frames back at 250000 bps. The Serial interface implements a communication protocol based on RS-422 between the OBC and experiments at 19200 bps. The Data Acquisition and Command interface acquires thermistor, analog and digital readings from the satellite subsystems and generate on/off commands to internal configuration control.

     The T805 is a 32 bit transputer with an integral high speed floating point processor. The transputer is an INMOS microprocessor with four full duplex communications links which facilitates CPU networking enabling parallel and concurrent applications as well as high performance computing. It has an excellent interprocessor communication support, process scheduling and management, microsecond time counter, very small cross section, good power consumption.

     Transputers can be programmed in most high level languages, but to gain most benefit from the transputer architecture, the software must be programmed on its home language, Occam. Occam is a high level language and provides the maximum program efficiency to explore all the special features of the transputer architecture. Additionally, Occam also provides a framework for designing concurrent systems.

     As known, electronic components have sensitivity to space radiation. A single event upset (SEU) occurs when a radiation particle change the content of a memory cell. Also, the total ionizing dose shifts the threshold, increasing power consumption and chances of eventual failure. Finally, a single event latch-up occurs when a particle promotes a short circuit in the component.

 

 

4. THE SACI-1 OBC SOFTWARE ARCHITECTURE

 

     A system view of the OBC software embodies two hierarchical layers:

·      FT Router: the basic software which shall control the application program execution, provide the interface between application programs and hardware and the communication and synchronization between application programs;

·      Application Programs: the application software which shall perform the OBC tasks necessary to meet mission requirements.

     This macro-division implies a set of processes that can be qualified as: systems, science applications and interface handlers all depicted in Fig. 1.

 

 

Science Application Processes

RRouterrOUTER

 
 

 

Systems Processes

RRouterrOUTER

 

Interface Handlers Processes

RRouterrOUTER

 
 

 

 

 

 

 

 


Fig. 1 - SACI-1 On Board Computer Software Architecture [2].

 

 

     An object-oriented analysis (OOA) approach has been adopted so far as it underlines a new way of seeing real world problems, focusing on the manipulation of software development essentials rather than in the accidents that may emerge from transposing it to a written code. As a result. A simple collaboration model among OBC software classes is presented in Fig. 2. The dynamic and functional models are under development.

     As a constraint, the on board software shall be constructed in Occam, a programming language which optimizes CPU performance and code generation. Since Occam is not an object-oriented language, the gap between the OOA and its implementation shall be overcome by a convenient matching of views [3].


 

 

                                                     GROUND

 

 


                                        Ground Communications

 

 

 

 

 

 

 

 


                                                         Data Handling

Retângulo de cantos arredondados: Memory
Manager
                                                  

 

 

 


                               Attitude Ctrl

Retângulo de cantos arredondados: Spin Det.
& Control
                             

Retângulo de cantos arredondados: Fourier
Analisys
Retângulo de cantos arredondados: Housekeeping
 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Fig. 2 - Collaboration graph among OBC software classes [4].

 


7. CONCLUSIONS

 

     This paper addressed the initial developments of the on board software of SACI-1, a first of a series of microsatellites whose payloads were specially built for the Brazilian and abroad science communities.

     The computer hardware architecture includes: a fault-tolerant system composed of 3 T805 transputers (32 bits) and 3 specific purpose I/O interfaces (telemetry and command, RS-422 serial communications, A/D and Thermistor inputs and On/Off outputs for bus/payload configuration).  The on board software architecture is divided into two main modules:

·      a nucleus which provides interface between the on board applications and the hardware and provides fault-tolerance facilities and

·      a set of application programs performing the tasks for mission completion.

     Under an OOA, a special mapping will be elaborated so that a non-object oriented implementation language, like Occam on our case, could be efficiently used.

 

 

 

 

 

BIBLIOGRAPHY

1.    Dos Santos, W. A.  et al. - SACI-1 Configuration Status - INPE Internal Report

2.    Castro H.S. et al. - SACI_FTR Preliminary Project Design - SACI-1 Project, Internal Technical Report, August 1995.

3.    Rumbaugh, J. - Object-Oriented Modeling and Design - Prentice Hall, 1991.

4.    Saturno, M.E. & Dos Santos, W.A. - The Object-Oriented Analysis of the On Board Computer Software for the Brazilian Scientific Microsatellite - SACI-1 - International Conference on Small Satellites: Missions and Technology, Madrid, Spain, September, 1996, to appear.