Galileos CDS – Teil 1

Loading

Hallöchen, es wird Zeit das ich mich mal wieder melde. Es gab zwei Gründe, warum ich mich so rar gemacht habe. Das eine ist das es gerade nicht so viel aktuelles gibt, außer einem Update zu Artemis, zu dem ich vielleicht noch etwas schreibe. Während Trump das ganze Programm nach Aremis 4 einstellen will träumt Jaredmann von einer Mondbasis. Woher das Geld aber kommen soll ist offen. Das Lunar Gateweay ist dagegen Geschichte.

Der Hauptgrund ist aber das ich an meinen Büchern gearbeitet habe. Ich habe inzwischen das Buch über die Thor Delta (offizieller Titel: US-Trägerraketen 3 Thor und Delta) abgeschlossen, also was den Text angeht, es kommen noch Diagramme hinein und an den Seitenumbrüchen muss ich auch noch was ändern, die verschieben sich immer wieder, eine Libreoffice-Eigenheit, mit der ich bei jedem Buch zu kämpfen habe. Es ist derzeit zur Korrektur bei Mario. Wenn es erscheint rechnet mal mit 480+ Seiten und einem Preis von 39 Euro. Es wird dafür nur in Schwarz-Weiß sein. Bei den ersten beiden Bänden hatte ich auch Farbabbildungen, aber da gab es auch viel weniger Subtypen die sich im Aussehen unterscheiden, aber vielleicht werde ich einige Abbildungen doch farbig machen, das steht noch nicht ganz fest.

Inzwischen habe ich auch mit dem nächsten Buch begonnen. Es ist über die Raumsonde Galileo und ihre Mission. Ich denke das wird schneller gehen als beim letzten Buch für sas ich über vier Monate brauchte. Es gibt nicht so viel zu schreiben als wie über 30+ Thor-Delta Varianten und wie ich beim Recherchieren bisher feststellte, gibt es auch nicht viel mehr an Infos. Was mich am meisten erstaunte ist das der Teil den ich im Web stiefmüttlerich behandelt habe – die Mission bei Jupiter – auch bei der NASA keine große Rolle spielt, offensichtlich hat man die Mission abgeschrieben als klar war das sie nur wenige Daten liefern kann. Galileo ist die erste Mission die hauptsächlich schon im Internet-Zeitalter stattfand und über die es daher viel Informationen online geben müsste, aber das ist nicht der Fall. Ich finde viel mehr archivierte Reporte aus den Siebzigern und Achzigern als aus den Neunzigern.

Wie öfters wenn ich an einem Buch arbeite nutze ich die Gelegenheit interessante Themen für den Blog aus der laufenden Recherche zu extrahieren. In diesem Falle geht es um das Hauptcomputersystem von Galileo, das CDS und dem dort verbauten Prozessor RCA 1802 COSMAC. Mit ihm habe ich die Recherche angefangen, weil ich mich auch für Computer interessiere und da ein 8 Bit Prozessor verwendet wird, und ich in den Achtzigern einen Z80 in Assembler programmiert habe kann ich da mitreden. Der Artikel ist aber zu lang für einen Blog, ich habe ihn daher in drei Teile geteilt. Heute lest ihr Teil 1, morgen und übermorgen kommen dann Teil 2 und drei. Da habt ihr erst mal was zu verdauen und wer weiß vielleicht steht ja dann auch der artemis II Start oder gar der Jungfernflug des Starships V3 an – das ist nach drei Jahren Testflügen ja noch nicht einsatzbereit.

Computer

Galileo wurde von einem Autor einmal als das „fliegende Rechenzentrum“ beschrieben. Der Grund liegt in der enormen Anzahl an Mikroprozessoren (22 Stück) die zusammen arbeiten müssen. Schon Voyager hatte drei Bordcomputer die jeweils redundant ausgelegt waren. Einen für die Lageregelung und räumliche Ausrichtung  (AACS), einen für die Raumsondensteuerung (CCS) und einen für die Datenverarbeitung der Experimente (FDS). Galileo hat wie Magellan und Cassini nur die ersten beiden Systeme. Die Datenverarbeitung für die Experimente übernahmen erstmals zum größten Teil kleine Computer direkt bei den Instrumenten, die auf dem RCA 1802 basierten. Dies war eine Neuerung von Galileo. Vorher waren die Instrumente „dumm“, d.h. der Hauptcomputer musste sie steuern und ihre Daten abholen. Galileos Experimente hatten zumindest eine bescheidene Intelligenz, die dazu ausreichte die Experimente zu steuern. Dies war die Geburt der heute üblichen DPU (Data Processing Units) von Instrumenten. Heutige DPU leisten erheblich mehr und speichern die Daten ab, bis sie der Bordcomputer abholt und bereiten Sie auf, indem sie diese komprimieren oder eine Fourier Transformation durchführen. Viele DPU sind leistungsfähiger oder haben mehr Speicher als der Hauptcomputer selbst.

Auch wenn die Hardware differierte, diente das Computersystem von Voyager als Vorlage. Wie bei diesem gab es nicht einen Bordcomputer, sondern mehrere die jeweils unterschiedliche Aufgaben hatten und sie waren jeweils redundant vorhanden.

Es gab seitens der NASA Druck auf das JPL für Galileo den National Standard Spacecraft Computer (NSSC-1) zu verwenden, sowohl im CDS wie auch im AACS. Dieser Rechner wurde 1974 entwickelt und sollte ein Standardrechner für Satelliten und Raumsonden werden. Er wurde auch in der Solar Maximum Mission, dem Hubble Weltraumteleskop, dem Extreme Ultraviolett Explorer und in Landsat 4 und 5 eingesetzt. Der NSSC-1 war ein 18 Bit Computer, der anfangs aus direkten Transistoren bestand, die 1700 NOR-Gatter bildeten, später aus 69 TTL-Bausteinen von Harris aufgebaut war. Er konnte 64 KWorte adressieren, das sind 144 KByte, die aus Ringkernspeichern bestanden. Es gab für den NSSC-1 einen Emulator auf einem Xerox-Rechner und eine Softwareentwicklungsumgebung die auf einer PDP 11/70 lief. Es sprach also viel für seinen Einsatz. Für das CDS fiel aus Kostengründen die Wahl auf kommerziell vorhandene Bauteile, für das AACS schied der NSSC-1 aus, weil er keinerlei Fließkommafähigkeiten hatte. Das beim CDS umgesetzte Konzept des Unified Data Systems (UDS) wurde in den Siebziger Jahren bei der NASA entwickelt. Die ersten Impulse gab es durch die Entwicklung für die TOPS-Sonden, die Vorläufer von Voyager. Sie sollten mindestens 10 Jahre lang funktionieren und benötigten einen Computer, der für die damalige Zeit enorm zuverlässig war. Die Verteilung der Funktionen auf viele Subcomputer war eine Lösung die verfolgt wurden. Der Aufbau des Computersystems von Voyager aus drei Rechnern die redundant vorhanden waren, zusammen also sechs Rechner, lieferte neue Impulse, vor allem weil es funktionierte. Das UDS war eine Möglichkeit die Langsamkeit der verfügbaren kommerziellen Prozessoren durch den Einsatz viele Prozessoren zu umgehen.

Command and Data Subsystem (CDS)

Das Herz des Galileo Orbiters 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 Fehlerabfangroutinen, 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. Es fragt die Experimente ab und formatiert die Daten für das Senden zu der Bodenstation. Bei Galileo entschied man sich erstmals für eine Raumsonde einen kommerziell erhältlichen Mikroprozessor zu verwenden. Die Voyager und Vikings hatten CPU die aus einigen Hundert Bausteinen in niedriger bis mittlere Integrationsdichte bestanden (10 bis 100 Transistorfunktionen pro Chip). Es waren Einzelanfertigungen mit einem eigenen Design. Lediglich bei bemannten Missionen, wo das Gewicht nicht eine so große Rolle spielte und die Hülle des Raumschiffs die Strahlenbelastung absenkte, wurden schon Derivate von kommerziellen Systeme eingesetzt: Skylab und das Space Shuttle nutzten beide angepasste Versionen des IBM System 360. Allerdings bestanden auch hier die CPU aus vielen Chips.

Allerdings fand die Auswahl der Hardware für Galileo 1977 statt und damals gab es nicht nur wesentlich weniger Prozessoren auf dem Markt, auch ihre Leistung war bescheidener als heute. Die verfügbaren Prozessoren waren, wenn sie mindestens 8 Bit verarbeiteten, der Intel 8080, erschienen 1974, der Motorola 6800, ebenfalls erschienen 1974, der 6502, erschienen 1975 als vereinfachter Klon des 6800, der Z80, erschienen 1976, als ein Klon des 8080, aber mit noch mehr Befehlen und Registern und der TMS 9900, ein einfacher 16-Bit-Prozessor, erschienen 1976. Dazu kamen noch der IMP-16 und IMP-8 von National Semiconductors, erschienen 1973/1974, die aber Multichip-Prozessoren waren und zudem relativ langsam.

Das JPL stellte fest, dass es unter allen Prozessoren auf dem Markt nur einen gab, der für Galileo geeignet war. Es war der 1974 erschiene 8-Bit-Prozessor RCA 1802. Er wurde selten eingesetzt, es gab ein Videospiel, dass ihn nutzte, sowie Computerkits wie das COSMAC, um Assembler zu lernen. Es gab drei Gründe weshalb der RCA 1802 genommen wurde:

Es war der erste Prozessor in CMOS-Technologie. Bei CMOS sind ein Transistor in PMOS und einer in NMOS Technologie so verschaltet das sie eine Einheit bilden. Für irdische Anwendungen ist vor allem wichtig, das CMOS eine stromsparende Technologie ist: die Transistoren verbrauchen nur Energie, wenn sie schalten. Da niemals der ganze Prozessor aktiv ist und auch die Speicherbausteine nicht dauernd Daten liefern, ist dies auch bei Galileo von Vorteil, denn die RTG waren eine sehr teure Stromquelle. Der RCA 1802 verbrauchte im Mittel nur 30 Milliwatt. Wichtiger war, dass der RCA 1802 wie andere CMOS Bausteine toleranter gegenüber Überspannungen war. Er konnte mit 5 Volt arbeiten, vertrug aber auch eine Spannung von 10 Volt, bei der jeder NMOS Prozessor bleibenden Schaden genommen hätte. Die Strahlenbelastung bei Jupiter drückt sich auch darin aus, das Leitungen geladene Teilchen aufsammeln und es so eine Spannungsspitze geben kann. Der Nachteil von CMOS ist das zwei Transistoren für ein Schaltelement in zwei Technologen viel mehr Platz brauchen. CMOS-RAMs zum Beispiel hatten nur ein Viertel der Kapazität von NMOS-RAM und waren teurer. Die Zahl der Schaltelemente beim RCA 1802 war daher deutlich geringer als bei seinen Konkurrenten und er hatte so weniger leistungsfähige Befehle.

Morgen gehts dann weiter ….

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre, wie deine Kommentardaten verarbeitet werden.