CAN 통신
Controller Arean Network의 약자로
차량 내에서 디바이스들이 서로 통신하기 위해 설계된 표준 통신 규격이다.
기존 차량 내에서 모듈들이 통신하기 위해서 UART 통신을 사용했지만
모듈이 추가될 때마다 연결선을 추가적으로 늘리면서 공간과 무게를 늘리는 바람에 비효율적이라 생각하였다.
따라서 CAN 인터페이스를 개발하여 여러 개의 모듈을 제어하면서도 연결선, 무게, 원가 모두 줄일 수 있게 되었다.
CAN통신은 여러 개의 ECU(Electronic Control Unit)들을 병렬로 연결해서 데이터를 주고 받는 통신 방법이다.
CAN 버스를 통해 통신선 상에 데이터를 띄워놓고 필요한 데이터에 접근한다.
동작 방법
마스터가 없어서 CAN버스에서 데이터에 쉽게 접근할 수 있다. CAN 제어기는 버스 선이 다른 제어기에 의해 사용 중인지 확인한다. 만약 사용중이지 않다면 모든 노드는 ID값을 통해 자신에게 필요한 메시지를 확인한다. 불필요한 메시지를 무시하고 자신에게 필요한 메시지만 수신한다. 다중 노드가 동시에 메시지를 CAN 버스에 전송하려는 경우에 가장 낮은 ID 값을 가진 최우선 노드가 자동으로 버스에 접근하게 된다.
https://chkw0107.tistory.com/28