Skip to Content
UDS Simulator 2.0 Released
Docs0x22 Read Data By Identifier

Service Interaction Protocol

Read Data By ID

0x22
Protocol Identifier
The standard service for requesting data values from the ECU using 16-bit Data Identifiers (DIDs).
A Service Identifier (SID) is a single-byte value (0x00–0xFF) in position 0 of every UDS request frame. It specifies which diagnostic operation the client wishes the ECU to execute. The positive response echoes the SID with the high bit set (SID + 0x40).

DATA_ACCESS

SYNCHRONOUS
Client-requested data is fetched and returned in the immediate response payload.

IDENTIFIER_WIDTH

2 BYTES
Standard 16-bit DIDs are used to index ECU parameters, ranging from VIN to RPM.

MULTI_DID

SUPPORTED
Batch retrieval allows reading multiple DIDs in a single request frame.

Overview

ISO 14229-1

“The client uses this service to request data record values from the server by one or more data identifiers.”

Unlike services with Sub-Functions (like 0x10 or 0x19), this service relies entirely on Data Identifiers (DIDs) to define the data content.

Default Behavior

Service 0x22 is available in all diagnostic sessions, including the Default Session (0x01). It does not use a sub-function byte; the data records are identified solely by their 2-byte Data Identifiers (DIDs).

Protocol Anatomy (Single DID)

◆ PROTOCOL ANATOMY

View
REQUEST_TX

0x22 READ DATA BY ID

RESPONSE_RX

0x22 RESPONSE

Common Data Identifiers (DIDs)

Range
Category
Examples
0xF180 - 0xF19FIdentificationVIN (0xF190), ECU Serial (0xF18C), Active Session (0xF186)
0xF1A0 - 0xF1EFIdentificationReserved / OEM Specific
0x0100 - 0xEFFFVehicle MfrRPM, Speed, Temperatures, Torques
0xF200 - 0xF2FFPeriodicGrouped data for periodic transmission
0xFA00 - 0xFEFFSystem SpecificDevelopment & Calibration data

Lookup Logic

A single request can contain multiple DIDs. The ECU processes each identifier, fetches the data from the internal mapping engine, and concatenates the results in the response.

Workflow: Multiplexed DID Retrieval

4 steps
Tester
ECU
UDS DID Mapping and Retrieval Engine
Click to Enlarge

How the ECU resolves 16-bit identifiers to internal memory locations.

Example 1: Read VIN (0xF190)
tx_packet

Request

22 F1 90

> Get Vehicle Identification Number

rx_packet

Response

62 F1 90 31 42 41...

> Returns '1BA...' (ASCII Encoded)

Example 2: Multiple Identifiers
tx_packet

Request

22 12 34 56 78

> Read DID 0x1234 AND 0x5678

rx_packet

Response

62 12 34 [Data1] 56 78 [Data2]

> DIDs are interleaved with their data

Negative Response Codes

Error_Catalog

Negative Response Codes

THREAT_LEVEL3 HIGH2 MEDIUM5 NRCs TOTAL
ISO_14229_ANNEX_ANRC_ENGINE_V2