[ Main | News | Countdown | Search | FAQ | Glossary ]

Galileo FAQ - Galileo's Computers

rule.gif

Galileo's Computers

How does the Galileo spacecraft's software work? What language was the software written in?

Before we start to discuss software, we need to know a little about the hardware, since there can be up to 18 microcomputers running on Galileo at any given time.

First off, although all eleven science instruments use microprocessors, only eight of the instruments are actually reprogrammable in flight (some technical details are available; additional information on the science instruments can be found in back issues of the Galileo Messenger).

Only two of the major engineering subsystems--the Attitude and Articulation Control Subsystem (AACS) and Command and Data Subsystem (CDS)--are programmable in flight. These two use very different computer architectures.

Each of the AACS's attitude functions requires a tremendous amount of mathematical computation, all of which is the job of the AACS software.

Just like the word processor or spreadsheet on a home computer system gets revised into newer, sometimes better versions, the AACS software has evolved from what was originally launched with the spacecraft in 1989--except that the AACS improvements really are better! The software will continue to evolve for the remainder of the mission.

An additional technical description of the AACS software discusses the AACS hardware, programming language, and operating system. There is also a Galileo Messenger article on the AACS available.

The Command and Data Subsystem (CDS) and its software perform a number of functions for the spacecraft. For example:

  1. CDS receives and processes commands sent from Earth. These commands can be in the form of real-time (i.e. do this NOW!) commands, or they can be stored sequences which are long series of instructions to tell the spacecraft what to do for an extended period of time (as long as several weeks).

  2. The CDS also collects information from all of the science instruments and engineering subsystems and packages it into the data that is actually sent to the Earth. The collection process and CDS operations methods will change after Galileo arrives at Jupiter.

  3. The CDS performs a number of other functions for the spacecraft such as storing data on a tape recorder for later playback to Earth, and broadcast of the timing coordination signal to all spacecraft subsystems (basically, a way for all the subsystems to synchronize their "watches").

  4. CDS also performs the major "fault protection" functions for the spacecraft. If a piece of hardware on the spacecraft fails, the CDS is programmed to a) figure out what is wrong (fault detection), and then b) isolate the problem so an operational spacecraft can be recovered (i.e. the rest of the spacecraft can continue to operate). Fault protection is needed because at Jupiter radio signals take about an hour just to reach Earth, so ground controllers cannot respond in real time to fix urgent problems on the spacecraft; the spacecraft must take care of itself.


I'm a student/systems engineer/computer buff who is interested in looking at listings of Galileo's software code. Where can I find code listings?

Spacecraft software listings are not available electronically. In paper form, there are a lot of them and they take up a lot of shelf space (volumes and volumes). Without a lot of supporting documentation, they would be of little use since one needs to know a great deal about the hardware in which software operates in order to understand what the software is doing. Nor would such listings be of much value to anyone other than someone working directly on the Galileo spacecraft team itself.


Why does Galileo store imaging and other science data on the spacecraft prior to sending it back to Earth?

Starting in May of 1996, the spacecraft's top data rate will be 160 bits per second. Even at that rate, it's not possible for the spacecraft to send pictures back in "real time" (i.e., no live imaging coverage, although some Fields and Particles data will be returned to Earth as soon as they are acquired). Instead, Galileo will return pictures on a "tape delay" system. During encounter periods (that is, during Jupiter and satellite flybys, and for several days before and after), and at other selected times during "cruise" (the periods between encounters), data will be collected from the instruments, and stored on the spacecraft's tape recorder for later processing and downlink to Earth.


How much data is really lost when "lossy" compression is used?

Lossy compression is to be used on imaging and plasma wave data. Let's focus on imaging data for now. Each picture is made up of an array of up to 800x800 picture elements, or pixels. Each pixel has 256 possible values, depending on the brightness of that part of the image. The lossy compression takes a group of these pixels and approximates their brightness values with a formula. On the ground this formula is reconverted into a set of data which is supposed to be close to the original data set. The fidelity of the reconstructed image depends on the selected compression factor, which will range from 3:1 to 80:1. Tests of the compression routine on Galileo and Voyager images demonstrated that pixel values were correctly reconstructed to within about one percent, which is considered excellent for most investigations.


How big is an SSI image?

The maximum size of an image is roughly 5 megabits, or about 640 kilobytes (800x800pixels x 8 bits/pixel); you could fit one or two full-size images on a floppy disk. Not all images are returned at this full size; a 2x2-pixel summation mode, for example, which uses about 1/4th the space of a full size image, is used to return many images.


Why weren't the new data compression methods originally planned to be used with the High Gain Antenna to get even more data back?

Galileo's computers are not fast enough to compress data at the rate which was to be transmitted through the HGA! It is important to remember that at the time Galileo was being developed, spacecraft designers were using fairly state-of-the-art computers, but those computers are extremely slow by contemporary standards. With the advent of increasingly faster and more densely packed microprocessors, such computationally intensive processes are becoming practical for spacecraft to perform and are being incorporated into future spacecraft designs.


How fast are Galileo's computers compared to a 80486 or other home computer? (9/4/96)

As you might expect, the 32-bit 486 processor is much more powerful than Galileo's 8-bit processors. A commercial equivalent to Galileo's processors would be the 6502 processors that were used in the Apple II computers in the 1970's. They are both 8-bit processors.

The 1802 processors run at a clock speed of ~1.6 mHz, whereas a 486 will run at up to 66 mHz (typically). This would indicate that the 486 is approximately 41 times faster. Other factors found in the 486's newer technology (see the technical details for more information) increase the 486's speed advantage over Galileo's 1802 processors to an estimated factor of roughly 200.

Galileo does have a much higher degree of redundancy (see the technical details for more information) than is found in a home computer; though your home machine may be faster, it probably crashes far more frequently.

rule.gif

Return to Project Galileo Homepage
Return to Galileo Frequently Asked Questions
Submit your own question