1. DBC 파일이란 무엇인가?
CAN 통신을 처음 접하면 데이터는 아래처럼 단순한 형태로 보인다.
* ID: 0x123
* Data: 0x00 0x1A 0xFF 0x10 ...
이 상태에서는 사람이 데이터의 의미를 직관적으로 이해하기 어렵다. 이때 필요한 것이 바로 DBC 파일이다.
DBC 파일은 CAN 메시지를 사람이 이해할 수 있는 물리값으로 변환해주는 일종의 설계 문서 역할을 한다.
예를 들어 단순한 Raw 데이터 값이 실제 차량 속도나 상태 정보로 해석될 수 있도록 기준을 제공한다.
예를 들면 다음과 같다.
* 0x1A → 차량 속도 26 km/h
* 0xFF → 오류 또는 미정의 값
이처럼 DBC 파일이 있어야만 CAN 데이터를 의미 있는 정보로 해석할 수 있다.
실무에서는 DBC 없이 CAN 데이터를 분석하는 것은 사실상 불가능에 가깝다.
그럼 이제 DBC 파일 기본 구조를 살펴보자.
2. 메시지 정의 (BO_)
BO_ 123 AJAJ_02_00ms: 8 BSDW_CUC
이 구문은 하나의 CAN 메시지를 정의한다.
- 123: CAN ID
- AJAJ_02_00ms: 메시지 이름
- 8: 데이터 길이(DLC)
3. 시그널 정의 (SG_)
SG_ AJAJ_CrshSpeed : 32|16@1+ (1,0) [0|250] "km/h"
이 한 줄에는 실제 데이터를 해석하는 데 필요한 정보가 모두 포함되어 있다.
주요 요소는 다음과 같다.
- 32|16: 시작 비트와 길이
- @1: Little Endian 방식
- +: 부호 없음
- (1, 0): Factor와 Offset
- [0|250]: 최소값과 최대값
- "km/h": 단위 ("" 안에 아무것도 없으면 단위 없음)
이 정보를 기반으로 실제 물리값은 아래와 같은 식으로 계산된다.
물리값 = (Raw 값 × Factor) + Offset

이 화면은 CANoe에서 특정 Signal을 선택했을 때 확인할 수 있는 상세 정보 창이다.
실제 DBC 파일에 정의된 Signal 정보가 그대로 표시되며, 데이터 해석에 필요한 모든 요소가 포함되어 있다.
특히 아래 항목을 중점적으로 보면 된다.
- Length (Bit) : 신호의 데이터 길이를 의미하며, 현재 값은 2bit로 설정되어 있다.
- Byte Order : Intel 방식으로 설정되어 있으며, 이는 Little Endian을 의미한다.
- Value Type : Unsigned로 설정되어 있어 부호 없는 값으로 해석된다.
- Factor / Offset : 현재 Factor는 1, Offset은 0으로 설정되어 있어 Raw 값이 그대로 사용된다.
- Start Bit : 해당 Signal이 메시지 내에서 어느 위치에 있는지를 나타낸다.
이 정보를 기반으로 CAN 데이터는 실제 물리값으로 변환된다.
4. CANoe에서 DBC 파일 적용 방법
CANoe에서 DBC를 적용하는 과정은 비교적 단순하지만, 정확하게 이해하고 있어야 한다.
1) CANoe 실행 및 Configuration 생성
CANoe를 실행한 후 새로운 Configuration을 생성한다.
2) DBC 파일 추가
Simulation 탭안에 있는 Simulation Setup 을 클릭하여 다음 경로로 이동한다.

이후 Add 버튼을 눌러 DBC 파일을 추가한다.

3) Trace 창에서 결과 확인
Trace Window를 열고 CAN 메시지를 확인한다.
DBC 적용 전에는 단순한 Raw 데이터만 보이지만,
DBC 적용 후에는 신호 값이 사람이 이해할 수 있는 형태로 변환된다.
이 변화가 DBC 적용의 핵심이다.
5. 실무에서 DBC 분석 시 핵심 포인트
DBC를 단순히 읽는 것보다 중요한 것은 어떤 부분을 중점적으로 봐야 하는지 아는 것이다.
1) Start Bit / Length
신호의 위치와 길이를 잘못 해석하면 전체 값이 완전히 틀어질 수 있다.
2) Endian (Intel vs Motorola)
이 부분은 실무에서 가장 많이 발생하는 오류 중 하나다.
- Intel: 일반적으로 많이 사용되는 방식 (Little Endican 방식)
- Motorola: 비트 순서가 다르기 때문에 해석 시 주의 필요
3) Factor / Offset
Raw 데이터를 실제 물리값으로 변환하는 핵심 요소다.
예를 들어 Raw 값이 100이고 Factor가 0.1이라면 결과 값은 10이 된다.
4) Invalid 값 확인
특정 값은 정상 데이터가 아닌 상태 값을 의미하는 경우가 많다.
- 255: Not Available
- 65535: Error
예를 들어 차량 속도가 255로 표시된다면 이는 정상적인 값이 아니라 오류 상태로 판단해야 한다.
5) 주기 (Cycle Time)
메시지의 송신 주기는 시스템 상태를 판단하는 중요한 기준이다.
주기가 깨지거나 메시지가 끊기는 경우 통신 이상으로 판단할 수 있다.
정리
DBC 파일은 CAN 통신 해석의 핵심 요소이며, CANoe에서는 Database로 반드시 연결해야 한다.
또한 Signal 구조에 대한 이해가 정확해야만 올바른 데이터 해석이 가능하다.
'Vector CANoe' 카테고리의 다른 글
| CANoe 시작할 때 반드시 해야 할 초기 설정 (CANoe16 실무) (0) | 2026.05.02 |
|---|---|
| CANoe Trace 창 보는 법 (0) | 2026.04.13 |