Datasheet

TMC4361A Datasheet | Document Revision 1.22 2017-JAN-12
89/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 Directiveson page 224.
MAIN MANUAL
Sine Wave Lookup Tables
TMC4361A provides a programmable lookup table (LUT) for storing the current wave.
Reprogramming the table from its predefined values to a motor-specific wave allows improved
motor-reliant microstepping, particularly when using low-cost motors.
TMC4361A-LA provides a default configuration of the internal microstep
table MSLUT. In case internal MSLUT is used, proceed with section 10.3.
(page 95) in order to setup a well-defined serial data connection to the
stepper motor driver. The following explanations that are provided in this
section only address engineers who use their own microstep table
definition.
The internal microstep wave table maps the microstep wave from to 90° for
256 microsteps. It becomes automatically and symmetrically extended to 360° that
consequently comprises 1024 microsteps. As a result, the microstep counter
MSCNT
ranges from 0 to 1023. Only a quarter of the wave is stored because this minimizes
required memory and the amount of programmable data.
Therefore, only 256 bits (
ofs
00 to
ofs
255) are required to store the quarter wave.
These bits are mapped to eight 32-bit registers
MSLUT
[0] (register 0x70) to
MSLUT
[7] (register 0x77).
When reading out the table the 10-bit microstep counter
MSCNT
addresses the fully
extended wave table.
The MSLUT is an incremental table. This means that a certain order and succession is
predefined at every next step based on the value before, using up to four flexible
programmable segments within the quarter wave. The microstep limits of the four
segments are controlled by the position registers X1, X2, and X3.
Within these segments the next value of the MSLUT is calculated by adding the base
wave inclination Wx-1 (if
ofs
=0) or its successor Wx (if
ofs
=1). Because four segments
are programmable, four base wave inclinations are available as basic increment value:
0, 1, 2, or 3. Thereby, even a negative wave inclination can be realized. This is shown
in the next Figure where the values in last quarter segments are decreased or remain
constant with every step towards
MSCNT
= 255.
Figure 51: LUT Programming Example
SETTINGS
ALERT
!
Programming
Sine Wave
Lookup Tables
Sine Wave Table
Structure
MSCNT
y
256
256
248
-248
512 768 00 X1 X3X2
W0: +2/+3
W1: +1/+2
W2: +0/+1
W3: -1/+0
LUT stores
entries 0 to 255
255
START_SIN
START_SIN90_120