Zum Inhalt springen
AutoST by Zyberum GmbH
Menü
GlossarUDS

ReadDataByIdentifier (0x22)

UDS ReadDataByIdentifier (0x22) liest einen Data Identifier (DID) aus einem Steuergerät. Die Request- und Response-Bytes, welche Session nötig ist und was zu prüfen ist.

Aktualisiert Diese Seite als Markdown

Kurz gesagt

ReadDataByIdentifier (0x22) liest einen Datensatz aus einem Steuergerät über seinen zwei Byte langen Data Identifier (DID). Der Request 22 F1 90 fragt den VIN-DID an, die positive Antwort 62 F1 90 gefolgt von den Daten liefert ihn. Viele DIDs sind in der Default Session lesbar, andere brauchen die Extended Session oder SecurityAccess. Es ist der meistgenutzte UDS-Lese-Service, also entscheiden seine Zugriffsregeln, was ein Tester lesen kann.

Was ist ReadDataByIdentifier (0x22)?

ReadDataByIdentifier liest einen benannten Datensatz aus einem Steuergerät. Die zwei Bytes nach der Service-ID sind der Data Identifier (DID); die Antwort spiegelt den Identifier und hängt die Daten an.

Ein normaler Ablauf:

RichtungBytesBedeutung
Request22 F1 90DID 0xF190 lesen (VIN)
Positive Antwort62 F1 90 57 30 4C ...Identifier plus 17-Byte-VIN
Negative Antwort7F 22 31requestOutOfRange, DID nicht unterstützt

Weitere typische negative Antworten sind 7F 22 13 (incorrectMessageLengthOrInvalidFormat, ungerade Anzahl Identifier-Bytes), 7F 22 33 (securityAccessDenied, DID nur nach einem Unlock lesbar) und 7F 22 7F (serviceNotSupportedInActiveSession).

Wo ist es definiert?

ISO 14229-1:2020 definiert ReadDataByIdentifier (0x22) im Data transmission functional unit. Die Norm beschreibt den Request als SID gefolgt von einem oder mehreren zwei Byte langen Identifiern, die positive Antwort als jeden Identifier gefolgt von seinem Datensatz und den reservierten Identifikations-DID-Bereich 0xF180 bis 0xF1FF. Dateninhalt und Länge jedes DID kommen aus der OEM-Diagnosebeschreibung. Der Transport auf CAN ist ISO 15765-2, weshalb ein langer Datensatz als Mehr-Frame-Nachricht ankommt.

Was es in der Praxis bedeutet

ReadDataByIdentifier ist das Rückgrat der Diagnose. Identifikationsdaten, Messwerte, Kalibrierstatus und Fehlerkontext werden alle so gelesen. Die Zugriffsregel pro DID, welche Session, ob SecurityAccess nötig ist, kommt aus der Spezifikation. Bei der Validierung wird geprüft:

  • jeder DID antwortet nur in der vorgesehenen Session und auf dem vorgesehenen Security-Level;
  • ein nicht unterstützter Identifier gibt NRC 0x31, nicht einen falschen oder leeren Datensatz;
  • ungerade oder abgeschnittene Requests geben NRC 0x13;
  • Länge und Typ der Antwort passen zur Spezifikation.

Wir sehen regelmäßig Identifikations-DIDs wie Seriennummern und Fingerprints, die ohne Session und ohne Unlock lesbar sind, was oft in Ordnung ist, und gelegentlich sensible Datensätze, die in der Default Session liegen und das nicht sollten.

Wie AutoST es testet

AutoST liest DIDs bei der Enumeration, entweder den Identifikationsbereich 0xF180 bis 0xF19F als Default oder den vollen Bereich 0x0000 bis 0xFFFF, und hält fest, welche Identifier in welcher Session antworten. Mit einer importierten ODX-, PDX- oder CDD-Datei wird jeder gefundene Identifier mit seinem echten Namen und dekodierten Wert statt einer rohen Zahl gezeigt, sodass das Ergebnis wie deine Diagnosespezifikation liest und nicht wie ein Hex-Dump.

FAQ

Häufig gestellte Fragen

Kann ein Request mehrere DIDs lesen?

Ja. ISO 14229-1 erlaubt mehrere zwei Byte lange Identifier in einem einzigen 0x22-Request, etwa 22 F1 90 F1 87. Das Steuergerät antwortet mit jedem Identifier gefolgt von seinen Daten, begrenzt durch die Transportschicht und das P2-Timing.

Was bedeutet 62 F1 90?

Die Response-Service-ID ist die Request-SID plus 0x40, also wird aus 0x22 das 0x62. F1 90 spiegelt den gelesenen Identifier, und die Bytes danach sind der Datensatz, hier die 17 ASCII-Zeichen der VIN.

Welche DIDs sind standardisiert?

ISO 14229-1 reserviert den Bereich 0xF180 bis 0xF1FF für Identifikations-DIDs wie die VIN (F190) sowie Applikations- und Boot-Software-Identifier. Die meisten anderen Identifier definiert der OEM in der ODX- oder CDD-Datei.

Quellen

Passende Seiten

Sieh es auf deinem ECU

Ein Begriff, der für dein Steuergerät zählt?

In 15 Minuten sagen wir dir, wie AutoST ihn testet, wie ein Finding aussieht und was er für deinen ISO/SAE-21434-Nachweis bedeutet.

  • Direkte Antwort von einem ECU-Security-Engineer
  • Welcher Test den Begriff abdeckt
  • Kostenlos und unverbindlich
Tom Zaubermann

Deine Demo ist mitTom ZaubermannGründer von Zyberum, früher Leiter des VW InCar Security Testing Lab

Bereits im Einsatz bei Tier-1-, Tier-2-Zulieferern und OEMs. Referenzen auf Anfrage.

Ruf uns an: +49 176 439 17074automotive@zyberum.com

Oder schreib uns eine Nachricht

Wir antworten innerhalb eines Werktags.

Ruf uns anAutoST-Team fragen

Wähle einen Termin, der dir passt

In neuem Tab öffnen