Datasheet

TMC4361A Datasheet | Document Revision 1.22 2017-JAN-12
117/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
Connecting a SPI-DAC
Connecting a compatible SPI-DAC to SPI output pins, several possibilities
are available for output configuration:
Output of the internal SPI current values.
Output of the internal current scaling value.
Several SPI protocols are available.
SPI-DACs can convert more than one digital value, but every value is transmitted in
one datagram. Because TMC4361A provides two current values, a datagram transfer
from TMC4361A to a connected SPI-DAC is split into two datagrams, one for each
current value:
CURRENTA_SPI
and
CURRENTB_SPI
.
The transmission is initiated as soon as one of both values is changed internally. The
data transfer of the second current value
CURRENTB_SPI
is executed automatically
whenever the transmission of
CURRENTA_SPI
is completed.
If only the scaling factor
SCALE_PARAM
needs to be transferred, only one datagram
is sent out.
Per default, the SPI protocol follows the TMC style: To initiate a data transfer, the
negated chip select signal NSCSDRV_SDO switches from high to low level. After a
while, the serial clock SCKDRV_NSDO switches from high to low level. When the
transmission is finished, the serial clock switches to high level. Afterwards, the negated
chip select signal switches to high level to finish the data transfer.
Adaptations to suit other SPI protocols are also available:
In order to set serial clock to low level - before the negated chip select
switches to low level - do as follows:
Action:
Set
sck_low_before_csn
= 1 (bit4 of
SPIOUT_CONF
register 0x04).
Result:
SCKDRV_NSDO is tied low before NSCSDRV_SDO switches to low level to initiate data
transfer.
Per default, TMC drivers sample master data with the rising edge of the serial master
clock. Thus, TMC4361A shifts output data at SDODRV_SCLK with the falling edge of
SCKDRV_NSDO.
If the data must be sampled with the falling edge of the master clock at the
driver’s side, do as follows:
Action:
Set
new_out_bit_at_rise
= 1 (bit5 of
SPIOUT_CONF
register 0x04).
Result:
The output data at SDODRV_SCLK is changed with the rising edge of SCKDRV_NSDO.
DAC Output
Values
DAC Data
Transfer
Changing SPI
Output Protocol
for SPI-DAC