XCP
계측 및 캘리브레이션 프로토콜의 기초

XCP 계측 및 캘리브레이션 프로토콜

XCP(Universal Measurement and Calibration Protocol)는 ECU 메모리에 읽기 및 쓰기 액세스를 위한 인터페이스입니다. 파라미터와 계측된 변수에 대한 액세스는 주소 지향적입니다. 이러한 데이터의 속성 및 메모리 주소는 A2L 파일 형식으로 설명됩니다. A2L 파일에는 메모리 액세스를 활성화하고 전송된 데이터를 해석하는 데 필요한 모든 정보가 포함되어 있습니다.
XCP는 마스터-슬레이브 솔루션으로 설계되었습니다. 컨트롤러에는 마스터의 메모리 액세스 요청에 응답하는 프로토콜 드라이버가 포함되어 있습니다. ECU 어플리케이션 코드를 다시 컴파일하지 않고도 XCP 마스터의 각기 다른 구성을 통해 다양한 계측 및 캘리브레이션 작업을 수행할 수 있습니다.
이 방법은 보편적으로 활용되며 임베디드 ECU에 국한되지 않습니다. XCP를 사용하여 PC의 시뮬레이션 응용 프로그램과 같은 모든 소프트웨어 응용 프로그램에서 계측 데이터를 수집하고 파라미터를 조정할 수 있습니다.

장점

  • ASAM에서 표준화 한 프로토콜로서 많은 툴에서 사용
  • CAN, CAN FD, FlexRay, Ethernet 등과 같은 다양한 전송 계층 지원
  • 최적화를 통한 최소 자원(ECU의 메모리 및 런타임, 버스 부하)
  • 계측을 이벤트와 동기화. ECU의 타임스탬프도 기록
  • 슬레이브에서 가용 XCP 기능을 쿼리하여 마스터와 슬레이브 간의 플러그 앤 플레이 통신
  • ECU의 동기식 데이터 스티뮬레이션
  • 바이패싱
  • 초기 계측 지원(재시작 모드)

이중 계층 프로토콜인 XCP는 프로토콜과 전송 계층을 지속적으로 서로 분리하고 싱글 마스터/멀티 슬레이브 접근법을 사용합니다.
XCP 프로토콜은 싱글 마스터/멀티 슬레이브 컨셉에 기반합니다.

프로토콜 계층과 전송 계층

Graphic protocol and transport layers of XCP
프로토콜 계층과 전송 계층으로 XCP 구분

XCP는 서로 다른 전송 계층을 기반으로 동일한 프로토콜 계층을 활용할 수 있습니다. 이 프로토콜은 사용하는 네트워크의 형식과 무관하게 작동하는 보편적인 계측 및 캘리브레이션 프로토콜입니다. ASAM은 다음의 표준 전송 계층을 규정합니다.

 

  • XCP on CAN 및 CAN FD
  • XCP on SxI (SPI, SCI)
  • XCP on Ethernet (TCP/IP 및 UDP/IP)
  • XCP on FlexRay

싱글 마스터 / 멀티 슬레이브 개념

Graphic XCP communication model
XCP 통신 모델과 CTO/DTO

계측과 캘리브레이션 시스템은 XCP 마스터의 역할을 맡고, ECU는 슬레이브로 작동합니다. 마스터와 슬레이브는 각각 통합 XCP 드라이버에서 통신합니다. 각 슬레이브에 대한 ECU 기술 파일(A2L 포맷)이 있고, 이것은 무엇보다도 기호 변수 이름과 그 주소 범위의 사이 및 데이터의 물리적 의미와 사용되는 검사합 방식 사이의 연관을 명시합니다. XCP 마스터는 A2L 기술 파일로부터 필요한 모든 정보를 읽어낼 수 있습니다.

 

XCP를 통한 통신에서 "명령 전송 객체"(CTO)와 "데이터 전송 객체"(DTO) 사이의 구분이 이루어집니다. 예를 들어, 마스터는 CTO로 버스를 통하여 ECU에 명령을 보낼 수 있고, ECU는 요청 받은 서비스를 수행한 후에 동일한 경로를 통하여 응답합니다. 이용 가능한 CTO는 CMD (명령), RES (답변), ERR (오류), EV (이벤트), SERV (서비스 요청 프로세서)입니다. DAQ (데이터 획득)과 STIM (자극) 데이터 전송 객체는 XCP 슬레이브의 메모리로부터 계측 변수를 이벤트 기반으로 읽기와 값을 메모리에 쓰기에 사용됩니다.

개발 과정을 통한 계측과 캘리브레이션

Graphic XCP slaves
XCP 슬레이브는 서로 다른 여러 런타임 환경에 사용 가능합니다

XCP로 계측 및 캘리브레이션을 할 때 코드나 모델(Simulink, 신속 시제품화 하드웨어, HIL, SIL 등)이 구동되는 구체적인 환경은 중요하지 않습니다. 즉, ECU를 위한 제어 알고리즘 최적화에 있어서 항상 유사한 작업 단계를 수행하는 동일한 하나의 툴을 사용할 수 있습니다. 이로써 설정, 계측, 기술 파일을 개발 과정을 통하여 사용하고 상호 교환할 수 있습니다.

CANape와 같은 XCP 마스터는 여러 XCP 슬레이브와 동시에 통신할 수 있습니다.

XCP를 통한 소프트웨어 디버깅

ECU에서 디버깅 인터페이스(예: JTAG, DAP 등)는 소프트웨어 디버깅과 XCP를 통한 계측 및 조정 모두에 사용될 수 있습니다. 두 사용 사례 모두 ECU 개발의 모든 단계에서 중요합니다. 지금까지 서비스는 서로 완전히 독립적으로 사용되었습니다. 다른 물리적 어댑터를 사용해야 했기 때문에 디버깅과 XCP 간 전환이 번거로웠습니다.

XCP 표준에 디버깅 사용 사례를 포함함으로써 하드웨어를 변경하지 않고, 또는 차량에 영구적으로 설치된 ECU에서도 언급된 모든 사용 사례에 대해 디버깅 인터페이스를 사용하는 것이 가능해졌습니다.

디버거 소프트웨어는 Ethernet의 XCP를 통해 VX1000 하드웨어의 XCP 슬레이브에 연결됩니다.

 

VX1000 하드웨어는 디버깅, 계측 및 캘리브레이션을 동시에 사용할 수 있는 여러 XCP 슬레이브를 제공합니다. 이는 ECU 디버깅 인터페이스의 사용을 최대화하고 모든 사용 사례에서 성능을 최적화합니다. POD는 JTAG 및 DAP와 같은 직렬 인터페이스 또는 Aurora 및 RTP/DMM과 같은 병렬 데이터 추적 인터페이스를 통해 ECU에 연결됩니다.

디버거 소프트웨어 및 MC 툴은 Ethernet의 XCP를 통해 VX1000 기본 모듈에 연결됩니다.  

자세한 정보

 

 

동영상 - XCP Fundamentals

ASAM MCD-1 XCP 표준에 대해 알아보세요. (63분)

XCP 솔루션

완전한 XCP 지원으로 벡터는 개발 과정의 모든 단계에서 올바른 솔루션을 제공합니다.

 

XCP 표준은 벡터가 핵심 역량을 집중하여 개발하였습니다. 벡터의 폭넓은 노하우와 경험도 계측 및 캘리브레이션 프로토콜의 종합적인 지원에 포함되어 있습니다.

CANape는 주로 전자제어 장치의 최적 파라미터화(캘리브레이션)에 사용됩니다. 시스템 런타임 중에 파라미터 값을 캘리브레이션하는 동시에 계측 신호를 얻을 수 있습니다. CANape와 ECU 사이의 물리적 연결은 XCP (XCP on Ethernet, FlexRay, CAN 등과 같은 모든 표준화된 전송 프로토콜에 대한) 또는 CCP를 통하여 이루어집니다.
차량에서 CANape의 기능을 로거로서 편안하게 사용하기 위해 CANape와 산업용 컴퓨터를 매칭하였습니다. CANape log
필요한 A2L 기술 파일(통합 ASAP2 Editor가 있는 ASAP2 Tool-Set와 CANape)의 생성과 관리를 위한 완전한 툴 체인.
CANoe의 옵션 AMD/XCP를 통해 ECU 메모리에 액세스할 수 있습니다. ECU의 메모리 위치에 대한 읽기 또는 쓰기는 ASAM에서 표준화 한 XCP 프로토콜(XCP on CAN, XCP on Ethernet) 또는 CCP 프로토콜을 통해 수행됩니다. A2L 포맷의 파일로 편리하게 구성할 수 있습니다.
CANoe .AMD/XCP
GL Logger 제품군은 전 세계적으로 플릿 로거 솔루션으로 사용됩니다. XCP 옵션을 통해 버스 데이터뿐만 아니라 ECU 데이터도 기록할 수 있습니다.
GL Logger

ECU 인터페이스

VX1000 계측 및 캘리브레이션 하드웨어는 컨트롤러를 XCP-on-Ethernet 인터페이스에 장착하는 옵션을 제공합니다. 플러그인 장치(POD)는 DAP, JTAG, Nexus, Aurora 등을 통해 ECU의 컨트롤러에 직접 연결됩니다. POD는 XCP-on-Ethernet 인터페이스 역할을 하는 베이스 모듈에 데이터를 전송합니다. 또한, POD는 XCP 슬레이브로 작동하는 베이스 모듈로 데이터를 전송하고, XCP on Ethernet을 통해 XCP 마스터에서 데이터를 사용할 수 있도록 합니다.

임베디드 소프트웨어 통신 모듈

CAN, FlexRay 및 Ethernet을 위한 독립적인 전송 계층 포함

XCP Basic – 무료 다운로드 가능. 기본적인 XCP 기능만 포함. XCP 프로토콜의 설정과 전송 계층 수정은 소스 코드에서 수동으로 이루어집니다. 프로젝트에 XCP Basic을 직접 통합해야 합니다.
XCP Professional – ASAM 사양에 맞는 유용한 확장 기능을 포함하며 툴 기반의 구성이 가능합니다. 벡터 CANbedded 베이직 소프트웨어에 포함되어 있습니다.
MICROSAR XCP – XCP Professional의 기능을 포함하며 AUTOSAR 사양에 기반을 두고 있습니다. 벡터의 MICROSAR 베이직 소프트웨어와 사용할 수 있습니다.

서비스

프로젝트에서 XCP 사용을 위한 컨설팅
XCP 사용 관련 컨설팅
ECU에 XCP 통합
XCP 모듈의 통합

XCP 참조 책자

Photo XCP refence book as printed version and e-book
XCP에 대한 기본적인 노하우

XCP 레퍼런스 북 "XCP - ECU 개발을 위한 표준 프로토콜"은 계측 및 캘리브레이션 프로토콜인 XCP에 관한 기초와 응용분야에 대해 상세히 설명합니다. 인쇄본을 요청하시거나 PDF, EPUB, MOBI로 제공되는 디지털 버전으로 다운로드하십시오.

*현재 새로운 한글 인쇄본을 준비 중에 있습니다. 신청 시 이전 버전의 한글 PDF본 (115페이지)을 제공해드리오니 양해바랍니다.

영문 버전 다운로드
한글 버전 다운로드
  • PDF (2.0 버전)