# CAN DBC 소개

- Communiation Matrix, K-matrix
- 컨트롤러는 아이디가 Ox444인 메세지를 보내야 되고
- 그거를 10ms마다 Ox444라는 자동차 제조사들은 이런 커뮤니케이션 매트릭스을 작성해서 부품사에 전달
## CAN DBC 파일을 쓰는 이유

- CAN 통신과 관련된 정보들을 DBC에 적어서 준다.
- 다른 회사의 툴또한 CAN DBC을 Import가 가능하다.
## CANoe 에 CAN DBC 해석하는 방법

- CANoe에 CAN 통신 정보을 이용해 CAN DBC의 정보을 보며
- 배터리 전압, 배터리 전류, 용량... 정보을 알아봐야되는데
- CANoe에 import 한 이후

- CAN DB의 정보을 CANoe에 나온다.
- CANoe을 사용할때 CAN DBC는 필수적이다.
# DBD 만들어보기 실습

## Create Template
안녕하세요. 벡터 홈페이지에서 저도 SP2를 새로 받아보니 말씀하신 것처럼 Basic Template이 없어졌네요. 일단 실습을 위해서 아주 간략한 버전으로 답을 먼저 드리면
GenSendMessageTemplate.dbc <- 이걸 사용하시면 됩니다.

- Nexwork 설정 -> CAN

- 제어기 목록 정하기
1. Network nodes => new => 제어기 추가하기


- 메세지 만들기

- 시그널


메세지에 시그널 추가

메세지의 시그널 확인


- 메세지에서 제어기 설정
메세지에서 제어기을 설정한다.

- 수신 제어기 설정하기
제어기 에서 수신 제어기을 설정한다.
배터리 전압(BMS_BatVolt)는 Engine_Controller가 받는다.



## Value Table 적용하기
- 밸류 테이블, 상태정보 테이블 만들기

-

- BMS_Status에 Value 테이블 적용하기
BMS_Status 시그널에 적용하기

- BMS 메세지에, BMS_Status 적용하기

BMS의 메세지에 BMS_Status의 Start bit 재설정

- 요약
DBC에서 셋팅해야 할 기본적인 사항들
- 네트워크 프로토콜 종류 - CAN? CAN FD?
- 네트워크에 참여하는 제어기 목록
- 각 제어기 별로 자신이 수신하는 시그널 정의
네트워크에서 사용되는 메시지 목록 정의
- 메시지 ID
- 메시지 이름
- 데이터 길이 (단위는 byte)
- 전송 주기
- 해당 메시지를 전송하는 제어기
- 메시지에 포함되는 시그널 목록 및 시그널 배치 (Layout)
네트워크에서 사용되는 시그널 정의
- 시그널 이름
- 시그널 길이 (단위 bit임)
- Factor, Offset
- Min, Max