CAN 통신(캔 통신) 소개하기
CAN 통신은 메시지(Message) 기반의 프로토콜로 디자인되었습니다. 오토모티브(자동차) 애플리케이션에서 주로 사용되며, 우주 항공분야, 선박, 열차, 산업 자동화, 그리고 의료 장비까지 널리 사용됩니다.
CAN 2.0은 최종 버전은 CAN 2.0A와 CAN 2.0B 두 가지로 나타낼 수 있습니다.
CAN 2.0A
- Standard format with an 11-bit identifier
- 최대 통신속도: 256kbit/sec
CAN 2.0B
- Extended format with a 29-bit identifier
- 최대 통신속도: 1Mbit/sec
CAN은 멀티 마스터(multi-master) 직렬 버스 구조로 ECUs(Electronic Control Units)라고 부르는 노드에 연결을 할 때 사용합니다. 이러한 ECU들을 노드라고 부릅니다. 모든 노드는 CAN에서 사용하는 두 개의 선으로 구성된 버스에 서로 연결됩니다. 이때 주로 MCU가 CAN 노드가 되며, 외부에 CAN Tranceiver가 반드시 필요합니다. 버스의 양 끝에는 반드시 120ohm 종단 저항이 연결되어 있어야 합니다.
사진출처: http://ww1.microchip.com/downloads/en/AppNotes/Atmel-42464-SAMC21-CAN-BUS-Firmware_ApplicationNote_AT6493.pdf
CAN 통신에 사용되는 여러 반도체 제조사에서 공급되고 있으며 Atmel(현재의 Microchip)의 ATA6560이나 ATA6561과 같은 CAN 트렌시버를 사용할 수 있습니다.