XCP on Ethernet : 기능(PGM, CAL, DAQ, STIM)

XCP는 주로 프로그램 다운로드, 캘리브레이션, 측정, 자극 신호 전달을 위해 사용한다. 기능별 데이터 방향과 메모리 구조를 구분하면 명령의 역할을 정리하기 쉽다.




  • PGM: Flash 프로그래밍
  • CAL: Online Calibration
  • DAQ: 동기식 데이터 획득
  • STIM: 동기식 데이터 자극




PGM(Flash Programming)

PGM은 대상 ECU의 Flash에 프로그램을 기록하는 기능이다. XCP에서는 메모리 영역을 Sector로 구분하고, Sector 번호를 기준으로 대상 범위를 식별한다.




  • PROGRAM_START
  • PROGRAM_CLEAR
  • PROGRAM_FORMAT
  • PROGRAM
  • PROGRAM_VERIFY
  • PROGRAM_RESET




이 명령들은 CTO(Command Transfer Object) 안에서 교환된다.




CAL(Online Calibration)

CAL은 동작 중인 ECU의 보정값을 조정하기 위한 기능이다. 메모리 영역은 물리 레이아웃의 Sector, 논리 레이아웃의 Segment, Segment 안의 Page로 나눠 관리한다.




Page는 동시에 하나만 접근하도록 관리하는 구조를 사용한다. 그래서 어떤 Page를 활성화했는지와 전환 시점을 함께 확인해야 한다.




DAQ(Synchronous Data Acquisition)

DAQ은 XCP Master가 XCP Slave에서 측정 데이터를 받아오는 기능이다. Event Channel, DAQ List, ODT, ODT Entry 같은 구조로 측정 항목과 전송 주기를 구성한다.




DAQ 데이터의 PID 범위는 일반적으로 0x00 ≤ PID ≤ 0xFB로 다룬다. 정확한 범위와 설정은 사용 중인 XCP 버전과 A2L 설정을 기준으로 확인한다.




STIM(Synchronous Data Stimulation)

STIM은 XCP Master가 XCP Slave로 데이터를 보내는 기능이다. DAQ와 데이터 방향이 반대이며, Master가 가공한 값을 ECU 알고리즘에 입력해야 할 때 사용할 수 있다.




STIM PID 범위는 일반적으로 0x00 ≤ PID ≤ 0xBF다. DAQ와 범위가 다르므로 로그를 해석할 때 두 기능을 혼동하지 않아야 한다.




DAQ와 STIM을 설정할 때는 PID뿐 아니라 MAX_DAQ, MAX_ODT, MAX_ODT_ENTRIES, MTU, MSS 같은 크기 제한도 함께 검토해야 한다.

Comments

댓글을 불러오고 있습니다.