Part Number Hot Search : 
AD855 74AUP2G FPSS100U 374000 BR358 BC516 0D511K W91214A
Product Description
Full Text Search
 

To Download L6470H Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
 L6470
Fully integrated microstepping motor driver with motion engine and SPI
Features

Operating voltage: 8 - 45 V 7.0 A output peak current (3.0 A r.m.s.) Low RDSon power MOSFETS Programmable speed profile and positioning Programmable power MOS slew-rate Up to 1/128 microstepping Sensorless stall detection SPI interface Low quiescent and standby currents Programmable non dissipative overcurrent protection on high and low-side Two levels overtemperature protection HTSSOP28 accurate on chip current sensing circuitry suitable for non dissipative current control and overcurrent protections. 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, dead time, PWM frequency etc.) are sent through a standard 5Mbit/s SPI. A very rich set of protections (thermal, low bus voltage, overcurrent, motor stall) allows designing a fully protected application, as required by most demanding motor control applications.
Applications
Bipolar stepper motor
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 RDSon DMOS full bridge with all of the power switches equipped with an Table 1. Device summary
Order codes L6470H L6470HTR
Package HTSSOP28 HTSSOP28
Packing Tube Tape and reel
November 2010
Doc ID 16737 Rev 2
1/64
www.st.com 64
Contents
L6470
Contents
1 2 Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Electrical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1 2.2 Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Recommended operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3 4
Electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Pin connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.1 Pin list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5 6
Typical applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Functional description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
6.1 6.2 6.3 6.4 6.5 6.6 6.7 Device power-up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Logic I/O . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Charge pump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 Microstepping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Absolute position counter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Programmable speed profiles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
6.6.1 Infinite acceleration/deceleration mode . . . . . . . . . . . . . . . . . . . . . . . . . 21
Motor control commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
6.7.1 6.7.2 6.7.3 6.7.4 6.7.5 Constant speed commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Positioning commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Motion commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Stop commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Step-clock mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.8
Internal oscillator and oscillator driver . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.8.1 6.8.2 Internal oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 External clock source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
6.9 6.10 6.11
Overcurrent detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Undervoltage lock-out (UVLO) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 Thermal warning and thermal shutdown . . . . . . . . . . . . . . . . . . . . . . . . . 26
2/64
Doc ID 16737 Rev 2
L6470
Contents
6.12 6.13 6.14 6.15 6.16 6.17
Reset and standby . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 External switch (SW pin) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Programmable DMOS slew-rate, dead-time and blanking-time . . . . . . . . 28 Integrated analog to digital converter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Internal voltage regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 BUSY\SYNC pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.17.1 6.17.2 BUSY operation mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 SYNC operation mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
6.18
FLAG pin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
7
Phase current control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
7.1 7.2 7.3 7.4 7.5 7.6 PWM sinewave generators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 Sensorless stall detection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 Low speed optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 BEMF compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Motor supply voltage compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Winding resistance thermal drift compensation . . . . . . . . . . . . . . . . . . . . 33
8 9
Serial interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Programming manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
9.1 Registers and flags description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
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 9.1.10 9.1.11 9.1.12 9.1.13 9.1.14 ABS_POS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 EL_POS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 MARK . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 SPEED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 ACC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 DEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 MAX_SPEED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 MIN_SPEED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 FS_SPD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 KVAL_HOLD, KVAL_RUN, KVAL_ACC and KVAL_DEC . . . . . . . . . . . . 40 INT_SPEED . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 ST_SLP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 FN_SLP_ACC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 FN_SLP_DEC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Doc ID 16737 Rev 2
3/64
Contents 9.1.15 9.1.16 9.1.17 9.1.18 9.1.19 9.1.20 9.1.21 9.1.22
L6470 K_THERM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 ADC_OUT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 OCD_TH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 STALL_TH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 STEP_MODE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 ALARM_EN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 CONFIG . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 STATUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
9.2
Application commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
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 9.2.10 9.2.11 9.2.12 9.2.13 9.2.14 9.2.15 9.2.16 9.2.17 9.2.18 9.2.19 9.2.20 Command management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Nop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 SetParam (PARAM, VALUE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 GetParam (PARAM) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Run (DIR, SPD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 StepClock (DIR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Move (DIR, N_STEP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 GoTo (ABS_POS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 GoTo_DIR (DIR, ABS_POS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 GoUntil (ACT, DIR, SPD) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 ReleaseSW (ACT, DIR) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 GoHome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 GoMark . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 ResetPos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 ResetDevice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 SoftStop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 HardStop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 SoftHiZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 HardHiZ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 GetStatus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
10 11
Package mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
4/64
Doc ID 16737 Rev 2
L6470
List of tables
List of tables
Table 1. Table 2. Table 3. Table 4. Table 5. Table 6. Table 7. Table 8. 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. Device summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 Absolute maximum ratings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 Recommended operating conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 Electrical characteristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 Pin description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Typical application values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 CL values according to external oscillator frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 Registers map. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 EL_POS register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 MIN_SPEED register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 Voltage amplitude regulation registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 Winding resistance thermal drift compensation coefficient . . . . . . . . . . . . . . . . . . . . . . . . . 42 ADC_OUT value and motor supply voltage compensation feature . . . . . . . . . . . . . . . . . . 42 Overcurrent detection threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Stall detection threshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 STEP_MODE register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 Step mode selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 SYNC output frequency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 SYNC signal source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 ALARM_EN register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 CONFIG register . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 Oscillator management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 External switch hard stop interrupt mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 Overcurrent event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Programmable power bridge output slew-rate values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 Motor supply voltage compensation enable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 PWM frequency: integer division factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 PWM frequency: multiplication factor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 Available PWM frequencies [kHz]: 8 MHz oscillator frequency . . . . . . . . . . . . . . . . . . . . . 48 Available PWM frequencies [kHz]: 16 MHz oscillator frequency . . . . . . . . . . . . . . . . . . . . 49 Available PWM frequencies [kHz]: 24 MHz oscillator frequency . . . . . . . . . . . . . . . . . . . . 49 Available PWM frequencies [kHz]: 32 MHz oscillator frequency . . . . . . . . . . . . . . . . . . . . 50 STATUS register. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 STATUS register DIR bit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 STATUS register MOT_STATE bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 Application commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 Nop command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 SetParam command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 GetParam command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Run command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Stepclock command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 Move command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 GoTo command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 GoTo_DIR command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 GoUntil command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 ReleaseSW command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 GoHome command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 GoMark command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Doc ID 16737 Rev 2
5/64
List of tables Table 49. Table 50. Table 51. Table 52. Table 53. Table 54. Table 55. Table 56. Table 57.
L6470
ResetPos command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 ResetDevice command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 SoftStop command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 HardStop command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 SoftHiZ command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 HardHiZ command structure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 GetStatus command structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 HTSSOP28 mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 Document revision history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
6/64
Doc ID 16737 Rev 2
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. Figure 10. Figure 11. Figure 12. Figure 13. Figure 14. Figure 15. Figure 16. Figure 17. Figure 18. Figure 19. Figure 20. Figure 21. Block diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Pin connection (top view) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Bipolar stepper motor control application using L6470 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 Charge pump circuitry. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Normal mode and microstepping (128 microsteps) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Speed profile in infinite acceleration/deceleration mode . . . . . . . . . . . . . . . . . . . . . . . . . . 21 Constant speed commands examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Positioning command examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 Motion commands examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 OSCIN and OSCOUT pins configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25 External switch connection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Internal 3 V linear regulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28 Current distortion and compensation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 BEMF compensation curve. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Motor supply voltage compensation circuit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 SPI timings diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 Daisy-chain configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 Command with three byte argument . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Command with three byte responset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 Command response aborted . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 HTSSOP28 mechanical data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Doc ID 16737 Rev 2
7/64
Block diagram
L6470
1
Block diagram
Figure 1. Block diagram
VDD
OSCIN
OSCOUT ADCIN
VREG
CP
VBOOT
16MHz Oscillator STBY/RST FLAG
Ext. Osc. driver & Clock gen. ADC
Charge pump 3V Voltage Reg. HS A1 VSA V boot V boot HS A2 OUT1A VSA
Registers
HS A1 LS A1 HS A2 LS A1 LS A2 LS A2
OUT2A
V DD
Control Logic
PGND
HS B1 LS B1 HS B2 V boot HS B1 V boot HS B2
VSB VSB
CS
SPI
CK SDO SDI BUSY/SYNC
LS B2
OUT1B OUT2B Temperature sensing V DD Current sensing Current DACs & Comparators LS B1 LS B2 PGND
STCK
SW
DGND
AGND
AM02377v1
8/64
Doc ID 16737 Rev 2
L6470
Electrical data
2
2.1
Electrical data
Absolute maximum ratings
Table 2.
Symbol VDD VS VGND, diff Vboot VREG VADCIN VOSC Vout_diff VLOGIC Iout (1) Iout_peak TOP Ts Ptot
(1)
Absolute maximum ratings
Parameter Logic interface supply voltage Motor supply voltage Differential voltage between AGND, PGND and DGND Bootstrap peak voltage Internal voltage regulator output pin and logic supply voltage Integrated ADC input voltage range (ADCIN pin) OSCIN and OSCOUT pin voltage range Differential voltage between VSA, OUT1A, OUT2A, PGND and VSB, OUT1B, OUT2B, PGND pins Logic inputs voltage range R.m.s. output current Pulsed output current Operating junction temperature Storage temperature range Total power dissipation (TA = 25C) Maximum withstanding voltage range Test condition: CDF-AEC-Q100-002- "human body model" Acceptance criteria "normal performance" all pins vs. all pins Maximum withstanding voltage range test condition: TBD - "charge device model" all pins vs. all pins TBD TPULSE < 1 ms VSA = VSB = VS VSA = VSB = VS Test condition Value 5.5 48 0.3 55 3.6 -0.3 to +3.6 -0.3 to +3.6 48 -0.3 to +5.5 3 7 150 -55 to 150 TBD Unit V V V V V V V V V A A C C W
2000
V
All pins
TBD
V
1. Maximum output current limit is related to metal connection and bonding characteristics. Actual limit must satisfy maximum thermal dissipation constraints.
Doc ID 16737 Rev 2
9/64
Electrical data
L6470
2.2
Recommended operating conditions
Table 3.
Symbol VDD VS
Recommended operating conditions
Parameter Logic interface supply voltage 5 V logic outputs Motor supply voltage Differential voltage between VSA, OUT1A, OUT2A, PGND and VSB, OUT1B, OUT2B, PGND pins Logic supply voltage Integrated ADC input voltage (ADCIN pin) Operating junction temperature VSA = VSB = VS 8 5 45 V Test condition 3.3 V logic outputs Value 3.3 V Unit
Vout_diff
VSA = VSB = VS
45
V
VREG,in VADC Tj
VREG voltage imposed by external source
3.2 0 - 25
3.3 VREG 125
V V C
10/64
Doc ID 16737 Rev 2
L6470
Electrical characteristics
3
Electrical characteristics
VSA = VSB = 36 V; VDD = 3.3 V; internal 3 V regulator; TJ = 25C, unless otherwise specified.
Table 4.
Symbol General VSthOn VSthOff VSthHyst Iq Tj(WRN) Tj(SD)
Electrical characteristics
Parameter Test condition Min Typ Max Unit
VS UVLO turn on threshold VS UVLO turn off threshold VS UVLO threshold hysteresis Quiescent motor supply current Thermal warning temperature Thermal shutdown temperature Internal oscillator selected; VREG = 3.3V ext; CP floating
7.5 6.6 0.7
8.2 7.2 1 0.5 130 160
8.9 7.8 1.3 0.65
V V V mA C C
Charge pump Vpump fpump,min fpump,max Iboot Voltage swing for charge pump oscillator Minimum charge pump oscillator frequency (1) Maximum charge pump oscillator frequency Average boot current
(1)
10 660 800 fsw,A = fsw,B = 15.6 kHz POW_SR = `10' 1.1 1.4
V kHz kHz mA
Output DMOS transistor Tj = 25 C, Iout = 3A Tj = 125 C, (2) Iout = 3A Tj = 25 C, Iout = 3A Tj = 125 C, (2) Iout = 3A OUT = VS OUT = GND POW_SR = '00', Iout = +1A POW_SR = '00', Iout = -1A tr Rise time
(3)
0.37 0.51 0.18 0.23 3.1 mA -0.3 100 80 100 200 300 ns
High side switch ON resistance RDS(on) Low side switch ON resistance
IDSS
Leakage current
POW_SR = `11', Iout = 1A POW_SR = `10', Ilout = 1A POW_SR = `01', Iout = 1A
Doc ID 16737 Rev 2
11/64
Electrical characteristics Table 4.
Symbol
L6470
Electrical characteristics (continued)
Parameter Test condition POW_SR = '00'; Iout = +1A POW_SR = '00'; Iout = -1A Min Typ 90 110 110 260 375 285 360 285 150 95 320 260 260 110 75 V/s V/s ns Max Unit
tf
Fall time
(3)
POW_SR = `11', Iout = 1A POW_SR = `10', Iout = 1A POW_SR = `01', Iload= 1A POW_SR = '00', Iout = +1A POW_SR = '00', Iout = -1A
SRout_r
Output rising slew-rate
POW_SR = `11', Iout = 1A POW_SR = `10', Iout = 1A POW_SR = `01', Iout = 1A POW_SR = '00', Iout = +1A POW_SR = '00', Iout = -1A
SRout_f
Output falling slew-rate
POW_SR = `11', Iout = 1A POW_SR = `10', Iout = 1A POW_SR = `01', Iout = 1A
Dead time and blanking POW_SR = '00' POW_SR = `11', fOSC = 16MHz tDT Dead time POW_SR = `10', fOSC = 16MHz POW_SR = `01', fOSC = 16MHz POW_SR = '00' POW_SR = `11', fOSC = 16MHz tblank Blanking time POW_SR = `10', fOSC = 16MHz POW_SR = `01', fOSC = 16MHz Source-drain diodes VSD,HS VSD,LS trrHS trrLS High side diode forward ON voltage Low side diode forward ON voltage High side diode reverse recovery time Low side diode reverse recovery time Iout = 1 A Iout = 1 A Iout = 1 A Iout = 1 A 1 1 30 100 1.1 1.1 V V ns ns 250 375 ns 625 875 250 375 ns 625 875
12/64
Doc ID 16737 Rev 2
L6470 Table 4.
Symbol Logic inputs and outputs VIL VIH IIH IIL Low level logic input voltage High level logic input voltage High level logic input current Low level logic input current
(4) (5)
Electrical characteristics Electrical characteristics (continued)
Parameter Test condition Min Typ Max Unit
0.8 2 VIN = 5 V VIN = 0 V VDD = 3.3 V, IOL = 4 mA VDD = 5 V, IOL = 4 mA VDD = 3.3 V, IOH = 4 mA VDD = 5 V, IOH = 4 mA 2.4 -1 0.3 1
V V A A
VOL
Low level logic output voltage (6)
V 0.3
VOH
High level logic output voltage
V 4.7 335 430 3.7 2 565 4.3 2.5 2 k mA A MHz
RPU RPD Ilogic Ilogic,STBY fSTCK
CS Pull-up and STBY pull-down resistors Internal logic supply current Standby mode internal logic supply current Step clock input frequency
CS = GND; STBY/RST = 5 V 3.3 V VREG externally supplied, internal oscillator 3.3 V VREG externally supplied
Internal oscillator and external oscillator driver fosc,i fosc,e VOSCOUTH Internal oscillator frequency Programmable external oscillator frequency OSCOUT clock source high level voltage Internal oscillator 3.3 V VREG externally supplied; IOSCOUT = 4 mA Internal oscillator 3.3 V VREG externally supplied; IOSCOUT = 4 mA Internal oscillator TBD TBD TBD Tj = 25C, VREG = 3.3 V -3% 8 2.4 16 +3% MHz 32 MHz V
VOSCOUTL trOSCOUT tfOSCOUT textosc tintosc SPI fCK,MAX trCK tfCK
OSCOUT clock source low level voltage
0.3
V
OSCOUT clock source rise and fall time Internal to external oscillator switching delay External to internal oscillator switching delay
ns ms s
Maximum SPI clock frequency (7) SPI clock rise and fall time (5)
5 TBD
MHz s
Doc ID 16737 Rev 2
13/64
Electrical characteristics Table 4.
Symbol thCK tlCK tsetCS tholCS tdisCS tsetSDI tholSDI tenSDO tdisSDO tvSDO tholSDO
L6470
Electrical characteristics (continued)
Parameter SPI clock high and low time (5) Chip select setup time (5) Chip select hold time Deselect time
(5) (5)
Test condition
Min
Typ TBD TBD TBD TBD TBD TBD
Max Unit ns ns ns ns ns ns ns ns ns ns
Data input setup time (5) Data input hold time
(5) (5) (5)
Data output enable time Data output disable time
TBD TBD TBD TBD
Data output valid time (5) Data output hold time
(5)
Switch input (SW) RPUSW SW input pull-up resistance SW = GND 60 85 110 k
PWM modulators fPWM NPWM Programmable PWM frequency (1) PWM resolution fosc = 16MHz fosc = 32MHz 2.8 5.6 8 62.5 kHz 125 bit
Overcurrent protection OCD_thMAX OCD_thMIN OCD_thRES tOCD,Flag tOCD,SD VFLAG, VBUSY Standby IqSTBY tSTBY,min tlogicwu Quiescent motor supply current in standby conditions Minimum standby time Logic power-on and wake-up time VS = 8V VS = 36V 26 30 10 38 45 34 A 36 s s Maximum programmable overcurrent detection threshold OCD_TH = `1111' 6 0.375 0.375 dIout/dt = 350A/s, RFLAG = TBD dIout/dt = 350A/s POW_SR = '10' Iod = 4mA 650 600 0.3 1000 A A A ns s V
Minimum programmable overcurrent detection OCD_TH = `0000' threshold Programmable overcurrent detection threshold resolution OCD to Flag signal delay time OCD to shut-down delay time Open drain low level output voltage
14/64
Doc ID 16737 Rev 2
L6470 Table 4.
Symbol
Electrical characteristics Electrical characteristics (continued)
Parameter Test condition Power bridges disabled, Cp = 10nF, Cboot = 220nF Min Typ Max Unit s
tcpwu
Charge pump power-on and wake-up time
650
Internal voltage regulator VREG IREG VREG, drop IREG,STBY Voltage regulator output voltage Voltage regulator output current Voltage regulator output voltage drop Voltage regulator standby output current IREG = 40mA 50 10 2.9 3 3.2 40 V mA mV mA
Integrated analog to digital converter NADC VADC,ref fS Analog to digital converter resolution Analog to digital converter reference voltage Analog to digital converter sampling frequency 5 VREG fPWM bit V kHz
1. Accuracy depends on oscillator frequency accuracy. 2. Tested at 25C in a restricted range and guaranteed by characterization. 3. Rise and fall time depends on motor supply voltage value. Refer to SRout values in order to evaluate the actual rise and fall time. 4. Not valid for STBY/RST pin which have internal pull-down resistor. 5. Not valid for SW and CS pins which have internal pull-up resistor 6. FLAG, BUSY and SYNC open drain outputs included. 7. See Figure 16- SPI timings diagram for details.
Doc ID 16737 Rev 2
15/64
Pin connection
L6470
4
Pin connection
Figure 2. Pin connection (top view)
4.1
Pin list
Table 5.
N. 17 6
Pin description
Name VDD VREG Type Power Power Function Logic outputs supply voltage (pull-up reference) Internal 3 V voltage regulator output and 3.3 V external logic supply Oscillator pin 1. To connect an external oscillator or clock source. If this pin is UNUSED, it should be connected to ground. Oscillator pin 2. To connect an external oscillator. When the internal oscillator is used this pin can supply a 2/4/8/16 MHz. If this pin is UNUSED, it should be left floating. Charge pump oscillator output Bootstrap voltage needed for driving the high side power DMOS of both bridges (A and B) Internal analog to digital converter input Full bridge A power supply pin. must be connected to VSB
7
OSCIN
Analog input
8
OSCOUT
Analog output
10 11 5 2
CP VBOOT ADCIN VSA
Output Supply voltage Analog input Power supply
26
16/64
Doc ID 16737 Rev 2
L6470 Table 5.
N. 12 VSB 16 27 PGND 13 1 28 14 15 9 4 21 22 18 20 19 23 OUT1A OUT2A OUT1B OUT2B AGND SW DGND BUSY\SYNC SDO SDI CK CS Power output Power output Power output Power output Ground Logical input Ground Full bridge A output 1 Full bridge A output 2 Full bridge B output 1 Full bridge B output 2 Analog ground. Ground Power ground pin Power supply
Pin connection Pin description (continued)
Name Type Function Full bridge B power supply pin. must be connected to VSA
External switch input pin. If not used the pin should be connected to VDD. Digital ground
By default this BUSY pin is forced low when the device is Open drain output performing a command. Otherwise the pin can be configured to generate a synchronization signal. Logic output Logic input Logic input Logic input Data output pin for serial interface Data input pin for serial interface Serial interface clock Chip Select input pin for serial interface
24
FLAG
Status Flag pin. An internal open drain transistor can pull the pin to GND when a programmed alarm condition Open drain output occurs (step loss, OCD, thermal pre-warning or shutdown, UVLO, wrong command, non performable command) Logic input Logic input Ground Standby and reset pin. LOW logic level reset the logic and puts the device in standby mode. If not used, should be connected to VDD Step clock input Internally connected to PGND, AGND and DGND pins
3 25
STBY\RST STCK
EPAD Exposed pad
Doc ID 16737 Rev 2
17/64
Typical applications
L6470
5
Typical applications
Table 6. Typical application values
Name CVS CVSPOL CREG CREGPOL CDD CDDPOL D1 CBOOT CFLY RPU RSW CSW RA RB value 220 nF 100 F 100 nF 47 F 100 nF 10 F BAT46SW or 2x 1N4148 220 nF 10 nF 39 k 100 10 nF 2.7 k (VS = 36 V) 62 k (VS = 36 V)
Figure 3.
Bipolar stepper motor control application using L6470
18/64
Doc ID 16737 Rev 2
L6470
Functional description
6
6.1
Functional description
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 2MHz clock is provided by OSCOUT pin, Bridges are disabled (High Z), UVLO bit in STATUS register is forced low (fail condition), FLAG output is forced low
During power-up the device is under reset (all logic IO disabled and power bridges in high impedance state) until the following conditions are satisfied:

VS is greater than VSthOn, VREG is greater than VREGth, Internal oscillator is operative.
Any motion command makes the device exiting 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.3V-5V 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.3V external supply voltage, the output is 3.3V compatible. When VDD is connected to a 5V supply voltage, SDO is 5V compatible. VDD is not internally connected to VREG, an external connection is always needed. A 10 F capacitor should be connected to 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 4).
Doc ID 16737 Rev 2
19/64
Functional description Figure 4. Charge pump circuitry
L6470
6.4
Microstepping
The driver is able to divide the single step into up to 128 microsteps. Stepping mode can be programmed by STEP_SEL parameter in STEP_MODE register (see Table 17). Step mode can be only changed when motor is stopped. Every time the step mode is changed the electrical position (i.e. the point of microstepping sinewave that is generated) is reset to first microstep and the absolute position counter value (see Section 6.5) becomes meaningless. Figure 5. Normal mode and microstepping (128 microsteps)
20/64
Doc ID 16737 Rev 2
L6470
Functional description When motor speed is greater than a programmable full step speed threshold, the L6470 switches automatically to full-step mode; the driving mode returns to microstepping when motor speed decrease below the full step speed threshold. Full step speed threshold is set through the FS_SPD register (see Section 9.1.9).
6.5
Absolute position counter
An internal 22 bit register (ABS_POS) takes memory of 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).
6.6
Programmable speed profiles
The user can easily program a customized speed profile defining independently acceleration, deceleration, maximum and minimum speed values by 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 measure does not depend on 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). Minimum speed parameter ranges from 0 to (212-1)*2-24 step/tick (equivalent to 0 to 976.3 step/s). Maximum speed parameter ranges from 2-18 to (210-1)* 2-18 step/tick (equivalent to 15.25 to 15610 step/s).
6.6.1
Infinite acceleration/deceleration mode
When ACC register value is set to max (0xFFF), system works in "infinite acceleration mode": acceleration and deceleration phases are totally skipped as shown in Figure 6. It is not possible to skip the acceleration or deceleration phase independently.
Figure 6.
Speed profile in infinite acceleration/deceleration mode
Doc ID 16737 Rev 2
21/64
Functional description
L6470
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 52.
6.7.1
Constant speed commands
A constant speed command produces a motion in order to reach and maintain a userdefined target speed starting from the programmed minimum speed (set in MIN_SPEED register) and with the programmed acceleration/deceleration value (set in ACC and DEC registers). A new constant speed command can be requested anytime. Figure 7. Constant speed commands examples
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 8). 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.
22/64
Doc ID 16737 Rev 2
L6470 Figure 8. Positioning command examples
Functional description
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 9). 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 9. Motion commands examples
6.7.4
Stop commands
A stop command forces the motor to stop. Stop commands can be sent anytime. SoftStop command causes the motor to decelerate with programmed deceleration value until MIN_SPEED value is reached and then stops the motor keeping the rotor position (a holding torque is applied). HardStop command stops the motor instantly ignoring deceleration constrain and keeping the rotor position (a holding torque is applied).
Doc ID 16737 Rev 2
23/64
Functional description
L6470
SoftHiZ command causes the motor to decelerate with programmed deceleration value until MIN_SPEED value is reached and then forces the bridges in high impedance state (no holding torque is present). HardHiZ command instantly forces the bridges in high impedance state (no holding torque is present).
6.7.5
Step-clock mode
In step clock mode the motor motion is defined by the step clock signal applied to STCK pin. At each step clock rising edge, the motor is moved of one microstep in the programmed direction and absolute position is consequently updated. When the system is in step clock mode the SCK_MOD flag in STATUS register is raised, 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").
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 22). 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.
6.8.1
Internal oscillator
In this mode the internal oscillator is activated and OSCIN is unused. If OSCOUT clock source is enabled, OSCOUT pin provides a 2, 4, 8 or 16 MHz clock signal (according to OSC_SEL value); otherwise it is unused (see Figure 10).
6.8.2
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, OSCIN and OSCOUT pins are used to drive the crystal/resonator (see Figure 10). Crystal/resonator and load capacitors (CL) must be placed as close as possible to the pins. Refer to Table 7 for the choice of the load capacitor value according to the external oscillator frequency.
24/64
Doc ID 16737 Rev 2
L6470 Table 7.
Functional description CL values according to external oscillator frequency
CL (2) 25pF (ESRmax = 80) 18pF (ESRmax = 50) 15pF (ESRmax = 40) 10pF (ESRmax = 40)
Crystal/resonator freq. (1) 8MHz 16MHz 24MHz 32MHz
1. First harmonic resonance frequency. 2. Lower ESR value allows driving greater load capacitors.
If a direct clock source is used, it must be connected to OSCIN pin and OSCOUT pin supplies the inverted OSCIN signal (see Figure 10). Figure 10. OSCIN and OSCOUT pins configurations
Note:
When OSCIN is UNUSED, it should be connected to ground. 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, STATUS register OCD flag is forced low until the overcurrent event is expired and a GetStatus command is sent to the IC (see paragraphs 9.1.22 and 9.1.17). Overcurrent event expires when all the power MOSFET currents fall below the programmed overcurrent threshold.
Doc ID 16737 Rev 2
25/64
Functional description
L6470
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 8, paragraph 9.1.17). It is possible to set if an overcurrent event causes or not the MOSFETs turn-off (bridges in high impedance status)acting on OC_SD bit in the CONFIG register (see paragraph 9.1.21). The OCD flag in the STATUS register is raised anyway (see Table 33, paragraph 9.1.22).
6.10
Undervoltage lock-out (UVLO)
The L6470 provides a motor supply UVLO protection. When the motor supply voltage falls below the VSthOff threshold voltage, STATUS register UVLO flag is forced low. When a GetStatus command is sent to the IC, and the undervoltage condition is expired, the UVLO flag is released (see paragraphs 9.1.22 and 9.2.20). 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. UVLO flag is forced low by logic reset (power-up included) even if no UVLO condition is present.
6.11
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 paragraph 9.1.22) until the temperature decrease below Tj(WRN) and a GetStatus command is sent to the IC (see paragraphs 9.1.22 and 9.2.20). When the thermal shutdown threshold (Tj(OFF)) is reached the device goes in 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 paragraph 9.1.22). Thermal shutdown condition only expires when the temperature goes below the thermal warning threshold (Tj(WRN)). On exit from thermal shutdown condition the bridges are still disabled (HiZ flag high); whichever motion command makes the device exiting from High Z state (HardStop and SoftStop included).
6.12
Reset and standby
The device can be reset and put into standby mode through a dedicated pin. When 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 registers values are reset to default and all protection functions are disabled. STBY\RST input has to be forced low at least for tSTBY,min in order to ensure the complete switch to standby mode. On exit from 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.
26/64
Doc ID 16737 Rev 2
L6470
Functional description On exit from standby mode the bridges are disabled (HiZ flag high) and whichever motion command makes the device exiting from High Z state (HardStop and SoftStop included).
Caution:
It is not recommended to reset 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 pin sources a current towards an external switch in order to test whether it is CLOSED or OPEN: the SW input is internally pulled-up to VDD and detects if the pin is open or connected to ground (see Figure 11). The SW_F bit of STATUS register indicates if the switch is open (`0') or closed (`1') (see paragraph 9.1.22); the bit value is refreshed at every system clock cycle (125 ns). SW_EVN flag of STATUS register is raised when a switch turn-on event (SW input falling edge) is detected (see paragraph 9.1.22). A GetStatus command releases the SW_EVN flag (see paragraph 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 are at user disposal (see Table 33, paragraph 9.1.22). The switch input can used by GoUntil and ReleaseSW commands as described in paragraph 9.2.10 and 7.3. If the SW input is not used, it should be connected to VDD. Figure 11. External switch connection
Doc ID 16737 Rev 2
27/64
Functional description
L6470
6.14
Programmable DMOS slew-rate, dead-time 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 25, paragraph 9.1.21).
6.15
Integrated analog to digital converter
The L6470 integrates a 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 paragraph 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 user disposal.
6.16
Internal voltage regulator
The L6470 integrates a voltage regulator which generates a 3 V voltage starting from motor power supply (VSA and VSB). In order to make the voltage regulator stable, at least 22 F should be connected between 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 12). A digital output range 5 V compatible can be obtained connecting VDD pin to an external 5 V voltage source. In both cases, a 10 F capacitance should be connected to 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 avoiding power dissipation of the internal 3 V voltage regulator (Figure 12). External voltage regulator should never sink current from VREG pin. Figure 12. Internal 3 V linear regulator
28/64
Doc ID 16737 Rev 2
L6470
Functional description
6.17
BUSY\SYNC pin
This pin is an open drain output which can be used as busy or synchronization signal according to SYNC_EN bit value (STEP_MODE register).
6.17.1
BUSY operation mode
The pin works as busy signal when 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 command has been executed (target speed or target position reached). The STATUS register includes a BUSY flag that is the BUSY pin mirror (see paragraph 9.1.22). In 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 SYNC_EN bit is set high. In this mode a step clock signal is provided on output according to SYNC_SEL and STEP_SEL parameters combination (see paragraph 9.1.19).
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 paragraph 9.1.20, Table 20). If the corresponding bit of 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 case of daisy-chain configuration, FLAG pins of different ICs can be or-wired to save host controller GPIOs.
Doc ID 16737 Rev 2
29/64
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 K VAL
Different KVAL values can be programmed for acceleration, deceleration and constant speed phases and when motor is stopped (HOLD phase) through KVAL_ACC, KVAL_DEC, KVAL_RUN and KVAL_HOLD registers (see paragraph 9.1.10). KVAL value is calculated according following formula: Equation 2
K VAL = ((K VAL_X + BEMF _ COMP ) x VSCOMP x K _ THERM) x 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). L6470 offers various methods to guarantee a stable current value, allowing the compensation of:

low speed optimization (see paragraph 7.3) back electromotive force value (see paragraph 7.4); motor supply voltage variation (see paragraph 7.5); windings resistance variation (see paragraph 7.6).
7.1
PWM sinewave generators
The two voltage sinewaves applied to 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
fPWM =
fOSC m 512 N
'N' is the integer division factor and 'm' is the multiplication factor. 'N' and 'm' values can be programmed by F_PWM_INT and F_PWM_DEC parameters in CONFIG register (see Table 27 and Table 28, paragraph 9.1.21). Available PWM frequencies are listed in paragraph 9.1.21 from Table 29 to Table 32.
30/64 Doc ID 16737 Rev 2
L6470
Phase current control
7.2
Sensorless stall detection
Depending on motor speed and load angle characteristics, 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 paragraph 9.2.20).
7.3
Low speed optimization
When 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 13). L6470 implements a low speed optimization in order to remove this effect.
Figure 13. Current distortion and compensation
The optimization can be enabled setting high the LSPD_OPT bit in MIN_SPEED register (see paragraph 9.1.8) and is active into speed range from zero to MIN_SPEED. When low speed optimization is enabled, speed profile minimum speed is forced to zero.
Doc ID 16737 Rev 2
31/64
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 14). 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 paragraphs 9.1.11, 9.1.12, 9.1.13 and 9.1.14).
Figure 14. BEMF compensation curve
To obtain different current values during acceleration and deceleration phase two different final slope values, and consequently two different compensation curves, can be programmed. 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 15). The ADC input is sampled at fS frequency, which is equal to PWM frequency.
32/64
Doc ID 16737 Rev 2
L6470
Phase current control
Figure 15. Motor supply voltage compensation circuit
Motor supply voltage compensation can be enabled setting high the EN_VSCOMP bit of the CONFIG register (see Table 21, paragraph 9.1.21). If EN_VSCOMP bit is low the compensation is disabled and the internal analog to digital converter is at user disposal; sampling rate is always equal to PWM frequency.
7.6
Winding resistance thermal drift compensation
The higher is the winding resistance the greater is 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 by temperature rising. The value in K_THERM register (see paragraph 9.1.15) multiplies duty cycle value allowing to face higher phase resistance value. The compensation algorithm and the eventual motor temperature measurement should be implemented by microcontroller firmware.
Doc ID 16737 Rev 2
33/64
Serial interface
L6470
8
Serial interface
The integrated 8bit 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 into the shift register the return value. All timing requirements are shown in Figure 16 (see respective electrical characteristics section for values). Multiple devices can be connected in daisy-chain configuration, as shown in Figure 17.
Figure 16. SPI timings diagram
34/64
Doc ID 16737 Rev 2
L6470 Figure 17. Daisy-chain configuration
Serial interface
Doc ID 16737 Rev 2
35/64
Programming manual
L6470
9
9.1
Programming manual
Registers and flags description
Following a map of the user registers available (detailed description in respective paragraphs):
Table 8.
Address [Hex] h01 h02 h03 h04 h05 h06 h07 h08 h15 h09 h0A h0B h0C h0D h0E h0F h10 h11 h12 h13 h14 h16 h17
Registers map
Register name ABS_POS EL_POS MARK SPEED ACC DEC MAX_SPEED MIN_SPEED FS_SPD KVAL_HOLD KVAL_RUN KVAL_ACC KVAL_DEC INT_SPD ST_SLP Register function Current position Electrical position Mark position Current speed Acceleration Deceleration Maximum speed Minimum speed Full step speed
Holding KVAL Constant speed KVAL Acceleration starting KVAL Deceleration starting KVAL
Len. [bit] 22 9 22 20 12 12 10 13 10 8 8 8 8 14 8 8 8 4 5 4 7 8 8
Reset Hex 000000 0 000 0
Reset Value
Remarks
(1)
R, WS R, WS R, WR R R, WS R, WS R, WR R, WS R, WR R, WR R, WR R, WR R, WR R, WH R, WH R, WH R, WH R, WR R
000000 0 00000 08A 08A 041 000 027 29 29 29 29 0408 19 29 29 0 XX(2) 8 40 7 FF 3.38A 2.03A 128 microsteps All alarms enabled 0 step/tick (0 step/s) 125.5e-12 step/tick2 (2008 step/s2) 125.5e-12 step/tick2 (2008 step/s2) 248e-6 step/tick (991.8 step/s) 0 step/tick (0 step/s) 150.7e-6 step/tick (602.7 step/s) 0.16*VS 0.16*VS 0.16*VS 0.16*VS 61.5e-6 step/tick (246 step/s) 0.038% s/step 0.063% s/step 0.063% s/step 1.0
Intersect speed Start slope
FN_SLP_ACC Acceleration final slope FN_SLP_DEC Deceleration final slope K_THERM ADC_OUT OCD_TH STALL_TH STEP_MODE ALARM_EN Thermal compensation factor ADC output OCD threshold STALL threshold Step mode Alarms enables
R, WR R, WR R, WH R, WS
36/64
Doc ID 16737 Rev 2
L6470 Table 8.
Address [Hex]
Programming manual Registers map (continued)
Register name Register function Len. [bit] Reset Hex Reset Value Internal oscillator, 2MHz OSCOUT clock, supply voltage compensation disabled, overcurrent shutdown enabled, slew-rate = 290 V/s PWM frequency = 15.6kHz. High impedance state, UVLO/Reset flag set. Remarks
(1)
h18
CONFIG
IC configuration
16
2E88
R, WH
h19 h1A h1B
STATUS RESERVED RESERVED
Status Reserved address Reserved address
16
XXXX(2)
R
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 to the selected step mode; the stored value unit is equal to the selected step mode (full, half, quarter, etc.). The value is in two'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 paragraph 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 9.
Bit 8 STEP
EL_POS register
Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 MICROSTEP Bit 2 Bit 1 Bit 0
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 STEP_MODE register in order to avoid a wrong microstep value generation (see paragraph 9.1.19); otherwise the resulting microstep sequence will be 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 paragraph 9.1.22).
Doc ID 16737 Rev 2
37/64
Programming manual
L6470
9.1.3
MARK
The MARK register contains an absolute position called MARK in according to the selected step mode; the stored value unit is equal to the selected step mode (full, half, quarter, etc.). It is in two'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
[step / s] = SPEED 2
tick
-28
where SPEED is the integer number stored into 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.
Note: The range effectively available to the user is limited by the MAX_SPEED parameter.
Any attempt to write the register causes the command to be ignored and the NOTPERF_CMD flag to rise (see paragraph 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
[step / s ] = ACC 2 tick
2 2
-40
where ACC is the integer number stored into 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 paragraph 9.1.22).
38/64
Doc ID 16737 Rev 2
L6470
Programming manual
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
[step / s ] = DEC 2 tick
2
-40
2
where DEC is the integer number stored into the register and tick is 250 ns. The available range is from 14.55to 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 paragraph 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
[step / s] = MAX _ SPEED 2
tick
-18
where MAX_SPEED is the integer number stored into 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 following parameters:
Table 10.
Bit 12 LSPD_OPT
MIN_SPEED register
Bit 11 Bit 10 Bit 9 Bit 8 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 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:
[step / s] = MIN _ SPEED 2
tick
-24
Doc ID 16737 Rev 2
39/64
Programming manual
L6470
where MIN_SPEED is the integer number stored into 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 LSPD_OPT bit is set high, low speed optimization feature is enabled and MIN_SPEED value indicates the speed threshold below which the compensation works. In this case the minimum speed of 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 expressed in step/tick (format unsigned fixed point 0.18) and to convert it in step/s the following formula can be used.
Equation 8
[step / s] = (FS _ SPD + 0.5) 2
tick
-18
If FS_SPD value is set to hFF (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 has not the same effect as setting step mode to full step two phase on: 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 (compensations excluded). The KVAL_RUN register contains the KVAL value that is assigned to the PWM modulators when the motor is running at constant speed (compensations excluded). The KVAL_ACC register contains the starting KVAL value that can be assigned to the PWM modulators during acceleration (compensations excluded). The KVAL_DEC register contains the starting KVAL value that can be assigned to the PWM modulators during deceleration (compensations excluded). The available range is from 0 to 0.996 x VS with a resolution of 0.004 x VS as shown in Table 11.
40/64
Doc ID 16737 Rev 2
L6470
Programming manual
Table 11.
Voltage amplitude regulation registers
KVAL_X [7..0] Output voltage 0 0 ... 0 0 ... 0 1 ... 0 VS x (1/256) VS x (254/256) VS x (255/256) ...
0 0 ...
0 0 ...
0 0 ...
0 0 ...
0 0 ... 1 1
1 1
1 1
1 1
1 1
1 1
1 1
0 1
9.1.11
INT_SPEED
The INT_SPEED register contains the speed value at which the BEMF compensation curve changes slope (see paragraph 7.4 for details). Its value is expressed in step/tick and to convert it in [step/s] the following formula can be used:
Equation 9
[step / s] = INT _ SPEED 2
tick
-24
where INT_SPEED is the integer number stored into the register and tick is 250 ns. The available range is from 0 to 3906 step/s with a resolution of 0.238 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 paragraph 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 paragraph 7.4 for details). 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 paragraph 9.1.22).
9.1.13
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 paragraph 7.4 for details). 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 paragraph 9.1.22).
Doc ID 16737 Rev 2
41/64
Programming manual
L6470
9.1.14
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 paragraph 7.4 for details). 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 paragraph 9.1.22).
9.1.15
K_THERM
The K_THERM register contains the value used by the winding resistance thermal drift compensation system (see paragraph 7.6). The available range is from 1 to 1.46875 with a resolution of 0.03125 as shown in Table 12.
Table 12. Winding resistance thermal drift compensation coefficient
K_THERM [3..0] 0 0 ... 0 0 ... 0 0 ... 0 1 ... Compensation coeff. 1 1.03125 ... 1.4375 1.46875 ADC_OUT [4..0] 1 1 ... 1 1 ... X 0 ... X 0 ... X 0 ...
1 1
1 1
1 1
0 1
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 paragraph 9.1.22).
Table 13. ADC_OUT value and motor supply voltage compensation feature
VS Greater than VS,nom + 50% VS,nom + 50% ... VS,nom ... VS,nom - 50% Lower than VS,nom - 50% VADCIN/VREG > 24/32 24/32 ... Compensation coefficient 0.65625 0.65625 ... 1 ... 1.968875 1.968875
16/32 ...
1 ...
0 ...
0 ...
0 ... 0 X
0 ... 0 X
8/32 < 8/32
0 0
1 0
0 X
42/64
Doc ID 16737 Rev 2
L6470
Programming manual
9.1.17
OCD_TH
The OCD_TH register contains the overcurrent threshold value (see paragraph 6.9 for details). The available range is from 375 mA to 6 A, steps of 375 mA as shown in Table 14.
Table 14. Overcurrent detection threshold
Overcurrent detection threshold 0 1 ... 0 1 375 mA 750 mA ... 5.625 A 6A
OCD_TH [3..0] 0 0 ... 1 1 0 0 ... 1 1 0 0 ... 1 1
9.1.18
STALL_TH
The STALL_TH register contains the stall detection threshold value (see paragraph 7.2 for details). The available range is from 31.25 mA to 4 A with a resolution of 31.25 mA.
Table 15. Stall detection threshold
STALL_th [6..0] 0 0 ... 1 1 0 0 ... 1 1 0 0 ... 1 1 0 0 ... 1 1 0 0 ... 1 1 0 0 ... 1 1 0 1 ... 0 1 Stall detection threshold 31.25 mA 62.5 mA ... 3.969 A 4A
9.1.19
STEP_MODE
The STEP_MODE register has the following structure:
Table 16.
Bit 7 SYNC_EN
STEP_MODE register
Bit 6 Bit 5 SYNC_SEL Bit 4 Bit 3 0 Bit 2 Bit 1 STEP_SEL Bit 0
The STEP_SEL parameter selects one of eight possible stepping modes:
Doc ID 16737 Rev 2
43/64
Programming manual Table 17. Step mode selection
STEP_SEL[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 Full step Half step 1/4 microstep 1/8 microstep 1/16 microstep 1/32 microstep 1/64 microstep 1/128 microstep Step mode
L6470
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 ABS_POS register looses 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 paragraph 9.1.22). When when SYNC_EN bit is set low BUSY/SYNC output is forced low during commands execution, otherwise, when SYNC_EN bit is set high, BUSY/SYNC output provides a clock signal according to SYNC_SEL parameter.
Table 18. SYNC output frequency
STEP_SEL (fFS is the full step frequency) 000 000 001 010 SYNC_SEL 011 100 101 110 111 fFS /2 NA NA NA NA NA NA NA 001 fFS /2 fFS NA NA NA NA NA NA 010 fFS /2 fFS 2* fFS NA NA NA NA NA 011 fFS /2 fFS 2* fFS 4* fFS NA NA NA NA 100 fFS /2 fFS 2* fFS 4* fFS 8* fFS NA NA NA 101 fFS /2 fFS 2* fFS 4* fFS 8* fFS 16* fFS NA NA 110 fFS /2 fFS 2* fFS 4* fFS 8* fFS 16* fFS 32* fFS NA 111 fFS /2 fFS 2* fFS 4* fFS 8* fFS 16* fFS 32* fFS 64* fFS
44/64
Doc ID 16737 Rev 2
L6470
Programming manual
the synchronization signal is obtained starting from electrical position information (EL_POS register) according to following Table 9:
Table 19. SYNC signal source
SYNC_SEL[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 Source 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 selecting which alarm signals are used to generate the FLAG output. If the respective bit of ALARM_EN register is set high, the alarm condition forces the FLAG pin output down.
Table 20. ALARM_EN register
Alarm condition Overcurrent Thermal shutdown Thermal warning Under-voltage Stall detection (Bridge A) Stall detection (Bridge B) Switch turn-on event Wrong or not performable command
ALARM_EN bit 0 (LSB) 1 2 3 4 5 6 7 (MSB)
9.1.21
CONFIG
The CONFIG register has the following structure:
Table 21.
Bit 15
CONFIG register
Bit 14 F_PWM_INT Bit 13 Bit 12 Bit 11 F_PWM_DEC Bit 5 Bit 4 Bit 3 Bit 2 Bit 10 Bit 9 Bit 8
POW_SR Bit 1 OSC_SEL Bit 0
Bit 7 OC_SD
Bit 6
RESERVED EN_VSCOMP SW_MODE EXT_CLK
Doc ID 16737 Rev 2
45/64
Programming manual
L6470
The OSC_SEL and EXT_CLK bits set the system clock source:
Table 22.
EXT_CLK 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1
Oscillator management
OSC_SEL[2..0] 0 0 1 1 0 0 1 1 0 0 1 1 0 1 Internal Oscillator: 16MHz 0 1 0 1 0 1 0 1 0 1 Internal Oscillator: 16MHz Internal Oscillator: 16MHz Internal oscillator: 16MHz Internal oscillator: 16MHz External crystal or resonator: 8MHz External crystal or resonator: 16MHz External crystal or resonator: 24MHz External crystal or resonator: 32MHz Ext clock source: 8MHz (Crystal/resonator driver disabled) Ext clock source: 16MHz (Crystal/resonator driver disabled) Ext clock source: 24MHz (Crystal/resonator driver disabled) Ext clock source: 32MHz (Crystal/resonator driver disabled) Unused Unused Unused Unused Crystal/reson ator driving Crystal/reson ator driving Crystal/reson ator driving Crystal/reson ator driving Clock source Supplies a 2MHz clock Supplies a 4MHz clock Supplies a 8MHz clock Supplies a 16MHz clock Crystal/resonator driving Crystal/resonator driving Crystal/resonator driving Crystal/resonator driving Supplies inverted OSCIN signal Supplies inverted OSCIN signal Supplies inverted OSCIN signal Supplies inverted OSCIN signal Unused Unused Clock source OSCIN OSCOUT
1
1
0
0
1
1
0
1
Clock source
1
1
1
0
Clock source
1
1
1
1
Clock source
The SW_MODE bit sets the external switch to act as HardStop interrupt or not:
Table 23. External switch hard stop interrupt mode
SW_MODE 0 1 Switch mode HardStop interrupt User disposal
46/64
Doc ID 16737 Rev 2
L6470
Programming manual
The OC_SD bit sets if an overcurrent event causes or not the bridges to turn-off; the OCD flag in status register is forced low anyway:
Table 24. Overcurrent event
OC_SD 1 0 Overcurrent event Bridges shut down Bridges do not shut down
The POW_SR bits set the slew rate value of power bridge output:
Table 25.
[1..0] 0 0 1 1 0 1 0 1
Programmable power bridge output slew-rate values
Output Slew-rate (1) [V/s] 180 180 290 530
POW_SR
1. See SRout_r and SRout_f parameters in the electrical characteristics Table 4 for details.
The EN_VSCOMP bit sets if the motor supply voltage compensation is enabled or not.
Table 26. Motor supply voltage compensation enable
EN_VSCOMP 0 1 Motor supply voltage compensation Disabled Enabled
The F_PWM_INT bits set the integer division factor of PWM frequency generation.
Table 27. PWM frequency: integer division factor
F_PWM_INT [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 Integer division factor 1 2 3 4 5 6 7
Doc ID 16737 Rev 2
47/64
Programming manual
L6470
The F_PWM_DEC bits set the multiplication factor of PWM frequency generation.
Table 28. PWM frequency: multiplication factor
F_PWM_DEC [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 Multiplication factor 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 has to be correctly programmed).
Table 29. Available PWM frequencies [kHz]: 8 MHz oscillator frequency
F_PWM_DEC F_PWM_ INT 000 001 010 011 100 101 110 000 9.8 4.9 3.3 2.4 2.0 1.6 1.4 001 11.7 5.9 3.9 2.9 2.3 2.0 1.7 010 13.7 6.8 4.6 3.4 2.7 2.3 2.0 011 15.6 7.8 5.2 3.9 3.1 2.6 2.2 100 19.5 9.8 6.5 4.9 3.9 3.3 2.8 101 23.4 11.7 7.8 5.9 4.7 3.9 3.3 110 27.3 13.7 9.1 6.8 5.5 4.6 3.9 111 31.3 15.6 10.4 7.8 6.3 5.2 4.5
48/64
Doc ID 16737 Rev 2
L6470
Programming manual
Table 30.
Available PWM frequencies [kHz]: 16 MHz oscillator frequency
F_PWM_DEC
F_PWM_INT 000 001 010 011 100 101 110
000 19.5 9.8 6.5 4.9 3.9 3.3 2.8
001 23.4 11.7 7.8 5.9 4.7 3.9 3.3
010 27.3 13.7 9.1 6.8 5.5 4.6 3.9
011 31.3 15.6 10.4 7.8 6.3 5.2 4.5
100 39.1 19.5 13.0 9.8 7.8 6.5 5.6
101 46.9 23.4 15.6 11.7 9.4 7.8 6.7
110 54.7 27.3 18.2 13.7 10.9 9.1 7.8
111 62.5 31.3 20.8 15.6 12.5 10.4 8.9
Table 31.
Available PWM frequencies [kHz]: 24 MHz oscillator frequency
F_PWM_DEC
F_PWM_INT 000 001 010 011 100 101 110
000 29.3 14.6 9.8 7.3 5.9 4.9 4.2
001 35.2 17.6 11.7 8.8 7.0 5.9 5.0
010 41.0 20.5 13.7 10.3 8.2 6.8 5.9
011 46.9 23.4 15.6 11.7 9.4 7.8 6.7
100 58.6 29.3 19.5 14.6 11.7 9.8 8.4
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
Doc ID 16737 Rev 2
49/64
Programming manual
L6470
Table 32.
Available PWM frequencies [kHz]: 32 MHz oscillator frequency
F_PWM_DEC
F_PWM_ INT 000 001 010 011 100 101 110
000 39.1 19.5 13.0 9.8 7.8 6.5 5.6
001 46.9 23.4 15.6 11.7 9.4 7.8 6.7
010 54.7 27.3 18.2 13.7 10.9 9.1 7.8
011 62.5 31.3 20.8 15.6 12.5 10.4 8.9
100 78.1 39.1 26.0 19.5 15.6 13.0 11.2
101 93.8 46.9 31.3 23.4 18.8 15.6 13.4
110 109.4 54.7 36.5 27.3 21.9 18.2 15.6
111 125.0 62.5 41.7 31.3 25.0 20.8 17.9
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 paragraph 9.1.22).
9.1.22
Table 33.
Bit 15
STATUS
STATUS register
Bit 14 STEP_LOSS_B Bit 6 Bit 13 STEP_LOSS_A Bit 5 Bit 12 OCD Bit 4 DIR Bit 11 TH_SD Bit 3 SW_EVN Bit 10 TH_WRN Bit 2 SW_F Bit 9 UVLO Bit 1 BUSY Bit 8 WRONG_CMD Bit 0 HiZ
SCK_MOD Bit 7 NOTPERF_CMD
MOT_STATUS
When HiZ flag is high it indicates that the bridges are in high impedance state. Whichever motion command makes the device to 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 under-voltage lock out or reset events (powerup included). The TH_WRN, TH_SD, OCD flags are active low and indicate respectively thermal warning, thermal shutdown and over-current 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 can't be performed or does not exist at all. The SW_F report 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).
50/64
Doc ID 16737 Rev 2
L6470
Programming manual
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 have 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 STCK input pin. The DIR bit indicates the current motor direction:
Table 34. STATUS register DIR bit
DIR 1 0 Motor direction Forward Reverse
MOT_STATUS indicates the current motor status:
Table 35. STATUS register MOT_STATE bits
MOT_STATUS 0 0 1 1 0 1 0 1 Motor status Stopped Acceleration Deceleration Constant speed
Any attempt to write to the register causes the command to be ignored and the NOTPERF_CMD to rise (see paragraph 9.1.22).
Doc ID 16737 Rev 2
51/64
Programming manual
L6470
9.2
Table 36.
Application commands
The commands summary is given in the Table 36.
Application commands
Command binary code [7..5] [4] NOP 000 000 001 010 010 010 011 011 100 1 1 0 0 0 0 0 [3] 0 [2..1] [0] 00 0 Nothing Writes VALUE in PARAM register Returns the stored value in PARAM register DIR Sets the target speed and the motor direction DIR DIR 0 Put the device in step clock mode and impose DIR direction Makes N_STEP (micro)steps in DIR direction (Not performable when motor is running) Brings motor in ABS_POS position (minimum path) Action
Command Mnemonic
SetParam(PARAM,VALUE) GetParam(PARAM) Run(DIR,SPD) StepClock(DIR) Move(DIR,N_STEP) GoTo(ABS_POS) GoTo_DIR(DIR,ABS_POS) GoUntil(ACT,DIR,SPD)
[PARAM] [PARAM] 0 1 0 0 1 ACT 00 00 00 00 00 01
DIR Brings motor in ABS_POS position forcing DIR direction Perform a motion in DIR direction with speed SPD until DIR SW is closed, the ACT action is executed then a SoftStop takes place Performs a motion in DIR direction at minimum speed DIR until the SW is released (open), the ACT action is executed then a HardStop takes place 0 0 0 0 0 0 0 0 0 1 0 Brings the motor in HOME position Brings the motor in MARK position Resets the ABS_POS register (set HOME position) Device is reset to power-up conditions. Stops motor with a deceleration phase Stops motor immediately Puts the bridges in High Impedance status after a deceleration phase Puts the bridges in High Impedance status immediately Returns the status register value RESERVED COMMAND RESERVED COMMAND
ReleseSW(ACT, DIR) GoHome GoMark ResetPos ResetDevice SoftStop HardStop SoftHiZ HardHiZ GetStatus RESERVED RESERVED
100 011 011 110 110 101 101 101 101 110 111 111
1 1 1 1 0 1 1 0 0 1 0 1
ACT 0 1 1 0 0 1 0 1 0 1 1
01 00 00 00 00 00 00 00 00 00 01 00
52/64
Doc ID 16737 Rev 2
L6470
Programming manual
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 18). Argument length can vary from 1 to 3 bytes.
Figure 18. Command with three byte argument
By default the device returns an all zeroes response for any received byte, the only exceptions are GetParam and GetStatus commands. When one of these commands is received the following response bytes represents the related register value (see Figure 19). Response length can vary from 1 to 3 bytes.
Figure 19. Command with three byte responset
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 output communication buffer (see Figure 20).
Figure 20. Command response 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 STATUS register is raised (see paragraph 9.1.22).
9.2.2
Nop
Table 37.
Bit 7 0
Nop command structure
Bit 6 0 Bit 5 0 Bit 4 0 Bit 3 0 Bit 2 0 Bit 1 0 Bit 0 0 From host
Nothing is performed.
Doc ID 16737 Rev 2
53/64
Programming manual
L6470
9.2.3
SetParam (PARAM, VALUE)
Table 38.
Bit 7 0
SetParam command structure
Bit 6 0 Bit 5 0 Byte 2 (if needed) From host Byte 1 (if needed) Byte 0 Bit 4 Bit 3 Bit 2 PARAM Bit 1 Bit 0
The SetParam command sets the PARAM register value equal to VALUE; PARAM is the respective register address listed in Table 11. Some registers cannot be written (see Table 11); 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 command byte as like as unknown command code is sent (see paragraph 9.1.22). Some registers can only be written in particular conditions (see Table 11); 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 last argument byte (see paragraph 9.1.22). Any attempt to set an inexistent register (wrong address value) causes the command to be ignored and WRONG_CMD flag to rise at the end of command byte as like as unknown command code is sent.
9.2.4
GetParam (PARAM)
Table 39.
Bit 7 0
GetParam command structure
Bit 6 0 Bit 5 1 Byte 2 (if needed) Byte 1 (if needed) Byte 0 Bit 4 Bit 3 Bit 2 PARAM Bit 1 Bit 0 from host to host to host to host
This command reads the current PARAM register value; PARAM is the respective register address listed in Table 11. All registers can be read anytime. Returned value is the register one at the moment of SetParam command decoding. If register values changes after this moment the response will not be accordingly updated. Any attempt to read an inexistent register (wrong address value) causes the command to be ignored and WRONG_CMD flag to rise at the end of command byte as like as unknown command code is sent.
54/64
Doc ID 16737 Rev 2
L6470
Programming manual
9.2.5
Run (DIR, SPD)
Table 40.
Bit 7 0 X
Run command structure
Bit 6 1 X Bit 5 0 X Bit 4 1 X SPD (Byte 1) SPD (Byte 0) Bit 3 0 Bit 2 0 Bit 1 0 Bit 0 DIR from host from host from host from host
SPD (Byte 2)
The Run command produces a motion at SPD speed; the direction is selected by 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 that SPEED register (see paragraph 9.1.4).
Note: The SPD value should be lower than MAX_SPEED and greater than MIN_SPEED otherwise the Run command will be executed at MAX_SPEED or MIN_SPEED respectively.
This command can be given anytime and is immediately executed.
9.2.6
StepClock (DIR)
Table 41.
Bit 7 0
Stepclock command structure
Bit 6 1 Bit 5 0 Bit 4 1 Bit 3 1 Bit 2 0 Bit 1 0 Bit 0 DIR from host
The StepClock command switches the device in step clock mode (see paragraph 6.7.5) and impose the forward (DIR = '1') or reverse (DIR = '0') direction. When the device is in step clock mode the SCK_MOD flag in STATUS register is raised and the motor is always considered stopped (see paragraphs 6.7.5 and 9.1.22). 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 the step clock mode. Events that cause bridges to be forced in high impedance state (overtemperature, overcurrent, etc.) do not cause the device to leave step clock mode. This command can only be given when the motor is stopped. If a motion is in progress the motor should be stopped and then it is 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 paragraph 9.1.22).
Doc ID 16737 Rev 2
55/64
Programming manual
L6470
9.2.7
Move (DIR, N_STEP)
Table 42.
Bit 7 0 X
Move command structure
Bit 6 1 X Bit 5 0 Bit 4 0 Bit 3 0 Bit 2 0 Bit 1 0 Bit 0 DIR from host from host from host from host
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 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 can be only performed when the motor is stopped. If a motion is in progress the motor must be stopped and then it is 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 paragraph 9.1.22).
9.2.8
GoTo (ABS_POS)
Table 43.
Bit 7 0 X
GoTo command structure
Bit 6 1 X Bit 5 1 Bit 4 0 Bit 3 0 Bit 2 0 Bit 1 0 Bit 0 0 from host from host from host from host
ABS_POS (Byte 2) 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.). This command can be given when the outputs are in high impedance or the motor is stopped or running with constant speed. 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 paragraph 9.1.22)
56/64
Doc ID 16737 Rev 2
L6470
Programming manual
9.2.9
GoTo_DIR (DIR, ABS_POS)
Table 44.
Bit 7 0 X
GoTo_DIR command structure
Bit 6 1 X Bit 5 1 Bit 4 0 Bit 3 1 Bit 2 0 Bit 1 0 Bit 0 DIR from host from host from host from host
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.). This command can be given when the outputs are in high impedance or the motor is stopped or running with constant speed. 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 paragraph 9.1.22)
9.2.10
GoUntil (ACT, DIR, SPD)
Table 45.
Bit 7 1 X
GoUntil command structure
Bit 6 0 X Bit 5 0 X Bit 4 0 X SPD (Byte 1) SPD (Byte 0) Bit 3 ACT Bit 2 0 Bit 1 1 Bit 0 DIR from host from host from host from host
SPD (Byte 2)
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 paragraph 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 that SPEED register (see paragraph 9.1.4). SPD value should be lower than MAX_SPEED and greater than MIN_SPEED, otherwise the target speed will be imposed at MAX_SPEED or MIN_SPEED respectively. If SW_MODE bit of CONFIG register is set low, the external switch turn-on event causes a HardStop interrupt instead of the SoftStop command (see paragraphs 6.13 and 9.1.21). This command can be given anytime and is immediately executed.
Doc ID 16737 Rev 2
57/64
Programming manual
L6470
9.2.11
ReleaseSW (ACT, DIR)
Table 46.
Bit 7 1
ReleaseSW command structure
Bit 6 0 Bit 5 0 Bit 4 1 Bit 3 ACT Bit 2 0 Bit 1 1 Bit 0 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 in MARK register (ACT = '1'); then the system performs a HardStop command. Note that to resetting the ABS_POS register is equivalent to setting the HOME position. If minimum speed value is lesser than 5 step/s or low speed optimization is enabled, the motion is performed at 5 step/s.
9.2.12
GoHome
Table 47.
Bit 7 0
GoHome command structure
Bit 6 1 Bit 5 1 Bit 4 1 Bit 3 0 Bit 2 0 Bit 1 0 Bit 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 "GoTo(0...0)" command. If a motor direction is mandatory the GoTo_DIR command has to be used (see paragraph 9.2.9). This command can be given when the outputs are in high impedance or the motor is stopped or running with constant speed. 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 paragraph 9.1.22)
9.2.13
GoMark
Table 48.
Bit 7 0
GoMark command structure
Bit 6 1 Bit 5 1 Bit 4 1 Bit 3 1 Bit 2 0 Bit 1 0 Bit 0 0 from host
The GoMark command produces a motion to MARK position performing the minimum path. Note that this command is equivalent to "GoTo (MARK)" command. If a motor direction is mandatory the GoTo_DIR command has to be used. This command can be given when the outputs are in high impedance or the motor is stopped or running with constant speed.
58/64
Doc ID 16737 Rev 2
L6470
Programming manual
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 paragraph 9.1.22)
9.2.14
ResetPos
Table 49.
Bit 7 1
ResetPos command structure
Bit 6 1 Bit 5 0 Bit 4 1 Bit 3 1 Bit 2 0 Bit 1 0 Bit 0 0 from host
The ResetPos command resets the ABS_POS register to zero. The zero position is also defined as HOME position (see paragraph 6.5).
9.2.15
ResetDevice
Table 50.
Bit 7 1
ResetDevice command structure
Bit 6 1 Bit 5 0 Bit 4 0 Bit 3 0 Bit 2 0 Bit 1 0 Bit 0 0 from host
The ResetDevice command resets the device to power-up conditions (see paragraph 6.1).
Note: At power-up the power bridges are disabled.
9.2.16
SoftStop
Table 51.
Bit 7 1
SoftStop command structure
Bit 6 0 Bit 5 1 Bit 4 1 Bit 3 0 Bit 2 0 Bit 1 0 Bit 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 DEC register (see paragraph 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.
9.2.17
HardStop
Table 52.
Bit 7 1
HardStop command structure
Bit 6 0 Bit 5 1 Bit 4 1 Bit 3 1 Bit 2 0 Bit 1 0 Bit 0 0 from host
The HardStop command causes an immediate motor stop with infinite deceleration.
Doc ID 16737 Rev 2 59/64
Programming manual
L6470
When the motor is in high-impedance state, a HardStop command forces the bridges to exit from high impedance state; no motion is performed.
9.2.18
SoftHiZ
Table 53.
Bit 7 1
SoftHiZ command structure
Bit 6 0 Bit 5 1 Bit 4 0 Bit 3 0 Bit 2 0 Bit 1 0 Bit 0 0 from host
The SoftHiZ command disables the power bridges (high-impedance state) after a deceleration to zero; the deceleration value used is the one stored in DEC register (see paragraph 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 in highimpedance state.
9.2.19
HardHiZ
Table 54.
Bit 7 1
HardHiZ command structure
Bit 6 0 Bit 5 1 Bit 4 0 Bit 3 1 Bit 2 0 Bit 1 0 Bit 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 in highimpedance state.
9.2.20
GetStatus
Table 55.
Bit 7 1
GetStatus command structure
Bit 6 1 Bit 5 0 Bit 4 1 Bit 3 0 Bit 2 0 Bit 1 0 Bit 0 0 from host
STATUS MSByte STATUS LSByte
to host to host
The GetStatus command returns the Status register value. GetStatus command resets the STATUS register warning flags. The command forces the system to exit from any error state. The GetStatus command DO NOT reset HiZ flag.
60/64
Doc ID 16737 Rev 2
L6470
Package mechanical data
10
Package mechanical data
In order to meet environmental requirements, ST offers these devices in different grades of ECOPACK(R) packages, depending on their level of environmental compliance. ECOPACK(R) specifications, grade definitions and product status are available at: www.st.com. ECOPACK is an ST trademark.
Table 56. HTSSOP28 mechanical data
mm Dim Min A A1 A2 b c D(1) D1 E E1(2) E2 E L L1 K Aaa 0 0.1 0.45 6.2 4.3 0.8 0.19 0.09 9.6 9.7 5.5 6.4 4.4 2.8 0.65 0.6 1.0 8 0.75 6.6 4.5 1.0 Typ Max 1.2 0.15 1.05 0.3 0.2 9.8
1. Dimension "D" does not include mold flash, protrusions or gate burrs. Mold flash, protrusions or gate burrs shall not exceed 0.15 mm per side. 2. Dimension "E1" does not include interlead flash or protrusions. Interlead flash or protrusions shall not exceed 0.25 mm per side.
Doc ID 16737 Rev 2
61/64
Package mechanical data Figure 21. HTSSOP28 mechanical data
L6470
62/64
Doc ID 16737 Rev 2
L6470
Revision history
11
Revision history
Table 57.
Date 06-Nov-2009 05-Nov-2010
Document revision history
Revision 1 2 Initial release. Document status promoted from preliminary data to datasheet. Changes
Doc ID 16737 Rev 2
63/64
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 AN AUTHORIZED ST REPRESENTATIVE, 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.
(c) 2010 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
64/64
Doc ID 16737 Rev 2


▲Up To Search▲   

 
Price & Availability of L6470H

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X