Datasheet

TMC429 DATASHEET (v. 1.07 / 2012-AUG-01) 10
Copyright © 2010-2012, TRINAMIC Motion Control GmbH & Co. KG
6 Functional Description and Block Diagram
From the software point of view, the TMC429 provides a set of registers of different units and on-chip
RAM (see Figure 6-1), accessed via the serial µC interface in an uniform way. The serial interface uses
just a simple protocol with fixed length datagram for read access and write access. The serial interface
to the stepper motor driver chain has to be configured by an initialization sequence which writes the
configuration into the on-chip RAM. Once configured the serial driver interface works autonomously.
The internal multiple port RAM controller of the TMC429 takes care of access scheduling. So, the user
may read and write registers and on-chip RAM at any time. The registers hold global configuration
parameters and the motion parameters. The on-chip RAM stores the configuration of the serial driver
interface and the micro step table. During power-on reset, the TMC429 initializes a default
configuration within the on-chip RAM for a SPI driver chain for TMC236/TMC239/TMC246/TMC249
stepper motor drivers.
The ramp generator monitors the motion parameters stored in its registers and calculates velocity
profiles controlling the pulse generator. The pulse generator then generates step pulses taking into
account user defined motion parameter limits. The serial driver interface sends datagrams to the
stepper motor driver chain whenever a step pulse comes. The micro step unit (including sequencer)
processes step pulses from the pulse generator representing micro steps, half steps, or full steps
depending on the selected step resolution and makes the results available to the serial driver
interface. The ramp generator also interfaces the reference switch inputs. Unused reference switches
have to be connected to ground. A pull-down resistor is necessary at the SDI_S input of the TMC429
for those serial peripheral interface stepper motor drivers that set their serial data output to high

The interrupt controller continuously watches reference switches and ramp generator conditions and
generates an interrupt if required. To save pins, the interrupt signal is multiplexed to the SDO_C signal.
This output becomes the low active interrupt signal called nINT while nSCS_C is high (see Figure 7-1,
page 12). So, if the microcontroller disables the interrupt during access to the TMC429 and enables
the interrupt otherwise, the multiplexed interrupt output of the TMC429 behaves like a dedicated
interrupt output. For polling, the TMC429 sends the status of the interrupt signal to the microcontroller
with each datagram.
To drive a stepper motor to a new target position, one just has to write the target position into the
associated register by sending a datagram to the TMC429. To run a stepper motor with a target
velocity, one just has to write the velocity into the register assigned to the stepper motor.
nSCS_C
SCK_C
SDI_C
SDO_C
serial µC interface
CLK
TEST
multiple
ported RAM
interrupt
controller
serial driver interface
nSCS_S
SCK_S
SDO_S
SDI_S
[nSCS3]
[nSCS2]
10K
micro step unit
( including
sequencer )
ramp generator
&
pulse generator
REF1
REF2
REF3
voltage
regulator
V5
GND
V33
470nF
power-on
reset
Figure 6-1: TMC428 functional block diagram