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
![]()

![]()


Attitude Ctrl



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.