Automotive Diagnostics By: Praveen Nidasesi. Unified Diagnostic Services (UDS) – ISO 14229.
Introduction to UDS UDS Architecture Services Overview Sessions & Security Data Read/Write NRC & Testing Tools & Summary.
UDS stands for Unified Diagnostic Services Standard: ISO 14229 Used for ECU diagnostics, flashing, and monitoring.
ECU fault diagnosis Vehicle compliance Programming & coding Automotive QA validation.
Tester ↔ ECU Request / Response mechanism Service ID (SID) based.
CAN, LIN, FlexRay, Ethernet Uses ISO-TP for segmentation Multi-frame handling.
Session Control (0x10) ECU Reset (0x11) Security Access (0x27) Read/Write Data (0x22 / 0x2E).
Default Session Extended Session Programming Session.
Hard Reset Soft Reset Key Off/On behavior. ECU Reset – 0x11.
Seed & Key mechanism Unlock protected functions Prevents unauthorized access.
Reads ECU parameters Example: 22 F1 90 Response: 62 F1 90 XX XX.
Write ECU data Requires security unlock. Write Data by ID – 0x2E.
Start / Stop / Request Results Used for calibration and testing.
Used in flashing Download request Transfer data blocks.
0x10 General Reject 0x13 Invalid Format 0x33 Security Denied 0x7F Service Not Supported.
ECU Validation Integration Testing Regression & Automation.
CANoe / CANalyzer ODIS Python CAN Libraries. Tools for UDS Testing.
SID (Hex) Service Name Purpose / Usage 0x10 Diagnostic Session Control Switch ECU to default, programming, or extended session 0x11 ECU Reset Restart ECU (hard, key-off-on, etc.) 0x14 Clear Diagnostic Information Clear stored DTCs in ECU 0x19 Read DTC Information Read Diagnostic Trouble Codes, freeze frame, extended data 0x22 Read Data By Identifier (RDBI) Read data (VIN, SW version, sensor values, etc.) 0x23 Read Memory By Address Access raw memory content 0x27 Security Access Unlock ECU functions (via challenge–response) 0x28 Communication Control Enable/disable certain ECU comms 0x2E Write Data By Identifier (WDBI) Write config/coding data 0x2F Input Output Control By Identifier Control actuators (fan, lights, relays, etc.) 0x31 Routine Control Start/stop routines (self-test, checksum, erase memory) 0x34 Request Download Prepare ECU for software flashing 0x35 Request Upload Retrieve ECU memory contents 0x36 Transfer Data Send/receive flash data blocks 0x37 Request Transfer Exit Complete flashing/upload sequence 0x3D Write Memory By Address Write directly to ECU memory 0x3E Tester Present Keep session alive, prevent timeout 0x83 Access Timing Parameters Configure diagnostic timing values.
Tester Tool → ECU 1. Send Request (SID) 2. ECU Processes 3. ECU Sends Response Positive Response: SID + 0x40 Negative Response: 0x7F + SID + NRC.
Single Frame (SF) First Frame (FF) Consecutive Frames (CF) Flow Control (FC) Used when data > 7 bytes.
Request: 10 03 Meaning: Extended Diagnostic Session Response: 50 03 Meaning: Session Activated.
Request: 22 F1 90 Meaning: Read VIN Response: 62 F1 90 31 48 47 43 ....
Request: 27 01 → Request Seed Response: 67 01 XX XX Request: 27 02 YY YY → Send Key Response: 67 02 → Unlocked.