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 Übertragungsmedium erfolgt abwechselnd (TDMA-Schema), wobei die Uhren der einzelnen Teilnehmer ständig synchronisiert werden. Ein verteilter, fehlertoleranter Uhrensynchronisationsalgorithmus toleriert beliebige Einzelfehler.
Das Kommunikationsschema zwischen den Knoten wird a priori festgelegt (MEDL Message Descriptor List) und in jeden Kommunikationscontroller geladen.
Ein unabhängiger Buswächter garantiert, dass immer nur ein Kommunikationscontroller senden darf. 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.
Die Korrektheit der MEDL kann unabhängig von der Anwendung verifiziert werden.
TTP wird in einer Reihe von industriellen Serienprojekten eingesetzt. Honeywell verwendet das Protokoll in den Triebwerkssteuerungssystemen 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
Neben TTP/C gibt es auch TTP/A (Time-Triggered Protocol Class A), ein echtzeitfähiges Sensor-Aktuator-Bussystem. 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 RODLsodass 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), welches bis zu 256 Knoten mit je 64 Files addressieren kann. Ein File besteht aus bis zu 256 Records zu je 4 Bytes. Das IFS bietet eine einheitliche Addressierung von Datenwörter bei der Erstellung von Nachrichtenfahrplänen.