Automotive Software

XCP 기초 (Universal Measurement and Calibration Protocol) 본문

측정 및 보정 (Measurement and Calibration)/XCP

XCP 기초 (Universal Measurement and Calibration Protocol)

AutoSW 2025. 12. 29. 15:10

XCP는 차량 환경을 포함하는 임베디드 시스템에서 제어기의 특정 메모리 값이나 애플리케이션의 변수값을 거의 실시간으로 측정하고 필요시 수정할 수 있도록 ASAM 네트워킹 그룹에서 고안된 프로토콜로써, 이전 CAN 프로토콜만을 지원하던 CCP의 프로토콜 한계를 보완하여 Ethernet, Flexray 등의 다양한 통신 프로토콜을 지원하고 있다.

  • XCP 동작 구조
    • 마스터(Master)-슬레이브(Slave) 구조로, 하나의 마스터가 여러 슬레이브 ECU에 연결 후 실시간 데이터를 제어 가능
  • XCP 데이터 베이스
    • ASAM A2L 파일이라는 데이터베이스를 사용해 ECU 내부 변수의 물리적 주소와 데이터 타입을 관리
  • XCP 패킷
    • CTO(Command Transfer Object) : 명령과 응답을 담당
    • DTO(Data Transfer Object) : 실시간 데이터 전송을 담당
  • XCP 측정 (Measurement)
    • 폴링 (Polling)
      • 정해진 주기에 따라 마스터가 전송 요청하고 슬레이브가 답하는 방식
    • 동기화 데이터 전송 (Synchronous Data Transfer)
      • DAQ(Data Acquisition)
        • 슬레이브가 특정 주기나 이벤트 발생 시마다 마스터의 요청 없이도 데이터를 자동 전송
        • 효율적인 데이터 전송을 위해 ODT(Object Descriptor Table) 구조 적용 후 다중 변수를 단일 패킷으로 전송
      • STIM(Stimulation)
        • DAQ가 슬레이브 메모리상의 변수 측정을 위해 슬레이브에서 마스터로 데이터 전송
        • STIM은 슬레이브 메모리상의 변수값 자극(Stimulation)을 위해 마스터에서 슬레이브로 데이터 전송
  • XCP 보정 (Calibration)
    • 마스터가 슬레이브의 메모리 값을 직접 수정하여 제어 로직의 파라미터를 실시간으로 변경하는 과정
  • XCP는 'Universal' 명칭과 같이 물리 계층(CAN, Ethernet, FlexRay 등)에 독립적으로 동작하는 프로토콜
  • 이더넷 기반의 XCP on Ethernet은 높은 대역폭을 제공하여 수천 개의 신호를 수 밀리초() 단위로 동시 모니터링 가능
  • 전송 계층과 표준 응용 계층의 독립화로, 하드웨어가 변경 여부와 무관하게 상위 소프트웨어의 재사용 가능