검수요청.png검수요청.png

CANdb

위키원
leejia1222 (토론 | 기여)님의 2024년 1월 9일 (화) 11:03 판 (새 문서: 썸네일|300픽셀|'''CANdb''' '''CANdb'''는 네트워크 및 통신 데이터 관리 파일을 의미한다. 이 파일의 확장자가 .dbc(CAN.dbc)여...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)
이동: 둘러보기, 검색
CANdb

CANdb네트워크 및 통신 데이터 관리 파일을 의미한다. 이 파일의 확장자가 .dbc(CAN.dbc)여서 DBC 파일이라고도 한다. CANdb는 자동차 개발 기간 동안 작성되며, 일종의 설계도 같은 역할을 한다. 메시지아이디(ID), 주기, 전송노드, 수신노드 등을 정의하고 이렇게 완성된 CAN.dbc는 부품을 개발하는 제조업체들 사이에서 공유된다. 양산차 회사의 경우 CAN.dbc를 다운로드 할 수 있다.

타고 월렌트 대형 가로 배너.jpg
이 그림에 대한 정보
[타고] 1개월 단위로 전기차가 필요할 때! 타고 월렌트 서비스

배경

CAN 통신을 사용하려면 여려가지 정해야 할 것들이 있다.

  • 정확한 CAN 프로토콜은 무엇인가?
  • BaudRate가 얼마인가?
  • CAN 버스에 어떤 제어기들이 참여할 것인가?
  • 어떤 아이디의 메시지를 사용하는가?
  • 특정 아이디의 메시지의 이름과 해당 메시지를 송신하는 제어기는 누구인가?
  • 해당 메시지에 어떤 시그널이 포함되는가?
  • 각 시그널들의 값?

이러한 정보들이 사전에 정의되고, 제어기 개발자들은 이 정보를 바탕으로 CAN 통신 기능을 구현하게 된다. 이런 정보를 완성차 업체에서 만들어서 각 제어기 개발자와 개발업체에 제공하는데 이 정보가 바로 CANdb이다.

그리고 dbc란 이러한 정보들을 적는 어떠한 파일을 의미한다. 이는 벡터(Vector)라고 하는 회사에서 만든 파일 타입인데, 이 파일의 확장자가 .dbc이다. 그래서 이 파일을 dbc라고 부른다. CAN 관련 정보를 꼭 dbc 파일로 만들 필요는 없는데 세계의 수많은 유명 자동차 제조사들이 dbc 파일을 사용해서 정보를 작성하고, 주고받는 경우가 많아지면서 거의 국제 표준 파일인 것처럼 널리 사용되고 있다.

이를 이해하기 위해서는 벡터라는 회사에 대해 알 필요가 있다. 벡터는 자동차 개발에 필요한 각종 툴을 만들어 파는 회사이다. 그리고 이 툴을 정말 많은 회사에서 사용한다. 그리고 벡터가 만든 여러가지 툴들이 dbc 파일을 활용할 수 있도록 만들어지기 때문에 CAN.dbc 파일을 많은 회사에서 널리 사용하게 되고, 그러다보니 CANdb 내용 작성을 거의 CAN.dbc로 작성해서 공유하는 것이다. 이렇게 많은 회사에서 CAN.dbc 파일을 이용하다보니 이제는 벡터가 아닌 다른 회사들도 CAN.dbc가 import 되도록 소프트웨어를 만드는 지경이 이르렀다.[1]

상세

CAN/CAN FD 네트워크 개발의 핵심 요소는 버스 상에서 교환되는 데이터의 명세다. 이는 DBC 파일 형식으로 정의되며, 다음과 같이 다른 모든 개발 단계의 기초가 된다.

  • 버스 통신 시뮬레이션 및 분석
  • ECU/LRU 소프트웨어 및 상세한 ECU/LRU 테스트에 대한 구성

DBC 데이터베이스는 CAN/CAN FD 네트워크의 속성, 버스에 연결된 ECU/LRU 및 메시지 및 시그널을 정의한다. J1708/J1587 및 ARINC 429 뿐만 아니라 J1939/ISO 11783 등의 확장 프로토콜을 지원하는 CANdb는 DBC 데이터베이스를 시각화하고, 새로운 데이터베이스를 작성하거나 기존 데이터베이스의 데이터를 수정하는 데 필요한 기능을 사용자에게 제공한다.

CANdb는 J1939/ISO11783, J1708/J1587 및 ARINC 429 등의 버스 시스템을 설계하는 데 특화된 기능을 제공한다. 또한, 설계된 데이터베이스를 J1939 용 벡터 툴체인에 통합하여 사용할 수 있다. 이와 같이 CANdb는 통신 네트워크 개발자 및 컴포넌트 공급 업체에게 중요한 툴이다. CANdb는 항공기뿐만 아니라 완성차에 대한 통신 매트릭스를 작성하는 기능을 제공한다. 특히 게이트웨이를 통한 시그널 라우팅 정보와 네트워크의 실시간 동작을 평가하기 위한 타이밍 정보를 정의할 수 있다. 또한 CANdb의 데이터 모델을 통해 다양한 요구 사항에 맞출 수 있도록 사용자 속성을 추가하여 정의할 수 있다.[2]

응용분야 통신 메트릭스 설계
  • 차량 및 항공기 네트워크와 ECU/LRU의 통신 오브젝트를 정의
  • 예측되는 타이밍 동작 (버스로드, 전송 시간 등)과 관련된 네트워크 분석
  • 통신 데이터에 대한 사용자 친화적인 유저 인터페이스
  • 사용자 속성(전송 동작, 전송 주기, 타임아웃)으로 표현가능한 전송/수신 관계에 대한 사양
분산 시스템의
개발 프로세스에서의
데이터의 사용
  • 공급 업체로 전달하기 위한 일부 네트워크 혹은 ECU/LRU 의 데이터 추출
  • 통신 데이터를 기술하기 위한 사실상의 표준으로서 Vector DBC 형식 완벽 지원
기능
  • 자신만의 데이터베이스를 구축
  • 데이터를 표시하고 처리하기위한 다양한 유저 인터페이스(예 : 네트워크, ECU/LRU, 시그널)
  • 데이터베이스의 비교 (차이점 표시) 및 병합
  • 공급 업체 및 프로젝트 파트너에게 전달하기 위한 통신 데이터 가져오기 및 내보내기 (DBC, XML, CSV 형식)
  • 통신의 무결성을 보장하기 위한 데이터베이스 정합성 검사

각주

  1. 존버매니아.임베디드 개발자, 〈CAN 통신 - CAN DBC 파일이란 무엇인가?〉, 《티스토리》, 2022-08-10
  2. CANdb++ - 네트워크 및 통신 데이터 관리〉, 《벡터코리아》

참고자료

같이 보기


  검수요청.png검수요청.png 이 CANdb 문서는 자동차 전장에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.