Introduction to SENT Protocol
Now a day’s modern vehicles are equipped with a large number of smart sensor modules that are capable of accurate sensing, signal conditioning, and produced digital output that can be interfaced with the microcontroller/Microprocessor without any prior conversion (ADC or DAC). In order to retrieve the high-resolution data/information remotely from these sensors, the signal integrity and robustness should be ensured. Up to recent times, the conventional Pulse Width Modulation (PWM) was the most common user interface between sensors and ECU in the automotive systems. But the high-resolution output from sensors, real-time, safety-critical, electromagnetic compatibility (EMC) requirements, and low-cost overhead demands for a more robust and standardized interface. Even in the automotive field due to the engine, more heat-generating which causes most of the protocols failed to transfer the correct data to the Microcontroller without any error failure. To accommodate the previously mentioned requirements the Society of Automotive Engineer (SAE) has developed a low-cost digital point-to-point interface for unidirectional sensor data the interface is called Single Edge Nibble Transmission nothing but SENT protocol.
The SENT protocol was initially adopted for automotive powertrain applications but because of its low implementation cost and maintaining greater integrity of high-resolution sensor data, also due to its more robustness to noise make it more appealing for other automotive and non-automotive applications where the data transmission from a sensor module to an ECU is required, interface using bus communication protocols such as Controller Area Networks (CAN) and Local Interconnect Network (LIN) are not suitable due to their high implementation costs. In such a situation, the SENT protocol is a better replacement for the CAN and LIN. As mentioned earlier SENT protocol overcomes some of the deficiency of PWM. For example, the resolution of PWM greatly degrades with the higher clock frequency (Fclk), and also PWM provides limited information regarding the diagnoses and status of the data message. Due to the steep edges from high to low or low high transition of a PWM pulse make it more prone to noise while in the SENT pule rise and fall time are longer compare to PWM which makes it less immune to noise. A complete SENT the frame allows the transmission of multiple data messages.
What is SENT Protocol?
The SENT protocol transports high-resolution sensor data for temperature, pressure, throttle position, and mass airflow in automotive applications. The SENT is formally specified by the Society of Automotive Engineers (SAE) under the denomination of J2716 JAN2010. The current specification is available through www.sae.org and describes the inner workings of the Fast and Slow channels in detail, with various examples of the applications with different parameters. The SENT is a unidirectional protocol supporting communications from the smart sensors to an ECU. Meant to compete with the PSI5 protocol, SENT is a simpler and lower-cost alternative to the CAN and LIN networks. Teledyne LeCroy oscilloscopes can be equipped with software-based decoders for a large number of the industry-standard serial data protocols.
Physical Layer Design of SENT Protocol
In recent years numbers of communication protocols have been proposed to reduce the communication cost between ECUs and sensing units. Safe and high-resolution data transmissions are the two main challenges for developing automotive communication standards for communication between sensors and ECUs. Twisted pair cables are commonly used for communication between ECU and sensor module The SENT protocol is a one-way, asynchronous voltage interface which requires three wires as:
- A signal line (low state < 0.5V, high state > 4.1V).
- A supply voltage line (5V).
- A ground line.
How SENT Protocol Works?
The SENT Protocol is a unidirectional communication standard where data from a sensor is transmitted independently without any intervention of the data receiving device (e.g. the MCU). A signal transmitted by the sensor consists of a series of pulses, where the distance between consecutive falling edges defines the transmitted 4-bit data nibble representing values from 0 to 15. Total transmission time is dependent on the transmitted data values and on clock variation of the transmitter (sensor). A consecutive SENT transmission starts immediately after the previous transmission ends the trailing falling edge of the SENT transmission CRC nibble is also the leading falling edge of the consecutive SENT transmission Synchronization/Calibration nibble.
A SENT Protocol communication fundamental unit of the time (unit time – UT, nominal transmitter clock period) can be in the range of 3 microseconds to 10 microseconds, according to the SAE J2716 specification. The maximum allowed clock variation is ±20% from the nominal unit time which allows the use of low-cost RC oscillators of the sensor device.
The primary data are normally transmitted in what is typically called to the “fast channel” with the option to simultaneously send secondary data in the “slow channel”. The basic unit of time for the 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 the initial fixed-width low period followed by a variable-width high period. A synchronization or calibration pulse always starts a message frame and provides the method for measuring the ticking time of the SENT protocol output. The message frame usually ends with the CRC/checksum nibble and an optional pause pulse.
Tick: It is a unit of time for SENT transmissions as 3µS < clock tick < 90µS.The duration of a tick is set by dividing a 4 MHz clock by the value of the SENT_TICK parameter.
Nibble: It is a 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 the variable duration. The duration of the nibble is the sum of the low-voltage interval plus the high-voltage interval.
SENT Protocol Frame Format
The SENT protocol message consists of a sequence of pulses that are sent by the transmission module repeatedly after a specified pause pulse in the same pattern to identifies the stop and start of a new SENT message.
A single SENT message is a series of nibbles having consists of following fields/pulses as described below:
- Synchronization/Calibration pulse (56 unit times).
- 4-bit Status nibble pulse (12 to 27 unit times).
- Up to six 4-bit Data nibble pulses (12 to 27 unit times each).
- 4-bit Checksum nibble pulse (12 to 27 unit times).
Synchronization or Calibration Pulse:
In the SENT protocol, the Synchronization or Calibration pulse provides the information on the actual transmitter (sensor) unit time period. The time between Synchronization or Calibration pulse falling edges defines 56 unit time periods. The receiver can calculate the actual unit time period of the sensor from the pulse width, and can thus re-synchronize it as per transmitter pulse to receive the data successfully. The actual sensor data is measured during the Synchronization or Calibration of pulse duration. To determine the ticking time, it should divide its duration by 56. The synchronization or calibration pulse always starts with the falling edge and remains low for 5 or more unit times. The remainder of the pulse width is driven high.
Status and Communication Nibble Pulse:
This is the first nibble in the SENT protocol after the synchronization or calibration pulse. This nibble communicates the status and/or slow channel data bits depending on the SENT form. The Status nibble contains 4-bit status information of the sensor such as for example fault indication and mode of operation. It can also contain a serial message such that one bit as a serial data bit and one bit as a start bit. The complete 16-bit serial message is then transmitted in 16 consecutive SENT transmissions messages. The width of the Status nibble pulse is dependent on the nibble value of that particular SENT message. The status nibble pulse and data nibble pulse formats are always identical.
Data Nibble Pulse:
The data nibble is the first nibble after the synchronization or calibration pulse in the SENT protocol. This nibble communicates the status and/or slow channel data bits depending on the SENT format available. A single data nibble pulse carries 4-bit sensor data as shown above figure. A maximum of 6 data nibbles can be transmitted in one SENT transmission but it depends on the type of sensor you are using and maximum how much data or payload it can be sent. The total number of data nibbles depends on the size of the data provided by the sensor and this is always fixed during the sensor operation nothing but the sending of instant data. The width of the data nibble pulse is dependent on the nibble value. The pulse starts with the falling edge and remains low for 5 or more unit times. The remainder of the pulse width is driven high. The next pulse falling edge occurs after the 12 unit times from the initial falling edge plus the number of unit times equal to the nibble value.
Checksum Nibble Pulse:
In the SENT protocol, the checksum nibble contains a 4-bit CRC value. The checksum is calculated using the x4 + x3 + x2 + 1 polynomial with the seed value of 5 (0b0101) and is calculated over all nibbles except for the status and communication nibble value. The driver CRC calculation involves the status and communication nibble value as it is originally intended for use with the Infineon TLE4889C Hall sensor. The CRC allows the detection of the following errors:
- All single-bit errors can be detected.
- All odd numbers of errors can be detected.
- All single burst errors of length ≤ 4 can be detected.
- 87.5% of single burst errors of length = 5 can be detected.
- 93.75% of single burst errors of length > 5 can be detected.
Optional Pause Pulse:
The Pause pulse is an optional field in the SENT protocol. It can be used for the equidistant SENT- frames transmission, or a constant number of clock ticks. The minimum length will be 12 ticks and the maximum length will be 768 clock ticks. This variable pause pulse can be used to maintain a uniform tick count for this SENT transmission.
How the SENT message Encodes the sensor data by SENT Transmission Module?
In the SENT protocol, the messages are encoded in the form of continuous pulses. These pulses are repeatedly transmitted from the sensor module with the specified gap that is defined in the pause pulse. Each pulse is four bit long which is equal to one nibble. The minimum length of the pulse is 12 clock ticks which are equal to 120μsec in our case. The pulse is driven low for 5 clock ticks and driven high for the rest of the period. The shortest period pulse is shown in the below figure, it is driven low for 50μsec and high for the rest of the period.