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

Computer in der Raumfahrt Teil 3

In Teil 1 wurden die Computer in den bemannten Programmen wie Gemini, Apollo und Space Shuttle besprochen. In dem Teil 2 ging es um die Computer in unbemannten Satelliten, Raketen und Raumsonden. Dieser Teil 3 erläutert die Vorteile und Nachteile bestimmter Prozessoren.

Unterschiede in den Anforderungen

Nicht jeder kommerziell erhältliche Mikroprozessor eignet sich auch für Raumfahrzeuge. Neben "Normalen" Leistungsdaten wie Befehlssatz, verfügbare I/O Ports, Geschwindigkeit, die auch auf der Erde wichtig sind, sind einige Faktoren für den Weltraumeinsatz sehr wichtig:

Der RCA 1802

Der RCA 1802 ist ein berühmter Mikroprozessor. Nicht weil er sehr of eingesetzt wurde, sondern weil er der erste kommerziell erhältliche Mikroprozessor war, der in einer Raumsonde eingesetzt wurde. Vorher waren die Computer an Bord von Raumsonden Spezialanfertigungen. Der RCA 1802 wurde in den Bordcomputern von Galileo und Magellan eingesetzt. Manche Quellen behaupten auch, das Voyager den RCA 1802 verwendet. Doch dies ist falsch. Als Voyager 1972 konzipiert wurden war der RCA 1802 noch gar nicht auf dem Markt. Die Voyager Bordrechner haben keine CPU sondern bestehen aus jeweils etwa 100 einzelnen Bausteinen in LSI und MSI Integrationsdichte.

RCA 1802Bei Galileo entschied man sich erstmals für eine Raumsonde einen kommerziell erhältlichen Mikroprozessor zu verwenden. Allerdings fand die Auswahl der Hardware im Herbst 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. Das Entwicklungsteam war daher mit der Wahl nicht richtig zufrieden, der RCA 1802 war "Nobodys favorite choice".

Der 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 5-10 V Spannung und war unempfindlicher gegen Überspannungen als andere Prozessoren die mit 5 V Spannung arbeiteten. Der RCA 1802 konnte zwischen 4 und 10.5 V Spannung arbeiten. Weiterhin konnte er bei Temperaturen von -55 bis +125 Grad Celsius arbeiten und war in der stromsparenden CMOS Technologie verfügbar. Diese war damals noch völlig neu und nur wenige Prozessoren waren in dieser Technik verfügbar. Der RCA 1802 brauchte nur 100 mW an Strom und dies war bei Galileo wichtig, da diese Sonde mit RTG ausgestattet war und Strom so nur begrenzt zur Verfügung stand. Obgleich der Prozessor in der Version RCA 1802 A mit Taktraten bis zu 3.2 MHz lieferbar war beschränkte man sich bei Galileo auf 1.6 MHz (andere Quellen 3.2 MHz) Takt, wahrscheinlich war die verfügbare Version bei der Auswahl für Hardware 1977 noch nicht so schnell.

Das Problem war, das dieser Prozessor sehr langsam war. Die Taktfrequenz der Galileo Rechner betrug nur 1.6 MHz 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. In den beiden doppelt ausgelegten CDS Computern (Command and Data Subsystem) wurden je 3 RCA 1802 parallel eingesetzt. Dazu kam ein weiterer Master für die Überwachung beider CDS. An Bord von Galileo waren es mit den Prozessoren in den Experimenten insgesamt 18 RCA 1802 Prozessoren! Ein Vorteil des RCA 1802 war auch, dass er als einer der ersten Chips über einen DMA (Direct Memory Access) Zugriff verfügte. So konnte Galileo einen Teil des Speichers als globalen Speicher definieren, der dann von mehreren Prozessoren benutzt wurde.

Galileos CDSDer 1976 erschiene Prozessor selbst hatte ein sehr ungewöhnliches Design, er war ein früher RISC Chip. Die hervorragenden Eigenschaften waren extreme Einfachheit und große Flexibilität. Der Prozessor hatte 16 mal 16 Bit Register, die als 32 mal 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. Dieses Register konnte frei aus den 16 gewählt werden. Auch das Register welches den Programmzähler stellte, konnte frei gewählt werden. Der Zugriff geschah so zweifach indirekt: Erst über die Nummer zum Register, dann über das Register zum Speicher. 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. Es gab aber keine Unterstützung für Unterroutinen, bedingte Sprünge und Stack Operationen. Man konnte dies aber emulieren indem man z.B. dem Programmzähler neue Werte zuwies. Insgesamt verfügte der Prozessor über 91 Opcodes.

Nach Galileo verwandte man in der Regel andere Chips, wie den unten stehenden MIL-STD 1750A. Der RCA 1802 war eine Notlösung, weil er der einzige Prozessor war, der die Anforderungen von Galileo erfüllt. Aber er war von der Leistung und Programmierung nicht das Gelbe vom Ei. Da er 16 Takte für eine Instruktion brauchte, konnten Galileos Bordrechner nicht schneller als 0.1-0.2 MIPS sein. Er wurde daher nur noch einmal eingesetzt, als man um Kosten zu sparen, bei Magellan das CDS Computersystem von Galileo übernahm. Hier ein Vergleich mit dem zur selben Zeit verfügbaren Intel 8085, der 1997 in dem kleinen Rover Sojourner eingesetzt wurde.

RCA 1802 Intel 8085
max. Taktrate 6.4 MHz 5 MHz
minimale Ausführungszeit 5 Mikrosekunden 2 Mikrosekunden
Register 16 à 16 Bit 7 à 8 Bit + 2 à 16 Bit
max. RAM 64 KByte 64 KByte
Opcodes 91 56
Besonderheiten DMA Zugriff, stark I/O ausgelegt.
Eingesetzt auf UOSAT 1, Galileo, Magellan Sojourner

MIL-STD 1750A

Cassini BordcomputerDer Nachfolger des RCA 1802 auf vielen Raumfahrzeugen was MIL-STD 1750A. Es handelte sich um einen 16 Bit Prozessor, der aus einer USAF Ausschreibung vom 2.7.1980 resultierte und in der US Air Force in Flugzeugen und Waffensystemen eingesetzt wurde. So verfügten die ersten Bordcomputer der F16 und F111 über diesen Prozessor. Ziel war eine einheitliche Hardware (und mit der Programmiersprache ADA auch eine einheitliche Software) auf möglichst vielen Waffensystemen. Das Dokument spezifiziert vor allem einen Befehlssatz für einen Prozessor. Es gibt also nicht einen 1750A Mikroprozessor sondern sehr viele, die diesen Befehlssatz verstehen und ausführen.

MIL-STD steht für "militärischen Standard" und ist daher mehr als eine Normvorschrift zu sehen. In der Raumfahrt trifft man auch häufig auf den MIL-STD 1553, dies ist ein Datenbus für 2-32 Teilnehmer und eine Datenrate von zunächst 1 MBit/sec. Er wurde zuerst 1973 für die F16 entwickelt und zweimal (1553A, 1553B) verbessert, die letzte Revision erfolgte aber 1980, so dass dieser Bus in etwa genauso veraltet wie der 1750A Prozessor ist. Eine Datenrate von bis zu 100 MBit/sec ist heute mit diesem Bus möglich.

Normvorschrift heißt: Der millitärische Standard 1750 legt fest was ein 16 Bit Mikroprozessor können muss : Seinen Instruktionssatz, die Register. die Pins. Er steht aber nicht für ein bestimmtes Produkt wie z.B. den 8086 Prozessor, dessen Architektur man schützen kann. So gibt es sehr viele Anbieter von Prozessoren die nach diesem Standard produziert werden. Bei moderneren Designs findet man auch Erweiterungen zum ursprünglicheren Standard. Dies ist Vergleichbar zu den NEC V20 und V30 Prozessoren. Diese Prozessoren waren Eigenentwicklungen von NEC die den 8086 Prozessor nachbildeten aber neue Befehle integrierten und schneller waren.

Der 1750A hat 16 Register à 16 Bit, die aber zu 32 oder 48 Bit zusammengefasst werden können. Dies ist ungewöhnlich für einen 16 Bit Prozessor. Auch Fließkommaberechnungen mit 32 oder 48 Bit Genauigkeit oder 32 Bit Ganzzahlberechnungen sind so möglich. Die Register 1-12 können als Indexregister und die Register 13-16 als Basisregister für indizierte und indirekte Adressierung benutzt werden.

Der Adressbereich beträgt lediglich 64 KWorte à 16 Bit, also 128 KByte, also vergleichbar den ersten 16 Bit Prozessoren wie dem TMS 9900. Die meisten Instruktionen sind 16 oder 32 Bit breit. Der Adressbereich von 128 KByte kann beim originalen Design durch eine MMU (Memory Management Unit) auf 1 MWorte, also 2 MB erweitert werden, ähnlich wie beim 8086 wird über Paging darauf zugegriffen. Eine Page umfasst dabei immer 512 Byte.

Später gab es einen neuen Standard, den 1750B. Er definierte eine erweiterte MMU  welche nun 8 MWorte (16 MB) adressierte. Dieser Standard führte auch eine BPU (Bus Protect Unit) ein, die es erlaubte Teile des RAM vor einem Schreibzugriff zu schützen und so es erlaubte Betriebssystemsoftware im RAM zu halten oder Softwarefehler rechtzeitig zu erkennen.

In der Geschwindigkeit sind die letzten Versionen des 1750A Prozessors in etwa mit einer Motorola MC 68000 oder einem Intel 80286 Prozessor vergleichbar, also Prozessoren die in vielen PCs zwischen 1982 und 1988 eingesetzt wurden.

Dieser Prozessor wurde in sehr vielen Raumfahrzeugen eingesetzt. Jede Ausschreibung der USAF für ein Computersystem zwischen 1979 und 1984 basierte auf diesem Prozessor. Erst am 31.7.1996 wurde er als veraltet für neue Projekte erklärt. Zivile Projekte die diesen Prozessor einsetzten waren unter anderem Navstar, Landsat 7, Hubble, Clementine, Cassini, Huygens, Rosetta, SOHO, Envisat, Integral, XMM, Mars Observer, Mars Global Surveyor, NEAR, Mars Express und Venus Express. Alleine BAE nennt 200 Systeme im Orbit die diesen Prozessor nutzen. An Bord von Cassini sind alleine 7 Prozessoren des Typs 1750A. Zwei in dem Bordcomputer und 5 in verschiedenen Experimenten wie z.B. der Kamera ISS.

Prozessor Hersteller max. Takt MIPS Besonderheiten Strahlungshärte
MA 31750 Dynex 25 MHz 3.5 2 Timer, Watchdog, Parity Check, Hardware 32 Bit Multiplier 300 kRAD
HX1750 Honeywell 40 MHz 3.3 2 Timer, 40 Bit FPU 100 kRAD
GVSC 1750 BAE 20 MHz 3 1000 kRAD
CPU1750A-60 CPU Technology, Inc 60 MHz 18 bis 16 MB Speicher, 4 Timer, eingebaute DMA und MMU Einheit
UT1750AR Aeroflex UMTC - - sehr strahlungstolerant 1000 kRAD

Die Tabelle zeigt, wie unterschiedlich die Leistungen von Prozessoren verschiedener Anbieter sind, da es jedem Anbieter überlassen ist, wie er den Befehlssatz implementiert und welche zusätzlichen Einheiten er in das Design mit aufnimmt. Der MA-1750A war bei den meisten Satelliten die bis 1996 in die Planung gingen, der wichtigste Prozessor und findet sich selbst heute noch in einigen Missionen, wenn diese wie Venus Express zwar neu konzipiert wurden, aber die Hardware von Rosetta benutzen, die 1993 geplant wurde.

Sonde

Taktfrequenz MIPS RAM ROM
Mars Global Surveyor / Mars Observer ? ? 128 KB 20 KB
NEAR 9 MHz ? 512 KB 256+16
Clementine ? 1.7 256 KB ?
Cassini ? ? 1024 KB 16 KB
Huygens ? ? 128 KB 16 KB
Rosetta, Mars Express, Venus Express 20 MHz 2.7 2048 KB 1024 KB
SOHO ? ? 128 KB / 144 KB 32 KB / 40 KB

Selbst einige neuere Prozessoren verstehen noch den 1750A Standard - allerdings als Emulation. Es handelt sich dann in der Regel um RISC Prozessoren die den 1750A emulieren, aber einen zweiten Befehlssatz und mehr Speicher. Damit will man eine Portierung erleichtern und diese neue Prozessoren positionieren. Dies ist vergleichbar der x86 Emulation des Itanium Prozessors.

RAD6000

RAD6000 SC ProzessorDer RAD6000 basiert wie der RCA 1802 auf einem kommerziell erhältlichen Prozessor. Dies ist eine weltraumtaugliche Version des 1993 erschienenen RS/6000SC Prozessors von IBM, dem Vorgänger des ersten Power PC 601. Er wurde erstmals 1993 von IBM angekündigt. Die weltraumtaugliche Version wurde von Lockheed Martin (heute BAE) hergestellt, nachdem IBM 1996 die Fertigungsstraße an Lockheed Martin verkaufte.

Die Taktgeschwindigkeit wurde bei den ersten Versionen auf 20 MHz gesenkt, um den Stromverbrauch und die Wärmeabgabe zu senken. Später gab es Versionen bis zu 33 MHz Takt. Der Stromverbrauch der aktuellen Version des RAD6000 beträgt nur 3.86 Watt. Dadurch ist auch keine aktive Kühlung nötig. Verglichen mit den noch vor wenigen Jahren eingesetzten Prozessoren wie dem MIL 1750A ist der RAD6000 erheblich schneller. (22 MIPS bei 20 MHz, 35 MIPS bei 33 MHz). Der Takt ist in Stufen drosselbar bis auf 2.5 MHz um Strom zu sparen wenn der Computer nichts zu tun hat.

Der RAD6000SC wurde 1996 eingeführt und hat einen CPU Kern in 0.5 Mikrometer Technologie mit 1.1 Millionen Transistoren, etwa die vierfache Zahl eines typischen 1750A Prozessors (0.3 Millionen Transistoren). Im Vergleich zu seinem Power PC Kollegen (PPC601) wurde der Cache von 32 auf 8 KByte verkleinert und die Transistorenzahl so von 2.8 auf 1.1 Millionen gesenkt. RAD6000 Prozessoren haben eine Strahlungstoleranz von mindestens 100 kRAD.

Durch die RISC Technologie ist der Prozessor für seine Taktfrequenz sehr schnell. Der Befehlssatz und die Architektur entspricht weitgehend dem Power PC 601 Prozessor von IBM/Motorola. Der Chip verfügt über einen Cache von 8 KByte und ist ein 32 Bit Prozessor mit einem Speicherbus von 64 Bit Breite. Die Speicherprüfung über ECC auf weiteren 8 Leitungen wird ebenfalls unterstützt. Der Chip wird in einem von IBM lizenzierten Verfahren hergestellt und ist pinkompatibel zu den RS 6000 SC Prozessoren von IBM.

RAD6000 BAEEr verfügt über eine Fliesskommarecheneinheit und eine Integer Recheneinheit. Beide sind unabhängig voneinander und können so gleichzeitig zwei Rechenoperationen ausführen, vor allem ermöglicht aber die Fliesskommarecheneinheit die Berechnung mit 64 Bit Fliesskommazahlen erheblich schneller durchzuführen als mit den MIL-STD 1750A Systemen.

Der RAD6000 ist seit seiner Vorstellung im Jahre 1996 sehr populär geworden. Zahlreiche Planetensonden des Discovery Programms benutzen diesen Prozessor wie Mars Pathfinder, Mars Polar Lander, Mars Climate Orbiter, Mars Exploration Rovers, Genesis, Deep Space 1, MESSENGER, Stardust. Aber auch Satelliten (SIRTF, Grafity Probe B) und militärische Satelliten nutzen diesen Prozessor. Alleine BAE nennt 77 Systeme im Orbit die diesen Prozessor nutzen.

Als Betriebsystem wird üblicherweise eine spezielle Version von VxWorks, einem Echtzeitbetriebssystem benutzt und die Software mit dem C-Compiler von Tornado in Assemblercode übersetzt. Im Vergleich zu den 1750A Computern ist auch der Speicherausbau der Computer erheblich größer. Üblich sind 3-128 MB FLASH RAM/ROM und 128-256 MByte RAM. Der Prozessor könnte theoretisch 4 GByte RAM/ROM adressieren

Sonde

Taktfrequenz MIPS RAM ROM
Mars Pathfinder 2.5-20 MHz 22 128 MB 6 MB
Mars Polar Lander 5-20 MHz 22 128 MB 18 MB
Mars Climate Orbiter 5-20 MHz 22 128 MB 18 MB
Mars Exploration Rovers 25 MHz 27 128 MB 3 + 256 MB
Genesis 20 MHz 22 128 MB 3 MB
Deep Space 1 25 MHz 27 128 MB 3 + 256 MB
Stardust 20 MHz 22 128 MB 3 MB
MESSENGER 10 und 25 MHz 11 / 27 ? ?
Phoenix 33 MHz   128 MB 64 MB

RAD750

RAD750Der Nachfolger des RAD6000 ist der RAD750. Es handelt sich um eine Adaption des Power PC 750 (Apple Bezeichnung: G3) Prozessors für den Weltraumeinsatz. Der Prozessor wird in 0.25 Mikrometer Technologie hergestellt. Gegenüber seinem Vorgänger hat sich die Transistorenzahl von 1.1 Millionen auf 10.4 Millionen erhöht. Der Prozessor ist strahlungsresistent bis 200 kRAD Gesamtdosis.

Die Performance liegt bei den derzeit (Mitte 2004) lieferbaren Exemplaren bei 133-150 MHz Takt bei 240-300 MIPS, also etwa 10 mal höher als beim RAD6000. Eine Takterhöhung auf 200 MHz ist geplant. Der RAD750 ist wie der RAD6000 ein 32 Bit Mikroprozessor. Er ist pinnkompatibel zum Power PC 750 Prozessor. Er verfügt über je 32 Integer und 32 Fliesskommaregister, einen 32 Bit Adressbus und einen 64 Bit Datenbus. Der virtuelle Speicher beträgt 252 Bytes.

Der RAD750 ist superskalar und verarbeitet bis zu 3 Instruktionen gleichzeitig. Er verfügt über 6 Funktionseinheiten, darunter zwei Festkommarecheneinheiten und eine Fliesskommarecheneinheit. Er verfügt über einen getrennten Daten und Instruktionscache von je 32 KByte Größe. Ein externer L2 Cache von maximal 1 MByte Größe kann angeschlossen werden. Der Stromverbrauch beträgt 5 W bei 133 MHz. Der Stromverbrauch ist also nur moderat angestiegen, obgleich der Chip etwa die 10 fache Performance eines RAD6000 Prozessors hat. Strom wird hier durch Software Unterstützung gespart, nicht durch Heruntertakten des Prozessors. Betriebssystem ist auch hier VxWorks.

Der RAD750 ist noch relativ neu und wurde 2001 erstmals präsentiert. Seit dem Jahre 2002 ist er verfügbar. Die ersten drei Planetensonden, die den Prozessor einsetzen sind Deep Impact, Mars Reconnaissance Orbiter und Dawn. Inzwischen sind auch im Weltraum irdische Bussysteme eingezogen und die meisten neueren Entwicklungen benutzen ein von BAE angebotenes RAD750 Computersystem auf einer PCI Karte. Dies erlaubt ein flexibles erweitern, z.B. um Interface PCI-Karten oder PCI Karten mit 1 GByte RAM die sich als Massenspeicher (Solid State Recorder) verhalten.

Basierend auf aktuellen Embedded Versionen des Power PC Prozessors gibt es auch andere vergleichbare Typen. Ende 2008 hält den Performance Rekord noch der Maxwell 750FX, der auf dem Power PC750FX von IBM beruht. Er hat einen Stromverbrauch von 5-20 Watt, wählbar durch den Takt in 200 MHz Stufen. Bei 800 MHz wird eine Peak-Performance von 1800 MIPS erreicht. Hinsichtlich des Stromverbrauchs pro Watt ist er der bislang effizienteste verfügbare Prozessor. Er markiert aber auch hinsichtlich des absolut emittierten Stroms die obere Grenze bei der es recht aufwendig wird die Wärme abzuleiten und die dafür notwendigen Heatpipes recht schwer werden.

Sonde

Taktfrequenz MIPS RAM ROM
Deep Impact 133 MHz 240 1024 MByte
Mars Reconnaissance Orbiter 133 MHz 240 128 MByte
Curiosity 200 MHz 400 256 MByte 2 GByte

TSC21020F

Bei europäischen Sonden kam man zu einem anderen Ansatz als in den USA. Anstatt nun den Hauptprozessor in der Leistung zu steigern tat man dies bei der Instrumentenelektronik, wo es vor allem um die Datenverarbeitung geht. Der TSC21020F ist eine strahlengehärtete Version des ADSP 21020 Signalprozessors. Dies ist ein 32 Bit Prozessor mit einer 40 Bit Fliesskommaeinheit. Das besondere bei diesem Prozessor ist die sehr hohe Fliesskommaperformance: Bei nur 20 MHz Takt erreicht der Prozessor 20 MIPS und 40 MFLOPs mit einer Peak Performance von 60 MFLOPs! Der TSC21020F wird in einem 0.6 Mikrometer Prozess von AMTEL gefertigt und ist für Strahlungsdosen bis 100 kRAD qualifiziert.

Der TSC21020F führt alle Instruktionen in einem Takt aus. ALU, Multiplizierer und Shift Einheit können parallel arbeiten. Fliesskommarechnungen sind mit 32 und 40 Bit Genauigkeit möglich. Die Harvard Architektur trennt den Speicher in einen getrennten Daten und Programmspeicher mit eigenen Bussystemen. Alle Befehlswörter haben eine konstante Länge von 48 Bit. Sie werden in einem 32 Befehle Cache Speicher (208 Byte) gehalten. Es gibt zwei Registersätze von je 16 Registern mit 40 Bit Breite, zwischen denen umgeschaltet werden kann.

Der Programmspeicher und Datenspeicher werden getrennt adressiert. Der Programmspeicher mit 24 Bit Adressen (max. 16 MByte), der Datenspeicher mit 32 Bit Adressen (4 GByte). Die Datenbusbreite bei dem Programmspeicher beträgt 48 Bit und die Datenbusbreite beim Datenbus 40 Bit. Für kleinere Daten werden die unteren 8 bzw. 16 Bits nicht genutzt, der Prozessor ist also ein typischer RISC Prozessor.

Der Befehlssatz umfasst bedingte Rechenoperationen, Operationen auf einzelnen Bits und 21 Festkomma und 24 Fliesskommarechenarten. Bei diesen fehlen die trigonometrischen Funktionen, dafür gibt es Maximum und Minimumfunktionen. Es gibt 5 Interrupt Levels und einen Timer auf dem Prozessor. Die Verlustleistung beträgt bei 20 MHz Taktfrequenz 13 Watt.

Dieser Prozessor ist bislang auf der Raumsonde Rosetta und dem Satelliten METEOP und ProbA. Er ist hier kein Zentralprozessor sondern verarbeitet Daten. So kann er z.B. eine 512 Punkte FFT in 0.945 ms durchführen und 2 MBit Bilddaten/sec in JPEG komprimieren. So wird dieser bei den Experimenten im Rosetta Orbiter eingesetzt, während die Raumsonde von einem behäbigen MA31750 Prozessor gesteuert wird.

Bei neueren Projekten ist der Prozessor für die Sondensteuerung (nicht Instrumente) eine Version des ERC32 Prozessors: Dies ist ein von der ESA entwickelter weltraumtauglicher Prozessor auf Basis der SPARV V8 Architektur mit zwei Timern und einem UART Interface. Es gibt diesen in 3 Taktraten von 15, 25 und 125 MHz mit einer Strahlentoleranz von bis zu 80 kRAD. Die Performance liegt zwischen 10 und 100 MIPS. Auch er wurde mit dem experimentellen Erderkundungssatelliten ProbA getestet und wird den 1750A in neueren Projekten ablösen.

Wie viel RAD braucht man?

Wie weltraumtauglich ein Satellit sein muss, hängt eng von dem Orbit ab. Am stärksten ist ein Prozessor in einem mittel hohen Orbit belastet. So ist die Belastung in einem 800 km hohen Orbit höher als im geostationären Orbit bei 36.000 km Höhe. Doch schützt die Erde immer noch durch ihre Magnetfeld, außer es gibt starke Sonnenstürme, die es verformen und zusammenpressen.

Interplanetare Raumsonden genießen diesen Schutz nicht und sind daher höheren Strahlungsbelastungen ausgesetzt. Ein Dosimeter an Bord von Mars Odyssey 2001 maß die 2-3 fache Belastung im Vergleich zur Raumstation ISS. Am größten sind die Strahlenbelastungen bei Jupiter. Die Raumsonde Galileo war ausgelegt für eine Strahlendosis von 150 kRAD. Davon nahm sie alleine 50 kRAD beim Einschuss in die Umlaufbahn auf, als sie sich bis auf 214000 km an Jupiter näherte. Beim Ende der erweiterten Mission funktionierte Galileo immer noch, obgleich nun die Strahlendosis 400 kRAD überstieg. Danach gab es mehr und mehr Ausfälle, doch konnte die Sonde auch beim Sturz in Jupiters Atmosphäre noch betrieben werden - bei einer empfangenen Gesamtdosis von 1200 kRAD!

FPGA's

Bislang musste sich die Raumfahrt kommerzieller Prozessoren bedienen. Aufgrund der Anforderungen an die Technik wie das Arbeiten im Vakuum, geringer Strombedarf und die Unempfindlichkeit gegenüber Strahlung waren spezielle Prozessoren sehr teuer (>100.000 $ pro CPU), wegen des aufwendigen Herstellungsprozesses und der Vorselektion und Tests. Trotzdem waren sie oft, nicht sehr leistungsfähig, da moderne CPU's nicht den Bedingungen im Weltraum trotzen können. Die Entwicklung hinkte in den letzten Jahren immer mehr der kommerziellen Entwicklung hinterher.

Eine Möglichkeit eine Lösung aus diesem Dilemma zu finden sind Field Programmable Gate Arrays, (FPGA). Das sind Bausteine, die anders als käufliche Prozessoren nicht durch einen Herstellungsprozess gefertigt werden, sondern bei denen die Verknüpfung der Gatter zu logischen Grundoperationen und diese wiederum zu komplexeren Einheiten, durch eine Hardwarebeschreibung festgelegt wird und diese an das FPGA übertragen wird. Entsprechende Hardware an Bord vorausgesetzt kann man die Logic des Bordcomputers noch im Flug ändern.

Der deutsche Kleinsatellit "Flying Laptop" benutzt ein FPGA von Xilinx (Vertex-II Pro)  mit 3 Millionen Gatter und einer Taktrate von 200 MHz. Das liegt zwar weit unterhalb der Integrationsdichte heutiger CPU's, doch viele Rechner die heute in anderen Satelliten eingesetzt werden haben auch keine besseren Werte. Der Nutzen liegt darin, dass man eine CPU bauen kann, die genau das tut was benötigt wird. Müssen Daten z.B. nach einem bestimmten Algorithmus vorverarbeitet oder komprimiert werden, so kann dies so direkt in Hardware erfolgen. Das ist schneller als ein Programm für einen Prozessor und die Hardware kann im Flug rekonfiguriert werden. Es wird erwartet dass diese Hardwarelösung 40-20ß0 mal schneller ist als eine Softwarelösung mit denselben Ressourcen. So ergab ein Test der Verarbeitung der Daten der Startracker Kameras, das 20000 mal pro Sekunde die Position neu bestimmt werden kann - deutlich über den 10 Bildern pro Sekunde, welche die Kamera liefert und 10-50 Iterationen bei reinen Softwarelösungen. Durch die schnelle Anbindung des Hauptspeichers mit 533 MByte/s kann ein Bild der Kamera verarbeitet und das zweite gleichzeitig ausgelesen werden.

FPGA's versprechen folgende Vorteile:

In gewisser Weise kann man ein FPGA mit den Beschleunigungsfunktionen von Chipsätzen vergleichen: Seit 2010 sind Chipsätze für Motherboards verfügbar, welche die wesentlichen Funktionen der Videodekodierung in Hardware durchführen. Damit kann ein schwachbrüstiger Atom Prozessor Full-HD Videos ohne Ruckler abspielen. Diese erzeugen normalerweise auf einem Dulacoreprozessor über 50% Last und ein Atom wäre viel zu langsam um Videos abzuspielen. Algorithmen die direkt in Hardware umgesetzt werden sind meistens viel effizienter als eine Softwarelösung. Der Unterschied ist nur bei einem FPGA, dass diese geändert werden können. So kann auch nach dem Start die Hardware aktualisiert werden, z.b. neue Kompressionsalgorithmen implementiert werden die es beim Start noch nicht gab.

Neben den FPGA's befinden sich auf einer Standard Euro PCB Platine noch ein PROM mit der Startkonfiguration der FPGA's (um diese rücksetzen zu können), einem programmierbaren EEPROM für die Zwischenspeicherung der Konfiguration. 4 MByte schnelles RAM für die Datenverarbeitung und 2 x 128 MByte DDR RAM als Arbeitsspeicher und 1 GByte Flash Speicher als Massenspeicher pro FPGA. Davon hat der Bordrechner 4 Stück an Bord. Laufen sollen je nach Anforderungen 1-4 Systeme gelichzeitig. Die Ausstattung ist so reichhaltig, dass das IRS anbietet mit "Rent-A-SAT" auf einem FPGA die Software eines anderen Prozessors oder die Konfiguration eines Bordrechners zu emulieren und so im Weltraumeinsatz zu testen!

Vergleiche der Rechengeschwindigkeit zu kommerziellen Prozessoren

Raumfahrttauglicher Prozessor Geschwindigkeit kommerzieller Prozessor Geschwindigkeit
RCA 1802 1.6-3.2 MHz 0.1-0.2 MIPS Z80,8080 2.5 MHz 0.25 MIPS
MIL-STD 1750A 20-40 MHz 1.7-3.5 MIPS 80286 6 MHz 1.6 MIPS
80386 16 MHz 5.0 MIPS
RAD6000 20-33 MHz 22-34.5 MIPS 80486, 50 MHz 22 MIPS
TSC21020F 20 MHz 20 MIPS, 40 MFLOPs Pentium 66 MHz 100 MIPS, 50 MFLOPs
RAD750 133-150 MHz 240-300 MIPS Pentium II 266 MHz 440 MIPS

Das ganze ist natürlich nur als grobe Orientierungshilfe zu verstehen, die Geschwindigkeit eines Programms hängt vor allem davon ab, wie gut dies den Prozessor ausnutzt.

Massenspeicher

Seit Beginn der Raumfahrt wurden Magnetbänder als Datenspeicher eingesetzt. Schon Explorer 1 hatte ein Magnetband an Bord. Lange Zeit dominierten analoge Techniken. Die Daten wurden also wie Töne auf einem Magnetband gespeichert und erst beim Senden digitalisiert. Die ersten Mariner Sonden bis einschließlich Mariner 6+7 verwandten nur analoge Magnetbänder.

Mariner 9 verwandte erstmals digitale Magnetbänder. Typische Kapazitäten in den siebziger Jahren waren 180-640 MBit. Magnetbänder wurden bis in die neunziger Jahre eingesetzt, Die letzte Raumsonde mit Magnetbandlaufwerken war der 1992 gestartete Mars Observer. Magnetbandlaufwerke haben zwei Probleme. Zum einen wird das Band bei jedem Spulen und Bewegen mechanisch beansprucht. So viel es bei der Galileo Mission zweimal aus. Die Mission der meisten Satelliten der OSO Serie - die nur einmal pro Orbit kurz im Empfangsbereich einer Bodenstation waren und daher das Magnetband dauernd einsetzten - wurde durch die Bandlaufwerke begrenzt. Wenn sie nach einigen Tausend Spulvorgängen defekt warn, war der Satellit weitgehend nutzlos. Daran änderte die Verdoppelung auf 2 Laufwerke nichts. Es verlängerte nur die Frist um einige Monate. Zum anderen ist kein schneller Zugriff auf die Informationen möglich, sondern man muss an die entsprechende Stelle spulen, was bis zu mehreren Minuten dauern kann.

Inzwischen hatte man als neue Technik Speicherbausteine entdeckt. Flash RAM wie sie auch in Speicherkarten oder USB Speichersticks stecken werden zu großen RAM Bänken kombiniert und eine Logik suggeriert dem Bordcomputer einen Massenspeicher. In Europa setzt man mehr auf normale RAM Chips die genauso gebündelt werden, da man damit größere Speicher aufbauen kann und die Schreibgeschwindigkeit höher ist. Heute kann man mit diesen Techniken Speicherbänke von bis zu 64 GBit Größe herstellen.

Eine oft gefragte Frage ist, warum keine Festplatten eingesetzt wird. Eine Festplatte funktioniert in der Schwerelosigkeit genauso wie am Boden. Eine Mechanik drückt einen Schreib/Lesekopf auf die Oberfläche. Durch den Bernoulli Effekt der rotierenden Platte schwebt er über der Oberfläche. Dies ist unabhängig von der Schwerkraft. dies kann man auch erkennen, dass man Festplatten in manchen Rechnern senkrecht eingebaut sind.

So nahmen Astronauten schon Thinkpads von IBM mit 20 GB Platten mit zur ISS. Problematisch ist aber die Versiegelung der Platte. Je nach Bauart ist die Platte entweder luftdicht schlossen oder sitzt hinter einer Öffnung ein Staubfilter. Die erste Konstruktion würde auch im Vakuum funktionieren, wenn die Versiegelung gut genug ist. Die zweite Konstruktion schützt zwar vor Staub, der bei den geringen Abständen des Lesekopfes von der Platte einen Headcrash verursachen würde, doch erzeugt einen Druckausgleich und ist im Vakuum daher nicht zu gebrauchen.

Das Problematische sind Einschläge von Mikrometeoriten. Selbst wenn diese nicht die Platte beschädigen reicht ein kleines Loch im Gehäuse doch aus, damit die Platte ihre Luftfüllung verliert und es kommt zum Headcrash. Bei bemannten Missionen mit dicker Abschirmung und Druckkabinen ist dies kein Problem, in einem unbemannten Raumfahrzeug dagegen ein beträchtliches Sicherheitsrisiko.

Für Langzeitmissionen kommt noch dazu dass erst seit Mitte der neunziger Jahre Platten eine MTBF von mehreren Jahren Dauerbetrieb erreicht haben, zu einer Zeit als man schon RAM Bänke als Massenspeicher einsetzte.



© 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 Bücher vom Autor Top 99