TLE5012B
SSC Registers
User’s Manual
71
Rev. 1.2, 2018-02
6.1.4
Zero position configuration
Each device has a factory-calibrated angle base to make the 0° direction parallel to the edge of the chip.
For some applications it may be necessary to specifically set the 0° angle position after sensor and magnet are
assembled. In particular if interfaces are used which do not output the absolute angle, incremental interface or
Hall-Switch-Mode, a mechanical reference position is to be defined in an end-of-line calibration.
Therefore, the following steps should be performed:
1. Move the mechanical assembly to the desired 0°-position.
2. Read the content of the ANG_BASE in the MOD_3 register (address 09
H
).
3. Read the content of the AVAL register (address 02
H
) and remove the three LSBs to obtain a 12 bit angle value
(rounded to minimize truncation error. To round, add 0x0008 to the read angle value prior to cut off the 3 LSBs).
4. Subtract (when ANG_DIR = 0) or add (when ANG_DIR = 1) the 12 bit angle value obtained in step 3 from the
value of the ANG_BASE register and store the result in the non-volatile memory of the microcontroller.
5. On every start-up of the TLE5012B, write the stored value into the ANG_BASE register. The ANG_BASE
register should be written before Autocalibration is enabled (so either disable Autocalibration to write this
register, or write this register within the first 120µs after a hardware reset).
Figure 6-9 Flow-Chart of ANG_BASE calibration procedure
Turn
mechanical
assembly
to
desired
0°
‐
position
read
AVAL
register
remove
3
LSBs
from
AVAL
value
Example:
1FFE
H
(=
90°)
3FF
H
read
ANG_BASE
register
072
H
(=
10°)
bitwise
subtract
12bit
AVAL
from
ANG_BASE
072
H
–
3FF
H
=
C73
H
write
calculated
value
into
ANG_BASE
register
Turn
mechanical
assembly
to
desired
0°
‐
position
read
AVAL
register
remove
3
LSBs
from
AVAL
value
ANG_DIR
=
1
1FFE
H
(=
90°)
3FF
H
read
ANG_BASE
register
072
H
(=
10°)
bitwise
add
12bit
AVAL
from
ANG_BASE
072
H
+
3FF
H
=
471
H
write
calculated
value
into
ANG_BASE
register
ANG_DIR
=
0