Unser Knowhow in verschiedenen Bereichen

UDS – ISO 14229 (Unified Diagnostic Services)

UDS (Unified Diagnostic Services) ist ein Diagnose­protokoll das auf dem KWP2000 und der ISO 15765 (Diagnostic communication over Controller Area Network (DoCAN)) beruht. Dieses einheitliche Diagnose­protokoll ermöglicht es alle in einem Fahrzeug verbauten Steuer­geräte mit Hilfe von UDS ansprechen und warten zu können. Der Diagnose­dienst nutzt dabei die fünfte und siebte Schicht des OSI-Modells. 

Vor allem im Automobilbereich findet der UDS-Dienst Verwendung. Er wird aber auch in anderen Branchen als Standard eingesetzt. Die in UDS definierten Botschaften werden dabei an die Steuer­geräte im Fahrzeug gesendet, welche die vorgegebenen UDS-Dienste bereitstellen müssen. Somit ist es beispiels­weise möglich, den Fehler­speicher auszulesen oder die Steuer­geräte mit einer neuen Firmware zu aktualisieren.

Funktion

Eine UDS-Botschaft ist immer einheitlich aufgebaut und unterteilt sich in SID-Feld (Service-ID), Parameter­feld und Datenfeld. Dabei funktioniert die Kommuni­kation nach dem Anfrage-Antwort-Prinzip. Der Client startet mit einer Anfrage an das Steuergerät und dieses sendet nach Beendigung des Dienstes eine positive oder negative Antwort zurück. Dauert die Ausführung länger als die vorgegebene Laufzeit, dann muss das Steuergerät in regelmäßigen Abständen eine vorläufige Antwort (requestCorrectlyReceived-Response­Pending) senden. Somit wird der Erhalt der Anfrage bestätigt und mitgeteilt, dass die Ausführung des Dienstes noch andauert. UDS selbst erlaubt dabei Botschaften mit beliebiger Länge, die maximale Größe wird durch das verwendete Transport­protokoll definiert.

Das oft eingesetzte ISO-TP (ISO 15765-2)  erlaubt beispielsweise Botschaften bis zu einer Länge von 4095 Byte. Es kann aber auch gänzlich auf eine Antwort des Steuergerätes verzichtet werden. Dazu ist in jeder UDS Botschaft ein extra Bit vorgesehen. Ist dieses Bit gesetzt, wird keine Antwort auf einen erfolgreich durchgeführten Dienst zurückgesendet. Nur in gewissen Fehlerfällen gibt es noch eine negative Antwort vom Steuergerät. Dies wird vor allem bei der sogenannten funktionalen Adressierung eingesetzt. Dabei handelt es sich um einen Broadcast an alle Steuergeräte. Dienste, die nur an ein Steuergerät adressiert sind, nennt man dagegen physikalisch adressiert.