Home Raumfahrt Sonstige Raumfahrtaufsätze Raumfahrt & Computer Site Map counter

Computer in der Raumfahrt Teil 2

In Teil 1 wurden die Computer in den bemannten Programmen wie Gemini, Apollo und Space Shuttle besprochen. In diesem Teil 2 geht es um die Computer in unbemannten Satelliten, Raketen und Raumsonden. Ein weiterer Teil 3 beschäftigt sich vor allem mit der Architektur von einigen besonders häufig eingesetzten Prozessoren.

Computer in Satelliten und Raumfahrzeugen

Computer in Satelliten wurden erst später als in bemannten Raumfahrzeugen eingesetzt. Die Gründe dafür sind relativ einfach:

Anders sah es bei Raumsonden aus. Die ersten Raumsonden kamen noch kann ohne Computer aus. Das Programm war von der Erde vorgegeben und wurde zu einem diesem Zeitpunkt ausgeführt. Auf Kommando wurden kurz vor der Annäherung an einen Planeten die Messinstrumente ausgerichtet und dann Messungen gemacht. Spätere Computer erlaubten es das "Programm" zu speichern und dann auszuführen, doch mehr war nicht möglich. (Es handelte sich um so genannte Sequenzer: Anweisungen wie "zur Zeit × Raumsonde um y Grad nach links drehen" - Es wurden nur die Bodenkommandos zur Fernkontrolle mit einem Zeitindex versehen, aber es gab keinen vollwertigen Computer.

Erst mit der Mariner 9 Sonde war ein Computer effektiv nutzbar. Diese Sonde umkreiste den Planeten Mars. Zum Kartieren musste in regelmäßigen Abständen ein Bild gemacht werden, ähnliches galt für andere Messungen, dazu wollten die Forscher auch Detailaufnahmen bestimmter Gebiete. Das alles von der Erde aus zu steuern wäre extrem aufwendig gewesen. Die nachfolgende Generation der Viking Lander war dann schon autonom und arbeitete ihr Messprogramm ohne irdische Hilfe ab. Raumfahrzeuge wie Galileo haben schon soviel Computerkapazität, das man die Sonde "umprogrammieren" konnte, in diesem Fall musste das gesamte Messprogramm geändert werden, weil alle Daten erst komprimiert und die gesamte Speicherung über das Band lief, da die Hauptantenne ausfiel. 1997 war der kleine Sojourner schon so autonom, das auf dem Mars seinen Weg alleine finden konnte, und Cassini soll ebenfalls relativ autonom ihr Forschungsprogramm am Saturn durchführen.

Es folgen nun einige mir bekannte Daten über Computer in Raumfahrzeugen. Dabei ist zu beachten, das diese weitgehend lückenhaft sind. Über Raumsonden und Satelliten gibt es erheblich weniger Daten als über bemannte Raumfahrzeuge.

Ranger 6-9Ranger

In den Anfängen der Erforschung der Planeten ging es zuerst zum Mond. Bei einer Funkstrecke von 1.5 Sekunden konnte man leicht die Sonde von der Erde aus steuern. Bei Ranger war dies noch in den Kinderschuhen: Kommandos wurden vom JPL an eine Bodenstation telefoniert (sie haben richtig gelesen), dort in eine Konsole eingetippt und zur Sonde geschickt. Dieses Verfahren war nicht fehlerlos, so ging Ranger 3 durch einen Steuerungsfehler durch falsche Daten verloren.

Als Backsystem hatte die Sonde einen Sequenzer an Bord, der falls zu einem bestimmten Zeitpunkt kein Kommando kam, eine Aktion auslöste. Doch ohne korrekte Ausrichtung der Sonde über vorherige Kommandos war dieses System wirkungslos. Insgesamt war dieses System bei Ranger sehr fehlerbehaftet. Die ersten 6 Ranger vielen allesamt aus. Das nicht redundante Design der Sequenzer war dabei eine der Hauptfehlerursache.

Der Sequencer von Ranger war fest verdrahtet mit festen Befehlen und festen Abläufen. Die einzige Ausnahme waren zwei Speicherstellen für die Ausrichtung der Sonde und die Betriebszeit des Triebwerks die man vor einem Kurskorrekturmanöver mit Werten durch ein Telemetrieisignal füllen konnte.

OAO (Orbiting Astronomical Obsovatory)

Der Bordcomputer von OAO hatte ein Gewicht von 11.7 kg Gewicht ein Volumen von 0.161 m³ und einen maximalen Stromverbrauch von 85 W. Es war der erste Einsatz eines wirklichen Computers (General Purpose Computer) an Bord eines unbemannten Raumfahrzeugs. OAO-1 startete am 8.4.1966.

Ein Kommandowort umfasste 32 Bits, davon für das eigentliche Kommando 30 Bits verfügbar. Ein Datenwort zum Speichern von Messdaten hatte eine Länge von 25 Bits. Es gab einen getrennten Kommando- und Datenspeicher. Der Programmspeicher umfasste 512 Wörter (15.360 Bit) und der Datenspeicher 8.192 Worte (204.800 Bit). Der Datenspeicher setzte sich aus 25 Modulen von jeweils 64 x 64 Bit Größe zusammen. Beide waren Magnetkernspeicher. Alle Komponenten waren vierfach redundant, die Datenbusse dreifach redundant und der Speicher doppelt vorhanden. Die Datenrate betrug 50.000 Bit/sec beim Auslesen der Daten. Die Taktfrequenz betrug 0.4 MHz. Die Speicherzugriffszeiten lagen zwischen 0.25 und 2 Mikrosekunden pro wahlfreiem Zugriff. Bei späteren OAO Modellen wurde ein zusätzliches Bandlaufwerk zum Speichern der Messdaten hinzugenommen.

Mariner 1-5

Mariner 4 SecencerMariner 4 SecencerDie ersten fünf Mariner Sonden der ersten Generation hatten alle denselben 5 kg schweren Command - Sequenzer vom Typ DC-29. Kommandos, die von der Erde gesandt wurden, konnte das Programm automatisch ausführen, gekoppelt waren diese an einen Timer hoher Genauigkeit. Dieser wurde 3 Minuten vor dem Start initialisiert. Danach war es möglich Kommandos zu geben wie "In 795 Sekunden Rollen um Y Grad um die X Achse". Ein Wechsel zu direkten Kommando und zurück war möglich, so wechselte Mariner 4 (Bild) automatisch nach 66.6 Stunden in einen Auto Mode wenn es keinen Radiokontakt gab. Die "Programmabfolge" war wie bei Ranger fest verdrahtet.

Der Sequenzer von Mariner 2 verstand 14 Kommandos zur Steuerung der Sonde und 2 zum Ablauf. Bei Mariner 3+4 waren es 29 Kommandos zu Steuerung der Sonde und drei für den Ablauf.

Jeder Sequenzer hatte einen 38.4 KHz Timer, der als Zeitbasis dienste. Bei Mariner 2 waren typische Messzyklen vielfache von 8.64 Sekunden (10000 Zyklen pro Tag). Als Massenspeicher dienten 0.25 Zoll Magnetbänder von 5.24 MBit (Mariner 3+4) bzw. 1 MBit Kapazität (Mariner 5).

Mariner 6+7

Mariner 6+7Diese beiden Mariner Sonden hatten einen verbesserten Sequenzer vom Typ DC.53, der während der Mission umprogrammiert werden konnte. Er wog 11.7 kg und hatte einen Speicher von 128 Kommandoworten von je 22 Bits Länge.

Diese programmierbaren Sequencer waren ein Zwischending zwischen Computer und Sequencer. Das JPL erkannte, dass bei immer komplizierten Missionen die Sequencer nicht mehr ausreichten um immer mehr Experimente zu steuern, ihre Daten zu bündeln und immer komplexere Manöver durchzuführen. Computer waren aber noch zu schwer und benötigten zu viel Strom für eine Sonde. Als Backup gab es noch die festverdrahteten Sequencer der letzten Sondengeneration. Bei kritischen Manövern arbeiteten beide parallel.

 Damit war es möglich Abläufe im voraus festzulegen und programmgesteuert auszuführen. Man muss daher zwei Arten von Kommandos unterscheiden: Die Kommandos zur Steuerung von Raumsonde und Instrumenten. Diese waren für jede Raumsonde die diesen und den folgenden Typ einsetzten unterschiedlich und an die Instrumente und Sonde angepasst. Der Sequenzer behandelte dies als Daten die er an den Kommandogeber der Raumsonde weitergab. Daneben hatte der Sequenzer zur Steuerung des Ablaufs 16 eigene Kommandos. Diese waren bei allen eingesetzten Sequenzer gleich.

Bei Mariner 6+7 standen 53 Kommandos für die Steuerung der Raumsonde zur Verfügung. Dazu kamen 5 für die Ablaufsteuerung und 4 für das Verarbeiten von Werten. Die Missionen bekamen 946 bzw. 956 Kommandos während der ganzen Mission wobei sich eine Neuprogrammierung bis zu 4 Stunden hinziehen konnte - Die Datenrate zur Sonde betrug nur 1/2 Baud.

Der Speicher der 128 Worten bestand aus Ringkernspeichern zu je 22 Bit. (Man glaubte vor dem Flug mit nur 20 Worten auszukommen!). Es gab 3 Typen von Worten die gespeichert wurden.

Die 16 Kommandos bestanden aus Dekrementierungs-- (Von Stunden, Minuten, Sekunden, Variablen) und Inkrementierungsanweisungen (Zähler, Sprünge), Zähler und Sprüngen sowie den Befehlen ADD und SUB. Diese wurden aber selten eingesetzt, da sie 27 ms zur Ausführung benötigten. Die Taktfrequenz des Sequenzer betrug 2.4 KHz. Dies erlaubte es etwa 100 Kommandos pro Sekunde auszuführen. Damit waren die Sequenzer programmierbar - auch wenn sie keine Computer waren. Dazu verfügten beide Sonden über einen 23 kg schweren Magnetbandrekorder mit einer Kapazität von 195 MBit. Auf diesen wurden allerdings nur Daten gespeichert.

Die Flexibilität zeigte sich als Mariner 7 Probleme hatte und den Referenzstern verlor und später Elektrolytflüssigkeit aus der Batterie. Es war möglich das Programm anzupassen und auch das Meßprogramm wurde so verändert, dass es mehr Aufnahmen aus nächster Nähe gab als ursprünglich geplant. Die Anpassung der Mission war mit einem programmierbaren Sequenzer nicht möglich.

Mariner 8-10

Mariner 8+9Diese Sonden verfügten über eine Nachfolgeversion dieses Sequenzers mit 512 Worten à 22 Bit. Die Erweiterung war relativ einfach, da die Adressen schon 9 Bit umfassten, aber bisher nur 128 Worte angesprochen wurden. Man konnte daher den Adressbereich auf das vierfache ausdehnen.

Bei Mariner 8+9 hatte der Sequenzer DC 86 die Fähigkeit 86 Kommandos zur Steuerung der Raumsonde auszuführen, dazu kamen 5 Kommandos für die Ablaufsteuerung und 4 für die Verarbeitung von Werten. Bei Mariner 10 waren es 96 Kommandos zur Steuerung der Raumsonde. Die Sequenzer arbeiteten wie bei Mariner 6+7 nur mit einem 512 Worte Speicher.

Die Bilder und Daten wurden auf einem 8 Spur Magnetband mit 168 m Länge gespeichert, 180 MBit konnten gespeichert werden. Der Bandrekorder wog 11 kg. Die Schreibgeschwindigkeit betrug 132 KBaud, die Ausleserate 1,2,4,8 und 16 KBaud. Es konnten nur Daten der Kamera, keine Daten für den Bordcomputer dort abgelegt werden.

Trotzdem war der Bordcomputer eine Entlastung, denn Kommandos konnten zwischengespeichert werden und kein dauerhafter Funkkontakt musste aufrecht erhalten werden.

Bei Mariner 9 (Bild links) wurden in 11 Monaten im Orbit 46.000 Kommandos an die Sonde übertragen. Bis zu 8 Stunden dauerte das Übertragen und Ausführen von Kommandos. Die Umprogrammierung erlaubte es auch, dass Mariner 9 die Mission von Mariner 8 mit übernehmen konnte. Das Beobachtungsprogramm konnte so angepasst werden. Ursprünglich war geplant dass eine der Sonden vorwiegend eine globale Kartierung in niedriger Auflösung und eine zweite die regelmäßige Beobachtung einiger Gebiete in hoher Auflösung durchführen sollte um Veränderungen festzustellen.

Die Krönung der Sequenzertechnik war die Mission von Mariner 10 /Bild rechts). Sie flog dreimal am Merkur vorbei, wobei hochauflösende Bilder nur während weniger Stunden aufnehmbar waren. Eine ausgeklügelte Programmierung der Sequenzer holte das letzte aus der Sonde heraus. Der Lohn waren über 7000 detailreiche Bilder des Merkurs und der Venus.

Pioneer 10+11 und Pioneer Venus

Über diese Raumsonden sind nur spärliche Informationen bekannt. Pioneer 10+11 sollen einen Bordcomputer mit einer Speicherkapazität von 222 Befehlen à 22 Bit gehabt haben, dazu kam ein Massenspeicher mit 50 KBit für Daten. Pioneer Venus soll einen Massespeicher mit 1 MBit gehabt haben.

Viking

Viking Lander ComputerDie Viking Rechner unterteilen sich in die Rechner für den Orbiter und den Lander. Hier setzte man erstmals bei Planetensonden Computer ein - 10 Jahre nach dem Einsatz in der bemannten Raumfahrt durch Gemini. Zum ersten mal wurde auch ein redundanten System eingesetzt: Bisher waren auch bei Apollo alle Rechner ohne Backupgerät. Man schätzte ab, das man mit einem Sequenzer durch die Komplexität der Mission nur ein Hundertstel der Ergebnisse erreicht hätte. Die Rechner waren so verbunden, das jeder Ausfall einer Teilkomponente durch den anderen Rechner ausgeglichen werden konnte. Die Grenzen der Sequencer waren diese, das sie Nur Steuerbefehle der Sonde ausführen konnten. Sie konnten zwar diese wiederholen, an andere Adressen springen und so andere Befehle abarbeiten, aber sie konnten nicht selbst rechnen oder Entscheidungen treffen. Bei Kurskorrekturen war es während der Sequencerära z.B. so, dass man die Bahn vermaß, Brennzeit und Zeitpunkt übermittelte und der Sequencer sich sklavisch an diese Vorgaben hielt. ein Computer konnte mit den Beschleunigungssensoren dagegen die Geschwindigkeitsveränderung berechnen und bei Erreichen des Sollwertes das Triebwerk abschalten. Ein Sequencer war auch immer auf die Befehle limitiert die verdrahtet war. Es war nicht möglich ihm nach dem Start neue Fähigkeiten beizubringen wie z.B. bei Voyager die Bildkompression und Bewegungskompensation bei Uranus.

Bei Viking war es vor allem die komplexe Landesequenz der Lander sowie die Vielzahl ihrer Instrumente und ihres abgestimmten Betriebs die klar zeigten, dass man mit einem Sequencer hier nicht weiter kam. Entsprechend erhielten die Lander auch den komplexeren Computer.

Das Design der Computer der Orbiter war relativ einfach. Man entschied sich für eine feste Breite für die Anweisungen von 18 Bit. Wobei 6 Bit für 64 Instruktionen und 12 Bit für den Adressbereich von 4096 Worten (9 KByte). Datenworte umfassten 18 Bit mit einem Bereich von -131,072 bis +131,071. Es standen 13 Register in der CPU zur Verfügung. Durchschnittlich 88 Mikrosekunden dauerte das Ausführen eines Befehles.

Drei Timer mit Zeitgebern von 1 Stunde, 1 Sekunde und 10 ms standen zur Verfügung, 32 Interrupt Levels waren implementiert. Die 4 KWorte Speicher waren unterteilt beim Orbiter in je 2 K ROM und 2 K RAM. Der Speicher war als Ringkernspeicher ausgelegt, der Rechner selbst basierte jedoch auf integrierten Schaltungen.

Dazu kamen noch 2 Magnetbandrekorder als Speicher für Bilder, Daten und Telemetrie mit je 640 MByte auf die mit maximal 2118 KBaud geschrieben werden konnte. Jeder Rekorder wog 7.7 kg. Die Magnetbänder hatten eine Länge von 384 m und eine Gesamtkapazität von 640 MBit. Es verfügte über 8 Spuren. Die Schreibrate betrug 301172 Baud für die Spuren 1-7 und 4000/16000 Baud für die Spur 8. Fasste man die ersten 7 Spuren zusammen so ergab sich eine Datenrate von 2112 KBaud. Diese Datenrate war so gewählt, das sie mit der Austastrate der Kameras synchronisiert war. Das Senden zur Erde erfolgte sehr viel langsamer mit 1,2,4,8 oder 16 KBaud. Durch die unterschiedlichen Datenraten für die Spuren 1-7 und 8 konnte man die Daten der beiden anderen Orbiter Instrumente (Infrarotspektrometer und Radiometer) die erheblich weniger hohe Datenströme hatten gemeinsam mit den Bildern abspeichern. Diese gelangten dann auf die Spur 8.

Beim Viking Lander hatte die NASA aus den Erfahrungen von Apollo und Gemini gelernt und dem Computer erheblich mehr Speicher als dem Orbiter spendiert. Der Rechner hatte eine 24 Bit Architektur mit 18 KWorten Ringkernspeicher, also 6 mal mehr als der Orbiter.

Aufgebaut auf den Honeywell HDC-402 Prozessor war der Rechner erheblich schneller als der CCS des Orbiters. Die mittlere Ausführungsdauer einer Instruktion betrug nur 4.34 Mikrosekunden, so das der Rechner bis zu 230.000 Befehle pro Sekunde ausführen konnte. 47 Instruktionen standen zur Verfügung. Die Genauigkeit mit 24 Bit war erheblich besser als bei allen bisherigen Computern. Auch dieser Rechner war doppelt ausgelegt. Der Computer konnte die Instruktionen für die Messungen der nächsten 22 Tage speichern. Er hatte ein Echtzeitbetriebssystem auf Basis eines 20 ms Zeitschlitzes für jeden Prozess

Große Probleme bei der Entwicklung der Software, war das es für die Rechner keinen Assembler gab - es waren speziell für diesen Einsatzzweck entwickelte Rechner. So musste die relativ umfangreiche Software handkodiert werden in Oktalzahlen. Schlussendlich war sie 20.000 Worte groß und benötigte 1609 Mann Monate zur Programmierung.

Als Datenspeicher diente ein Bandlaufwerk mit einer Kapazität von 40 MBit. Es erlaubte mit dem großen Speicher, dass man ab 1977 nur noch regelmäßig die Daten abholte und nicht dauernden Funkkontakt zu den Landern halten musste.

Voyager

Voyager's FDSDie Raumsonden Voyager 1+2 waren für die Reise zum Saturn gebaut. Anders als Viking erforderte dies eine 4 jährige Primärmission, die noch dazu durch den Strahlungsgürtel Jupiters führte, die den Pioneer 10+11 Sonden so zugesetzt hatte. Anders als bei Viking war das Budget begrenzt und so entschied man sich für die Adaption bestehender Viking Technologie. Voyager besitzt drei Computersysteme die jeweils redundant sind. Diese Vielzahl ergab sich zum einen aus den großen Anforderungen an Datenrate und Autonomie, wie auch in der Beschränkung der damaligen Hardware. Ein Computer der alles leistete wäre zu teuer und zu komplex geworden. Sie unterteilen sich nach Funktionen in:

  1. CCS: Das CCS sollte von Vikings Orbiter übernommen werden, doch die Probleme mit den energiereichen Teilchen wie auch die Zeit in welcher die Computer in Betrieb waren machten eine neue Lösung notwendig. Der CCS verwandte Viking Technologie, jedoch mit weitgehenden Adoptionen, auch was die Zusammenarbeit mit dem AACS angeht, der alle 2 Sekunden einen Synchronisationsimpuls sandte um festzustellen ob noch alle Rechner in Betrieb waren. Der Rechner ist erheblich schneller als der von Viking und hat eine Zykluszeit von 1.37 Mikrosekunden. Wie bei Viking wird ein 4 KWort Ringkernspeicher verwendet. Zuerst würde dieser je zur Hälfte als RAM und ROM genutzt, später war man flexibler und brachte in 800 Worten beim Uranus Encounter eine Kompressionsmethode unter, welche die Daten der Kamera auf ³/8 reduzierte. Während des Jupitervorbeiflugs erhielt Voyager 18 mal neue Instruktionen, zwischen den Planeten etwa alle 3 Monate.
  2. AACS: Die genaue Ausrichtung von Kameras auf Monde die sich mit bis zu 20 km/s bewegen machte ein eigenes Computersystem notwendig. Man verband den 4 KWorte (zu je 18 Bit) Ringkernspeicher von Viking, mit einem neuen Rechner, der byteseriell war und eine Mischung aus einem analogen TTL Bausteinen und integrierten Schaltungen. Der Rechner hat eine Zykluszeit von 28 Mikrosekunden. Er war also dreimal schneller als der CCS von Viking. Er stellte 4 Zeitschlitze für die Bewegung der Scanplattform und die Kontrolle der Lage von 10 ms bis 240 ms zur Verfügung. Nach acht 240 ms Zyklen wurde der Synchronisationsimpuls gesandt. Speicher war immer knapp im AACS, schon beim Start war der Speicher bis auf zwei Worte belegt.
  3. FDS: Die hohen Datenraten machten ein eigenes Subsystem notwendig. Hier kam man von den Viking 4 KWorten Ringkernspeichern ab und entschied sich für CMOS Speicher, die damals sehr neu waren, aber ideal, weil unempfindlich gegenüber Spannungsschwankungen. Das der Speicher anders als Ringkernspeicher nicht permanent war störte nicht, denn Voyager hatte mit den Nuklearbatterien eine konstante Gleichstromquelle an Bord. CMOS IC's ließen einen doppelt so großen Speicher zu: 8 KWorte. Der Speicher wird auch gerne vom CCS genutzt, wenn dieser größere Programme abarbeiten muss. Weiterhin verfügt der Rechner über einen DMA Zugriff, kann anders als die anderen Rechner also Daten direkt in den Speicher transferieren ohne den Prozessor zu bemühen.

Die CPU aus 150 TTL Bausteinen in MSI (Medium Scaled Integrated Circuts) verbraucht nur 0.33 Watt, das ganze FDS 10 Watt bei 16.3 kg Gewicht. Die CPU ist auf den Datentransfer zugeschnitten, verfügt über 128 Register die im Speicher liegen und 36 Instruktionen: Die meisten Dekrement / Inkrement und Shift / Rotationsbefehle. Andere Instruktionen waren relativ langsam. Der Rechner erreicht eine Geschwindigkeit von 80.000 Instruktionen/sec. Alle Tasks sind vielfache von 24 × 2.5 ms. In dieser Zeit ist eine Zeile der Kamera ausgelesen und im Speicher abgelegt worden, danach beginnt das Auslesen der nächsten Zeile an Adresse 0000. Die Aufzeichnung auf Band (57600 Baud) oder zur Erde (19200-115200 Baud bei den Planeten) wird damit synchronisiert.

Daten wurden auf ein Magnetbandgerät mit 536 MBit Kapazität mit max. 57600 Baud übertragen. Die doppelte Auslegung bewährte sich, als 1992 einer der Computer von Voyager 1 ausfiel, und die Raumsonde seither mit dem Ersatzcomputer fliegt. Insgesamt sind beide Raumsonden zum Zeitpunkt der Überarbeitung dieses Artikels (August 2002) noch funktionsfähig - Nach 25 Jahren Betrieb. (Wie lange arbeitet ihr PC ohne Hardware Defekt?).

Galileo

Galileos CDSHatte Voyager 6 Rechner so ist Galileo ein fliegendes Computerzentrum. Nicht weniger als 22 Mikroprozessoren mit insgesamt 320 KByte RAM und 41 KByte ROM tun ihren Dienst. So haben fast alle Experimente einen eigenen Controller. Die meisten auf Basis des RCA 1802. Darüber hinaus hat Galileo zwei Computersysteme: Das CDS, welches dem CCS von Voyager entspricht und das AACS, welches dem AACS von Voyager entspricht.

CDS (Command and Data Subsystem).

Galileo wurde von einem Autor einmal als das "fliegende Rechenzentrum" beschrieben. Der Grund liegt in der enormen Anzahl an Mikroprozessoren (6 Stück) die im CDS zusammen arbeiten müssen. Schon Voyager hatte 3 Bordcomputer die jeweils redundant ausgelegt waren. Einen für die Lageregelung, einen für die Raumsondensteuerung und einen für die Datenverarbeitung der Experimente. Aber jeder Bordcomputer hatte nur einen Prozessor. Bei dem CDS enthält ein Computer dagegen 3 Prozessoren. Galileo hat wie Magellan und Cassini die ersten beiden Systeme (CCS und AACS). Die Datenverarbeitung für die Experimente gibt es heute nicht mehr. Heute haben Experimente ihre eigene Steuerung, auch dies wurde mit Galileo eingeführt. Bis auf ein Experiment hat jedes Experiment einen eigenen Mikroprozessor, allerdings mit nur sehr wenig Speicher (typisch 2-6 KByte RAM und ROM zusammen), doch es reichte aus, Daten zwischenzuspeichern.

Bei Galileo entschied man sich erstmals für eine Raumsonde einen kommerziell erhältlichen Mikroprozessor zu verwenden. Allerdings fand die Auswahl 1977 statt und damals gab es nicht nur wesentlich weniger Prozessoren auf dem Markt, auch ihre Leistung war bescheidener als heute. Man stellte fest, dass es unter allen Prozessoren auf dem Markt nur einen gab, der für Galileo geeignet war. Es war der 8 Bit Prozessor RCA 1802. Auf der Erde wurde er selten eingesetzt, es gab ein Videospiel, dass ihn nutzte, sowie Computerkits um Assembler zu lernen,

RCA 1802Der RCA 1802 wurde genommen, weil er der strahlentoleranteste verfügbare Prozessor war, da er auf einer Technologie namens "Saphir auf Silizium" als strahlengehärtete Version verfügbar war. Er arbeitete mit 10 V Spannung und war unempfindlicher gegen Überspannungen als andere Prozessoren die mit 5 V Spannung arbeiteten. Weiterhin konnte er bei Temperaturen von -55 bis +135 Grad Celsius arbeiten und war in der stromsparenden CMOS Technologie verfügbar.

Das Problem war, das dieser Prozessor sehr langsam war. Die Taktfrequenz betrug nur 1.6 MHz (andere Quellen 3.2) und die Ausführung einer Instruktion dauerte zwischen 5 und 10 Mikrosekunden. Der Prozessor schaffte also maximal 200.000 Instruktionen pro Sekunde. Voyager war zwar 5 Jahre vorher entwickelt worden, und der Bordcomputer bestand hier noch aus 100 einzelnen Chips. Dafür war Voyagers Computer schneller, er schaffte maximal 730.000 Instruktionen pro Sekunde.

Man umging das Problem, indem Galileos Computer massiv parallel waren. Das Herz ist das CDS (Command and Data Subsystem). Es ist für die Ausführung von Kommandos von der Erde zuständig, speichert Daten auf Band und liest sie von dort und hat auch Routinen zum Abfangen von Fehlern, die bei einem Problem die Sonde in einen sicheren Modus bringen, in dem zwar keine Arbeit möglich ist, aber die Raumsonde vor Beschädigungen geschützt ist. Zudem verläuft der gesamte Datenverkehr von und zur Erde über das CDS.

Der 1974 erschiene Prozessor selbst hatte ein sehr ungewöhnliches Design, es war wohl ein früher RISC Chip. Die hervorragenden Eigenschaften waren extreme Einfachheit und große Flexibilität. Der Prozessor hatte 16 16 Bit Register, die als 32 8 Bit Register angesprochen werden konnten. Der gesamte Zugriff auf den Speicher ging über den Akkumulator: Jeweils ein Register enthielt die Adresse des Speichers, von der aus Daten in den Akkumulator D gelesen wurde. Auch das Register welches den Programmzähler stellte konnte frei gewählt werden. Das Design, so erläuterte ein Experte "erinnert mehr an einen Prozessor mit 32 Bytes RAM und 65536 I/O Ports". Alle Instruktionen waren 8 Bit Breit: 4 Bit für den Opcode (16 Befehle!) und 4 Bit für ein Register. E gab keine Unterstützung für Unterroutinen, bedingte Sprünge und Stack. Man konnte dies aber emulieren indem man z.B. dem Programmzähler neue Werte zuwies.

Galileo mit offener HGA!Das CDS besteht nicht aus einem Computern, sondern wegen der Langsamkeit des 1802 Prozessors aus deren drei. Dieses System ist nochmals doppelt ausgelegt (aus Redundanzgründen), so das an Bord von Galileo 6 Mikroprozessoren die Steuerung haben. Die Aufteilung ist folgendermaßen: Es gibt zuerst einmal 3 HLM (high-level modules) Diese steuern wichtige Funktionen des Raumfahrzeuges wie Datenbustransfer und Fehlererkennung und Schutz. Jedes HLM hat bei Galileo 32 KByte CMOS Speicher und einen 1802 Prozessor mit einem Buscontroller. Ein HLM führte Realzeitkommandos aus, der zweite gespeicherte Kommandos. Ein dritter diente als Reserve. Jeder HLM konnte einem von zwei Bussen zugeschaltet werden.

An diesem Bus hingen je 2 LLM (Low Level Module). Ein LLM führte spezialisierte Aufgaben aus. Jedes LLM hatte ebenfalls einen 1802 Prozessor mit 16 KByte Speicher. Eines der beiden LLM hatte Zugriff auf 16 KByte Bulk Memory (BUM), in dem Kommandos von der Erde zwischengespeichert wurden und 8 KByte Data Bulk Memory (DBUM). DBUM wurde von den Instrumenten zum Ablegen der Daten benutzt. Sie hatten DMA Zugriff auf diesen Speicher.

In der zweiten Kette wiederholte sich diese Konstellation. Diese war als Backup gedacht. So bestand das gesamte CCS aus 7 RCA 1802 Mikroprozessoren mit insgesamt 176 KByte Speicher + 32 KByte Reserve in dem dritten HLM. Von den 32 KByte Speicher jedes HLM waren 12 KByte schreibgeschützt gekennzeichnet.

Man fand keinen adäquaten Compiler für die schon in anderen Projekten eingesetzte Sprache HAL für den 1802, so dass die gesamte Software mit "strukturierten Makros" erstellt wurde, die Namen wie "IF", "DO" oder "ASSIGN" hatten. Die Software des CDS ist interruptgesteuert und hat zwei Prioritäten: Vordergrundprozesse werden 15 mal pro Sekunde ausgeführt, Hintergrundprozesse alle 1.5 Sekunden. Diese Einteilung ist jedoch Geschichte, denn der Ausfall der HGA (Hochgewinnantenne) machte eine völlige Neuprogrammierung der Sonde notwendig. Im Mai und Juni 1996 wurde eine neue Software auf das System aufgespielt, welche von der Einteilung in einzelne Stränge abrückte. Nun hatte jeder der 7 Prozessoren eine eigene Aufgabe zu erledigen. Darunter die Kompression verlustlos (Faktor 2.54) oder verlustbehaftet nach dem DCT Verfahren (Faktor 3-31). Neben den sieben Prozessoren im CDS gab es noch 11 weitere RCA 1802 in den Experimenten an Bord.

Galileo mit defekter HGABandrekorder

An das CDS angeschlossen war auch der Bandrekorder, der ursprünglich nur in Aktion treten sollte, wenn die Sonde sehr viele Daten auf einmal verarbeiten musste. Hergestellt wurde der Bandrekorder von Odetics in Anaheim. Es ist ein 4-Spuren Magnetbandrekorder mit einer Gesamtkapazität von 914,489,344 Bits, das entspricht 178 Bildern. Auf den Rekorder kann man mit bis zu 787.600 Bit/Sekunde schreiben und mit unterschiedlichen Datenraten lesen. Am 11.10.1995 stoppte der Rekorder nicht, als er zurückspulen sollte und man konnte ihn erst nach 15 Stunden abschalten. Ursache war Klebstoff vom Bandanfang, welche die Bandführung verklebt hatte. Man benutzt die Stelle nicht mehr und nutzte nur noch 84 % der Kapazität. Geschrieben wird unkomprimiert auf den Bandrekorder, der Inhalt dann vor der Übertragen auf 1/8 komprimiert. Danach gab es keine Probleme mit der Rekorder, obgleich er weitaus häufiger als die spezifizierten 20000 Start/Stopp Zyklen lief. Erst am 8.11.2002 fiel der Rekorder erneut aus, als er den einzigen Vorbeiflug am Mond Amalthea machte. Die hohe Strahlenbelastung hatte eine LED geschädigt, welche die Bewegung des Bandes kontrollierte. Man konnte den Rekorder dann zuerst nur Minuten lang bewegen, nach 83 Stunden Arbeit dann bis zu einer Stunde lang. Dabei wurden LEDs gewählt, weil sie sehr zuverlässig und langlebig sind. Für Galileo war auch wichtig, dass der Energieverbrauch minimal war. Aus demselben Grund werden sie heute vermehrt als Energiesparlampen eingesetzt. Schlussendlich hatte der Bandrekorder, der bei der originalen Mission ja nur kurzzeitig genutzt werden sollte, wenn die Sonde einen Mond passierte, um die Daten schneller ablegen zu können und Verluste des Funkkontaktes zur Erde abzufangen, erheblich länger gearbeitet als geplant.

Attitude and Articulation Control Subsystem (AACS)

Das zweite Computersystem an Bord von Galileo ist für die Lageregelung (Orientierung der Sonde im Raum), Ausrichtung der Instrumentenplattform und die Zündung der Triebwerke zuständig. Es umfasst neben den Computern auch Sensoren um die Lage festzustellen: Zwei Sternenscannern, Sonnensensoren, Gyroskopen welche Änderungen der Ausrichtung der Sonde anzeigen, zwei Beschleunigungsmessern welche Beschleunigungen registrieren. Das Wobbeln der Sonde (Schlingern um die Drehachse) wird durch Verändern des Winkels des RTG Booms kontrolliert.

AMD 2901 ProzessorDas AACS besteht zwei redundanten Applied Technologies Advanced Computer (ATAC). Es ist ein 16 Bit Computer hergestellt von Itek bestehend aus vier 4 Bit AMD 2900 Bitslice Prozessoren. Der ATAC war erheblich schneller als das CDS. Seine Zykluszeit betrug nur 250 ns anstatt 5 Mikrosekunden,. Er war in etwas so schnell wie der kommerzielle 16 Bit Minicomputer PDP 11/23. (Die Fliesskomaeinheit des PD 11/34 bestand ebenfalls aus den AMD 2900 Prozessoren). Allerdings war der Speicher viel langsamer und hatte eine Zykluszeit von 2 Mikrosekunden, so das der ATAC nur 143000 Instruktionen/sec schaffte. Ein weiterer Vorteil war seine Fliesskommafähigkeit und die Möglichkeit eigene Instruktionen in Mikrocode zu generieren. 4 neue Instruktionen sparten so 1500 Instruktionen im Code ein.

Der AMD 2901 war ein mit 9.5 MHz getakteter 4 Bit Slice Prozessor. Das bedeutet, das der Prozessor eine komplette 4 Bit ALU hatte, die alle Rechenoperationen, auch Fliesskommarechnungen durchführen konnte. Mit 4 Bits fängt man nichts an, doch man kann einfach mehrere dieser Prozessoren verbinden. Der ATAC verband 4 Einheiten und war so ein 16 Bit Prozessor (4x4 = 16). Die Fliesskommarecheneinheit der PDP 11/34 sogar 16 Stück und erzeugte so einen 64 Bit Prozessor. Da jede Recheneinheit aber nur mit 4 Bits rechnet, konnte man den Prozessor für die damalige Zeit (1975) mit sehr hohen Taktfrequenzen betreiben.

Der Computer verfügte über 2 KByte ROM und zweimal je 32 KByte RAM. Jeweils ein Block konnte in die unteren 32 K des Adressraumes und einer in die oberen 32 K des Adressraumes eingeblendet werden. Der untere Block ist der Code der ausgeführt wird. Der obere Block kann verändert werden, wird aber nicht ausgeführt. Programmiert wurde der ATAC in Assembler und HAL/S, der Sprache in der auch die Flugsoftware für den Space Shuttle entstand.

Auch der ATAC arbeitet mit einem Echtzeitbetriebsystem, dessen Takt sich vom CDS ableitet und ein Vielfaches oder Bruchteil von 66.66 ms ist. Typische Zeitschlitze waren 133.33, 66.66 und 6.66 ms. Die Wahl von Strahlungsresistenten Prozessoren hat sich bei Galileo bewährt, die inzwischen lange über die Dauer der Primärmission und bei höherer Strahlungsbelastung arbeitet. Die Sonde hat zwar ab und zu Softwareresets aber bislang ist noch kein System vollständig ausgefallen.

Magellan

MagellanDie wichtigste Maxime bei Magellan war die Minimierung der Kosten: Die Raumsonde wurde aus Ersatzteilen des Voyager, Mariner 9, Viking und Ulysses Programms zusammengestellt. So übernahm man auch das Computersystem von Galileo, obgleich schon beim Projektbeginn der RCA 1802 veraltet war.

Das als CDS bezeichnete System besteht aus 4 RCA 1802 sowie zwei ATAC-16 Computern für das Altitude Subsystem zur Steuerung der Sondenbahn. Bei Magellan wurde als erstes gegen Fehler abgesicherte Software eingesetzt, die später auch bei Galileo eingesetzt wurde. 6000 Zeilen Code umfasst das Altitude Subsystem, davon 2000 Zeilen für die Fehlerabsicherung. Von den 18000 Zeilen des CDS wurden 45 % unverändert von Galileo übernommen, 35 % modifiziert und 20 % - inklusive 1500 Zeilen Fehlerabsicherung ist neu.

Die Besonderheit von Magellan ist die Datenmenge: Das RADAR produzierte 806 Kilobit Daten pro Sekunde - 8 mal mehr als das FDS von Voyager verarbeiten musste. Die Daten wurden zwar nicht verarbeitet, mussten aber gespeichert werden auf einem Bandrekorder mit 1.8 GBit Kapazität.

Cassini

Cassini Bordcomputer Der Nachfolger des RCA 1802 auf vielen Raumfahrzeugen was MIL-STD 1750A. Es handelte sich um einen 16 Bit Prozessor, der aus einer USAF Ausschreibung resultierte und dort in Flugzeugen und Waffensystemen eingesetzt wurde. Ziel war eine einheitliche Hardware (und mit der Programmiersprache ADA auch eine einheitliche Software). Der 1750A hat 16 Register à 16 Bit, die aber zu 32 oder 48 Bit zusammengefasst werden können. Auch Fließkommaberechnungen sind so möglich. Der Adressbereich von 128 KByte kann durch eine MMU auf 2 MB erweitert werden, ähnlich wie beim 8086 wird über Paging darauf zugegriffen. Dieser Prozessor wurde in sehr vielen Raumfahrzeugen eingesetzt. Jede Ausschreibung der USAF zwischen 1979 und 1984 basierte auf diesem Prozessor. Zivile Projekte die diesen Prozessor einsetzten waren unter anderem Hubble und Clementine. Bei letzterem ist eine Geschwindigkeit von 1.7 Millionen Instruktionen pro Sekunde angegeben worden. Bis heute findet sich der Prozessor in der Atlas.

Dieser Prozessor ist sehr verbreitet und es gibt eine Reihe von Second Source Anbietern. So verwenden die Raumsonden Mars Express, Venus Express, Huygens, Envisat, XMM, Integral und Rosetta den IMA-31750 Prozessor von Dynex. Dieser ist zum 1750A/B kompatibel und erreicht bis zu 3 MIPS bei 25 MHz Takt.

Im Lander Philae von Rosetta wird der 16 Bit Mikrocontroller HS-RTX2010RH von Intersil eingesetzt, ein mit 8 MHz getakteter Chip der auf einer Stack-Architektur aufbaut und in FORTH programmiert wird. Ihm stehen 2 × 27 MBit Massenspeicher zur Verfügung. Allerdings hat der gesamte Lander auch nur eine Stromversorgung von 20 Watt.

Die Entwicklung ist jedoch nicht stehen geblieben. Bei Cassini findet der 1750A mit 1.7 MIPS und 2 MWorte SRAM Anwendung, da er als sehr stabil und dauerhaft gilt (die Cassini Mission erstreckt sich schließlich über 11 Jahre). Für Cassini war auch neben der Zuverlässigkeit auch einige Möglichkeiten des 1750A maßgebend, RAM Bereiche zu schützen und über einen Watchdog den Prozessor bei einem Fehler neu zu initialisieren Der 1750A hat dabei in etwa die 10 fache Geschwindigkeit des RCA 1802 der in Galileo eingesetzt wurde. Er wird ergänzt durch eine Reihe von VLSI ASIC's sie auch in anderen Sonden des Discovery Programms eingesetzt werden. Als Speicher dient ein Solid-state Recorder aus RAM Bausteinen mit 256 MByte Kapazität (davon zu Missionsende noch 225 MByte verfügbar).

Dazu kommen weitere Prozessoren in den Instrumenten und weiteren Subsystemen.

Es gibt heute neben den nativen 1750A Prozessoren (nun bis zu 3.5 MIPS) auch RISC Mikrocontroller, die sowohl den alten 1750A Sprachstandard verarbeiten wie auch neue Instruktionen - aber mit bis zu 8 MIPS bei 16 MHz. Die guten Eigenschaften des 1750 wie der Temperaturbereich von -55 bis 125°C in dem er arbeiten kann sind geblieben. Die allerneueste Entwicklung ist der 1750-60A: 8 MWorte Speicher über Paging, 8 Gigabyte linear adressierbar, bis 60 MHz und 60 MIPS. (Im. 1750A Mode noch 18 MIPS). So findet sich dieser Prozessor auch noch in neueren Anlagen wie der Steuerelektronik der Atlas V, die im Jahre 2002 den Erststart hatte.

Clementine

ClementineClementine setzte nicht nur wegen ihres Status als Experimentalsonde des SDI Programms mit NASA Unterstützung neue Akzente. Es sollten auch neue Technologien erprobt werden. So verfügt die Sonde neben einem 1750A Prozessor für sichere Operationen und "Housekeeping Data" auch über einen 32 Bit R3000 Mikroprozessor mit 18 MIPS. Und als erste über einen speziellen Chip zur JPEG Codierung (entwickelt von der CNES). Diese verlustbehaftete Codierung wurde später auch bei anderen Sonden wie Galileo oder Mars Pathfinder eingesetzt. Der aus 4 Megabit RAMs bestehende "Recorder" umfasst 2 Gigabit (mindestens 1.9 Gigabit am Ende der Mission) und wiegt 3 kg. Es ist der erste Massenspeicher aus Halbleiterelementen in einer Raumsonde und löste damit die Bandgeräte ab.

NEAR

Die NEAR Sonde verwendet zwei verschiedene Systeme. Einen autonomen Bordcomputer auf Basis der CPU Harris RTX2010. Dieser wird in FORTH programmiert und das Programm ist nicht veränderlich. Außer beim Flugdatensystem: Es besteht aus einem 1750A mit 256 KByte RAM für 4000 Instruktionen. Als Massenspeicher kommen Halbleiterarrays aus 16 Megabit RAMs zum Einsatz, einmal 670 Megabit und einmal 1100 Megabit. Die Sonde konnte 12 Tage ohne Funkkontakt operieren.

Mars Pathfinder

RAD6000 SC ProzessorDie 1997 gelandete Raumsonde Mars Pathfinder besteht eigentlich aus zwei Teilen: Der eigentlichen zirka 330 kg schweren Raumsonde und einem Nachttisch großen, zirka 20 kg schweren Rover.

Die Raumsonde selbst verfügte über einen Bordcomputer auf Basis eines des RAD6000SC Prozessors. Dies ist eine weltraumtaugliche Version des RS/6000 Prozessors von IBM, dem Vorgänger des ersten Power PC. Die weltraumtaugliche Version wird von Lockheed Martin hergestellt. Dieser wird nicht nur in Mars Pathfinder sondern zahlreichen anderen Raumsonden des Discovery Programms eingesetzt. Die Taktgeschwindigkeit wurde von 200 auf 20 MHz gesenkt, um den Stromverbrauch zu senken. Der Prozessor leistet bei dieser Geschwindigkeit immer noch 22 Millionen Instruktionen pro Sekunde und verbrauchte 10 Watt. Die Software selbst besteht aus einem 6 MB EEPROM und einem 128 MB RAM, das auch zur Datenspeicherung dient. Insgesamt umfasste die Flugsoftware 150.000 Zeilen. Sie wurde in C Programmiert und läuft unter dem Echtzeitbetriebssystem VxWorks. Derselbe Rechner wurde auch bei allen folgenden Mars Sonden eingesetzt inklusive der Rover die 2003 gestartet sind. Die Taktrate ist inzwischen auf 33Mhz gesteigert worden (34.6 MIPS). Der Stromverbrauch der aktuellen Version des RAD-6000 beträgt nur 3.86 Watt. Dadurch ist auch keine aktive Kühlung nötig. Dies dürfte auch der Grund sein, warum die Taktrate in den letzten Jahren nur moderat gesteigert wurde. Darüber hinaus verfügen alle Raumsonden noch die Möglichkeit den Takt stufenweise zu regeln. Verglichen mit den noch vor wenigen Jahren eingesetzten Prozessoren wie dem MIL-STD 1750A ist der RAD6000 erheblich schneller.

8085 ProzessorAnders sah es bei dem kleinen

Rover

aus. Er verwendete einen Intel 80C85, (Bild) einer Military CMOS Version des Nachfolgers des legendären 8080. Mithin war das Prozessordesign beim Start 20 Jahre alt. Er leistete nur 100.000 8 Bit Instruktionen bei 176 K ROM und 576 KByte RAM. Da der Prozessor direkt nur 64 KByte adressieren konnte sprach man den Speicher über Bankswitching an: Ein 16 K Fenster im 64 KByte großen Adressraum blendete jeweils einen 16 K Beeich aus den 576 KByte RAM oder ROM ein. Immerhin verarbeitete der Computer die Daten von 70 Kanälen, darunter die Bewegung der Motoren, Kameras und die Daten der Experimente. Die Daten wurden über ein UHF Modem mit 2.4 KBaud an den Pathfinder geschickt. Obgleich die Hardware damals nicht die neueste war erfüllte Sie ihren Zweck, denn der ganze Sojourner hatte nur 16 Watt Strom zur Verfügung, wofür selbst für das Fahren nur 10 Watt verbraucht wurden. Zum Vergleich: Ein PC verbraucht je nach Ausbaustufe ohne Monitor 80-150 Watt.

MGS (Mars Global Surveyor)

8086 ProzessorMGS ist nicht mit Pathfinder vergleichbar, obgleich beide gleichzeitig gestartet wurden. MGS hat die Aufgabe die Instrumente des Mars Orbiters, der 1993 vor Einbremsen in den Marsorbit ausfiel, doch noch zum Mars zu befördern. Gesetzt wurde dabei auf einen schon entwickelten Block der DMSP Wettersatelliten des US Militärs. So ist die Computerausrüstung nicht gerade auf dem neuesten Stand:

Der Hauptcomputer und die Software wurden vom Mars Orbiter übernommen, dessen Projektbeginn 1984 war - Mit der Folge, das die Raumsonde am Start mit 19 Jahre alten Prozessoren arbeitet. Der Hauptcomputer basiert auf dem 1750A mit 128 KByte RAM und 20 K PROM. Das Data Subsystem PDS basiert auf einem Intel 8086 und einen auf der Clementine Basis weiterentwickelten "Recorder" mit 4.75 Gigabit Kapazität. 82 % der Software des MO wurden übernommen.

Diese geringe Computerausstattung wird dadurch ausgeglichen, das von den 5 Experimenten 4 eigene Computer haben:

DS-2

Die DS-2 Mikrosonden von nur wenigen Kilogramm Masse haben auch einen Bordrechner: Basierend auf dem verbreiteten Intel 80C51 Mikrocontroller (Einem 8 Bit Chip mit 32 I/O Ports, der auch in Videorecordern, Mikrowellengeräten etc. zur Steuerung eingesetzt wird). Zusätzlich sind je 128 K RAM und 128 K PROM an Bord. Für die kleinen Sonden mit nur wenig Strom und Arbeitszeiten von einigen Tagen eine beachtliche Ausstattung. Immerhin: Galileo hat nur 320 K Speicher!

Stardust

Gesteuert wird die Sonde durch einen RAD6000 - eine weltraumtaugliche Version des Power PC Prozessors mit 128 MB RAM. 20 % werden von der Sonde benötigt als Arbeitsspeicher, der Rest zum Speichern von Bildern (75 MB), 12.5 MB für den Staubanalysator, 2 MB für den Staubdetektor. Auf einen Massenspeicher hat man daher verzichtet.

Der RAD6000 ist seitdem bei den Planetenmissionen zum Standard geworden. Alle Planetenmissionen die nach 1998 starteten haben ihn eingesetzt. Bei den Mars Exploration Rovers verfügt der Computer über je 128 MB RAM und 256 MB Flash-ROM.

SOHO

SOHO hat eine Reihe von Computersubsystemen. Der Zentralrechner basiert auf dem 1750A Prozessor mit Software in ADA. Die Instrumente LASCO und EIT mit hohem Datenausstoß arbeiten mit einer strahlengehärteten Version des 32C016, die meisten anderen Instrumente mit ASICS auf Basis des Intel 8031. Programmiersprachen: C und Assembler.

Hubble Space Telescope (HST)

Über den Computer des HST sind wenige Daten bekannt. 1998 gab die NASA als Geschwindigkeit des Anfang der 70er Jahren entwickelten DF-224 Computer als "comparable in speed to modern pocket calculators." an. Er basiert auf dem NSSC-1 Computer einem vom Goddard Space Center entwickelten ASIC. Dieser kam auch auf den Landsat und Nimbus Wettersatelliten zum Einsatz, sowie auf den OAO, IUE und SMM Forschungssatelliten. Der NSSC-1 war schon beim Projektbeginn 1978 mehrere Jahre im Einsatz. Der NSSC-1 ist eine 18 Bit Maschine aus MSI Schaltkreisen, der Speicher bestand aus 4 K großen Ringkernspeicherbänken. Der Takt betrug typischerweise 1.25 MHz.

Jedoch wurde bei der ersten Service Mission ein Teil des Computers durch einen 386 Prozessor als Coprozessor ersetzt, und bei der zweiten der Bandspeicher durch einen RAM Speicher ersetzt. 1997 mit der zweiten Service Mission gestartet war der SSR Recorder aus 16 Megabit Serien RAMs aufgebaut. Mit 1.5 Gigabyte RAM war dieser "RAM Recorder" 10 mal größer als das originale Bandlaufwerk.

Bei der Service Mission 1999 wurde der Bordrechner gegen einen 486-DX-50 ausgetauscht. Dem zum Zeitpunkt der Planung leistungsfähigsten "weltraumtauglichen" Computer von Intel. Dieser wurde vorher in einer Shuttle Mission auf Strahlungssicherheit getestet. Der Computer kostet 7 Mill. USD und soll 20 mal schneller und 6 mal mehr Speicher als der alte haben. Intel hat inzwischen die Pentium Technologie an die NASA lizenziert, damit diese strahlungstolerante Pentium Prozessoren bauen kann.

Demgegenüber kostet der gesamte deutsche Satellit Safir-2 mit einem TMS-800 Transputer und 17.5 MHz und 1.160 MByte ROM und 5 MByte RAM weitaus weniger als diese 7 Mill. USD, trotzdem ist die Rechenpower vergleichbar.

ATV

Gesteuert wird das ATV durch drei fehlertolerante Computer (FTC) sowie einem Vierten als Reserve, falls einer der FTC ausfallen sollte. Sie basieren auf dem DMS-R Computer, den Astrium für das russische Swesda Modul entwickelt hat. Eingesetzt wird der ERC32, eine weltraumtaugliche Version des SPARC V7 32 Bit Prozessors mit einem integrierten Fließkommacoprozessor und einem Speicherkontroller. Das Design ist nicht neu und wurde schon in anderen ESA Projekten eingesetzt. Es basiert auf der ersten SPARC CPU von Sun, wobei die 20 Mhz Version die 1990erschien, die Ausgangsbasis für die Entwicklung war.

Die Leistung des ERC32 des Halbleiterherstellers Amtel reicht für die Aufgaben allerdings völlig aus und auch der neue Bordcomputer der Sojus TMA-M liegt in derselben Leistungsklasse. Der ERC32 ist ein strahlengehärteter RISC-Prozessor mit geringem Stromverbrauch (maximal 1,5 Watt). Er leistet bei 20 Mhz maximal 20 MIPS (Millionen Instruktionen pro Sekunde) oder 4 MFLOPS. (Millionen Fließkommaoperationen pro Sekunde). Er ist damit in etwa so schnell wie ein PC aus dem Jahr 1993. Damit ist er trotzdem noch zwanzigmal schneller als der derzeitige Ariane 5 Bordcomputer und verfügt über zehnmal mehr Speicher.

Den Transfer der Daten auf den Bus – verwendet wird der in zahlreichen Luft- und Raumfahrtsystemen übliche MIL-STD 1553B Bus mit sechs Kanälen – wird von einem eigenen Prozessor, dem Transputer T805 übernommen. Dies ist ebenfalls ein 32-Bit-Prozessor mit 20 MHz Taktfrequenz und 10 MIPS und 1,5 MFlops Leistung.

Die Datenrate jedes Busses beträgt 1 MBit/s. Dazu gibt es sechs direkte Eingabe- und Ausgabekanäle für direkte Kommunikation mit jedem Prozessor und zwei Resetkanäle, die den Computer neu starten können. Jeder Prozessor ist direkt mit seinen drei Nachbarn verbunden.

Drei dieser Computer arbeiten nach dem Start parallel und tauschen ihre Daten untereinander aus. Alle 100 ms synchronisieren sie sich. Wenn ein Fehler auftritt, z.B., weil ein energiereiches Teilchen ein Bit im Speicher umkippen lässt, so tanzt ein Computer außerhalb der Reihe. Die beiden anderen überstimmen ihn dann. Er wird von den anderen offline genommen. Ein vierter Reserverechner springt nun für den ausgefallenen Computer ein. Er war vorher inaktiv. Bei einem weiteren Ausfall kann so immer noch ein System überstimmt werden. Das System verkraftet also den Ausfall zweier Computer. Die gesamte Software für den Flugablauf des Raumfahrzeugs umfasst 500.000 Zeilen Code, etwa der zehnfache Umfang der Software der Ariane 5. Die gesamte Software des ATV, inklusive Testroutinen, hat einen Umfang von 1,5 Millionen Zeilen. Sie wurde in ADA geschrieben und belegt 4 Mbyte Speicher.

Dazu kommt ein redundant vorhandener Überwachungscomputer, die MSU (Monitoring and Safety Unit). Der Fehlstart der Ariane 5 bei ihrem Jungfernflug lenkte die Aufmerksamkeit auf ein Problem, das bis dahin kaum beachtet wurde: Wenn die Computer korrekt funktionieren, aber die Software einen Fehler aufweist, dann kann trotzdem die Mission scheitern. Im Falle der Ariane 5 war es ein Softwarefehler, der zu einem Überlauf bei einer Berechnung und damit zu falschen Bahndaten führte. Der Bordcomputer schwenkte daraufhin die Triebwerke der Ariane 5, die durch die entstehenden aerodynamischen Belastungen auseinanderbrach. Die redundanten Computer nützten dabei nichts, da der Fehler innerhalb von 0,04 s in beiden Rechnern auftrat – weil sie dieselbe Software einsetzten.

Der europäische Raumtransporter setzt daher die MSU als unabhängige Steuerung zusätzlich ein. Sie überwacht die FTC und springt ein, wenn diese falsch arbeiten. Hauptaufgabe der MSU ist es, den Transporter nicht mit der Raumstation kollidieren zu lassen. Stellt die MSU fest, dass diese Gefahr besteht, so werden die FTC deaktiviert und ein Kollisionsvermeidungsmanöver durchgeführt, welches den Frachter in eine sichere Warteposition bringt. Die MSU wird auch aktiv, wenn Besatzung oder Bodenkontrolle den Abbruch befehlen. Die Software dafür wurde mit 15.000 Zeilen Code (60 KBytes compiliert) bewusst kompakt gehalten und mehrfach verifiziert. Sie gehört zur „Kategorie A“, extrem sicherheitskritischer und besonders validierter Software, die normale Software dagegen zur Kategorie „C“. Der verwendete Prozessor ist ein 32-Bit-Transputer T805 mit 20 MHz Taktgeschwindigkeit.

Die Auslegung der MSU verwendet die Design-Philosophie des Space Shuttle: Auch auf diesem gab es auf einem Prozessor nur eine Minimalsoftware, die nur einen sicheren Flugabbruch und Landung umfasste, unabhängig von der anderen Betriebssoftware entwickelt wurde und besonderen Sicherheitsanforderungen genügte. Anders als beim Space Shuttle verwendet die MSU auch eine andere Hardware als der FTC. Die MSU kontrolliert direkt eine Kette der Steuerung des Raumtransporters mit ihren Triebwerken.

Die Abwärme der Elektronik wird durch 40 Heatpipes auf Flächen rund um den Elektronikring geleitet und in den Weltraum abgestrahlt. Dieselben Heatpipes können auch genutzt werden, um das Raumfahrzeug zu erwärmen. Dadurch kann etwa die Hälfte der Heizleistung eingespart werden. Es ist der erste massive Einsatz von Heatpipes bei einem Raumfahrzeug.

Weiterhin befinden sich in der EAB vier Nickelkadmium-Batterien, die vier Energiesteuerungs- und Verteilungseinheiten, die Gyroskope und Beschleunigungssensoren, die Kommunikationsausrüstung sowie die Thermalsteuerung und die Kommando- und Steuerungseinheit.

Computer in Raketen

Saturn 5 IMU Noch weniger ist über die Hardware der Computer der Raketen bekannt. Die ersten Starts in Ost und West fanden ohne Bordrechner statt, bei der Proton kommt bis heute ein analoges System zum Einsatz, bei dem ein Kondensator langsam entleert wird (parallel zur Geschwindigkeit) und das Triebwerk gestoppt wird, wenn der Kondensator keine Ladung mehr aufweist. So flogen die ersten Atlas Raketen (die auch Mercury transportierten) ohne Bordcomputer, erst mit der Titan II zogen diese ein.

Folgende Informationen über Bordrechner sind mir bekannt: (Hinweis: Oft werden nur die gesamte Masse der Navigationseinheit mit Kreiseln, Struktur etc. genannt).

Saturn 1

Die ersten 5 Saturn 1 flogen noch ohne Computer und benutzten ein " German-made mechanical time-tilt device for control, also ein nicht näher spezifiziertes Gerät, dass nicht elektronisch sondern mechanisch arbeitete.

Bei Flug 5 flog der ASC-15 Computer der Titan mit. Bei diesem Flug noch als Passagier, dann bei den restlichen 5 Flügen übernahm er die Steuerung der Rakete. Der ASC-15 Computer beherrschte nur Festpunktarithmetik mit einer Wortlänge von 27 Bit für Daten und 9 Bit für Kommandos. Insgesamt nur 20 Kommandos. Speicher ist ein Trommelspeicher mit einer Zugriffszeit von 5.0 ms! Er fasst 3644 Worte mit 98388 Bits. Die Geschwindigkeit beträgt nur 3000 Operationen pro Sekunde. Der Computer nimmt ein Volumen von 0.105 m³ ein und wiegt 44.5 kg und konsumierte 278 W Strom.

Saturn 1B (1965-1975)

Der Computer LVDC von IBM  besteht aus 12000 Komponenten, 95 Kg Gewicht, 1.1 m³ Volumen, 540 Watt Stromverbrauch. (Andere Quellen: 111.7 kg Gewicht, 0.161 m³ und 85 W Stromverbrauch). Leistete 3200 Instruktionen pro Sekunde, bei 100 KBit (12 KByte) Speicherkapazität. Zuverlässigkeit: 750 Stunden. Das Design lehnte sich an die Gemini Rechner an. Er hatte nahezu denselben Instruktionssatz mit 13 Bit Opcodes und 26 Bit Datenwörtern. Allerdings waren alle Schaltungen dreifach redundant vorhanden. Zusammen mit Schaltungen zum Umschalten von defekten auf funktionierende Einheiten war die Bauteilanzahl 3.5 mal größer als bei dem Gemini Bordrechner, die Zuverlässigkeit aber 35 mal höher. Der Computer setzte als erster die "flat pack" Schaltkreise an die unter dem Advanced Saturn Technology Program im Auftrag des Marschall Space Centers von IBM entwickelt wurden und später in ihren IBM 360 Systemen eingesetzt wurde.

Saturn V (1967-1973)

Der Computer der Saturn 5 hatte inklusive der Sensoren für die Navigation 114 kg Gewicht (35 kg Computer alleine) und 1.6 m³ (0.068 m³ Computer alleine) Volumen, 438 Watt Stromverbrauch. (150 W Computer alleine) Er leistete 9600-11300 Rechenoperationen pro Sekunde (28 Bit Wortbreite, davon 26 Bits für Daten oder zweimal 13 Bits für zwei Kommandos nutzbar, 2 Bits für Fehlererkennung), Addition 82 Mikrosekunden, Multiplikation / Division: 328 Mikrosekunden, 6 Speichermodule mit je 4096 Worte à 28 Bit, erweiterbar um ein zwei weitere Module. Gesamtkapazität: 917504 Bits (32 KWorte à 28 Bit). Die Zugriffszeit auf den Magnetkernspeicher betrug 10 Mikrosekunden. Es gab 18 Kommandos. Die Zuverlässigkeit lag bei einer MTBF von 45000 Stunden. Dieser Rechner (ST-124) wurde mit integrierten Schaltungen gefertigt. Während heute in einem PC so ca. 50 arbeiten, bestand der ST-124 aus 8918 Chips! Inklusive anderen Bauteilen (Transistoren, Kondensatoren, Restistoren etc. bestand der Computer aus 40800 Teilen. Wie man sieht musste man damals nicht unter Schreibtische kriechen um an die Hardware zu kommen. Der gesamte Computer sitzt an einer Zylinderwand von 6.6 m Durchmesser und 1.8 m Höhe.

Module waren dreifach redundant und der Speicher war so ausgelegt, dass er selbstkorrigierend war, d.h. defekte Speicherstellen durch intakte eines zweiten redundanten Speichers ersetzte. Am Boden kommunizierte der Bordrechner mit den Rechnern der Flugkontrolle über 1512 digitale Kanäle. Die Zahl der im Flug benutzten Telemetriekanäle schwankte je nach Mission lag aber in derselben Größenordnung.

Atlas F (1965-78)

Der Computer hat Abmessungen von 20 × 33 cm. Speicher: Trommelspeicher mit 2560 Worten Speicherkapazität. Rechengeschwindigkeit: 3000 Additionen, 1600 Subtraktionen, 236 Multiplikationen und 228 Divisionen pro Sekunde.

Atlas 2AS (1993)

Die Atlas 2AS verwendet einen 1750 A Computer mit 256 KByte RAM, die Atlas V (2002) soll einen 1750A mit 512 KByte RAM erhalten.

Ariane 1-3 (1979):

Verwendete einen 16 Bit Rechner mit 20 KByte Speicher. Der Computer wog 6 kg. Telemetriedaten von 1200 Punkten wurden mit 240 KBit an den Boden übertragen. Dabei wird wie bei der Saturn 5 die erste Stufe nach einem festen Schema gesteuert, die Stufentrennung findet bei erreichen einer bestimmten Geschwindigkeit statt, die Stufe wird nicht betrieben bis der Treibstoff verbraucht ist. Erst bei der zweiten Stufe findet eine Kontrolle durch den Bordrechner statt. Der Bordcomputer von Ariane 1 war noch sehr anfällig.

Ariane 4 (1988):

verwendet den Bordrechner des Satelliten Spot (genauere Details unbekannt) und sendet die Daten mit 1 MBaud zur Erde. Die Rakete arbeitet vollkommen autonom und hat schon Satelliten ausgesetzt, obwohl die Funkverbindung zum Boden abbrach.

Ariane 5 OBC

Ariane 5 (1996)

Bild Oben: OnBoard Computer der Ariane 5.

Die VEB der Ariane 5 benutzt die Technik die 1988 aktuell war, als sie entwickelt wurde. Der redundant vorhandene Bordcomputer (OBC: On-Board computer) verwendet eine strahlengehärtete Version der 32 Bit Motorola 68020 CPU. Der Arbeitsspeicher aus statischem RAM ist mit der EDAC-Fehlerkorrektur (Error Detection And Correction) versehen. Unterstützt wird der Haupt­prozessor durch einen Fließkommaprozessor (für schnelle Fließkommaberechnungen) und eine zweite CPU für die Ein-/Ausgabe auf den Datenbus.

Von den beiden Bordcomputern ist einer aktiv, der Zweite im „Observer“ Modus. Beide synchronisieren sich regelmäßig. Die Umschaltung zwischen den beiden kann durch den Watchdog Timer erfolgen, aber auch Selbsttests des laufenden Prozessors, Speicherfehler oder Fließkommaexceptions (ungültige mathematische Operationen oder Überläufe bei Konvertierungen).

Das Bus­system ist das vom amerikanischen Militär entwickelte und in der Luft- und Raumfahrt weitverbreitete MIL-STD 1553B Bussystem, welches eine maximale Datenübertragungsrate von 1 MBit/s er­laubt.

Reagieren kann die CPU auf 14 Interruptereignisse. Vier Timer mit programmierbaren Frequenzen von 70 kHz bis 18 MHz können zeitgesteuert Routinen auf­rufen. Ein separater Watchdog-Timer, mit eigenem Zeitgeber, ermöglicht die Überprüfung, ob die CPU abgestürzt ist. Die Zuverlässigkeit (definiert als Nichtauftretens eines Fehlers) beträgt 0.999999 für eine Mission. Das eigene Fehlererkennungssystem soll 95% aller Fehler erkennen.

Der OBC wird von Saab in Schweden gefertigt. Die Soft­ware wurde in ADA entwickelt. Die Verarbeitung der Daten des Inertialsystems (SRI) geschieht durch einen TMS320C25 Signalprozessor von Texas Instruments.

Ariane 5 OBC

Bordcomputer:

32,5 × 27 × 10 cm, 4,7 kg, 15 Watt Stromverbrauch

Prozessor:

MC 68020, 18 Mhz
MC 68881 FPU
1 Mbyte SRAM Speicher mit EDAC Fehlerkorrektur
32 kByte EEPROM

I/O Prozessor

MC 68020, 18 Mhz
256 kByte SRAM Speicher mit EDAC Fehlerkorrektur
32 kByte EEPROM

Vega

Neu ist der Bordcomputer der Vega, der Technologien aus Satellitenprojekten der ESA übernimmt. Mit einer Geschwindigkeit von 13 MIPS (2,6 MFLOPS) ist er etwa zehnmal schneller als der derzeitige Ariane 5 Bordcomputer. Er ver­fügt über viermal mehr Speicher (4 Mbyte). Trotzdem wiegt er nur die Hälfte und das Volumen beträgt nur ein Viertel des Ariane 5 OBC. Sein Stromverbrauch beträgt 16 – 22 W. Er wird von Saab gefertigt.

Eingesetzt wird der ERC32, eine weltraumtaugliche Version des SPARC V7 32 Bit Prozessors mit einem integrierten Fließkommacoprozessor und einem Speicherkontroller. Das Design ist nicht neu und wird seit 1998 in anderen ESA Projekten eingesetzt. Es basiert auf der ersten SPARC CPU von Sun, wobei die 20 MHz Version, die 1990 erschien, die Ausgangsbasis für die Entwicklung war. Er ist in etwa so schnell wie ein PC aus dem Jahr 1991 – 92. Telemetrie wird bei 2.200 – 2.290 MHz mit 8 Watt Sendeleistung übermittelt. Insgesamt 280 Messwerte werden übertragen.

Wie kann man mit solch kleinen Computern ins All fliegen?

Der rasante technische Fortschritt in der Computerentwicklung lässt oftmals die Computer völlig unzureichend aussehen. Dies ist jedoch nur teilweise begründet. Zum einen basieren Raumfahrzeuge aus der Technik die zum Projektstart als ausgereift erscheint, selten auf neu entwickelter Technik, wenn es um lebenswichtige Systeme, wie eben den Bordcomputer geht. Da selbst bei kleinen Satelliten es Entwicklungszeiten von einigen Jahren gibt, bei größeren sogar 10 Jahre erreicht werden, ist die Computertechnik beim Start oft veraltet.

Der zweite Grund sind Ansprüche an ein Computersystem, die sehr stark von denen der Industrie abweichen. Während der siebziger und frühen achtziger Jahre entwickelten viele Raumfahrtorganisationen spezielle Hardware für den Weltraumeinsatz. Da allerdings die Fertigungskosten mit jeder Chip Generation ansteigen ist dies heute nur schwer möglich. Die gefertigten Prozessoren können daher hinsichtlich Geschwindigkeit und Leistungsfähigkeit mit modernen Prozessoren nicht mithalten.

Der dritte und entscheidende Grund sind die unterschiedlichen Bedienungsoberflächen. Wer unter einem Betriebssystem wie CP/M aufgewachsen ist, weiß, das man ein Betriebssystem in weniger 16 KByte unterbringen kann, nur der Bedienungskomfort ist nicht so groß. Der größte Teil des Programmcode geht heute für die grafische Gestaltung der Oberfläche drauf. Bei Raumfahrzeugen ist diese deutlich karger, selbst bei den Space Shuttle Rechnern. Bei der Mondlandung gab es Meldungen vom Computer wie "1202" (Kritischer Fehler bei Überlastung, aufgetreten bei Apollo 11), Eingaben waren ebenso nur numerisch möglich. Damit konnte man den Code klein halten. Bei Satelliten kommt man ganz ohne dies aus. Man sendet Ihnen nur Programme, die sie Ausführen. Die Hardware kann man dadurch noch kleiner halten.

Trotzdem findet man an Bord von Raumfahrzeugen auch heute noch stattliche Rechner. 1996 startete Mars Pathfinder mit einem Rechner mit 128 MB RAM und 6 MB ROM, als irdische Rechner gerade so 8-16 MB hatten. Mitte 1999 startete Landsat 7. Inzwischen hat ein neuer PC 64-128 MB, doch Landsat startete mit 48 GB RAM, das als Datenspeicher dient (und damit sogar noch größer als die größten zu dieser Zeit erhältlichen PC Festplatten war).

Ein grundsätzliches Problem ist heute die Abwärme und der Stromverbrauch eines Prozessors. Ein Pentium 4 Prozessor verbraucht bis zu 80 Watt Leistung. Abgesehen, dass man für viele Satelliten einen solchen Stromverbraucher nicht tolerieren kann, bereitet auch die Abwärme große Probleme. Heute wird Abwärme im PC durch Konvektion, d.h. über Luftströmungen abgegeben. Für Server gibt es schon Flüssigkühlungen die auf der Wärmeleitung basieren. Beide Kühlungen sind in Raumfahrzeugen nicht möglich. Die einzige Kühlung besteht in der Abgabe von Strahlung und diese ist sehr ineffizient. Daher findet man von den neueren Prozessoren vor allem den Power PC Prozessor, der sehr wenig Strom verbraucht, trotzdem wird auch dieser heruntergetaktet um den Verbrauch zu minimieren.

Massenspeicher

An Massenspeicher finden sich seit dem ersten amerikanischen Satelliten Bandlaufwerke, zuerst als analoge Datenspeicher, dann digitale. Schon früh verfügten Bandspeicher über enorme Speicherkapazitäten - Während die Vikings mit weniger als 64 KB Hauptspeicher auskommen sind es bei den Bandlaufwerken 160 MB gewesen, also das 2500 fache. Die Kapazität und Schreibgeschwindigkeit der Bandspeicher ist aber seitdem langsamer gestiegen als die von Halbleitern. So finden sich heute anstatt der mechanischen Bandlaufwerke "Solid State Rekorder": Das sind Würfel voll mit Speicherchips und einer Elektronik die einem angeschlossenen Computer ein Speichermedium vorgaukelt. (Es gibt so was auch für den PC z.B. als Solid State Disk). Mit 64 MBit Chips sind damit 134 Gigabyte möglich, wovon nach 5 Jahren noch 107 Gigabyte nutzbar sind. (Verluste durch kosmische Strahlung). Die Stromaufnahme variiert zwischen 25 Watt bei Stand-By und 110 Watt bei gleichzeitigem Lesen/Schreiben. Der Vorteil ist eine geringere Anfälligkeit - Man denke an das Unglück beim Galileo Rekorder - und die Möglichkeit schneller auf die Daten zuzugreifen und sie zu lesen und zu schreiben. Es sind aber keine dauerhaften Speicher, ohne Stromversorgung sind die Daten weg. Die rasche Entwicklung der Flash Speicher erlaubt es die RAM Speicher durch Flash Speicher zu ersetzen, die ohne Zugriffe überhaupt keinen Strom brauchen und ihre Daten auch bei einem Stromausfall nicht verlieren. Die Mars Rover und Stardust verwenden beide je 128 MByte Flash Speicher als RAM-Disk.

Software

Man kann die Software von Raumsonden oder Raketen schwer mit dem vergleichen was Sie normalerweise als Anwender im Kopf haben - Es handelt sich vielmehr um Programme zur Steuerung eines Roboters. Die ersten Rechner an Bord von Viking und Voyager bestanden aus einer Sammlung von Routinen zur Steuerung der Sonde, dem Kodieren und Senden von Daten und die Kontrolle der räumlichen Orientierung von Sonde und Experimenten. Doch schon 1986 erhielt Voyager 2 als erste Raumsonde neue Routinen, die beim Start nicht vorgesehen waren. Man entwickelte Routinen zur Komprimierung der Daten und zur Drehung der Sonde um Unschärfen bei Langzeitbelichtungen ohne Verwackler zu ermöglichen. Voyager 2 war damit die erste Raumsonde die im Flug "neu programmiert" wurde.

Mit Magellan und Galileo hielten zum ersten Mal Routinen zur Fehlerabsicherung Einzug - Man wollte Verluste wie bei Phobos 1+2 durch falsche Kommandos vermeiden. Fehler können auch durch Strahlungsstürme oder Defekte der Hardware entstehen. Routinen zur Fehlerabsicherung bringen dann eine Raumsonde in einen Safe Mode indem sie zwar nicht arbeiten kann aber wieder Kontakt zur Erde aufnehmen kann. Dies zeigte sich als ein zweischneidiges Schwert: Einerseits konnte man damit SOHO retten, andererseits gingen die wesentlichen Daten der Vorbeiflüge von DS-1 an Braille und auch von Galileo an einigen Mondvorbeiflügen verloren als diese kurz vor dem Encounter selbstständig in den Safe Mode gingen.

Die nächste Steigerung ist das autonome Arbeiten oder zumindest Teilautonomie Arbeiten. Der Rover von Mars Pathfinder, Cassini und DS-1 haben solche Routinen.

Wie immer bedeutet handverlesen Produktion, Schützen der Chips oder gar eine Produktion in einem ganz neuen Produktionsprozess eine enorme Verteuerung von Bausteinen. Da der Markt noch dazu sehr klein ist, sind auch die Preise nicht gerade klein. Im November 1998 kosteten 32k*8 HX6256NBRC (256 KBit RAMs) für Raumfahrzeuge 1795 USD/Baustein. Gleich große PROM sogar 2260 USD. Das ist etwa 1000 mal höher als bei normalen Bausteinen.

Quellen:

Computers in Space Flight - the NASA History
FlightLinux Project

Übersicht: Prozessoren in Raumfahrzeugen

Mission Prozessor
Cassini 1750A
Cluster (ESA) 1750A
MSTI-1,2 1750A
Rosetta (ESA) 1750A
EOS Terra 1750A (2)
EOS Aqua 1750A (4) & 8051 (2)
EOS Aura 1750A (4) & 8051 (2)
Clementine 1750A, 32 Bit RISC
MSTI-3 1750A, R-3000
Pluto Express 32 Bit RISC
Sampex 80386, 80387
SMEX 80386, 80387
SWAS 80386, 80387
TRACE 80386, 80387
WIRE 80386, 80387
FUSE 80386, 80387, 68000
Surrey MicroSat 80386EX (2)
UoSat-12 80386EX (3)
FAST 8085 (2)
HealthSat-II 80c186 (2), 80c188
PoSat-1 80c186, TMS320C25, TMS320C30
Sojourner 80c85
Galileo AACS, Magellan AACS ATAC (Bit Slice), RCA 1802
SPOT-4 F9450
EO-1/WARP Mongoose V
IceSat Glas Mongoose V
MAP Mongoose V, UTMC 69R000
CGRO NSSC-1
Topex/Poseidon NSSC-1
UARS NSSC-1
EUVE NSSC-1, 1750A
HST NSSC-1/386, DF-224->486
Coriolis RAD6000
Deep Space-1 RAD6000
Gravity Probe B RAD6000
HESSI RAD6000
Mars Polar Lander / Mars Climate Orbiter RAD6000
MARS Pathfinder RAD6000
SIRTF RAD6000
SMEX-Lite RAD6000
Swift RAD6000
Triana RAD6000
MightySat-II TMS320C40 (4)

Vergleich von Weltraumtauglichen Prozessoren mit ihren nächsten kommerziellen Verwandten, Stand 10/2001

(Quelle Target_Arch_Report.html vom Flight-Linux Projekt, leider nicht mehr online. Ich wurde darauf aufmerksam gemacht das zumindest beim StrongArm SA1100 die Angabe falsch ist und es wohl eher 99 MIPS sein müssten. Eventuell ist es das Ergebnis eines synthetischen Benchmarks.

Prozessor Closest Commercial Clock Speed mips mflops SPECint95 SPECfp95
Rad750 PPC 750 166 300.
7 4.7
Pentium Pentium-I 166 178.4
4.5 3.73
RHPPC PPC 603e 166 210
3.94 2.71
Rad6000 PPC 33 35
1.68 4.9
StrongArm SA1100 88 2.1 n/a
n/a
Thor none 50 50 16

MongooseV R3000 12 10.6


1750A n/a 1 3 n/a
n/a

© des Textes: Bernd Leitenberger. Jede Veröffentlichung dieses Textes im Ganzen oder in Auszügen darf nur mit Zustimmung des Urhebers erfolgen.
Sitemap Kontakt Neues Impressum / Datenschutz Hier werben / advert here Buchshop Bücher vom Autor Top 99