Freescale Semiconductor
Application Note
Document Number: AN4856
Rev. 0, 03/2014
Contents
1 Introduction
This application note describes the SENT/SPC driver for
the MPC574xP 32-bit microcontrollers. It also provides
information on the Single Edge Nibble Transmission
protocol (SENT, SAE J2716), along with its Short PWM
Code (SPC) enhancement. Additionally, the driver
implementation, API, and functional description are also
discussed in this application note.
The information about the SENT protocol has been
derived from the SAE J2716 Surface Vehicle
Information Report, JAN2010.
The information about the SPC enhancement has been
derived from the TLE4998C Data Sheet, Rev 1.0,
December 2008.
The MPC574xP SENT/SPC driver itself and the
example application are part of the AN4856SW package.
© Freescale Semiconductor, Inc., 2014. All rights reserved.
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.1 SENT encoding scheme . . . . . . . . . . . . . . . . . . . . . 2
2.2 SPC protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 SENT physical layer . . . . . . . . . . . . . . . . . . . . . . . . 7
3 MPC574xP SENT/SPC Driver. . . . . . . . . . . . . . . . . . . . . 9
3.1 Utilized MPC574xP peripherals. . . . . . . . . . . . . . . . 9
3.2 SPC bidirectional communication . . . . . . . . . . . . . . 9
3.3 Driver configuration . . . . . . . . . . . . . . . . . . . . . . . . 11
3.4 Application programming interface . . . . . . . . . . . . 12
3.5 Functional description . . . . . . . . . . . . . . . . . . . . . . 21
3.6 Memory allocation . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.7 Application example . . . . . . . . . . . . . . . . . . . . . . . 33
4 Conclusion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
6 Acronyms and Definitions . . . . . . . . . . . . . . . . . . . . . . . 36
MPC574xP SENT/SPC Driver
by: Josef Kramoliš
MPC574xP SENT/SPC Driver, Rev. 0
Overview
Freescale Semiconductor2
2 Overview
The Single Edge Nibble Transmission protocol is targeted for use in those applications where
high-resolution data is transmitted from a sensor to the ECU. It can be considered as an alternative to
conventional sensors providing analog output voltage, and for PWM output sensors. It can also be
considered as a low-cost alternative to the LIN or CAN communication standards.
Applications for electric power steering, throttle position sensing, pedal position sensing, airflow mass
sensing, liquid level sensing, etc., can be used as examples of target applications for SENT-compatible
sensor devices.
2.1 SENT encoding scheme
SENT is a unidirectional communication standard where data from a sensor is transmitted independently
without any intervention of the data receiving device (for example, 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 the 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 pulse – see Figure 1).
A SENT communication fundamental unit of time (unit time – UT, nominal transmitter clock period) can
be in the range of 3–90 s, 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 in the
sensor device.
NOTE
A 3 s fundamental unit time will be considered as nominal for unification
of further timing descriptions.
The transmission sequence consists of the following pulses:
1. Synchronization/calibration pulse (56 unit times)
2. 4-bit status nibble pulse (12 to 27 unit times)
3. Up to six 4-bit data nibble pulses (12 to 27 unit times each)
4. 4-bit checksum nibble pulse (12 to 27 unit times)