Unified Diagnostic Services. 정비소 진단기와 ECU가 대화하는 규약이자, 차 안에서 펌웨어를 바꿔 쓰는 통로다.
기본 형식
요청 10 03 (SID 0x10, 하위기능 0x03)
성공 응답 50 03 SID + 0x40
실패 응답 7F 10 78 7F · 원래 SID · NRC
0x78(요청은 정상 수신, 처리 중)이 실무에서 가장 자주 보인다.
플래시 소거처럼 오래 걸리는 작업에서 진단기가 타임아웃 내지 않게 붙잡아 둔다.
자주 쓰는 서비스
| SID | 이름 | 쓰임 |
|---|---|---|
0x10 | Diagnostic Session Control | 기본·확장·프로그래밍 세션 전환 |
0x11 | ECU Reset | 리셋 |
0x14 / 0x19 | Clear / Read DTC | 고장 코드 |
0x22 / 0x2E | Read / Write Data By Identifier | DID로 값 읽기·쓰기 |
0x27 | Security Access | seed/key 인증 |
0x31 | Routine Control | 소거·자가진단 루틴 |
0x34·0x36·0x37 | Download · Transfer · Exit | 펌웨어 전송 |
0x3E | Tester Present | 세션 유지 |
왜 세션을 나누나
기본 세션에서는 읽기만 되고, 프로그래밍 세션에 들어가야 플래시가 열린다. 주행 중에 실수로 펌웨어가 지워지는 일을 막는 구조다.
전송 계층과 분리돼 있다
UDS는 CAN 전용이 아니다. CAN 위에서는 ISO-TP, 이더넷 위에서는 DoIP가 실어 나른다. "UDS = CAN" 이라고 말하면 틀린다.