Datasheet
TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 6
Copyright © 2010-2012, TRINAMIC Motion Control GmbH & Co. KG
velocity during deceleration is done with a soft, exponentially shaped velocity profile. In
VELOCITY_MODE, a target velocity is set by the user and the TMC429 takes into account user
defined limits of velocity and acceleration. In HOLD_MODE, the user sets target velocities, but the
TMC429 ignores any limits of velocity and acceleration, to realize arbitrary velocity profiles, controlled
completely by the user. The TMC429 has capabilities to generate interrupts depending on different
stepper motor conditions chosen by an interrupt mask. However, status bits sent back automatically to
the microcontroller each time it sends data to the TMC429 are sufficient for polling techniques.
The TMC429 provides different modes for reference switch handling. In the default reference switch
mode, the three reference switch inputs (REF1, REF2, and REF3) are defined as left side reference
switches, one for each stepper motor. In another mode, the 1
st
reference input (REF1) is defined as left
reference switch input of motor number one, the 2
nd
reference input (REF2) is defined as left reference
switch input of motor number two, and the 3
rd
reference input (REF3) is defined as right reference
switch of stepper motor number one. In that mode, there is no reference switch input available for
stepper motor three. With an external multiplexer 74HC157 any stepper motor may have a left and a
right reference switch.
Many serial stepper motor drivers provide different status bits (driver active, inactive, ...) and error bits
(short to ground, wire open, ...). To have access to those error bits, datagramms with a total length up
to 48 bits sent back from the stepper motor driver chain to the TMC429 are buffered within two 24 bit
wide registers. The microcontroller has direct access to these registers. Although, the TMC429
provides datagramms with up to 64 bits, only the last 48 bits sent back from the driver chain are
buffered for read out by the microcontroller. This is because buffering of 3 times 16 bits is sufficient for
a chain of three stepper motor drivers (see Figure 3-3, page 5) and most other drivers sending back up
to 16 bits. For a chain of three TMC236 / TMC239 / TMC246 / TMC249 all status bits are accessible.
From the software point of view, the TMC429 provides a set of registers, accessed by a microcontroller
(µC) via a serial interface in an uniform way. Each datagram contains address bits, a read-write
selection bit, and data bits, to access the registers and the on-chip memory. Each time, the µC sends
a datagram to the TMC429, it simultaneously receives a datagram from the TMC429. This simplifies
the communication with the TMC429 and makes the programming easy. Most microcontrollers have
an SPI
TM
hardware interface, which directly connects to the serial four wire microcontroller interface of
the TMC429. For microcontrollers without SPI
TM
hardware, a software doing the serial communication
is completely sufficient and can easily be implemented.
3.3 Notation of Number Systems & Notation of Two to the Power of n
Decimal numbers are used as usual without additional identification. Binary numbers are identified by a
prefixed % character. Hexadecimal numbers are identified by a prefixed $ character. So, for example
the decimal number 42 in the decimal system is written as %101010 in the binary number system, and
it is written as $2A in the hexadecimal number system. With this, TMC429 datagramms are written as
32 bit numbers (e.g. $1234ABCD = %00010010001101001010101111001101). In addition to the basic
arithmetic operators (+, -, *, /) the operator two to the power of n is required at different sections of this
data sheet. For better readability instead of 2
n
the notation 2^n is used.
3.4 Signal Polarities
Per default, signals external and internal are high active, but the polarity of some signals is
programmable to be inverted. A pre-
nSCS_S). For example the polarity of nSCS_S can be inverted by programming, but also the polarity of
datagram bits can be inverted by programming (see section 10, page 31).
3.5 Units of Motion Parameters
Motion parameters position, velocity, and acceleration are given as integer values within TMC429
specific units. Section 9.14 page 29 explains how to calculate steps, steps per second, steps per
second square from given TMC429 integer values. With a given stepper motor resolution one can
calculate physical units for angle, angular velocity, angular acceleration.