CAN-dbc Symbolic Trigger and Decode for Automotive Testing

CAN-dbc Symbolic Trigger and Decode for Automotive Testing


In this short video, I’ll show how to symbolically decode a differential CAN bus
using a Keysight InfiniiVision 4000 X-Series oscilloscope with the DSOX4AUTO CAN and LIN trigger and decode option.
Here we show the scope triggering on and decoding a CAN bus in a hexadecimal format.
To learn more about how to set up the scope for this initial setup condition,
refer to the YouTube URL listed on your screen.
Below the waveform, we can see the time-correlated decode trace.
So, what does the 0296A95D frame ID mean?
And, what is the meaning of the long string of rapidly changing white hexadecimal characters,
which is the 8-byte data field of this particular frame?
To interpret this in some meaningful and more intuitive way,
we need for the scope to decode this frame symbolically.
To do that, we can import a .dbc file that defines this particular CAN bus.
All of today’s vehicles have .dbc files that define each CAN bus in the system.
Let’s now import the .dbc file that defines this bus.
I’ll first press the Save / Recall front-panel key then select Recall.
I’ll navigate to my file and then just press to recall.
The scope is now decoding this bus symbolically.
We can see that this frame, which is actually a CAN message, is called EngineData.
We can also see all of the signals that are contained within this message…
including Fuel, Temp, and Speed.
Note that in CAN-dbc language, a signal is not an electrical input or output.
A signal in .dbc language is a physical parameter such as temperature.
Let’s now see what our triggering options are now that we’ve loaded our .dbc file.
Here we show the scope’s CAN trigger menu.
We now have the option of triggering at a message or at a message and signal level.
If we select a trigger at a message level,
we can then select to trigger on any of the messages that have been defined in the .dbc file.
For our CAN demo signal here, we only have four defined messages:
ABS, Airbag, EngineData, and Steering.
Here we show the scope triggering on steering.
For a hi-speed CAN bus in a real vehicle,
there would typically be many more possible messages to select from.
Let’s now see the various display formats of symbolic decoding…
besides just the time-correlated decode trace below the waveform.
If the scope’s time base is scaled to capture multiple CAN messages, as shown here,
you can select to view all decoded messages in the lister format,
which is shown in the upper half of the scope’s display.
To see more details of captured signals,
especially if a message consists of many different signals,
which is not uncommon in a real vehicle,
you can also select to view the symbolically decoded data in the live packet viewer, as shown here.
If there is a long list of signals within the triggering message,
then you can use the scroll bar to view specific signals in the list.
To learn more about Keysight’s InfiniiVision X-Series oscilloscopes
and how they can help you debug your automotive designs faster,
contact an authorized Agilent distributor and ask for a demonstration.
Thank you.

Leave a Reply

Your email address will not be published. Required fields are marked *