TTP: „Drive by Wire“ in greifbarer Nähe
Transcrição
TTP: „Drive by Wire“ in greifbarer Nähe
Time Triggered Technology Schönbrunner Strasse 7, A-1040 Wien, Österreich Tel: + 43-1-585 34 34-0 Web: www.tttech.com Fax: + 43-1-585 34 34-90 Email: [email protected] Sonderdruck aus Heft 14/1999 Dr. Stefan Poledna, Georg Kroiss TTP: „Drive by Wire“ in greifbarer Nähe Echtzeit-Kommunikation im Automobil mit zeitgesteuertem Protokoll erlaubt hochzuverlässige Anwendungen In zahlreichen Echtzeit-Anwendungen, z.B. in der Automobil- oder Industrie-Elektronik, werden nicht nur die verteilten elektronischen Systeme immer komplexer, sondern sie dringen auch in Bereiche mit hohen Sicherheits- und Verläßlichkeitsanforderungen vor. Das zeitgesteuerte Kommunikationsprotokoll TTP (Time-Triggered Protocol) erlaubt die nahtlose Zusammenführung von Einzelkomponenten zu einem Gesamtsystem und unterstützt systematisch die Implementierung von fehlertoleranten Echtzeit-Systemen. ür die wachsende Komplexität von verteilten Systemen im Automobilbereich sind mehrere Ursachen verantwortlich: Zum einen ermöglichen die ständig wachsende Leistungsfähigkeit der Elektronik sowie die Kostenvorteile den Ersatz von mechanischen Komponenten durch elektronische Systeme. Zum anderen werden zusätzliche Funktionen – wie beispielsweise Fahrdynamikregelung, Antiblockiersysteme und Antischlupfregelungen – elektronisch realisiert, wodurch sich die Anzahl der Steuergeräte oder Subsysteme weiter erhöht. So machen Elektronikkomponenten bei verschiedenen Herstellern mittlerweile je nach Ausstattung zwischen 20 und 26 % der Kosten eines Autos aus, ein Wert, der im Jahr 2005 auf über 30 % prognostiziert wird. Die Integration aller Subsysteme zu einem Gesamtsystem hat inzwischen eine Komplexität erreicht, die außerordentlich hohe Aufwendungen verursacht. Die Folge sind oftmals zusätzliche, vorab nicht absehbare Ko- F sten durch lange Entwicklungs- und Testzeiten, eine verzögerte Produkteinführung und eine teure Fehlerbehebung bei ausgelieferten Fahrzeugen durch Rückrufaktionen. Die sich abzeichnende Einführung von „X-by-Wire“-Systemen, wie Brake- und Steer-by-Wire, wird die Bedeutung der Systemintegration weiter erhöhen und zusätzlich neue Anforderungen an die Fehlertoleranz der Systeme stellen. Im Automobil werden dann Computersysteme eingesetzt, die in Kombination von Kosten-, Zuverlässigkeits-, Echtzeit- und Fehlertoleranz-Anforderungen zu den anspruchsvollsten Systemen überhaupt zählen und die Grenze des Machbaren definieren werden. Vor dem Hintergrund dieser extrem hohen Anforderungen wird der industrielle Druck zur systematischen Lösung von Problemen der Zusammensetzbarkeit verteilter Systeme (zumeist composability oder interoperability genannt) immer stärker. Ereignissteuerung Sendezeitpunkt Mögliche Empfangszeitpunkte je nach Anzahl der Komponenten n im System n=3 n=5 n=6 n = 11 Zeitsteuerung Exakter Empfangszeitpunkt Zeit Zeit Bild 1. Bei der Ereignissteuerung hängt das zeitliche Verhalten von dem Verhalten der einzelnen Knoten ab. Grundsätzlich gilt, je mehr Knoten beteiligt sind, desto geringer ist die Wahrscheinlichkeit für den einzelnen Knoten, auf den Bus zugreifen zu können. Systemtechnik Automobilelektronik Definition des zeitlichen Schnittstellenverhaltens erleichtert Integration Communication Network Interface (CNI) Eine Systemarchitektur erfüllt dann die Anforderung der Zusammensetzbarkeit (composability), wenn sich erstens das korrekte Verhalten von Subsystemen lokal sicherstellen läßt, und zweitens diese Eigenschaften bei einer Systemintegration unverändert ihre Gültigkeit behalten. Das Verhalten des Gesamtsystems kann in einer solchen Architektur direkt aus dem Verhalten der Subsysteme abgeleitet werden. Für Echtzeit-Systeme besteht der Schlüssel zur Entwicklung einer zusammensetzbaren Architektur in der klaren Definition der Schnittstelle zwischen den Subsystemen. Diese muß im Wertebereich und vor allem im Zeitbereich exakt definiert sein. Bei ereignisgesteuerten Kommunikationsprotokollen läßt sich zwar der Wertebereich exakt definieren, für den Zeitbereich ist das hingegen nicht der Fall. Das zeitliche Verhalten eines ereignisgesteuerten Systems hängt vom Verhalten jedes einzelnen Knotens ab. Je nachdem, ob ein Test mit einem Teil der Computerknoten oder mit dem Gesamtsystem durchgeführt wird, ergibt sich ein unterschiedliches ROM HostCPU Eingang TFW* TTP/C-Datensteuerung (MEDL) Bus-Wächter TTP/CController TTP/C-Bus TTP/C-Controller Logische Leitungsschnittstelle Treiber Treiber TTP/C-Bus Bild 3. Ein Bus-Wächter mit eigener Takterzeugung sorgt im TTP/C-Controller dafür, daß dieser nur im richtigen Zeitschlitz auf den Bus zugreifen kann. Autonome Kommunikations-Controller und „temporäre Firewalls“ ermöglichen Zusammensetzbarkeit Die einzelnen Kommunikations-Controller eines TTP/Cbasierten Systems steuern – unabhängig von der Anwendungssoftware in den Knoten – autonom den zeitlichen Ablauf der Kommunikation. Zu von vornherein definierten Zeitpunkten werden Zustandsnachrichten von der Kommunikationsschnittstelle des Senders zu den Kommunikationsschnittstellen der Empfänger gesendet. Dabei hat keine der Host-CPUs die Möglichkeit, das zeitliche Verhalten des Kommunikationssystems zu beeinflussen. Das CNI (Communication Network Interface) ist daher eine reine „data-sharing“ Schnittstelle, über die keine Steuersignale gesendet werden. So erfüllt das CNI die Funktion einer „temporären Firewall“, die das zeitliche Verhalten der Host-CPU vom zeitlichen Verhalten des Kommunikationssystems entkoppelt. Eine temporäre Firewall (Bild 2) ist durch folgende Eigenschaften definiert: ● Name und syntaktische Struktur der Nachricht; ● zeitliche Genauigkeit (Alter) der Nachricht; ● Zeitpunkte, zu denen die Nachricht jeweils aktualisiert wird. HostCPU CNI ProtokollProzessor Ausgang TFW* KommunikationsController * TFW = temporäre Firewall Bild 2. Eine temporäre Firewall entkoppelt das zeitliche Verhalten von Host-CPU und Kommunikations-Knoten. Zeitverhalten. Bei ereignisgesteuerten Kommunikationsprotokollen müssen für Situationen Vorkehrungen getroffen werden, in denen mehrere Knoten gleichzeitig eine Nachricht auf den Bus senden wollen. So verwendet beispielsweise CAN CSMA/CA (carrier sensed multiple access with collision avoidance) als Buszugriffsstrategie. Gemeinsam ist den unterschiedlichen Techniken zur Kollisionsauflösung ereignisgesteuerter Protokolle, daß der Zeitpunkt, zu dem Botschaften eintreffen, nicht exakt, sondern nur über Wahrscheinlichkeiten oder Intervalle definiert werden kann. Wie in Bild 1 dargestellt, unterscheidet sich das Zeitverhalten im System in Abhängigkeit davon, welche Komponenten an einem Subsystemtest beteiligt sind. Dies hat zur Folge, daß bei jedem Hinzufügen einer neuen Komponente oder bei Änderungen an bestehenden Komponenten Rückwirkungen auf das gesamte System entstehen. Diese Rückwirkungen machen streng genommen einen Komplett-Test und eine vollständig neue Validierung des Systems erforderlich. Ereignisgesteuerte Kommunikationsprotokolle sind daher, was ihr zeitliches Verhalten betrifft, nicht zusammensetzbar. Bei TTP wird während des Systementwurfs das zeitliche Verhalten der CNI zwischen Knoten und Kommunikationssystem exakt definiert. Damit ist von vornherein bekannt, zu welchem Zeitpunkt die Aktualisierung von Nachrichten erfolgt. Dieses Zeitverhalten ist völlig unabhängig davon, ob nur ein Teil oder das gesamte System getestet wird. Ebenso ist das Zeitverhalten des Kommunikationssystems unabhängig von Änderungen in einer oder mehreren HostCPUs. Jeder Knoten läßt sich also einzeln oder in Kombination mit beliebigen anderen Knoten gegen das CNI testen. Damit ist die zeitgesteuerte Architektur in bezug auf ihr zeitliches Verhalten zusammensetzbar. Bild 3 zeigt die klare Trennung zwischen Kommunikations-Controller und Host bei TTP/C. Ist die Zusammensetzbarkeit einer Systemarchitektur gegeben, so können die einzelnen Komponenten des Systems unabhängig voneinander entwickelt und getestet werden. 2 Systemtechnik Automobilelektronik Die Systemintegration kann in einem späten Stadium der Entwicklung erfolgen. Ein weiterer Vorteil, der sich aus der Zusammensetzbarkeit ergibt, ist die vereinfachte Wiederverwendung bei geringerem Adaptionsaufwand, da die Verbindungslogik des Kommunikationssystems von der Applikationssoftware physisch getrennt ist. Uhrensynchronisation Tick-Dauer t1 TTP/C – Die fehlertolerante Protokollvariante des Time-Triggered Protocol TTP t1 Präzision tn t2 tn t2 tn Präzision Präzision Bus-Zugriffsschema Die Entwicklung von TTP/C geht auf die wissenschaftliche Zielsetzung zurück, Probleme des zeitlichen Verhaltens von verteilten Systemen zu erforschen und durch einen systematischen Ansatz an ihrer Wurzel zu lösen. In über 15-jähriger Forschungsarbeit wurde das TimeTriggered Protocol (TTP) schwerpunktmäßig an der Technischen Universität Wien unter Leitung von Prof. Kopetz entwickelt. Im Rahmen von EU-Projekten wie MARS (Maintainable Real-Time Systems), TTA (Time-Triggered Architecture) und X-by-Wire wurde das Kommunikationsprotokoll mit industriellen Partnern wie Alcatel, Bosch, British Aerospace, DaimlerChrysler, Fiat, Ford und Magneti Marelli auf die Bedürfnisse der Industrie abgestimmt. Im TTA-Projekt wurde unter der Leitung von Prof. Grünbacher an der TU Wien der erste dedizierte TTP/C-Controller-Chip implementiert. Die Programmierung des ProtokollCodes erfolgte bei TTTech; gefertigt wird TTPchip bei AMS (Austria Mikro Systeme AG). TTP/C wurde als integriertes Kommunikationsprotokoll für fehlertolerante verteilte Systeme unter harten EchtzeitBedingungen entwickelt. Es ist eine Variante der TTPProtokollfamilie, wobei „C“ für die Erfüllung der „Class C“Anforderungen der SAE (Society of Automotive Engineers) für fehlertolerante Echtzeit-Kommunikation in AutomobilAnwendungen steht. Empfangen Senden t1 t2 Empfangen tn t2 Empfangen t1 Empfangen tn Senden Empfangen t1 Empfangen t2 Senden tn Bild 4. Prinzip des zeitgeteuerten Ablaufs unter TTP/C. TTP/C-basierten Systemen, wie bereits ausgeführt, nicht nur im Werte-, sondern insbesondere auch im Zeitbereich fest. Entsprechend einer von vornherein festgelegten Ablaufplanung ist festgelegt, welcher Knoten zu welchem Zeitpunkt sendet und empfängt. Dieses Bus-Zugriffsprinzip wird TDMA (time division multiple access) genannt, da jedem Sender ein Zeitschlitz zugeordnet wird. Dementsprechend baut der TTP/C-Kommunikations-Controller auf einer verteilten, fehlertoleranten Uhrensynchronisation auf. Bis auf die Mikrosekunde genau werden so Sende- und Empfangsaktionen koordiniert. Verschiedene Mechanismen für Fehlererkennung, Fehlertoleranz und Re-Integration stehen zur Verfügung. Das Protokoll wurde auf höchste Dateneffizienz und minimalen Protokoll-Overhead ausgelegt (4 bit Header und 16 bit CRC für bis zu 16 Datenbytes). Bild 4 gibt die wesentlichen Prinzipien der Zeitsteuerung von TTP/C wieder. Grundprinzipien von TTP/C – Feste Ablaufplanung, Uhrensynchronisation und TDMA-Buszugriff Fehlertolerante, dezentrale Uhrensynchronisation ermöglicht hochpräzise synchronisierte Aktionen Die exakte Definition der zeitlichen Schnittstelle zwischen Sub- und Gesamtsystem legt das Verhalten von Dem Paradigma zeitgesteuerter Architekturen folgend, besteht die grundlegende Logik des Time-Triggered Protocol TTP in der Auslösung (trigger) aller Systemaktivitäten durch das Erreichen bestimmter Punkte im Zeitablauf. Folglich ist eine einheitliche interne Zeitbasis aller Knoten des Systems erforderlich. TTP/C verfügt zu diesem Zweck über eine fehlertolerante Synchronisation der lokalen Uhren in den einzelnen Knoten. Sofern mehr als 3 n korrekte Knoten im System vorhanden sind, lassen sich n beliebige (byzantinische) Fehler tolerieren. Werden Fehler von allen korrekten Knoten gleich beobachtet, dann können mit mehr als 2n korrekten Knoten im System n Fehler toleriert werden. Die aktuelle Halbleiter-Implementierung des TTP/C-Controllers (TTPchip) erreicht mit üblichen Quarzen eine Uhrensynchronisation mit einer Genauigkeit von besser Das TTPforum Das TTPforum ist eine Vereinigung von Entwicklern und Anwendern von TTP (TimeTriggered Protocol) aus Industrie, Forschungseinrichtungen und Universitäten. Ziel des TTPforums ist der Informationsaustausch über aktuelle Entwicklungen, die Koordination von Entwicklungsteams und die Durchsetzung von TTP als Industriestandard. Das nächste TTPforum wird t2 t1 am 16. September 1999 in Frankfurt parallel zur IAA stattfinden. Thema dieses dritten TTPforums sind die Erfahrungen, die aus „fly-by-wire“Anwendungen gewonnen wurden, sowie die Lerneffekte, die für „drive-by-wire“-Systeme abgeleitet werden können. Informationen zum TTPforum sind abrufbar unter: http://www.ttpforum.org 3 Systemtechnik Automobilelektronik als 500 ns. Die hohe Genauigkeit der Uhrensynchronisation ermöglicht die Durchführung hochpräziser, global synchronisierter Aktionen sowie die Implementierung von Regelschleifen mit minimalem Kommunikations-Jitter. Der TTP/C-Kommunikations-Controller stellt den global synchronisierten Takt an einem Ausgang zur Verfügung. Darüber hinaus sind im Kommunikations-Controller auch zwei programmierbare Timer-Register vorhanden, die sich auf diesen Takt beziehen. FTU Replica 1 Replica 2 CNI CNI TTP/C TTP/C Kanal A msg1a msg2a Kanal B msg1b msg2b Zeitliche Exklusivität ersetzt Kollisionsregeln Bild 6. Zwei Knoten lassen sich beispielsweise zu einer FTU (fehlertolerante Einheit) zusammenfassen, so daß der Ausfall eines Knotens toleriert werden kann. TTP/C unterstützt den Aufbau fehlertoleranter Systeme durch den zur Verfügung gestellten „Mitglieder-Service“ (membership-service). Basierend auf dem TDMA-Buszugriff ist unter TTP/C sichergestellt, daß der Kommunikations-Controller jedes Knotens erstens ausschließlich während des ihm zugewiesenen Zeitintervalls (slots) Zugang zum Bus erhält und zweitens in diesem Zeitfenster den alleinigen Zugang zum Kommunikationsmedium hat (Bild 5). Da die Latenz aller Nachrichten am Bus von vornherein bekannt ist, werden alle Nachrichten mit harter EchtzeitGarantie versendet. Infolge der festen Ablaufplanung sind keit für fehlertolerante Kommunikation besteht und zweitens die Komplexität des Systems nicht in Bereiche steigt, in denen die bereits dargestellten Integrationsprobleme schlagend werden, lassen sich die Ansprüche der Industrie mit ereignisgesteuerten Kommunikationsprotokollen erfüllen. Die bevorstehende Einführung von X-by-Wire-Systemen (z.B. Brake-by-Wire, Steer-by-Wire) stellt jedoch derart hohe Anforderungen an das Kommunikationssystem, daß es zu einer konzeptionellen Annäherung automotiver Kommunikationsarchitekturen an die bisher hauptsächlich in der Luftfahrt eingesetzten Systeme kommen wird. X-byWire-Systeme müssen – wie Systeme in der Luftfahrt – auch beim Auftreten von Fehlern korrekt weiterarbeiten. So ist die bisherige Entwicklung von fehlertoleranten Echtzeit-Systemen auch durch die führende Rolle der Luftfahrtindustrie gekennzeichnet. Tatsächlich werden gegenwärtig in einigen Flugzeugtypen zeitgesteuerte Computersysteme eingesetzt, die gewisse Prinzipien mit TTP teilen, jedoch zu teuer sind, um auch in anderen Anwendungsbereichen breiten Einsatz zu finden. Dem entgegen steht der Trend, daß fehlertolerante Echtzeit-Systeme zunehmend auch in kostensensiblen Sektoren wie eben in der Automobilindustrie, aber auch im öffentlichen Transport oder im Bereich der industriellen Steuerungstechnik benötigt werden, um die steigende Komplexität verteilter Anwendungen zu beherrschen und erhöhten Verläßlichkeitsanforderungen gerecht zu werden. Die vergleichsweise geringen Kosten TTP/C-basierter Kommunikationsarchitekturen ermöglichen nun den wirtschaftlichen Einsatz auch in Anwendungsbereichen, in denen bisher nur ereignisgesteuerte Konzeptionen eingesetzt wurden. „Babbling Idiot“ Bus-Wächter Bus-Signal Bild 5. Der Bus-Wächter (bus-guardian) sorgt dafür, daß ein sog. „babbling idiot“ nicht die ganze Zeit den Bus belegt, sondern nur innerhalb seines Zeitschlitzes etwas „sagen“ darf. auch die Ankunftszeitpunkte der Nachrichten bekannt, wodurch sich ein minimaler Jitter realisieren läßt. TTP/C setzt die TDMA-Strategie auch zur Synchronisation der internen Uhren ein. Durch den Vergleich des theoretischen (a priori vorbestimmten) Zeitpunktes, zu dem eine bestimmte Nachricht eintreffen soll, mit dem tatsächlichen Empfangszeitpunkt erhält jeder empfangende Knoten Information über die Abweichung seiner eigenen Zeit von der des sendenden Knotens. Diese Information wird zur verteilten Synchronisation der Uhren genutzt. TTP/C benötigt zur Herstellung einer einheitlichen, globalen Zeitbasis folglich keine zusätzlichen Synchronisationsnachrichten, was zur Minimierung des Protokoll-Overhead beiträgt. Fehlertoleranz als neue Anforderung an verteilte Echtzeit-Systeme Fehlertoleranz unter TTP/C In einem TTP/C-basierten Kommunikationssystem ist sichergestellt, daß kein einzelner Fehler eines beliebigen Teiles des Systems die Kommunikation zwischen den anderen Knoten stören kann. Eine Fehlerfortpflanzung ausgehend von einer einzelnen Komponente ist im Zeitbereich ebenso ausgeschlossen wie Überlastungseffekte am Datenbus. Im Gegensatz dazu kann in ereignisgesteuerten Systemen ein fehlerhafter Knoten – „babbling idiot“ (schwätzender Idiot) In der Automobilindustrie haben sich Bus-Systeme erst vor relativ kurzer Zeit – insbesondere mit der Verbreitung von CAN – breiter durchgesetzt. Auslöser ist die steigende Anzahl an miteinander kommunizierenden elektronischen Komponenten, die ab einer gewissen Grenze durch Punktzu-Punkt-Verbindungen weder technisch noch wirtschaftlich sinnvoll bewältigbar ist. Solange erstens keine Notwendig- 4 Systemtechnik Automobilelektronik – den Kommunikationskanal im ungünstigsten Fall dauernd belegen, indem er permanent Nachrichten höchster Priorität sendet. Ein solcher „single-point of failure“ blockiert folglich korrekt funktionierende Knoten bis hin zum Verlust der gesamten Kommunikationfähigkeit. Zur Vermeidung des „babbling idiot“-Fehlers weist TTP Vorkehrungen auf verschiedenen Ebenen auf: Der TTP/C Communication Controller verfügt über den sogenannten Bus-Wächter (Bus Guardian) als unabhängigen Kontrollmechanismus (vgl. Bild 3). Der Bus-Wächter stellt sicher, daß ein Knoten nur während des ihm zugewiesenen Zeitschlitzes Zugang zum Bus erhält. Dementsprechend verfügt der Bus-Wächter über eine unabhängige Taktversorgung. Das Sendeverhalten eines Knotens ist durch eine im Kommunikations-Controller abgelegte Datenstruktur beschrieben, die für die Host-CPU nicht zugänglich ist (Bild 5). Auch beliebige Fehler in einem Host können daher nicht das zeitliche Verhalten des Kommunikationssystems beeinflussen. Als zusätzliche Vorkehrung sieht TTP/C redundante Kanäle zur Datenübertragung vor. Je nach Wichtigkeit der gesendeten Information kann diese Redundanz entweder zur Implementierung von Fehlertoleranz – d.h., um zu garantieren, daß sicherheitskritische Nachrichten selbst im Falle der Unterbrechung eines Übertragungskanales ankommen – oder zur Verdopplung der Bandbreite verwendet werden. Die Wahl zwischen Fehlertoleranz und zusätzlicher Bandbreite läßt sich für jede einzelne Nachricht treffen. Um Ausfälle von Knoten oder Sensoren zu tolerieren, können mehrere Knoten als sogenannte fehlertolerante Einheiten FTU (Fault Tolerant Units) zusammengefaßt werden. In Bild 6 sind zwei Knoten zu einer FTU zusammengefaßt. Diese beiden Knoten senden die gleiche Botschaft auf Kanal A und B, so daß die Botschaft vierfach-redundant übertragen wird. Die FTU kann somit den gleichzeitigen Ausfall ei- TTPplan Datenbank zum Cluster-Design Cluster-Ebene TTPview Online-Daten vom TTP Knoten-Ebene TTPapply TTPbuild TTPos Datenbank zum Knoten-Design TTPload Download zum TTP Kommunikationsschicht BetriebssystemKonfiguration Bild 7. Das „Two-Level Design Framework“ ermöglicht die voneinander unabhängige Entwicklung eines Systems auf Cluster- und Knotenebene. nes Knotens und eines Kommunikationskanals tolerieren. TTP/C unterstützt den Aufbau fehlertoleranter Systeme durch den zur Verfügung gestellten „Mitglieder-Service“ (membership service). Dieser liefert allen korrekten Knoten zu jedem Zeitpunkt eine konsistente Sicht, welche Knoten im System verfügbar sind und welche nicht. Zusätzlich sorgt der TTP/C-Replica-Determinismus für Sicherheit, der durch die folgenden Eigenschaften definiert ist: ● Agreement: Alle korrekten Empfänger stimmen bezüglich jeder Botschaft darüber überein, ob die Botschaft korrekt oder fehlerhaft war. ● Ordnung: Alle Botschaften erreichen alle korrekten Empfänger in der gleichen Reihenfolge. TTP oder CAN Zeit- und Ereignissteuerung sind fundamental unterschiedliche Prinzipien für die Konstruktion von Echtzeit-Systemen. In einer ereignisgesteuerten Architektur wie CAN werden alle Aktivitäten durch Ereignisse – d.h. durch signifikante Zustandsänderungen – ausgelöst. In zeitgesteuerten Architekturen wie TTP hinge- Anwendungsbereich CAN Flexible weiche Echtzeit-Systeme Steuerung Erweiterbarkeit Zeitliche Zusammensetzbarkeit Membership-Service Uhrensynchronisation Replica-Determinismus Fehlererkennung Jitter Maximale Übertragungsrate Buszugriff Nachrichtenlänge „Babbling Idiot“-Fehler Ereignisgesteuert von der Host CPU Sehr gut in nichtzeitkritischen Anwendungen Nein Nein Nein Nein Sender Lastabhängig variabel, groß 1 Mbit/s CSMA/CA 44/62 Steuerbits, 0 bis 8 Datenbytes wird nicht beherrscht gen löst das Erreichen eines bestimmten Punktes im Zeitablauf der globalen Zeitbasis die Aktivitäten aus. Die gesamte Kommunikation findet in einem periodischen Zeitraster statt. Während ereignisgesteuerte Kommunikationssysteme für weiche Echtzeit-Systeme (soft real time systems) mit hohen Anforderungen an Flexibilität und Erweiterbarkeit hervorragend geeignet TTP sind, kann bei Systemen, die unHarte Echtzeit-Systeme mit Zusammensetzbarkeitster harten Echtzeit-Schranken, mit und Zuverlässigkeits-Anforderungen hohen Verläßlichkeits- und ZuAutonome Zeitsteuerung des Kommunikationssystems sammensetzbarkeits-AnforderunNur wenn eingeplant gen arbeiten müssen, nicht auf das deterministische SystemverJa halten und die hohe FehlertoleJa ranz der zeitgesteuerten ArchitekJa tur verzichtet werden. Die nebenJa stehende Tabelle zeigt die wichSender und Empfänger tigsten Unterschiede zwischen Konstant, minimal CAN und TTP. 2 Mbit/s TDMA 21 Steuerbits, 1 bis 16 Datenbytes wird beherrscht 5 Der ausführliche Vergleich ist unter http://www.tttech.com/ im Menüpunkt „Technology – RELATED Literature“ zu finden. Systemtechnik Automobilelektronik ● Membership: Alle korrekten Knoten haben zu jedem Zeitpunkt die gleiche Sicht, wer korrekter Teilnehmer im System ist. Diese harten Konsistenzbedingungen erleichtern das Programmieren von fehlertoleranter Anwendungssoftware erheblich. So können auch komplexe Problemstellungen schneller gelöst werden. gesteuerte Betriebssystem Bild 8. Der erste TTPos. Als erster Anbieter TTP/C-Kommunikationsvon Produkten und Dienstlei- Controller wurde bei der stungen um TTP bietet Austria Mikro Systeme TTTech – ein spin-off Unter- in der Steiermark gefertigt. nehmen der Technischen Universität Wien – neben einzeln erhältlichen Hardware-Komponenten auch ein komplettes Evaluierungssystem bestehend aus fünf oder sieben TTP-Knoten an. Die Knoten basieren auf dem TTPchip, der ersten Halbleiterimplementierung eines dedizierten TTP/C-Kommunikations-Controllers (Bild 8), der von der Fa. Austria Mikro Systeme gefertigt wird. Das TTP-Evaluation-Cluster ermöglicht durch seine breite Auswahl an Schnittstellen (TTP/C, CAN, Ethernet, digitale E/As und analoge Eingänge) den direkten Vergleich mit konventionellen Technologien. So kann innerhalb relativ kurzer Zeit festgestellt werden, welche Vorteile durch TTP in speziellen Anwendungsbereichen realisierbar sind. Klare Verantwortlichkeiten im „Two-Level Design Framework“ In der ersten erhältlichen Software-Entwicklungsumgebung für TTP/C-basierte Systeme setzt TTTech die für die Time-Triggered Technology charakteristische, klare Trennung zwischen Gesamt- und Subsystem mit seinem „Two Level Design Framework“ konsequent um. Das „TTP Software Development Environment“ genannte Paket ermöglicht eine eindeutige Aufteilung der Verantwortlichkeiten zwischen System-Integrator und -Lieferant: Der Systemintegrator (z.B. ein Automobilhersteller) gibt die Systemfunktionen vor und definiert die Kommunikationsschnittstellen im Wert- und Zeitbereich. Auf der Subsystemebene bewahrt der Subsystemlieferant vollständige Autonomie in allen Hardware- und Software-Entscheidungen, solange er diesen Schnittstellen entspricht. Die klare Abgrenzung der Kompetenzen beugt der Vergeudung von Ressourcen durch widersprüchliche Implementierungen und lange Integrationstestphasen vor. Bild 7 zeigt die gesamte TTP-Software-Entwicklungsumgebung. Auf System- oder Clusterebene dient das Cluster Design Tool TTPplan zum Systementwurf und TTPview zur Datenvisualisierung im System. Die Ebene der Subsysteme oder Rechnerknoten wird sowohl durch das Download Tool TTPload als auch durch TTPbuild unterstützt. TTPbuild ist ein umfassendes Werkzeug, das eine fehlertolerantene Kommunikationsschicht und das Betriebssystem konfiguriert. Zur Komplettierung der Palette dient das zeit- DaimlerChrysler mit Prototyp Mehrere Automobilhersteller planen bereits den Einsatz von TTP/C für die Realisierung von X-by-Wire-Systemen ohne mechanische Rückfallebene. Ausschlaggebend dafür ist nicht nur das garantierte Echtzeit-Verhalten der zeitgesteuerten Architektur, sondern insbesondere auch das hohe Niveau an Fehlertoleranz von TTP/C. Am 3. September 1998 gab DaimlerChrysler bekannt, daß TTP/C bereits in einem voll funktionsfähigen Prototypen der E-Klasse implementiert wurde. Im Versuchsfahrzeug, das in Kooperation mit Continental Teves aufgebaut wurde, ist ein vollständiges Brake-by-Wire mit TTP/C-basierter Kommunikation realisiert: Alle vier Radbremsen werden anstelle eines konventionellen, hydraulischen Bremssystems ausschließlich über das fehlertolerante Computersystem gesteuert. Ein weiteres Anwendungsbeispiel ist eine Signal- und Weichensteuerungsanlage, die derzeit ein Eisenbahnausrüstungshersteller in Europa mit TTP/C entwickelt. Motorola – der weltweit größte Anbieter von Mikrocontrollern im Automobilbereich – hat als erster Chiphersteller eine Allianz mit TTTech zur Entwicklung und Herstellung von integrierten TTP/C-Modulen geschlossen. Auch Austria Mikro Systeme beabsichtigt, eine Weiterentwicklung des bestehenden TTPchips zu vermarkten. In Europa arbeitet man bei Philips Semiconductors – dem führenden Anbieter von Transceivern im Automobilbereich – an der Entwicklung eines ausfallsicheren Physical Layer für das TTP/Cgs Protokoll. Dr. Stefan Poledna verfügt über mehr als 15 Jahre Erfahrung in der Automobilindustrie und ist seit ihrer Gründung 1998 Geschäftsführer der TTTech Computertechnik GmbH. Er hat sich 1994 an der Technischen Universität Wien im Forschungsgebiet der fehlertoleranten Echtzeit-Systeme habilitiert und hält dort auch Vorlesungen. E-Mail: [email protected] Literatur [1] Kopetz, H.: Real-Time Systems: Design Principles for Distributed Embedded Applications. Kluwer Academic Publishers, 1997; ISBN 0-7923-9894-7. [2] Poledna, S.: Fault-Tolerant Real-Time Systems: The Problem of Replica Determinism. Kluwer Academic Publishers, 1996; ISBN 0-7923-9657-X. [3] Kopetz, H.: A Comparison of CAN and TTP. Proceedings of the IFAC Distributed Computer Systems Workshop, Como, Italy 1998. Georg Kroiss hat an der Wirtschaftsuniversität Wien Betriebswirtschaft mit dem Schwerpunkt Technologie-Marketing studiert. Er arbeitet als Forscher an der Vereinigung High-Tech Marketing und als Berater für TTTech. E-Mail: [email protected] 6