Datasheet

TMC4361A Datasheet | Document Revision 1.22 2017-JAN-12
97/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
Basically, SPI output communication serves as automatic current datagram transfer
to the connected motor driver. TMC4361A uses the internal microstep lookup table
(MSLUT) in order to provide actual current motor driver data.
With every step that is initialized by the ramp generator the
MSCNT
value is
increased or decreased, dependent on ramp direction.
The
MSCNT
register 0x79 (readable value) contains the current microstep
position of the sine value.
Accordingly, the current values
CURRENTA
(0x7A) and
CURRENTB
(0x7B) are
altered.
In case the output configuration of TMC4361A allows for automatic current
transfer an updated current value leads to a new datagram transfer.
Thereby, the motor driver always receives the latest data. The length for current
datagrams can be set automatically and TMC4361A converts new values into the
selected datagram format, usually divided in amplitude and polarity bit for TMC
motor drivers.
By altering the microstep resolution from 256 (
MSTEP_PER_FS
= b’0000) to a lower
value, an internal step results in more than one MSLUT step.
For instance, if the microstep resolution is set to 64 (
MSTEP_PER_FS
= b‘0010),
MSCNT
is either increased or decreased by 4 per each internal step. Accordingly, the
passage through the MSLUT skips three current values per each internal step to match
the new microstep resolution.
In addition to automatic current datagram transfer, the microcontroller can
communicate directly with the motor driver through TMC4361A by using cover
datagrams. This communication channel can be useful for configuration purposes
because no additional SPI communication channel between microcontroller and motor
driver is necessary.
Up to 64 bits can be assigned for one cover datagram. This 64-bit SPI cover register
is separated into two 32-bit registers -
COVER_HIGH
register 0x6D and
COVER_LOW
register 0x6C. The
COVER_HIGH
register is only required if more than 32 bits must
be sent once.
How many bits are sent within one cover datagram is defined by the cover datagram
length
COVER_DATA_LENGTH
.
In order to define the cover datagram length, do as follows:
Action:
Set the number of cover datagram bits at
COVER_DATA_LENGTH
=
SPIOUT_CONF
(19:13).
Result:
The cover datagram length is set to
COVER_DATA_LENGTH
bits. If this parameter is
set higher than 64, the cover register data length is still maximum 64 bits.
i For TMC motor drivers it is possible to set
COVER_DATA_LENGTH
= 0. In this
case, the cover data length is selected automatically, dependent on the chosen
motor driver. More details are provided on the subsequent pages.
Current
Diagrams
Process
Description
Change of
Microstep
Resolution
Cover Datagrams
Communication
between µC and
Driver
How to Define
Cover Datagram
Length