Single Edge Nibble Transmission protocol, more commonly known as SENT (SAE J2716 JAN201604), has long been used by the Automotive industry to report low-speed sensor data to the Engine Control Unit (ECU). SENT was developed because the environment in a car was too noisy to transmit high resolution (10- or 12-bit) sensor data vertically on a 5 V bus. Instead, sensor signals are transmitted as a series of pulses, with data measured by falling-edge to falling-edge times. Information lies within the width of the pulses. Later specifications of SENT introduced Fast and Slow Channels to designate different streams of information carried within the same messages.
To address the exponential increase in the number of sensors within a single vehicle, Infineon specified SENT Short PWM Code (SPC), a half-duplex variation of SENT that allows a single "master" microcontroller to manage up-to-four "slave" sensors on the same wire. SENT SPC achieves this by introducing a new element into the SENT frame definition: the Master Trigger Pulse (MTP).
This application note describes the SENT SPC protocol and demonstrates how to use an oscilloscope to verify a consistent Master Trigger Pulse (MTP) length.
Note:Step-by-step procedures for using the Teledyne LeCroy serial trigger and decode options shown here can be found in the SENTbus Trigger, Decode, Measure/Graph and Eye Diagram Instruction Manual on our website.
How SENT SPC Works
The SENT physical layer consists of a signal line, a +5 V supply voltage line, and a ground. A level of < 0.5 V on the signal line represents a logic-low, while > 4.1 V is a logic-high.
The MTP is the key to managing SENT SPC traffic. Each sensor is assigned a unique MTP length, which acts like an address. The controller interrogates a sensor by emitting a logic-low MTP of the requisite length, then relinquishes the line for the sensor to reply. Only the sensor interrogated is expected to reply. The microcontroller can interrogate different sensors by varying the length of the MTP. While current implementations usually follow a “round robin” interrogation, with sensors 0 through 3 polled in order (0,1,2,3…), it is entirely possible for any sequence to be established (e.g., 0,1,0,2,0,3…).
Because the pace and order of transmission is determined by the controller, SENT SPC enables engineers to design systems where information can be requested at specific times or with different frequencies, unlike SENT’s continuous broadcast. The controller can interrogate sensors with higher priority more often, such as a temperature sensor in the carburetor whose value changes frequently, and sensors with lower priority less often, such as a presence sensor for an airbag whose value changes infrequently. By reducing redundancies in ECU design, SENT SPC also coincidentally helps to lower costs, making it an attractive proposition for everyone in Automotive manufacturing.
While the MTP makes it rather easy to identify from which sensor a message originates, as with any pulse width modulated system, there is still the problem of verifying that the MTPs remain within tolerance.
Recent SENT protocol specifications have allowed for considerable flexibility in the frame length and definition, particularly in how many nibbles constitute the payload, what bits it contains, and how the Cyclic Redundancy Check (CRC) is computed. One could easily identify more than 100 unique configurations if taking into account the 15 different frame formats and various checksum that are permitted. Serial decoding to identify and debug CRC errors is essential to verifying the proper functioning of any SENT system.
Adding new sensors on the bus can also be challenging if they are using different Tick Times (TT), the SENT clocking mechanism. At this time in the evolution of SENT SPC, nobody seems to know if a mixed-TT (heterogenous) network is feasible or even useful, so we will not address it further here.
SENT SPC Frame Structure
The frame begins with the Master Trigger Pulse, which acts like an address. Each sensor (0 through 3) is assigned a unique MTP length, which is defined by the specification as a multiple of the Tick Time; for example, the MTP of sensor 0 must be between 7 and 15 ticks. Following the MTP is a latency prior to the sensor reply. In Teledyne LeCroy decoders, this time is shown as the Sensor Response Time.
Otherwise, there are no structural differences between a message broadcasted continuously by a SENT sensor and a message emitted upon request by a SENT SPC sensor. The following fields are present in all SENT frames, although their length may vary.
The Synchronization Pulse (SYNC) establishes the Tick Time "clock" used to recover the number of ticks−and therefore nibbles and words− represented by the length of the data pulses. TT is always computed at 1/56th of the SYNC length.
The Data payload contains the actual information. This may be anywhere from five to eight nibbles, each representing four bits of data.
Each nibble starts with a logic-low period of at least 5 ticks, followed by a logic-high period representing the encoded data value: 12 ticks for binary 0000, 13 ticks for binary 0001, up to 27 ticks for binary 1111. In Teledyne LeCroy decoders, SENT nibbles can be decoded individually or grouped into 8-bit words.
The first nibble is a Status and Communication Nibble that consists of four bits of additional information used by the CRC:
Bit 0 Start Bit
Bit 1 Serial Data Bit
Bit 2 Optional Slow Channel Data
Bit 3 Optional Slow Channel Data
The final nibble of the payload is always a Cyclic Redundancy Check to confirm that the clocking is working correctly. Different CRC methods have been defined in each version of the specification.
In the 2010 and 2016 SENT specifications, an optional Pause Pulse (PP) separates message frames. In earlier specifications, this separator was known as the Interframe Gap.
DATA (5 to 8 Nibbles)
ID0=7 to 15
ID1=15 to 28
ID2=28 to 49
ID3=49 to 82
Each nibble min. 5 ticks logic-low plus 12 to 27 ticks logic-high
Verifying the Stability of the MTP
As the proper functioning of the MTP is key to the health of a SENT SPC system, we will demonstrate several approaches to using an oscilloscope equipped with serial decoder software to confirm it remains within the tolerance you have set. This same approach can be used to confirm that the sensor response time occurs within limits, another key indicator of proper system functioning.
examples here show the steps as they would be performed using the Teledyne LeCroy SENTbus TDME software.
Decoding the MTP Length
The width of the MTP is recorded in the SENT SPC decode table for each SENT SPC frame. In the example below, there are four slave sensors on the same wire each with a different MTP length. Their MTP lengths have been entered into the corresponding four ID fields on the SPC setup tab so that the frame source sensor is identified: ID 0 is 16 μs, ID 1 is 32 μs, ID 2 is 58 μs, and ID 3 is 97 μs.
Decoding the length of the MTP indicates whether the MTPs are matching the expected lengths on an instance by instance basis. This is a good start for confirming the functioning of the MTP but will not provide a measure of its stability over a long duration.
Statistical Analysis of the MTP Stability
Teledyne LeCroy TDME packages allow for specialized serial protocol measurements to be made directly on the decoded information, such as the decoded MTP length. Using the ColToValue measurement (included with SENTbus TDME), the decoded MTP length can be “passed through” and displayed in one of the oscilloscope parameter slots, and by turning on Statistics, the mean, minimum, maximum, and standard deviation of that value can be displayed. Histicons can also be enabled to quickly histogram the distribution of the measured values right on the Measure table.
Note that there are four distinct peaks in the histicon, which is expected given the four slave sensors in this system. However, the statics readout shows a mean MTP of 50 μs, which does not correspond to any of the sensors in this system. A mechanism is needed to isolate the traffic from each slave sensor. This can be done by filtering the result table ID column to contain only a single value from 0 through 3, which limits the results to only traffic from that one particular sensor.
As seen from the result table in the image below, the decoder is now only decoding frames with ID 0, where the MTPulse value is around the expected 16 μs.
The measured values displayed in the statistics readout from P1 will now give us a sense of the variability of the MTP for ID 0 in this acqusition. The mean value is right around 16 μs as expected, with a standard deviation of 38 ns.
Tracking the MTP Temporal Stability
While a parameter with statistics can provide a sense of the variability and dispersion of the MTP, it does not provide any insight into what the cause of that variability might be. A track math function shows how the measured MTP is changing over the time of the acquired waveform. The example below does not show any clear temporal trend; however, if one did exist, the fact that the track is time correlated to the acquired waveform would provide valuable insight into the root cause of the variability. For example, if there was a periodic behavior, the frequency of that oscillation could be used to determine if something nearby in the system was coupling in to the SENT SPC bus. If there was a spike in the track, that could be correlated to the activity of another signal which is affecting the MTP.
Time Correlating the MTPs of All Sensors
Most Teledyne LeCroy oscilloscopes are equipped with four serial decoders which can be used to simultaneously analyze the stability of the MTP for four SENT SPC sensors. The example below shows the same process as above applied to a different sensor in each of the four decoders, resulting in time synchronized measurements and tracks for each sensor.
Pass/Fail Testing the MTP Stability
Pass/Fail testing on the ColToValue parameter(s) can be used to automate MTP stability testing over multiple acquisitions by creating a parameter compare criteria to test the MTP values against a tolerance range stated in either absolute or percent terms. The tolerance range can be manually assigned or can be calculated using the measured mean and standard deviation. The oscilloscope can perform a variety of actions if a failure occurs, such as: stopping the acquisition or saving a LabNotebook so that the failing data can be captured and better understood.