✅ 목표

CAN 통신, CAN 버스에 대해서 이해하자.

CAN 통신으로 데이터를 주거니 받거니 해보자.

CAN 템플릿

CAN Controller Area Network는 1985년경 자동차 업체인 벤츠의 요구에 따라 자동차 내부의 전자 시스템간의 통신을 위해 독일의 보쉬Bosch사에 의해 개발된 통신 규약이다. CAN이라는 이름이 의미하듯이 차량 전용으로 설계된 프로토콜이다. 하지만 근래에는 차량 이외에 산업 현장 및 군숭용으로도 많이 사용된다.

초기의 자동차는 기계적인 장치가 대부분을 이루었기 때문에 전자장치의 수가 별로 없었지만 시간이 흐를수록 많은 전자 장치들이 도입되게 되었고, 전자장치들은 서로 1:1로 연결되었는데 장치들의 수가 적을 때 크게 문제가 안되던 것이 장치가 늘어날수록 배선량이 기하급수적으로 늘게 되었고 이는 배선의 복잡성 증가, 배선 비용 증가, 차량 중량 증가 및 사후 유지 보수의 어려움 증가로 인한 전체 제조비용의 증가로 이어졌기 때문에 일대일(1:1, Point to Ponit) 통신 방식이 아닌 다중 통신 방식(Multi Master Communication) 이 절실히 대두되었다.

또한 차량 내부의 전자 장치는 디지털 TV와 같이 생명에 크게 지장이 없는 전자 장치가 있는 반면 브레이크 제어, 엔진 시스템 제어와 같은 생명에 직결되는 중요한 장치도 있다.  아울러 차량 내부는 고열, 고압으로 인해 각종 노이즈 및 스파크가 발생하기 쉬워 데이터 송수신시 높은 신뢰성도 확보되어야 했다.

결론적으로 고속이면서 노이즈에 강하고 높은 안정성과 신뢰성을 가지고 있는 통신 방식이 필요했는데 이러한 배경으로 만들어진 것이 CAN 통신이다. 즉, CAN은 차량 내부 네트워크를 연결하고 차량 내부의 특성에 맞게 특화된 시리얼 통신 방식의 하나라고 할 수 있다.

1980년대 만들어진 이후 1993년 CAN은 표준 ISO 11898과 ISO 11519 두 가지가 발표되었는데 전자는 고속 애플리케이션 용이고 후자는 저속 애플리케이션 용이다. 또한 CAN은 고속, 높은 잡음 면역성, 오류-검출 기능을 가지고 있어 자동차 이외에 제조 산업과 항공 우주 산업에서도 폭넓게 사용되고 있다.

임베디드 통신 중에서 유선 통신 중에서 여러모로 강점을 가지는 통신중의 하나가 CAN 통신이 아닐까 한다. 고속이면서 노이즈에 강하고, 안정적이며 하드웨어적으로 에러 보정 기능이 있다. 다만 다른 통신에 비해 가격이 비싸고 프로그래밍이 쉽지 않은 단점이 있다.

✅ 목차 (Index)