Wir unterscheiden die folgenden Telegrammformate:
-Telegramme ohne Datenfeld
-Telegramm mit variabler Länge von 4 bis 249 Bytes und somit Nutzdaten im Umfang von 1 bis 246 Byte
-Telegramm mit fester Datenlänge von 8 Byte Daten
-Token Telegramm
-Für kurze, positive Antworten ist ein Kurztelegramm definiert.
Telegramm ohne Datenfeld:
SD1 |
DA |
SA |
FC |
FCS |
ED |
Telegramm mit variabler Länge:
SD2 |
LE |
LEr |
SD2 |
DA |
SA |
FC |
PDU |
FCS |
ED |
Die PDU hat eine variable Länge zwischen 1 und 246 Byte.
Telegramm mit fester Datenlänge:
SD3 |
DA |
SA |
FC |
PDU |
FCS |
ED |
Die PDU hat eine feste Länge von 8 Byte.
SD4 |
DA |
SA |
SC |
SC steht für Short Confirmation (= Kurzquittung). SD bedeutet Start Delimiter (= Anfangsbegrenzer), wobei diese vier unterschiedliche Werte annehmen können. Somit markiert ED als End Delimiter den Abschluss eines Telegramms. Die einzelnen Steuerfelder haben für UART die folgende Codierung:
SD1 |
SD2 |
SD3 |
SD4 |
ED |
SC |
0x10 |
0x68 |
0xA2 |
0xDC |
0x16 |
0xE5 |
SC, SD1, SD2, SD3, SD4 und ED haben zueinander Hamming Distanz 4 (HD=4), d.h. sie unterscheiden sich in mindestens 4 Bit. Somit ist auch das Einzelzeichen SC ein gültiges Telegramm mit HD=4.
Für Telegramme die nur bestätigt werden müssen, ist SC ein gültiges Antworttelegramm. Für Telegramme die mit Daten beantwortet werden müssen, kann mit einem SC Telegramm signalisiert werden, dass die Daten im Moment noch nicht verfügbar sind.
DA = Destination Address (Zieladresse)
SA = Source Address (Quellenadresse)
LE = Length (Längenangabe)
LEr = Length repeated (Wiederholte Länge)
FC = Function Code (Funktionscode)
PDU = Protocol Data Unit (Nutzdaten)
Das Datenfeld PDU setzt sich aus einem Adressteil und den eigentlichen Nutzdaten zusammen. Der Adressteil enthält 0 bis maximal 2 Adresserweiterungsbytes in der Form von Dienstzugriffpunkten (SAP = Service Access Points). Die Nutzdaten umfassen ohne SAPs maximal 246 Byte und mit SAPs maximal 244 Bytes.