A Tutorial for the Digital SENT Interface

A Tutorial for the Digital SENT Interface
By Tim White, ZMDI System Architect
SENT (Single Edge Nibble Transmission) is a unique serial interface originally targeted for automotive
applications. First adopters are using this interface with sensors used for applications such as throttle
position, pressure, mass airflow, and high temperature. The SENT protocol is defined to be output only. For
typical safety-critical applications, the sensor data must be output at a constant rate with no bidirectional
communications that could cause an interruption. For sensor calibration, a secondary interface is required to
communicate with the device.
In normal operation, the part is powered up and the
transceiver starts transmitting the SENT data. This is very
similar to the use model for an analog output with one
important difference: SENT is not limited to one data
parameter per transmission and can easily report multiple
pieces of additional information, such as temperature,
production codes, diagnostics, or other secondary data.
Figure 1 Example of SENT Interface for High Temperature Sensing
SENT Protocol Basic Concepts and Fast Channel Data Transmission
The primary data are normally transmitted in what is typically called the “fast channel” with the option to
simultaneously send secondary data in the “slow channel.” An example of fast channel transmission is shown
in Figure 2. This example shows two 12-bit data words transmitted in each message frame. Many other
options are also possible, such as 16 bits for signal 1 and 8 bits for signal 2.
Synchronization/
Calibration Pulse
56 ticks
Status/
Comm
Signal 1
12 Bits
Signal 2
12 Bits
14 ticks
20 ticks
CRC/
Checksum
12 ticks
Optional
Pause Pulse
21 ticks
12 ticks
27 ticks
17 ticks
22 ticks
Status/
Comm
Data 1
MSN
Data 2
MidN
Data 3
LSN
Data 1
MSN
Data 2
MidN
Data 3
LSN
CRC/
Checksum
4 Bits
Value = 0
4 Bits
Value = 15
4 Bits
Value = 5
4 Bits
Value = 10
4 Bits
Value = 2
4 Bits
Value = 8
4 Bits
Value = 0
4 Bits
Value = 9
Figure 2 Typical Fast Channel Message
The basic unit of time for SENT is a tick, and the minimum data unit is a nibble, which communicates 4 bits of
data encoded in the combined pulse timing of an initial fixed-width low period followed by a variable-width
high period. A synchronization/calibration pulse always starts a message frame and provides a method for
measuring the tick time of the SENT output. The message frame usually ends with a CRC/checksum nibble
and optional pause pulse.
Tick: unit of time for SENT transmissions. 3µS < clock tick < 90µS
Nibble: unit of 4 bits used to transmit data. Within a nibble, the initial logic 0 time is a fixed width of 5 ticks or
more, which is followed by logic 1 with a variable duration.
The total nibble time encodes 4 bits of data in the measured number of tick units:
© 2014 Zentrum Mikroelektronik Dresden AG
1
Data value = 0 (decimal) = minimum nibble width of 12 ticks = 0000 (binary)
Data value = 1 (decimal) = nibble width of 13 ticks = 0001 (binary)
…
Data value = 14 (decimal) = nibble width of 26 ticks = 1110 (binary)
Data value = 15 (decimal) = maximum nibble width of 27 ticks = 1111 (binary)
Synchronization/Calibration Pulse: initial sequence used by the receiver, for example an electronic control
unit (ECU), to measure the tick timing of the sensor transmission. Divide its duration by 56 to determine the
tick time.
Status/Communication Nibble: first nibble after synchronization/calibration pulse. This nibble
communicates status and/or slow channel data bits depending on the SENT format.
CRC/Checksum: used for error checking.
Optional Pause Pulse: variable pause pulse, which can be used to maintain a uniform tick count.
There are two additional fast channel formats: 12-bit Single Secure Message and Fast Channel High Speed.
As shown in Figure 3a, a message in the 12-bit Single Secure Message Format transmits one 12-bit data
message, an 8-bit incremental counter, and the inverse of the most significant data nibble.
Synchronization/
Calibration
Status
MSN
Data 1
MidN
Data 2
Inv
Copy
LSN
MSN
LSN
MSN
Data 3 Counter Counter Data
Pause
(Optional)
CRC
Figure 3a Fast Channel Data in 12-Bit Single Secure Message Format
As shown in Figure 3b, the Fast Channel High Speed Format transmits 12 bits of data in four nibbles. The
Fast Channel High Speed Format is unique in that for the four bits encoded in the nibble width, the most
significant bit is always logic 0, so only the three least significant bits are the transmitted data.
Synchronization/
Calibration
Status
4 bits
Data1
Data2
Data3
3 bits
3 bits
3 bits
Data 4
3 bits
Pause
(Optional)
CRC
4 bits
Figure 3b Fast Channel Data in 12-Bit Fast Channel High Speed Format
Slow Channel Data Transmission Basics
The SENT protocol format that is probably most challenging to understand is slow channel messaging. The
basic concept is that slow channel data are sent only two bits at a time, so for each fast channel message
frame, the transmitter can also include two bits of slow channel data. These two bits are contained in bit 3
and bit 2 of the status nibble. This is referred to as a “slow” message because it takes many fast channel
message frames to complete the transmission of a single value via the slow channel data conveyed in the
status nibble of the fast channel data frames. For example, it takes 16 fast channel data frames to transmit
only 8 bits of slow channel data. The real power of this feature is that it allows up to 32 slow channel
messages per serial message cycle to be transmitted with minimal impact on the primary sensor data.
© 2014 Zentrum Mikroelektronik Dresden AG
2
It is in these slow channel messages that it is possible to continually monitor information such as
temperature, diagnostics and production codes, which typically either do not change or change at a slower
rate than the sensor data. Each slow channel message is assigned a message ID that is transmitted with the
data. The list of message IDs is usually unique to a product and is often defined in the product data sheet or
application note.
There are three formats used for sending slow message data: Short Serial Message Format for 8-bit
messages and Enhanced Serial Message Format, which can be configured for either 12-bit or 16-bit
messages. All three formats support a slow channel CRC checksum sent after the message ID and data.
Slow Channel Data Transmission using the Short Serial Message Format
The Short Serial Message Format for transmitting 8 bits of slow channel data is illustrated in Figure 4. For
this format, bit 3 in the status nibble of the fast channel frame starts at logic 1 and then stays at logic 0 for the
next 15 frames. This fixed code of logic 1 followed by 15 logic 0’s helps determine where each slow channel
message starts and ends. The message ID, 8-bit slow channel data word, and 4-bit CRC are contained in
status bit 2 transmitted one bit at a time via multiple fast channel frames. It requires 16 fast channel message
frames to send one Short Serial Message.
SENT Message Frame 1 with 2 Slow Channel Data Bits in Status/Comm Nibble
Status/
Synch
Comm
Signal 1 (12 Bits)
CRC/
SENT Message Frame 2 with 2 Slow Channel Data Bits in Status/Comm Nibble
Optional
Signal 2 (12 Bits) Checksum Pause Pulse
Status/
Synch
CRC/
Signal 1 (12 Bits)
Comm
Optional
Signal 2 (12 Bits) Checksum Pause Pulse
Status/ Communication Nibble
4 Bits Encoded in Tick Count
B3
B2
S1
S0
1
2
3
4
5
6
7
8
9
Message Frame
Numbers
10 11 12 13 14 15 16
Serial Data (Status Bit 3) 1
0
0
0
0
0
0
0
0
0
Serial Communication
Nibble Received Order
Serial Data (Status Bit 2) Message ID
ID3 ID2 ID1 ID0
D7
(LSB)
(MSB)
(MSB)
4-Bit Message ID
0
0
0
8-Bit Data via Comm Nibble
D6
D5
D4
D3
D2
D1
0
0
0
CRC
D0
(LSB)
CRC3 CRC2 CRC1 CRC0
(MSB)
(LSB)
4-Bit CRC
8-Bit Data
Figure 4 Slow Channel Message Using Short Serial Channel – 8 Bit Format
Slow Channel Data Transmission using the Enhanced Serial Message Format
The Enhanced Serial Message Format transmits slow channel data in either 12 or 16 bit format. A
configuration bit is used to indicate 12 or 16 bit format. The 12-bit format allocates more bits for the message
ID. Figure 5 shows the Enhanced Serial Message Format.
© 2014 Zentrum Mikroelektronik Dresden AG
3
Sending a slow message using Enhanced Serial Messaging Format (either one 12-bit data word or one 16bit data word) requires 18 fast channel message frames. Similar to the Slow Channel Message, the
Enhanced Serial Messaging data are sent 2 bits at a time and comprise bit 3 and bit 2 of the status nibble.
SENT Message Frame 1 with 2 Slow Channel Data Bits in Status/Comm Nibble
Status/
Synch
Comm
Signal 1 (12 Bits)
CRC/
SENT Message Frame 2 with 2 Slow Channel Data Bits in Status/Comm Nibble
Optional
Status/
Synch
Signal 2 (12 Bits) Checksum Pause Pulse
Signal 1 (12 Bits)
Comm
CRC/
Optional
Signal 2 (12 Bits) Checksum Pause Pulse
Status/ Communication Nibble
4 Bits Encoded in Tick Count
B3
B2
S1
S0
Serial Communication
Nibble Received Order
1
2
3
4
5
6
7
8
9
Serial Data (Status Bit 3) 1
1
1
1
1
1
0
C
Depends on Format
Serial Data (Status Bit 2)
6-Bit CRC
CRC5 CRC4 CRC3 CRC2 CRC1 CRC0
(MSB)
(LSB)
6-Bit CRC
10 11 12 13 14 15 16 17 18
0
Depends on Format
Message
Frame
Numbers
0
12- Bit Data via Comm Nibble
D11
(MSB)
D10 D9
D8
D7 D6
D5
D4
D3
D2
D1
D0
(LSB)
12-Bit Data
Figure 5 Enhanced Serial Message Format – 12 or 16 Bit
Implementation of the SENT Protocol
The challenge with SENT is determining which format is best suited to the application. However, once the
format and data set have been selected, it is usually fixed in the design or configured with nonvolatile
memory so that the data are continually transmitted on power up. Another key feature of SENT is overdamped rise and fall transitions. This reduces emissions but does set some limitations on the speed.
This article gives a brief overview of the SENT protocol. For a more complete tutorial contact ZMDI at
www.zmdi.com.
© 2014 Zentrum Mikroelektronik Dresden AG
4