On-board computer data handling testing experiences for the second Brazilian data collecting satellite (Scd-2)

Mário Eugênio Saturno,        José Damião Duarte Alonso,        João Carlos Caliman

               saturno@dea.inpe.br                 damiao@dea.inpe.br              caliman@dea.inpe.br

National Space Research Institute (INPE)

São José dos Campos - SP - Brazil

abstract

The On-Board Computer Data Handling (OBCDH) for the Second Brazilian Data Collecting Satellite (SCD-2) and its Testing System were developed by INPE. The former was designed according to its logical hierarchical layers (Hardware, Operating System and Application Programs) and the latter to perform the OBCDH testing using a methodology based on IEEE standard. Combined data-driven and logic-driven tests were applied to verify and validate the OBCDH subsystem and its fault tolerance resources during the development phases, and integration tests were applied during the acceptance phase. This paper describes the OBCDH testing experiences and its effect on the OBCDH hardware and software development.

1.- Introduction

The Second Data Collecting Satellite (SCD-2), developed by the Brazilian National Space Research Institute (INPE), is a dedicated satellite to the collection and distribution of environmental data emitted by Data Collecting Platforms (DCP) distributed over Brazilian territory.

The SCD-2 is a low earth orbit (700 to 800 Kilometers) spin stabilized satellite, with mass of 115 Kilograms and power consumption of 48 Watts. Its initial rotation of 120 rpm being imparted by the launcher. The attitude determination (spin axis orientation and spin velocity) is done using data of sun and magnetic sensors. The attitude subsystem is also equipped with a nutation damper and a magnetic torque coil that is used in spin axis reorientation maneuvers [Jânio 94].

The spacecraft has five subsystems: Structure and Thermal Control, Power Supply, TTC Transponder, Attitude Control and On-Board Computer Data Handling, and the payload contains one: the DCP Transponder Subsystem.

The On-Board Computer Data Handling (OBCDH) Subsystem is designed to supervise all the on-board subsystems operation and its functions are: receive direct and  time tagged telecommands (TC) from Ground System, generate On/Off Commands to on-board subsystems, acquire telemetry (TM) data from other subsystems and send these data to Ground System into the TM format.

A Testing System was designed to verify and validate the OBCDH Subsystem operation. This system is a workstation based on IBM-PC compatible microcomputer with additional hardware adapters.

The Testing System software was specially designed to test the OBCDH hardware and software. It was used to the verification and validation  of OBCDH hardware and software during the development phases, and also utilized in the subsystem acceptance phase during the satellite integration tests.

This paper describes the OBCDH, the Testing System, and the experiences provided by test application.


2.- On-Board Computer Data Handling (OBCDH)

The on-board computers for the Brazilian Complete Space Mission (MECB) are based on a set of basic modules which are combined according to the tasks to be executed in each satellite to meet the requirements specified.

The computer for the SCD-2 is composed by the following modules:

a)    Central Processing Module: contains the processing unit (based on the 16-bit microprocessor SBP9989) and its peripherals circuits;

b)   Memory Module: contains the 64 Kbytes of RAM and 8 Kbytes of PROM, the RAM error detection and correction circuit, and the RAM write protection circuit;

c)    Acquisition and Control Module:  contains the telemetry (TM) data acquisition circuits and the On/Off commands generation circuits;

d)   Communication Module: contains the telecommand (TC) reception circuits and the telemetry video generation circuits;

e)    Serial  TM Module: contains the circuits that receives the serial telemetry from the TC Decoder.

The OBCDH subsystem is divided into its logical hierarchical layers to facilitate the error handling. The fault detection, error analysis/confinement  and recovery can be accomplished in any of these layers in a independent way [Martins 84] . This approach is characterized by modularity, easy adaptation to different satellites architectures,  distributed fault tolerance, design independence.

3.- OBCDH SOFTWARE

The software for the MECB on-board computers are, like the hardware, based on a set of basic modules which are combined according to the tasks to be executed in each satellite [Alonso 88]. These programs were implemented in TI-SBP9989 Assembly Language using HP64000 development workstation. The OBCDH software consists of two hierarchical layers:

a)    Operating System: the basic software which controls the Application Programs execution, provides the interface between Application Programs and hardware, and the communication and synchronization among Application Programs;

b)   Application Programs: the application software which performs the OBCDH tasks necessary to meet the mission requirements.

3.1.- OBCDH Operating System

The Operating System routines, named Primitives, are executed in mutual exclusion, i.e. when a Primitive is running it cannot be interrupted by another one.

The OBCDH Operating System Primitives provides the following services:

a)    Process Management: allows a process to stop the execution of a determined process (including itself) or start the execution of another one;

b)   Process Scheduling: transfers the execution control to the appropriate process (Application Program);

c)    Process Communication and Synchronization: allows message exchange between two processes;

d)   Time Management: delays the calling process for a specified period of time;

e)    Device Management: handles the hardware signals related to the OBCDH modules;

f)     Error Handling: services the error detection interrupts (Watch Dog Timer, RAM Error, Write Protected Area);

3.2.- OBCDH Application Programs

The functions specified for the OBCDH subsystem are distributed into the following Application Programs:


a)    TC Analysis Program: receives telecommand frames from Ground Subsystems, analyzes them and distributes them to the other OBCDH Application Programs;

b)   TM Format Generation Program: takes data from several data areas, formats them and sends them to the Ground Subsystems;

c)    TM Data Acquisition Program: acquires data from on-board subsystems and stores them to later transmission;

d)   Serial TM Acquisition Program: receives the serial TM data from the TC Decoder and store them to later transmission;

e)    On/Off Command Generation Program: receives command messages from other Application Programs and sends the command to the appropriate on-board subsystems;

f)     Time Tagged Command Generation Program: receives Time Tagged telecommands from the TC Analysis Program, stores them, and send them to the On/Off Command Generation Program at the proper time;

g)    Housekeeping Program: receives event or error reports from the on-board process and store them to later transmission;

h)    Diagnosis Program: performs the diagnosis of the OBCDH modules and sends the results to Housekeeping Program.

4.- Testing System Hardware

The Testing System hardware provides all the necessary interfaces to test the On Board Computer Data Handling at unit levels, as well as performs the integrated test in satellite. The Testing System hardware is comprised by two equipments:

a)    OBCDH Test Equipment, responsible by testing OBCDH subsystem during development phases;

b)   Check-out System, responsible by testing OBCDH subsystem during acceptance phase.

4.1.- Test Equipment

The Test Equipment, shown in Figure 1, is composed of a set of IBM-PC compatible boards that contains the following interfaces:

a)    Digital Test Interface generates up to 32 actuation digital signals, in order to stimulate the circuit under test, and receives up to 24 acquisition digital signals to monitor its response;

b)   Serial Telemetry Interface sends 16-bit serial telemetry word to OBCDH;

c)    Video Telemetry Interface is responsible for receiving the telemetry;

d)   Telecommand Interface sends all types of telecommand.

Fig.  1: OBCDH Test Equipment Diagram

4.2.- Check-out System Hardware

The Check-out System, shown in Figure 2, is composed of a set of IBM-PC compatible boards that contains the following interfaces:

a)    Video Telecommand Interface: sends telecommand to satellite;

b)   Video Telemetry Interface: receives telemetry frames.

Fig.  2: Check-out System Diagram

5.- Testing System Software

The Testing System Software is composed of a set of programs that performed both the unit tests and integrated tests, which are: Test Equipment Software, Checkout System Software, Telemetry Analyzer Software, Telecommand Generator Software. These programs were implemented in the Borland Turbo Pascal 5.0 language and run in the Microsoft's DOS 3.0 or higher operating system.

5.1. Test Equipment Software

The Test Equipment software performs the following functions:

a)    Receive TM frames from video TM Interface, verify header and check word (CRC), store them in a file, display them on the screen (hexadecimal or engineering  values);

b)   Get TC frames from a file and send them to TC Interface;

c)    Send signal to Digital Test Interface in order to simulate the Sun  sensor and test if the OBCDH turn on/off the spin torque coil;

d)   Send hexadecimal words to TM Serial Interface.


5.2.- Check-out System Software

The Check-out System software was designed so that several features  can be defined or changed easily without recompilation. These features include the telemetry calibration curves, graphic or text type screens, the parameters shown in each screen, the telecommand sequences, the software operation mode. It performs the following tasks:

a)    Store Real Time Telemetry in a file (automatically use the date to open a different one each day);

b)   Display TM Screens in one of the three modes: text, bar chart, or graphic;

c)    Show out-of-limits TM data on the screen with or without a sound alarm;

d)   Transmit telecommand sequences stored in files;

e)    Make a log of the telecommand sent.

5.3.- Telemetry Analyzer Software (TMAS) and Telecommand Generator Software (TCGS).

The Telemetry Analyzer Software (TMAS) and the Telecommand Generator Software (TCGS)  are interactive softwares and works showing its functions through menus, requiring its inputs from data fields, and displaying on screens its outputs. The TMAS functions are the following:

a)    Compare the OBCDH memory contents, which are received from the Memory Dump TMs, and also to display the memory addresses that are not matching;

b)   Generate a OBCDH Reference Memory from OBCDH Memory Load TCs;

c)    Show analogs, digitals and termistors data which was stored by the OBCDH, ordered by acquisition time and converted in engineering data;

d)   Show housekeeping data stored by OBCDH, ordered by occurrence time and decodified into its significance;

e)    Show operating system status data, ordered by acquisition time;

f)     Show Serial TM data ordered by occurrence

g)    Show the results from the received TMs analysis

h)    Generate printing pages from the informations displayed in the screen;

The TCGS functions are the following:

a)    Display the menu of all TC types accepted by the OBCDH;

b)   Show the data fields to be filled for the selected TC type;

c)    Generate the final TC format by adding the TC sequence number and the calculated checksum;

6.- Testing Experiences

The On Board Software team is divided into programming team and testing team. The first team was responsible to implement OBCDH software and the second to develop testing program an perform integrated test.

Initially, program testing was viewed as to show that the program performs its specified functions. The tests performed in SCD-1 software shows that it was in accordance to the specification, but when in orbit some errors occurred, like the loss of process communication messages causing OBCDH reset after one month. This kind of error was due to the test was not long enough to detect it. The SCD-2 software was tested during several months to increase the test coverage for long term latent errors.

Although exhaustive input testing (Black Box) is superior to logic-driven (White-Box) testing, neither prove to be useful strategies because  both are infeasible. Then, only a combination of both ways can derive a reasonable testing strategy, which was named Gray-Box. The Test Plan was made verifying the specified functions and considering the internal structure of the software.

The tests performed on the OBCDH [Liwschitz 88] are the following:

a)    Turn OBCDH on and verify the telemetry.

b)   Load the On Board Operational Program.

c)    Perform a memory dump to check if the Operational Program was loaded correctly.

d)   Turn sensors on and off and check the results verifying  Real Time TM and Stored TM.

e)    Modify the OBCDH clock contents and verify the effects by analyzing the Stored TM.

f)     Turn sensor on and off, in a delayed way, and check results analyzing the Stored TM and verify if the OBCDH turn spin torque coil on/off.

g)    Change sensor input physical conditions and check the results verifying Real Time TM and Stored TM.

h)    Verify the OBCDH operating conditions examining the correspondent fields in the Stored TM and comparing with the foreseen operating conditions.

During the tests, the OBCDH event and error reports were used to accomplish the error traceability, i.e., from the error effects find the fault (at any subsystem layer: hardware, operating system, or application program).

7.- conclusions

The lessons learned from testing experiences taught that is necessary more formalism, more detailed tests, and long term testing.

The use of Gray-Box software testing strategy was the suitable approach to uncover errors for on-board embedded application.

It is very important to have different teams to develop and to test software, this is essential to guarantee an independent verification and validation.

bibliography

[Alonso 88]  J.D.D. Alonso, A.R. De Paula, J.C. Caliman, R. Arias: "The On-Board Computer Software for the First Brasilian Satellite", VI Japan-Brazil Symposium on Science and Technology",  7-9 August 1988, São José dos Campos, SP, Brazil.

[Martins 84]  R.C.O. Martins, A.R. De Paula: "Fault Tolerant Aspects of the On-Board Supervision Standard", IV Japan-Brazil Symposium on Science and Technology",  7-9 August 1984, São José dos Campos, SP, Brazil.

[Liwschitz 88]  S.L. Liwschitz, M.E. Saturno: "The On-Board Computer Software Funtional Testing", VI Japan-Brazil Symposium on Science and Technology",  7-9 August 1988, São José dos Campos, SP, Brazil.

[Kono 94]  J. Kono, C.E. Santana: "SCD1: One Year In Orbit", Proceedings of International Symposium on Spacecraft Ground Control and Flight Dynamics, 7-11 February 1994, São José dos Campos, Brazil