CAN 통신을 사용하려면 여러가지 정해야 할 것들이 있다.
1.정확한 CAN 프로토콜이 무엇인가? (ex. High Speed CAN이냐 CAN-FD냐)
2. BaudRate이 얼마인가?
3.CAN 버스에 어떤 제어기들이 참여할 것인가?
4. 어떤 ID의 메세지를 사용하는가,
5. 특정 ID의 메세지의 이름과 해당 메세지를 송신하는 제어기는 누구인가?
6. 해당 메세지에 어떤 시그널들이 포함되는가?
7. 각 시그널들의 값, Min Max Offset Factor
이런 정보들이 사전에 정의되고, 제어기 개발자들은 이 정보를 바탕으로 CAN 통신 기능을 구현하게 된다.
이런 정보를 완성차업체에서 만들어서 각 제어기 개발자,제어기개발 업체에게 제공하는데
이 정보는 엑셀로 작성되든 워드로 작성되든 그냥 메일로 전달하든
인간이 알아먹기만 하면 된다.
이런 자료를 Communication Matrix, CAN Db, K-Matirx 등으로 부른다.
한편, 그러면 CAN DBC란 무엇인가?
DBC란, 위에서 말한 저런 정보를 적는 어떤 '파일' 을 말한다.
이것은 Vector라고 하는 회사에서 만든 파일 타입인데, 이 파일의 확장자가 .dbc 이다.
그래서 이 파일을 dbc라고 부른다.
앞에서 말한 것처럼 이런 CAN 관련 정보를 꼭 DBC 파일로 만들 필요는 없는데 세계의 수 많은 유명 회사들은 DBC 파일을 사용해서 이런 정보를 작성하고, 주고 받는 경우가 매우 많다.
세계 표준 이런게 아니라 일개 회사에서 만든 파일 타입인데 이것이 거의 국제표준 파일 인것 마냥 널리 사용된다.
그 이유를 이해하려면 Vector라는 회사에 대해 알 필요가 있는데,
Vector라는 회사는 자동차 개발에 필요한 각종 Tool들을 만들어 파는데
이런 Tool들을 정말 많은 유명회사에서 사용을 한다.
그리고 벡터가 만든 여러가지 Tool 들이 이 Dbc 파일을 활용할 수 있도록 만들어지기 때문에 CAN DBC 파일을 많은 회사에서 널리 사용하게 되고.. 그러다보니 Can DB 내용 작성을 거의 CAN DBC 파일로 작성해서 공유하는 것이다.
그리고 워낙 많은회사에서 CAN DBC 파일을 이용하다보니까 이제는 vector가 아닌 다른 회사들도 can dbc가 import 되도록 SW를 만드는 지경에 이른 것이다. 예를 들면 matlab 같은 프로그램에도 can dbc 파일이 import가 된다.
아무튼 Vector에서는 CanDb++ Editor라고 하는 에디터 파일을 만들었는데,
이 파일을 이용하면 CAN DBC 파일을 손쉽게 작성하고, 열어 볼 수 있다.
이 CanDb++ sw는 유료버전 무료버전이 있는데 무료버전은 www.vector.com 홈페이지에서 다운로드 받아서 쓸 수 있다.
캔통신 유료강의를 진행중입니다.
샘플강의도 여럿있으니 들으면 도움이 되실겁니다.
https://inf.run/abvS
'자동차 임베디드 SW > CAN통신 & LIN통신' 카테고리의 다른 글
LIN 통신 개요 (0) | 2022.08.10 |
---|---|
CAN 통신- Canoe란 무엇인가? CAN통신 계측,시뮬레이션 SW(작성중) (7) | 2022.08.10 |
CAN 통신 - CAN FD 란 무엇인가 (0) | 2022.08.10 |
CAN통신 CAN Extended란 무엇인가(작성중) (0) | 2022.08.10 |
CAN통신의 Fault & Bus Off에 대하여 (작성중) (0) | 2022.08.10 |