본문 바로가기

자동차 임베디드 SW/CAN통신 & LIN통신23

E2E 프로토콜 개요 E2E란 무엇인가 E2E는 End To End 의 약자인데 여기서 END란 하나의 제어기 어플리케이션을 의미한다. 제어기와 제어기 간 메세지를 주고 받을때, 메세지 전송과정에서 데이터변조, 같은 메세지 반복 , 메세지 누락, 메세지순서 변경 등을 감지할 수 있는 로직을 정의한 것이 E2E Protocol이다. E2E Protocol 의 핵심 용어는 CRC와 Counter이다. CRC는 데이터통신에서 일반적으로 널리 쓰이는 그 CRC이다. 데이터 변조를 감지하는 기능을 제공한다. (Cyclic Redundancy Code 약자이다.) Counter는 자동차 업계에서는 주로 Message Counter 또는 alive Counter라고 종종 불린다. E2E 프로토콜의 주요컨셉은 굉장히 간단하다. 메세지 안에.. 2022. 10. 27.
LIN 통신 - 스케쥴 테이블의 개념과 ldf 파일 ldf파일은 can의 dbc파일과 비슷한 역할이다. 해당 LIN network에 참여하는 노드들을 정의하고 (LIN에서는 Task라고 부름) 사용할 메세지들에 대해서 정의한다. ( LIN에서는 메세지를 프레임이라고 부른다.) 정의되는 내용이 뭐냐면 메세지(프레임)의 ID , 메세지의 데이터 길이 해당 데이터에 담기는 시그널들의 정보, (시그널 크기, start bit 위치 등) 그리고 해당 메세지의 Publisher, Subscribers 그리고 스케쥴 테이블이라는 정보도 담고 있다. LIN에서는 메세지 송신을 trigger하는 것이 오직 master라고 하였다. master가 메세지들을 어느 타이밍에 송신할 것인지를 적어놓은 것이라고 생각하면 된다. publisher, subscriber의 의미는 이전.. 2022. 8. 10.
LIN 통신 개요 (첨부의 파일은 LIN2.2 표준 Pdf 파일이다. 파일의 출처는 벡터 홈페이지다.) https://www.vector.com/kr/ko/products/solutions/networks/lin/#c81091 아주 오랫동안 CAN 통신만을 사용해왔다. LIN 통신 이름은 오래전부터 들어왔는데 실제로 써볼 일이 없어서 잘 몰랐다가 이번에 LIN을 처음 써보게 되면서 알게된 내용을 까먹지 않게 정리해서 남긴다. LIN 통신이란 무엇인가? 일반적인 이야기 LIN 통신은 CAN 통신에 비하여 Baudrate이 낮아 많은 양의 데이터를 송수신 하기 어렵다. (최대 19.2Kbps) 그러나 일반적으로 CAN 통신보다 비용이 적게 드는 장점이 있다고한다. 주로 하나의 MCU와 센서, 액츄에이터 들과 간단한 정보를 주.. 2022. 8. 10.
CAN 통신- Canoe란 무엇인가? CAN통신 계측,시뮬레이션 SW(작성중) https://inf.run/nVSgw 실무자가 알려주는 CANoe (For CAN 통신) 강의 - 인프런자동차 회사에서 널리 사용되는 툴, Vector社의 CANoe 사용 방법을 알아봅니다. 단순 ‘툴 소개 강의’가 아니라 강의를 듣고 신입사원이 곧 바로 실무에 활용할 수 있게 하는 강의입니다., 자동차 www.inflearn.com샘플강의는 무료이니 들어보면 개념 잡는데 도움이 되실겁니다.우리 제어기가 보내는 캔 메세지의 내용을 확인하거나, 혹은 컴퓨터를 이용해서 제어기에게 특정한 캔 메세지를 송신하고 싶을 수 있다. 그때 활용하는 툴 중에 매우 널리 쓰이는 툴 중하나가 Canoe이다. 캔커넥터를 canoe에 연결하면 현재 버스상에서 송신되고있는 메세지들을 확인하는게 가능하다. 계측된 메세지들의 id.. 2022. 8. 10.
CAN 통신 - CAN DBC 파일이란 무엇인가? CAN 통신을 사용하려면 여러가지 정해야 할 것들이 있다. 1.정확한 CAN 프로토콜이 무엇인가? (ex. High Speed CAN이냐 CAN-FD냐) 2. BaudRate이 얼마인가? 3.CAN 버스에 어떤 제어기들이 참여할 것인가? 4. 어떤 ID의 메세지를 사용하는가, 5. 특정 ID의 메세지의 이름과 해당 메세지를 송신하는 제어기는 누구인가? 6. 해당 메세지에 어떤 시그널들이 포함되는가? 7. 각 시그널들의 값, Min Max Offset Factor 이런 정보들이 사전에 정의되고, 제어기 개발자들은 이 정보를 바탕으로 CAN 통신 기능을 구현하게 된다. 이런 정보를 완성차업체에서 만들어서 각 제어기 개발자,제어기개발 업체에게 제공하는데 이 정보는 엑셀로 작성되든 워드로 작성되든 그냥 메일로 .. 2022. 8. 10.
CAN 통신 - CAN FD 란 무엇인가 CAN은 여러가지 장점들이 많인 통신 프로토콜이지만 20년 전에 나온 통신이기 때문에 이런저런 문제가 있는데 가장 큰 문제가 '낮은 통신속도 & 메세지의 작은 데이터 사이즈' 이다. 둘이 합쳐서 말하면 '낮은 대역폭' 이다. 그런데 전 세계에 워낙 많은 자동차회사가 오랜시간 CAN 통신을 사용해왔는데 갑자기 CAN 통신을 사용하지 않고 전혀 다른 새로운 통신을 도입하기에는 이런저런 문제가 많이 있다. 그래서 기존의 High Speed CAN과 함께 사용할 수 있으면서도, 이러한 단점을 개선해서 나온 프로토콜이 바로 CAN FD다. 이런저런 차이점이 있지만 가장 중요한 사항은 High Speed CAN에 비해 최대 BaudRate 이 높다는 것이다. 최대 8Mbps 정도까지 사용 가능하다. 또한 CAN 의.. 2022. 8. 10.
CAN통신 CAN Extended란 무엇인가(작성중) 2022. 8. 10.
CAN통신의 Fault & Bus Off에 대하여 (작성중) CAN 통신 스펙상에 고장 관련 매커니즘을 만들어두었음. 이 기능은 SW가 관여할 부분이 없고 MCU 내부 CAN 패리펄럴 하드웨어가 자체적으로 동작하는 시퀀스임 -- CAN 패리펄럴 내부에 Fault와 관련된 동작 모드가 있는데, Error Active, Error Passive, Bus Off 모드가 있음. 초기에는 Error Active 상태이고. 이 후 이런저런 고장이 감지되면 내부에 TEC, REC 라고 하는 에러카운터를 올리고 내리고 하다가. 카운터가 일정 값을 넘어가면 State가 Error Passive 상태로 넘어간다. 그리고 Error Passive 상태에서도 계속해서 고장이 발생하여 에러카운트가 255를 넘어가면 버스오프 상태가 되고. 버스오프 상태가되면 더 이상 캔 통신이 불가하다... 2022. 8. 10.
CAN 통신 커넥터(작성중) 하나의 전선으로 통신을 하는 것 처럼 설명했지만 사실 캔통신에서는 두가닥의 전선을 사용한다. 두 개의 전선을 CAN High , CAN Low 라고 부른다. 한편. 전선과 전선을 연결하려면 어떻게 해야할까. 전선의 피복을 벗겨서 구리부분을 직접 닿게하면 되는데, 이것은 불편하다. 전선 피복 벗기는 것도 귀찮고, 구리선 끼리 연결시키는 것도 문제다. 그래서 사용하는게 커넥터다. 일반적으로 D-Sub 9 pin 커넥터라는걸 사용하는게 업계의 국룰이다. 한편 D-Sub 9 pin 커넥터에는 전선을 9개 연결 할 수 있는 핀들이 있다. 그리고 각 핀마다 번호가 붙어있다. 7번 핀에 CAN High 2번 핀에 CAN Low 를 달아서 쓰는 것이 일반적이다. 신입사원이 알아야 할 CAN 통신의 모든 것 강의를 진행.. 2022. 6. 28.