드디어 CAN 통신을 하는군요
CAN은 막상코딩하면 쉬운데 개요 파악 및 개념잡기가 업렵고, 이해하기도 사전 지식이
없으면 힘들며, 이론적인 백그라운드 없이 펌웨어 프로그램을 하면 구현은 되나 그 이상 진전은 보지 못할겁니다. 아울러 응용하는데 문제가 발생할겁니다. 그러니 어렵지만 이론적 백그라ㅇ운드를 다질 필요가 있습니다.
그러나 실제로 통신코딩은 되게 쉽습니다 그리고 안정적이고 UART보다도 더 편하고 삐릅니다.
CAN 통신 개요 이론적인 설명은 방대한 자료로 인하여 전체적으로 정리하여 짧은 시간안에 다 전달하기에는 무리가 있습니다.
일단 정리되는데로 시간되는데로 내용을 두서없이 서술하고 차후 이를 바탕으로 강의자료 만들어 배포해 드리겠습니다.
그때까지만 본 자료로 강의자료를 대신합니다.
1. CAN 통신 개요
- 캔 통신은 Bosch사에서 차량 네트워크용으로 개발되었습니다. 이전까지 사용하던, 자동차 내부의 모든 시스템을 일일이 연결하는 PTP(Point To Point) 와이어링 시스템보다 모든 시스템을 하나의 버스로 묶는 캔 통신은 복잡성, 비용, 중량에 이점이 있습니다. 캔 통신은 개발된 1985년부터 현재까지 자동차를 넘어 의료기기, 항공기, 우주 항공 등 다양한 곳에서 사용되는, 안정성이 입증된 통신 방식입니다.
여러개의 CAN 장치가 서로 통신할 수 잇고ㅡ 하나의 CAN 인터페이스로 야러개의 모듈을 제어할 수 있어
연결선 감소, 무게경감, 원가하락,효율적으로 시스템 제어 가능등의 이점이 있다.
2. CNA통신 특징 및 장점
3. 역사
- 벤츠 회사에서 보쉬사에 차량용 네크워크 개발의뢰
- 보쉬에서는 1965년에 CAN통신을 개발 함
- 1993년 ISO 국제표준규격으로 제정 됨
- 1985년 CAN1.0 제정
- 1987년 1.1판 제정
- 1990년 1.2판 제정
여기가지는 안정성 추가 및 각종장치 IF에 취중함
- 1991년 2.0판 제정 == 표준CAN(2.0A), 및 확장CAN(2.0B) CAN통신으로 구분
4. CAN 원리
캔 통신은 위와 같이 {ID, 데이터 길이, 데이터}로 구성된 노드를 전송합니다. 다른 통신 방법과 다르게 이 통신 방식은 메시지에 송신 측이나 수신 측의 주소를 지정하지 않습니다. 즉, 주소 지정 방식이 아닌데, 이 대신 모든 메시지의 앞부분에는 ID(식별자)를 가지고 있습니다. 이로써 수신할 때 ID를 확인하여 필요한 메시지만 수신합니다. 이때, ID가 낮을수록 전송 순위가 높으며, 순위가 낮은 메시지는 다음 사이클에 재전송됩니다.