Blog 21.3.2025

UDS – Das Protokoll, ohne das Fahrzeuge stillstehen 

Intelligente Industrie

Woman and man standing by electric car prototype

UDS, kurz für “Unified Diagnostic Services” – hinter dieser unscheinbaren Abkürzung verbirgt sich ein mächtiges Protokoll, ohne welches die moderne Automobilelektronik nicht denkbar wäre. Es ermöglicht die Kommunikation und Wartung von Steuergeräten, wie sie in Autos, Transportmaschinen, Baumaschinen und vielem mehr zum Einsatz kommen. Somit wird es erst durch UDS möglich, Funktionsweise und etwaige Fehler der elektronischen Herzstücke unserer Fahrzeuge zu diagnostizieren und zu überprüfen.

Stürzt ein Webbrowser oder ein Textverarbeitungsprogramm ab, geht die Welt davon noch nicht unter. Bei der Software in den elektronischen Steuergeräten, die sich in Fahrzeugen, Baumaschinen, Industriemaschinen uvm. befinden, können hingegen schon enorme Schäden entstehen. Eine einwandfreie Funktionsweise dieser Maschinen ist unerlässlich. Um diese fortlaufend zu garantieren, und um etwaige Fehler zu entdecken, zu analysieren und zu beheben, sind Diagnosedaten notwendig. Das UDS-Protokoll erfüllt den Zweck, diese Diagnosedaten aus elektronischen Steuergeräten zu gewinnen und letztere anzusteuern.  

Spezifikation und Standard

Das UDS-Protokoll ist als ISO 14229-1 standardisiert. Es ist ein Client-Server-Protokoll, bei dem das Steuergerät (ECU, “Electronic Control Unit”) als Server agiert, das von einem Client Anfragen erhält und beantwortet. Ein solcher Client kann auf einem beliebigen Computer laufen, solange eine Verbindung zum Steuergerät besteht – das UDS-Protokoll erlaubt hierfür eine Reihe verschiedener physischer Verbindungsstandards wie z.B. CAN und Ethernet. Dies ist u.a. deshalb möglich, weil das UDS-Protokoll ein reines Sitzungs- und Anwendungsprotokoll ist (Schichten 5 und 7 des OSI-Modells). 

Der Standard definiert ausführlich, wie die Kommunikation zwischen dem Client und dem Server stattfindet und mögliche Kommunikationsflüsse, also mögliche Client-Anfragen und dazugehörige Server-Antworten.  

Ein zentraler Bestandteil des Protokolls sind die sogenannten UDS-Services. Hierbei fragt der Client vom Server eine Dienstleistung an, die vom Steuergerät ausgeführt wird und mit einem Code und ggf. Daten beantwortet wird. Es gibt folgende Kategorien von UDS-Services: 

  • 11 Services für “Diagnostic and Communications Management”, z.B. ECU-Reset, Sicherheitszugriff und Authentifizierung. 
  • 7 Services für “Data Transmission”, z.B. Datenwert per ID (s.u.) oder Adresse auslesen oder schreiben. 
  • 2 Services für “Stored Data Transmission”; Diagnosedaten löschen oder Diagnostic Trouble Codes (s.u.) auslesen. 
  • 1 Service für “Input/Output Control”; interne und externe I/O-Signale manuell ansteuern. 
  • 1 Service für “Remote Activation of Routine”; in der Firmware hinterlegte Software-Routinen starten, stoppen, oder Resultate abfragen. 
  • 5 Services für “Upload/Download”, z.B. neue Software, Daten oder Dateien zum Steuergerät übertragen. 

Zusätzlich zu diesen 27 standardisierten UDS-Services kann der Hersteller eines Steuergeräts eigene Dienste definieren. Darüber hinaus definiert der Standard eine Reihe von Antwortcodes (NRC, “Negative Response Code”) für Fehler während der UDS-Kommunikation. 

Steuergeräte verfügen über eine Vielzahl von Datenpunkten, die über deren Data Identifiers (DIDs) ausgelesen und teilweise auch beschrieben werden können. Unter solchen Datenpunkten fallen z.B. Sensordaten wie Geschwindigkeit, Temperatur oder Information wie die Fahrzeug-Identifizierungsnummer oder Software-Versionen. 

Während des Betriebs des Steuergeräts fallen Diagnosedaten an. Von besonderer Bedeutung sind hierbei die Diagnostic Trouble Codes (DTC), die im Fehlerspeicher des Steuergeräts abgelegt werden. Diese Codes erlauben es, Technikern und Entwicklern Fehler und Probleme während des Betriebs nachzuvollziehen. 

Mit wenigen Komponenten und Konzepten beschreibt UDS ein Protokoll, das flexibel, elegant erweiterbar und zugleich umfassend ist. 

UDS bei Gofore 

Moderne Fahrzeuge und Maschinen werden immer leistungsfähiger und komplexer, und heutzutage können sich bereits über hundert ECUs in einem einzigen Gefährt sammeln. Der Trend zu Elektrofahrzeugen und elektrischen Industriemaschinen mit ihren Batteriesystemen, Invertern und Motorkontrolleinheiten verstärkt diese Entwicklung. Generell gilt, je mehr Elektronik, je mehr Sensoren, umso mehr Steuergeräte, und umso größer der Bedarf nach einem einheitlichen, standardisierten Diagnoseprotokoll. UDS gewährleistet Kompatibilität zwischen der Hardware verschiedener Hersteller und Zulieferer. Mit dem Internet verbundene UDS-Clients eröffnen zudem interessante zukunftssichere Anwendungsszenarien wie Remote-Überwachung und –Verwaltung von Fahrzeugflotten und die Installation von Over-the-Air-Updates. 

Gofore begegnet seinen Kunden und begleitet sie an jeder Stelle der Transformation hin zur Intelligenten Industrie. Wir haben bereits für mehrere Kunden eine Reihe von UDS-basierten Lösungen entwickelt, z.B. für das Einspielen und Prüfen von Firmware-Updates. Nun steht der nächste Schritt an, in Form einer vereinheitlichten, plattformunabhängigen Bibliothek samt Programmierschnittstelle, verfügbar sowohl in C als auch Python. Kunden haben die Wahl und ein hohes Maß an Flexibilität: Unser UDS-Client steht direkt zur sofortigen Benutzung bereit, oder kann nach den Wünschen des Kunden frei angepasst werden. Die Bibliothek samt API deckt ein hohes Maß an UDS-Funktionalität ab und ermöglicht die Einbindung in eigene, bereits existierende Programme und Toolchains. Die Wahl der Programmiersprache ermöglicht eine Integration in eine Vielfalt von Umgebungen. 


Erfahre mehr über unser Angebot rund um den Unified Diagnostic Service von Gofore

Adrian Herrmann

Senior Software Developer

Adrian begeistert sich für Embedded-Programmierung und für die Herausforderungen begrenzter Hardware-Ressourcen, und hat u.a. Erfahrung mit eingebetteten Linux-Kerneln und IoT-Betriebssystemen. Darüber hinaus war er an interdisziplinären Projekten tätig wie solchen, die C++ und Python kombinieren und miteinander vereinen. Außerhalb des Technischen interessiert ihn das Zusammenspiel von Technologie, Kultur, Politik und Gesellschaft und der Blick für das große Ganze überall dort, wo diese zusammenkommen. 

 

Zum Seitenanfang