본문 바로가기
자동차 임베디드 SW/CAN통신 & LIN통신

CAN 통신 - CAN DBC 파일이란 무엇인가?

by 존버매니아.임베디드 개발자 2022. 8. 10.
반응형

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

CAN 통신 - 자동차 신입이 알아야 할 모든 것 - 인프런 | 강의

CAN통신에 대한 '학술적인' 강의가 아니라 '같이 일하게 될' 신입사원에게 알려준다는 생각으로 일을 하는 과정에서 필요한 모든 얘기들을 담았습니다., - 강의 소개 | 인프런...

www.inflearn.com

 

반응형