팜테크(FAMTECH)
[CAN 통신] CCP / XCP 란? (CRO, DTO message, CAN Calibration Protocol, Universal Measurement and Calibration Protocol) 본문
[CAN 통신] CCP / XCP 란? (CRO, DTO message, CAN Calibration Protocol, Universal Measurement and Calibration Protocol)
FAMTECH 2024. 1. 31. 18:38
목차
"관련제품 문의는 로고 클릭 또는 공지사항의 연락처를 통해 하실 수 있습니다."
CCP 란?
CCP와 XCP는 자동차에서 사용되는 특별한 기술들입니다. 이 기술들은 자동차 내부의 전자 제어 장치(ECU)에서 데이터를 조정하고 수집하기 위해 만들어졌습니다. ASAM이라는 단체가 이 기술들을 정의했습니다. 자동차에서는 많은 전자 장치들이 있고, 이 장치들은 자동차가 어떻게 작동하는지를 제어합니다. 예를 들어, 엔진의 효율성을 높이거나, 안전 기능을 관리하는 것과 같은 일을 합니다.
CCP(CAN Calibration Protocol)는 주소 지향 프로토콜이라고 해서, 특정한 주소를 사용해 데이터를 조정하고 측정하는 방식을 사용합니다. "Master-Slave" 개념을 사용하는데, 이는 하나의 주요 장치(마스터)가 다른 장치들(슬레이브)을 제어한다는 의미입니다. 이를 통해 자동차의 다양한 부분을 조정하고 테스트할 수 있습니다.
CCP 지원 기능은 아래와 같습니다.
- CAN Bus 내에 Multi 노드 처리
- ECU 내부 메모리 Read / Write
- ECU에서 주기적으로 데이터 전송 및 수신
- 데이터 파라미터 교정(Calibration)
XCP 란?
XCP(유니버설 측정 및 교정 프로토콜)는 자동차 산업에서 중요한 역할을 하는 기술입니다. 이 프로토콜은 자동차의 전자 제어 장치(ECU)와 컴퓨터 사이에서 데이터를 측정하고 교정하는 데 사용됩니다. XCP는 " Master-Slave " 시스템을 사용하는데, 이는 한 장치(마스터)가 다른 장치(슬레이브)를 제어한다는 의미입니다. 여기서 마스터는 주로 컴퓨터를 말하며, 슬레이브는 ECU나 다른 제어 장치를 의미합니다.
XCP의 전신인 CCP(CAN 교정 프로토콜)는 비슷한 기능을 했지만, XCP는 더 많은 데이터를 더 빠르게 전송할 수 있도록 개선되었습니다. "X"는 변화하고 교체 가능한 전송 계층을 의미하는데, 이는 XCP가 다양한 종류의 네트워크 시스템(FlexRay, Ethernet, CAN, CAN FD 등)과 함께 사용될 수 있다는 것을 뜻합니다.
XCP의 주요 목적은 ECU 내에서 가능한 한 간결한 구현을 달성하고, 기능과 자원 사용의 확장성을 높이는 것입니다. 이는 다음과 같은 다양한 작업에 사용됩니다.
- Measurement: 자동차가 어떻게 작동하는지 측정합니다. 예를 들어, 엔진의 효율성이나 기어박스의 성능 등을 측정할 수 있습니다.
- Calibration: 자동차의 성능을 최적화하기 위해 ECU의 매개변수를 조정합니다. 이는 연료 분사량, 점화 타이밍 등을 포함할 수 있습니다.
- Simulation: 자동차가 다양한 조건에서 어떻게 반응할지를 컴퓨터로 시뮬레이션합니다.
- Polling: 시스템의 상태를 정기적으로 체크합니다.
- Flashing: ECU에 새로운 소프트웨어나 업데이트를 설치합니다.
- Data Acquisition: 자동차 운행 중에 발생하는 다양한 데이터를 수집합니다.
XCP는 사전 생산 차량과 시험대에서 사용되며, 엔진, 기어박스, 기후 제어 시스템 등 다양한 부분의 측정과 교정에 활용됩니다. 이를 통해 자동차 제조사들은 차량의 성능을 향상시키고, 문제를 사전에 발견하여 해결할 수 있습니다.
CRO, DTO message
CCP와 XCP에서는 두 가지 유형의 메시지만 필요합니다. 명령 수신 객체(CRO)와 데이터 전송 객체(DTO). 이들은 자동차 산업에서 사용되는 특별한 통신 방식으로, ECU(전자 제어 장치)와 같은 슬레이브 장치들을 컴퓨터(마스터)가 제어하는 데 사용됩니다.
CRO (Command Receive Object)
마스터에서 슬레이브로 보내는 메시지입니다. 이 메시지에는 슬레이브가 수행해야 할 명령이 포함되어 있습니다.
- 첫 번째 바이트(CMD): 메시지의 목적을 설명하는 명령 코드입니다.
- 두 번째 바이트(CTR): 통신을 추적하는 데 사용되는 명령 카운터입니다. 슬레이브는 이 값을 DTO 메시지에 포함하여 반환합니다.
- 바이트 2-7: 명령 코드에 따라 다른 데이터 매개변수가 포함됩니다. 메시지는 항상 8바이트 길이이며, 정의되지 않은 바이트는 무시됩니다.
DTO (Data Transmission Object)
슬레이브에서 마스터로 보내는 메시지로, CRO 메시지의 수신을 확인하고 데이터 수집에 사용됩니다.
첫 번째 바이트(PID): 메시지 유형을 설명하는 패킷 ID입니다. 메시지 유형은 다음과 같이 세 가지가 있습니다
- 0xFF: CRO 메시지의 수신을 확인하는 명령 반환 메시지(CRM)입니다.
- 0xFE: 슬레이브의 내부 상태 변경을 보고하는 이벤트 메시지로, 오류 복구나 다른 서비스를 호출할 때 사용됩니다.
- 0 – 0xFD: 데이터 수집 메시지(DAQ)로, ODT(객체 기술 테이블)의 값에 해당합니다.
이러한 메시지들은 A2L 파일이라는 구성 파일에 의해 정의되며, 이 파일은 ASAM MCD 2MC/ASAP2 표준에 따라 정의됩니다. A2L 파일은 마스터를 구성하는 데 사용되며, 때로는 슬레이브 메모리 구성에 대한 정보도 포함할 수 있습니다. 이 시스템을 통해, 자동차의 다양한 전자 시스템을 효율적으로 측정, 교정하고 데이터를 수집할 수 있습니다.
데이터 수집
데이터 수집(Data Acquisition, DAQ)은 마스터 장치가 슬레이브 장치로부터 데이터를 가져오는 과정입니다. 이 과정에서 슬레이브는 DAQ-DTO(Data Transmission Object)라 불리는 특별한 메시지를 사용하여 데이터를 전송합니다. 이 데이터는 ECU(전자 제어 장치) 내의 메모리 주소를 가리키는 여러 포인터를 포함한 DAQ 리스트 안에 조직되어 있습니다. 한 ODT(Object Descriptor Table) 리스트는 최대 7개의 메모리 주소 포인터를 포함할 수 있으며, 이 포인터들은 데이터가 저장된 ECU 내의 메모리 주소를 가리킵니다. ODT 리스트는 메모리 주소 포인터 외에도 주소 확장과 전송될 바이트 수를 포함할 수 있습니다.
많은 슬레이브 장치들은 한 번에 하나의 바이트보다 긴 데이터 요소를 처리할 수 없기 때문에, 여러 바이트로 이루어진 데이터를 단일 바이트로 나누는 작업은 마스터가 해결해야 합니다. DAQ-DTO는 PID(Packet Identifier)와 ODT 리스트 포인터가 가리키는 메모리에서 가져온 데이터 요소를 포함합니다. PID 번호(보통 ODT 리스트와 같음)는 0부터 253 사이의 값을 가지며, 이는 동시에 활성화될 수 있는 ODT 리스트가 254개로 제한됨을 의미합니다.
CCP(CAN Calibration Protocol) 규격은 여러 DAQ 리스트를 동시에 활성화할 수 있도록 허용합니다. 마스터는 START_STOP 명령을 통해 DAQ 리스트의 전송을 시작합니다. ODT 리스트의 데이터 바이트는 슬레이브 장치에서 샘플링되고, 그 다음 CAN 버스를 통해 DAQ-DTO로 전송됩니다. 만약 슬레이브가 진행 중인 DAQ 주기가 끝나기 전에 새로운 START_STOP 명령을 받는다면, 두 가지 방식으로 반응할 수 있습니다. 새로운 DAQ 명령을 시작하고 진행 중이던 것을 종료하거나, 진행 중이던 주기를 마치고 새로운 것을 무시합니다. 이 두 방법 모두 장단점이 있으며, CCP 규격은 어느 한쪽을 선택해야 한다고 명시하지 않습니다.
간단히 말해, DAQ 과정은 마스터가 슬레이브로부터 데이터를 효율적으로 수집하도록 설계된 복잡한 절차입니다. 이 과정은 ECU의 세밀한 데이터를 측정하고 기록하는 데 필수적이며, 자동차의 성능 및 진단에 중요한 정보를 제공합니다.
Influx CAN Data Logger
팜테크에서 독점 제공 하는 Influx는 CCP/XCP 프로토콜을 CAN 네트워크 상에서 사용할 수 있게 하는 Rebel 데이터로거 제품군을 제공합니다. 이 데이터로거들은 자동차 엔지니어링 테스트를 위해 설계되었으며, 다양한 고급 프로토콜 기능을 지원합니다. 예를 들어, Influx의 DiaLog이라는 소프트웨어는 A2L 파일에서 설정을 읽어들여, CCP/XCP 통신 설정을 구성할 수 있습니다.
A2L 파일은 자동차의 ECU에 대한 정보를 담고 있는 구성 파일로, CCP(XCP에서의 CAN 교정 프로토콜)와 XCP(유니버설 측정 및 교정 프로토콜) 프로토콜을 통해 자동차의 성능을 측정하고 교정하는 데 사용됩니다. Influx의 Rebel 데이터로거는 이러한 프로토콜 외에도 CAN 2.0 모니터링, J1939(트럭과 버스를 위한 표준 통신 프로토콜), OBD2(차량 자기 진단 및 보고 기능), UDS(차량 진단 서비스를 위한 표준) 등을 지원합니다. 이를 통해, 자동차 엔지니어들은 차량의 다양한 시스템을 효과적으로 테스트하고 최적화할 수 있습니다.
간단히 말해서, Influx의 Rebel 데이터로거 제품군은 자동차 엔지니어링 테스트를 위한 완벽한 솔루션을 제공하며, CCP/XCP 프로토콜을 포함한 다양한 자동차 통신 프로토콜을 지원합니다. 이러한 고급 기능을 통해 엔지니어들은 자동차의 성능을 정밀하게 측정하고 최적화할 수 있습니다.
해당 내용과 관련해서 팜테크에서 교육 프로그램, 측정/분석 용역, 장비를 제공하고 있습니다. 관심 있으시면 아래 홈페이지 또는 연락처를 통해 문의 주시면 됩니다. :)
https://famtech.co.kr/sub04/01_01.php