Time-Triggered Protocol
Time-Triggered Protocol (TTP)
TTP (Time-Triggered Protocol Class C oder kurz: TTP/C) ist ein Netzwerksystem für harte Echtzeit-Anforderungen. Der Zugriff auf das zweikanalige Übertragungsmedium erfolgt zeitgesteuert nach dem TDMA-Schema. Die Uhren der einzelnen Teilnehmer werden durch einen speziellen fehlertoleranten Startup-Algorithmus synchronisiert. Während des synchronen Betriebs werden die Uhren in jeder TDMA-Runde nachgestellt, um die Drift der lokalen Uhren auszugleichen. Dieser Uhrensynchronisationsalgorithmus arbeitet dezentral und ist fehlertolerant gegenüber beliebiger Einzelfehler.
Das Kommunikationsschema zwischen den Knoten wird a priori festgelegt (MEDL Message Descriptor List) und in jeden Kommunikationscontroller geladen. Die Korrektheit der MEDL kann unabhängig von der Anwendung verifiziert werden.
Ein unabhängiger Buswächter garantiert, dass immer nur ein Kommunikationskontroller sendet. Die Nachrichten sind über eine CRC geschützt und können auf zwei unabhängigen Kabeln redundant übertragen werden. Dadurch kann ein fehlerhaftes Steuergerät keine anderen Steuergeräte stören.
TTP wird in einer Reihe von industriellen Serienprojekten eingesetzt. Honeywell verwendet das Protokoll in den Triebwerkssteuerungssystemen (FADEC) für die Lockheed Martin F-16 und für das Trainingsflugzeug Aermacchi M 346 sowie in einem Fly-by-Wire-Cockpit. Im Airbus A380 Mega-Airliner wird TTP zur Steuerung des von Nord-Micro hergestellten Kabinendrucksystem eingesetzt. Hamilton Sundstrand hat sich für den Einsatz einer TTP-basierten Datenkommunikationsplattform in den Stromerzeugungs- und Kabinensystemen des Boeing 787 Dreamliner entschieden. Alcatel benutzt das Protokoll seit Juni 2002 als Feldbusprotokoll in der Bahnhofssignalsteueranlage ELEKTRA 2.
TTP/A
TTP/A (Time-Triggered Protocol Class A) ist ein weiteres zeitgesteuertes Protokoll der Time-Triggered Architecture, welches für die echtzeitfähige Ansteuerung von Sensoren, Aktuatoren und nicht sicherheitskritischen Steuergeräten konzipiert ist. Wie TTP/C verwendet TTP/A ein TDMA-Schema für die kollisionsfreie Übertragung von Nachrichten. TTP/A ist ein Master-Slave-System das für Low-Cost Feldbussystemanwendungen entwickelt worden ist TTP/A kann auf einem Standard 8-bit Microcontroller mit einer Standard UART (Universal Asynchronous Receiver Transmitter) implementiert werden, dieser Physical Layer ist aber im Prinzip austauschbar. In der Standardimplementierung verwendet TTP/A eine UART-Kodierung mit einem Startbit, 8 Datenbits, einem Paritybit und einem Stopbit. Die Kommunikation ist in Runden und Slots unterteilt, in einem Slot wird genau ein UART-Wort gesendet. Eine Runde setzt sich aus einer festen Abfolge von Slots zusammen, wobei jeder Slot fix einer bestimmten Nachricht zugeordnet ist. Man spricht in diesem Zusammenhang auch von einem Nachrichtenfahrplan oder Round Description List (RODL). Nachrichten werden somit periodisch mit einem vorhersagbaren Zeitverhalten übertragen. TTP/A unterstützt acht verschiedene RODL, sodass schnell zwischen verschiedenen Zusammenstellungen von Daten gewechselt werden kann.
TTP/A ist ein Master-Slave-System. TTP/A garantiert eine feste Antwortzeit, wenn keine Übertragungsfehler auftreten. Treten hingegen Fehler auf, so verzögert sich die Übertragung der Nachricht um eine Periode. Dies ist bei Sensordaten im Allgemeinen kein Problem, bei gesendeten Befehlen müssen diese jedoch idempotent sein, um ein fehlertolerantes Verhalten im Zeitbereich zu garantieren.
TTP/A bietet ein Addressierungsschema namens Interface File System (IFS) für bis zu 256 Knoten mit je 64 Files. Ein File besteht aus bis zu 256 Records zu je 4 Bytes. Das IFS bietet eine einheitliche Adressierung von Datenwörter bei der Erstellung von Nachrichtenfahrplänen.