자동차-통신

UDS 프로토콜

_minit 2024. 10. 2. 08:11

UDS(Unified Diagnostic Service)는 ISO 14229-1을 준수하는 공통화된 차량용 Diagnostic 프로토콜이다.

ECU와 고장진단장치/EOL 사이의 소프트웨어 및 펌웨어 업데이트, Data 모니터링, 차량의 문제를 진단하고 확인 등의 목적으로 사용된다.

진단통신은 Request/Response 구조를 가진다.

UDS의 일반적 구성

  • CAN 2.0A Standard Identifier를 가장 많이 사용하며 8 Bytes의 Data Filed를 통해 Data를 구성한다
  • UDS 전송 명령어의 종류는 3가지 형태로 존재한다.
    • Service Request
    • Positive Response
    • Negative Response

 

Service Request

  • UDS sender가 UDS receive에게 요청하는 명령어를 담는 Frame이다.

Positive Response

  • Service Request에 대해서 ECU가 정상 수신하여 결과를 담아 전달하는 Frame이다.
  • 일반적으로 Service Request ID에 0x40을 합하여 회신한다.

Negative Response

  • Service Request에 대해서 ECU가 정상 동작 및 회신하지 못하는 경우에 전달한다.
  • SID 위치에 7F가 고정적으로 들어가면 비정상 동작의 원을 담아 전달한다.

 

UDS-PCI

PCI(Protocol Control Information)는 메시지 전송 제어 정보로 메시지를 효율적으로 전송하기 위해 데이트 링크 계층에서 사용한다.

  1. 단독 메시지 전송
    • SF (Single Frame) : 8 Bytes 이하의 UDS data를 전송할 때 사용한다.
  2. 다중 메시지 전송
    • FF (First Frame) : 9 Bytes 이상의 UDS data를 전송할 때는 8 Bytes 단위로 나누어 전송한다.
    • CF (Consecutive Frame) : Multi Frame의 FF를 전송 후 나머지 Frame으로 Sequence number를 포함하여 사용한다.

→ 데이터의 길이와 사용되는 통신 방식의 패킷 사이즈에 따라 Single Frame 또는 Multi Frame 방식으로 통신한다.

 

CAN TP 통신과 PCI부분은 거의 동일하며 뒤에 어떤 data가 들어오는지가 살짝씩 다르다.

 

또한 UDS(undefined Diagnostic Service)는 정의되지 않은 진단 규정 정도로 해석할 수 있으며 회사 내에서 임의로 수정하여 만든 통신 규약이라서 이해하면 쉽다. 사내에서 임의로 수정하였기 때문에 회사마다 규칙이 달라 자회사의 규칙을 숙지하도록 하자.

UDS의 약자 해석에 따라 사용법이 달라질 수 있으니 꼭 확인하도록 하자

728x90

'자동차-통신' 카테고리의 다른 글

종단 저항(Termination Resistor)이란?  (0) 2024.10.16
FlexRay에 대해서  (0) 2024.10.02
J1939  (0) 2024.10.02
CAN(Controller Area Network)  (1) 2024.10.02
OBD (On-Board-Diagnostics)  (1) 2024.10.02