This document covers the TLE5014 with the different interfaces SENT, SPC, PWM and SICI. It provides further
information what should be considered using this sensor in an application and how to program it.
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 TypeMarkingOrdering CodePackageComment
TLE5014P16014PSP001231814PG-TDSO-16PWM Interface, single die
TLE5014S16014SSP001231818PG-TDSO-16SENT Interface, single die
TLE5014C16014CSP001231806PG-TDSO-16SPC Interface, single die
TLE5014S16D014SDSP001410046PG-TDSO-16SENT Interface, dual die
TLE5014C16D014CDSP001410042PG-TDSO-16SPC Interface, dual die
TLE5014P16D014PDSP001673472PG-TDSO-16PWM Interface, dual die
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 Manual4Rev. 1.0
2019-03-12
Page 5
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 p2 .2n10 0p
GMR-Based Angle Sensor
Application Circuits
Figure 3 Application circuit for TLE5014 with SENT
User’s Manual5Rev. 1.0
2019-03-12
Page 6
TLE5014
GMR-Based Angle Sensor
Interfaces overview
2Interfaces 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.1PWM 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
ParameterEEPROM
Register
PWM data duty cycle range
minimum value
PWM data duty cycle range
maximum value
PWM diagnostic duty cycle low0x0064This value determines the duty cycle which indicates a
User’s Manual6Rev. 1.0
0x0060This value determines the low value of the duty cycle for
0x0062This 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
Page 7
TLE5014
GMR-Based Angle Sensor
Interfaces overview
Table 2 PWM Interface configuration (cont’d)
ParameterEEPROM
Description
Register
PWM diagnostic duty cycle high0x0066This value determines the duty cycle which indicates a
sensor reset or a sensor start-up error (BIST error)
PWM predevider for PWM period 0x0068This value is used for PWM frequency adjustment according
to Equation (4.1)
PWM period0x006AThis value is used for PWM frequency adjustment according
to Equation (4.1)
PWM starting edge0x00A2This 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.2SPC 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
ParameterEEPROM
Description
Register
SPC low time0x00A2This value can be 5 UT or 3UT. With 5UT, the SPC nibble is
compliant to the SENT specification
Temperature information in SPC
protocol
0x00A2The SPC frame can contain two additional nibbles for
transmitting the temperature information
Rolling counter 0x00A2A 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 CRC0x00A2The 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 trigger0x00A2Two 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
SPC short serial message0x00A2A 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)0x00A2The 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
AddressIF1IF2
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 Manual8Rev. 1.0
2019-03-12
Page 9
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
BitDescription
0 (LSB)Sensor ID (LSB)
1Sensor ID (MSB)
2Internal sensor failure
3 (MSB)Sensor reset or start-up (BIST) failure
•Short serial message (SSM) enabled:
Table 6 SPC Status Nibble
BitDescription
0 (LSB)Data bit of SSM
1Start bit of SSM
2Internal 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 Manual9Rev. 1.0
2019-03-12
Page 10
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_NibbleRC_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.
The following table shows the different options for SENT interface configuration.
Table 8 SENT Interface configuration
ParameterEEPROM
Register
SENT low time0x00A2This value can be 5 UT or 3 UT. With 5 UT, the nibble is
SENT protocol type0x00A2Two different SENT implementations can be configured:
Sent short serial message0x00A2A short serial message (slow message) can be activated
SENT error indication0x00A2In case of an internal chip error, the error can be indicated
Se nt u nit time (UT)0x 00A 2The 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, 2x4bit 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
BitDescription
0 (LSB)error indication or start-up (BIST) error or sensor reset
1reserved
2short serial message bit (data bit)
3 (MSB)short serial message bit (start indication)
User’s Manual11Rev. 1.0
2019-03-12
Page 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.
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
PageEEPROM
Register
0x0060x0060OUT_LIM_MINPWM data duty cycle range minimum
0x0062OUT_LIM_MAXPWM data duty cycle range maximum
0x0064OUT_STAT_LPWM diagnostic duty cycle low
0x0066OUT_STAT_HPWM diagnostic duty cycle high
0x0068TMR_PREDIVPWM predevider for PWM period
0x006ATMR_PERIODPWM period
0x006C–Reserved
0x006ECRC_EEPCRC has to be calculated with following
0x0096ACSTATActivation of internal safety mechanism
0x0098MOD13 V/5 V, pad configuration, LUT options
0x009AMOD2Lock function for register PWI_MD_USR
0x009CIF123_CFGPin configuration of pin IF1, IF2, IF3
0x009EIFABC_CFGPin configuration of pin IFA, IFB, IFC
0x00A0x00A0ANG_BASEAngle base & rotation direction
0x00A2PWI_MD_USRInterface configuration
0x00A4CRC_CFGConfiguration CRC and SPC address;
NameDescriptionDefault 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
0x00B0x00B0LUT_0Look-up table value for 0°
0x00B2LUT_1Look-up table value for 11.25°
0x00B4LUT_2Look-up table value for 22.50°
0x00B6LUT_3Look-up table value for 33.75°
0x00B8LUT_4Look-up table value for 45.00°
0x00BALUT_5Look-up table value for 56.25°
0x00BCLUT_6Look-up table value for 67.50°
0x00BELUT_7Look-up table value for 78.75°
0x00C0x00C0LUT_8Look-up table value for 90.00°
0x00C2LUT_9Look-up table value for 101.25°
0x00C4LUT_10Look-up table value for 112.50°
0x00C6LUT_11Look-up table value for 123.75°
0x00C8LUT_12Look-up table value for 135.00°
0x00CALUT_13Look-up table value for 146.25°
0x00CCLUT_14Look-up table value for 157.50°
0x00CELUT_15Look-up table value for 168.75°
User’s Manual14Rev. 1.0
2019-03-12
Page 15
TLE5014
GMR-Based Angle Sensor
EEPROM Page Map
Table 10 EEPROM page map (cont’d)
PageEEPROM
Register
0x00D0x00D0LUT_16Look-up table value for 180.00°
0x00D2LUT_17Look-up table value for 191.25°
0x00D4LUT_18Look-up table value for 202.50°
0x00D6LUT_19Look-up table value for 213.75°
0x00D8LUT_20Look-up table value for 225.00°
0x00DALUT_21Look-up table value for 236.25°
0x00DCLUT_22Look-up table value for 247.50°
0x00DELUT_23Look-up table value for 258.75°
0x00E0x00E0LUT_24Look-up table value for 270.00°
0x00E2LUT_25Look-up table value for 281.25°
0x00E4LUT_26Look-up table value for 292.50°
0x00E6LUT_27Look-up table value for 303.75°
0x00E8LUT_28Look-up table value for 315.00°
0x00EALUT_29Look-up table value for 326.25°
0x00ECLUT_30Look-up table value for 337.50°
NameDescriptionDefault value of Reg.
0x00EELUT_31Look-up table value for 348.75°
0x00F0x00F0[7:0] CRC_LUT8-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)
0x00F2CUST_ID_016-bit of customer ID, will be
transmitted via short serial message
0x00F4CUST_ID_116-bit of customer ID, will be
transmitted via short serial message
0x00F6CUST_ID_216-bit of customer ID
0x00F8CUST_ID_316-bit of customer ID
0x00FACUST_ID_416-bit of customer ID
0x00FCCUST_ID_516-bit of customer ID
0x00FECUST_ID_616-bit of customer ID
User’s Manual15Rev. 1.0
2019-03-12
Page 16
TLE5014
Page 0x006 1514131211109876543210
0x0060--
0x0062--
0x0064--
0x0066--
0x0068--------
0x006A--
0x006C---------------
0x006E--------
Page 0x009
0x0090----------------
0x0092----------------
0x0094----------------
0x0096
0x0098
0x009A
0x009C------
0x009E------
Page 0x00A
0x00A0ANG_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_EEPCRC_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 Manual16Rev. 1.0
2019-03-12
Page 17
TLE5014
GMR-Based Angle Sensor
EEPROM Register Description
4EEPROM Register Description
This chapter describes the EEPROM registers which can be accessed via SICI in the EEPROM programming
mode. Further registers needed for EEPROM programming are described in Chapter 7.1.
Care shall be taken that there is no unintended modification of bits. When modifying registers, reserved bits
have to be read and written back with the same value.
4.1Page 0x006
The page 0x06 is used for the configuration of the PWM protocol. It is only relevant in case PWM is selected as
interface in the register PWI_MD_USR (0x00A2). The following tables EEPROM Register Address 0x0060
OUT_LIM_MIN to EEPROM Register Address 0x006E CRC_EEP show the details.
EEPROM Register Address 0x0060 OUT_LIM_MIN
1514131211109876543210
OUT_LIM_MIN
FieldBitsTypeDescription
OUT_LIM_MIN13:0
Minimum value of data duty cycle range; 0% … 100% mapped to
0 … 16383
EEPROM Register Address 0x0062 OUT_LIM_MAX
1514131211109876543210
OUT_LIM_MAX
FieldBitsTypeDescription
OUT_LIM_MAX13:0
Maximum value of data duty cycle range; 0% … 100% mapped to
0 … 16383
EEPROM Register Address 0x0064 OUT_STAT_L
1514131211109876543210
OUT_STAT_L
User’s Manual17Rev. 1.0
2019-03-12
Page 18
TLE5014
GMR-Based Angle Sensor
EEPROM Register Description
FieldBitsTypeDescription
OUT_STAT_L13:0
Low value of diagnostic duty cycle; 0% … 100% mapped to 0 … 16383
EEPROM Register Address 0x0066 OUT_STAT_H
1514131211109876543210
OUT_STAT_H
FieldBitsTypeDescription
OUT_STAT_H 13:0
High value of diagnostic duty cycle; 0% … 100% mapped to 0 … 16383
EEPROM Register Address 0x0068 TMR_PREDIV
1514131211109876543210
TMR_PREDIV
FieldBitsTypeDescription
TMR_PREDIV7:0
For calculation of PWM frequency according to Equation (4.1)
EEPROM Register Address 0x006A TMR_PERIOD
1514131211109876543210
TMR_PERIOD
FieldBitsTypeDescription
TMR_PERIOD 13:0
For calculation of PWM frequency according to Equation (4.1)
CRC has to be calculated with following values: page 0x002 & 0x003 &
0x004 & 0x005 & register 0x0060 & 0x0062 & 0x0064 & 0x0066 & 0x0068
& 0x006A & 0x006C & first byte of 0x006E (bit [15:8])
The PWM frequency of the PWM output can be programmed with the two parameters TMR_PREDIV and
TMR_PERIOD according to the following Equation (4.1):
(4.1)
Example:
For TMR_PREDIV = 12, TMR_Period = 15384, the PWM frequency calculates to f = 200 Hz.
4.2Page 0x009
Care has be taken that there is no unintended modification of bits. When modifying registers, reserved bits
have to be read and written back with the same value.
Description EEPROM Register Address 0x0098 MOD1
1514131211109876543210
RST_3_5CLK_SELFIR_M
D
LUT_MDIFMD_ABC
FieldBitsTypeDescription
RST_3_513
0:
Reset comparator set to < 3.0 V
B
1:
Reset comparator set to < 4.2 V
B
CLK_SEL12
For test purpose only
IFMD_
123
FIR_MD11
Internal update rate of angle calculation:
0:
25.6 µs
B
51.2 µs
1:
B
LUT_MD9:8
Look-up table (LUT) configuration:
LUT disabled
00:
B
01:
LUT range = 360° (angle steps = 11.25°)
B
LUT range = 180° (angle steps = 5.625°)
10:
B
11:
LUT range = 90° (angle steps = 2.813°)
B
User’s Manual19Rev. 1.0
2019-03-12
Page 20
TLE5014
GMR-Based Angle Sensor
EEPROM Register Description
FieldBitsTypeDescription
IFMD_ABC5:4
For test purpose only
IFMD_1230
For test purpose only
Description EEPROM Register Address 0x009A MOD2
1514131211109876543210
MOD2
FieldBitsTypeDescription
MOD215:0
Lock register for 0x00A2. The bits in this registers are connected with a
logical AND function with the corresponding bit in 0x00A2. This means
that a “0” in a bit of register 0x009A prohibits to set a “1” in the
corresponding bit of 0x00A2. Note: The bit will show as “1” in 0x00A2
but has no effect
Care has be taken that there is no unintended modification of bits. When modifying registers, reserved bits
have to be read and written back with the same value.
Interface selection (Only available for Product Type: TLE5014F16D):
100:
PWM
B
SENT
010:
B
001:
SPC
B
PWM _EDGE12
PWM starting edge:
0:
Rising edge
B
Falling edge
1:
B
SENT/SPC_LT_
5_3
SPC_TEMP10
SPC_RCNIB9
SPC_RCCRC8
SPC_TRIG7
SENT_PROMO6
11
SENT/SPC low time:
5UT
0:
B
1:
3UT
B
Temperature information in SPC protocol:
0:
No temperature nibble
B
1:
Two temperature nibbles
B
Rolling counter:
0:
Rolling counter nibble enabled
B
No rolling counter nibble
1:
B
Rolling counter in CRC:
No rolling counter in CRC
0:
B
1:
Rolling counter in CRC
B
SPC bus mode:
0:
90 UT constant trigger length
B
1:
Variable trigger length
B
SENT protocol type:
0:
Single secure sensor (with rolling counter and inverted data
B
nibble)
1:
Standard SENT (without rolling counter and inverted data
B
nibble)
SENT_ERR_SIG 5
SENT error indication:
Error code “4091” in data range
0:
B
1:
Error indication in status nibble only
B
SENT_PAPU4
Pause pulse activation:
0:
No pause pulse
B
1:
Pause pulse activated
B
User’s Manual23Rev. 1.0
2019-03-12
Page 24
TLE5014
GMR-Based Angle Sensor
EEPROM Register Description
FieldBitsTypeDescription
SENT/SPC_PWI
_SSM
3
SENT/SPC short serial message:
0:
No short serial message
B
Short serial message activated
1:
B
SENT/SPC_UT2:0
SENT/SPC unit time setting:
3µs
000:
B
001:
2.5 µs
B
2.0 µs
010:
B
011:
1.5 µs
B
100:
1.0 µs
B
Description EEPROM Address 0x00A4 CRC_CFG
1514131211109876543210
AS_N
S_NR_EEPCRC_CFG
R
FieldBitsTypeDescription
AS_NR10
0:
Address configuration for SICI as defined in bits S_NR_EEP
B
Address configuration for SICI as defined by hard wiring of pins
1:
B
Note: This bit shall be set to “1”, otherwise no programming in bus
S_NR_EEP9:8
Address coding of SPC slave:
00:
ID = 0
B
01:
ID = 1
B
ID = 2
10:
B
11:
ID = 3
B
CRC_CFG7:0
Configuration CRC and SPC address; CRC has to be calculated with
following values: registers 0x0096 & 0x0098 & 0x009A & 0x009C &
0x009E & 0x00A0 & 0x00A2 & first byte of 0x00A4 (bit [15:8])
4.4Page 0x00B - 0x00E
Look-up table, see Table 10.
mode is possible. SPC protocol is always using the values
from bits S_NR_EEP
4.5Page 0x00F
In EEPROM register 0x00F0 the 8-bit CRC for the look-up table is stored.
User’s Manual24Rev. 1.0
2019-03-12
Page 25
TLE5014
GMR-Based Angle Sensor
EEPROM Register Description
Description EEPROM Address 0x00F0 CRC_LUT
1514131211109876543210
CRC_LUT
FieldBitsTypeDescription
CRC_LUT7:0
8-bit CRC has to be calculated with following values:
Page 0x00B & 0x00C & 0x00D & 0x00E & first byte of 0x00F0 (bits [15:8])
In the EEPROM registers 0x00F2 to 0x00FE the customer ID is stored. In total it is 16 x 7 = 112 bit.
The first 32 bits (EEPROM address 0x00F2 and 0x00F4) are transmitted in the short serial message.
User’s Manual25Rev. 1.0
2019-03-12
Page 26
TLE5014
GMR-Based Angle Sensor
Working Register Description
5Working Register Description
This chapter describes the working registers which can be read with the SICI interface. These registers are
updated with the time t
5.1STAT Register 0x00: Status
This register provides detailed information on sensor status and internal sensor errors.
Register Address 0x00: STAT (Status)
1514131211109876543210
, which is approximately 25 µs.
update
Read Command: 0xC001
RD_ST RESS_IF S_VEC RESRES S_EEP S_CRC
uuuuuuuuuuuuuu
S_PROGS_BISTS_ADC
T
S_ADC S_VR S_WD
S_PLA
USI
S_RST
FieldBitsTypeDescription
RD_ST15u
Read bit that indicates that the bits in the STAT-line are updated since
the last readout
RES14u
Reserved
S_IF13u
Bit is set when a interface issue happened
S_VEC12u
Bit indicates when the vector length of the actual angle_vector
exceeds the defined limits
RES11
Reserved
RES10
Reserved
S_EEP9u
Bit indicates whenever the EEPROM initiates an error
S_CRC8u
Bit is set whenever one of the bit error detection functions is alarming
S_PROG7u
Bit indicates a DSP error
S_BIST6u
Bit is set whenever one of the startup-BIST is failing. (BIST: Built in self
test)
S_ADCT5u
Bit is set when the temperature is out of limits or the temperature
delta check is failing
S_ADC4u
Bit is set when the ADC_raw_max or ADC_raw_delta check fails or the
filter-scheduling check is alarming
User’s Manual26Rev. 1.0
2019-03-12
Page 27
TLE5014
GMR-Based Angle Sensor
Working Register Description
FieldBitsTypeDescription
S_VR3u
Bit is a combination of several voltage checks
S_WD2u
Bit is set when the last reset happened due to a watchdog event
S_PLAUSI1u
Bit is set when the redundant angle calculation is failing the limits
S_RST0u
Reset occurred
5.2AVAL Register 0x02: Angle Value
The current angle value can be read via SICI interface in register AVAL at address 0x02. It is updated approx.
every 25 µs, which is the time needed for sampling and calculating a new angle value. It is a signed 15-bit value
(see Description Register Address 0x02 AVAL).
Description Register Address 0x02 AVAL
Read command: 0x8021
1514131211109876543210
RD_AVAVAL
FieldBitsTypeDescription
RD_AV15
Read bit that indicates that the bits in the AVAL register are updated
since last readout by interface
Read bit that indicates that the bits in the ASPD-register are updated
since last readout by interface
RES14:12
Reserved
ASPD11:0uAngle speed
Calculated angle speed signed 12-bit value
5.4RAW_X Register 0x06: X raw value
This register provides the x-raw value (cosine value).
Register Address 0x06: X raw value
Read command: 0xC061
1514131211109876543210
RAW_X
u
FieldBitsTypeDescription
RAW_X15:0u
Unsigned 16-bit value of X-raw
5.5RAW_Y Register 0x07: Y raw value
This register provides the y-raw value (sine value).
Register Address 0x07: Y raw value
Read command: 0x8071
1514131211109876543210
RAW_Y
u
FieldBitsTypeDescription
RAW_Y15:0u
Unsigned 16-bit value of Y-raw
User’s Manual28Rev. 1.0
2019-03-12
Page 29
TLE5014
GMR-Based Angle Sensor
Working Register Description
5.6TEMP Register 0x0A: Temperature raw value
This register provides the actual raw temperature value. To calculate the actual temperature, the temperature
offset has to be determined. This is done by reading the register once at a known temperature (e.g. 25°C) This
value is then TEMPER_25 and the offset corrected temperature can be calculated using the formula below.
Register Address 0x0A: temperature raw value
Read command: 0xC0A1
1514131211109876543210
TEMP_VALUE
rrr
FieldBitsTypeDescription
TEMP_VALUE15:6rTemperature value
10-bit temperature value, not offset corrected
T [°C] = (TEMP_VALUE-TEMPER_25) / 1.3815 [LSB/°C] + 25°C
TEMPER_25: TEMP_VALUE @25°C
In case the offset correction is not done at 25°C but at a different
temperature, the formula has to be modified accordingly.
RD_SM5rRead state machine
Bit is set when new value is available since state machine has read
last one
RD_INT4rRead interface
Bit is set when new value is available since interface has read last one
RES3:0
Reserved
RD_SMRD_IN
T
RES
5.7ANG_BASE register 0x14: Angle base and rotation direction
This register contains the angle base. The output angle is referring to this angle base value.
Register Address 0x14: angle base and rotation direction
Read command: 0xC141
1514131211109876543210
ANG_BASE
ww
User’s Manual29Rev. 1.0
ANG_
DIR
2019-03-12
RES
Page 30
TLE5014
GMR-Based Angle Sensor
Working Register Description
FieldBitsTypeDescription
ANG_BASE15:2wAngle base
signed 14 bit zero angle value.
Output angle is referring to this angle base
0x0000 = 0°,
0x2000 = -180°,
0x1FFF = +179,978°,
0x001 = 0,02197°
ANG_DIR1wDirection of the angle rotation
0 = clockwise
1 = counter clockwise
RES0
Reserved
User’s Manual30Rev. 1.0
2019-03-12
Page 31
TLE5014
GMR-Based Angle Sensor
SICI
6SICI
6.1Basic Functionality
The SICI interface (SICI: Single-Wire Interface for Calibration and Inspection) is a one-wire programming
interface that allows read and write access to the working registers and EEPROM registers of the sensor. It is
bidirectional for every transferred bit, meaning that for every single bit sent by the master one bit is
immediately sent back from the slave. The speed of the interface is automatically determined from the length
of the first bit sent by the master.
The one-wire interface enables a robust data transmission at a speed of up to 240 kbit/s. It is a voltage
interface based on a bit-wise pulse-width-modulation (PWM) principle and requires an open-drain driver on
micro controller side. Regardless of the interface configuration of the TLE5014, the SICI interface is always
available on the IFB pin during the startup time.
In order to use the SICI interface, sensor and micro controller have to use an open drain output, so they can
actively pull a “low” level. The communication line has to be connected to V
1.5-2 kΩ. Higher values for the pull-up resistor may lead to problems to achieve the necessary speed of the
communication.
by a pull-up resistor of approx.
DD
6.2SICI Data Transfer
The communication via the SICI interface is based on transmitting a single bit to the sensor and immediately
receiving a bit. These bits form a 16-bit word. It makes the interface bit-synchronous, robust and very flexible
in timing. Bidirectional data transmission can thus be realized using only a single wire without a trimmed
oscillator on sensor or master side. To enhance the robustness of the interface, the sensor repeats the 16-bit
command word sent by the master in order to have a confirmation of the correct understanding of the
message, and transmits a safety word after each communication. Additionally, a time-out feature is
implemented: If during a communication the sensor does not receive a bit from the master within a certain
time span (see Table 11, Interface reset time), the interface is reset and a new command can be sent.
6.2.1Bit Encoding
For the SICI interface, bits are encoded as the difference in duration of consecutive “low” and “high” levels. To
transmit a bit to the sensor, the master sends one single low/high PWM signal with a period T, then pulls the
line to “low” again for a short time T
“low” and “high” time:
•to transmit a “0” to the sensor, the master pulls the line “low” for a short time T
for a long time T - T
(typically T1=0.3*T)
1
•to transmit a “1” to the sensor, the master pulls the line “low” for a long time T
for a short time T - T
(typically T2=0.7*T)
2
The sensor recognizes the total bit-time interval T as the duration between two consecutive falling edges from
the master. This encoding scheme is illustrated in Figure 6.
. The logic value of the bit is then encoded as the difference between
3
, then releases it to “high”
1
, then releases it to “high”
2
User’s Manual31Rev. 1.0
2019-03-12
Page 32
TLE5014
T
0:
1:
T
1
T
2
ΔT = T – 2*T
1
ΔT = 2*T2-T
ΔT
master pulls low
line is released
0
1
GND
V
DD
T
3
1
0
Δ T
Master checks
resp onse here
Master pulls low
Sensor pulls low
Line is released
V
DD
GND
GMR-Based Angle Sensor
SICI
Figure 6 Timing description of master bit
After receiving a bit from the master, the sensor answers by transmitting one bit:
•the sensor transmits a “1” by pulling the SICI-line “low” for the time difference ∆T between “high” and
“low” level given by the received PWM signal (i.e. if a “0” was transmitted by the master, ∆T = T -2*T
whereas if a “1” was transmitted by the master, ∆T =2*T
•the sensor transmits a “0” by keeping the line “high”
To read the bit transmitted by the sensor, the master has to check the level of the line after T
pulse) but before time ∆T has expired (recommended 80% of ∆T, see Figure 7).
2
- T)
(master low
3
,
1
Figure 7 Timing description of response bit from sensor
After receiving the response bit from the sensor, the master can pause for a time T
next bit. T
interface is reset. Figure 8 shows an example communication between master and sensor.
User’s Manual32Rev. 1.0
has to be shorter than the time-out limit (see Table 11, interface reset time), otherwise the
4
before transmitting the
4
2019-03-12
Page 33
TLE5014
master pulls low
line is released
sensor pulls low
T
1
T
2
T
3
ΔTT
4
TΔT
0 from maste r1 from sensor
1 from maste r
0 from sensor
GND
V
DD
GMR-Based Angle Sensor
SICI
Figure 8 SICI communication example
The transmission rate of the interface is determined by the width T of the PWM signal sent by the master. A
maximum transmission speed of 240 kbit/s can be reached for T = 2 µs. Lowering the transmission rate
generally increases the robustness of the communication in distorted environments and/or with high
capacitive loads on the line. The optimum communication speed thus depends on the application circuitry.
The timing specification of the SICI interface is given in Table 11.
Table 11 SICI interface timing and level specification
ParameterSymbolValuesUnit Note or Test Condition
Min.Typ.Max.
Master PWM periodT2
1)
–980µsDetermines interface
transmission rate
Master low time to transmit “0”T
Master low time to transmit “1”T
Time difference between master
low and high level
Master low pulse after PWM bitT
Master pause time after sensor
1
2
0.2*T–0.33*Tµs
0.66*T–0.8*Tµs
∆T0.33*T–0.6*Tµs∆T = T - 2 * T1 ; for “0”
3
T
4
0.4–0.25*Tµs
0.75*T–810µs
2)
2)
∆T = 2 * T
2)3)
2)3)
- T; for “1”
2
bit response
Interface reset timeT
Input signal low levelV
Input signal high levelV
Output signal low levelV
SICI line pull-up resistorR
Wait time between transmitted
Res
low,in
high,in
low,in
pu
t
delay
–8201640µs
––0.3*V
DD
0.7*VDD–– V
––0.9V
1–– kΩ
1–– µs
16-bit words
1) Achievable transmission rate (minimum master PWM period) depends on parasitic capacities in external circuitry.
2) Verified by design/characterization.
3) Rise/fall times due to parasitic capacitances on the line have to be added.
4) Max. time for reset calculated for worst case interruption of SICI transmission
2)4)
2)
V
2)
2)
2)
User’s Manual33Rev. 1.0
2)
2)
2019-03-12
Page 34
TLE5014
a) Read:
Masters sends :
Sensor responds :
Command
repeat Command
0x0000
Data Word 1
0x0000
Data Word n
0x0000
Safety Word
t
delay
t
dela y
t
delay
b) Wri te :
Masters sends :
Sensor responds :
Command
repeat Command
Data Word 1
repeat Data Word 1
Data Word n
repeat Data Word n
0x0000
Safety Word
t
delay
t
delay
t
dela y
t
t
GMR-Based Angle Sensor
SICI
To enter the programming mode of TLE5014 some dedicated commands have to be sent within the start-up
time of the sensor (see Chapter 6.2.4).Thus, not all possible settings of the SICI timing parameters (e.g. T, T1,
T2, …) can be used with TLE5014. An example setting of the timing parameters for SICI interface, which allows
to send all necessary SICI commands within the start-up time, is shown in Table 12.
Table 12 Example of SICI timing parameters
ParameterSymbolValueUnitRemarks
Master PWM periodT21.1µs
Master low time to transmit “0”T
Master low time to transmit “1”T
Time difference between master low
and high level
Master low pulse after PWM bitT
Master pause time after sensor bit
1
2
∆T7.9µs∆T = T - 2 * T
3
T
4
6.6µs
14.5µs
3.5µs
25µs
∆T = 2 * T
; for “0”
1
- T; for “1”
2
response
6.2.2Communication Protocol
The master transmits a 16-bit command word to read or write registers, then sends or receives a number of
data words and then receives a safety word from the sensor. Each transmission starts with the mostsignificant-bit (MSB). The register map is shown in Chapter 3. Table 13 shows the structure of the command
word.
Figure 9 SICI data transfer for read command (a) and write command (b)
User’s Manual34Rev. 1.0
2019-03-12
Page 35
TLE5014
GMR-Based Angle Sensor
SICI
Table 13 Structure of the Command Word
NameBitsDescription
RW[15]Read - Write
0: Write
1: Read
PRTY[14]Command Parity
Odd parity of all command word bits. Number of “1”s including parity has
to be odd
CMD[13]Command Mode
0: ADDR field is interpreted as register address to be read/written
ACCESS[12..11]Access mode to registers
READ:
00
: Direct readout
B
01
: Update all registers and then readout
B
1x
: Readout only updated registers
B
WRITE:
00
: Direct write
B
10
: Reset active bits (ones in written data)
B
:Set active bits (ones in written data)
11
B
ADDR[10..4]7 bit address
LEN[3..0]4 bit length; number of data words to read/write
If a read command is transmitted, the master has to send a 16-bit sequence of 0’s for every requested word to
be read. The sensor then responds to each “0” from the master with a bit from the register word to be read,
starting with the MSB. If a write command is transmitted, the sensor repeats every single bit of the data words.
After the transmission of the data words, the master has to send another 16-bit sequence of 0’s, and the sensor
responds to each “0” with one bit of the safety word, starting with the MSB. Between each transmitted word,
there has to be a delay t
to allow the sensor to process the data. Figure 9 illustrates the sequence of
delay
command, data and safety words for read/write access.
A safety word is sent at the end of each communication. The structure of the safety word is shown in Table 14.
An internally detected sensor fault is indicated in the safety word.
It is recommended to read the status register STAT (Chapter 5.1) in this case to get further information of the
error. Reading of the STAT register causes a reset of the error bit in the safety word. If the status register is not
read, the error indication will persist in the safety word, even when the error is no longer existing
User’s Manual35Rev. 1.0
2019-03-12
Page 36
TLE5014
xor
X7X6X5X4X3X2
xor
X0
xor
xor
Input
Serial
CRC
output
&
TX_CRC
1111111
1
X1
parallel
Remainder
GMR-Based Angle Sensor
SICI
Table 14 Structure of the Safety Word
NameBitsDescription
STATChip and Interface Status
[15]Indication of Chip-Reset or watchdog was activated
0: Reset occurred or watchdog was activated
1: No reset
[12]Valid Angle Value (no ADC error, no internal plausibility check error)
0: Angle value invalid
1: Angle value valid
RESP[11..8]Sensor Number Response Indicator
The sensor number bit is pulled low and the other bits are high.
CRC[7..0]Cyclic Redundancy Check (CRC) includes command word, data words,
STAT & RESP
6.2.3CRC generation
The TLE5014 uses a cyclic redundancy check (CRC) to confirm the correct processing of read and write
commands via the safety word, and to monitor the integrity of configuration registers and EEPROM pages. The
CRC is generated according to the J1850 Bus-Specification:
•Every new transfer resets the CRC generation
•Every Byte of a transfer will be taken into account to generate the CRC (also the sent command(s))
•Generator-Polynomial: X8+X4+X3+X2+1; for the CRC generation the fast-CRC generation circuit is used (see
Figure 10)
•The remainder of the fast CRC circuit is initially set to ’11111111
•Remainder is inverted before transmission
’
B
Figure 10 Fast CRC polynomial division circuit
6.2.4SICI Application Example: Reading working register
Sensor and micro controller must use an open-drain output, so they can actively pull only a 0 Volt level; the
5 Volt level is achieved by an external pull-up resistor.
User’s Manual36Rev. 1.0
2019-03-12
Page 37
TLE5014
GMR-Based Angle Sensor
SICI
In the application, the chip will switch into SENT/SPC/PWM mode (depending on pre programmed
configuration) after startup. Therefore the SICI can only be entered during startup and internal settings have
to be modified to keep the SICI in case it shall be used for programming purpose.
The following sequence has to be performed to read a register (angle value register AVAL 0x02 in this example):
Power on the sensor, wait at least 10 µs to allow the internal voltages to stabilize:
•Set the KEEP_IF bit to ensure the SICI is not disabled after startup:
–WRITE-CMD to 0x6C: 0x06C1
–DATA: 0x4000 (keep SICI after startup)
–Read Safety word
•Wait until startup is finished; refer to the TLE5014 data sheet for power-on time specification
•The 15-bit angle value can be read to get data for the angle base or look-up table programming:
–READ-CMD to 0x02: 0x8021
–Read DATA (send 0x0000)
–Read Safety word
6.2.5SICI Application Example: EEPROM read/write
Sensor and micro controller must use an open-drain output, so they can actively pull only a 0 V level; the 5 V
level is achieved by an external pull-up resistor.
In the application, the chip will switch into SENT/SPC/PWM mode (depending on pre programmed
configuration) after startup. Therefore the SICI can only be entered during startup and internal settings have
to be modified to keep the SICI in case it shall be used for programming purpose.
The following sequence has to be performed to allow an EEPROM read/write via SICI:
•Power on the sensor, wait at least 10 µs to allow the internal voltages to stabilize
•Write unlock word 0x4711 to 0x77 to enable access to the registers:
–WRITE-CMD to 0x77: 0x0771
–DATA: 0x4711 (unlock)
–Read Safety word
•Set the KEEP_IF bit to ensure the SICI is not disabled after startup:
–WRITE-CMD to 0x6C: 0x06C1
–DATA: 0x4000 (keep SICI after startup)
–Read Safety word
•Wait until startup is finished; refer to the TLE5014 data sheet for power-on time specification
•For reading or writing EEPROM content, the internal controller has to be switched off:
–WRITE-CMD to 0x6C: 0x06C1
–DATA: 0xC000 (switch off DSP)
–Read Safety word
•Now the EEPROM-reading / writing can be entered (see Chapter 7)
•After writing/reading the EEPROM, send a write command to the ACSTAT register (address 0x01) with data
word 0x0001 to trigger a chip reset:
–WRITE-CMD to 0x01: 0x4011
–DATA: 0x0001 (chip reset)
User’s Manual37Rev. 1.0
2019-03-12
Page 38
TLE5014
GMR-Based Angle Sensor
SICI
6.3SICI Programming in Bus Mode
In case several sensors (up to 4) are connected in a bus mode with the SPC interface, the EEPROM read/write
via SICI has to be performed in the bus mode configuration. For this purpose, to each individual sensor an
address has to be assigned which is done by the external wiring of the pins IF1, IF2 and IFC on the PCB as
described in the data sheet and in Table 4 of this document.
To address the individual sensors with SICI, one of the following ID_WORD has to be sent according to the
hard-wired sensor ID:
ID=0: ID_WORD = 0x05AC
ID=1: ID_WORD = 0x05A9
ID=2: ID_WORD = 0x05A6
ID=3: ID_WORD = 0x05A3
The following sequence has to be performed to allow an EEPROM read/write via SICI in bus mode. The
commands in blue have to be added to the command sequence described in Chapter 6.2.4 for
reading/writing in bus mode and contain the ID_WORD for sensor addressing: Power on the sensor, wait at
least 10 µs to allow the internal voltages to stabilize:
•Write unlock word 0x4711 to 0x77 to enable access to the registers:
–WRITE-CMD to 0x77: 0x0771
–DATA: 0x4711 (unlock)
–Read Safety word
•Set the KEEP_IF bit to ensure the SICI is not disabled after startup:
–WRITE-CMD to 0x6C: 0x06C1
–DATA: 0x4000 (keep SICI after startup)
–Read Safety word
•Write sensor ID to SICI-DISABLE register at 0x7A:
–WRITE-CMD to 0x7A: 0x47A1
–DATA: ID_WORD
–Read Safety word
•Wait until startup is finished; refer to the TLE5014 data sheet for power-on time specification
•For the programming, the internal controller has to be switched off:
–WRITE-CMD to 0x6C: 0x06C1
–DATA: 0xC000
–Read Safety word
•Now the EEPROM-reading / writing can be entered (see Chapter 7)
•After writing/reading the EEPROM, send a write command to the ACSTAT register (address 0x01) with data
word 0x0001 to trigger a chip reset:
–WRITE-CMD to 0x01: 0x4011
–DATA: 0x0001 (chip reset)
User’s Manual38Rev. 1.0
2019-03-12
Page 39
TLE5014
GMR-Based Angle Sensor
EEPROM Programming
7EEPROM Programming
The EEPROM of the TLE5014 consists of user accessible and locked pages with eight 16-bit data words each.
To access a page of the EEPROM, the page is mapped onto a range of registers, which can then be read or
written via the SICI interface.
7.1Writing and Reading of EEPROM Pages
To read or write data form the EEPROM, the desired page has first to be mapped to working registers EEP_0 to
EEP_7 (address 0x60 to 0x67) by writing the desired page number (0..15) to the EEP_PAGE register (address
0x68, see Table 13). The content of the EEPROM page can then be read from registers EEP_0 to EEP_7.
Before EEPROM content can be read or written, the steps describes in Chapter 6.2.5 have to be performed.
Programming the EEPROM is done by sending the following command sequence (example for EEPROM page
0x009):
•Map the desired EEPROM page to the registers EEP_0 to EEP_7 (0x60 to 0x67) by writing the page number
into the EEP_PAGE register 0x68 (example for EEPROM page 0x006):
–WRITE-CMD to 0x68: 0x4681
–DATA: 0x0009 (maps EEPROM page 0x009 to working registers 0x60 … 0x67)
•Read the content of the desired EEPROM page by sending a read command to registers EEP_0 to EEP_7,
then change the desired bits and write the content back to registers EEP_0 to EEP_7:
–READ-CMD to 0x60: 0xC601 (reads working register 0x60 = EEP_0)
–DATA: content of working register 0x60 (corresponds to EEPROM register 0x0090
–…
–READ-CMD to 0x67: 0x8671 (reads working register 0x67 = EEP_7)
–DATA: content of working register 0x67 (corresponds to EEPROM register 0x009E)
•To change EEPROM content, first overwrite register EEP_0 to EEP_7 (0x60 to 0x67) with the desired
content:
–WRITE-CMD to 0x60: 0x0601
–DATA: 0xFFFF (example for writing 0xFFFF in EEPROM register 0x0090)
–…
•To program the data from registers EEP_0 to EEP_7 back into the EEPROM page, the following commands
have to be sent:
–WRITE-CMD to 0x68: 0x4681
–DATA: 0x03FF
–WRITE-CMD to 0x67: 0x4671 (program with automatic verification)
–DATA: 0x0009
•After writing/reading the EEPROM, send a write command to the ACSTAT register (address 0x01) with data
word 0x0001 to trigger a chip reset:
–WRITE-CMD to 0x01: 0x4011
–DATA: 0x0001 (chip reset)
The EEPROM data is protected by checksums. When changes are made to one or more EEPROM registers, the
respective checksum has to be recalculated and written into the corresponding register. Therefore, the
complete register range which is covered by the checksum has to be read, and the checksum calculation has
to be performed as described in Chapter 2.3. The addresses of the checksum registers and the register range
covered by each checksum are listed in Table 10.
User’s Manual39Rev. 1.0
2019-03-12
Page 40
TLE5014
GMR-Based Angle Sensor
EEPROM Programming
Changing the configuration of the TLE5014 without updating the corresponding checksum results in a CRC
error, which is indicated.
EEPROM Timing
Table 11 gives the timing specification for reading and programming the EEPROM.
Table 15 EEPROM timing specification
ParameterSymbolValuesUnit Note or Test Condition
Min.Typ.Max.
Read time per wordt
Write time
Erase time
Program time
2)
2)
2)
Startup time after resett
1) Verified by design/characterization.
2) Times are identical, independent of the number of words that are written, erased, or programmed at a time.
read_ac
t
write
t
erase
t
program
startup
––150ns
4.05.06.0ms
4.05.06.0ms
8.010.012.0ms
465768µs
1)
2)
2)
2)
2)
7.2Verification of EEPROM
To verify if the programing of the EEPROM page was successful, the respective EEPROM page should be read
again and verified if the content matches with the intended content.
In addition, there is a register at address 0x69, which indicates the status after the EEPROM burning.
EEPROM writing verification, address 0x69
1514131211109876543210
RESVER_RESULTRES
FieldBitsTypeDescription
RES15:4
Reserved
VER_RESULT3:2
Indicates result of verification:
00:
No verification error occurred
B
One single bit verification error occurred
01:
B
10:
More than one single bit verification error occurred
B
11:
Al least one multi-bit verification error occurred
B
RES1:0
Reserved
7.3Locking of EEPROM
After programming the EEPROM, the content can be locked. In this case, no second programming is possible.
The following commands show how to lock the EEPROM:
User’s Manual40Rev. 1.0
2019-03-12
Page 41
TLE5014
GMR-Based Angle Sensor
EEPROM Programming
•Power on the sensor, wait at least 10 µs to allow the internal voltages to stabilize
•Write unlock word 0x4711 to 0x77 to enable access to the registers:
–WRITE-CMD to 0x77: 0x0771
–DATA: 0x4711 (unlock)
•Set the KEEP_IF bit to ensure the SICI is not disabled after startup:
–WRITE-CMD to 0x6C: 0x06C1
–DATA: 0x4000 (keep SICI after startup)
•Write 0x03F0 to "EEP_Page register" (Adr. 0x68):
–WRITE-CMD to 0x68: 0x4681
–DATA: 0x03F0
•Write 0x7FFF to "EEP_2 register (Adr. 0x62):
–WRITE-CMD to 0x62: 0x4621
–DATA: 0x7FFF
•Write 0x7FFF to "EEP_3 register (Adr. 0x63):
–WRITE-CMD to 0x63: 0x0631
–DATA: 0x7FFF
•Write 0x03FF to "EEP_Page register (Adr. 0x68):
–WRITE-CMD to 0x68: 0x4681
–DATA: 0x03FF
•Write 0x000C to EEP_7 register (Adr. 0x67):
–WRITE-CMD to 0x67: 0x4671
–DATA: 0x000C
•Send a write command to the ACSTAT register (address 0x01) with data word 0x0001 to trigger a chip reset:
–WRITE-CMD to 0x01: 0x4011
–DATA: 0x0001 (chip reset)
User’s Manual41Rev. 1.0
2019-03-12
Page 42
TLE5014
LUT LSB
16
[]2POSITION LSB
16
[]16readout LSB
12
[]⋅()–⋅=
GMR-Based Angle Sensor
Initial Calibration
8Initial Calibration
This chapter describes which initial calibration has to be performed with the TLE5014.
8.1Zero Angle Calibration
The zero angle (or angle base) is stored in the bits [15:3] of address 0x00A0 of the EEPROM as a 14-bit value (see
Description EEPROM Address 0x00A0 ANG_BASE). The sensor output angle is in reference to this angle base.
In the application, the angle base has to be programmed by the customer.
The following procedure for angle base calibration is recommended (external reference required):
1. Measure the angle value of several reference points (e.g. ≥ 16) over a full rotation. A fixed distance between
the reference points is not necessary
2. Calculate the angle difference between each reference point (ideal position) and the corresponding
measured angle value
3. Calculate the arithmetical mean value of these angle differences to get the overall angle offset error
4. Calculation of ANG_BASE parameter:
•If angle values were read out with SICI:
shift right by 1 bit resp. round angle values to 14 bit
•If angle values were read out with SPC/SENT/PWM:
shift left angle values by 2 bits, i.e. multiply by 4 (i.e. scale to 14bit)
5. Shift left ANG_BASE by 2 bits and OR it with desired ANG_DIR setting
6. Write resulting word into ANG_BASE line in EEPROM (Description EEPROM Address 0x00A0 ANG_BASE)
8.2Look-up Table Calibration
The sensor has a 32 point look-up table (LUT) implemented. With the help of the look-up table it is possible to
do an additional end-of-line calibration and reduce non-linearities resulting from a non perfect magnetic
circuit (e.g. assembly tolerances as tilt and/or eccentricity). For this, an external reference is required and the
sensor output at defined angle positions has to be measured.
The following procedure is recommended for look-up- table calibration:
1. Measure the angle values on the 32 equidistant distributed reference points over 360° (0°, 11.25°, 22.5°,…)
2. Calculate 16bit look-up table value (LUT[LSB
])according to the equation below:.
16
POSITION[LSB
readout[LSB12]: 12bit angle value at reference position
3. If difference is negative or ≥ 2
to cutting of the overflow bits resp. is implicitly done, if the calculation is done in pure 16 bit
4. Write each of the 16-bit LUT values into the corresponding reference point's index in the LUT (Table 10)
5. The 8-bit CRC calculated over the written LUT values has to be written into the address 0x00F0, bits [7:0]
(see Description EEPROM Address 0x00F0 CRC_LUT)
In case the look-up table is used for sensor output linearization, the angle base (angle offset) has to be
corrected first by programming the angle base register 0x00A0. After defining the correction values for the
look-up table, the angle base shall not be changed as this will introduce additional angle error.
User’s Manual42Rev. 1.0
]: 16bit reference angle
16
16
: add/subtract 216 so that the result is within 0 and 216-1. This is equivalent
2019-03-12
Page 43
TLE5014
GMR-Based Angle Sensor
Initial Calibration
In case the look-up table is not used, make sure that the default values are written in the corresponding
addresses. The default value is the ideal angle value at the defined position, e.g. address 0x00B0: 0°, 0x00B2:
11.25°, …
The chip is delivered from Infineon with the default values already written to the look-up table.
An example how to use the look-up table can be found in Chapter 9.3.
8.3Customer ID
The chip provides a storage of 112 bit for customer data. This data can be written to the EEPROM page 0x00F
(see Table 10). The first 32 bits (address 0x00F2 and 0x00F4) are also transmitted during operation via the
short serial message feature of the SENT and SPC protocol in case it is enabled. Please note that the customer
data are not CRC protected.
User’s Manual43Rev. 1.0
2019-03-12
Page 44
TLE5014
−
=
−
∗+∗−=
2
0
1
22
N
i
i
i
N
MSB
bbValue
°−=−
=
=°82.141)12909(*
360
][_
360
][
15
digi tsVALANGAngle
Angle °[]
360°
32768
---------------
readout LSB15][⋅
19859360°⋅
32768
-------------------------------
218.18°===
GMR-Based Angle Sensor
Examples
9Examples
The following chapter provides some practical examples.
9.1Angle Read Out Value
Angle value read-out with SICI, register 0x02
Please refer to Chapter 6.2.4 on how to read registers with SICI.
In the register 0x02, the angle value is stored as a 15-bit value in bit [14:0]. It is described as a signed register,
the angle value is stored as Two’s complement.
A Two’s complement number is generated by the following formula:
(9.1)
Example:
For a register value of (100 1101 1001 0011)
-(100 0000 0000 0000)
The corresponding angle calculates to:
+ (1101 1001 0011)B = -16384 + 3475 = -12909
B
°
2
It is also possible to calculate the angle in an alternative way not using Two’s complement.
With the 15-bit resolution, 1 LSB corresponds to 360°/2
(100 1101 1001 0011)
equals to 19859, thus giving an angle of:
B
, the Two’s complement is calculated as:
B
°
32768
15
= 360°/32768. A register value of
(9.2)
(9.3)
This results is the same angle as 218.18° = -141.82°
Angle value read-out with SENT/SPC
With the SENT/SPC interface, the angle value comes as a 12-bit value (0 … 4095).
1 LSB equals an angle of 360° *1/2
A read-out of “0” corresponds to an angle of 0°, an read-out of “4095” equals an angle of 359.9121°.
The angle is calculated as follows:
User’s Manual44Rev. 1.0
12
= 0.0879°
(9.4)
2019-03-12
Page 45
TLE5014
Angle °[]
360°
4096
------------
readout LSB12][⋅=
Angle °[]
360°
4088
------------
r( eadout LSB′12]1 )–[⋅=
GMR-Based Angle Sensor
Examples
SENT with error code 4091 in data range
In case the sensor is configured to SENT interface with the option of “4091” as error code in the data range, the
calculation has to be modified as in this case not the complete 12 bit are available for sensor output. The angle
values have to be scaled differently to 12 bit in this case. The data range in this case is 1… 4088 LSB. The
notation used for this case is [LSB’12] in contrast to [LSB12], which means the full 12-bit resolution (0… 4095)
In this case, 1 LSB corresponds to 360°/4088 = 0.0881°.
A read-out of “1” corresponds to an angle of 0°, an read-out of “4088” equals an angle of 359.9119°
The angle is calculated as follows:
(9.5)
9.2Angle Base Calculation
The angle base is a 14-bit value which is stored in EEPROM address 0x00A0. This value defines the “zero-angle”
and all output values are in reference to this value. The angle base is stored in bit [15:2], bit [1] is used to define
the rotation direction of the output angle. Bit[0] of this register is not used.
To determine the zero-angle, the application is positioned to the desired angle and the angle value is read.
This can be done either by reading the angle via the 12-bit protocol (SENT / SPC / PWM) or by directly reading
the angle value register 0x02 via SICI and obtaining a 15-bit angle value. To avoid any quantization error, the
direct read of the 15-bit the angle value is the preferred method.
For programming the 16-bit EEPROM register 0x00A4, the 14-bit angle base together with the 1-bit rotation
direction information has to be combined to a 16-bit word which then can be written to EEPROM address
0x00A4. The 14-bit angle base must be in bit [15:2], the rotation information in bit [1], bit [0] is unused and has
to be ”0”. This procedure for construction the 16-bit word is described in the following.
First, the angle value has to be scaled to 14 bit (multiplied by 4 in case the 12-bit value is used) and shifted two
bits to the left (multiplied by 4).
This value has bit [1] set to “0” (counter-clockwise, ccw). In case the rotation direction should be set clockwise
(cw), bit [1] has to be modified and set to “1”. This is performed by adding “2” to the calculated value.
Example:
12-bit angle value is 512 LSB (= 45°) This should be the new angle base.
Table 16 Example for Angle Base Calculation
Value decimalValue HEXDescription
5120x020012-bit angle value from sensor, should be new angle base
20480x0800Angle value is scaled to 14 bit (multiplied by 4)
81920x2000Angle value is shifted two bits to the left (multiplied by 4)
81920x2000Value to be burned to EEPROM address 0x00A4 in case rotation direction
is ccw
User’s Manual45Rev. 1.0
2019-03-12
Page 46
TLE5014
Anglebase LSB
16
[]4round
2
14
4088
------------
r( eadout LSB′12]1 )–[⋅
èø
ç÷
æö
⋅=
GMR-Based Angle Sensor
Examples
Table 16 Example for Angle Base Calculation (cont’d)
Value decimalValue HEXDescription
81940x2002Add 2 for setting bit [1] (rotation direction clockwise)
81940x2002Value to be burned to EEPROM address 0x00A4 in case rotation direction
is cw
In case the sensor is configured to SENT interface with the option of “4091” as error code in the data range, the
calculation has to be modified as in this case not the complete 12 bit are available for sensor output. The angle
values have to be scaled differently to 16 bit in this case. The data range in this case is 1… 4088 LSB. The
notation used for this case is [LSB’12] in contrast to [LSB12], which means the full 12-bit resolution (0… 4095)
In this case, the calculation of the angle base is different:
Determine the angle value according to Equation (9.5) and scale it to 14 bit by multiplying with 2^14/360.
Round this value and shift it by 2 bits (multiply by 4).
Example:
Angle value is 436 LSB. This should be the new angle base.
Table 17 Example for Angle Base Calculation with “4091” Error Code enabled
Value decimalValue HEXDescription
4360x01B4Angle value from sensor, should be new angle base
38.307°--Angle value in [°] according to Equation (9.5)
17430x06CFAngle value is scaled to 14 bit and rounded (multiplied by 2^14/360 and
rounded)
69720x1B3CValue is shifted by two bits to the left (multiplied by 4)
69720x1B3CValue to be burned to 0x00A4 in case rotation direction is ccw
69740x1B3EAdd 2 for setting bit [1] (rotation direction clockwise)
69740x1B3EValue to be burned to 0x00A4 in case rotation direction is cw
So the total formula for constructing the 16-bit word containing angle base and rotation direction (rotation
direction ccw) is in this case:
(9.6)
For changing the rotation direction to clockwise (cw), add 2 to Anglebase[LSB16].
9.3Look-up Table Calculation
The look-up table consists of 32 values, each 16 bit, which are stored in the sensor EEPROM and used for
output linearization. In this way, non-linearities which come for example from external magnetic circuit
assembly tolerances, can be compensated. The 32 values for the look-up table have to be generated with an
external reference encoder which allows to precisely position the sensor to defined angular positions. At this
defined position, the sensor output signal is read and the correction value for the look-up table is calculated.
This value has to be stored at the corresponding address (see Table 10).
User’s Manual46Rev. 1.0
2019-03-12
Page 47
TLE5014
LUT LSB
16
[]2POSITION LSB
16
[]16readout LSB
12
[]⋅()–⋅=
LUT LSB
16
[]2POSITION LSB
16
[]
2
16
4088
------------
readout LSB′
12
[]1–()⋅
èø
ç÷
æö
–⋅=
GMR-Based Angle Sensor
Examples
The formula for calculating the look-up (LUT) correction values is as follows:
With:
(9.7)
•LUT[LSB
•POSITION[LSB
•readout [LSB
In case the calculated value is negative or ≥ 2
0, … 65535.
The reference positions for the calculation of the look-up values are 0°, 11.25°, 22.5°, … , 348.75°.
In Table 18 some examples are given for calculation of the look-up table (LUT) correction values.
Table 18 Examples for Look-up Calculation
Position
[°]
0040.3526465472
004093359.7366548848
11.25204813011.42620802016
22.50409625021.97340004192
348.75634883960348.0476336063616
In case the sensor is configured to SENT interface with the option of “4091” as error code in the data range, the
calculation has to be modified as in this case not the complete 12 bit are available for sensor output. The angle
values have to be scaled differently to 16 bit in this case. The data range in this case is 1… 4088 LSB. The
notation used is [LSB’12] in contrast to [LSB12], which means the full 12-bit resolution (0… 4095).
]: Calculated 16-bit value which has to be stored in the corresponding address of the LUT
16
]: angular position (0°,11.25°, 22.5°, …, 348.75°) as 16-bit value
16
]: Sensor readout at this position as a 12-bit value
12
Position
[LSB16]
Sensor out
[LSB12]
16
(= 65536), add/substract 216 so that the result is in the range of
Sensor out
[°]
Sensor out
[LSB16]
LUT value
[LSB16]
Table 19 Examples for Look-up Calculation in case SENT option “4091” enabled
Position
[°]
0040.2644865488
004088359.9126552016
11.25204813011.36020682028
22.50409625021.92739924200
348.75634883960348.646346863508
User’s Manual47Rev. 1.0
Position
[LSB16]
Sensor out
[LSB’12]
Sensor out
[°]
Sensor out
[LSB16]
(9.8)
LUT value
[LSB16]
2019-03-12
Page 48
TLE5014
T °C[]
2TLSB[]34.54+⋅
1.3815
------------------------------------------------
=
GMR-Based Angle Sensor
Examples
In case the look-up table is used for sensor output linearization, the angle base (angle offset) has to be
corrected first by programming the angle base register 0x00A0. After defining the correction values for the
look-up table, the angle base shall not be changed as this will introduce additional angle error.
9.4Temperature calculation from Short Serial Message
The temperature information which is transmitted with the short serial message is an 8-bit value (0… 255).
It has to be considered as a two-complement ranging from T[LSB] = -128 LSB … +127 LSB.
To obtain the temperature value in °C the following calculation has to be performed:
(9.9)
Table 20 Examples for temperature calculation
Read-out 8-bit value [LSB] T [LSB]
(two-complement)
251-517.76
252-419.21
254-222.11
0025.00
1126.45
127127208.86
128-128-160.30
255-123.55
temperature [°C]
9.5Reading registers with SICI
The following example in Table 21 shows the commands which have to be executed to read the angle value
at register 0x02.
Table 21 Reading of angle value (AVAL register, 0x02)
TypeCommandDataComment
write0x06C10x4000Write command to address 0x6C
sensor will stay with SICI interface after power-on time
and not switch to preconfigured interface
SENT/SPC/PWM;
this first command has to be sent within the start-up
time of the sensor.
wait until power-on of sensor is finished
read0x8021AVALReads angle value from register 0x02.
This value is updated with t
User’s Manual48Rev. 1.0
, which is approx. 25 µs
update
2019-03-12
Page 49
TLE5014
GMR-Based Angle Sensor
Examples
Table 21 Reading of angle value (AVAL register, 0x02) (cont’d)
TypeCommandDataComment
sensor stays in this mode with SICI interface enabled. To return to normal interface, sensor reset is necessary
(can be done by power-down or sending the reset command 0x0001 to address 0x01:
write0x40110x0001Reset command, sensor restarts with default interface
9.6Reading EEPROM with SICI
The following example in Table 22 shows the commands which have to be executed to read the EEPROM page
0x006. In this example, it is assumed, that the sensor is connected in a bus mode configuration and has the
ID = 1. First the EEPROM page 0x006 is mapped to registers 0x60 to 0x67. Then these registers are read.
Further details for bus mode programming can be found in Chapter 6.3.
Table 22 Reading of EEPROM page 0x006)
TypeCommandDataComment
write0x07710x4711Write command to address 0x77
unlocks registers
write0x06C10x4000Write command to address 0x6C with DATA 0x4000
sensor will stay with SICI interface after power-on time
and not switch to preconfigured interface
SENT/SPC/PWM;
The first two commands have to be sent within the startup time of the sensor.
wait until power-on of sensor is finished
write0x47A10x05A9Write ID-WORD for ID=1 to address 0x7A;
only sensor with ID=1 is addressed; only necessary in
case of programming in a bus mode configuration
write 0x06C10xC000Write command to address 0x6C with DATA 0xC000
internal DSP is stopped
write0x46810x0006Maps EEPROM page 0x006 to registers 0x60 … 0x67
(WRITE command to address 0x68)
read0xC601DATAReads DATA from register 0x60,
corresponds to content of EEPROM address 0x0060
read0x8611DATAReads DATA from register 0x61,
corresponds to content of EEPROM address 0x0062
read0x8621DATAReads DATA from register 0x62,
corresponds to content of EEPROM address 0x0064
read0xC631DATAReads DATA from register 0x63,
corresponds to content of EEPROM address 0x0066
read0x8641DATAReads DATA from register 0x64,
corresponds to content of EEPROM address 0x0068
read0xC651DATAReads DATA from register 0x65,
corresponds to content of EEPROM address 0x006A
read0xC661DATAReads DATA from register 0x66,
corresponds to content of EEPROM address 0x006C
User’s Manual49Rev. 1.0
2019-03-12
Page 50
TLE5014
GMR-Based Angle Sensor
Examples
Table 22 Reading of EEPROM page 0x006) (cont’d)
TypeCommandDataComment
read0x8671DATAReady DATA from register 0x67, corresponds to content
of EEPROM address 0x006E
Sensor stays in this mode with SICI interface enabled. To return to normal interface, sensor reset is necessary
(can be done by power-down or sending the reset command 0x0001 to address 0x01:
write0x40110x0001Reset command, sensor restarts with default interface
9.7Writing EEPROM with SICI
The following example in Table 23 shows the commands which have to be executed to write the EEPROM page
0x006. In this example, it is assumed, that the sensor is connected in a bus mode configuration and has the
ID = 1. First the EEPROM page 0x006 is mapped to registers 0x60 to 0x67. Then these registers are read. After
that the content of the registers 0x60 and 0x67 can be changed. Care has to be taken that reserved bits and
bits which shall not be changed are written back without modification. Following that the EEPROM is burned.
Further details for bus mode programming can be found in Chapter 6.3.
Table 23 Writing of EEPROM page 0x006)
TypeCommandDataComment
write0x07710x4711Write command to address 0x77
unlocks registers
write0x06C10x4000Write command to address 0x6C with DATA 0x4000
sensor will stay with SICI interface after power-on time
and not switch to preconfigured interface
SENT/SPC/PWM;
The first two commands have to be sent within the startup time of the sensor.
wait until power-on of sensor is finished
write0x47A10x05A9Write ID-WORD for ID=1 to address 0x7A;
only sensor with ID=1 is addressed; only necessary in
case of programming in a bus mode configuration
write 0x06C10xC000Write command to address 0x6C with DATA 0xC000
internal DSP is stopped
write0x46810x0006Maps EEPROM page 0x006 to registers 0x60 … 0x67
(WRITE command to address 0x68)
read0xC601DATAReads DATA from register 0x60,
corresponds to content of EEPROM address 0x0060
.........
read0x8671DATAReady DATA from register 0x67, corresponds to content
of EEPROM address 0x006E
write0x0601newDATAWrites newDATA to register 0x60,
corresponds to intended new content of EEPROM
address 0x0060
write.........
User’s Manual50Rev. 1.0
2019-03-12
Page 51
TLE5014
GMR-Based Angle Sensor
Examples
Table 23 Writing of EEPROM page 0x006) (cont’d)
TypeCommandDataComment
write0x4671newDATAWrites newDATA to register 0x67,
corresponds to intended new content of EEPROM
address 0x006E
write0x46810x03FFPrepare EEPROM programing
write0x46710x0009Program EEPROM with automatic verification
Sensor stays in this mode with SICI interface enabled. To return to normal interface, sensor reset is necessary
(can be done by power-down or sending the reset command 0x0001 to address 0x01:
write0x40110x0001Reset command, sensor restarts with default interface
User’s Manual51Rev. 1.0
2019-03-12
Page 52
TLE5014
GMR-Based Angle Sensor
Revision History
10Revision History
Revision DateChanges
1.02019-03-12 Initial release
User’s Manual52Rev. 1.0
2019-03-12
Page 53
Trademarks of Infineon Technologies AG
All referenced product or service names and trademarks are the property of their respective owners.
Do you have a question about any
aspect of this document?
Email: erratum@infineon.com
Document reference
The information contained in this application note is
given as a hint for the implementation of the product
only and shall in no event be regarded as a description
or warranty of a certain functionality, condition or
quality of the product. Before implementation of the
product, the recipient of this application note must
verify any function and other technical information
given herein in the real application. Infineon
Technologies hereby disclaims any and all warranties
and liabilities of any kind (including without limitation
warranties of non-infringement of intellectual
property rights of any third party) with respect to any
and all information given in this application note.
The data contained in this document is exclusively
intended for technically trained staff. It is the
responsibility of customer’s technical departments to
evaluate the suitability of the product for the intended
application and the completeness of the product
information given in this document with respect to
such application.
For further information on technology, delivery terms
and conditions and prices, please contact the nearest
Infineon Technologies Office (www.infineon.com).
WARNINGS
Due to technical requirements products may contain
dangerous substances. For information on the types
in question please contact your nearest Infineon
Technologies office.
Except as otherwise explicitly approved by Infineon
Technologies in a written document signed by
authorized representatives of Infineon Technologies,
Infineon Technologies’ products may not be used in
any applications where a failure of the product or any
consequences of the use thereof can reasonably be
expected to result in personal injury.
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.