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