E2E 차량 통신
E2E 자동차 통신
E2E란 무엇인가
결론부터 요약하면 기억해야할 용어는 4가지이다.
CRC. Counter. Profile. Data ID
설명 시작
E2E는 End To End communication protection 의 약자인데 여기서 END란 하나의 제어기 어플리케이션을 의미한다.
제어기와 제어기 간 메세지를 주고 받을때, 메세지 전송과정에서 데이터변조, 같은 메세지 반복 , 메세지 누락, 메세지순서 변경 등을 감지할 수 있는 로직을 정의한 것이 E2E Protocol이다.
E2E Protocol 의 핵심 용어는 CRC와 Counter이다.
CRC는 데이터통신에서 일반적으로 널리 쓰이는 그 CRC이다. 데이터 변조를 감지하는 기능을 제공한다.
(Cyclic Redundancy Check 약자이다.)
Counter는 자동차 업계에서는 주로 Message Counter 또는 alive Counter라고 종종 불린다.
E2E 프로토콜의 주요 컨셉은 굉장히 간단하다.
메세지 안에 CRC와 Counter를 넣어서 송신한다.
이때 Counter는 메세지 보낼때마다 1씩 증가시킨다.
CRC는 우리가 일반적으로 아는 그 CRC라 더 설명할게 없다.
수신측은 CRC를 통해 데이터변조를 감지할 수 있다.
또 수신측은 수신 메세지의 Counter 값과 바로 직전에 수신 받은 메세지 간의 카운터 값을 비교함으로써 같은 메세지 반복. 메세지 누락 등을 감지 할 수 있다.
예를 들어 바로 직전의 받은 메세지의 카운터가 1이 었다면 그 다음 메세지의 카운터값은 2여야한다. 근데 2가 아니라 4가 왔다면?중간에 메세지 2개가 누락됐다고 감지 할 수 있다.
E2E Protocol은 여러가지 Profile이 정의돼있다. 프로필 1,2,5 6 7 이런식인데
P01 P02 P05.. 이런식으로도 부른다.
이것들에 대한 상세한 내용은 AUTOSAR에서 제공하는 E2E 관련 문서에 아주 자세히 써있다.
암튼 프로필마다 소소한 차이가 있지만 주요 컨셉은 대동소이하다. (CRC 와 카운터를 사용)
소소한 차이의 예를 들자면,
CRC 의 크기가 다르거나, CRC 크기는 같지만 CRC 를 구하는 로직이 다르거나, 메세지 카운터 최대값이 다르거나, 혹은 프레임 안에서 CRC와 메세지 카운터가 위치하는 위치가 다르거나..
하는 등의 차이가 있다.
또한 메세지를 수신받았을 때, 메세지 카운터 값을 보고 그것에 대해 판단하는 로직이 좀 다르기도 하다.
또, E2R에서는 CRC를 구할때 Data Id 라는 것을 추가로 사용하게 된다. 이때 data id를 사용해서 CRC를 계산하는 방법이나 Data Id의 사이즈도 역시 프로토콜마다 다르다.
자세한 내용은 Autosar에서 제공하는 E2E 문서 설명을 읽어보면 된다.
(아래 문서를 구글에서 검색해서 받아보면 된다.)
문서를 열어보면 아래와 같이 각 프로필에 대한 설명이 아주 상세히 적혀있음.
캔통신 유료강의를 진행중입니다.
샘플강의도 여럿있으니 들으면 도움이 되실겁니다.
https://inf.run/abvS
'자동차 임베디드 SW > CAN통신 & LIN통신' 카테고리의 다른 글
UDS 진단통신 TP에 대하여(작성중) (0) | 2023.02.22 |
---|---|
신입사원을 위한 UDS 진단통신 개요 알아보기 (2) | 2022.12.07 |
ccp 와 xcp 개요 (0) | 2022.10.08 |
LIN 통신 - 스케쥴 테이블의 개념과 ldf 파일 (0) | 2022.08.10 |
LIN 통신 개요 (0) | 2022.08.10 |