Information on DBC-file support
This page describes the DBC-parser used by the decoders. The DBC-parser supports a subset of the DBC-file keywords, necessary for decoding of data.
Keywords
The DBC-parser supports the following keywords.
Keyword |
Description |
---|---|
|
Message definition |
|
Signal definition |
|
Attribute value |
|
Attribute definition |
|
Attribute default value |
|
Extended multiplexing definition |
|
Extended value type definition |
Note
Unsupported keywords can be removed from a DBC-file to reduce parsing-time.
Attributes
The DBC-parser supports a range of custom attributes.
ID-format
The message ID-format is specified using the DBC-file attributes BusType
(string) and ProtocolType
(string) as defined below.
ID-format |
|
|
---|---|---|
LIN |
|
|
CAN |
|
|
PGN |
|
|
Note
If BusType
is not defined or empty, the parser assumes that the ID-format is CAN.
Note
When ID-format PGN
all extended-ID messages are interpreted as PGNs. The commonly used attribute VFrameFormat
is not used.
For examples see BusType / ProtocolType attribute examples.
Transport protocol
Some bus networks use one or more transport-protocols for transporting payloads (data bytes) exceeding the capacity of a single bus frame. For more information see Information on transport protocol support.
The DBC-parser supports a custom attribute TransportProtocolType
used to specify if a message uses a transport protocol as defined below.
Transport protocol |
|
|
---|---|---|
J1939-21 |
|
|
ISO-15765-2 / ISO-TP |
|
|
IEC 61162-3 / NMEA-2000 (fast packet) |
|
|
CSS MUX-TP |
|
The MUXTP
transport protocol type takes additional arguments (<S1>:<S2>:<S3>:<S4>
) to map muxed channel indexes to new virtual channel numbers (decimal values).
Note
If ProtocolType
is set to J1939
, the static J1939-21 transport PGNs (EB00 and EC00) are automatically assumed to be transport-protocol messages.
For examples see TransportProtocolType attribute examples.
Message ignore
The DBC-parser supports a custom attribute MessageIgnore
used to ignore certain messages defined in the DBC-file. This can be useful to ignore message without removing them completely from the DBC-file.
The MessageIgnore
is a message-level attribute (specified by BO_
) and takes the following values (INT):
MessageIgnore = 0
: Message is includedMessageIgnore = 1
: Message is ignored
The default value can be used to specify if messages should generally be either included or ignored - if no specific value is provided.
For examples see MessageIgnore attribute examples.
Signal ignore
The DBC-parser supports a custom attribute SignalIgnore
used to ignore certain signals defined in the DBC-file. This can be useful to ignore superfluous signals, such as e.g. multiplexor switch values.
For examples see SignalIgnore attribute examples.
Signal encoding
The DBC-parser supports the signal encodings defined below.
Supported |
Unsupported |
|
---|---|---|
Endianness |
Intel, Motorola |
|
Signedness[1] |
Unsigned, Signed |
|
Extended value types |
Note
Invalid / unsupported signals are ignored as if not present in the DBC-file and parsing continues
Multiplexing
The DBC-parser supports both standard and extended-multiplexing.
When using extended-multiplexing, the parser supports the following switch formats:
Switch |
Supported |
Example |
---|---|---|
Single |
- |
|
Range |
+ |
|
List |
- |
|
Note
A single switch value can be constructed using range with from and to set to the same value.