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 트렌시버를 사용할 수 있습니다.
'Embedded' 카테고리의 다른 글
코드 주석 처리하기(단축키) (0) | 2019.01.08 |
---|---|
CAN 통신 - CAN Tranceiver의 통신 레벨 (0) | 2019.01.06 |
CAN 통신(캔 통신) Message IDs(메시지 IDs) (0) | 2019.01.06 |
How can i select the optimization level of compiler on MPLAB X? (0) | 2019.01.02 |
How much optimize depend on optimization level of compiler? (0) | 2019.01.02 |