XCP 의 기본 개념
- XCP 는 Universal Measurement and Calibration Protocol 을 뜻하며 차량용 네트워크 프로토콜인 (CAN, CAN-FD, Lin, Ethernet 등) 에 사용이 가능하다. 여기서 XCP 의 X 는 가변적이고 교환가능한 전송 레이어를 의미한다.
- ASAM (Association for Standardization of Automation and Measuring System) 에서 XCP 표준화를 진행했다.
※ ASAM 은 자동차 OEM, 부품업체, 툴 공급업체로 구성된다. - XCP 는 CCP (CAN Calibration Protocol) 을 승계하는 프로토콜이다.
- CCP 의 컨셉은 CAN 을 통해 ECU 내부 데이터에 접근하여 읽기/쓰기를 허용하는 것이다.
- XCP 의 주 사용 목적은 위의 CCP 컨셉에서 얘기한 것과 동일하게 ECU 내부 데이터의 읽기/쓰기를 통해 ECU 내부 파라미터의 측정 및 캘리브레이션을 하는 것이다.
XCP 의 등장 배경
특정 S/W 기능의 최적화를 진행 할 때 코드, 파라미터 값 등을 수정하고 실행하여 결과 값을 확인하는 형태로 반복적으로 수행한다. 그리고 이러한 S/W 기능은 각기 다른 개발 단계 (모델, 소스 코드, Object 코드 등) 에서 실행 가능한 형태로 존재할 수 있으며 개발 단계에 맞춰 다양한 런타임 환경 (Model 기반 Tool, PC, ECU 등) 에서 최적화를 진행 할 수 있다.
그런데 일반적으로 S/W 가 실행되는 다양한 "런타임 환경"과 "측정 및 캘리브레이션 툴이 동작하는 PC 간"의 통신 프로토콜, 구성, 측정 데이터 포맷, 측정 및 캘리브레이션 Flow 등은 서로 다른 제작자에 의해 개발되어 상이한 경우가 많아 적용하는데 어려움이 있다.
이러한 어려움을 해결하고자 XCP 표준이 작성되었다.
XCP - ASAM
XCP 는 ASAM 의 인터페이스 모델에 기반하여 정의된다.
해당 그림은 다음 아래 3가지에 대한 인터페이스를 나타내는 그림이다.
- 측정 및 캘리브레이션 시스템 (XCP Master) 과 ECU (XCP Slave)
- 측정 및 캘리브레이션 시스템 (XCP Master) 과 기술 파일 (description file, a2l)
- 측정 및 캘리브레이션 시스템 (XCP Master) 과 상위 레벨의 자동화 시스템
Interface 1 : ASAM MDC-1 MC
네트워크 관련 물리적 부분 및 통신 프로토콜 부분에 대한 인터페이스이다.
※ ASAP1a, ASAP1b 인터페이스 확인
Interface 2 : ASAM MDC-2 MC
XCP 는 주소지향적으로 동작하며 객체에 대한 읽기 / 쓰기 접근을 하기 위해서는 항상 주소를 입력해야 한다.사용자가 항상 파라미터의 주소 값을 알기 어렵기 때문에, symbol 을 지정, 매핑하는 정보 파일이 필요하며 해당 인터페이스는 이에 해당한다. (A2L ECU 기술 파일)
Interface 3 : ASAM MDC-3 MC
테스트벤치 자동화와 같이 측정/캘리브레이션 툴에 다른 시스템을 연결하는데 사용되는 인터페이스이다.
XCP 구조
XCP 는 마스터-슬레이브 구조를 가지며 Network Topology 는 Bus 방식을 이용한다.
Bus 방식은 한번에 하나의 통신 가능하며 채널을 선점하여 통신하는 방식이다.
여기서 XCP 마스터는 측정/캘리브레이션 툴을 의미하며 XCP Slave 는 각 ECU 들을 의미한다.
슬레이브는 한번에 하나의 마스터와만 통신할 수 있으며 마스터는 동시에 여러 개의 슬레이브와 통신할 수 있다.
Reference
Andreas Patzer, Rainer Zaiser, XCP-ECU 개발을 위한 표준 프로토콜 - 프로토콜 기초와 응용분야 (Vector, 2014)
'기타 > XCP (파라미터 측정 및 캘리브레이션)' 카테고리의 다른 글
06. XCP 전송 레이어 (0) | 2022.01.04 |
---|---|
05. DTO 교환 - 동기화 데이터 교환 (0) | 2022.01.04 |
04. CTO 교환 (0) | 2022.01.03 |
03. XCP 프로토콜 레이어 (1) | 2022.01.02 |
02. XCP 프로토콜의 기초 (1) | 2022.01.02 |