Bei Echtzeit-Simulationen von Avionik-Systemen:

Rechner muß mindestens zehn Mips leisten

23.01.1987

Unentbehrlich sind Echtzeitsysteme inzwischen auch für die Luftfahrt geworden. In Jumbo, Airbus oder Kampfflugzeug ist die Avionik so wichtig wie für den Menschen die Luft zum Atmen. Damit ein vollelektronischer Flieger nicht abstürzt, werden bereits an die Simulations- und Testrechner extrem hohe Anforderungen gestellt. So muß beispielsweise aufgrund der Vermischung realer und simulierter Baugruppen der Ablauf des Gesamtsystems in Echtzeit erfolgen.

Der Begriff Simulation ist heute aus der technischen Welt nicht mehr wegzudenken.

Weit verbreitet sind vor allem die Trainingssimulatoren auf den Gebieten Verkehrstechnik und Kraftwerksüberwachung. Dies ist darin begründet, daß mit Hilfe der Simulation kritische Situationen wie Mondlandung, Flugzeugführung (Landung, waghalsige Flugmanöver), Notfälle bei der Kraftwerksregelung, Schiffsmanöver in Hafengebieten sowie Reaktionen des Fahrers im Straßenverkehr gefahrenlos im "Labor" nachgebildet und getestet werden können.

All diesen Anwendungen ist gemeinsam, daß der Umgang mit einem fertigen Produkt oder dessen Verhalten in bestimmten Situationen mit Hilfe der Methoden der Simulation genau untersucht werden kann.

Da diese Methoden für existierende Produkte so erfolgreich sind, ist es nur logisch, Simulationsanwendungen dahingehend zu erweitern, daß auch noch nicht vorhandene Produkte in Simulationsumgebungen getestet werden (natürlich als mathematisch-physikalisches Abbild). Dies eröffnete die Möglichkeit, die Einführung von hochtechnischen Produkten zu erleichtern und zu beschleunigen.

Dadurch ergeben sich folgende Vorteile:

* Verkürzung der Entwicklungszeit

* exaktere Festlegung der Produktfunktion

* geringere FehIeranfälligkeit des Produkts, da seine Funktion bereits vor der Fertigung getestet wurde,

* geringeres Risiko in der Produktentwicklung,

* niedrigere Kosten, da sich vor allem die Anzahl der Prototypen verringern läßt und

* kürzere Zeit bis zur Markteinführung.

Damit wird insbesondere die Wettbewerbsfähigkeit des Produzenten gesichert.

Aufgrund dieser Möglichkeiten breiten sich Computer-Simulationen immer mehr in Anwendungsgebieten aus. Ein Beispiel aus der Luft- und Raumfahrt sind die hier beschriebenen Avionik-Systeme.

In modernen Produkten ist der Trend festzustellen, in zunehmendem Maße mechanische Komponenten gegen elektronische Bauteile zu ersetzen. Neben Haushaltsgeräten und Kraftfahrzeugen ist dies auch seit kurzer Zeit in der Flugzeugindustrie der Fall. Als erstes Beispiel hierfür ist der Space Shuttle zu nennen.

In herkömmlichen Flugzeugen betätigt der Pilot einen Steuerknüppel, der über mechanisch-hydraulische Regelsysteme die Ruder bewegt. Das neue Prinzip, auch "fly by wire" genannt, verzichtet nahezu vollständig auf die aufwendige, schwere und anfällige Hydraulik. Die Steuerknüppelaktionen werden auf einen Bordrechner gegeben, der über elektrische Impulse Motoren an den Rudern betätigt und so das Flugzeug steuert.

Im Space Shuttle wurde dieses Prinzip zum ersten Mal realisiert, der Airbus A-320 ist das erste zivile Flugzeug, das von dieser Technik Gebrauch macht.

Nicht nur die Steuerung, sondern auch die Instrumente im Cockpit sehen nicht mehr herkömmlich aus, sondern der Pilot liest seine Informationen von einem Bildschirm ab.

Als generelles Prinzip ist zu erkennen, daß Mechanik durch Elektronik ersetzt wird, aber es wird auch Gewicht gegen zunehmende Komplexität der Systeme eingetauscht. Als Konsequenz daraus ergibt sich ein Flugzeug, das folgende Eigenschaften besitzt:

- höhere Zuladung durch Gewichtseinsparungen,

- konstruktive Vereinfachungen,

- höhere Flugsicherheit,

- einfachere Flugzeugführung,

- weniger Wartungsaufwand.

Die Fly-by-wire-Technik ist im Flugzeug durch den sogenannten MIL-STD-1553-Bus realisiert, das heißt durch ein Kabelsystem, das alle elektronischen Geräte miteinander verbindet und die Ankopplung an den Bordrechner gewährleistet.

Die Gesamtheit der - vorwiegend elektronischen - Geräte im Flugzeug zu dessen Steuerung, Überwachung und Kontrolle heißt Avionik-System.

Da neue Flugzeuge ohne Avionik nicht fliegen können, also auch neue Avionik-Module nicht im "echten" Betrieb getestet werden können, versagen klassische Entwicklungsmethoden: Es kann nicht mehr "wie früher" ein Prototyp gebaut werden, dessen Fehler in einer Testphase beseitigt werden und der dann als fertiges Produkt in Serie geht.

Aber auch aus anderen Gründen werden neue Methoden benötigt:

- In einer arbeitsteiligen Welt baut die Entwicklungsfirma des Gesamtsystems die einzelnen Geräte nicht mehr allein, sondern sie bedient sich verschiedener Unterauftragnehmer.

- Die Avionik-Geräte kommunizieren über den MIL-BUS miteinander, wobei der Datenverkehr über den Bus bei neuen Flugzeugen immer stärker zunimmt.

- Der Entwickler kann eine gefertigte Elektronik-Baugruppe nur in der "Isolation" testen. Er hat demzufolge keine Garantie dafür, ob sein Gerät auch im Verbund mit den anderen Komponenten richtig funktioniert.

- Die Geräte werden zu verschiedenen Zeitpunkten ausgeliefert, der Abnahmetest kann nur erfolgen, wenn alle Geräte des Verbundes ausgeliefert sind.

Simulationsverfahren werden unentbehrlich

Hier wird nun die Simulation zum unentbehrlichen Hilfsmittel für die Entwicklung komplexer elektronischer Systeme. Ein Gerät, das noch nicht vorhanden ist, wird simuliert. Das heißt, ein Test wird so programmiert, daß das fehlende Gerät mit all seinen Eigenschaften durch das Avionik-Test-System im Rechner modellmäßig nachgebildet werden kann. Der Begriff "Eigenschaften" bedeutet hier, daß nicht nur die Funktion des Gerätes selbst, sondern auch seine Schnittstellen zum Bus (nach außen also) und zu den anderen Geräten des Verbundes simuliert werden müssen. So kann das Gerät, sobald es als Spezifikation bekannt ist, noch bevor es als Baugruppe existiert, in seiner (realen oder ebenfalls simulierten) Umwelt getestet werden, in der es als fertiges Produkt arbeiten soll.

Die Simulation komplexer Elektroniksysteme ist als interaktiver Prozeß aufzufassen: Während der Entwicklungs- und Integrationsphase werden immer mehr fertiggestellte Geräte, die vorher simuliert wurden, durch Hardware ersetzt, bis schließlich das gesamte Avionik-System real vorhanden und auf seine Gesamtfunktion getestet ist.

Als Voraussetzung für diese "Hardware-in-the-loop"-Simulation müssen jedoch zentrale Einheiten wie Buscontroller bereits als Hardware vorhanden sein. Es ist mit vernünftigem Aufwand nicht möglich, das gesamte System mathematisch zu simulieren, ohne daß Komponenten bereits vorliegen.

Die Integration der Avionik ist die Hauptaufgabe der Simulation in der Entwicklungsphase, aber nicht ihre einzige Anwendung. Ist der Prototyp des Flugzeugs fertiggestellt, so muß die Abnahme und die Flugfreigabe erteilt werden. Tritt dabei ein Fehlverhalten bestimmter Komponenten auf, so bietet sich die Möglichkeit, die Daten in den Simulator einzugeben und so den Fehler am "Boden" zu rekonstruieren, um ihn dann konstruktiv zu beseitigen.

Während der Lebensdauer des Flugzeugs, die bei heutigen Systemen mehr als zehn Jahre beträgt, müssen gemäß dem Stand der Technik gewisse Komponenten modifiziert werden. Dies setzt wiederum leistungsfähige Simulations- und Testsysteme voraus.

Weitere Simulationsanwendungen auf diesem Gebiet sind:

Unfallanalyse:

Die Daten des Crash-Recorders können in das Simulationssystem eingegeben werden, um so Aufschluß über den Unfallhergang beziehungsweise über dessen Ursache zu gewinnen.

Autopilot:

Das Reagieren auf die Flugzeugbewegungen kann im Simulator getestet werden.

Regelung:

Es kann ein spezielles Flugprofil in den Simulator eingegeben werden, um so die Regelkreise des Flugzeugs zu testen.

Studien:

Konkurrenzanalysen von elektronischen Komponenten sind mit Hilfe von Simulationssystemen wesentlich exakter durchzuführen.

Anforderungen an den Simulationsrechner

Da beim Testen oben beschriebener Avionik-Systeme das Verhalten simulierter Baugruppen im Zusammenspiel mit "echten" Systemkomponenten getestet wird, muß Simulation und Kommunikation zwischen den Baugruppen über den Bus in Echtzeit ablaufen. Darüber hinaus dürfen die Messungen und Tests keinen Einfluß auf die Funktionsweise des Systems haben. Natürlich lassen sich derartige Testsysteme mit leistungsfähigen Computern aufbauen.

Ein Simulationssystem für hochkomplexe Aufgaben, wie das Testen von Avionik-Systemen, erfordert einen Zentralrechner, an dessen Leistungsfähigkeit extreme Anforderungen gestellt werden:

Systemarchitektur:

Der Simulationsrechner muß infolge des benötigten Adreßraums eine 32-Bit-Architektur besitzen.

Durch den Aufgabenumfang gelten Rechenleistungen von 10 Mips als untere Grenze. Durch die fortschreitende Verbreitung der Anwendung von Simulationsmethoden auf immer komplexere Gebiete, insbesondere bei elektronischen Systemen, werden wahrscheinlich in zwei bis drei Jahren Rechenleistungen von 20 bis 30 Mips erforderlich sein.

Durch die lange Lebensdauer der Simulatoren ist es ferner notwendig, die Leistung des Rechnersystems dem sich ändernden Bedarf anzupassen, den Rechner insbesondere im Feld zu erweitern, ohne daß der Anwender längere Umrüstzeiten ertragen muß.

Diese Forderungen können nach heutigem Stand der Technik nur von speichergekoppelten Multiprozessor-Systemen erfüllt werden. Diese Systeme können durch Einbau weiterer Rechenwerke (Auxiliary Processing Units = APU) in ihrer Leistung vervielfacht werden und bieten aufgrund der Speicherkopplung der Prozessoren eine extrem schnelle Prozeßkommunikation.

Realtime-Verhalten:

Die Vermischung realer und simulierter Baugruppen bedingt den Ablauf des Gesamttests in Echtzeit. Das Zeitverhalten des Rechners muß also deutlich besser sein als die Zeitreaktionen der zu testenden Elektroniksysteme. Der Rechner darf nämlich dem Avionik-Testsystem kein eigenes Zeitverhalten aufzwingen.

Als Forderungen an das Rechnersystem ergeben sich daraus:

* speicherresidentes Realtime-Betriebssystem (nicht virtuell),

* schnelles Interrupt-Verhalten,

* minimale Zeit zur Synchronisation von kooperativen Prozessen (die zum Beispiel je eine Baugruppe darstellen).

Das Realtime-Verhalten wird selbstverständlich auch von der Software aus beeinflußt und muß durch Prioritätssteuerung und spezielle Supervisor-Calls (SVC) unterstützt werden. Für die einfachere Programmierung sollten Echtzeitfunktionen auch über eine Run-Time-Library für Hochsprachen zugänglich sein.

Das Rechner-Bus-System:

Damit diese kurzen Zeiten weitgehend unabhängig von der jeweiligen Systembelastung eingehalten werden können, muß der Rechner über ein leistungsfähiges internes Bussystem verfügen. Der Systembus integriert dabei die einzelnen Prozessoren, das I/O-Subsystem und den Zentralspeicher zu einem echtzeitfähigen Gesamtsystem.

In Verbindung mit der Forderung nach Realtime-Fähigkeit muß der Systembus zwei Aufgaben erfüllen:

* hohe Durchsatzleistung im realen Betrieb und

* Buszugriff von beliebigen Rechnerkomponenten zu beliebiger Zeit (asynchrones Verhalten).

Diese Forderungen widersprechen sich, da höchste Durchsatzleistungen leichter durch einen synchronen Bus erfüllt werden können (der ist aber nicht zu jeder Zeit unterbrechbar). Die Qualität des Bussystems ist also ausschlaggebend für das Funktionieren des Gesamtsystems.

I/O-Subsystem:

Da das I/O-Subsystem die Verbindung zur Außenwelt darstellt, muß es die hohen Echtzeitanforderungen voll unterstützen. Der notwendig werdende Durchsatz ergibt sich aus der in der Simulation anfallenden Datenrate. Ferner ist dem Umstand Rechnung zu tragen, daß in Simulationsexperimenten ein hoher Datendurchsatz parallel zur hohen Rechenleistung anfällt.

Die Simulationsperipherie

Der zentrale Teil eines Avionik-Systems ist der MIL-STD-1553-Bus, der die Kommunikation zwischen den einzelnen Elektronik-Komponenten gewährleistet.

MIL-STD-1553 Bus Interface:

Das MIL-Bus-Interface stellt die Verbindung zwischen dem MIL-Bus des Avionik-Systems und dem Simulationsrechner dar.

Als Verbindungsglied zwischen realen Baugruppen und Simulationsprogrammen ist ein hoher, möglichst unverzögerter Datenaustausch erforderlich.

Aus diesem Grund sollte das MIL-Bus-Interface DMA-fähig sein, damit ein Datenaustausch mit dem Rechner in Echtzeit und mit einem Minimum an CPU-Belastung garantiert werden kann.

Durch die Mikroprogrammierung kann eine einfache Anpassung an den jeweiligen Stand der Technik vorgenommen werden. Eine Laufzeitbibliothek für den Hostrechner unterstützt jede MSBI-Funktion über Hochsprachen.

VMEbus-Interface:

Das MIL-Bus-Interface benutzt den Industriestandard VMEbus als Verbindungsglied zum Host-Rechner, während die Verbindung zu den Baugruppen eben durch den MIL-Bus gegeben ist.

Dabei muß sowohl DMA-Zugriff als auch Interrupt-Fähigkeit in beiden Transportrichtungen möglich sein. Das bedeutet, daß sowohl der Host in den Speicher des MSBI schreiben und dort Interrupts erzeugen muß als auch umgekehrt.