E2E Protocol

강형우·2024년 8월 20일

CAN

목록 보기
6/6
post-thumbnail

E2E 프로토콜 개념

E2E 프로토콜이란?

  • 메세지 전송중 에러가 발생할 경우, 이를 감지하는 메커니즘을 정의 해둔 프로토콜

데이터 전달 과정에서 발생할 수 있는 문제들

  • 데이터 내용 변경(Corrupt)
  • 데이터 전달 누락(Loss)
  • 데이터 전달 순서 오류(Incorrect Sequence)
  • 동일한 메세지 반복 전송(Repetition)
  • 인증되지 않은 송신자가 메세지 송신(Masquerading)

E2E 프로토콜의 핵심 요소

CRC(Cycle Redundancy Check)

  • 통신중 메세지 내용이 변경된 것을 확인할 때 사용

Counter(Message counter, Sequence COunter, Alive counter)

E2E 카운터 개념

  • 송신측 규칙: 새로운 메세지를 보낼 때 마다 Counter 값을 1씩 증가시켜서 보낸다

    • 수신측에선 Counter값이 계속 1로 들어온다면 동일한 메세지 반복전송으로 감지

    • 수신측에서 Counter값이 1보다 큰 수가 뛰어 넘어온다면 메세지 누락 감지

E2E 프로파일 개념

  • E2E 프로토콜에는 다양한 프로파일이 존재
  • E2E 프로토콜을 반드시 사용해야 하는 것은 아님
  • E2E 프로토콜을 사용해야한다면, 네트워크에 참여하는 제어기들은 모두 동일한 E2E Profile을 사용해야함

E2E Profile마다 달라지는점 예시)

  • Profile 1)
    • Counter값의 크기: 4bit
    • 동작: Counter값을 송신할 때 0->14까지 송신, 14다음은 15가 아니라 다시 0부터 시작
  • Profile 2)
    • Counter값의 크기:4bit
    • 동작: Counter값을 송신할 때 최초에 1부터 시작, 15다음은 0부터 시작
  • Profile 5)
    • Counter값의 크기:8bit
    • 동작: Counter값을 송신할 때 최초에 0부터 시작, 255다음은 0부터 시작

CRC 기초 개념

  • 메세지 송신 과정에서 값이 변경되는 경우, 이를 감지할 수 있도록 하는 통신 기법 중 하나

CRC 계산 방법

E2E에서의 CRC활용 개념

  • 메세지 전송과정에서 데이터 변조 되는 것을 감지 하기 위해 CRC를 활용
  • 메세지 송신자: 메세지 송신할 때 CRC 값을 계산해서 같이 전송
  • 메세지 수신자: 수신받은 메세지로 CRC연산 후, 메세지 속 CRC와 값 비교
  • CRC를 계산하는 다양한 알고리즘이 있음
  • 통신에 참여하는 제어기들은 모두 동일한 CRC계산 방법을 사용해야 문제 없이 동작 가능
    -> 어떤 알고리즘 사용 할 것인지는 OEM이 결정
  • E2E Profile마다 CRC 계산 방법이 별도로 정의돼 있음(E2E Protocol Specification 문서에서 확인 가능)
  • OEM은 어떤 E2E Profile을 사용할 것인지를 정해주면 됨

E2E Data ID 개념

  • CRC 값을 계산할 때, Data ID라는 사전에 정의된 별도의 값을 추가로 사용
    • Ex) Profile 1에서 사용하는 Data ID: 2Byte

E2E 관련 기타

  • E2E프로토콜을 사용할 수도 있고 안할수도 있음
  • CRC대신 Checksum을 사용하는 과제도 있음

2개의 댓글

comment-user-thumbnail
2025년 5월 3일

안녕하세요~ 캔통신 강의 수강해주셔서 감사합니다. 강의 수강 후 공부 내용을 블로그에 정리 차원에서 올리시는 분들이 많은데 강의자료에 사용된 이미지는 블로그에 업로드하지 말아주시길 부탁드립니다 T.T

1개의 답글