본문 바로가기
카테고리 없음

CAN TP (ISO-TP) 프로토콜의 정의와 구조

by Embedded.AI 2024. 9. 7.
반응형

CAN TP (ISO-TP) 프로토콜의 정의와 구조

자동차 기술의 발전과 함께, 차량 내 통신 시스템의 복잡성도 크게 증가했습니다. 이러한 복잡한 시스템을 효율적으로 관리하기 위해 다양한 통신 프로토콜이 개발되었는데, 그 중 하나가 바로 CAN TP (Controller Area Network Transport Protocol) 또는 ISO-TP (ISO 15765-2)입니다. CAN TP 프로토콜의 정의, 구조, 그리고 작동 방식에 대해 정리합니다.

CAN TP (ISO-TP) 프로토콜의 정의와 구조

 

CAN TP 프로토콜이란?

CAN TP 프로토콜은 ISO 15765-2 표준에 정의된 전송 프로토콜로, CAN (Controller Area Network) 기반의 차량 네트워크 시스템을 위해 특별히 설계되었습니다. 이 프로토콜의 주요 목적은 다음과 같습니다:

  1. CAN의 제한된 데이터 프레임 크기 극복
  2. 대용량 데이터의 효율적인 전송 지원
  3. 네트워크 통신의 흐름 제어 제공

CAN TP는 OSI (Open Systems Interconnection) 모델의 전송 계층에 해당하며, 다양한 응용 계층 구현을 지원합니다. 이는 차량 진단, 소프트웨어 업데이트, 그리고 복잡한 센서 데이터 전송 등 현대 자동차의 핵심 기능을 가능하게 합니다.

CAN과 CAN FD: 기본 프레임 구조

CAN TP 프로토콜을 이해하기 위해서는 먼저 기본적인 CAN 프레임 구조를 알아야 합니다. CAN에는 두 가지 주요 버전이 있습니다:

프로토콜 페이로드 크기 특징
CLASSICAL CAN 0~8 바이트 기본 CAN 프로토콜로 최대 8바이트 크기를 갖음
CAN FD 0~64 바이트 기존 8바이트에서 64바이트로 확장된 데이터 크기, CLASSICAL CAN 하위 호환됨

CAN FD (Flexible Data-rate)는 CLASSICAL CAN의 제한된 데이터 용량을 확장하여 더 효율적인 데이터 전송을 가능하게 합니다.

4. ISO-TP 프레임 유형

CAN TP 프로토콜은 데이터 크기와 전송 상황에 따라 다양한 프레임 유형을 사용합니다:

프레임 유형 용도 특징
Single Frame (SF) 7바이트 이하 데이터 전송 흐름 제어 불필요
First Frame (FF) 7바이트 초과 데이터의 첫 전송 전체 데이터 길이 정보 포함
Consecutive Frame (CF) FF 이후의 연속 데이터 전송 시퀀스 번호로 순서 유지
Flow Control Frame (FC) 수신 상태 및 전송 조건 제어 수신자가 송신자에게 전송

각 프레임 유형은 특정 상황에서 사용되며, 이를 통해 효율적이고 안정적인 데이터 전송이 가능해집니다. 예를 들어, 간단한 센서 데이터는 Single Frame으로 전송될 수 있지만, 복잡한 진단 정보는 First Frame과 여러 Consecutive Frame을 통해 전송됩니다.

CAN TP 프로토콜의 작동 방식

CAN TP 프로토콜은 대용량 데이터를 효율적으로 전송하기 위해 설계되었습니다. 블록 크기(BS)가 3인 경우의 통신 시퀀스를 통해 그 작동 원리를 살펴보겠습니다.

CAN TP (ISO-TP) 프로토콜의 정의와 구조

  1. Sender(송신자)가 First Frame을 Receiver(수신자)에게 전송하여 통신을 시작합니다.
  2. Receiver는 Flow Control Frame으로 응답하며, 이 때 BS(Block Size)=3과 STmin(최소 분리 시간)이 지정됩니다.
  3. Sender는 지정된 BS에 따라 3개의 Consecutive Frame(연속 프레임)을 전송합니다.
  4. 3개의 프레임 전송 후, Receiver가 다시 Flow Control Frame을 보내 다음 블록의 전송을 제어합니다.
  5. 새로운 블록이 시작되고, Sender는 다시 3개의 Consecutive Frame을 전송합니다.

이 과정은 모든 데이터가 전송될 때까지 반복됩니다.

관련자료

  1. ISO 15765-2:2016: 차량 CAN 네트워크 진단 통신 국제 표준
    [https://www.iso.org/standard/66574.html]
  2. Zephyr ISO-TP 가이드: 임베디드 시스템용 ISO-TP 구현 문서
    [https://docs.zephyrproject.org/latest/connectivity/canbus/isotp.html]
  3. Vector "자동차 네트워킹": CAN, CAN FD, ISO-TP 프로토콜 종합 설명
    [https://www.vector.com/int/en/know-how/technologies/]
반응형