Infineon TLE5014P16, TLE5014S16, TLE5014C16, TLE5014S16D, TLE5014C16D User Manual

...
User’s Manual 1 Rev. 1.0
www.infineon.com/sensors 2019-03-12
TLE5014
GMR-Based Angle Sensor
User’s Manual

About this document

Scope and purpose
Intended audience
This document is aimed at experienced hardware and software engineers using the TLE5014 iGMR angle sensor.
This documents contains information for the following devices:
Table 1 Derivatives covered by this user manual
Product Type Marking Ordering Code Package Comment
TLE5014P16 014P SP001231814 PG-TDSO-16 PWM Interface, single die
TLE5014S16 014S SP001231818 PG-TDSO-16 SENT Interface, single die
TLE5014C16 014C SP001231806 PG-TDSO-16 SPC Interface, single die
TLE5014S16D 014SD SP001410046 PG-TDSO-16 SENT Interface, dual die
TLE5014C16D 014CD SP001410042 PG-TDSO-16 SPC Interface, dual die
TLE5014P16D 014PD SP001673472 PG-TDSO-16 PWM Interface, dual die
TLE5014
GMR-Based Angle Sensor

Table of Contents

1 Application Circuits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 Interfaces overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1 PWM Interface Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 SPC Interface Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 SENT Interface Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3 EEPROM Page Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4 EEPROM Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.1 Page 0x006 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
4.2 Page 0x009 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
4.3 Page 0x00A . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.4 Page 0x00B - 0x00E . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
4.5 Page 0x00F . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5 Working Register Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.1 STAT Register 0x00: Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.2 AVAL Register 0x02: Angle Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.3 ASPD Register 0x03: Angle Speed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.4 RAW_X Register 0x06: X raw value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.5 RAW_Y Register 0x07: Y raw value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.6 TEMP Register 0x0A: Temperature raw value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.7 ANG_BASE register 0x14: Angle base and rotation direction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6 SICI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.1 Basic Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.2 SICI Data Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.2.1 Bit Encoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
6.2.2 Communication Protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
6.2.3 CRC generation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.2.4 SICI Application Example: Reading working register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
6.2.5 SICI Application Example: EEPROM read/write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
6.3 SICI Programming in Bus Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
7 EEPROM Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.1 Writing and Reading of EEPROM Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
7.2 Verification of EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
7.3 Locking of EEPROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
8 Initial Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
8.1 Zero Angle Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
8.2 Look-up Table Calibration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
8.3 Customer ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
9 Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
9.1 Angle Read Out Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
9.2 Angle Base Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
9.3 Look-up Table Calculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
9.4 Temperature calculation from Short Serial Message . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
9.5 Reading registers with SICI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
User’s Manual 2 Rev. 1.0
2019-03-12
TLE5014
GMR-Based Angle Sensor
9.6 Reading EEPROM with SICI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
9.7 Writing EEPROM with SICI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
10 Revision History . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
User’s Manual 3 Rev. 1.0
2019-03-12
TLE5014
TLE5014
GND
µControlle r
Master
10 0nF
V
DD
V
DD
GND
IF1
IF2
IF3
IFA
IFB
IFC
V
µC
R
p
PWM
C
w
TLE5014
GND
µControlle r
Master
10 0nF
V
DD
V
DD
GND
IF1
IF2
IF3
IFA
IFB
IFC
V
µC
R
p
SP C
C
w
GMR-Based Angle Sensor
Application Circuits

1 Application Circuits

The application circuits in this chapter show the various communication possibilities of the TLE5014.
Figure 1 shows a basic application circuit of a TLE5014 with PWM interface. The pull-down resistor is required
to ensure that the sensor starts with a low level after power-on or reset (PWM starts with a rising edge). If the sensor is configured in such a way, that the PWM starts with a falling edge, the pull-down has to be replaced by a pull-up.
Figure 1 Application circuit for TLE5014 with PWM, sensor configured to start with a rising edge of
PWM
Figure 2 shows a basic application circuit of the TLE5014 with SPC mode.
Figure 2 Application circuit for TLE5014 with SPC, SPC address is configured to be “0” (IF1 and IF2
connected to GND)
The circuit shows the minimum external circuit which is needed to operate the SPC interface. The generation of the trigger pulse (switch to pull the line low) is not shown. Depending on EMC requirements, additional circuitry may be required. The value of C
and Rp are specified in the datasheet.
w
The TLE5014 can also be used with a SENT interface (Figure 3). The circuit shown is according to the SAE J2716-2010 SENT specification.
User’s Manual 4 Rev. 1.0
2019-03-12
TLE5014
TLE5014
GND
µControlle r
Master
10 0nF
V
DD
V
DD
GND
IF1
IF2
IF3
IFA
IFB
IFC
V
µC
10 k
56 0
10k
68 p 2 .2n 10 0p
GMR-Based Angle Sensor
Application Circuits
Figure 3 Application circuit for TLE5014 with SENT
User’s Manual 5 Rev. 1.0
2019-03-12
TLE5014
GMR-Based Angle Sensor
Interfaces overview

2 Interfaces overview

Depending on the application, the TLE5014 is available with different interfaces:
PWM (Pulse Width Modulation)
SPC (Short PWM Code)
SENT (Single Edge Nibble Transmission)
SICI (Single-wire Interface for Calibration and Inspection; for programming purpose only)
PWM
The PWM is an unidirectional interface. Only one line is needed in which the angle value is transmitted. The angle value corresponds to the duty cycle of the signal data. A reserved duty cycle range is implemented which is used for indication of internal detected device errors. The data duty cycle range and the error duty cycle range can be programmed via EEPROM setting.
SPC
The SPC is an interface based on the SENT protocol. The ECU (master µC) sends a trigger pulse which triggers the TLE5014 to transmit the 12-bit angle value. If desired, the temperature can also be transmitted on a slow channel (short serial message). The SPC also sends a CRC nibble and an end-pulse to terminate the communication. One line is needed for the transmission and the pins IF1, IF2 and IFC are used to set the slave number. Up to four slaves can be connected to one ECU; the ECU trigger pulse length will trigger the respective sensor.
SENT
SENT is a standardized interface described in SAE J2716-2010.
SICI
A PWM based, bidirectional interface which is used for programming purpose only.
Further details on the SENT, SPC and PWM interface can be found in the data sheet of TLE5014.

2.1 PWM Interface Configuration

The following configuration of the PWM interface is possible. Further details are in the EEPROM register description in Chapter 4.
Table 2 PWM Interface configuration
Parameter EEPROM
Register
PWM data duty cycle range minimum value
PWM data duty cycle range maximum value
PWM diagnostic duty cycle low 0x0064 This value determines the duty cycle which indicates a
User’s Manual 6 Rev. 1.0
0x0060 This value determines the low value of the duty cycle for
0x0062 This value determines the high value of the duty cycle for
Description
angle transmission. It corresponds to an angle value of 0°
angle transmission. It corresponds to an angle value of
359.91°
sensor failure detected by the internal safety mechanism
2019-03-12
TLE5014
GMR-Based Angle Sensor
Interfaces overview
Table 2 PWM Interface configuration (cont’d)
Parameter EEPROM
Description
Register
PWM diagnostic duty cycle high 0x0066 This value determines the duty cycle which indicates a
sensor reset or a sensor start-up error (BIST error)
PWM predevider for PWM period 0x0068 This value is used for PWM frequency adjustment according
to Equation (4.1)
PWM period 0x006A This value is used for PWM frequency adjustment according
to Equation (4.1)
PWM starting edge 0x00A2 This value determines the starting edge of the PWM protocol.
It can be rising or falling. In case a rising edge is selected, the PWM protocol will start with a HIGH level. In case a falling edge is selected, it will start with a LOW
Care has to be taken when programming the low and high diagnostic duty cycle that there is no overlap with the programmed data duty cycle range. In such a case, diagnostic information (e.g. sensor failure) could not be distinguished from a valid transmitted angle value. It is recommended to add a safety margin between the diagnostic and the data duty cycle range.

2.2 SPC Interface Configuration

The following table shows the different options for SPC interface configuration. The details for the EEPROM setting are shown in Chapter 4.3
Table 3 SPC Interface configuration
Parameter EEPROM
Description
Register
SPC low time 0x00A2 This value can be 5 UT or 3UT. With 5UT, the SPC nibble is
compliant to the SENT specification
Temperature information in SPC protocol
0x00A2 The SPC frame can contain two additional nibbles for
transmitting the temperature information
Rolling counter 0x00A2 A 4-bit rolling counter (rolling counter nibble) can be
activated which counts the transmitted frames. This is necessary for functional safety applications to increase the diagnostic coverage
Rolling counter in CRC 0x00A2 The rolling counter information can be coded in the CRC of
the SPC frame instead of being transmitted as extra nibble. In this case the rolling counter information has 2 bit only. This feature reduces overall frame length of the SPC protocol
SPC trigger 0x00A2 Two options are available for the total trigger length. It can
be constant with a length of 90 UT or variable. The variable trigger length is t time t
. Both settings can be used in a bus configuration as
low
the address of the sensor is defined by the low time t
+12 UT and depends on the trigger low
low
low
only. The advantage of the variable trigger length is that the total frame length can be reduced
User’s Manual 7 Rev. 1.0
2019-03-12
TLE5014
Synchronisation
Frame
Trigger Nibble
µC Acti vity
Sensor Activity
90 UT
56 UT 12 … 27 UT 12 … 27 UT 12 … 27 UT 12 … 27 UT 12 … 27 UT 12 UT
Status Nibble
Data Nibble 1 Data Nibble 3Data Nibble 2 CRC
End
pulse
12 … 27 UT
Rolling counter
GMR-Based Angle Sensor
Interfaces overview
Table 3 SPC Interface configuration (cont’d)
Parameter EEPROM
Description
Register
SPC short serial message 0x00A2 A short serial message (slow message) can be activated,
which transmits one bit of a 16 bit information in each SPC frame and thus needs 16 SPC frames for the whole data transmission.This transmitted information is the programmed angle base and rotation direction, the chip temperature and 32 bit of the customer ID.
SPC unit time (UT) 0x00A2 The SPC unit time (UT) can be selected in the range of 1.0 µs
to 3.0 us.
SPC address setting in bus mode
The address of the sensor, so that it responds to a corresponding SPC trigger pulse, has to be set in the EEPROM. All parts delivered from Infineon have the default address of ID = 0 in the EEPROM. Please refer to description of EEPROM register 0x00A4 in Description EEPROM Address 0x00A4 CRC_CFG for correct setting. The address of the sensor written to the EEPROM must be identical to the address of the sensor defined via hard-wiring of the pins IF1, IF2 and IFC. Table 4 shows how the sensor address has to be set using the pins IF1, IF2, IFC.
Table 4 SPC Address Configuration
Address IF1 IF2
0GNDGND
1IFCGND
2GNDIFC
3IFCIFC
Figure 4 shows a SPC frame with constant trigger length of 90UT, a status nibble, 3 data nibbles, a rolling
counter nibble and a CRC nibble. The low time of the trigger nibble determines the address of the sensor.
Figure 4 SPC frame with constant trigger length and rolling counter enabled as additional nibble
User’s Manual 8 Rev. 1.0
2019-03-12
TLE5014
GMR-Based Angle Sensor
Interfaces overview
SPC status nibble
The 4-bit status nibble of the SPC protocol has different content depending on SPC protocol configuration:
No short serial message:
Table 5 SPC Status Nibble
Bit Description
0 (LSB) Sensor ID (LSB)
1Sensor ID (MSB)
2 Internal sensor failure
3 (MSB) Sensor reset or start-up (BIST) failure
Short serial message (SSM) enabled:
Table 6 SPC Status Nibble
Bit Description
0 (LSB) Data bit of SSM
1 Start bit of SSM
2 Internal sensor failure
3 (MSB) Sensor reset or start-up (BIST) failure
In this configuration, the sensor ID is coded in the CRC and not available in the status nibble. There is also the option, that the rolling counter is not a dedicated nibble but the information is also coded in the CRC. Therefore, four different versions of the CRC calculation exist:
No short serial message (SSM) and rolling counter as nibble Input data for the CRC calculation are: STATUS & DATA1 & DATA2 & DATA3 & ROLLING_CNT
Short serial message (SSM) enabled and rolling counter as nibble the CRC calculation has to include a special 4-bit “ID-nibble” and is performed with the following input data: STATUS & DATA1 & DATA2 & DATA3 & ROLLING_CNT & ID_NIBBLE ID_NIBBLE = (0 0 ID(MSB) ID(LSB))
Short serial message (SSM) is disabled and rolling counter is included in CRC (no rolling counter as nibble) The CRC calculation has to include a special 4-bit “RC-nibble” and is performed with the following input data: STATUS & DATA1 & DATA2 & DATA3 & RC_NIBBLE RC_NIBBLE = (RC(MSB) RC(LSB) 0 0)
Short serial message (SSM) is enabled and rolling counter is included in CRC (no rolling counter as nibble) The CRC calculation has to include a special 4-bit “RC_ID-nibble” and is performed with the following input data: STATUS & DATA1 & DATA2 & DATA3 & RC_ID_NIBBLE RC_ID_NIBBLE = (RC(MSB) RC(LSB) ID(MSB) ID(LSB))
User’s Manual 9 Rev. 1.0
2019-03-12
TLE5014
GMR-Based Angle Sensor
Interfaces overview
Table 7 Examples for ID Nibble, RC_Nibble and ID_RC_Nibble calculation
ID RC ID_Nibble RC_Nibble RC_ID_Nibble
00
B
01
B
10
B
11
B
–00
–01
–10
–11
00
B
01
B
10
B
11
B
0000
0001
0010
0011
–0000B–
–0100B–
–1000–
–1100B–
0000
0101
1010
1111
00
01
10
11
B
B
B
B
B
B
B
B
B
B
B
B
––
––
––
––
B
B
B
B
Synchronization of the Rolling Counter
The first transmitted SPC frame has a rolling counter value of 0. The next frame transmits a rolling counter value which is incremented by 1. In case the rolling counter is coded in the CRC, it is a 2-bit value. In this configuration, a synchronization of the counter value (sensor value and counter value in the micro controller) is required. The following two options are possible:
Calculate the CRC with the received sensor data and a RC_NIBBLE of RC_NIBBLE = 0000
. Repeat this until
B
the calculated CRC matches with the transmitted CRC. This frame has the rolling counter value of 0. The next transmitted frame has the incremented counter value of 1 and so on. As the rolling counter has 2 bit in case it is coded in the CRC, latest the fourth transmitted frame needs to have a matched CRC. If this is not the case an error occurred.
For the first transmitted frame, calculate the four possible CRCs with the RC_NIBBLE values 0000
to 0011B.
B
The CRC which is matching the transmitted CRC has the correct rolling counter value. Use this value as starting value which is incremented with the next received frame.
CRC calculation for SPC protocol
The checksum nibble is a 4-bit CRC of the data nibbles including the status nibble. The CRC is calculated using a polynomial x4+x3+x2+1 with a seed value of 0101
. The remainder after the last data nibble is transmitted as
B
CRC. The CRC calculation method is based on “recommended” implementation in the SENT standard 2010. For this “recommended” implementation, the CRC is calculated based on the input data which is then augmented with four extra zero bits and an additional CRC calculation step.
Code example:
//Table CRC, Poly=0xD uint8_t cr4Table[16] = {0, 13, 7, 10, 14, 3, 9, 4, 1, 12, 6, 11, 15, 2, 8, 5};
//Example: //Status Nibble = 0x6 //Data Nibble = 0x7, 0x4, 0x8, 0x7, 0x4, 0x8 uint8_t nibble[7] = {6, 7, 4, 8, 7, 4, 8}; uint8_t nb_nibble = 0x7;
User’s Manual 10 Rev. 1.0
2019-03-12
TLE5014
GMR-Based Angle Sensor
Interfaces overview
//Seed value = 0x5 uint8_t crc = 0x5;
for(uint8_t i=0;i<nb_nibble;i++){ crc = nibble[i] ^ cr4Table[crc]; }
//Final XOR crc = 0x0 ^ cr4Table[crc];

2.3 SENT Interface Configuration

The following table shows the different options for SENT interface configuration.
Table 8 SENT Interface configuration
Parameter EEPROM
Register
SENT low time 0x00A2 This value can be 5 UT or 3 UT. With 5 UT, the nibble is
SENT protocol type 0x00A2 Two different SENT implementations can be configured:
Sent short serial message 0x00A2 A short serial message (slow message) can be activated
SENT error indication 0x00A2 In case of an internal chip error, the error can be indicated
Se nt u nit time (UT) 0x 00A 2 The SE NT uni t tim e (UT ) can be sel ecte d in th e ran ge of 1.5 µ s
Description
compliant to the SENT specification
Standard SENT: Status nibble, 3 x 4-bit data nibbles, CRC nibble Single Secure SENT: Status nibble, 3 x 4-bit data nibbles, 2x4­bit rolling counter; Inverted data nibble, CRC nibble
which transmits one bit of additional information in each SPC frame. This transmitted information is the programmed angle base and rotation direction, the chip temperature and 32 bit of the customer ID
only in the status nibble by setting an error bit or in the status nibble and also in the SENT data range. In this case an error code of “4091” is sent. For this option, the data range has not the full 12-bit resolution but only 1 … 4088 LSB
to 3.0 us
SENT Status Nibble
The 4-bit status nibble of the SENT protocol contains the following information:
Table 9 SENT Status Nibble
Bit Description
0 (LSB) error indication or start-up (BIST) error or sensor reset
1 reserved
2 short serial message bit (data bit)
3 (MSB) short serial message bit (start indication)
User’s Manual 11 Rev. 1.0
2019-03-12
TLE5014
GMR-Based Angle Sensor
Interfaces overview
CRC calculation for SENT protocol
The checksum nibble is a 4-bit CRC of the data nibbles and does not include the status nibble (different to SPC CRC implementation). The CRC is calculated using a polynomial x4+x3+x2+1 with a seed value of 0101 remainder after the last data nibble is transmitted as CRC. The CRC calculation method is based on “recommended” implementation in the SENT standard 2010. For this “recommended” implementation, the CRC is calculated based on the input data (without STATUS nibble) which is then augmented with four extra zero bits and an additional CRC calculation step.
Code example:
//Table CRC, Poly=0xD uint8_t cr4Table[16] = {0, 13, 7, 10, 14, 3, 9, 4, 1, 12, 6, 11, 15, 2, 8, 5};
//Example: //Data Nibble = 0x7, 0x4, 0x8, 0x7, 0x4, 0x8 uint8_t nibble[6] = {7, 4, 8, 7, 4, 8}; uint8_t nb_nibble = 0x6; //Seed value = 0x5 uint8_t crc = 0x5;
. The
B
for(uint8_t i=0;i<nb_nibble;i++){ crc = nibble[i] ^ cr4Table[crc]; }
//Final XOR crc = 0x0 ^ cr4Table[crc];
User’s Manual 12 Rev. 1.0
2019-03-12
TLE5014
GMR-Based Angle Sensor
EEPROM Page Map

3 EEPROM Page Map

The TLE5014 has an EEPROM as non-volatile memory where sensor configuration data can be stored. The memory is organized in pages, each page contains 8 registers, each register has 16 bit. Some pages and registers can be accessed by the user and the content can be modified thus changing chip configuration. Care has to be taken when modifying content of the EEPROM as the device behavior can be changed and no or wrong output data can be generated. There is no automatic restore functionality where the pre-programmed status can be recovered.
The EEPROM content is secured by a CRC. In case any content of the EEPROM is changed, the CRC has to be recalculated and written to the corresponding register, otherwise an error is indicated. The CRC has always be calculated out of several pages and registers, which are indicated in the description of the corresponding CRC (Table 10). The algorithm for the CRC calculation is described in Chapter 6.2.3.
The following Table 10 shows the pages and EEPROM registers of each page and their function. A detailed description of the EEPROM registers and the possible settings can be found in Chapter 4.
The startup value of each configuration register of the TLE5014 is stored in a corresponding EEPROM register, which can be modified by the user. Table 10 lists the allocation of the user-configurable EEPROM pages.
Care shall be taken when the EEPROM configuration is changed, as not all possible configurations are released by Infineon. This means, that they can be used for testing purpose but not necessarily for production. All released configurations can be found in the TLE5014 datasheet.
Table 10 EEPROM page map
Page EEPROM
Register
0x006 0x0060 OUT_LIM_MIN PWM data duty cycle range minimum
0x0062 OUT_LIM_MAX PWM data duty cycle range maximum
0x0064 OUT_STAT_L PWM diagnostic duty cycle low
0x0066 OUT_STAT_H PWM diagnostic duty cycle high
0x0068 TMR_PREDIV PWM predevider for PWM period
0x006A TMR_PERIOD PWM period
0x006C Reserved
0x006E CRC_EEP CRC has to be calculated with following
Name Description Default value of Reg.
value
value
values: page 0x002 & 0x003 & 0x004 & 0x005 & register 0x0060 & 0x0062 & 0x0064 & 0x0066 & 0x0068 & 0x006A & 0x006C & first byte of 0x006E (bit [15:8] & 0xFF00)
User’s Manual 13 Rev. 1.0
2019-03-12
TLE5014
GMR-Based Angle Sensor
EEPROM Page Map
Table 10 EEPROM page map (cont’d)
Page EEPROM
Register
0x009 0x0090 Reserved
0x0092 Reserved
0x0094 Reserved
0x0096 ACSTAT Activation of internal safety mechanism
0x0098 MOD1 3 V/5 V, pad configuration, LUT options
0x009A MOD2 Lock function for register PWI_MD_USR
0x009C IF123_CFG Pin configuration of pin IF1, IF2, IF3
0x009E IFABC_CFG Pin configuration of pin IFA, IFB, IFC
0x00A 0x00A0 ANG_BASE Angle base & rotation direction
0x00A2 PWI_MD_USR Interface configuration
0x00A4 CRC_CFG Configuration CRC and SPC address;
Name Description Default value of Reg.
CRC has to be calculated with following values: registers 0x0096 & 0x0098 & 0x009A & 0x009C & 0x009E & 0x00A0 & 0x00A2 & first byte of 0x00A4 (bit [15:8] & 0xFF00)
0x00A6 Reserved
0x00A8 Reserved
0x00AA Reserved
0x0AC Reserved
0x00AE Reserved
0x00B 0x00B0 LUT_0 Look-up table value for 0°
0x00B2 LUT_1 Look-up table value for 11.25°
0x00B4 LUT_2 Look-up table value for 22.50°
0x00B6 LUT_3 Look-up table value for 33.75°
0x00B8 LUT_4 Look-up table value for 45.00°
0x00BA LUT_5 Look-up table value for 56.25°
0x00BC LUT_6 Look-up table value for 67.50°
0x00BE LUT_7 Look-up table value for 78.75°
0x00C 0x00C0 LUT_8 Look-up table value for 90.00°
0x00C2 LUT_9 Look-up table value for 101.25°
0x00C4 LUT_10 Look-up table value for 112.50°
0x00C6 LUT_11 Look-up table value for 123.75°
0x00C8 LUT_12 Look-up table value for 135.00°
0x00CA LUT_13 Look-up table value for 146.25°
0x00CC LUT_14 Look-up table value for 157.50°
0x00CE LUT_15 Look-up table value for 168.75°
User’s Manual 14 Rev. 1.0
2019-03-12
TLE5014
GMR-Based Angle Sensor
EEPROM Page Map
Table 10 EEPROM page map (cont’d)
Page EEPROM
Register
0x00D 0x00D0 LUT_16 Look-up table value for 180.00°
0x00D2 LUT_17 Look-up table value for 191.25°
0x00D4 LUT_18 Look-up table value for 202.50°
0x00D6 LUT_19 Look-up table value for 213.75°
0x00D8 LUT_20 Look-up table value for 225.00°
0x00DA LUT_21 Look-up table value for 236.25°
0x00DC LUT_22 Look-up table value for 247.50°
0x00DE LUT_23 Look-up table value for 258.75°
0x00E 0x00E0 LUT_24 Look-up table value for 270.00°
0x00E2 LUT_25 Look-up table value for 281.25°
0x00E4 LUT_26 Look-up table value for 292.50°
0x00E6 LUT_27 Look-up table value for 303.75°
0x00E8 LUT_28 Look-up table value for 315.00°
0x00EA LUT_29 Look-up table value for 326.25°
0x00EC LUT_30 Look-up table value for 337.50°
Name Description Default value of Reg.
0x00EE LUT_31 Look-up table value for 348.75°
0x00F 0x00F0 [7:0] CRC_LUT 8-bit CRC for Look-up table; CRC has to
be calculated with following values: page 0x00B & 0x00C & 0x00D & 0x00E & first byte of register 0x00F0 (bits [15:8] & 0xFF00)
0x00F2 CUST_ID_0 16-bit of customer ID, will be
transmitted via short serial message
0x00F4 CUST_ID_1 16-bit of customer ID, will be
transmitted via short serial message
0x00F6 CUST_ID_2 16-bit of customer ID
0x00F8 CUST_ID_3 16-bit of customer ID
0x00FA CUST_ID_4 16-bit of customer ID
0x00FC CUST_ID_5 16-bit of customer ID
0x00FE CUST_ID_6 16-bit of customer ID
User’s Manual 15 Rev. 1.0
2019-03-12
TLE5014
Page 0x006 1514131211109876543210
0x0060 - -
0x0062 - -
0x0064 - -
0x0066 - -
0x0068 - - ------
0x006A - -
0x006C - - -------------
0x006E - - ------
Page 0x009
0x0090 - - --------------
0x0092 - - --------------
0x0094 - - --------------
0x0096
0x0098
0x009A
0x009C ------
0x009E ------
Page 0x00A
0x00A0 ANG_DIR -
0x00A2
0x00A4 -----AS_NR
0x00A6 - - --------------
0x00A8 - - --------------
0x00AA - - --------------
0x00AC - - --------------
0x00AE - - --------------
Page 0x00B
0x00B0
0x00B2
0x00B4
0x00B6
0x00B8
0x00BA
0x00BC
0x00BE
Page 0x00C
0x00C0
0x00C2
0x00C4
0x00C6
0x00C8
0x00CA
0x00CC
0x00CE
Page 0x00D
0x00D0
0x00D2
0x00D4
0x00D6
0x00D8
0x00DA
0x00DC
0x00DE
Page 0x00E
0x00E0
0x00E2
0x00E4
0x00E6
0x00E8
0x00EA
0x00EC
0x00EE
Page 0x00F
0x00F0 --------
0x00F2
0x00F4
0x00F6
0x00F8
0x00FA
0x00FC
0x00FE
CUST_ID_2
CUST_ID_3
CUST_ID_4
CUST_ID_5
CUST_ID_6
CUST_ID_0
CUST_ID_1
LUT_22
LUT_23
LUT_24
LUT_25
LUT_26
LUT_27
CRC_LUT
LUT_28
LUT_29
LUT_30
LUT_31
LUT_21
LUT_10
LUT_11
LUT_12
LUT_13
LUT_14
LUT_15
LUT_16
LUT_17
LUT_18
LUT_19
LUT_20
LUT_8
LUT_9
LUT_3
LUT_4
LUT_5
LUT_6
LUT_7
TMR_PERIOD
CRC_EEP
LUT_0
LUT_1
LUT_2
ANG_BASE
ACSTAT
MOD1
MOD2
IF123_CFG
IFABC_C FG
PWI_MOD
S_NR_EEP CRC_CFG
OUT_LIM_MIN
OUT_LIM_MAX
OUT_STAT_L
OUT_STAT_H
TMR_PREDIV
GMR-Based Angle Sensor
EEPROM Page Map
Figure 5 TLE5014 EEPROM bitmap
User’s Manual 16 Rev. 1.0
2019-03-12
Loading...
+ 37 hidden pages