Shine's dev log

CAN 프로토콜이란? 본문

기타

CAN 프로토콜이란?

dong1 2020. 5. 13. 00:24

1. CAN 프로토콜이란?

 

CAN은 (Controller Area Network) 차량내에서 호스트 컴퓨터 없이 컨트롤러나 장치들끼리 통신하기 위해서 만들어진 표준 통신 규격 이다.

 

CAN protocol

 

즉 CAN은 위의 그림과 같이 하나의 큰 버스 네트워크를 이용한다.

 

차량의 ECU들은 CAN 프로토콜을 사용하여 통신을 하는데, 최근에는 차량 뿐 아니라 다양한 분야에서 이용되기도 한다.

 

 

 

2. CAN의 특징

 

1) 메시지 지향성 (Message-oriented protocol)

 

메시지 지향성이란, 쉽게말하면, A라는 장치가 메시지를 보낼 때 목적지를 명확히 밝히고 보내는 것이 아니라 일단 보내는것이다. 이렇게 뿌려진 메시지들은, 받는 노드들이 각자 판단하여 필요하면 메시지를 받고, 아니면 그냥 흘려보내는 식으로 동작하는 것이다.

 

2) 에러감지 메커니즘

 

CAN 프로토콜에서 메시지에 에러가 있으면, 송신자측이 즉각 재전송하는 특징이 있다.

 

3) 결함있는 노드의 감지

 

CAN은 버스의 상태를 계속해서 모니터링 하므로 결함이 있는 노드가 있다면, 알아서 감지해주고 배제시킨다. 이는 네트워크의 신뢰성을 높여준다.

 

 

오늘 배운 내용을 정리해보면,

 

1. CAN프로토콜은 주로 자동차 내에서 장비들끼리 통신을 하기 위해 만들어진 프로토콜이다.

 

2. 하나의 버스네트워크를 가진 구조로 되어있다.

 

3. 가장 큰 특징으로는 메시지 지향성이 있는데, 이는 수신하는 노드가 메시지를 받을지말지 판단하는 방법이다.

 

 

본 내용은 공부하며 정리한 것으로, 오류가 있을 수 있습니다.