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