Datasheet
TMC4361A Datasheet | Document Revision 1.22 • 2017-JAN-12
151/230
© 2015 TRINAMIC Motion Control GmbH & Co. KG, Hamburg, Germany — Terms of delivery and rights
to technical change reserved. Download newest version at: www.trinamic.com .
Read entire documentation; especially the “Supplemental Directives” on page 224.
MAIN MANUAL
Encoder Data must be maintained correctly. Consequently, certain settings must be
configured so that TMC4361A displays them as specified.
In order to configure absolute encoder data, do as follows:
Action:
Set
SINGLE_TURN_RES
(
ENC_IN_DATA
register 0x08) to the number of
singleturn data bits -1.
OPTION A1: IF MULTITURN DATA IS TRANSMITTED
Set
MULTI_TURN_RES
(
ENC_IN_DATA
register 0x08) to the number of
multiturn data bits -1.
OR OPTION A2: IF MULTITURN DATA IS NOT TRANSMITTED
Set
MULTI_TURN_RES
= 0 (
ENC_IN_DATA
register 0x08).
Set
STATUS_BIT_CNT
(also register 0x08) to the number of status bits.
OPTION B1: IF STATUS FLAGS ARE ORDERED IN FRONT
Set
left_aligned_data
= 0 (
ENC_IN_CONF
register 0x07).
OR OPTION B2: IF STATUS FLAGS ARE ORDERED IN FRONT
Set
left_aligned_data
= 1 (
ENC_IN_CONF
register 0x07).
Result:
SINGLE_TURN_RES
defines the most significant bit (MSB) of the angle data bits,
whereas
MULTI_TURN_RES
defines the MSB of the revolution counter bits. Up to three
status bits can be received. The number of transferred clock bits that are sent to the
encoder is calculated as follows:
#SCLK Cycles= (
SINGLE_TURN_RES
+1) + (
MULTI_TURN_RES
+1) +
STATUS_BIT_CNT
Also, the order in which the status bits occur in one encoder data stream can be
configured. In Figure 63, example setups are depicted.
NOTE:
In case more than three status bits or additional fill bits are sent from the encoder,
clock errors can occur because the number of transferred clock bits does not fit.
In order to prevent clock failures, MULTI_TURN_RES can be set to a higher value
than otherwise required; even if the encoder does not provide multiturn data. This
can result in erroneous multiturn data, which can be corrected by setting
multi_turn_in_en=0 in order to skip multiturn data automatically.
In order to compensate unavailable multiturn data make use of
calc_multi_turn_behav, as explained in section 15.4.1 on page 149.
Figure 63:Serial Data Output: Four Examples
Key:
a) SINGLE_TURN_RES=6; MULTI_TURN_RES=4; STATUS_BIT_CNT=0; left_aligned_data=0
b) SINGLE_TURN_RES=6; MULTI_TURN_RES=0; STATUS_BIT_CNT=2; left_aligned_data=0
c) SINGLE_TURN_RES=5; MULTI_TURN_RES=4; STATUS_BIT_CNT=1; left_aligned_data=0
d) SINGLE_TURN_RES=4; MULTI_TURN_RES=2; STATUS_BIT_CNT=3; left_aligned_data=1
Serial data
out
MSB
M
LSB
M
MSB
S
LSB
S
Serial data
out
SB
1
SB
0
MSB
S
LSB
S
a) A1+B1:
Serial data
out
SB
0
MSB
M
LSB
M
MSB
S
LSB
S
Serial data
out
MSB
M
LSB
M
MSB
S
LSB
S
SB
2
SB
1
SB
0
b) A2+B1:
c) A1+B1:
d) A1+B2:
Absolute
Encoder Data
Setup