EVAL6470H [STMICROELECTRONICS]

dSPIN fully integrated microstepping motor driver with motion engine and SPI; dSPIN完全集成的微电机驱动与运动引擎和SPI
EVAL6470H
型号: EVAL6470H
厂家: ST    ST
描述:

dSPIN fully integrated microstepping motor driver with motion engine and SPI
dSPIN完全集成的微电机驱动与运动引擎和SPI

电机 驱动
文件: 总70页 (文件大小:743K)
中文:  中文翻译
下载:  下载PDF数据表文档文件
L6470  
dSPIN™ fully integrated microstepping motor driver with motion  
engine and SPI  
Datasheet production data  
Features  
Operating voltage: 8 - 45 V  
7.0 A out peak current (3.0 A r.m.s.)  
Low RDS(on) Power MOSFETs  
Programmable speed profile and positioning  
Programmable power MOS slew rate  
Up to 1/128 microstepping  
POWERSO36  
HTSSOP28  
Sensorless stall detection  
power switches equipped with an accurate on-  
chip current sensing circuitry suitable for non-  
dissipative current control and overcurrent  
protection. Thanks to a unique control system, a  
true 1/128 steps resolution is achieved. The  
digital control core can generate user defined  
motion profiles with acceleration, deceleration,  
speed or target position, easily programmed  
through a dedicated registers set. All commands  
and data registers, including those used to set  
analogue values (i.e. current control value,  
current protection trip point, deadtime, PWM  
frequency, etc.) are sent through a standard 5-  
Mbit/s SPI. A very rich set of protections (thermal,  
low bus voltage, overcurrent, motor stall) allows  
the design of a fully protected application, as  
required by the most demanding motor control  
applications.  
SPI interface  
Low quiescent and standby currents  
Programmable non-dissipative overcurrent  
protection on high and low-side  
Two-levels of overtemperature protection  
Applications  
Bipolar stepper motors  
Description  
The L6470, realized in analog mixed signal  
technology, is an advanced fully integrated  
solution suitable for driving two-phase bipolar  
stepper motors with microstepping. It integrates a  
dual low RDS(on) DMOS full-bridge with all of the  
Table 1.  
Device summary  
Order codes  
Package  
Packaging  
L6470H  
L6470HTR  
L6470PD  
HTSSOP28  
HTSSOP28  
Tube  
Tape and reel  
Tube  
POWERSO36  
POWERSO36  
L6470PDTR  
Tape and reel  
December 2012  
Doc ID16737 Rev 5  
1/70  
This is information on a product in full production.  
www.st.com  
70  
 
Contents  
L6470  
Contents  
1
2
Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8  
Electrical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9  
2.1  
2.2  
2.3  
Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9  
Recommended operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10  
Thermal data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10  
3
4
Electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11  
Pin connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16  
4.1  
Pin list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17  
5
6
Typical applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19  
Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21  
6.1  
6.2  
6.3  
6.4  
Device power-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21  
Logic I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21  
Charge pump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21  
Microstepping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22  
6.4.1  
Automatic full-step mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23  
6.5  
6.6  
Absolute position counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23  
Programmable speed profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23  
6.6.1  
Infinite acceleration/deceleration mode . . . . . . . . . . . . . . . . . . . . . . . . . 24  
6.7  
Motor control commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24  
6.7.1  
6.7.2  
6.7.3  
6.7.4  
6.7.5  
6.7.6  
Constant speed commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24  
Positioning commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25  
Motion commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25  
Stop commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26  
Step-clock mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26  
GoUntil and ReleaseSW commands . . . . . . . . . . . . . . . . . . . . . . . . . . . 26  
6.8  
Internal oscillator and oscillator driver . . . . . . . . . . . . . . . . . . . . . . . . . . . 27  
6.8.1  
6.8.2  
Internal oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27  
External clock source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27  
2/70  
Doc ID16737 Rev 5  
L6470  
Contents  
6.9  
Overcurrent detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  
6.10 Undervoltage lockout (UVLO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29  
6.11 Thermal warning and thermal shutdown . . . . . . . . . . . . . . . . . . . . . . . . . 29  
6.12 Reset and standby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  
6.13 External switch (SW pin) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30  
6.14 Programmable DMOS slew rate, deadtime and blanking time . . . . . . . . . 31  
6.15 Integrated analog-to-digital converter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  
6.16 Internal voltage regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  
6.17 BUSY\SYNC pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  
6.17.1 BUSY operation mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  
6.17.2 SYNC operation mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  
6.18 FLAG pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33  
7
Phase current control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  
7.1  
7.2  
7.3  
7.4  
7.5  
7.6  
PWM sinewave generators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34  
Sensorless stall detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  
Low speed optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  
BEMF compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36  
Motor supply voltage compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36  
Winding resistance thermal drift compensation . . . . . . . . . . . . . . . . . . . . 37  
8
9
Serial interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38  
Programming manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40  
9.1  
Registers and flags description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40  
9.1.1  
9.1.2  
9.1.3  
9.1.4  
9.1.5  
9.1.6  
9.1.7  
9.1.8  
9.1.9  
ABS_POS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41  
EL_POS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41  
MARK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42  
SPEED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42  
ACC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42  
DEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42  
MAX_SPEED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43  
MIN_SPEED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43  
FS_SPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43  
9.1.10 KVAL_HOLD, KVAL_RUN, KVAL_ACC and KVAL_DEC . . . . . . . . . . . . 44  
Doc ID16737 Rev 5  
3/70  
Contents  
L6470  
9.1.11 INT_SPEED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44  
9.1.12 ST_SLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45  
9.1.13 FN_SLP_ACC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45  
9.1.14 FN_SLP_DEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45  
9.1.15 K_THERM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45  
9.1.16 ADC_OUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46  
9.1.17 OCD_TH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46  
9.1.18 STALL_TH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46  
9.1.19 STEP_MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47  
9.1.20 ALARM_EN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48  
9.1.21 CONFIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49  
9.1.22 STATUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54  
9.2  
Application commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55  
9.2.1  
9.2.2  
9.2.3  
9.2.4  
9.2.5  
9.2.6  
9.2.7  
9.2.8  
9.2.9  
Command management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56  
Nop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57  
SetParam (PARAM, VALUE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57  
GetParam (PARAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58  
Run (DIR, SPD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58  
StepClock (DIR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59  
Move (DIR, N_STEP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59  
GoTo (ABS_POS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60  
GoTo_DIR (DIR, ABS_POS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60  
9.2.10 GoUntil (ACT, DIR, SPD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61  
9.2.11 ReleaseSW (ACT, DIR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61  
9.2.12 GoHome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62  
9.2.13 GoMark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62  
9.2.14 ResetPos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62  
9.2.15 ResetDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63  
9.2.16 SoftStop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63  
9.2.17 HardStop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63  
9.2.18 SoftHiZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63  
9.2.19 HardHiZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64  
9.2.20 GetStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64  
10  
11  
Package mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65  
Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69  
4/70  
Doc ID16737 Rev 5  
L6470  
List of tables  
List of tables  
Table 1.  
Table 2.  
Table 3.  
Table 4.  
Table 5.  
Table 6.  
Table 7.  
Table 8.  
Device summary. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1  
Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9  
Recommended operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10  
Thermal data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10  
Electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11  
Pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17  
Typical application values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19  
CL values according to external oscillator frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  
Register map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40  
EL_POS register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41  
MIN_SPEED register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43  
Voltage amplitude regulation registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44  
Winding resistance thermal drift compensation coefficient. . . . . . . . . . . . . . . . . . . . . . . . . 45  
ADC_OUT value and motor supply voltage compensation feature . . . . . . . . . . . . . . . . . . 46  
Overcurrent detection threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46  
Stall detection threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47  
STEP_MODE register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47  
Step mode selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47  
SYNC output frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48  
SYNC signal source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48  
ALARM_EN register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49  
CONFIG register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49  
Oscillator management. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49  
External switch hard stop interrupt mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50  
Overcurrent event. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50  
Programmable power bridge output slew rate values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51  
Motor supply voltage compensation enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51  
PWM frequency: integer division factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51  
PWM frequency: multiplication factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52  
Available PWM frequencies [kHz]: 8-MHz oscillator frequency . . . . . . . . . . . . . . . . . . . . . 52  
Available PWM frequencies [kHz]: 16-MHz oscillator frequency . . . . . . . . . . . . . . . . . . . . 52  
Available PWM frequencies [kHz]: 24-MHz oscillator frequency . . . . . . . . . . . . . . . . . . . . 53  
Available PWM frequencies [kHz]: 32-MHz oscillator frequency . . . . . . . . . . . . . . . . . . . . 53  
STATUS register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54  
STATUS register DIR bit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54  
STATUS register MOT_STATE bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55  
Application commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55  
Nop command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57  
SetParam command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57  
GetParam command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58  
Run command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58  
Stepclock command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59  
Move command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59  
GoTo command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60  
GoTo_DIR command structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60  
GoUntil command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61  
ReleaseSW command structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61  
GoHome command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62  
Table 9.  
Table 10.  
Table 11.  
Table 12.  
Table 13.  
Table 14.  
Table 15.  
Table 16.  
Table 17.  
Table 18.  
Table 19.  
Table 20.  
Table 21.  
Table 22.  
Table 23.  
Table 24.  
Table 25.  
Table 26.  
Table 27.  
Table 28.  
Table 29.  
Table 30.  
Table 31.  
Table 32.  
Table 33.  
Table 34.  
Table 35.  
Table 36.  
Table 37.  
Table 38.  
Table 39.  
Table 40.  
Table 41.  
Table 42.  
Table 43.  
Table 44.  
Table 45.  
Table 46.  
Table 47.  
Table 48.  
Doc ID16737 Rev 5  
5/70  
List of tables  
L6470  
Table 49.  
Table 50.  
Table 51.  
Table 52.  
Table 53.  
Table 54.  
Table 55.  
Table 56.  
Table 57.  
Table 58.  
Table 59.  
GoMark command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62  
ResetPos command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62  
ResetDevice command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63  
SoftStop command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63  
HardStop command structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63  
SoftHiZ command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63  
HardHiZ command structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64  
GetStatus command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64  
HTSSOP28 mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65  
POWERSO36 mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67  
Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69  
6/70  
Doc ID16737 Rev 5  
L6470  
List of figures  
List of figures  
Figure 1.  
Figure 2.  
Figure 3.  
Figure 4.  
Figure 5.  
Figure 6.  
Figure 7.  
Figure 8.  
Figure 9.  
Block diagram. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8  
HTSSOP28 pin connection (top view) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16  
POWERSO36 pin connection (top view) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16  
Bipolar stepper motor control application using L6470. . . . . . . . . . . . . . . . . . . . . . . . . . . . 20  
Charge pump circuitry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22  
Normal mode and microstepping (128 microsteps) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22  
Automatic full-step switching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23  
Speed profile in infinite acceleration/deceleration mode . . . . . . . . . . . . . . . . . . . . . . . . . . 24  
Constant speed command examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25  
Figure 10. Positioning command examples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25  
Figure 11. Motion command examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26  
Figure 12. OSCIN and OSCOUT pin configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28  
Figure 13. External switch connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31  
Figure 14. Internal 3 V linear regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32  
Figure 15. Current distortion and compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35  
Figure 16. BEMF compensation curve. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36  
Figure 17. Motor supply voltage compensation circuit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37  
Figure 18. SPI timings diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38  
Figure 19. Daisy chain configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39  
Figure 20. Command with 3-byte argument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56  
Figure 21. Command with 3-byte response . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56  
Figure 22. Command response aborted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57  
Figure 23. HTSSOP28 mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66  
Figure 24. POWERSO36 drawings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68  
Doc ID16737 Rev 5  
7/70  
Block diagram  
L6470  
1
Block diagram  
Figure 1.  
Block diagram  
VDD  
OSCIN  
OSCOUT ADCIN  
VREG  
CP  
VBOOT  
Charge  
pump  
Ext. Osc. driver  
16MHz  
Oscillator  
&
VSA  
VSA  
Clock gen.  
3 V  
Voltage Reg.  
ADC  
V
boot  
Vboot  
STBY/RST  
FLAG  
HS A1  
LS A1  
HS A2  
LS A2  
OUT1A  
OUT2A  
HS A1  
LS A1  
HS A2  
LS A2  
PGND  
Control  
Logic  
V
DD  
VSB  
VSB  
HS B1  
LS B1  
HS B2  
LS B2  
CS  
CK  
V
boot  
Vboot  
HS B1  
LS B1  
HS B2  
LS B2  
SDO  
OUT1B  
OUT2B  
SDI  
Current DACs  
BUSY/SYNC  
Temperature  
sensing  
&
Comparators  
PGND  
STCK  
SW  
V
DD  
Current  
sensing  
DGND  
AGND  
AM02377v1  
8/70  
Doc ID16737 Rev 5  
L6470  
Electrical data  
2
Electrical data  
2.1  
Absolute maximum ratings  
Table 2.  
Absolute maximum ratings  
Parameter  
Symbol  
Test condition  
Value  
Unit  
VDD  
VS  
Logic interface supply voltage  
5.5  
48  
V
V
Motor supply voltage  
VSA = VSB = VS  
Differential voltage between AGND,  
PGND and DGND  
VGND, diff  
Vboot  
0.3  
55  
V
V
V
Bootstrap peak voltage  
Internal voltage regulator output pin  
and logic supply voltage  
VREG  
3.6  
Integrated ADC input voltage range  
(ADCIN pin)  
VADCIN  
VOSC  
-0.3 to +3.6  
-0.3 to +3.6  
V
V
OSCIN and OSCOUT pin voltage  
range  
Differential voltage between VSA  
,
Vout_diff  
VLOGIC  
OUT1A, OUT2A, PGND and VSB  
,
VSA = VSB = VS  
48  
V
OUT1B, OUT2B, PGND pins  
Logic inputs voltage range  
R.m.s. output current  
-0.3 to +5.5  
V
A
(1)  
Iout  
3
(1)  
Iout_peak  
TOP  
Pulsed output current  
TPULSE < 1 ms  
7
A
Operating junction temperature  
Storage temperature range  
Total power dissipation (TA = 25 ºC)  
-40 to 150  
-55 to 150  
5
°C  
°C  
W
Ts  
(2)  
Ptot  
1. Maximum output current limit is related to metal connection and bonding characteristics. Actual limit must satisfy maximum  
thermal dissipation constraints.  
2. HTSSOP28 mounted on EVAL6470H.  
Doc ID16737 Rev 5  
9/70  
 
Electrical data  
L6470  
Unit  
2.2  
Recommended operating conditions  
Table 3.  
Symbol  
Recommended operating conditions  
Parameter  
Test condition  
Value  
3.3 V logic outputs  
5 V logic outputs  
VSA = VSB = VS  
3.3  
5
VDD  
VS  
Logic interface supply voltage  
Motor supply voltage  
V
V
8
45  
45  
Differential voltage between  
VSA, OUT1A, OUT2A, PGND  
and VSB, OUT1B, OUT2B,  
PGND pins  
Vout_diff  
VSA = VSB = VS  
V
VREG voltage imposed  
by external source  
VREG,in Logic supply voltage  
3.2  
0
3.3  
V
V
Integrated ADC input voltage  
(ADCIN pin)  
VADC  
VREG  
2.3  
Thermal data  
Table 4.  
Symbol  
Thermal data  
Parameter  
Package  
Typ.  
Unit  
HTSSOP28 (1)  
22  
12  
RthJA  
Thermal resistance junction-ambient  
°C/W  
POWERSO36 (2)  
1. HTSSOP28 mounted on EVAL6470H rev 1.0 board: four-layer FR4 PCB with a dissipating copper surface  
2
of about 40 cm on each layer and 15 via holes below the IC.  
2. POWERSO36 mounted on EVAL6470PD rev 1.0 board: four-layer FR4 PCB with a dissipating copper  
2
surface of about 40 cm on each layer and 22 via holes below the IC.  
10/70  
Doc ID16737 Rev 5  
 
 
L6470  
Electrical characteristics  
3
Electrical characteristics  
VSA = VSB = 36 V; VDD = 3.3 V; internal 3 V regulator; TJ = 25 °C, unless otherwise  
specified.  
Table 5.  
Symbol  
Electrical characteristics  
Parameter  
Test condition  
Min. Typ. Max. Unit  
General  
VSthOn  
VSthOff  
VSthHyst  
VS UVLO turn-on threshold  
VS UVLO turn-off threshold  
VS UVLO threshold hysteresis  
7.5  
6.6  
0.7  
8.2  
7.2  
1
8.9  
7.8  
1.3  
V
V
V
Internal oscillator selected;  
VREG = 3.3 V ext; CP  
floating  
Iq  
Quiescent motor supply current  
0.5 0.65 mA  
Tj(WRN)  
Tj(SD)  
Charge pump  
Thermal warning temperature  
130  
160  
°C  
°C  
Thermal shutdown temperature  
Vpump  
Voltage swing for charge pump oscillator  
10  
V
Minimum charge pump oscillator frequency  
fpump,min  
660  
kHz  
(1)  
Maximum charge pump oscillator frequency  
fpump,max  
800  
1.1  
kHz  
(1)  
f
sw,A = fsw,B = 15.6 kHz  
Iboot  
Average boot current  
1.4 mA  
POW_SR = '10'  
Output DMOS transistor  
Tj = 25 °C, Iout = 3 A  
0.37  
0.51  
0.18  
0.23  
RDS(on)  
RDS(on)  
IDSS  
High-side switch on-resistance  
Tj = 125 °C, (2) Iout = 3 A  
Ω
Tj = 25 °C, Iout = 3 A  
Low-side switch on-resistance  
Leakage current  
Tj = 125 °C, (2) Iout = 3 A  
OUT = VS  
3.1  
mA  
OUT = GND  
-0.3  
POW_SR = '00', Iout = +1 A  
POW_SR = '00', Iout = -1 A  
POW_SR = '11', Iout = 1 A  
POW_SR = '10', Ilout = 1 A  
POW_SR = '01', Iout = 1 A  
100  
80  
tr  
Rise time (3)  
100  
200  
300  
ns  
Doc ID16737 Rev 5  
11/70  
 
 
Electrical characteristics  
L6470  
Table 5.  
Symbol  
Electrical characteristics (continued)  
Parameter  
Test condition  
Min. Typ. Max. Unit  
POW_SR = '00'; Iout = +1 A  
POW_SR = '00'; Iout = -1 A  
POW_SR = '11', Iout = 1 A  
POW_SR = '10', Iout = 1 A  
POW_SR = '01', Iload= 1 A  
POW_SR = '00', Iout = +1 A  
POW_SR = '00', Iout = -1 A  
POW_SR = '11', Iout = 1 A  
POW_SR = '10', Iout = 1 A  
POW_SR = '01', Iout = 1 A  
POW_SR = '00', Iout = +1 A  
POW_SR = '00', Iout = -1 A  
POW_SR = '11', Iout = 1 A  
POW_SR = '10', Iout = 1 A  
POW_SR = '01', Iout = 1 A  
90  
110  
tf  
Fall time (3)  
110  
260  
375  
285  
360  
285  
150  
95  
ns  
SRout_r  
Output rising slew rate  
V/µs  
V/µs  
320  
260  
260  
110  
75  
SRout_f  
Output falling slew rate  
Deadtime and blanking  
POW_SR = '00'  
POW_SR = '11',  
250  
375  
f
OSC = 16 MHz  
POW_SR = '10',  
OSC = 16 MHz  
POW_SR = '01',  
OSC = 16 MHz  
tDT  
Deadtime (1)  
ns  
625  
f
875  
250  
375  
f
POW_SR = '00'  
POW_SR = '11',  
f
OSC = 16 MHz  
POW_SR = '10',  
OSC = 16 MHz  
POW_SR = '01',  
OSC = 16 MHz  
tblank  
Blanking time (1)  
ns  
625  
875  
f
f
Source-drain diodes  
VSD,HS  
VSD,LS  
trrHS  
High-side diode forward ON voltage  
Iout = 1 A  
Iout = 1 A  
Iout = 1 A  
Iout = 1 A  
1
1
1.1  
1.1  
V
V
Low-side diode forward ON voltage  
High-side diode reverse recovery time  
Low-side diode reverse recovery time  
30  
100  
ns  
ns  
trrLS  
12/70  
Doc ID16737 Rev 5  
L6470  
Electrical characteristics  
Min. Typ. Max. Unit  
Table 5.  
Symbol  
Electrical characteristics (continued)  
Parameter  
Test condition  
Logic inputs and outputs  
VIL  
VIH  
IIH  
Low logic level input voltage  
0.8  
1
V
V
High logic level input voltage  
High logic level input current (4)  
Low logic level input current (5)  
2
VIN = 5 V  
µA  
µA  
IIL  
VIN = 0 V  
-1  
VDD = 3.3 V, IOL = 4 mA  
VDD = 5 V, IOL = 4 mA  
VDD = 3.3 V, IOH = 4 mA  
0.3  
0.3  
VOL  
Low logic level output voltage (6)  
V
2.4  
4.7  
VOH  
High logic level output voltage  
V
VDD = 5 V,  
I
OH = 4 mA  
RPU  
RPD  
CS = GND;  
CS pull-up and STBY pull-down resistors  
Internal logic supply current  
335 430 565  
kΩ  
STBY/RST = 5 V  
3.3 V VREG externally  
supplied, internal oscillator  
Ilogic  
3.7  
2
4.3 mA  
3.3 V VREG externally  
supplied  
Ilogic,STBY Standby mode internal logic supply current  
2.5  
2
µA  
fSTCK  
Step-clock input frequency  
MHz  
Internal oscillator and external oscillator driver  
Tj = 25 °C,  
fosc,i  
Internal oscillator frequency  
-3% 16  
8
+3% MHz  
32 MHz  
VREG = 3.3 V  
fosc,e  
Programmable external oscillator frequency  
Internal oscillator 3.3 V  
VOSCOUTH OSCOUT clock source high level voltage  
VOSCOUTL OSCOUT clock source low level voltage  
VREG externally supplied;  
2.4  
V
I
OSCOUT = 4 mA  
Internal oscillator 3.3 V  
VREG externally supplied;  
0.3  
20  
V
I
OSCOUT = 4 mA  
trOSCOUT  
OSCOUT clock source rise and fall time  
tfOSCOUT  
Internal oscillator  
ns  
textosc  
tintosc  
SPI  
Internal to external oscillator switching delay  
External to internal oscillator switching delay  
3
ms  
µs  
1.5  
fCK,MAX  
Maximum SPI clock frequency (7)  
SPI clock rise and fall time (7)  
5
MHz  
ns  
trCK  
tfCK  
thCK  
tlCK  
CL = 30 pF  
25  
SPI clock high and low time (7)  
Chip select setup time (7)  
75  
ns  
ns  
tsetCS  
350  
Doc ID16737 Rev 5  
13/70  
Electrical characteristics  
L6470  
Table 5.  
Symbol  
Electrical characteristics (continued)  
Parameter  
Chip select hold time (7)  
Test condition  
Min. Typ. Max. Unit  
tholCS  
tdisCS  
10  
800  
25  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
ns  
Deselect time (7)  
tsetSDI  
tholSDI  
tenSDO  
tdisSDO  
tvSDO  
Data input setup time (7)  
Data input hold time (7)  
Data output enable time (7)  
Data output disable time (7)  
Data output valid time (7)  
Data output hold time (7)  
20  
38  
47  
57  
tholSDO  
37  
60  
Switch input (SW)  
RPUSW  
SW input pull-up resistance  
SW = GND  
85  
110  
kΩ  
PWM modulators  
fosc = 16 MHz  
fosc = 32 MHz  
2.8  
5.6  
62.5  
125  
fPWM  
Programmable PWM frequency (1)  
PWM resolution  
kHz  
bit  
NPWM  
8
4
Stall detection  
I
Maximum programmable stall threshold  
STALL_TH = '1111111'  
STALL_TH = '0000000'  
A
STALL,MAX  
31.2  
5
I
Minimum programmable stall threshold  
Programmable stall threshold resolution  
mA  
STALL,MIN  
31.2  
5
I
mA  
STALL,RES  
Overcurrent protection  
Maximum programmable overcurrent  
detection threshold  
IOCD,MAX  
IOCD,MIN  
IOCD,RES  
OCD_TH = '1111'  
OCD_TH = '0000'  
6
A
A
A
Minimum programmable overcurrent  
detection threshold  
0.37  
5
Programmable overcurrent detection  
threshold resolution  
0.37  
5
tOCD,Flag OCD to flag signal delay time  
dIout/dt = 350 A/µs  
650 1000 ns  
dIout/dt = 350 A/µs  
POW_SR = '10'  
tOCD,SD  
OCD to shutdown delay time  
600  
ns  
Standby  
VS = 8 V  
26  
30  
10  
38  
34  
36  
Quiescent motor supply current in standby  
conditions  
IqSTBY  
µA  
VS = 36 V  
tSTBY,min Minimum standby time  
tlogicwu Logic power-on and wake-up time  
μs  
45  
µs  
14/70  
Doc ID16737 Rev 5  
L6470  
Electrical characteristics  
Min. Typ. Max. Unit  
Table 5.  
Symbol  
Electrical characteristics (continued)  
Parameter  
Test condition  
Power bridges disabled,  
tcpwu  
Charge pump power-on and wake-up time  
650  
μs  
Cp = 10 nF, Cboot = 220 nF  
Internal voltage regulator  
VREG Voltage regulator output voltage  
IREG Voltage regulator output current  
2.9  
3
3.2  
40  
V
mA  
mV  
mA  
VREG, drop Voltage regulator output voltage drop  
IREG,STBY Voltage regulator standby output current  
IREG = 40 mA  
50  
10  
Integrated analog-to-digital converter  
NADC  
Analog-to-digital converter resolution  
5
bit  
V
VRE  
VADC,ref  
Analog-to-digital converter reference voltage  
G
Analog-to-digital converter sampling  
frequency  
fS  
fPWM  
kHz  
1. Accuracy depends on oscillator frequency accuracy.  
2. Tested at 25 °C in a restricted range and guaranteed by characterization.  
3. Rise and fall time depends on motor supply voltage value. Refer to SR values in order to evaluate the actual rise and fall  
out  
time.  
4. Not valid for STBY/RST pin which has internal pull-down resistor.  
5. Not valid for SW and CS pins which have internal pull-up resistors.  
6. FLAG, BUSY and SYNC open drain outputs included.  
7. See Figure 18 – SPI timings diagram for details.  
Doc ID16737 Rev 5  
15/70  
Pin connection  
L6470  
4
Pin connection  
Figure 2.  
HTSSOP28 pin connection (top view)  
ꢁꢇ  
ꢁꢆ  
ꢁꢅ  
ꢁꢄ  
ꢁꢃ  
ꢁꢂ  
ꢁꢁ  
ꢁꢀ  
ꢁꢉ  
ꢀꢈ  
ꢀꢇ  
ꢀꢆ  
ꢀꢅ  
ꢀꢄ  
/54ꢀ!  
/54ꢁ!  
63!  
0'.$  
63!  
34"9<234  
37  
34#+  
&,!'  
#3  
!$#).  
62%'  
/3#).  
"539<39.#  
$'.$  
3$)  
%0!$  
/3#/54  
!'.$  
ꢀꢉ  
#0  
#+  
6"//4  
ꢀꢀ  
ꢀꢁ  
ꢀꢂ  
ꢀꢃ  
3$/  
6$$  
63"  
0'.$  
/54ꢀ"  
63"  
/54ꢁ"  
!-ꢀꢁꢂꢃꢄVꢅ  
Figure 3.  
POWERSO36 pin connection (top view)  
1(/%  
065ꢀ"  
065ꢀ"  
74"  
ꢆꢂ  
ꢆꢄ  
ꢆꢅ  
ꢆꢆ  
ꢆꢇ  
ꢆꢀ  
ꢆꢈ  
ꢇꢉ  
ꢇꢁ  
ꢇꢃ  
ꢇꢂ  
ꢇꢄ  
ꢇꢅ  
ꢇꢆ  
ꢇꢇ  
ꢇꢀ  
ꢇꢈ  
ꢀꢉ  
065ꢂ"  
065ꢂ"  
74"  
74"  
74"  
45$,  
'-"(  
$4  
45#:ꢁ345  
%*3  
"%$*/  
73&(  
#64:=4:/$  
%(/%  
4%*  
&1"%  
04$*/  
04$065  
"(/%  
$1  
ꢀꢈ  
ꢀꢀ  
ꢀꢇ  
ꢀꢆ  
ꢀꢅ  
ꢀꢄ  
ꢀꢂ  
ꢀꢃ  
ꢀꢁ  
$,  
4%0  
7%%  
7#005  
74#  
74#  
74#  
74#  
065ꢂ#  
065ꢂ#  
1(/%  
065ꢀ#  
065ꢀ#  
16/70  
Doc ID16737 Rev 5  
 
L6470  
Pin connection  
4.1  
Pin list  
Table 6.  
Pin description  
No.  
HTSSOP POWERSO  
Name  
Type  
Function  
17  
6
24  
9
VDD  
Power  
Power  
Logic outputs supply voltage (pull-up reference)  
Internal 3 V voltage regulator output and 3.3 V  
external logic supply  
VREG  
Oscillator pin 1. To connect an external oscillator or  
clock source. If this pin is unused, it should be left  
floating.  
7
8
10  
11  
OSCIN  
Analog input  
Oscillator pin 2. To connect an external oscillator.  
When the internal oscillator is used this pin can  
supply 2/4/8/16 MHz. If this pin is unused, it should be  
left floating.  
OSCOUT Analog output  
10  
11  
13  
CP  
Output  
Charge pump oscillator output  
Bootstrap voltage needed for driving the high-side  
power DMOS of both bridges (A and B)  
14  
8
VBOOT  
ADCIN  
VSA  
Supply voltage  
Analog input  
Power supply  
5
Internal analog-to-digital converter input  
Full-bridge A power supply pin. It must be connected  
to VSB.  
2, 26  
4, 5, 33, 34  
Full-bridge B power supply pin. It must be connected  
to VSA.  
12, 16 15, 16, 22, 23  
VSB  
Power supply  
27, 13  
1
1, 19  
2, 3  
PGND  
OUT1A  
OUT2A  
OUT1B  
OUT2B  
AGND  
Ground  
Power ground pin  
Power output  
Power output  
Power output  
Power output  
Ground  
Full-bridge A output 1  
Full-bridge A output 2  
Full-bridge B output 1  
Full-bridge B output 2  
Analog ground.  
28  
14  
15  
9
35, 36  
17, 18  
20, 21  
12  
External switch input pin. If not used the pin should be  
connected to VDD.  
4
7
SW  
Logical input  
Ground  
21  
28  
DGND  
Digital ground  
By default, this BUSY pin is forced low when the  
device is performing a command. Otherwise the pin  
can be configured to generate a synchronization  
signal.  
22  
29  
BUSY\SYNC Open drain output  
18  
20  
19  
23  
25  
27  
26  
30  
SDO  
SDI  
CK  
Logic output  
Logic input  
Logic input  
Logic input  
Data output pin for serial interface  
Data input pin for serial interface  
Serial interface clock  
CS  
Chip select input pin for serial interface  
Doc ID16737 Rev 5  
17/70  
 
Pin connection  
L6470  
Table 6.  
Pin description (continued)  
No.  
Name  
Type  
Function  
HTSSOP POWERSO  
Status flag pin. An internal open drain transistor can  
pull the pin to GND when a programmed alarm  
24  
3
31  
6
FLAG  
Open drain output condition occurs (step loss, OCD, thermal pre-  
warning or shutdown, UVLO, wrong command, non-  
performable command)  
Standby and reset pin. LOW logic level resets the  
logic and puts the device into Standby mode. If not  
used, it should be connected to VDD.  
STBY\RST Logic input  
25  
32  
STCK  
Logic input  
Step-clock input  
EPAD  
EPAD  
Exposed pad Ground  
Internally connected to PGND, AGND and DGND pins  
18/70  
Doc ID16737 Rev 5  
L6470  
Typical applications  
5
Typical applications  
Table 7.  
Typical application values  
Name  
Value  
CVS  
CVSPOL  
CREG  
CREGPOL  
CDD  
220 nF  
100 µF  
100 nF  
47 µF  
100 nF  
CDDPOL  
D1  
10 µF  
Charge pump diodes  
220 nF  
CBOOT  
CFLY  
10 nF  
RPU  
39 kΩ  
RSW  
100 Ω  
CSW  
10 nF  
RA  
2.7 kΩ (VS = 36 V)  
62 kΩ (VS = 36 V)  
RB  
Doc ID16737 Rev 5  
19/70  
Typical applications  
Figure 4.  
L6470  
Bipolar stepper motor control application using L6470  
20/70  
Doc ID16737 Rev 5  
L6470  
Functional description  
6
Functional description  
6.1  
Device power-up  
At power-up end, the device state is the following:  
Registers are set to default  
Internal logic is driven by internal oscillator and a 2 MHz clock is provided by the  
OSCOUT pin  
Bridges are disabled (High Z)  
UVLO bit in the STATUS register is forced low (fail condition)  
FLAG output is forced low.  
During power-up, the device is under reset (all logic IOs disabled and power bridges in high  
impedance state) until the following conditions are satisfied:  
VS is greater than VSthOn  
VREG is greater than VREGth = 2.8 V typical  
Internal oscillator is operative.  
Any motion command makes the device exit from High Z state (HardStop and SoftStop  
included).  
6.2  
Logic I/O  
Pins CS, CK, SDI, STCK, SW and STBY\RST are TTL/CMOS 3.3 V - 5 V compatible logic  
inputs.  
Pin SDO is a TTL/CMOS compatible logic output. VDD pin voltage sets the logic output pin  
voltage range; when it is connected to VREG or 3.3 V external supply voltage, the output is  
3.3 V compatible. When VDD is connected to a 5 V supply voltage, SDO is 5 V compatible.  
VDD is not internally connected to VREG, an external connection is always needed.  
A 10 µF capacitor should be connected to the VDD pin in order to obtain a proper operation.  
Pins FLAG and BUSY\SYNC are open drain outputs.  
6.3  
Charge pump  
To ensure the correct driving of the high-side integrated MOSFETs, a voltage higher than  
the motor power supply voltage needs to be applied to the VBOOT pin. The high-side gate  
driver supply voltage, Vboot, is obtained through an oscillator and a few external components  
realizing a charge pump (see Figure 5).  
Doc ID16737 Rev 5  
21/70  
 
Functional description  
Figure 5.  
L6470  
Charge pump circuitry  
63 6#0 ꢇ 6  
$ꢅ  
#
"//4  
63  
$ꢁ  
$ꢅ  
63 6#0 6$ꢅ ꢇ 6  
#
&,9  
$ꢁ  
6"//4  
#0  
6#0  
TO HIGH SIDE  
GATE DRIVERS  
6$$  
F05-0  
!-ꢀꢁꢂꢄꢀVꢅ  
6.4  
Microstepping  
The driver is able to divide the single step into up to 128 microsteps. Stepping mode can be  
programmed by the STEP_SEL parameter in the STEP_MODE register (see Table 18).  
Step mode can only be changed when bridges are disabled. Every time the step mode is  
changed the electrical position (i.e. the point of microstepping sinewave that is generated) is  
reset to the first microstep and the absolute position counter value (see Section 6.5)  
becomes meaningless.  
Figure 6.  
Normal mode and microstepping (128 microsteps)  
.ORMAL DRIVING  
-ICROSTEPPING  
2ESET  
POSITION  
2ESET  
POSITION  
0(!3% ! CURRENT  
0(!3% " CURRENT  
0(!3% ! CURRENT  
0(!3% " CURRENT  
MICROSTEPS  
STEP ꢅ STEP ꢁ STEP ꢂ STEP ꢈ STEP ꢅ  
STEP ꢅ STEP ꢁ STEP ꢂ STEP ꢈ STEP ꢅ  
ꢅꢁꢄ  
ꢅꢁꢄ  
ꢅꢁꢄ  
ꢅꢁꢄ  
ª STEPS  
ª STEPS  
ª STEPS  
ª STEPS  
!-ꢀꢁꢂꢄꢅVꢅ  
22/70  
Doc ID16737 Rev 5  
L6470  
Functional description  
6.4.1  
Automatic full-step mode  
When motor speed is greater than a programmable full-step speed threshold, the L6470  
switches automatically to Full-step mode (see Figure 7); the driving mode returns to  
microstepping when motor speed decreases below the full-step speed threshold. The full-  
step speed threshold is set through the FS_SPD register (see Section 9.1.9).  
Figure 7.  
Automatic full-step switching  
Ipeak  
sin(π/4) x Ipeak  
Phase A  
Phase B  
Full-Step  
μStepping  
μStepping  
(2N+1) x π/4  
(2N+1) x π/4  
6.5  
6.6  
Absolute position counter  
An internal 22-bit register (ABS_POS) records the motor motion according to the selected  
step mode; the stored value unit is equal to the selected step mode (full, half, quarter, etc.).  
The position range is from -221to +221-1 (µ)steps (see Section 9.1.1).  
Programmable speed profiles  
The user can easily program a customized speed profile defining independently  
acceleration, deceleration, maximum and minimum speed values by the ACC, DEC,  
MAX_SPEED and MIN_SPEED registers respectively (see Section 9.1.5, 9.1.6, 9.1.7 and  
9.1.8).  
When a command is sent to the device, the integrated logic generates the microstep  
frequency profile that performs a motor motion compliant to speed profile boundaries.  
All acceleration parameters are expressed in step/tick2 and all speed parameters are  
expressed in step/tick; the unit of measurement does not depend on the selected step  
mode. Acceleration and deceleration parameters range from 2-40 to (212-2)2-40 step/tick2  
(equivalent to 14.55 to 59590 step/s2).  
The minimum speed parameter ranges from 0 to (212-1)2-24 step/tick (equivalent to 0 to  
976.3 step/s).  
The maximum speed parameter ranges from 2-18 to (210-1)2-18 step/tick (equivalent to  
15.25 to 15610 step/s).  
Doc ID16737 Rev 5  
23/70  
 
 
 
Functional description  
L6470  
6.6.1  
Infinite acceleration/deceleration mode  
When the ACC register value is set to max. (0xFFF), the system works in “infinite  
acceleration mode”: acceleration and deceleration phases are totally skipped, as shown in  
Figure 8.  
It is not possible to skip the acceleration or deceleration phase independently.  
Figure 8.  
Speed profile in infinite acceleration/deceleration mode  
30%%$  
0ROGRAMMED  
MAXIMUM  
SPEED  
0ROGRAMMED NUMBER OF MICROSTEPS  
TIME  
TIME  
)NDEXING MODE  
#ONSTANT SPEED MODE  
!-ꢀꢄꢉꢈꢊ6ꢅ  
6.7  
Motor control commands  
The L6470 can accept different types of commands:  
constant speed commands (Run, GoUntil, ReleaseSW)  
absolute positioning commands (GoTo, GoTo_DIR, GoHome, GoMark)  
motion commands (Move)  
stop commands (SoftStop, HardStop, SoftHiz, HardHiz).  
For detailed command descriptions refer to Section 9.2 on page 55.  
6.7.1  
Constant speed commands  
A constant speed command produces a motion in order to reach and maintain a user-  
defined target speed starting from the programmed minimum speed (set in the MIN_SPEED  
register) and with the programmed acceleration/deceleration value (set in the ACC and DEC  
registers). A new constant speed command can be requested anytime.  
24/70  
Doc ID16737 Rev 5  
 
L6470  
Functional description  
Figure 9.  
Constant speed command examples  
3PEED  
ꢋSTEP FREQUENCYꢍ  
30$ꢂ  
2UNꢋ30$ꢈꢌ"7ꢍ  
30$ꢅ  
30$ꢁ  
2UNꢋ30$ꢁꢌ&7ꢍ  
2UNꢋ30$ꢂꢌ&7ꢍ  
-INIMUM  
SPEED  
-INIMUM  
SPEED  
TIME  
2UNꢋ30$ꢅꢌ&7ꢍ  
30$ꢈ  
!-ꢀꢁꢂꢄꢁVꢅ  
6.7.2  
Positioning commands  
An absolute positioning command produces a motion in order to reach a user-defined  
position that is sent to the device together with the command. The position can be reached  
performing the minimum path (minimum physical distance) or forcing a direction (see  
Figure 10).  
The performed motor motion is compliant to programmed speed profile boundaries  
(acceleration, deceleration, minimum and maximum speed).  
Note that with some speed profiles or positioning commands, the deceleration phase can  
start before the maximum speed is reached.  
Figure 10. Positioning command examples  
&ORWARD  
DIRECTION  
0RESENT  
POSITION  
0RESENT  
POSITION  
4ARGET  
POSITION  
4ARGET  
POSITION  
ꢁꢅ ꢇꢅ  
'O4O4ARGET POSꢍ  
ꢁꢅ ꢇꢅ  
'O4O?$)2ꢋ4ARGET POSꢌ&7ꢍ  
!-ꢀꢁꢂꢄꢂVꢅ  
6.7.3  
Motion commands  
Motion commands produce a motion in order to perform a user-defined number of  
microsteps in a user-defined direction that are sent to the device together with the command  
(see Figure 11).  
Doc ID16737 Rev 5  
25/70  
 
Functional description  
L6470  
The performed motor motion is compliant to programmed speed profile boundaries  
(acceleration, deceleration, minimum and maximum speed).  
Note that with some speed profiles or motion commands, the deceleration phase can start  
before the maximum speed is reached.  
Figure 11. Motion command examples  
30%%$  
30%%$  
PROGRAMMED NUMBER OF MICROSTEPS  
PROGRAMMED NUMBER OF MICROSTEPS  
PROGRAMMED  
MAXIMUM  
SPEED  
PROGRAMMED  
MAXIMUM  
SPEED  
.OTEꢎ WITH SOME  
!CCELERATIONꢏ$ECELARATION PROFILES  
THE PROGRAMMED MAXIMUM SPEED  
IS NEVER REACHED  
PROGRAMMED  
!##%,%2!4)/.  
PROGRAMMED  
$%#%,%2!4)/.  
PROGRAMMED  
!##%,%2!4)/.  
PROGRAMMED  
$%#%,%2!4)/.  
PROGRAMMED  
MINIMUM  
SPEED  
PROGRAMMED  
MINIMUM  
SPEED  
TIME  
TIME  
!-ꢀꢁꢂꢄꢈVꢅ  
6.7.4  
Stop commands  
A stop command forces the motor to stop. Stop commands can be sent anytime.  
The SoftStop command causes the motor to decelerate with programmed deceleration  
value until the MIN_SPEED value is reached and then stops the motor keeping the rotor  
position (a holding torque is applied).  
The HardStop command stops the motor instantly, ignoring deceleration constraints and  
keeping the rotor position (a holding torque is applied).  
The SoftHiZ command causes the motor to decelerate with programmed deceleration value  
until the MIN_SPEED value is reached and then forces the bridges in high impedance state  
(no holding torque is present).  
The HardHiZ command instantly forces the bridges into high impedance state (no holding  
torque is present).  
6.7.5  
6.7.6  
Step-clock mode  
In Step-clock mode the motor motion is defined by the step-clock signal applied to the STCK  
pin. At each step-clock rising edge, the motor is moved one microstep in the programmed  
direction and the absolute position is consequently updated.  
When the system is in Step-clock mode, the SCK_MOD flag in the STATUS register is  
raised, the SPEED register is set to zero and motor status is considered stopped whatever  
the STCK signal frequency (MOT_STATUS parameter in STATUS register equal to “00”).  
GoUntil and ReleaseSW commands  
In most applications the power-up position of the stepper motor is undefined, so an  
initialization algorithm driving the motor to a known position is necessary.  
The GoUntil and ReleaseSW commands can be used in combination with external switch  
input (see Section 6.13) to easily initialize the motor position.  
26/70  
Doc ID16737 Rev 5  
 
 
L6470  
Functional description  
The GoUntil command makes the motor run at the constant target speed until the SW input  
is forced low (falling edge). When this event occurs, one of the following actions can be  
performed:  
The ABS_POS register is set to zero (home position) and the motor decelerates to zero  
speed (as a SoftStop command)  
The ABS_POS register value is stored in the MARK register and the motor decelerates  
to zero speed (as a SoftStop command).  
If the SW_MODE bit of the CONFIG register is set to ‘0’, the motor does not decelerate but  
it immediately stops (as a HardStop command).  
The ReleaseSW command makes the motor run at the programmed minimum speed until  
the SW input is forced high (rising edge). When this event occurs, one of the following  
actions can be performed:  
The ABS_POS register is set to zero (home position) and the motor immediately stops  
(as a HardStop command)  
The ABS_POS register value is stored in the MARK register and the motor immediately  
stops (as a HardStop command).  
If the programmed minimum speed is less than 5 step/s, the motor is driven at 5 step/s.  
6.8  
Internal oscillator and oscillator driver  
The control logic clock can be supplied by the internal 16-MHz oscillator, an external  
oscillator (crystal or ceramic resonator) or a direct clock signal.  
These working modes can be selected by EXT_CLK and OSC_SEL parameters in the  
CONFIG register (see Table 23).  
At power-up the device starts using the internal oscillator and provides a 2-MHz clock signal  
on the OSCOUT pin.  
Attention: In any case, before changing clock source configuration, a  
hardware reset is mandatory. Switching to different clock  
configurations during operation may cause unexpected  
behavior.  
6.8.1  
6.8.2  
Internal oscillator  
In this mode the internal oscillator is activated and OSCIN is unused. If the OSCOUT clock  
source is enabled, the OSCOUT pin provides a 2, 4, 8 or 16-MHz clock signal (according to  
OSC_SEL value); it is otherwise unused (see Figure 12).  
External clock source  
Two types of external clock source can be selected: crystal/ceramic resonator or direct clock  
source. Four programmable clock frequencies are available for each external clock source:  
8, 16, 24 and 32 MHz.  
When an external crystal/resonator is selected, the OSCIN and OSCOUT pins are used to  
drive the crystal/resonator (see Figure 12). The crystal/resonator and load capacitors (CL)  
Doc ID16737 Rev 5  
27/70  
Functional description  
L6470  
must be placed as close as possible to the pins. Refer to Table 8 for the choice of load  
capacitor values according to the external oscillator frequency.  
Table 8.  
CL values according to external oscillator frequency  
(2)  
Crystal/resonator freq. (1)  
CL  
8 MHz  
16 MHz  
24 MHz  
32 MHz  
25 pF (ESRmax = 80 Ω)  
18 pF (ESRmax = 50 Ω)  
15 pF (ESRmax = 40 Ω)  
10 pF (ESRmax = 40 Ω)  
1. First harmonic resonance frequency.  
2. Lower ESR value allows the driving of greater load capacitors.  
If a direct clock source is used, it must be connected to the OSCIN pin and the OSCOUT pin  
supplies the inverted OSCIN signal (see Figure 12).  
Figure 12. OSCIN and OSCOUT pin configuration  
%84?#,+ ꢀ ꢁꢃꢁ  
%84?#,+ ꢀ ꢁꢂꢁ  
ꢄꢂꢀꢅꢂꢁꢃꢂꢆꢁ -(Z  
#
,
# ,  
ꢄꢂꢀꢅꢂꢁꢃꢂꢆꢁ -(Z  
/3#?3%, ꢀ ꢁꢂXXꢁ  
/3#).  
/3#/54  
/3#).  
/3#/54  
%XTERNAL OSCILLATOR  
CONFIGURATION  
%XTERNAL CLOCK SOURCE  
CONFIGURATION  
ꢁꢂꢃꢂꢄꢂꢀꢅ -(Z  
/3#?3%, ꢀ ꢁꢃXXꢁ  
5.53%$  
5.53%$  
/3#/54  
5.53%$  
/3#).  
/3#).  
/3#/54  
)NTERNAL OSCILLATOR  
)NTERNAL OSCILLATOR  
CONFIGURATION  
CONFIGURATION  
WITHOUT CLOCK SOURCE  
WITH CLOCK GENERATION  
!-ꢀꢁꢂꢄꢉVꢅ  
Note:  
When OSCIN is UNUSED, it should be left floating.  
When OSCOUT is UNUSED, it should be left floating.  
6.9  
Overcurrent detection  
When the current in any of the Power MOSFETs exceeds a programmed overcurrent  
threshold, the STATUS register OCD flag is forced low until the overcurrent event has  
28/70  
Doc ID16737 Rev 5  
 
 
 
L6470  
Functional description  
expired and a GetStatus command is sent to the IC (see Section 9.1.22 and 9.1.17). The  
overcurrent event expires when all the Power MOSFET currents fall below the programmed  
overcurrent threshold.  
The overcurrent threshold can be programmed through the OCD_TH register in one of 16  
available values ranging from 375 mA to 6 A with steps of 375 mA (see Table 9,  
Section 9.1.17).  
It is possible to set whether an overcurrent event causes or not the MOSFET turn-off  
(bridges in high impedance status) acting on the OC_SD bit in the CONFIG register (see  
Section 9.1.21). The OCD flag in the STATUS register is raised anyway (see Table 34,  
Section 9.1.22).  
When the IC outputs are turned off by an OCD event, they cannot be turned on until the  
OCD flag is released by a GetStatus command.  
Attention: The overcurrent shutdown is a critical protection feature. It is  
not recommended to disable it.  
6.10  
6.11  
Undervoltage lockout (UVLO)  
The L6470 provides a motor supply UVLO protection. When the motor supply voltage falls  
below the VSthOff threshold voltage, the STATUS register UVLO flag is forced low. When a  
GetStatus command is sent to the IC, and the undervoltage condition has expired, the  
UVLO flag is released (see Section 9.1.22 and 9.2.20). The undervoltage condition expires  
when the motor supply voltage goes over the VSthOn threshold voltage. When the device is  
in undervoltage condition, no motion command can be performed. The UVLO flag is forced  
low by logic reset (power-up included) even if no UVLO condition is present.  
Thermal warning and thermal shutdown  
An internal sensor allows the L6470 to detect when the device internal temperature exceeds  
a thermal warning or an overtemperature threshold.  
When the thermal warning threshold (Tj(WRN)) is reached, the TH_WRN bit in the STATUS  
register is forced low (see Section 9.1.22) until the temperature decreases below Tj(WRN)  
and a GetStatus command is sent to the IC (see Section 9.1.22 and 9.2.20).  
When the thermal shutdown threshold (Tj(OFF)) is reached, the device goes into thermal  
shutdown condition: the TH_SD bit in the STATUS register is forced low, the power bridges  
are disabled bridges in high impedance state and the HiZ bit in the STATUS register is  
raised (see Section 9.1.22).  
The thermal shutdown condition only expires when the temperature goes below the thermal  
warning threshold (Tj(WRN)).  
On exiting thermal shutdown condition, the bridges are still disabled (HiZ flag high); any  
motion command makes the device exit from High Z state (HardStop and SoftStop  
included).  
Doc ID16737 Rev 5  
29/70  
Functional description  
L6470  
6.12  
Reset and standby  
The device can be reset and put into Standby mode through a dedicated pin. When the  
STBY\RST pin is driven low, the bridges are left open (High Z state), the internal charge  
pump is stopped, the SPI interface and control logic are disabled and the internal 3 V  
voltage regulator maximum output current is reduced to IREG,STBY; as a result, the L6470  
heavily reduces the power consumption. At the same time the register values are reset to  
default and all protection functions are disabled. STBY\RST input must be forced low at  
least for tSTBY,min in order to ensure the complete switch to Standby mode.  
On exiting Standby mode, as well as for IC power-up, a delay of up to tlogicwu must be given  
before applying a new command to allow proper oscillator and logic startup and a delay of  
up to tcpwu must be given to allow the charge pump startup.  
On exiting Standby mode, the bridges are disabled (HiZ flag high) and any motion command  
makes the device exit High Z state (HardStop and SoftStop included).  
Attention: It is not recommended to reset the device when outputs are  
active. The device should be switched to high impedance  
state before being reset.  
6.13  
External switch (SW pin)  
The SW input is internally pulled up to VDD and detects if the pin is open or connected to  
ground (see Figure 13).  
The SW_F bit of the STATUS register indicates if the switch is open (‘0’) or closed (‘1’) (see  
Section 9.1.22); the bit value is refreshed at every system clock cycle (125 ns). The  
SW_EVN flag of the STATUS register is raised when a switch turn-on event (SW input falling  
edge) is detected (see Section 9.1.22). A GetStatus command releases the SW_EVN flag  
(see Section 9.2.20).  
By default, a switch turn-on event causes a HardStop interrupt (SW_MODE bit of CONFIG  
register set to ‘0’). Otherwise (SW_MODE bit of CONFIG register set to ‘1’), switch input  
events do not cause interrupts and the switch status information is at the user’s disposal  
(see Table 34, Section 9.1.22).  
The switch input may be used by the GoUntil and ReleaseSW commands as described in  
Section 9.2.10 and 9.2.11.  
If the SW input is not used, it should be connected to VDD.  
30/70  
Doc ID16737 Rev 5  
 
L6470  
Functional description  
Figure 13. External switch connection  
6$$  
%XTERNAL  
3WITCH  
37  
!-ꢀꢁꢂꢄꢊVꢅ  
6.14  
6.15  
Programmable DMOS slew rate, deadtime and blanking time  
Using the POW_SR parameter in the CONFIG register, it is possible to set the commutation  
speed of the power bridges output (see Table 26, Section 9.1.21).  
Integrated analog-to-digital converter  
The L6470 integrates an NADC bit ramp-compare analog-to-digital converter with a  
reference voltage equal to VREG. The analog-to-digital converter input is available through  
the ADCIN pin and the conversion result is available in the ADC_OUT register (see  
Section 9.1.16).  
Sampling frequency is equal to the programmed PWM frequency.  
The ADC_OUT value can be used for motor supply voltage compensation or can be at the  
user’s disposal.  
6.16  
Internal voltage regulator  
The L6470 integrates a voltage regulator which generates a 3 V voltage starting from the  
motor power supply (VSA and VSB). In order to make the voltage regulator stable, at least  
22 µF should be connected between the VREG pin and ground (suggested value is 47 µF).  
The internal voltage regulator can be used to supply the VDD pin in order to make the  
device digital output range 3.3 V compatible (Figure 14). A digital output range, 5 V  
compatible, may be obtained connecting the VDD pin to an external 5 V voltage source. In  
both cases, a 10 µF capacitance should be connected to the VDD pin in order to obtain a  
correct operation.  
The internal voltage regulator is able to supply a current up to IREG,MAX, internal logic  
consumption included (Ilogic). When the device is in Standby mode, the maximum current  
that can be supplied is IREG, STBY, internal consumption included (Ilogic, STBY).  
If an external 3.3 V regulated voltage is available, it can be applied to the VREG pin in order  
to supply all the internal logic and to avoid power dissipation of the internal 3 V voltage  
regulator (Figure 14). The external voltage regulator should never sink current from the  
VREG pin.  
Doc ID16737 Rev 5  
31/70  
Functional description  
Figure 14. Internal 3 V linear regulator  
L6470  
V
BAT  
Vs  
Vs  
3V  
3.3V  
REG.  
V
DD  
VREG  
VDD  
V
SA  
V
SB  
V
REG  
V
DD  
V
SA  
V
SB  
μC  
IC  
IC  
DGND  
AGND  
DGND  
AGND  
Logig supplied by  
INTERNAL voltage regulator  
Logig supplied by  
EXTERNAL voltage regulator  
6.17  
BUSY\SYNC pin  
This pin is an open drain output which can be used as the busy flag or synchronization  
signal according to the SYNC_EN bit value (STEP_MODE register).  
6.17.1  
BUSY operation mode  
The pin works as busy signal when the SYNC_EN bit is set low (default condition). In this  
mode the output is forced low while a constant speed, absolute positioning or motion  
command is under execution. The BUSY pin is released when the command has been  
executed (target speed or target position reached). The STATUS register includes a BUSY  
flag that is the BUSY pin mirror (see Section 9.1.22).  
In the case of daisy chain configuration, BUSY pins of different ICs can be hard-wired to  
save host controller GPIOs.  
6.17.2  
SYNC operation mode  
The pin works as synchronization signal when the SYNC_EN bit is set high. In this mode a  
step-clock signal is provided on the output according to a SYNC_SEL and STEP_SEL  
parameter combination (see Section 9.1.19).  
32/70  
Doc ID16737 Rev 5  
L6470  
Functional description  
6.18  
FLAG pin  
By default, an internal open drain transistor pulls the FLAG pin to ground when at least one  
of the following conditions occurs:  
Power-up or standby/reset exit  
Stall detection on A bridge  
Stall detection on B bridge  
Overcurrent detection  
Thermal warning  
Thermal shutdown  
UVLO  
Switch turn-on event  
Wrong command  
Non-performable command.  
It is possible to mask one or more alarm conditions by programming the ALARM_EN  
register (see Section 9.1.20, Table 21). If the corresponding bit of the ALARM_EN register is  
low, the alarm condition is masked and it does not cause a FLAG pin transition; all other  
actions imposed by alarm conditions are performed anyway. In the case of daisy chain  
configuration, FLAG pins of different ICs can be or-wired to save host controller GPIOs.  
Doc ID16737 Rev 5  
33/70  
Phase current control  
L6470  
7
Phase current control  
The L6470 controls the phase current applying a sinusoidal voltage to motor windings.  
Phase current amplitude is not directly controlled but depends on phase voltage amplitude,  
load torque, motor electrical characteristics and rotation speed. Sinewave amplitude is  
proportional to the motor supply voltage multiplied by a coefficient (KVAL). KVAL ranges from  
0 to 100% and the sinewave amplitude can be obtained through the following formula:  
Equation 1  
VOUT = VS KVAL  
Different KVAL values can be programmed for acceleration, deceleration and constant speed  
phases and when the motor is stopped (HOLD phase) through the KVAL_ACC, KVAL_DEC,  
KVAL_RUN and KVAL_HOLD registers (see Section 9.1.10). KVAL value is calculated  
according to the following formula:  
Equation 2  
KVAL = [(KVAL_X + BEMF_COMP) × VSCOMP × K_THERM] × microstep  
where KVAL_X is the starting KVAL value programmed for present motion phase (KVAL_ACC,  
KVAL_DEC, KVAL_RUN or KVAL_HOLD), BEMF_COMP is the BEMF compensation curve  
value, VSCOMP and K_THERM are the motor supply voltage and winding resistance  
compensation factors and microstep is the current microstep value (fraction of target peak  
current).  
The L6470 offers various methods to guarantee a stable current value, allowing the  
compensation of:  
low speed optimization (Section 7.3 7.3)  
back electromotive force value (Section 7.4 7.4)  
motor supply voltage variation (Section 7.5 7.5)  
windings resistance variation (Section 7.67.6).  
7.1  
PWM sinewave generators  
The two voltage sinewaves applied to the stepper motor phases are generated by two PWM  
modulators.  
The PWM frequency (fPWM) is proportional to the oscillator frequency (fOSC) and can be  
obtained through the following formula:  
Equation 3  
fOSC  
---------------------  
m  
fPWM  
=
512 N  
'N' is the integer division factor and 'm' is the multiplication factor. 'N' and 'm' values can be  
programmed by the F_PWM_INT and F_PWM_DEC parameters in the CONFIG register  
(see Table 28 and Table 29, Section 9.1.21).  
Available PWM frequencies are listed in Section 9.1.21 from Table 30 to Table 33.  
34/70  
Doc ID16737 Rev 5  
L6470  
Phase current control  
7.2  
Sensorless stall detection  
Depending on motor speed and load angle characteristics, the L6470 offers a motor stall  
condition detection using a programmable current comparator.  
When a stall event occurs, the respective flag (STEP_LOSS_A or STEP_LOSS_B) is forced  
low until a GetStaus command or a system reset occurs (see Section 9.2.20).  
7.3  
Low speed optimization  
When the motor is driven at a very low speed using a small driving voltage, the resulting  
phase current can be distorted. As a consequence, the motor position is different from the  
ideal one (see Figure 15).  
The L6470 implements a low speed optimization in order to remove this effect.  
Figure 15. Current distortion and compensation  
7ITHOUT LOW SPEED OPTIMIZAZION  
)
PHASE  
7ITH LOW SPEED OPTIMIZAZION  
)
PHASE  
#URRENT DISTORTION IS HEAVILY  
REDUCED  
!-ꢀꢄꢉꢈꢃ6ꢅ  
The optimization can be enabled setting high the LSPD_OPT bit in the MIN_SPEED register  
(see Section 9.1.8) and is active in a speed range from zero to MIN_SPEED. When low  
speed optimization is enabled, speed profile minimum speed is forced to zero.  
Doc ID16737 Rev 5  
35/70  
 
 
Phase current control  
L6470  
7.4  
BEMF compensation  
Using the speed information, a compensation curve is added to the amplitude of the voltage  
waveform applied to the motor winding in order to compensate the BEMF variations during  
acceleration and deceleration (see Figure 16).  
The compensation curve is approximated by a stacked line with a starting slope (ST_SLP)  
when speed is lower than a programmable threshold speed (INT_SPEED) and a fine slope  
(FN_SLP_ACC and FN_SLP_DEC) when speed is greater than the threshold speed (see  
Section 9.1.11, Section 9.1.12, Section 9.1.13 and Section 9.1.14).  
Figure 16. BEMF compensation curve  
#OMPENSATION  
VALUE  
&.?3,0?!##  
&.?3,0?$%#  
34?3,0  
).4?30%%$  
3PEED  
!-ꢀꢁꢂꢄꢄVꢅ  
To obtain different current values during acceleration and deceleration phases, two different  
final slope values, and consequently two different compensation curves, can be  
programmed.  
The acceleration compensation curve is applied when the motor runs. No BEMF  
compensation is applied when the motor is stopped.  
7.5  
Motor supply voltage compensation  
The sinewave amplitude generated by the PWM modulators is directly proportional to the  
motor supply voltage (VS). When the motor supply voltage is different from its nominal value,  
the motor phases are driven with an incorrect voltage. The L6470 can compensate motor  
supply voltage variations in order to avoid this effect.  
The motor supply voltage should be connected to the integrated ADC input through a  
resistor divider in order to obtain VREG/2 voltage at the ADCIN pin when VS is at its nominal  
value (see Figure 17).  
The ADC input is sampled at fS frequency, which is equal to PWM frequency.  
36/70  
Doc ID16737 Rev 5  
 
 
L6470  
Phase current control  
Figure 17. Motor supply voltage compensation circuit  
63  
62%'  
2!  
2"  
!$#).  
6!$#). ꢈ 63 X 2" ꢂ ꢉ2! ꢊ 2"ꢋ  
!$#  
!$#?/54  
F07-  
!-ꢀꢁꢂꢄꢐVꢅ  
Motor supply voltage compensation can be enabled setting high the EN_VSCOMP bit of the  
CONFIG register (see Table 22, Section 9.1.21). If the EN_VSCOMP bit is low, the  
compensation is disabled and the internal analog-to-digital converter is at the user’s  
disposal; sampling rate is always equal to PWM frequency.  
7.6  
Winding resistance thermal drift compensation  
The higher the winding resistance, the greater the voltage to be applied in order to obtain  
the same phase current.  
The L6470 integrates a register (K_THERM) which can be used to compensate phase  
resistance increment due to temperature rising.  
The value in the K_THERM register (see Section 9.1.15) multiplies the duty cycle value  
allowing a higher phase resistance value to be faced.  
The compensation algorithm and the eventual motor temperature measurement should be  
implemented by microcontroller firmware.  
Doc ID16737 Rev 5  
37/70  
 
Serial interface  
L6470  
8
Serial interface  
The integrated 8-bit serial peripheral interface (SPI) is used for a synchronous serial  
communication between the host microprocessor (always master) and the L6470 (always  
slave).  
The SPI uses chip select (CS), serial clock (CK), serial data input (SDI) and serial data  
output (SDO) pins. When CS is high, the device is unselected and the SDO line is inactive  
(high-impedance).  
The communication starts when CS is forced low. The CK line is used for synchronization of  
data communication.  
All commands and data bytes are shifted into the device through the SDI input, most  
significant bit first. The SDI is sampled on the rising edges of the CK.  
All output data bytes are shifted out of the device through the SDO output, most significant  
bit first. The SDO is latched on the falling edges of the CK. When a return value from the  
device is not available, an all zero byte is sent.  
After each byte transmission the CS input must be raised and be kept high for at least tdisCS  
in order to allow the device to decode the received command and put the return value into  
the SHIFT register.  
All timing requirements are shown in Figure 18 (see Section 3: Electrical characteristics for  
values).  
Multiple devices can be connected in daisy chain configuration, as shown in Figure 19.  
Figure 18. SPI timings diagram  
#3  
T
DIS#3  
T
SET#3  
T
R#+  
T
H#+  
TF#+  
TL#+  
#+  
3$)  
T
EN3$/  
TDIS3$/  
T
HOL#3  
T
SET3$)  
T
HOL3$)  
-3"  
.ꢌꢀ  
.ꢌꢀ  
.ꢌꢁ  
,3"  
T
V3$/  
THOL3$/  
(I:  
3$/  
-3"  
.ꢌꢁ  
,3"  
-3"  
!-ꢀꢁꢂꢐꢀVꢅ  
38/70  
Doc ID16737 Rev 5  
 
L6470  
Serial interface  
Figure 19. Daisy chain configuration  
$%6 ꢀ  
#3  
#+  
#3  
#+  
(/34 3$/  
-
3$)  
3$/  
3$)  
-
$%6 ꢁ  
#3  
#+  
(/34 30) SIGNALS  
3$)  
3$/  
#3  
3$/  
-
-
"YTE .  
"YTE .  
"YTE .ꢌꢀ  
"YTE .ꢌꢀ  
"YTE ꢀ  
"YTE ꢀ  
"YTE .  
"YTE .  
$%6 .  
3$)  
#3  
#+  
3$)  
3$/  
!-ꢀꢁꢂꢐꢅVꢅ  
Doc ID16737 Rev 5  
39/70  
Programming manual  
L6470  
9
Programming manual  
9.1  
Registers and flags description  
The following is a map of the user registers available (detailed description in respective  
paragraphs):  
Table 9.  
Register map  
Address  
[Hex]  
Reset  
Hex  
Reset  
value  
Len.  
[bit]  
Register name  
Register function  
Remarks (1)  
h01  
h02  
h03  
h04  
ABS_POS  
EL_POS  
MARK  
Current position  
Electrical position  
Mark position  
22 000000  
000  
22 000000  
0
0
0
R, WS  
R, WS  
R, WR  
R
9
SPEED  
Current speed  
20  
12  
00000 0 step/tick (0 step/s)  
125.5e-12 step/tick2 (2008  
h05  
h06  
ACC  
DEC  
Acceleration  
Deceleration  
08A  
R, WS  
R, WS  
step/s2)  
125.5e-12 step/tick2 (2008  
12  
08A  
step/s2)  
h07  
h08  
MAX_SPEED Maximum speed  
MIN_SPEED Minimum speed  
10  
13  
041  
000  
248e-6 step/tick (991.8 step/s)  
0 step/tick (0 step/s)  
R, WR  
R, WS  
150.7e-6 step/tick (602.7  
step/s)  
h15  
FS_SPD  
Full-step speed  
10  
027  
R, WR  
h09  
h0A  
KVAL_HOLD Holding KVAL  
8
8
29  
29  
0.16·VS  
0.16·VS  
R, WR  
R, WR  
KVAL_RUN  
KVAL_ACC  
Constant speed KVAL  
Acceleration starting  
KVAL  
h0B  
h0C  
8
8
29  
29  
0.16·VS  
0.16·VS  
R, WR  
R, WR  
Deceleration starting  
KVAL  
KVAL_DEC  
h0D  
h0E  
INT_SPEED Intersect speed  
14  
8
0408  
19  
15.4e-6 step/tick (61.5 step/s)  
0.038% s/step  
R, WH  
R, WH  
ST_SLP  
Start slope  
Acceleration final  
slope  
h0F  
h10  
h11  
FN_SLP_ACC  
8
8
4
29  
29  
0
0.063% s/step  
0.063% s/step  
1.0  
R, WH  
R, WH  
R, WR  
Deceleration final  
slope  
FN_SLP_DEC  
K_THERM  
Thermal  
compensation factor  
h12  
h13  
h14  
h16  
h17  
ADC_OUT  
OCD_TH  
ADC output  
5
4
7
8
8
XX (2)  
8
R
OCD threshold  
STALL threshold  
3.38A  
R, WR  
R, WR  
R, WH  
R, WS  
STALL_TH  
40  
7
2.03A  
STEP_MODE Step mode  
ALARM_EN Alarm enable  
128 microsteps  
All alarms enabled  
FF  
40/70  
Doc ID16737 Rev 5  
 
L6470  
Programming manual  
Remarks (1)  
Table 9.  
Register map (continued)  
Address  
[Hex]  
Reset  
Hex  
Reset  
value  
Len.  
[bit]  
Register name  
Register function  
Internal oscillator, 2 MHz  
OSCOUT clock, supply voltage  
compensation disabled,  
overcurrent shutdown enabled,  
slew rate = 290 V/µs PWM  
frequency = 15.6 kHz.  
h18  
CONFIG  
STATUS  
IC configuration  
Status  
16  
2E88  
R, WH  
High impedance state,  
UVLO/Reset flag set.  
h19  
16 XXXX (2)  
R
h1A  
h1B  
RESERVED Reserved address  
RESERVED Reserved address  
1. R: readable, WH: writable only when outputs are in high impedance, WS: writable only when motor is stopped, WR: always  
writable.  
2. According to startup conditions.  
9.1.1  
ABS_POS  
The ABS_POS register contains the current motor absolute position in agreement with the  
selected step mode; the stored value unit is equal to the selected step mode (full, half,  
quarter, etc.). The value is in 2's complement format and it ranges from -221 to +221-1.  
At power-on the register is initialized to “0” (HOME position).  
Any attempt to write the register when the motor is running causes the command to be  
ignored and the NOTPERF_CMD flag to rise (see Section 9.1.22).  
9.1.2  
EL_POS  
The EL_POS register contains the current electrical position of the motor. The two MSbits  
indicate the current step and the other bits indicate the current microstep (expressed in  
step/128) within the step.  
Table 10. EL_POS register  
Bit 8  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
STEP  
MICROSTEP  
When the EL_POS register is written by the user, the new electrical position is instantly  
imposed. When the EL_POS register is written, its value must be masked in order to match  
with the step mode selected in the STEP_MODE register in order to avoid a wrong  
microstep value generation (see Section 9.1.19); otherwise the resulting microstep  
sequence is incorrect.  
Any attempt to write the register when the motor is running causes the command to be  
ignored and the NOTPERF_CMD flag to rise (see Section 9.1.22).  
Doc ID16737 Rev 5  
41/70  
 
Programming manual  
L6470  
9.1.3  
MARK  
The MARK register contains an absolute position called MARK according to the selected  
step mode; the stored value unit is equal to the selected step mode (full, half, quarter, etc.).  
It is in 2's complement format and it ranges from -221 to +221-1.  
9.1.4  
SPEED  
The SPEED register contains the current motor speed, expressed in step/tick (format  
unsigned fixed point 0.28).  
In order to convert the SPEED value in step/s, the following formula can be used:  
Equation 4  
SPEED 228  
[step/s] = ---------------------------------------  
tick  
where SPEED is the integer number stored in the register and tick is 250 ns.  
The available range is from 0 to 15625 step/s with a resolution of 0.015 step/s.  
The range effectively available to the user is limited by the MAX_SPEED parameter.  
Note:  
Any attempt to write the register causes the command to be ignored and the  
NOTPERF_CMD flag to rise (see Section 9.1.22).  
9.1.5  
ACC  
The ACC register contains the speed profile acceleration expressed in step/tick2 (format  
unsigned fixed point 0.40).  
In order to convert ACC value in step/s2, the following formula can be used:  
Equation 5  
ACC 240  
[step/s2] = -------------------------------  
tick2  
where ACC is the integer number stored in the register and tick is 250 ns.  
The available range is from 14.55 to 59590 step/s2 with a resolution of 14.55 step/s2.  
When the ACC value is set to 0xFFF, the device works in infinite acceleration mode.  
Any attempt to write to the register when the motor is running causes the command to be  
ignored and the NOTPERF_CMD flag to rise (see Section 9.1.22).  
9.1.6  
DEC  
The DEC register contains the speed profile deceleration expressed in step/tick2 (format  
unsigned fixed point 0.40).  
In order to convert DEC value in step/s2, the following formula can be used:  
Equation 6  
DEC 240  
2
[step/s ] = -------------------------------  
tick2  
42/70  
Doc ID16737 Rev 5  
 
 
L6470  
Programming manual  
where DEC is the integer number stored in the register and tick is 250 ns.  
The available range is from 14.55 to 59590 step/s2 with a resolution of 14.55 step/s2.  
When the device is working in infinite acceleration mode, this value is ignored.  
Any attempt to write the register when the motor is running causes the command to be  
ignored and the NOTPERF_CMD flag to rise (see Section 9.1.22).  
9.1.7  
MAX_SPEED  
The MAX_SPEED register contains the speed profile maximum speed expressed in  
step/tick (format unsigned fixed point 0.18).  
In order to convert it in step/s, the following formula can be used:  
Equation 7  
MAX_SPEED 218  
[step/s] = -------------------------------------------------------  
tick  
where MAX_SPEED is the integer number stored in the register and tick is 250 ns.  
The available range is from 15.25 to 15610 step/s with a resolution of 15.25 step/s.  
9.1.8  
MIN_SPEED  
The MIN_SPEED register contains the following parameters:  
Table 11. MIN_SPEED register  
Bit 12  
Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0  
LSPD_OPT  
MIN_SPEED  
The MIN_SPEED parameter contains the speed profile minimum speed. Its value is  
expressed in step/tick and to convert it in step/s, the following formula can be used:  
Equation 8  
MIN_SPEED 224  
[step/s] = -----------------------------------------------------  
tick  
where MIN_SPEED is the integer number stored in the register and tick is the ramp 250 ns.  
The available range is from 0 to 976.3 step/s with a resolution of 0.238 step/s.  
When the LSPD_OPT bit is set high, the low speed optimization feature is enabled and the  
MIN_SPEED value indicates the speed threshold below which the compensation works. In  
this case the minimum speed of the speed profile is set to zero.  
An attempt to write the register when the motor is running causes the NOTPERF_CMD flag  
to rise.  
9.1.9  
FS_SPD  
The FS_SPD register contains the threshold speed. When the actual speed exceeds this  
value, the step mode is automatically switched to full-step two-phase on. Its value is  
Doc ID16737 Rev 5  
43/70  
Programming manual  
L6470  
expressed in step/tick (format unsigned fixed point 0.18) and to convert it in step/s, the  
following formula can be used.  
Equation 9  
(FS_SPD + 0.5) ⋅ 218  
[step/s] = -------------------------------------------------------------  
tick  
If the FS_SPD value is set to h3FF (max.) the system always works in microstepping mode  
(SPEED must go beyond the threshold to switch to Full-step mode). Setting FS_SPD to zero  
does not have the same effect as setting Step mode to full-step two-phase on: the zero  
FS_SPD value is equivalent to a speed threshold of about 7.63 step/s.  
The available range is from 7.63 to 15625 step/s with a resolution of 15.25 step/s.  
9.1.10  
KVAL_HOLD, KVAL_RUN, KVAL_ACC and KVAL_DEC  
The KVAL_HOLD register contains the KVAL value that is assigned to the PWM modulators  
when the motor is stopped (compensation excluded).  
The KVAL_RUN register contains the KVAL value that is assigned to the PWM modulators  
when the motor is running at constant speed (compensation excluded).  
The KVAL_ACC register contains the starting KVAL value that can be assigned to the PWM  
modulators during acceleration (compensation excluded).  
The KVAL_DEC register contains the starting KVAL value that can be assigned to the PWM  
modulators during deceleration (compensation excluded).  
The available range is from 0 to 0.996 x VS with a resolution of 0.004 x VS, as shown in  
Table 12.  
Table 12. Voltage amplitude regulation registers  
KVAL_X [7..0]  
Output voltage  
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
VS x (1/256)  
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0
1
VS x (254/256)  
VS x (255/256)  
9.1.11  
INT_SPEED  
The INT_SPEED register contains the speed value at which the BEMF compensation curve  
changes slope (see Section 7.4). Its value is expressed in step/tick and to convert it in  
step/s, the following formula can be used:  
Equation 10  
INTSPEED 226  
[step s] = -----------------------------------------------------  
tick  
where INT_SPEED is the integer number stored in the register and tick is 250 ns.  
44/70  
Doc ID16737 Rev 5  
 
 
L6470  
Programming manual  
The available range is from 0 to 976.5 step/s with a resolution of 0.0596 step/s.  
Any attempt to write the register when the motor is running causes the command to be  
ignored and the NOTPERF_CMD flag to rise (see Section 9.1.22).  
9.1.12  
ST_SLP  
The ST_SLP register contains the BEMF compensation curve slope that is used when the  
speed is lower than the intersect speed (see Section 7.4). Its value is expressed in s/step  
and the available range is from 0 to 0.004 with a resolution of 0.000015.  
When ST_SLP, FN_SLP_ACC and FN_SLP_DEC parameters are set to zero, no BEMF  
compensation is performed.  
Any attempt to write the register when the motor is running causes the command to be  
ignored and the NOTPERF_CMD flag to rise (see Section 9.1.22).  
9.1.13  
9.1.14  
9.1.15  
FN_SLP_ACC  
The FN_SLP_ACC register contains the BEMF compensation curve slope that is used when  
the speed is greater than the intersect speed during acceleration (see Section 7.47.4). Its  
value is expressed in s/step and the available range is from 0 to 0.004 with a resolution of  
0.000015.  
When ST_SLP, FN_SLP_ACC and FN_SLP_DEC parameters are set to zero, no BEMF  
compensation is performed.  
Any attempt to write the register when the motor is running causes the command to be  
ignored and the NOTPERF_CMD flag to rise (see Section 9.1.22).  
FN_SLP_DEC  
The FN_SLP_DEC register contains the BEMF compensation curve slope that is used when  
the speed is greater than the intersect speed during deceleration (see Section 7.47.4). Its  
value is expressed in s/step and the available range is from 0 to 0.004 with a resolution of  
0.000015.  
When ST_SLP, FN_SLP_ACC and FN_SLP_DEC parameters are set to zero, no BEMF  
compensation is performed.  
Any attempt to write the register when the motor is running causes the command to be  
ignored and the NOTPERF_CMD flag to rise (see Section 9.1.22).  
K_THERM  
The K_THERM register contains the value used by the winding resistance thermal drift  
compensation system (see Section 7.6).  
The available range is from 1 to 1.46875 with a resolution of 0.03125, as shown in Table 13.  
Table 13. Winding resistance thermal drift compensation coefficient  
K_THERM [3..0]  
Compensation coeff.  
0
0
0
0
0
0
0
1
1
1.03125  
Doc ID16737 Rev 5  
45/70  
 
Programming manual  
L6470  
Table 13. Winding resistance thermal drift compensation coefficient (continued)  
K_THERM [3..0]  
Compensation coeff.  
1
1
1
1
1
1
0
1
1.4375  
1.46875  
9.1.16  
ADC_OUT  
The ADC_OUT register contains the result of the analog-to-digital conversion of the ADCIN  
pin voltage; the result is available even if the supply voltage compensation is disabled.  
Any attempt to write to the register causes the command to be ignored and the  
NOTPERF_CMD flag to rise (see Section 9.1.22).  
Table 14. ADC_OUT value and motor supply voltage compensation feature  
ADC_OUT  
[4..0]  
Compensation  
coefficient  
VS  
VADCIN/VREG  
Greater than VS,nom + 50%  
VS,nom + 50%  
> 24/32  
24/32  
1
1
1
X
0
X
X
0
0.65625  
0.65625  
1
0
VS,nom  
16/32  
1
0
0
0
0
1
VS,nom – 50%  
8/32  
0
0
1
0
0
0
0
1.968875  
1.968875  
Lower than VS,nom – 50%  
< 8/32  
X
X
X
9.1.17  
OCD_TH  
The OCD_TH register contains the overcurrent threshold value (see Section 6.9). The  
available range is from 375 mA to 6 A, in steps of 375 mA, as shown in Table 15.  
Table 15. Overcurrent detection threshold  
OCD_TH [3..0]  
Overcurrent detection threshold  
0
0
0
0
0
0
0
1
375 mA  
750 mA  
1
1
1
0
5.625 A  
6 A  
1
1
1
1
9.1.18  
STALL_TH  
The STALL_TH register contains the stall detection threshold value (see Section 7.2). The  
available range is from 31.25 mA to 4 A with a resolution of 31.25 mA.  
46/70  
Doc ID16737 Rev 5  
 
L6470  
Programming manual  
Table 16. Stall detection threshold  
STALL_th [6..0]  
Stall detection threshold  
0
0
0
0
0
0
0
0
0
0
0
0
0
1
31.25 mA  
62.5 mA  
1
1
1
1
1
1
0
3.969 A  
4 A  
1
1
1
1
1
1
1
9.1.19  
STEP_MODE  
The STEP_MODE register has the following structure:  
Table 17. STEP_MODE register  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
STEP_SEL  
Bit 0  
SYNC_EN  
SYNC_SEL  
0 (1)  
1. When the register is written, this bit should be set to 0.  
The STEP_SEL parameter selects one of eight possible stepping modes:  
Table 18. Step mode selection  
STEP_SEL[2..0]  
Step mode  
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
Full-step  
Half-step  
1/4 microstep  
1/8 microstep  
1/16 microstep  
1/32 microstep  
1/64 microstep  
1/128 microstep  
Every time the step mode is changed, the electrical position (i.e. the point of microstepping  
sinewave that is generated) is reset to the first microstep.  
Warning: Every time STEP_SEL is changed, the value in the ABS_POS  
register loses meaning and should be reset.  
Any attempt to write the register when the motor is running causes the command to be  
ignored and the NOTPERF_CMD flag to rise (see Section 9.1.22).  
Doc ID16737 Rev 5  
47/70  
Programming manual  
L6470  
When the SYNC_EN bit is set low, BUSY/SYNC output is forced low during command  
execution, otherwise, when the SYNC_EN bit is set high, BUSY/SYNC output provides a  
clock signal according to the SYNC_SEL parameter.  
Table 19. SYNC output frequency  
STEP_SEL (fFS is the full-step frequency)  
000  
fFS /2  
NA  
001  
fFS /2  
fFS  
010  
fFS /2  
fFS  
011  
fFS /2  
fFS  
100  
fFS /2  
fFS  
101  
fFS /2  
fFS  
110  
fFS /2  
fFS  
111  
fFS /2  
fFS  
000  
001  
010  
011  
100  
101  
110  
111  
NA  
NA  
2· fFS  
NA  
2· fFS  
4· fFS  
NA  
2· fFS  
4· fFS  
8· fFS  
NA  
2· fFS  
4· fFS  
8· fFS  
16· fFS  
NA  
2· fFS  
4· fFS  
8· fFS  
16· fFS  
32· fFS  
NA  
2· fFS  
4· fFS  
8· fFS  
16· fFS  
32· fFS  
64· fFS  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
NA  
The synchronization signal is obtained starting from electrical position information (EL_POS  
register) according to Table 10:  
Table 20. SYNC signal source  
SYNC_SEL[2..0]  
Source  
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
EL_POS[7]  
EL_POS[6]  
EL_POS[5]  
EL_POS[4]  
EL_POS[3]  
EL_POS[2]  
EL_POS[1]  
EL_POS[0]  
9.1.20  
ALARM_EN  
The ALARM_EN register allows the selection of which alarm signals are used to generate  
the FLAG output. If the respective bit of the ALARM_EN register is set high, the alarm  
condition forces the FLAG pin output down.  
48/70  
Doc ID16737 Rev 5  
L6470  
Programming manual  
Table 21. ALARM_EN register  
ALARM_EN bit  
Alarm condition  
0 (LSB)  
Overcurrent  
Thermal shutdown  
1
2
Thermal warning  
3
Undervoltage  
4
Stall detection (Bridge A)  
Stall detection (Bridge B)  
Switch turn-on event  
5
6
7 (MSB)  
Wrong or non-performable command  
9.1.21  
CONFIG  
The CONFIG register has the following structure:  
Table 22. CONFIG register  
Bit 15  
Bit 14  
Bit 13  
Bit 12  
Bit 4  
Bit 11  
Bit 10  
Bit 2  
Bit 9  
Bit 8  
Bit 0  
F_PWM_INT  
F_PWM_DEC  
POW_SR  
Bit 7  
Bit 6  
Bit 5  
Bit 3  
Bit 1  
OC_SD RESERVED EN_VSCOMP SW_MODE EXT_CLK  
OSC_SEL  
The OSC_SEL and EXT_CLK bits set the system clock source:  
Table 23. Oscillator management  
EXT_C  
OSC_SEL[2..0]  
LK  
Clock source  
OSCIN  
OSCOUT  
0
0
0
0
0
0
0
0
0
0
1
1
0
1
0
1
Internal oscillator: 16 MHz  
Unused  
Unused  
Supplies a 2-MHz  
clock  
1
1
1
1
0
0
0
0
0
0
1
1
0
1
0
1
Internal oscillator: 16 MHz  
Internal oscillator: 16 MHz  
Internal oscillator: 16 MHz  
Internal oscillator: 16 MHz  
Unused  
Unused  
Unused  
Unused  
Supplies a 4-MHz  
clock  
Supplies an 8-MHz  
clock  
Supplies a 16-MHz  
clock  
Doc ID16737 Rev 5  
49/70  
 
Programming manual  
L6470  
Table 23. Oscillator management (continued)  
EXT_C  
OSC_SEL[2..0]  
Clock source  
OSCIN  
OSCOUT  
LK  
External crystal or resonator: 8  
MHz  
Crystal/resonator  
driving  
Crystal/resonator  
driving  
0
1
1
1
1
0
0
1
1
0
1
0
1
External crystal or resonator:  
16 MHz  
Crystal/resonator  
driving  
Crystal/resonator  
driving  
0
0
0
External crystal or resonator:  
24 MHz  
Crystal/resonator  
driving  
Crystal/resonator  
driving  
External crystal or resonator:  
32 MHz  
Crystal/resonator  
driving  
Crystal/resonator  
driving  
Ext clock source: 8 MHz  
(Crystal/resonator driver  
disabled)  
Supplies inverted  
OSCIN signal  
1
1
1
1
1
1
1
1
0
0
1
1
0
1
0
1
Clock source  
Clock source  
Clock source  
Clock source  
Ext clock source: 16 MHz  
(Crystal/resonator driver  
disabled)  
Supplies inverted  
OSCIN signal  
Ext clock source: 24 MHz  
(Crystal/resonator driver  
disabled)  
Supplies inverted  
OSCIN signal  
Ext clock source: 32 MHz  
(Crystal/resonator driver  
disabled)  
Supplies inverted  
OSCIN signal  
The SW_MODE bit sets the external switch to act as HardStop interrupt or not:  
Table 24. External switch hard stop interrupt mode  
SW_MODE  
Switch mode  
0
1
HardStop interrupt  
User disposal  
The OC_SD bit sets whether an overcurrent event causes or not the bridges to turn off; the  
OCD flag in the STATUS register is forced low anyway:  
Table 25. Overcurrent event  
OC_SD  
Overcurrent event  
1
0
Bridges shut down  
Bridges do not shut down  
The POW_SR bits set the slew rate value of power bridge output:  
50/70  
Doc ID16737 Rev 5  
L6470  
Programming manual  
Table 26. Programmable power bridge output slew rate values  
POW_SR  
[1..0]  
Output slew rate (1)  
[V/µs]  
0
0
1
1
0
1
320  
75  
0
110  
260  
1
1. See S  
and S  
parameters in Table 5 for details.  
Rout_r  
Rout_f  
The EN_VSCOMP bit sets whether the motor supply voltage compensation is enabled or  
not.  
Table 27. Motor supply voltage compensation enable  
EN_VSCOMP  
Motor supply voltage compensation  
0
1
Disabled  
Enabled  
The F_PWM_INT bits set the integer division factor of PWM frequency generation.  
Table 28. PWM frequency: integer division factor  
F_PWM_INT  
Integer division factor  
[2..0]  
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
1
2
3
4
5
6
7
The F_PWM_DEC bits set the multiplication factor of PWM frequency generation.  
Doc ID16737 Rev 5  
51/70  
Programming manual  
L6470  
Table 29. PWM frequency: multiplication factor  
F_PWM_DEC [2..0]  
Multiplication factor  
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0.625  
0.75  
0.875  
1
1.25  
1.5  
1.75  
2
In the following tables all available PWM frequencies are listed according to oscillator  
frequency, F_PWM_INT and F_PWM_DEC values (CONFIG register OSC_SEL parameter  
must be correctly programmed).  
Table 30. Available PWM frequencies [kHz]: 8-MHz oscillator frequency  
F_PWM_DEC  
F_PWM_  
000  
001  
010  
011  
100  
101  
110  
111  
INT  
000  
001  
010  
011  
100  
101  
110  
9.8  
4.9  
3.3  
2.4  
2.0  
1.6  
1.4  
11.7  
5.9  
3.9  
2.9  
2.3  
2.0  
1.7  
13.7  
6.8  
4.6  
3.4  
2.7  
2.3  
2.0  
15.6  
7.8  
5.2  
3.9  
3.1  
2.6  
2.2  
19.5  
9.8  
6.5  
4.9  
3.9  
3.3  
2.8  
23.4  
11.7  
7.8  
27.3  
13.7  
9.1  
31.3  
15.6  
10.4  
7.8  
5.9  
6.8  
4.7  
5.5  
6.3  
3.9  
4.6  
5.2  
3.3  
3.9  
4.5  
Table 31. Available PWM frequencies [kHz]: 16-MHz oscillator frequency  
F_PWM_DEC  
F_PWM_INT  
000  
19.5  
9.8  
001  
23.4  
11.7  
7.8  
010  
27.3  
13.7  
9.1  
011  
31.3  
15.6  
10.4  
100  
39.1  
19.5  
13.0  
101  
46.9  
23.4  
15.6  
110  
54.7  
27.3  
18.2  
111  
62.5  
31.3  
20.8  
000  
001  
010  
6.5  
52/70  
Doc ID16737 Rev 5  
L6470  
Programming manual  
Table 31. Available PWM frequencies [kHz]: 16-MHz oscillator frequency  
F_PWM_DEC  
F_PWM_INT  
000  
4.9  
3.9  
3.3  
2.8  
001  
5.9  
4.7  
3.9  
3.3  
010  
6.8  
5.5  
4.6  
3.9  
011  
7.8  
6.3  
5.2  
4.5  
100  
9.8  
7.8  
6.5  
5.6  
101  
11.7  
9.4  
110  
13.7  
10.9  
9.1  
111  
15.6  
12.5  
10.4  
8.9  
011  
100  
101  
110  
7.8  
6.7  
7.8  
Table 32. Available PWM frequencies [kHz]: 24-MHz oscillator frequency  
F_PWM_DEC  
F_PWM_INT  
000  
000  
29.3  
14.6  
9.8  
001  
35.2  
17.6  
11.7  
8.8  
010  
41.0  
20.5  
13.7  
10.3  
8.2  
011  
46.9  
23.4  
15.6  
11.7  
9.4  
100  
58.6  
29.3  
19.5  
14.6  
11.7  
9.8  
101  
70.3  
35.2  
23.4  
17.6  
14.1  
11.7  
10.0  
110  
82.0  
41.0  
27.3  
20.5  
16.4  
13.7  
11.7  
111  
93.8  
46.9  
31.3  
23.4  
18.8  
15.6  
13.4  
001  
010  
011  
7.3  
100  
5.9  
7.0  
101  
4.9  
5.9  
6.8  
7.8  
110  
4.2  
5.0  
5.9  
6.7  
8.4  
Table 33. Available PWM frequencies [kHz]: 32-MHz oscillator frequency  
F_PWM_DEC  
F_PWM_  
000  
001  
010  
011  
100  
101  
110  
111  
INT  
000  
001  
010  
011  
100  
101  
110  
39.1  
19.5  
13.0  
9.8  
46.9  
23.4  
15.6  
11.7  
9.4  
54.7  
27.3  
18.2  
13.7  
10.9  
9.1  
62.5  
31.3  
20.8  
15.6  
12.5  
10.4  
8.9  
78.1  
39.1  
26.0  
19.5  
15.6  
13.0  
11.2  
93.8  
46.9  
31.3  
23.4  
18.8  
15.6  
13.4  
109.4  
54.7  
36.5  
27.3  
21.9  
18.2  
15.6  
125.0  
62.5  
41.7  
31.3  
25.0  
20.8  
17.9  
7.8  
6.5  
7.8  
5.6  
6.7  
7.8  
Doc ID16737 Rev 5  
53/70  
Programming manual  
L6470  
Any attempt to write the CONFIG register when the motor is running causes the command  
to be ignored and the NOTPERF_CMD flag to rise (see Section 9.1.22).  
9.1.22  
STATUS  
Table 34. STATUS register  
Bit 15  
Bit 14  
STEP_LOSS_B STEP_LOSS_A OCD  
Bit 6 Bit 5 Bit 4  
MOT_STATUS  
Bit 13  
Bit 12  
Bit 11  
Bit 10  
Bit 9  
Bit 8  
SCK_MOD  
Bit 7  
TH_SD  
TH_WRN UVLO WRONG_CMD  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
NOTPERF_CMD  
DIR SW_EVN  
SW_F  
BUSY  
HiZ  
When the HiZ flag is high, it indicates that the bridges are in high impedance state. Any  
motion command makes the device exit from High Z state (HardStop and SoftStop  
included), unless error flags forcing a High Z state are active.  
The UVLO flag is active low and is set by an undervoltage lockout or reset events (power-up  
included).  
The TH_WRN, TH_SD, OCD flags are active low and indicate, respectively, thermal  
warning, thermal shutdown and overcurrent detection events.  
STEP_LOSS_A and STEP_LOSS_B flags are forced low when a stall is detected on bridge  
A or bridge B respectively.  
The NOTPERF_CMD and WRONG_CMD flags are active high and indicate, respectively,  
that the command received by SPI cannot be performed or does not exist at all.  
The SW_F flag reports the SW input status (low for open and high for closed).  
The SW_EVN flag is active high and indicates a switch turn-on event (SW input falling  
edge).  
The UVLO, TH_WRN, TH_SD, OCD, STEP_LOSS_A, STEP_LOSS_B, NOTPERF_CMD,  
WRONG_CMD and SW_EVN flags are latched: when the respective conditions make them  
active (low or high), they remain in that state until a GetStatus command is sent to the IC.  
The BUSY bit reflects the BUSY pin status. The BUSY flag is low when a constant speed,  
positioning or motion command is under execution and is released (high) after the command  
has been completed.  
The SCK_MOD bit is an active high flag indicating that the device is working in Step-clock  
mode. In this case the step-clock signal should be provided through the STCK input pin. The  
DIR bit indicates the current motor direction:  
Table 35. STATUS register DIR bit  
DIR  
Motor direction  
1
0
Forward  
Reverse  
MOT_STATUS indicates the current motor status:  
Doc ID16737 Rev 5  
54/70  
 
L6470  
Programming manual  
Table 36. STATUS register MOT_STATE bits  
MOT_STATUS  
Motor status  
0
0
1
1
0
1
0
1
Stopped  
Acceleration  
Deceleration  
Constant speed  
Any attempt to write to the register causes the command to be ignored and the  
NOTPERF_CMD flag to rise (see Section 9.1.22).  
9.2  
Application commands  
The command summary is given in Table 37.  
Table 37. Application commands  
Command binary code  
Command mnemonic  
Action  
[7..5] [4] [3] [2..1] [0]  
NOP  
000  
0
0
00  
0
Nothing  
SetParam(PARAM,VALUE) 000  
[PARAM]  
[PARAM]  
Writes VALUE in PARAM register  
GetParam(PARAM)  
Run(DIR,SPD)  
001  
010  
Returns the stored value in PARAM register  
1
1
0
1
00 DIR Sets the target speed and the motor direction  
Puts the device into Step-clock mode and imposes DIR  
StepClock(DIR)  
010  
00 DIR  
direction  
Makes N_STEP (micro)steps in DIR direction  
00 DIR  
Move(DIR,N_STEP)  
GoTo(ABS_POS)  
010  
011  
0
0
0
0
0
1
(Not performable when motor is running)  
00  
0
Brings motor into ABS_POS position (minimum path)  
Brings motor into ABS_POS position forcing DIR  
direction  
GoTo_DIR(DIR,ABS_POS) 011  
00 DIR  
Performs a motion in DIR direction with speed SPD until  
GoUntil(ACT,DIR,SPD)  
ReleseSW(ACT, DIR)  
100  
100  
0
1
ACT 01 DIR SW is closed, the ACT action is executed then a SoftStop  
takes place.  
Performs a motion in DIR direction at minimum speed  
ACT 01 DIR until the SW is released (open), the ACT action is  
executed then a HardStop takes place.  
GoHome  
GoMark  
011  
011  
110  
110  
101  
1
1
1
0
1
0
1
1
0
0
00  
00  
00  
00  
00  
0
0
0
0
0
Brings the motor into HOME position  
Brings the motor into MARK position  
ResetPos  
ResetDevice  
SoftStop  
Resets the ABS_POS register (set HOME position)  
Device is reset to power-up conditions.  
Stops motor with a deceleration phase  
Doc ID16737 Rev 5  
55/70  
 
Programming manual  
L6470  
Table 37. Application commands (continued)  
Command binary code  
Command mnemonic  
Action  
[7..5] [4] [3] [2..1] [0]  
HardStop  
SoftHiZ  
101  
101  
1
0
1
0
00  
00  
0
0
Stops motor immediately  
Puts the bridges into high impedance status after a  
deceleration phase  
HardHiZ  
GetStatus  
101  
110  
111  
111  
0
1
0
1
1
0
1
1
00  
00  
01  
00  
0
0
1
0
Puts the bridges into high impedance status immediately  
Returns the STATUS register value  
RESERVED COMMAND  
RESERVED  
RESERVED  
RESERVED COMMAND  
9.2.1  
Command management  
The host microcontroller can control motor motion and configure the L6470 through a  
complete set of commands.  
All commands are composed by a single byte. After the command byte, some bytes of  
arguments should be needed (see Figure 20). Argument length can vary from 1 to 3 bytes.  
Figure 20. Command with 3-byte argument  
!RGUMENT BYTE ꢁ  
ꢋ-3"ꢍ  
!RGUMENT BYTE ꢀ  
ꢋ,3"ꢍ  
3$)  
#OMMAND BYTE  
!RGUMENT BYTE ꢅ  
ꢀXꢀꢀ  
ꢋFROM HOSTꢍ  
3$/  
ꢀXꢀꢀ  
ꢀXꢀꢀ  
ꢀXꢀꢀ  
ꢋTO HOSTꢍ  
By default, the device returns an all zero response for any received byte, the only exceptions  
are the GetParam and GetStatus commands. When one of these commands is received,  
the following response bytes represent the related register value (see Figure 21). Response  
length can vary from 1 to 3 bytes.  
Figure 21. Command with 3-byte response  
3$)  
#OMMAND BYTE  
./0  
./0  
./0  
ꢋFROM HOSTꢍ  
2ESPONSE BYTE ꢁ  
ꢋ-3"ꢍ  
2ESPONSE BYTE ꢀ  
ꢋ,3"ꢍ  
3$/  
ꢀXꢀꢀ  
2ESPONSE BYTE ꢅ  
ꢋTO HOSTꢍ  
During response transmission, new commands can be sent. If a command requiring a  
response is sent before the previous response is completed, the response transmission is  
aborted and the new response is loaded into the output communication buffer (see  
Figure 22).  
56/70  
Doc ID16737 Rev 5  
 
 
L6470  
Programming manual  
Figure 22. Command response aborted  
#OMMAND ꢅ  
ꢋꢂ BYTE RESP EXPECTEDꢍ  
#OMMAND ꢁ  
ꢋNO RESPꢑ EXPECTEDꢍ  
#OMMAND ꢂ  
ꢋꢁ BYTE RESP EXPECTEDꢍ  
#OMMAND ꢈ  
ꢋNO RESPꢑ EXPECTEDꢍ  
#OMMAND ꢉ  
ꢋNO RESPꢑ EXPECTEDꢍ  
3$)  
ꢋFROM HOSTꢍ  
2ESPONSE BYTE ꢁ  
ꢋ-3"ꢍ  
2ESPONSE BYTE ꢅ  
ꢋ-3"ꢍ  
2ESPONSE BYTE ꢀ  
ꢋ,3"ꢍ  
3$/  
ꢀXꢀꢀ  
2ESPONSE BYTE ꢅ  
ꢋTO HOSTꢍ  
#OMMAND ꢅ RESPONSE  
IS ABORTED  
When a byte that does not correspond to a command is sent to the IC, it is ignored and the  
WRONG_CMD flag in the STATUS register is raised (see Section 9.1.22).  
9.2.2  
9.2.3  
Nop  
Table 38. Nop command structure  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
0
0
0
0
0
0
0
0
from host  
Nothing is performed.  
SetParam (PARAM, VALUE)  
Table 39. SetParam command structure  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
0
0
0
PARAM  
VALUE Byte 2 (if needed)  
VALUE Byte 1 (if needed)  
VALUE Byte 0  
from host  
The SetParam command sets the PARAM register value equal to VALUE; PARAM is the  
respective register address listed in Table 12.  
The command should be followed by the new register VALUE (most significant byte first).  
The number of bytes making up the VALUE argument depends on the length of the target  
register (see Table 12).  
Some registers cannot be written (see Table 12); any attempt to write one of those registers  
causes the command to be ignored and the WRONG_CMD flag to rise at the end of the  
command byte as if an unknown command code were sent (see Section 9.1.22).  
Some registers can only be written in particular conditions (see Table 12); any attempt to  
write one of those registers when the conditions are not satisfied causes the command to be  
ignored and the NOTPERF_CMD flag to rise at the end of the last argument byte (see  
Section 9.1.22).  
Any attempt to set an inexistent register (wrong address value) causes the command to be  
ignored and the WRONG_CMD flag to rise at the end of the command byte as if an  
unknown command code were sent.  
Doc ID16737 Rev 5  
57/70  
Programming manual  
L6470  
9.2.4  
GetParam (PARAM)  
Table 40. GetParam command structure  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
0
0
1
PARAM  
from host  
to host  
to host  
to host  
ANS Byte 2 (if needed)  
ANS Byte 1 (if needed)  
ANS Byte 0  
This command reads the current PARAM register value; PARAM is the respective register  
address listed in Table 12.  
The command response is the current value of the register (most significant byte first). The  
number of bytes making up the command response depends on the length of the target  
register (see Table 12).  
The returned value is the register one at the moment of GetParam command decoding. If  
register values change after this moment, the response is not accordingly updated.  
All registers can be read anytime.  
Any attempt to read an inexistent register (wrong address value) causes the command to be  
ignored and the WRONG_CMD flag to rise at the end of the command byte as if an  
unknown command code were sent.  
9.2.5  
Run (DIR, SPD)  
Table 41. Run command structure  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
0
1
0
1
0
0
0
DIR  
from host  
from host  
from host  
from host  
X
X
X
X
SPD (Byte 2)  
SPD (Byte 1)  
SPD (Byte 0)  
The Run command produces a motion at SPD speed; the direction is selected by the DIR  
bit: '1' forward or '0' reverse. The SPD value is expressed in step/tick (format unsigned fixed  
point 0.28) that is the same format as the SPEED register (see Section 9.1.4).  
Note:  
The SPD value should be lower than MAX_SPEED and greater than MIN_SPEED  
otherwise the Run command is executed at MAX_SPEED or MIN_SPEED respectively.  
This command keeps the BUSY flag low until the target speed is reached.  
This command can be given anytime and is immediately executed.  
58/70  
Doc ID16737 Rev 5  
L6470  
Programming manual  
9.2.6  
StepClock (DIR)  
Table 42. Stepclock command structure  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
DIR  
0
1
0
1
1
0
0
from host  
The StepClock command switches the device in Step-clock mode (see Section 6.7.5) and  
imposes the forward (DIR = '1') or reverse (DIR = '0') direction.  
When the device is in Step-clock mode, the SCK_MOD flag in the STATUS register is raised  
and the motor is always considered stopped (see Section 6.7.5 and 9.1.22).  
The device exits from Step-clock mode when a constant speed, absolute positioning or  
motion command is sent through SPI. Motion direction is imposed by the respective  
StepClock command argument and can by changed by a new StepClock command without  
exiting Step-clock mode.  
Events that cause bridges to be forced into high impedance state (overtemperature,  
overcurrent, etc.) do not cause the device to leave Step-clock mode.  
The StepClock command does not force the BUSY flag low. This command can only be  
given when the motor is stopped. If a motion is in progress, the motor should be stopped  
and it is then possible to send a StepClock command.  
Any attempt to perform a StepClock command when the motor is running causes the  
command to be ignored and the NOTPERF_CMD flag to rise (see Section 9.1.22).  
9.2.7  
Move (DIR, N_STEP)  
Table 43. Move command structure  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
0
1
0
0
0
0
0
DIR  
from host  
from host  
from host  
from host  
X
X
N_STEP (Byte 2)  
N_STEP (Byte 1)  
N_STEP (Byte 0)  
The Move command produces a motion of N_STEP microsteps; the direction is selected by  
the DIR bit ('1' forward or '0' reverse).  
The N_STEP value is always in agreement with the selected step mode; the parameter  
value unit is equal to the selected step mode (full, half, quarter, etc.).  
This command keeps the BUSY flag low until the target number of steps is performed. This  
command can only be performed when the motor is stopped. If a motion is in progress, the  
motor must be stopped and it is then possible to perform a Move command.  
Any attempt to perform a Move command when the motor is running causes the command  
to be ignored and the NOTPERF_CMD flag to rise (see Section 9.1.22).  
Doc ID16737 Rev 5  
59/70  
Programming manual  
L6470  
9.2.8  
GoTo (ABS_POS)  
Table 44. GoTo command structure  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
0
1
1
0
0
0
0
0
from host  
X
X
ABS_POS (Byte 2)  
from host  
from host  
from host  
ABS_POS (Byte 1)  
ABS_POS (Byte 0)  
The GoTo command produces a motion to ABS_POS absolute position through the shortest  
path. The ABS_POS value is always in agreement with the selected step mode; the  
parameter value unit is equal to the selected step mode (full, half, quarter, etc.).  
The GoTo command keeps the BUSY flag low until the target position is reached.  
This command can be given only when the previous motion command has been completed  
(BUSY flag released).  
Any attempt to perform a GoTo command when a previous command is under execution  
(BUSY low) causes the command to be ignored and the NOTPERF_CMD flag to rise (see  
Section 9.1.22).  
9.2.9  
GoTo_DIR (DIR, ABS_POS)  
Table 45. GoTo_DIR command structure  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
0
1
1
0
1
0
0
DIR  
from host  
from host  
from host  
from host  
X
X
ABS_POS (Byte 2)  
ABS_POS (Byte 1)  
ABS_POS (Byte 0)  
The GoTo_DIR command produces a motion to ABS_POS absolute position imposing a  
forward (DIR = '1') or a reverse (DIR = '0') rotation. The ABS_POS value is always in  
agreement with the selected step mode; the parameter value unit is equal to the selected  
step mode (full, half, quarter, etc.).  
The GoTo_DIR command keeps the BUSY flag low until the target speed is reached. This  
command can be given only when the previous motion command has been completed  
(BUSY flag released).  
Any attempt to perform a GoTo_DIR command when a previous command is under  
execution (BUSY low) causes the command to be ignored and the NOTPERF_CMD flag to  
rise (see Section 9.1.22).  
60/70  
Doc ID16737 Rev 5  
 
L6470  
Programming manual  
9.2.10  
GoUntil (ACT, DIR, SPD)  
Table 46. GoUntil command structure  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
DIR  
1
0
0
0
ACT  
0
1
from host  
from host  
from host  
from host  
X
X
X
X
SPD (Byte 2)  
SPD (Byte 1)  
SPD (Byte 0)  
The GoUntil command produces a motion at SPD speed imposing a forward (DIR = '1') or a  
reverse (DIR = '0') direction. When an external switch turn-on event occurs (see  
Section 6.13), the ABS_POS register is reset (if ACT = '0') or the ABS_POS register value is  
copied into the MARK register (if ACT = '1'); then the system performs a SoftStop command.  
The SPD value is expressed in step/tick (format unsigned fixed point 0.28) that is the same  
format as the SPEED register (see Section 9.1.4).  
The SPD value should be lower than MAX_SPEED and greater than MIN_SPEED,  
otherwise the target speed is imposed at MAX_SPEED or MIN_SPEED respectively.  
If the SW_MODE bit of the CONFIG register is set low, the external switch turn-on event  
causes a HardStop interrupt instead of the SoftStop one (see Section 6.13 and 9.1.21).  
This command keeps the BUSY flag low until the switch turn-on event occurs and the motor  
is stopped. This command can be given anytime and is immediately executed.  
9.2.11  
ReleaseSW (ACT, DIR)  
Table 47. ReleaseSW command structure  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
1
0
0
1
ACT  
0
1
DIR  
from host  
The ReleaseSW command produces a motion at minimum speed imposing a forward (DIR =  
'1') or reverse (DIR = '0') rotation. When SW is released (opened), the ABS_POS register is  
reset (ACT = '0') or the ABS_POS register value is copied into the MARK register (ACT =  
'1'); the system then performs a HardStop command.  
Note that resetting the ABS_POS register is equivalent to setting the HOME position.  
If the minimum speed value is less than 5 step/s or low speed optimization is enabled, the  
motion is performed at 5 step/s.  
The ReleaseSW command keeps the BUSY flag low until the switch input is released and  
the motor is stopped.  
Doc ID16737 Rev 5  
61/70  
Programming manual  
L6470  
9.2.12  
GoHome  
Table 48. GoHome command structure  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
0
1
1
1
0
0
0
0
from host  
The GoHome command produces a motion to the HOME position (zero position) via the  
shortest path.  
Note that this command is equivalent to the “GoTo(0…0)” command. If a motor direction is  
mandatory, the GoTo_DIR command must be used (see Section 9.2.9).  
The GoHome command keeps the BUSY flag low until the home position is reached. This  
command can be given only when the previous motion command has been completed. Any  
attempt to perform a GoHome command when a previous command is under execution  
(BUSY low) causes the command to be ignored and the NOTPERF_CMD to rise (see  
Section 9.1.22).  
9.2.13  
GoMark  
Table 49. GoMark command structure  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
0
1
1
1
1
0
0
0
from host  
The GoMark command produces a motion to the MARK position performing the minimum  
path.  
Note that this command is equivalent to the “GoTo (MARK)” command. If a motor direction is  
mandatory, the GoTo_DIR command must be used.  
The GoMark command keeps the BUSY flag low until the MARK position is reached. This  
command can be given only when the previous motion command has been completed  
(BUSY flag released).  
Any attempt to perform a GoMark command when a previous command is under execution  
(BUSY low) causes the command to be ignored and the NOTPERF_CMD flag to rise (see  
Section 9.1.22).  
9.2.14  
ResetPos  
Table 50. ResetPos command structure  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
1
1
0
1
1
0
0
0
from host  
The ResetPos command resets the ABS_POS register to zero. The zero position is also  
defined as HOME position (see Section 6.5).  
62/70  
Doc ID16737 Rev 5  
L6470  
Programming manual  
9.2.15  
ResetDevice  
Table 51. ResetDevice command structure  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
1
1
0
0
0
0
0
0
from host  
The ResetDevice command resets the device to power-up conditions (see Section 6.1).  
Note:  
At power-up the power bridges are disabled.  
9.2.16  
SoftStop  
Table 52. SoftStop command structure  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
1
0
1
1
0
0
0
0
from host  
The SoftStop command causes an immediate deceleration to zero speed and a consequent  
motor stop; the deceleration value used is the one stored in the DEC register (see  
Section 9.1.6).  
When the motor is in high impedance state, a SoftStop command forces the bridges to exit  
from high impedance state; no motion is performed.  
This command can be given anytime and is immediately executed. This command keeps  
the BUSY flag low until the motor is stopped.  
9.2.17  
HardStop  
Table 53. HardStop command structure  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
1
0
1
1
1
0
0
0
from host  
The HardStop command causes an immediate motor stop with infinite deceleration.  
When the motor is in high impedance state, a HardStop command forces the bridges to exit  
from high impedance state; no motion is performed.  
This command can be given anytime and is immediately executed. This command keeps  
the BUSY flag low until the motor is stopped.  
9.2.18  
SoftHiZ  
Table 54. SoftHiZ command structure  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
1
0
1
0
0
0
0
0
from host  
Doc ID16737 Rev 5  
63/70  
Programming manual  
The SoftHiZ command disables the power bridges (high impedance state) after a  
L6470  
deceleration to zero; the deceleration value used is the one stored in the DEC register (see  
Section 9.1.6). When bridges are disabled, the HiZ flag is raised.  
When the motor is stopped, a SoftHiZ command forces the bridges to enter into high  
impedance state.  
This command can be given anytime and is immediately executed. This command keeps  
the BUSY flag low until the motor is stopped.  
9.2.19  
HardHiZ  
Table 55. HardHiZ command structure  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
1
0
1
0
1
0
0
0
from host  
The HardHiZ command immediately disables the power bridges (high impedance state) and  
raises the HiZ flag.  
When the motor is stopped, a HardHiZ command forces the bridges to enter into high  
impedance state.  
This command can be given anytime and is immediately executed. This command keeps  
the BUSY flag low until the motor is stopped.  
9.2.20  
GetStatus  
Table 56. GetStatus command structure  
Bit 7  
Bit 6  
Bit 5  
Bit 4  
Bit 3  
Bit 2  
Bit 1  
Bit 0  
1
1
0
1
0
0
0
0
from host  
STATUS MSByte  
STATUS LSByte  
to host  
to host  
The GetStatus command returns the STATUS register value.  
The GetStatus command resets the STATUS register warning flags. The command forces  
the system to exit from any error state. The GetStatus command DOES NOT reset the HiZ  
flag.  
64/70  
Doc ID16737 Rev 5  
L6470  
Package mechanical data  
10  
Package mechanical data  
In order to meet environmental requirements, ST offers these devices in different grades of  
ECOPACK® packages, depending on their level of environmental compliance. ECOPACK®  
specifications, grade definitions and product status are available at: www.st.com.  
ECOPACK® is an ST trademark.  
Table 57. HTSSOP28 mechanical data  
mm  
Dim.  
Min.  
Typ.  
Max.  
A
A1  
A2  
b
1.2  
0.15  
1.05  
0.3  
0.8  
0.19  
0.09  
9.6  
1.0  
c
0.2  
D (1)  
D1  
E
9.7  
5.5  
6.4  
4.4  
2.8  
0.65  
0.6  
1.0  
9.8  
6.2  
4.3  
6.6  
4.5  
E1 (2)  
E2  
e
L
0.45  
0°  
0.75  
8°  
L1  
K
aaa  
0.1  
1. Dimension “D” does not include mold flash, protrusions or gate burrs. Mold flash, protrusions or gate burrs  
must not exceed 0.15 mm per side.  
2. Dimension “E1” does not include interlead flash or protrusions. Interlead flash or protrusions must not  
exceed 0.25 mm per side.  
Doc ID16737 Rev 5  
65/70  
Package mechanical data  
Figure 23. HTSSOP28 mechanical data  
L6470  
!-ꢀꢁꢂꢐꢁVꢅ  
66/70  
Doc ID16737 Rev 5  
L6470  
Package mechanical data  
Table 58. POWERSO36 mechanical data  
mm  
Dim.  
Min.  
Typ.  
Max.  
A
3.60  
0.30  
3.30  
0.10  
0.38  
0.32  
16.00  
9.80  
14.50  
11.10  
2.90  
6.2  
a1  
a2  
a3  
b
0.10  
0
0.22  
0.23  
15.80  
9.40  
13.90  
10.90  
c
D(1)  
D1  
E
E1(1)  
E2  
E3  
e
5.8  
0.65  
e3  
G
11.05  
0
0.10  
15.90  
1.10  
1.10  
10°  
H
15.50  
h
L
0.80  
0°  
N
S
8°  
Doc ID16737 Rev 5  
67/70  
Package mechanical data  
Figure 24. POWERSO36 drawings  
L6470  
1
1
Dꢇ  
$
F
Dꢀ  
H
$
'(7$,/ꢊ%  
OHDG  
(
'(7$,/ꢊ$  
Hꢆ  
+
'(7$,/ꢊ$  
'
VOXJ  
Dꢆ  
%27720ꢊ9,(:  
ꢆꢂ  
ꢀꢉ  
(ꢆ  
%
(ꢀ  
(ꢇ  
'ꢀ  
'(7$,/ꢊ%  
ꢈꢋꢆꢄ  
*DJHꢊ3ODQH  
ꢎꢊ&ꢊꢎ  
6($7,1*ꢊ3/$1(  
6
/
*
&
0
E
ꢈꢋꢀꢇ  
$ %  
362ꢆꢂ0(&  
Kꢊ[ꢊꢅꢄÛ  
ꢌ&23/$1$5,7<ꢍ  
ꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊꢊ  
68/70  
Doc ID16737 Rev 5  
L6470  
Revision history  
11  
Revision history  
Table 59. Revision history  
Date  
Revision  
Changes  
06-Nov-2009  
05-Nov-2010  
1
2
Initial release  
Document status promoted from preliminary data to datasheet  
Updated: Table 4, Table 5  
18-May-2011  
3
Added: Section 6.7.6, Section 6.4.1  
Added device in POWERSO36 and Figure 3  
Updated: Table 2, Table 3, Table 4, Table 5, Table 6, Table 9 and  
Section 9.1.11.  
19-Jun-2012  
4
Minor text changes.  
Changed the title.  
Changed TOP value in Table 2  
Removed Tj value in Table 3.  
Updated HTSSOP28 mechanical data.  
20-Dec-2012  
5
Doc ID16737 Rev 5  
69/70  
L6470  
Please Read Carefully:  
Information in this document is provided solely in connection with ST products. STMicroelectronics NV and its subsidiaries (“ST”) reserve the  
right to make changes, corrections, modifications or improvements, to this document, and the products and services described herein at any  
time, without notice.  
All ST products are sold pursuant to ST’s terms and conditions of sale.  
Purchasers are solely responsible for the choice, selection and use of the ST products and services described herein, and ST assumes no  
liability whatsoever relating to the choice, selection or use of the ST products and services described herein.  
No license, express or implied, by estoppel or otherwise, to any intellectual property rights is granted under this document. If any part of this  
document refers to any third party products or services it shall not be deemed a license grant by ST for the use of such third party products  
or services, or any intellectual property contained therein or considered as a warranty covering the use in any manner whatsoever of such  
third party products or services or any intellectual property contained therein.  
UNLESS OTHERWISE SET FORTH IN ST’S TERMS AND CONDITIONS OF SALE ST DISCLAIMS ANY EXPRESS OR IMPLIED  
WARRANTY WITH RESPECT TO THE USE AND/OR SALE OF ST PRODUCTS INCLUDING WITHOUT LIMITATION IMPLIED  
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE (AND THEIR EQUIVALENTS UNDER THE LAWS  
OF ANY JURISDICTION), OR INFRINGEMENT OF ANY PATENT, COPYRIGHT OR OTHER INTELLECTUAL PROPERTY RIGHT.  
UNLESS EXPRESSLY APPROVED IN WRITING BY TWO AUTHORIZED ST REPRESENTATIVES, ST PRODUCTS ARE NOT  
RECOMMENDED, AUTHORIZED OR WARRANTED FOR USE IN MILITARY, AIR CRAFT, SPACE, LIFE SAVING, OR LIFE SUSTAINING  
APPLICATIONS, NOR IN PRODUCTS OR SYSTEMS WHERE FAILURE OR MALFUNCTION MAY RESULT IN PERSONAL INJURY,  
DEATH, OR SEVERE PROPERTY OR ENVIRONMENTAL DAMAGE. ST PRODUCTS WHICH ARE NOT SPECIFIED AS "AUTOMOTIVE  
GRADE" MAY ONLY BE USED IN AUTOMOTIVE APPLICATIONS AT USER’S OWN RISK.  
Resale of ST products with provisions different from the statements and/or technical features set forth in this document shall immediately void  
any warranty granted by ST for the ST product or service described herein and shall not create or extend in any manner whatsoever, any  
liability of ST.  
ST and the ST logo are trademarks or registered trademarks of ST in various countries.  
Information in this document supersedes and replaces all information previously supplied.  
The ST logo is a registered trademark of STMicroelectronics. All other names are the property of their respective owners.  
© 2012 STMicroelectronics - All rights reserved  
STMicroelectronics group of companies  
Australia - Belgium - Brazil - Canada - China - Czech Republic - Finland - France - Germany - Hong Kong - India - Israel - Italy - Japan -  
Malaysia - Malta - Morocco - Philippines - Singapore - Spain - Sweden - Switzerland - United Kingdom - United States of America  
www.st.com  
70/70  
Doc ID16737 Rev 5  

相关型号:

EVAL6474H

Stepper motor driver mounting the L6474
STMICROELECTR

EVAL6482H

High power microstepping motor driver with the L6482H
STMICROELECTR

EVAL6561-80

POWER FACTOR CORRECTOR
STMICROELECTR

EVAL6563-400W

L6563 400 W FOT-controlled PFC pre-regulator
STMICROELECTR

EVAL6563-80W

L6563 80W High performanceTM PFC with active tracking boost function
STMICROELECTR

EVAL6569

THE L6569 A NEW HIGH VOLTAGE IC DRIVER FOR ELECTRONIC LAMP BALLAST
PANASONIC

EVAL6902D

L6902D 1A Constant current battery charger evaluation board
STMICROELECTR

EVAL6920D

EVAL6920D 1A high efficiency synchronous Rectifier step up converter
STMICROELECTR

EVAL6924D

EVAL6924D Battery charger system with integrated Power Switch for Li-ION/Li-POLYMER
STMICROELECTR

EVALAD5933EB

Evaluation Board for the 1 MSPS 12-Bit Impedance Converter Network Analyzer
ADI

EVALCOMMBOARD

Main interface to the controlling PC a standard 12Mbps based on a ST72F651AR6 USB microcontroller
STMICROELECTR

EVALCONTROLBRD2

1.75 MSPS, 4 mW 10-Bit-12-Bit Parallel ADCs
ADI