Apollo Guidance Computer - Architektur und Systemsoftware. Teil 1

Link zu Teil 2

In dieser Veröffentlichung werden die Grundlagen der Architektur, der Hardwarestruktur und der Struktur der Systemsoftware der Bordcomputermissionen Apollo - AGC (Apollo Guidance Computer) betrachtet. Für diejenigen, die das Thema im Detail studieren möchten, empfehle ich das Buch [ 1 ] und andere Materialien, deren Links am Ende des Artikels angegeben sind.

Apollo-Führungscomputer





Im Apollo-Programm wurde dieser Computer in zwei Raumfahrzeugen verwendet: im Befehlsmodul und im Mondmodul. In beiden Fällen wurde es zur Kühlung mit einem zirkulierenden Wasser-Glykol-Gemisch auf eine „Kühlplatte“ montiert.


Wasserblock mit Kühlmittelrohren

Eine interessante Tatsache: Der vollständige Name des im Apollo-Programm verwendeten Computers lautet AGC-4, da es frühere Designs gab. Sein Vorgänger AGC-3 wurde auf Ferrittransistorzellen aufgebaut.


Blockdiagramm eines Navigationssystems

Verwendete Abkürzungen:

Optisches AOT - Ausrichtungs-Teleskop
LR - Landeradar
RR - Rendezvous Radar
CDU - Kopplungsdateneinheit
DSKY - (AGC) Display und Tastatur
LGC - LM Guidance Computer (oder AGC)
PTA - Impulsdrehmomentanordnung
IMU - Inertial Measurement Unit
PSA - Power Servo Assembly
OSS - Optisches Subsystem
ISS - Inertial Subsystem
RS - Radar Subsystem
Technische Eigenschaften

Spezifikation


Wortlänge: 16 Bit (14 Bit + Vorzeichen + Parität)
Speicher: ROM (Seilkern) 36K Wörter; RAM (Kern) 2K Wörter
Speicherzugriffszyklus (ROM und RAM) - 11,72 μs
E / A-Geräte: DSKY (zwei Geräte im Schiff)
Geschwindigkeit: Additionszeit - 20 μs
Taktfrequenz: 2,048 MHz
Technologie: bipolare RTL, planare Gehäuse
Abmessungen: AGC - 61 cm x 32 cm x 15 cm (24 "x 12,5" x 6 "(HWD)); DSKY - 20 cm x 20 cm x 18 cm (8" x 8 "x 7" (HWD))
Gewicht: AGC - 32 kg; DSKY - 8 kg
Versorgungsspannung 28 V.
Verbrauch: Betriebsart: 70 W @ 28VDC; Standby 15.0 W.
Anzahl der hergestellten Geräte: AGC: 75; DSKY: 138
Kosten: Unbekannt. Im Jahr 2009 wurde DSKY für 50.788 USD versteigert.

Der Computer war vollständig hermetisch abgedichtet und enthielt keine wartungsbedürftigen Teile. Trotzdem befürchteten die Ingenieure, dass die neuen digitalen Mikroschaltungen im Weltraum ausfallen könnten, sodass in den frühen Versionen die Möglichkeit bestand, die Blöcke auszutauschen. In späteren Versionen, in denen alle von der Zuverlässigkeit des Computers überzeugt waren, wurde das Erfordernis der Wartbarkeit von der Arbeitserklärung ausgeschlossen.


Abbildung AGC aus der technischen Dokumentation


AGC geöffnet

Das AGC-Gehäuse besteht aus zwei Hälften mit installierten Modulen. Die Gehäusehälften haben Anschlüsse, die Stromkreise miteinander verbinden. In der Mitte der rechten Gehäusehälfte befinden sich die RAM-Module, die nicht auf dem Foto zu sehen sind. Sie werden unten diskutiert.

Grundlagen der Schaltung




Der Computer ist vollständig auf Mikroschaltungen aufgebaut, die zwei NOR-3-Elemente enthalten (Alarmtyp ODER-NICHT) und mithilfe der Widerstandstransistortechnologie hergestellt werden. Das Schaltbild ist in der obigen Abbildung dargestellt. Das Funktionsprinzip eines solchen Elements ist einfach: Wenn Pin 5 mit 0 verbunden ist und Pin 10 mit dem Plus-Plus verbunden ist, werden die Transistoren 1-3 (von links nach rechts gezählt) geschlossen und Ausgang 1 wird geschlossen, wenn an den Eingängen 2-4 Nullen vorhanden sind das Protokoll. 1 seit Es wird von einem Widerstand zum Plus angezogen. Wenn mindestens ein Eingang 1 angelegt ist, öffnet der entsprechende Transistor und zieht Ausgang 1 auf Null.

Es ist leicht zu erkennen, dass beim Verbinden von zwei oder mehr Ausgängen dieser Elemente eine UND-Funktion generiert wird. In diesem Fall reicht es aus, die Stromversorgung (Klemme 10) nur an ein Element angeschlossen zu lassen. Manchmal bleibt die Leistung jedoch mit allen Elementen verbunden, die über die Ausgänge verbunden sind. Auf diese Weise können Sie die Tragfähigkeit des Ausgangs erhöhen.



Ein Element mit nicht angeschlossener Leistung ist in einem Diagramm mit einem schattierten Ende dargestellt (siehe Abb.).

Die erste Version des Computers enthielt 4100 Mikroschaltungen, jeweils ein Element ODER-NICHT, in der zweiten Version, die im Flug verwendet wurde, gab es 2800 Mikroschaltungen, zwei Elemente ODER-NICHT im Fall.



Die Erinnerung


Der AGC-Speicher besteht aus 2K-Wörtern RAM und 36K-Wörtern ROM. Für das Adressfeld werden nur 12 Bits zugewiesen, wodurch 4Kwords adressiert werden können, und der Speicher ist in Bänke unterteilt. Zum Wechseln der Bank wird ein spezielles 4-Bit-Register verwendet, das zu einer 16-Bit-Adresse führt, mit der 64 KByte adressiert werden können.

Speicherbänke werden im Abschnitt Systemsoftware ausführlicher erläutert.

ROM


Das ROM des Computers wird mithilfe der Technologie des Seilspeichers erstellt (siehe Foto unten).



Aussehen des Seilspeichermoduls:



Das Funktionsprinzip des „Seilspeichers“ ist in der folgenden Abbildung dargestellt:



Leider wurde die Dokumentation für die Core Rope Memory-Blöcke nicht beibehalten, aber Enthusiasten konnten die Schnittstelle herausfinden, den Block an den Computer anschließen, den Inhalt lesen und ihn dann auf dem Simulator ausführen.

Das Gesamtvolumen des AGC-ROM beträgt 36.864 Wörter mit 16 Bit. AGC hat 6 ROM-Blöcke mit jeweils 6 Kiloslovol (d. H. Ungefähr 12 kb). Bis zu 192 Drähte, die Daten codieren, werden durch jeden Kern geleitet (oder nicht geleitet) Jeder Kern codiert 192 Bit.

Die Firmware jeder ROM-Einheit dauerte 8 Wochen und kostete 15.000 US-Dollar. All dies wurde manuell durchgeführt.

RAM


AGC RAM hat eine Kapazität von 2048 16-Bit-Wörtern. Computer-RAM wird wie die meisten Computer dieser Zeit auf Magnetkernen erstellt.


RAM-Modul im Computer installiert.

Es ist ersichtlich, dass das RAM-Modul die Breite von zwei gewöhnlichen Logikmodulen einnimmt. RAM besteht aus "Ebenen", von denen jede einem Bit im Datenwort entspricht, Gesamtebenen 16. Jede Ebene repräsentiert ein Gitter von 64 x 32 Ringen, insgesamt 2048 Ringe. Durch jeden Ring verlaufen vier Leiter: die X- und Y-Koordinatenlinien, die Leselinie und die Sperrlinie. Die Linien X und Y verlaufen jeweils vertikal und horizontal, die Leselinie verläuft in diagonalen Richtungen durch alle Ringe derselben Ebene, und die Linie des Schreibverbots verläuft auch vertikal durch alle Ringe der Ebene.

Das Flugzeug wurde auch als "Matte" (Matte) bezeichnet. Die folgende Abbildung zeigt eine Ebene mit einer Größe von 64 x 32 Ringen.


Linienlayout lesen


Schnitt-RAM-Modul


RAM-Modul. Röntgen


RAM-Modul öffnen


RAM-Modul-Baugruppe

DSKY




DSKY steht für Display and Keyboard Unit, ein Display- und Tastaturmodul, und soll die Interaktion zwischen AGC und Crew ermöglichen.




DSKY zerlegt

Im Wesentlichen ist DSKY nur ein einfaches Terminal für AGC. Es basiert auf Relais, die Segmente der Lumineszenzanzeige, die von einer Spannung von 250 VAC mit einer Frequenz von 800 Hz gespeist werden, und auf Transistoren schalten. In späteren Versionen von DSKY wurden elektromechanische Relais durch Thyristoren ersetzt, da sie eine erhebliche Verzögerung bei der Anzeige von Informationen verursachten.


DSKY-Blockdiagramm


DSKY-Funktionsdiagramm



Die Abbildung zeigt den Anschlussplan des Displays. Verwendete polarisierte Relais mit zwei Wicklungen, die sich an ihren Status erinnern. Der an eine Wicklung angelegte Impuls schaltet die Anzeige ein, die andere schaltet sie aus. Relaiswicklungen sind in der Matrix enthalten.

Die AGC liefert eine 15-Bit-Nummer an den Ausgangskanal 010 (Oktalkanalnummer). Die Bits 12-15 werden einem Decoder mit 12 Ausgängen einschließlich Matrixzeilen zugeführt.

Das Gerät verfügt außerdem über separate Anzeigen zur Anzeige der Signale PROG, TRACKER, GIMBAL LOCK und NO ATT sowie anderer Signale.

Informationen werden über die Tastatur eingegeben. Jede Taste wird mit Lichtern mit einer Spannung von 115 VAC und einer Frequenz von 400 Hz beleuchtet. Wenn jede Taste außer PRO gedrückt wird, wird ein 5-Bit-Code generiert. Der Code wird an den Computerport gesendet und ein Interrupt generiert, durch den der Code gelesen wird. Wenn die Taste losgelassen wird, wird ein spezielles Rücksetzsignal erzeugt. Mit der STBY-Taste wird der Computer in den Standby-Modus und bei erneutem Drücken wieder in den Betriebsmodus versetzt.

Die Tastatur verfügt über 10 Zifferntasten und 9 zusätzliche Tasten: VERB, NOUN, CLR, PRO, KEY REL, ENTR, RESET, + und -.



Die Tasten enthalten Schaltkontakte, die so eingeschaltet sind, dass die gleichzeitige Erzeugung von zwei Codes ausgeschlossen ist (siehe Abbildung unten). Die Schlüsselcodes geben den AGC-Eingangsport ein.



Eine Spannung von + 28V wird an die Tastenschaltung angeschlossen. Herstellen einer Verbindung zu einem Computer wie folgt:



Der Einlassfilter schützt das System vor Kontaktsprüngen und versehentlichen Störungen.


DSKY Rückansicht

Das Standardverfahren für die Eingabe eines Befehls in DSKY ist die folgende: VERB-DIGIT-DIGIT, NOUN-DIGIT-DIGIT und ENTR. Dies spiegelt die Ideologie der Benutzerinteraktion mit AGC wider: Das Verb (VERB) wird eingegeben und die auszuführende Aktionsnummer sowie das Substantiv (NOUN), das ebenfalls durch die Nummer codiert ist und das Objekt angibt, an das die Aktion gerichtet ist. Die Liste der Verb- und Nomencodes ist in den Anweisungen der Astronauten enthalten.

Durch Drücken der VERB-Taste auf der Tastatur wird die VERB-Anzeige gelöscht. Dann führt der Astronaut zwei Zahlen ein, die als die Nummer des Verbs interpretiert werden. Dann wird dasselbe mit dem Substantiv (NOUN) gemacht. Bis die ENTR-Taste gedrückt wird, können die Codes durch Wiederholen des Eintrags NOUN oder VERB korrigiert werden. Nach dem Drücken von ENTR blinken die Zahlen auf den Anzeigen VERB und NOUN alle 1,5 Sekunden. Dies bedeutet, dass der Bediener Daten eingeben muss, die von der Operation abhängen. Danach beginnt die Operation.


In DSKY

Daten können in Oktal und Dezimal eingegeben werden. Der Computer glaubt, dass die Daten in oktaler Form vorliegen, wenn das Zeichen "+" oder "-" nicht eingegeben wird. Wenn Sie bei der Eingabe einer Oktalzahl die Tasten 8 oder 9 drücken, blinkt die Anzeige OPR ERR. Wenn die Tasten "+" oder "-" gedrückt werden, erscheint das entsprechende Zeichen auf dem Display, was bedeutet, dass der Computer bereit ist, eine Dezimalzahl zu empfangen. Wenn der Bediener einen Fehler macht, kann er die CLR-Taste drücken und die Eingabe wiederholen. Durch Drücken von ENTR wird die Eingabe abgeschlossen. Verwenden Sie die RSET-Taste, um das OPR-ERR-Signal zurückzusetzen und zum Eingangsmodus zurückzukehren.

Mit der RSET-Taste werden alle Warnsignale stummgeschaltet: TEMP, GIMBAL LOCK, PROG, RESTART und TRACKER. Dies kann nützlich sein, um herauszufinden, ob das Warnsignal kurzfristig war oder ob der Fehler, der es verursacht hat, vorhanden war.


In DSKY

Der Decoder enthält vier Relaisleitungstreiber und ein Diodenarray sowie Erregerschlüssel für die Zeilen der Relaismatrix. Die Bits 12-15 wählen eine der Zeilen der Relaismatrix aus.


Relaismatrixdecoder

Betrachten wir, wie Zeile 1 eingeschaltet ist. Der Code 0001 entspricht dieser. Er wird über die A25-Schnittstelle und den J9-Anschluss am DSKY-Gehäuse und an der CE225-Leitung - CE228 - geliefert. Die Signale sind invertiert, d.h. CE226 - CE228 akzeptieren den Wert des Protokolls. 1 und CE225 ist das Protokoll. Die Logik 1 am Eingang schließt den Transistor Q1, der Transistor Q2 ist ebenfalls geschlossen und der Transistor Q3 ist offen. Somit ist für die Ausgaben der X-Leitungen von CE226-CE228 und für die Ausgabe der Y-Leitungen von CE225 der Zustand ein Protokoll. 1. Die Diodenmatrix verfügt über 8 Eingänge, die mit den direkten und inversen Ausgängen von Transistorschaltern verbunden sind (Ausgänge X und Y in der Abbildung). In unserem Fall müssen die Dioden CR53 der Module D2, D3 und D4 sowie die Diode CR63 des Moduls D5 in die entgegengesetzte Richtung vorgespannt sein. Wenn diese Dioden geschlossen sind, schaltet sich der CKT004-Block ein und erregt Zeile 1, während die Spannung + 28 V durch die Schaltung Q1 (CKT011), R8, CR44, R9 (CKT004) fließt und die Transistoren Q4, Q5 (CKT004) öffnet. Wenn die Transistoren öffnen, verbinden sie die erste Relaisreihe mit Null, was bedeutet, dass die Reihe ausgewählt ist.

Die untere Diodenreihe im Diodenarray (CR54 in D2-D5-Modulen) wird verwendet, um das Vorhandensein eines Protokolls zu erkennen. 0 in den Bits 12-15 von Kanal 10. Wenn mindestens eine Null vorhanden ist, ist mindestens eine der Dioden offen und die Spannung 0VDC wird der Spannungsquelle der Zeilenabruftreiber zugeführt. Wenn alle vier Bits 0 sind, werden alle vier Dioden geschlossen und eine Spannung von +28 VDC an den Eingang des Leistungstreibers angelegt. Der Transistor Q2 öffnet und der Transistor Q3 schließt. Der Transistor Q1 ist geschlossen und der Treiberausgang ist ein offener Stromkreis, und den Leitungstreibern wird keine Spannung zugeführt.


DSKY Unteransicht

Zur Steuerung der Status- und Fehleranzeigen wird die Relaismatrix im Anzeigetreibermodul verwendet (Abb.). Zusätzlich zum Relais enthält es 6 identische Transistortreiber (D1-D6).


DSKY-Anzeigetreibermodul

Die Relaismatrix ist in der folgenden Abbildung dargestellt:


Relaismatrix

Jeder Relaistreiber empfängt von Bit 1-11 von Kanal 10. Betrachten Sie Bit 11 (Schaltung 006 in Modul D6). Wenn Bit 1 von Kanal 10 auf Protokoll gesetzt ist. In 1 wird es in die A25-Schnittstellenschaltung zum Stecker J9 in der CE224-Schaltung invertiert. Dies öffnet den Transistor Q8, der den Transistor Q9 schließt. An Klemme 10 der Relaissäule liegt eine Spannung von 28 V an, einschließlich der Zeichen "+" und "-" auf dem Display. Die Zeile wird von der Diodenmatrix ausgewählt. Durch Auswahl einer Zeile und Spalte kann der Computer jedes einzelne Relais in der Matrix schalten.

Matrixrelais steuern DSKY-Anzeigen. Zeile 12 steuert Statusanzeigen und Alarme.


Relais-Matrix-Codes

Die obige Tabelle zeigt die Entsprechung zwischen dem Inhalt von Kanal 10 und der vom entsprechenden Relais gesteuerten Anzeigeziffer. Fünf Relais steuern eine Ziffer. Die Bits 6-10 werden verwendet, um die erste Ziffer zu steuern, die Bits 1-5 steuern die zweite Ziffer, Bit 11 steuert das Vorzeichen ("+" oder "-"). Die Zifferncodes sind in der Tabelle angegeben:


Zifferncodes

Protokoll 1 entspricht einem Einschaltrelais.



Die obige Tabelle zeigt die Entsprechung von Codes und angegebenen Ziffern.

Das Anschlussschema der Anzeigen zum Relais ist in der folgenden Abbildung dargestellt.


Diagramm einer Relaismatrix von Indikatoren

Status- und Alarmkreise bestehen aus Treibern und unpolarisierten Relais.


Status- und Alarmschaltungen

Zum Beispiel, wenn sich das Signal ISS WARNING im Protokoll befindet. 0 öffnet es den Transistor Q13 und liefert + 28V an das Relais K21. Das Relais K21 schaltet sich ein und leitet das Eingangssignal ALARM COMMON als ISS WARNING-Signal an das Display und an den PGNCS-Bereich weiter.


DSKY-Kabel für Computer und Bordsysteme

Die DSKY-Einheit wird vom Computer mit 28 V und 14 V DC versorgt, und ein Synchronisationssignal von 800 Hz wird verwendet, um eine Spannung von 250 VAC mit einer Frequenz von 400 Hz zur Stromversorgung des Displays zu erzeugen.


DSKY-Stromversorgungsdiagramm

Die Stromquelle besteht aus drei Gegentakttransistorstufen, die durch Transformatoren isoliert sind. Dem Eingang wird ein Rechtecksignal mit einer Spannung von ca. 14V und einer Frequenz von 800 Hz zugeführt. Der Spannungspegel kann über das Bedienfeld des Raumfahrzeugs gesteuert werden und dient zur Einstellung der Helligkeit der Anzeigen. Die Transformatoren T1 und T2 erhöhen die Spannung, am Ausgang befindet sich eine Drossel mit der Sättigung L2. Der Induktor wird benötigt, um die Spannung an den Anzeigen zu stabilisieren. Die Indikatoren sind eine kapazitive Last, der Wert der Kapazität hängt von der Anzahl der eingeschalteten Indikatoren ab. Änderungen der Last bewirken eine Änderung der Spannung in der Rückkopplungsschaltung, die über den Brückengleichrichter der Steuerwicklung L2 zugeführt wird. Wenn mehr Anzeigen eingeschaltet werden, steigt die Spannung an der Steuerwicklung an, der Kern beginnt gesättigt zu werden, wenn die Anzahl der eingeschalteten Anzeigen abnimmt, die Spannung an der Steuerwicklung abnimmt, der Kern nicht mehr gesättigt ist und die Ausgangsspannung konstant bleibt.


Eine frühe Version von DSKY. Diese Option wurde im Flug nicht verwendet.

Literatur und Referenzen:



1. Der Apollo Guidance Computer: Architektur und Betrieb. Frank O'Brien, Springer Praxis Books, 2010

2. Das Konzept der AGC

3. http://www.righto.com/ Blog mit einer Reihe von Artikeln über AGC

4. https://hackaday.com/2016/09/02/decoding-rediscovered-rope-memory-from-the-apollo-guidance-computer/ - Decodieren des wiederentdeckten Seilspeichers vom Apollo Guidance Computer

5. https://hackaday.com/2016/07/05/don-eyles-walks-us-through-the-lunar-module-source-code/ - Don Eyles führt uns durch den Quellcode des Mondmoduls

6. https://github.com/chrislgarry/Apollo-11 - Repository mit Software-Quellcodes

7. https://github.com/shirriff/rope-simulator - Repository mit ROM-Simulatorschaltungen.

8. https://dodlithr.blogspot.com/search/label/Apollo%20Systems - eine große Auswahl an Materialien zu AGC und DSKY.

9. http://www.ibiblio.org/apollo/ - Online-AGC-Simulator.

10. https://github.com/virtualagc - ein Repository mit vielen nützlichen Informationen, einschließlich der Verlog-Version von AGC sowie AGC-Replikatschaltungen und -Karten und Original-AGC- und DSKY-Schaltungen (im Repository https://github.com/virtualagc) / virtualagc )

Source: https://habr.com/ru/post/de461095/


All Articles