In this short video, I'll give a demonstration of setting up the Keysight InfiniiVision X-Series oscilloscope...
to trigger and decode on the SENT serial bus.
But before we get into the demo,
let's first review what SENT is.
SENT, which stands for Single-Edge Nibble Transmission,
is a point-to-point serial bus used in automotive applications to digitally transmit sensor data to ECUs.
Here we show a timing diagram of a SENT packet of fast channel data.
SENT data is encoded by modulating pulse periods to represent nibble values.
For example, a 12-tick-wide pulse period, which is the minimum pulse period, represents a value of zero.
A 27-tick-wide pulse period, which is the maximum pulse period (excluding the sink pulse),
represents a nibble value of 15.
For the rest of nibble shown in this example,
17 ticks represents 5, 22 ticks translates into A, 14 ticks translates into 2...
20 ticks translates into 8, 12 ticks into 0, and 21 ticks into 9,
which in this example is our CRC nibble.
Also, data fields can be grouped into signals,
which will typically represent a physical value such as temperature or pressure.
And lastly, the status in communication nibble can have embedded in it -
what's called slow-channel serial data,
which is accumulated over several transmissions of fast-channel packets.
Unfortunately, we can't go into this topic any deeper in this short video.
So, please read the SENT specification if you want to learn more.
But I will show a decoded results of flow channel data on the oscilloscope in just a minute.
Let's now see what SENT waveforms look like on the scope.
Let's begin by first looking at just fast channel data in a hexidecimal format.
I'm going to press AutoScale to automatically set up the vertical and horizontal scaling.
Then I'm going to change the time base to 200 ms/div so that we can get 2 or 3 fast channel messages on screen.
I'm going to bring up the serial decode menu...
...and select the SENT protocol.
Then I'm going to go into the bus configuration menu,
which is important to set up.
This is where we can define the clock period,
which is sometimes called tick times.
Clock tolerance. Number of nibbles in each message.
The idle state, which can be high or low.
And then the CRC format - there are two different formats.
And then whether or not there's a pause pulse.
We can us all of these default setting, except we do have a pause pulse.
Next, I'm going to go into the settings menu.
Now, in this menu, we can define how we want the scope to decode the information.
We're going to just use the default, which is fast channel nibbles.
And that will decode only fast channels in a hexidecimal nibble-by-nibble format.
Lastly, let's turn on the protocol lister so that we can see the decode information in the lister,
which is sometimes called an event table,
as well as the time-correlated decodes below the waveform.
At this point, we're decoding perfectly fine, but we're not triggering on any specific SENT information yet.
We're just triggering on edges.
So, let's set up triggering next.
To trigger on SENT, first I pull up the trigger menu...
...and then change from triggering on edges to triggering on SENT.
Then I can pop up the SENT trigger menu, and we have various trigger conditions we can trigger on.
Some of these are grayed out - that's because we have defined only fast channel decoding,
which means we can only trigger on fast channel; we can't trigger on the slow channel - that's what's grayed out.
Right now it's just triggering on the start of any fast channel message; that's the default.
Let's trigger on something a little more specific.
We'll select fast channel SC and data.
Status and communication.
And, let's enter a specific status nibble 4 and the first data nibble 9.
And now we have a very stable trigger on this particular fast channel message.
So, what you can see here: the status communication is 0100.
We display that in binary.
And then we have 6 nibbles: 91D91D.
And then the last nibble (6) is the CRC.
Let's now take a look at some of the more complex slow channel decoding and triggering.
Here we show a much more advanced and powerful setup condition.
We are now not only decoding the fast channel message,
but we are also decoding the slow channel messages.
We actually have two decode traces below the waveform.
The one on the top here is the decode of the slow channel messages.
Now, one big difference in this setup is I'm on a much slower time base range.
I'm at 10 ms/div.
The decode trace at the bottom is the fast channel messages that we saw earlier.
But because the time base is on a much slower range, we can't really see that decode information down here...
unless I zoom in further.
And there we see the fast channel information.
Zoom back out.
We can see the slow channel information.
And in the event table, you can see these lines here are the slow channel,
and these are all the fast channels.
Now, something else that's different in this decode is...
...we are no longer decoding the data nibbles in the fast channel, which you see here: S1 and S2.
Again, I could zoom in, and we see it here - S1 and S2.
We're not decoding them hexadecimally anymore.
We're decoding them as signals.
Now, let's go back into the serial decode menu.
Go into settings.
And this is where you can setup a transfer function,
define up to six signals
define the start bit, the stop bit, the number of bits,
the nibble order,
and the multiplier and offset - that's the transfer function so that you can translate from nibble into real, physical values...
...like temperature or pressure.
If you would like to get more information about InfiniiVision X-Series oscilloscopes,
contact an authorized Keysight distributor. Thank you.