AMI AMIS-30624PNA

AMIS-30624 I2C Microstepping Motordriver
Data Sheet
1.0 General Description
The AMIS-30624 is a single-chip microstepping motordriver with a position controller and control/diagnostic interface. It is ready to build
intelligent peripheral systems where up to 32 drivers can be connected to one I2C master. This significantly reduces system complexity.
The chip receives positioning instructions through the bus and subsequently drives the stator coils so the two-phase stepper motor
moves to the desired position. The on-chip position controller is configurable (OTP or RAM) for different motor types, positioning ranges
and parameters for speed, acceleration and deceleration. Microstepping allows silent motor operation and increased positioning
resolution. The advanced motion qualification mode enables verification of the complete mechanical system in function of the selected
2
2
motion parameters. The AMIS-30624 can easily be connected to an I C bus where the I C master can fetch specific status information
like actual position, error flags, etc. from each individual slave node.
An integrated sensorless step-loss detection prevents the positioner from loosing steps and stops the motor when running into stall.
This enables silent, yet accurate position calibrations during a referencing run and allows semi-closed loop operation when approaching
the mechanical end-stops.
The chip is implemented in I2T100 technology, enabling both high voltage analog circuitry and digital functionality on the same chip.
The AMIS-30624 is fully compatible with the automotive voltage requirements.
2.0 Product Features
Motordriver
• Microstepping technology
• Sensorless step-loss detection
• Peak current up to 800mA
• Fixed frequency PWM current-control
• Selectable PWM frequency
• Automatic selection of fast and slow decay mode
• No external fly-back diodes required
• 14V/24V compliant
• Motion qualification mode
Controller with RAM and OTP memory
• Position controller
• Configurable speeds and acceleration
• Input to connect optional motion switch
I2C interface
• Bi-directional 2-wire bus for Inter IC Control
• Field programmable node addresses
• Full diagnostics and status information
Protection
• Over-current protection
• Under-voltage management
• Open circuit detection
• High-temp warning and management
• Low-temp flag
EMI compatibility
• High voltage outputs with slope control
• HV outputs with slope control
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
1
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
3.0 Applications
The AMIS-30624 is ideally suited for small positioning applications. Target markets include: automotive (headlamp alignment, HVAC,
idle control, cruise control), industrial equipment (lighting, fluid control, labeling, process control, XYZ tables, robots) and building
automation (HVAC, surveillance, satellite dish, renewable energy systems). Suitable applications typically have multiple axes or require
mechatronic solutions with the driver chip mounted directly on the motor.
4.0 Ordering Information
Table 1: Ordering Information
Part No.
AMIS-30624 PGA
AMIS-30624 PNA
Package
Peak Current
Temp. Range
SOIC-20
NQFP-32 (7 x 7 mm)
800mA
800mA
-40°C…..125°C
-40°C…..125°C
Ordering Code
Tubes
0C624-004-XTD
0C624-005-XTD
Ordering Code
Tapes
0C624-004-XTP
0C624-005-XTP
5.0 Quick Reference Data
Table 2: Absolute Maximum Ratings
Parameter
Vbb
Supply voltage
(2)
Min.
Max.
-0.3
+40
Unit
(1)
V
Tamb
Ambient temperature under bias
-50
+150
Tst
Storage temperature
-55
+160
°C
Electrostatic discharge voltage on pins
-2
+2
kV
Vesd
(3)
°C
Notes:
(1) For limited time <0.5s
(2) The circuit functionality is not guaranteed.
(3) Human body model (100pF via 1.5 kΩ, according to JEDEC EIA-JESD22-A114-B)
Table 3: Operating Ranges
Parameter
Vbb
Top
Min.
Supply voltage
Operating temperature range
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
Max.
Unit
+8
+29
V
Vbb ≤ 18V
-40
+125
°C
Vbb ≤ 29V
-40
+85
°C
2
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
6.0 Table of Contents
1.0 General Description.............................................................................................................................................................................. 1
2.0 Product Features .................................................................................................................................................................................. 1
3.0 Applications .......................................................................................................................................................................................... 2
4.0 Ordering Information............................................................................................................................................................................. 2
5.0 Quick Reference Data .......................................................................................................................................................................... 2
6.0 Content................................................................................................................................................................................................. 3
7.0 Block Diagram ...................................................................................................................................................................................... 5
8.0 Pin-out .................................................................................................................................................................................................. 6
9.0 Package Thermal Resistance............................................................................................................................................................... 7
9.1 SOIC-20............................................................................................................................................................................................ 7
9.2 NQFP-32........................................................................................................................................................................................... 7
10.0 DC Parameters................................................................................................................................................................................... 8
11.0 AC Parameters ................................................................................................................................................................................. 10
12.0 Typical Application............................................................................................................................................................................ 12
13.0 Positioning Parameters .................................................................................................................................................................... 12
13.1 Stepping Modes ............................................................................................................................................................................ 12
13.2 Maximum Velocity......................................................................................................................................................................... 13
13.3 Minimum Velocity.......................................................................................................................................................................... 13
13.4 Acceleration and Deceleration ...................................................................................................................................................... 14
13.5 Positioning .................................................................................................................................................................................... 14
13.5.1. Position Ranges .................................................................................................................................................................... 15
13.5.2. Secure Position ..................................................................................................................................................................... 15
13.5.3. Shaft...................................................................................................................................................................................... 15
14.0 Structural Description ....................................................................................................................................................................... 16
14.1 Stepper Motordriver ...................................................................................................................................................................... 16
14.2 Control Logic (Position Controller and Main Control) .................................................................................................................... 16
14.3 Motion Detection ........................................................................................................................................................................... 16
14.4 Miscellaneous ............................................................................................................................................................................... 16
15.0 Functional Description ...................................................................................................................................................................... 17
15.1 Position Controller......................................................................................................................................................................... 17
15.1.1. Positioning and Motion Control.............................................................................................................................................. 17
15.1.2. Dual Positioning .................................................................................................................................................................... 19
15.1.3. Position Periodicity ................................................................................................................................................................ 19
15.1.4. Hardwired Address HW......................................................................................................................................................... 20
15.1.5. External Switch SWI.............................................................................................................................................................. 22
15.2 Main Control and Register, OTP Memory + ROM......................................................................................................................... 23
15.2.1. Power-up Phase.................................................................................................................................................................... 23
15.2.2. Reset State............................................................................................................................................................................ 23
15.2.3. Soft Stop ............................................................................................................................................................................... 23
15.2.4. Thermal Shutdown Mode ...................................................................................................................................................... 23
15.2.5. Temperature Management .................................................................................................................................................... 24
15.2.6. Battery Under-voltage Management...................................................................................................................................... 25
15.2.7. OTP register .......................................................................................................................................................................... 25
15.2.8. RAM Registers ...................................................................................................................................................................... 29
15.2.9. Flags Table............................................................................................................................................................................ 30
15.2.10. Priority Encoder................................................................................................................................................................... 31
15.3 Motordriver.................................................................................................................................................................................... 33
15.3.1. Current waveforms in the coils .............................................................................................................................................. 33
15.3.2. PWM Regulation ................................................................................................................................................................... 34
15.3.3. PWM Jitter............................................................................................................................................................................. 34
15.3.4. Motor Starting Phase............................................................................................................................................................. 34
15.3.5. Motor Stopping Phase........................................................................................................................................................... 34
15.3.6. Charge Pump Monitoring ...................................................................................................................................................... 35
15.3.7. Electrical Defect on Coils, Detection and Confirmation ......................................................................................................... 35
15.3.8. Motor Shutdown Mode .......................................................................................................................................................... 36
15.4 Motion Detection ........................................................................................................................................................................... 37
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
3
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
16.0 I2C Bus Description .......................................................................................................................................................................... 39
16.1 General Description ...................................................................................................................................................................... 39
16.2 Concept ........................................................................................................................................................................................ 39
16.3 General Characteristics ................................................................................................................................................................ 40
16.4 Bit Transfer ................................................................................................................................................................................... 40
16.4.1. Data Validity .......................................................................................................................................................................... 40
16.4.2. START and STOP Conditions ............................................................................................................................................... 41
16.5 Transferring Data .......................................................................................................................................................................... 41
16.5.1. Byte Format........................................................................................................................................................................... 41
16.5.2. Acknowledge ......................................................................................................................................................................... 42
16.5.3. Clock Generation................................................................................................................................................................... 42
16.6 Data Formats with 7-bit Addresses ............................................................................................................................................... 42
16.6.1. Data Transfer Formats .......................................................................................................................................................... 43
16.7 7-bit Addressing ............................................................................................................................................................................ 44
16.7.1. Definition of Bits in the First Byte........................................................................................................................................... 44
16.7.2. General Call Address ............................................................................................................................................................ 44
17.0 I2C Application Commands............................................................................................................................................................... 45
17.1 Introduction ................................................................................................................................................................................... 45
17.2 Commands Table.......................................................................................................................................................................... 45
17.3 Application Commands ................................................................................................................................................................. 46
18.0 Resistance to Electrical and Electromagnetic Disturbances............................................................................................................. 52
18.1 Electrostatic Discharges ............................................................................................................................................................... 52
18.2 Electrical Transient Conduction Along Supply Lines..................................................................................................................... 52
18.3 EMC.............................................................................................................................................................................................. 52
18.4 Power Supply Micro-interruptions ................................................................................................................................................. 52
19.0 Package Outline ............................................................................................................................................................................... 53
20.0 Soldering .......................................................................................................................................................................................... 55
20.1 Introduction to Soldering Surface Mount Packages ...................................................................................................................... 55
20.2 Re-flow Soldering.......................................................................................................................................................................... 55
20.3 Wave Soldering............................................................................................................................................................................. 55
20.4 Manual Soldering .......................................................................................................................................................................... 55
21.0 Company or Product Inquiries .......................................................................................................................................................... 56
22.0 Document History ............................................................................................................................................................................. 56
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
4
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
7.0 Block Diagram
SDA
SWI
SCK
AMIS-30624
I2C-bus
Interface
Position
Controller
HW
PWM
regulator
X
Controller
TST1
TST2
MOTXP
MOTXN
I-sense
Decoder
Main Control
Registers
OTP - ROM
Sinewave
Table
Stall detection
DAC's
4 MHz
Vref
Voltage
Regulator
VBB VDD
Temp
sense
Oscillator
PWM
regulator
Y
Charge Pump
I-sense
CPN CPP VCP GND
Figure 1: Block Diagram
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
MOTYP
MOTYN
5
PC20060925.1
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
8.0 Pin-out
3
18
MOTXP
GND
4
17
GND
TST1
5
16
MOTXN
TST2
6
15
MOTYP
GND
7
14
GND
VBB
CPP
10
11
VCP
XP
1
24
XP
2
23
YN
VBB
3
22
VBB
VBB
4
21
VBB
AMIS-30624
YN
VBB
VBB
5
20
SWI
NC
SDA
6
19
VCP
7
18
CPP
8
17
CPN
Top view
NQ32
9
10
11
12
13
14
15
16
NC
12
25
HW
GND
9
26
TST2
CPN
27
TST1
MOTYN
28
GND
13
29
VDD
8
30
SCK
HW
31
GND
VDD
32
GND
VBB
YP
19
YP
2
XN
SCK
XN
SWI
GND
20
GND
1
AMIS-30624
SDA
PC20050925.3
PC20060925.2
Figure 2: SOIC 20 and NQFP-32 Pin-out
Table 4: Pin Description
Pin Name
Pin Description
SOIC-20
NQFP-32
2
1
8
I C serial clock line
2
2
9
VDD
Internal supply (needs external decoupling capacitor)
3
10
GND
Ground, heat sink
4,7,14,17
11, 14, 25, 26, 31, 32
TST1
Test pin (to be tied to ground in normal operation)
5
12
TST2
Test pin (to be left open in normal operation: internally pulled up)
6
13
HW
Hard wired address bit
8
15
CPN
Negative connection of pump capacitor (charge pump)
9
17
CPP
Positive connection of pump capacitor (charge pump)
10
18
VCP
Charge-pump filter-capacitor
11
19
VBB
Battery voltage supply
12,19
3, 4, 5, 20, 21, 22
MOTYN
Negative end of phase Y coil
13
23, 24
MOTYP
Positive end of phase Y coil
15
27, 28
MOTXN
Negative end of phase X coil
16
29, 30
MOTXP
Positive end of phase X coil
18
1, 2
SWI
Switch input
20
NC
Not connected (to be tied to ground)
SDA
I C serial data line
SCK
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
6
7, 16
6
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
9.0 Package Thermal Resistance
9.1 SOIC-20
To lower the junction-to-ambient thermal resistance, it is recommended to connect the ground leads to a printed circuit board (PCB)
ground plane layout as illustrated in Figure 3. The junction-to-case thermal resistance is dependent on the copper area, copper
thickness, PCB thickness and number of copper layers. Calculating with a total area of 460 mm2, 35µm copper thickness, 1.6mm PCB
thickness and 1 layer, the thermal resistance is 28°C/W; leading to a junction-ambient thermal resistance of 63°C/W.
SOIC-20
PC20041128.1
Figure 3: PCB Ground Plane Layout Condition
9.2 NQFP-32
The NQFP is designed to provide superior thermal performance, and using an exposed die pad on the bottom surface of the package
partly contributes to this. In order to take full advantage of this thermal performance, the PCB must have features to conduct heat away
from the package. A thermal grounded pad with thermal vias can achieve this. With a layout as shown in Figure 4, the thermal
resistance junction – to – ambient can be brought down to a level of 25°C/W.
NQFP-32
PC20041128.2
Figure 4: PCB Ground Plane Layout Condition
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
7
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
10.0 DC Parameters
The DC parameters are given for Vbb and temperature in their operating ranges. Currents flowing in the circuit are defined as positive.
Table 5: DC Parameters
Symbol
Pin(s)
Parameter
Test Conditions
Min.
Typ.
Max.
Unit
Motordriver
Max. current through motor coil
in normal operation
Max. RMS current through coil in normal
operation
Absolute error on coil current
IMSmax,Peak
IMSmax,RMS
IMSabs
IMSrel
RDSon
MOTXP
MOTXN Error on current ratio Icoilx / Icoily
MOTYP
MOTYN
On resistance for each motor pin
(including bond wire) at IMSmax
IMSL
Pull down current
800
mA
570
mA
-10
10
%
-7
7
%
Ω
Vbb = 12V, Tj = 50 °C
0.50
1
Vbb = 8V, Tj = 50 °C
0.55
1
Ω
Vbb = 12V, Tj = 150 °C
0.70
1
Ω
Vbb = 8V, Tj = 150 °C
0.85
1
HiZ mode
2
Ω
mA
Thermal Warning & Shutdown
Ttw
Thermal warning
(1) (2)
Ttsd
Tlow
(2)
138
145
152
°C
Thermal shutdown
Ttw + 10
°C
Low temperature warning
Ttw - 155
°C
Supply and Voltage Regulator
Vbb
Nominal operating supply range
VbbOTP
Supply voltage for OTP zapping
Ibat
VBB
Tamb ≤ 125 °C
6.5
18
V
Tamb ≤ 85 °C
6.5
29
V
9.0
10.0
V
3.50
10.0
mA
µA
(3)
Total current consumption
Unloaded outputs
Ibat_s
Sleep mode current consumption
50
100
UV1
Stop voltage high threshold
7.8
8.4
8.9
V
UV2
Stop voltage low threshold
7.1
7.5
8.0
V
Vdd
Internal regulated output
4.75
5
5.50
IddStop
VddReset
VDD
(4)
8V < Vbb < 29V
Digital current consumption
Vbb < UV2
Digital supply reset level @ power down
2
(5)
Current limitation
IddLim
Pin shorted to ground
V
mA
4.5
V
42
mA
2
kΩ
29
V
Switch Input and Hardwire Address Input
Rt_OFF
Switch OFF resistance
Rt_ON
Vbb_sw
(6)
(6)
SWI
HW
Switch ON resistance
Vbb range for guaranteed operation of
SWI and HW
Switch to Gnd or Vbat,
10
kΩ
6
Vmax_sw
Maximum voltage
T < 1s
40V
Ilim_sw
Current limitation
Short to Gnd or Vbat
30
V
mA
2
I C Serial Interface
(7)
VIL
Input level low
VIH
Input level high
Noise margin at the LOW level for each
connected device (including hysteresis)
Noise margin at the HIGH level for each
connected device (including hysteresis)
VnL
(8)
SDA
SCK
VnH
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
- 0.5
0.3 * Vdd
V
0.7 * Vdd
Vdd + 0.5
V
0.1 * Vdd
0.2 * Vdd
8
V
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
Table 5: DC Parameters (cont.)
Charge Pump
Vcp
VCP
Output voltage
Vbb > 15V
8V < Vbb < 15V
Vbb+10
Vbb+12.5
Vbb+15
2 * Vbb – 5
2 * Vbb – 2.5
2 * Vbb
V
V
Cbuffer
External buffer capacitor
220
470
nF
Cpump
CPP CPN External pump capacitor
220
470
nF
Motion Qualification Mode Output
VOUT
Output voltage swing
ROUT
Output impedance
SWI
Av
Gain = VSWI / VBEMF
Notes:
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
2
TestBemf I C command
2
Service mode I C command
2
Service mode I C command
0 - 4,85
2
0,50
No more than 100 cumulated hours in life time above Ttsd.
Thermal shutdown and a low temperature warning are derived from thermal warning.
A 10µF buffer capacitor of between VBB and GND is the minimum needed. Short connections to the power supply are recommended.
Pin VDD must not be used for any external supply
The RAM content will not be altered above this voltage.
External resistance value seen from pin SWI or HW, including 1kΩ series resistor.
If input voltages < - 0.3V, than a resistor between 22Ω to 100Ω needs to be put in series
If the I2C-bus is operated in Fast Mode VIHmin = 0.7 * Vdd
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
9
V
kΩ
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
11.0 AC Parameters
The AC parameters are given for Vbb and temperature in their operating ranges. All timing values of the I2C transceiver are referred to
VIHman and VILmax levels (see Figure 5).
Table 6: AC Parameters
Symbol
Pin(s)
Parameter
Test Conditions
Min.
Typ.
Max.
Unit
10
ms
4.4
MHz
Power-up
Tpu
Power-up time
Guaranteed by design
Internal Oscillator
fosc
Frequency of internal oscillator
3.6
4.0
2
I C Transceiver (Generic)
CB
CI
Capacitive load of each bus line
SDA
SCK
Capacitance of SDA / SCK pin
Pulse width of spikes which must be
tSP
suppressed by the input filter
2
I C Transceiver (Standard Mode)
fSCL
tLOW
tHIGH
tSU,START
tHD,DATA
10
SDA
SCK
tSU,DATA
pF
pF
50
SCL clock frequency
Hold time (repeated) START condition.
After this period the first clock pulse is
generated.
LOW period of the SCK clock
tHD,START
(1)
400
ns
100
4.0
kHz
µs
4.7
µs
4.0
µs
HIGH period of the SCK clock
Set-up time for a repeated START
condition
2
Data hold time for I C bus devices
0
Data set-up time
250
4.7
(2)
µs
(3)
3.45
µs
ns
tR
Rise time of SDA and SCK signals
1.0
µs
tF
Fall time of SDA and SCK signals
0.3
µs
tSU,STOP
Set-up time for STOP condition
Bus free time between STOP and
tBUF
START condition
2
I C Transceiver (Fast Mode)
fSCL
SCL clock frequency
Hold time (repeated) START condition.
After this period the first clock pulse is
generated.
LOW period of the SCK clock
tHD,START
tLOW
tHIGH
tSU,START
tHD,DATA
tSU,DATA
SDA
SCK
4.0
µs
4.7
µs
360
0.6
HIGH period of the SCK clock
Set-up time for a repeated START
condition
2
Data hold time for I C bus devices
µs
1.3
µs
0.6
µs
0.6
0
Data set-up time
(2)
100
µs
0.9
(3)
(4)
Rise time of SDA and SCK signals
20 + 0.1CB
300
tF
Fall time of SDA and SCK signals
20 + 0.1CB
300
tBUF
Set-up time for STOP condition
Bus free time between STOP and
START condition
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
10
µs
ns
tR
tSU,STOP
kHz
ns
ns
0.6
µs
1.3
µs
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
Table 6: AC Parameters (cont.)
Switch Input and Hardwire Address Input
Tsw
Scan pulse period
SWI
HW
Tsw_on
(5)
Scan pulse duration
1024
µs
128
µs
Motordriver
Fpwm
PWM frequency
Fjit_depth
PWM jitter modulation depth
MOTxx
Tbrise
(5)
Turn-on transient time
PWMfreq = 0
(6)
20.6
22.8
25.0
kHz
PWMfreq = 1
(6)
41,2
45,6
50,0
kHz
PWMJen = 1
(6)
Between 10% and 90%
Tbfall
Turn-off transient time
Tstab
Run current stabilization time
10
%
170
ns
140
29
ns
32
35
ms
Charge Pump
CPN
CPP
fCP
Notes:
(1)
(2)
(3)
(4)
(5)
(6)
Charge pump frequency
(5)
250
kHz
The maximum number of connected I2C devices is dependent on the number of available addresses and the maximum bus capacitance to still guarantee the rise
and fall times of the bus signals.
An I2C device must internally provide a hold time of at least 300ns for the SDA signal (referred to the VIHmin of the SCL signal) to bridge the undefined region of the
falling edge of SCL.
The maximum tHD,DAT has only to be met if the device does not stretch the LOW period (tLOW) of the SCL signal.
A Fast-mode I2C-bus device can be used in a standard-mode I2C bus system, but the requirement tSU,DATA ≥ 250ns must than be met. This will automatically be the
case if the device does not stretch the LOW period of the SCL signal. If such a device does stretch the LOW period of the SCL signal, it must output the next data
bit to the SDA line trmax + tSU,DATA = 1000 + 250 = 1250ns (according to the standard-mode I2C-bus specification) before the SCL line is released.
Derived from internal oscillator.
See SetMotorParam and PWM regulator.
START
SDA
REPEATED START
STOP
START
VIHmin
VILmax
tF
SCK
tSU,DATA
tR
tHD,START
tHD,DATA
tLOW
tBUF
tSU,START
tSP
tSU,STOP
tHIGH
PC20060925.8
Figure 5: I2C Timing Diagrams
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
11
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
C1
220 nF
100 µF
C3
CPN
VDD
1 µF
9
220 nF
VBAT
C4
CPP
10
C5
VBB
VCP
11
100 nF
12.0 Typical Application
12
3
20
AMIS-30624
HW 8
1 kΩ
18
MOTXP
16
MOTXN
13
6
5
TST1
TST2
4
7
14
MOTYN
17
GND
All resistors are ± 5%, ¼ W.
Depending on the application, the ESR value and working voltage of C1 must be carefully chosen.
C2 must be a ceramic capacitor to assure low ESR.
C3 and C4 must be as close as possible to pins CPN, CPP, VCP, and VBB to reduce EMC radiation.
C5 and C6 must be close to pins VBB and GND.
13.0 Positioning Parameters
13.1 Stepping Modes
One of four possible stepping modes can be programmed:
•
•
•
•
Half stepping
1/4 microstepping
1/8 microstepping
1/16 microstepping
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
Connect
to VBAT
or GND
12
M
MOTYP
Figure 6: Typical Application Diagram
Notes:
(1)
(2)
(3)
(4)
(5)
R2
1 kΩ
SCK 2
R1
SWI
C2
15
Connect
to VBAT
or GND
100 nF
VBB
19
SDA 1
I2 C
bus
C6
PC20060925.5
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
13.2 Maximum Velocity
For each stepping mode, the maximum velocity Vmax can be programmed to 16 possible values given in Table 7.
The accuracy of Vmax is derived from the internal oscillator. Under special circumstances it is possible to change the Vmax parameter
while a motion is ongoing. All 16 entries for the Vmax parameter are divided into four groups. When changing Vmax during a motion the
application must take care that the new Vmax parameter stays within the same group, otherwise steps might be lost.
Table 7: Maximum Velocity Selection Table
Vmax Index
Vmax
Group
(Full-step/s)
Hex
Dec
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
99
136
167
197
213
228
243
273
303
334
364
395
456
546
729
973
Stepping Mode
th
th
1/4
1/8
Microstepping
Microstepping
(Micro-step/s)
(Micro-step/s)
395
790
546
1091
668
1335
790
1579
851
1701
912
1823
973
1945
1091
2182
1213
2426
1335
2670
1457
2914
1579
3159
1823
3647
2182
4364
2914
5829
3891
7782
Half stepping
(Half-step/s)
A
197
273
334
395
425
456
486
546
607
668
729
790
912
1091
1457
1945
B
C
D
th
1/16
Microstepping
(Micro-step/s)
1579
2182
2670
3159
3403
3647
3891
4364
4852
5341
5829
6317
7294
8728
11658
15564
13.3 Minimum Velocity
Once the maximum velocity is chosen, 16 possible values can be programmed for the minimum velocity Vmin.
Table 8 provides the obtainable values in full-step/s. The accuracy of Vmin is derived from the internal oscillator.
Table 8: Obtainable Values in Full-step/s for the Minimum Velocity
Vmin Index
Hex
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Notes:
(1)
(2)
Dec
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Vmax
Factor
1
1/32
2/32
3/32
4/32
5/32
6/32
7/32
8/32
9/32
10/32
11/32
12/32
13/32
14/32
15/32
Vmax (Full-step/s)
A
99
99
3
6
9
12
15
18
21
24
28
31
34
37
40
43
46
B
136
136
4
8
12
16
21
25
30
33
38
42
47
51
55
59
64
167
167
5
10
15
20
26
31
36
41
47
51
57
62
68
72
78
197
197
6
11
18
24
31
36
43
49
55
61
68
73
80
86
93
C
213
213
6
12
19
26
32
39
46
52
59
66
72
79
86
93
99
228
228
7
13
21
28
35
42
50
56
64
71
78
85
93
99
107
243
243
7
14
22
30
37
45
52
60
68
75
83
91
98
106
113
273
273
8
15
25
32
42
50
59
67
76
84
93
101
111
118
128
303
303
8
17
27
36
46
55
65
74
84
93
103
113
122
132
141
334
334
10
19
31
40
51
61
72
82
93
103
114
124
135
145
156
364
364
10
21
32
44
55
67
78
90
101
113
124
135
147
158
170
395
395
11
23
36
48
61
72
86
97
111
122
135
147
160
172
185
456
456
13
27
42
55
71
84
99
113
128
141
156
170
185
198
214
546
546
15
31
50
65
84
99
118
134
153
168
187
202
221
237
256
D
729
729
19
42
65
88
111
134
156
179
202
225
248
271
294
317
340
973
973
27
57
88
118
149
179
210
240
271
301
332
362
393
423
454
The Vmax factor is an approximation.
In case of motion without acceleration (AccShape = 1) the length of the steps = 1/Vmin. In case of accelerated motion (AccShape = 0) the length of the first step
is shorter than 1/Vmin depending of Vmin, Vmax and Acc.
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
13
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
13.4 Acceleration and Deceleration
Sixteen possible values can be programmed for Acc (acceleration and deceleration between Vmin and Vmax). Table 9 provides the
obtainable values in full-step/s². One observes restrictions for some combination of acceleration index and maximum speed (gray cells).
The accuracy of Acc is derived from the internal oscillator.
167
197
213
228
243
273
303
334
364
395
456
546
729
973
Acceleration (Full-step/s²)
49
106
14785
Table 9: Acceleration and Deceleration Selection Table
99
136
Vmax (FS/s) →
↓ Acc Index
Hex
Dec
0
0
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
9
9
A
10
B
11
C
12
D
13
E
14
F
15
29570
218
1004
3609
6228
8848
11409
13970
16531
19092
21886
24447
27008
29570
34925
40047
473
735
The formula to compute the number of equivalent full-step during acceleration phase is:
Nstep =
Vmax 2 − Vmin 2
2 × Acc
13.5 Positioning
The position is programmed in the command SetPosition and is given as a number of (micro)steps. According to the chosen
stepping mode, the position words must be aligned as described in Table 10. When using command GotoSecurePosition, data is
automatically aligned.
Table 10: Position Word Alignment
Stepping Mode
th
1/16
S
B14
th
1/8
S
B13
th
1/4
S
B12
Half-stepping
S
B11
SecurePosition
S
B9
Notes:
(1)
(2)
B13
B12
B11
B10
B8
B12
B11
B10
B9
B7
B11
B10
B9
B8
B6
Position Word: Pos[15:0]
B10 B9
B8
B7
B6
B5
B9
B8
B7
B6
B5
B4
B8
B7
B6
B5
B4
B3
B7
B6
B5
B4
B3
B2
B5
B4
B3
B2
B1 LSB
LSB: Least significant bit
S: Sign bit
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
14
B4
B3
B2
B1
0
B3
B2
B1 LSB
B2
B1 LSB
0
B1 LSB
0
0
LSB
0
0
0
0
0
0
0
Shift
No shift
1-bit left ⇔ ×2
2-bit left ⇔ ×4
3-bit left ⇔ ×8
No shift
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
13.5.1. Position Ranges
A position is coded by using the binary two’s complement format. According to the positioning commands used and to the chosen
stepping mode, the position range will be as shown in Table 11.
Table 11: Position Range
Command
SetPosition
Stepping Mode
Half stepping
th
1/4 microstepping
th
1/8 microstepping
th
1/16 microstepping
Position Range
-4096 to +4095
-8192 to +8191
-16384 to +16383
-32768 to +32767
Full Range Excursion
8192 half-steps
16384 micro-steps
32768 micro-steps
65536 micro-steps
Number of Bits
13
14
15
16
When using the command SetPosition, although coded on 16 bits, the position word will have to be shifted to the left by a certain
number of bits, according to the stepping mode.
13.5.2. Secure Position
A secure position can be programmed. It is coded in 11-bits, thus having a lower resolution than normal positions, as shown in
Table 12. See also the command GotoSecurePosition.
Table 12: Secure Position
Stepping Mode
Half-stepping
th
1/4 microstepping
th
1/8 microstepping
th
1/16 microstepping
Secure Position Resolution
4 half-steps
th
8 micro-steps (1/4 )
th
16 micro-steps (1/8 )
th
32 micro-steps (1/16 )
Important Notes:
(1) The secure position is disabled in case the programmed value is the reserved code “10000000000” (0x400 or most negative position).
(2) The resolution of the secure position is limited to 9 bit at start-up. The OTP register is copied in RAM as illustrated below. SecPos1 and SecPos0 = 0.
SecPos10
SecPos9
SecPos8
SecPos2
SecPos10
SecPos9
SecPos8
SecPos2
SecPos1
SecPos0
RAM
OTP
13.5.3. Shaft
A shaft bit which can be programmed in OTP or with command SetMotorParam, defines whether a positive motion is a clockwise or
counter-clockwise rotation (an outer or an inner motion for linear actuators):
• Shaft = 0 ⇒ MOTXP is used as positive pin of the X coil, while MOTXN is the negative one
• Shaft = 1 ⇒ opposite situation.
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
15
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
14.0 Structural Description
See also the Block Diagram in Figure 1.
14.1 Stepper Motordriver
The motordriver receives the control signals from the control logic. The main features are:
• Two H-bridges designed to drive a stepper motor with two separated coils. Each coil (X and Y) is driven by one H-bridge and
the driver controls the currents flowing through the coils. The rotational position of the rotor, in unloaded condition, is defined
by the ratio of current flowing in X and Y. The torque of the stepper motor when unloaded is controlled by the magnitude of the
currents in X and Y.
• The control block for the H-bridges including the PWM control, the synchronous rectification and the internal current sensing
circuitry
• The charge pump to allow driving of the H-bridges’ high side transistors
• Two pre-scale 4-bit DACs to set the maximum magnitude of the current through X and Y
• Two DACs to set the correct current ratio through X and Y
Battery voltage monitoring is also performed by this block, which provides information to the control logic part. The same applies for the
detection and reporting of an electrical problem that could occur on the coils or the charge pump.
14.2 Control Logic (Position Controller and Main Control)
The control logic block stores the information provided by the I2C interface (in a RAM or an OTP memory) and digitally controls the
positioning of the stepper motor in terms of speed and acceleration, by feeding the right signals to the motordriver state machine.
It will take into account the successive positioning commands to properly initiate or stop the stepper motor in order to reach the set
point in a minimum time.
It also receives feedback from the motordriver part in order to manage possible problems and decide on internal actions and reporting
to the I2C interface.
14.3 Motion Detection
Motion detection is based on the back emf, generated internally in the running motor. When the motor is blocked, for example when it
hits the end-position, the velocity and as a result also the generated back emf, is disturbed. The AMIS-30624 senses the back emf,
calculates a moving average and compares the value with two independent threshold levels. If the back emf disturbance is bigger than
the set threshold, the running motor is stopped.
14.4 Miscellaneous
The AMIS-30624 also contains the following:
•
•
•
•
An internal oscillator needed for the control logic and the PWM control of the motor driver
An internal trimmed voltage source for precise referencing
A protection block featuring a thermal shutdown and a power-on-reset circuit
A 5V regulator (from the battery supply) to supply the internal logic circuitry
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
16
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
15.0 Functional Description
This chapter describes the following functional blocks in more detail:
• Position controller
• Main control and register, OTP memory + ROM
• Motordriver
The motion detection and I2C control are discussed in separate chapters.
15.1 Position Controller
15.1.1. Positioning and Motion Control
A positioning command will produce a motion as illustrated in Figure 7. A motion starts with an acceleration phase from minimum
velocity (Vmin) to maximum velocity (Vmax), and ends with a symmetrical deceleration. This is defined by the control logic according to
the position required by the application and the parameters programmed by the application during configuration phase. The current in
the coils is also programmable.
Velocity
Acceleration
range
Zero speed
Hold current
Deceleration
range
Zero speed
Hold current
Vmax
Vmin
Position
P=0
Pstart
Pmin
Pstop
Optional zero
switch
Pmax
Figure 7: Positioning and Motion Control
Table 13: Position Related Parameters
Parameter
Pmax – Pmin
Zero speed hold current
Maximum current
Acceleration and deceleration
Vmin
Vmax
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
Reference
See Positioning
See Ihold
See Irun
See Acceleration and deceleration
See Minimum velocity
See Maximum velocity
17
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
Different positioning examples are shown in Table 14.
Table 14: Positioning Examples
Positioning Examples
Velocity
Short motion
time
Velocity
New positioning command in same
direction, shorter or longer, while a motion
is running at maximum velocity.
time
Velocity
New positioning command in same
direction while in deceleration phase
Note: there is no wait time between the
deceleration phase and the new
acceleration phase.
time
Velocity
New positioning command in reverse
direction while motion is running at
maximum velocity.
time
Velocity
New positioning command in reverse
direction while in deceleration phase.
time
Velocity
New velocity programming while motion is
Running.
time
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
18
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
15.1.2. Dual Positioning
A SetDualPosition command allows the user to perform positioning using two different velocities. The first motion is done with the
specified Vmin and Vmax velocities in the SetDualPosition command, with the acceleration (deceleration) parameter already in
RAM, to a position Pos1[15:0] also specified in SetDualPosition .
Velocity
Reset ActPos
Pos1[15:0]
Pos1[15:0] +
Pos2[15:0]
A second relative motion to a position Pos1[15:0] + Pos2[15:0] is done at the specified Vmin velocity in the SetDualPosition
command (no acceleration). Once the second motion is achieved, the ActPos register is reset to zero, whereas TagPos register is not
changed.
Vmax
Vmin
First motion
Second motion
t
27 ms
27 ms
PC20070221.1
Figure 8:Dual Positioning
Remark: This operation cannot be interrupted or influenced by any further command unless the conditions exist to cause a motor
shutdown or by a HardStop command. Sending a SetDualPosition command while a motion is already ongoing is not
recommended.
Notes:
(0)
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
The priority encoder describes the management of states and commands. All notes below are to be considered illustrative.
The last SetPosition command issued during a DualPosition sequence will be kept in memory and executed afterwards. This also applies to the commands
SetMotorParam and GotoSecurePosition.
Commands such as GetFullStatus1 or GetFullStatus2 will be executed while a Dual Positioning is running.
A DualPosition sequence starts by setting TagPos register to SecPos value, provided secure position is enabled otherwise TagPos is reset to zero.
The acceleration/deceleration value applied during a DualPosition sequence is the one stored in RAM before the SetDualPosition command is sent. The
same applies for Shaft bit, but not for Irun, Ihold and StepMode, which can be changed during the Dual Positioning sequence.
The Pos1, Pos2, Vmax and Vmin values programmed in a SetDualPosition command apply only for this sequence. All further positioning will use the
parameters stored in RAM (programmed for instance by a former SetMotorParam command).
Commands ResetPosition, SetDualPosition, and SoftStop will be ignored while a DualPosition sequence is ongoing, and will not be executed afterwards.
A SetMotorParam command should not be sent during a SetDualPosition sequence.
If for some reason ActPos equals Pos1[15:0] at the moment the SetDualPosition command is issued, the circuit will enter in deadlock state. Therefore, the
application should check the actual position by a GetFullStatus2 command prior to send the SetDualPosition command.
15.1.3. Position Periodicity
th
Depending on the stepping mode the position can range from –4096 to +4095 in half-step to –32768 to +32767 in 1/16 microstepping
mode. One can project all these positions lying on a circle. When executing the command SetPosition, the position controller will
set the movement direction in such a way that the traveled distance is at a minimum.
Figure 9 illustrates that the moving direction going from ActPos = +30000 to TagPos = –30000 is clockwise.
If a counter clockwise motion is required in this example, several consecutive SetPosition commands can be used. For larger
movements, one could also use the command RunVelocity.
+10000
+20000
ActPos = +30000
Motion direction
0
TagPos = -30000
-10000
-20000
Figure 9: Motion Direction is Function on Difference Between ActPos and TagPos
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
19
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
15.1.4. Hardwired Address HW
In Figure 10 a simplified schematic diagram is shown of the HW comparator circuit.
The HW pin is sensed via two switches STOP and SBOT. The DriveHS and DriveLS control lines are alternatively closing STOP and SBOT ,
connecting HW pin with a current to resistor converter. Closing STOP (DriveHS = 1) will sense a current to GND. In that case the top IÆ
R converter output is low, via the closed passing switch SPASS_T this signal is fed to the “R” comparator which output HW_Cmp is high.
Closing bottom switch SBOT (DriveLS = 1) will sense a current to VBAT. The corresponding IÆ R converter output is low and via SPASS_B
fed to the comparator. The output HW_Cmp will be high.
SPASS_T
IÎ R
State
HW
STOP
DriveHS
High
Low
LOGIC
SBOT
1 = R2GND
2 = R2VBAT
64 ms
Debouncer
DriveLS
Float
"R"-Comp
3 = OPEN
IÎ R
SPASS_B
COMP
Rth
32 µs
Debouncer
HW_Cmp
PC20060926.1
Figure 10: Simplified Schematic Diagram of the HW Comparator
Three cases can be distinguished (see also Figure 10):
HW is connected to ground: R2GND or Drawing 1
HW is connected to VBAT: R2VBAT or Drawing 2
HW is floating: OPEN or Drawing 3
Table 15: State Diagram of the HW Comparator
Previous State
DriveLS
DriveHS
HW_Cmp
Float
1
0
0
Float
1
0
1
Float
0
1
0
Float
0
1
1
Low
1
0
0
Low
1
0
1
Low
0
1
0
Low
0
1
1
High
1
0
0
High
1
0
1
High
0
1
0
High
0
1
1
New State
Float
High
Float
Low
Low
High
Float
Low
Float
High
High
Low
Condition
R2GND or OPEN
R2VBAT
R2VBAT or OPEN
R2GND
R2GND or OPEN
R2VBAT
R2VBAT or OPEN
R2GND
R2GND or OPEN
R2VBAT
R2VBAT or OPEN
R2GND
Drawing
1 or 3
2
2 or 3
1
1 or 3
2
2 or 3
1
1 or 3
2
2 or 3
1
The logic is controlling the correct sequence in closing the switches and in interpreting the 32µs de-bounced HW_Cmp output
accordingly. The output of this small state-machine is corresponding to:
High or address = 1
Low or address = 0
Floating
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
20
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
As illustrated in Table 15, the state is depending on the previous state, the condition of the two switch controls (DriveLS and DriveHS)
and the output of HW_Cmp. Figure 11 shows an example of a practical case where a connection to VBAT is interrupted.
Condition
OPEN
R2VBAT
R2VBAT
R2GND
t
Tsw = 1024 µs
DriveHS
t
DriveLS
Tsw_on = 128 µs
t
"R"-Comp
Rth
t
HW_Cmp
t
PC20060926.2
Low
Low
Low
High
High
Float
Float
Float
High
High
High
High
High
High
Float
State
t
Figure 11: Timing Diagram Showing the Change in States for HW Comparator
R2VBAT
A resistor is connected between VBAT and HW. Every 1024µs SBOT is closed for a period of 128µs and a current is sensed. The output
of the I Æ R converter is low and the HW_Cmp output is high. Assuming the previous state was floating, the internal LOGIC will
interpret this as a change of state and the new state will be High (see also Table 15). The next time SBOT is closed the same condition is
observed. The previous state was high, so based on Table 15 the new state remains unchanged. This high state will be interpreted as
HW address = 1.
OPEN
In case the HW connection is lost (broken wire, bad contact in connector) the next time SBOT is closed this will be sensed. There will be
no current, the output of the corresponding I Æ R converter is high and the HW_Cmp will be low. The previous state was High. Based
on Table 15 one can see that the state changes to float. This will trigger a motion to secure position after a debounce time of 64 ms.
This prevents false triggering in case of micro interruptions of the power supply. See also Electrical Transient Conduction Along Supply
Lines.
R2GND
If a resistor is connected between HW and the GND, a current is sensed every 1024µs when STOP is closed. The output of the top I Æ R
converter is low and as a result the HW_Cmp output switches to high. Again based on the stated diagram in Table 15 one can see that
the state will change to low. This low state will be interpreted as HW address = 0.
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
21
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
15.1.5. External Switch SWI
As illustrated in Figure 12, the SWI comparator is almost identical to HW. The major difference is in the limited number of states. Only
open or closed is recognised leading to respectively ESW = 0 and ESW = 1.
SPASS_T
IÎ R
State
DriveHS
SWI STOP
Closed
LOGIC
SBOT
1 = R2GND
2 = R2VBAT
Open
DriveLS
"R"-Comp
3 = OPEN
IÎ R
SPASS_B
COMP
Rth
32 µs
Debouncer
SWI_Cmp
PC20060926.3
Figure 12: Simplified Schematic Diagram of the SWI Comparator
As illustrated in Figure 14, a change in state is always synchronized with DriveHS or DriveLS. The same synchronization is valid for
updating the internal position register. This means that after every current pulse (or closing of STOP or SBOT) the state of position switch
together with the corresponding position is memorized.
Using the GetActualPos commands reads back the ActPos register and the status of ESW. In this way the master node may get
synchronous information about the state of the switch together with the position of the motor. See Figure 13.
Byte
Content
Bit 7
0
1
2
3
4
5
6
7
8
Address
Address
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
GetFullStatus1 Response Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
1
1
1
OTP3
1
1
Irun[3:0]
Vmax[3:0]
AccShape
StepMode[1:0]
VddReset
StepLoss
ElDef
Motion[2:0]
1
1
1
AbsThr[3:0]
OTP2
OTP3
OTP1
OTP2
Shaft
UV2
ESW
1
TSD
OVC1
1
Figure 13: GetFullStatus1 I2C Commando
Important remark; Every 512µs this information is refreshed.
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
22
Bit 2
Bit 1
Bit 0
OTP0
HW
1
OTP1
OTP0
HW
Ihold[3:0]
Vmin[3:0]
Acc[3:0]
TW
Tinfo[1:0]
OVC2
Stall
CPFail
1
1
1
DelThr[3:0]
AMIS-30624 I2C Microstepping Motordriver
DriveHS
Tsw =1024 µs
Data Sheet
512 µs
t
Tsw_on = 128 µs
DriveLS
t
"R"-Comp
Rth
t
120 µs
SWI_Cmp
t
ESW
0
1
1
1
ActPos + 3
ActPos + 2
PC20060926.4
ActPos
ActPos
ActPos + 1
t
t
Figure 14: Timing Diagram Showing the Change in States for SWI Comparator
15.2 Main Control and Register, OTP Memory + ROM
15.2.1. Power-up Phase
The power-up phase of the AMIS-30624 will not exceed 10ms. After this phase, the AMIS-30624 is in shutdown mode, ready to receive
2
I C messages and execute the associated commands. After power-up, the registers and flags are in the reset state; some of them
being loaded with the OTP memory content (see Table 18).
15.2.2. Reset State
After power-up, or after a reset occurrence (e.g. a micro cut on pin VBB has made Vdd go below VddReset level), the H-bridges will be
in high impedance mode, and the registers and flags will be in a predetermined position. This is documented in Table 18 and Table 19.
15.2.3. Soft Stop
A soft stop is an immediate interruption of a motion, but with a deceleration phase. At the end of this action, the register TagPos is
loaded with the value contained in register ActPos to avoid an attempt of the circuit to achieve the motion (seeTable 18). The circuit is
then ready to execute a new positioning command, provided thermal and electrical conditions allow for it.
15.2.4. Thermal Shutdown Mode
When thermal shutdown occurs, the circuit performs a SoftStop command and goes to motor shutdown mode (see Figure 15).
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
23
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
15.2.5. Temperature Management
The AMIS-30624 monitors temperature by means of two thresholds and one shutdown level, as illustrated in the Figure 15. The only
condition necessary to reset flags <TW> and <TSD> (respectively thermal warning and thermal shutdown) is when the temperature is
2
lower than Ttw causing the occurrence of a GetFullStatus1 I C frame.
<Tinfo> = '01'
<TW> = '0'
<TSD> = '0'
T° < Tlow
LOW
TEMP
NORMAL
TEMP
T° > Tlow
<Tinfo> = '01'
<TW> = '0'
<TSD> = '0'
T° < T tw
& I2C frame
<GetFullStatus1>
<Tinfo> = '01'
<TW> = '0'
<TSD> = '0'
T° > T tw
T° < T tw
& I2C frame
<GetFullStatus1>
POST
THERMAL
SHUTDOWN
2
PC20070219.1
<Tinfo> = '01'
<TW> = '0'
<TSD> = '0'
POST
THERMAL
WARNING
<Tinfo> = '01'
<TW> = '0'
<TSD> = '0'
THERMAL
WARNING
T° < T tw
T° > Ttw
T° > T tsd
T° > Ttw
T° < Ttw
T° > T tsd
<Tinfo> = '01'
<TW> = '0'
<TSD> = '0'
THERMAL
SHUTDOWN
POST
THERMAL
SHUTDOWN
1
T° < T tsd
Figure 15: State Diagram Temperature Management
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
24
Tinfo> = '01'
TW> = '0'
TSD> = '0'
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
15.2.6. Battery Under-voltage Management
The AMIS-30624 monitors the battery voltage by means of one threshold and one shutdown level, as illustrated in Figure 16. The only
condition necessary to reset flags <UV2> and <StepLoss> is to recover a battery voltage higher than UV1 and to receive a
GetFullStatus1 command.
- <UV2> = '0'
- <Steploss> = '0'
NORMAL
VOLTAGE
Vbb > UV1
& I2C frame
<GetFullStatus1>
Vbb > UV1
& I2C frame
<GetFullStatus1>
Vbb < UV2
No Motion
- <UV2> = '1'
- <Steploss> = '0'
- Motor Shutdown
STOP
MODE
2
Vbb < UV2
& Motion Ongoing
- <UV2> = '1'
- <Steploss> = '1'
- HardStop
- Motor Shutdown
STOP
MODE
1
PC20060926.5
Figure 16: State Diagram Battery Voltage Management
15.2.7. OTP Register
15.2.7.1. OTP Memory Structure
Table 16 shows where the parameters to be stored in the OTP memory are located.
Table 16: OTP Memory Structure
Address
Bit 7
0x00
OSC3
0x01
0x02
AbsThr3
0x03
Irun3
0x04
Vmax3
0x05
SecPos10
0x06
SecPos7
0x07
DelThr3
Bit 6
OSC2
TSD2
AbsThr2
Irun2
Vmax2
SecPos9
SecPos6
DelThr2
Bit 5
OSC1
TSD1
AbsThr1
Irun1
Vmax1
SecPos8
SecPos5
DelThr1
Bit 4
OSC0
TSD0
AbsThr0
Irun0
Vmax0
Shaft
SecPos4
DelThr0
Bit 3
IREF3
BG3
PA3
Ihold3
Vmin3
Acc3
SecPos3
StepMode1
Bit 2
IREF2
BG2
PA2
Ihold2
Vmin2
Acc2
SecPos2
StepMode0
Bit 1
IREF1
BG1
PA1
Ihold1
Vmin1
Acc1
Bit 0
IREF0
BG0
PA0
Ihold0
Vmin0
Acc0
LOCKBT
LOCKBG
Parameters stored at address 0x00 and 0x01 and bit LOCKBT are already programmed in the OTP memory at circuit delivery. They
correspond to the calibration of the circuit and are just documented here as an indication.
Each OPT bit is at ‘0’ when not zapped. Zapping a bit will set it to ‘1’. Thus only bits having to be at ‘1’ must be zapped. Zapping of a bit
already at ‘1’ is disabled.
Each OTP byte will be programmed separately (see command SetOTPparam).
Once OTP programming is completed, bit LOCKBG can be zapped, to disable future zapping, otherwise any OTP bit at ‘0’ could still be
zapped by using a SetOTPparam command.
Table 17: OTP Overwrite Protection
Lock Bit
LOCKBT (factory zapped before delivery)
Protected Bytes
0x00 to 0x01
LOCKBG
0x00 to 0x07
Note:
Zapped bits will really be “active” after a GetOTPparam or a ResetToDefault command or after a power-up.
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
25
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
The command used to load the application parameters via the I2C bus in the RAM prior to an OTP memory programming is
SetMotorParam. This allows for a functional verification before using a SetOTPparam command to program and zap separately one
OTP memory byte. A GetOTPparam command issued after each SetOTPparam command allows verification of the correct byte
zapping.
15.2.7.2. Application Parameters Stored in OTP Memory
Except for the physical address PA[3:0], these parameters, although programmed in a non-volatile memory, can still be overridden in
2
RAM by an I C writing operation.
PA[3:0]
In combination with hired wired (HW) address, it forms the physical address AD[6:0] of the stepper-motor. Up to
2
32 steppermotors can theoretically be connected to the same I C bus.
AbsThr[3:0]
Absolute threshold used for the motion detection
Index
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
DelThr[3:0]
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
AbsThr
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
AbsThr level (V)
Disable
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5
5.0
5.5
6.0
6.5
7.0
7.5
Delta threshold used for the motion detection
Index
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
DelThr
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
DelThr level (V)
Disable
0.25
0.50
0.75
1.00
1.25
1.50
1.75
2.00
2.25
2.50
2.75
3.00
3.25
3.50
3.75
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
26
AMIS-30624 I2C Microstepping Motordriver
Irun[3:0]
Current amplitude value to be fed to each coil of the steppermotor. The table below provides the 16 possible values
for IRUN.
Index
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Ihold[3:0]
Irun
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Run Current (mA)
59
71
84
100
119
141
168
200
238
283
336
400
476
566
673
800
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Ihold
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Hold Current (mA)
59
71
84
100
119
141
168
200
238
283
336
400
476
566
673
0
Indicator of stepping mode to be used.
StepMode
0
0
0
1
1
0
1
1
Shaft
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Hold current for each coil of the steppermotor. The table below provides the 16 possible values for IHOLD.
Index
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
StepMode
Data Sheet
Step Mode
1/2 stepping
1/4 stepping
1/8 stepping
1/16 stepping
Indicator of reference position. If Shaft = ‘0’, the reference position is the maximum inner position, whereas if
Shaft = ‘1’, the reference position is the maximum outer position.
SecPos[10:0] Secure position of the steppermotor. This is the position to which the motor is driven in case HW connection is lost. If
SecPos[10:0] = “100 0000 0000”, this means that secure position is disabled, e.g. the steppermotor will be kept in
the position occupied at the moment these events occur.
The secure position is coded on 11 bits only, providing actually the most significant bits of the position, the non coded
least significant bits being set to ‘0’. See also Table 10.
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
27
AMIS-30624 I2C Microstepping Motordriver
Vmax[3:0]
Maximum velocity
Index
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Vmin[3:0]
Vmax
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Vmin
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Vmax (full step/s)
99
136
167
197
213
228
243
273
303
334
364
395
456
546
729
973
B
C
D
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Vmax factor
1
1/32
2/32
3/32
4/32
5/32
6/32
7/32
8/32
9/32
10/32
11/32
12/32
13/32
14/32
15/32
Acceleration and deceleration between Vmax and Vmin.
Index
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Acc
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Acceleration (full step/s²)
49 (*)
218 (*)
1004
.
3609
.
6228
.
8848
.
11409
.
13970
.
16531
.
19092 (*)
21886 (*)
24447 (*)
27008 (*)
29570 (*)
34925 (*)
40047 (*)
(*) restriction on speed
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
Group
A
Minimum velocity
Index
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Acc[3:0]
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
28
Data Sheet
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
15.2.8. RAM Registers
Table 18: RAM Registers
Mnemonic
Length
(Bit)
Actual position
ActPos
16
Last programmed
position
Pos/
TagPos
16
AccShape
1
Coil peak current
Irun
4
Coil hold current
Ihold
4
Minimum velocity
Vmin
4
Maximum velocity
Vmax
4
Shaft
1
Acc
4
Secure position
SecPos
11
Stepping mode
StepMode
2
AbsThr
4
DelThr
4
Stall detection delay
FS2StallEn
3
Stall detection sampling
MinSamples
3
PWMJEn
1
DC100SDis
1
PWMFreq
1
Register
Acceleration shape
Shaft
Acceleration/
deceleration
Stall detection absolute
threshold
Stall detection delta
threshold
PWM jitter
100% duty cycle stall
disable
PWM frequency
Related Commands
GetFullStatus2
GotoSecurePos
ResetPosition
GetFullStatus2
GotoSecurePos
ResetPosition
SetPosition
GetFullStatus1
1
ResetToDefault
SetMotorParam
GetFullStatus11
ResetToDefault
SetMotorParam
GetFullStatus11
ResetToDefault
SetMotorParam
GetFullStatus1
1
ResetToDefault
SetMotorParam
GetFullStatus11
ResetToDefault
SetMotorParam
GetFullStatus11
ResetToDefault
SetMotorParam
GetFullStatus1
1
ResetToDefault
SetMotorParam
GetFullStatus21
ResetToDefault
SetMotorParam
GetFullStatus1
SetStallParam
GetFullStatus1
SetStallParam
GetFullStatus1
SetStallParam
GetFullStatus2
SetStallParam
GetFullStatus2
SetStallParam
GetFullStatus2
SetStallParam
GetFullStatus2
SetStallParam
SetMotorParam
Comment
16-bit signed
16-bit signed
(see Positioning)
‘0’ ⇒ normal acceleration from Vmin to Vmax
‘1’ ⇒ motion at Vmin without acceleration
www.amis.com
29
Note 1
‘0’
Operating current
See look-up table Irun
Standstill current
See look-up table Ihold
See Section 13.3 Minimum Velocity
See look-up table Vmin
See Section 13.2 Maximum Velocity
See look-up table Vmax
Direction of movement
for positive velocity
From OTP
memory
See Section 13.4 Acceleration
See look-up table Acc
Target position when LIN connection fails; 11
MSBs of 16-bit position (LSBs fixed to ‘0’)
See Section 13.1 Stepping Modes
See look-up table StepMode
See Section 15.4 Motion detection
See Section 15.4 Motion detection
See Section 15.4 Motion detection
‘000’
See Section 15.4 Motion detection
‘000’
‘1’ means jitter is added
‘0’
‘1’ means stall detection is disabled in case
PWM regulator runs at δ = 100%
‘1’ means 44 kHz is selected
Note:
A ResetToDefault command will act as a reset of the RAM content, except for ActPos and TagPos, which are registers that are not modified.
Therefore, the application should not send a ResetToDefault during a motion, to avoid any unwanted change of parameter.
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
Reset State
‘0’
‘0’
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
15.2.9. Flags Table
Table 19: Flags Table
Mnemonic
Length
(Bit)
Related Commands
CPFail
1
GetFullStatus1
ElDef
1
GetFullStatus1
ESW
1
GetFullStatus1
Motion
3
GetFullStatus1
Over current in coil X
OVC1
1
GetFullStatus1
Over current in coil Y
OVC2
1
GetFullStatus1
SecEn
1
Internal use
StepLoss
1
GetFullStatus1
DelStallHi
DelStallLo
AbsStall
Stall
1
1
1
1
GetFullStatus2
GetFullStatus2
GetFullStatus2
GetFullStatus1
Tinfo
2
GetFullStatus1
TSD
1
GetFullStatus1
TW
1
GetFullStatus1
UV2
1
GetFullStatus1
VddReset
1
GetFullStatus1
Flag
Charge pump failure
Electrical defect
External switch status
Motion status
Secure position enabled
Step loss
Delta high stall
Delta low stall
Absolute stall
Stall
Temperature info
Thermal shutdown
Thermal warning
Battery
stop voltage
Digital supply reset
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
30
Comment
‘0’ = charge pump OK
‘1’ = charge pump failure
reset only after GetFullStatus
<OVC1> or <OVC2> or <open circuit 1> or
<open circuit 2> or <CPFail>
resets only after GetFullStatus1
‘0’ = open
‘1’ = close
“x00” = Stop
“001” = inner motion acceleration
“010” = inner motion deceleration
“011” = inner motion max. speed
“101” = outer motion acceleration
“110” = outer motion deceleration
“111” = outer motion max. speed
‘1’ = over current
reset only after GetFullStatus1
‘1’ = over current
reset only after GetFullStatus1
‘0’ if SecPos = “100 0000 0000”
‘1’ otherwise
‘1’ = step loss due to under voltage, over current
or open circuit
‘1’ = Vbemf > Average + DeltaThr
‘1’ = Vbemf < Average – DeltaThr
‘1’ = Vbemf > AbsThr
Stall detected
“00” = normal temperature range
“01” = low temperature warning
“10” = high temperature warning
“11” = motor shutdown
‘1’ = shutdown (> 155°C typ.)
reset only after GetFullStatus1 and if
<Tinfo> = “00”
‘1’ = over temp (> 145°C)
reset only after GetFullStatus1 and if
<Tinfo> = “00”
‘0’ = Vbb > UV2
‘1’ = Vbb ≤ UV2
reset only after GetFullStatus1
Set at ‘1’ after power-up of the circuit. If this was
due to a supply micro-cut, it warns that the RAM
contents may
have been lost; can be reset to ‘0’ with a
GetFullStatus1 command.
Reset State
‘0’
‘0’
‘0’
“000”
‘0’
‘0’
NA
‘1’
‘0’
‘0’
‘0’
‘0’
“00”
‘0’
‘0’
‘0’
‘1’
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
15.2.10. Priority Encoder
The table below describes the state management performed by the main control block.
Table 20: Priority Encoder
State →
Command
↓
GetOTPparam
Stopped
GotoPos
DualPosition
SoftStop
Motor Stopped,
Ihold in Coils
Motor Motion
Ongoing
No Influence on
RAM and
TagPos
Motor
Decelerating
OTP refresh;
2
I C slave
response
OTP refresh;
2
I C slave
response
OTP refresh;
2
I C slave
response
OTP refresh;
2
I C slave
response
HardStop
ShutDown
Motor Forced to Motor Stopped,
Stop
H-bridges in
Hi-Z
OTP refresh;
2
I C slave
response
OTP refresh;
2
I C slave
response
2
GetFullStatus1
[attempt to clear all
flags] (note 1)
I C slave
response
GetFullStatus2
2
I C slave
response
2
I C slave
response
2
I C slave
response
I C slave
response
2
I C slave
response
2
I C slave
response
2
ResetToDefault
[ ActPos and TagPos
are not altered ]
OTP refresh;
OTP to RAM;
AccShape reset
OTP refresh;
OTP to RAM;
AccShape reset
SetMotorParam
[ Master takes care
about proper update ]
RAM update
SetStallParam
RAM update
ResetPosition
TagPos and
ActPos reset
SetPosition
RunVelocity
2
I C slave
response
I C slave
response
2
I C slave
response
I C slave
response
OTP refresh;
OTP to RAM;
AccShape reset
(note 2)
OTP refresh;
OTP to RAM;
AccShape reset
OTP refresh;
OTP to RAM;
AccShape reset
OTP refresh;
OTP to RAM;
AccShape reset
RAM update
(note 5)
RAM update
RAM update
RAM update
RAM update
RAM update
RAM update
RAM update
RAM update
2
2
RAM update
TagPos and
ActPos reset
TagPos updated;
TagPos updated
→ GotoPos
TagPos updated
Continuous motion;
→ GotoPos
GotoSecPosition
If <SecEn> = ‘1’
then TagPos =
SecPos;
→ GotoPos
DualPosition
→ DualPosition
If <SecEn> = ‘1’
then TagPos =
SecPos
If <SecEn> = ‘1’
then TagPos =
SecPos
→ HardStop;
→ HardStop;
→ HardStop;
<StepLoss> = ‘1’ <StepLoss> = ‘1’ <StepLoss> = ‘1’
HardStop
→ SoftStop
SoftStop
HardStop
[ ⇔ (<CPFail> or
<UV2> or <ElDef>) =
‘1’ ⇒ <HS> = ‘1’ ]
→ Shutdown
→ HardStop
→ HardStop
Thermal shutdown
[ <TSD> = ‘1’ ]
→ Shutdown
→ SoftStop
→ SoftStop
Motion finished
NA
→ Stopped
→ Stopped
With the following color code:
Command ignored
Transition to another state
Master is responsible for proper update (see Note 5)
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
2
I C slave
response;
if (<TSD> or
<ElFlag> = ‘0’
then → Stopped
31
→ HardStop
→ Stopped;
→ Stopped;
TagPos =ActPos TagPos =ActPos
NA
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
Notes:
1)
<ElFlag> = <CPFail> or <UV2> or <ElDef> or <VDDreset>
2)
After power-on-reset, the Shutdown state is entered. The shutdown state can only be left after GetFullStatus1 command (so that the
master could read the <VddReset> flag).
3)
A DualPosition sequence runs with a separate set of RAM registers. The parameters that are not specified in a DualPosition command are
loaded with the values stored in RAM at the moment the DualPosition sequence starts. AccShape is forced to ‘1’ during second motion even if
a ResetToDefault command is issued during a DualPosition sequence, in which case AccShape at ‘0’ will be taken into account after the
DualPosition sequence. A GetFullStatus1 command will return the default parameters for Vmax and Vmin stored in RAM.
4)
Shutdown state can be left only when <TSD> and <ElFlag> flags are reset.
5)
Flags can be reset only after the master could read them via a GetFullStatus1 command, and provided the physical conditions allow for it
(normal temperature, correct battery voltage and no electrical or charge pump defect).
6)
A SetMotorParam command sent while a motion is ongoing (state GotoPos) should not attempt to modify Acc and Vmin values. This can
be done during a DualPosition sequence since this motion uses its own parameters, the new parameters will be taken into account at the next
SetPosition command.
7)
<SecEn> = ‘1’ when register SecPos is loaded with a value different from the most negative value
(i.e. different from 0x400 = “100 0000 0000”)
8)
<Stop> flag allows user to distinguish whether state stopped was entered after HardStop/SoftStop or not. <Stop> is set to ‘1’ when leaving
state HardStop or SoftStop and is reset during first clock edge occurring in state Stopped.
9)
While in state stopped, if ActPos → TagPos there is a transition to state GotoPos. This transition has the lowest priority, meaning that <Stop>,
<TSD>, etc. are first evaluated for possible transitions.
10) If <StepLoss> is active, then SetPosition and GotoSecurePosition commands are ignored (they will not modify TagPos register
whatever the state). Other command like DualPosition or ResetPosition will be executed if allowed by current state. <StepLoss> can
only be cleared by a GetFullStatus1 command.
Thermal
shutdown
POWER
ON
DUALPOSITION
SOFTSTOP
HardStop
HardStop
DualPosition
Motion
Finished
HARDSTOP
Motion
Finished
HardStop
GotoSecPos
GetFullStatus1
SetPos
STOPPED
SHUTDOWN
Thermal Shutdown
SoftStop
Thermal
shutdown
HardStop
GOTOPOS
Motion
Finished
Priorities
1
Motion Finished
2
3
PC20070323.1
Figure 17: State Diagram
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
32
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
15.3 Motordriver
15.3.1. Current Waveforms in the Coils
Figure 18 illustrates the current fed to the motor coils by the motordriver in half step mode.
Ix
Iy
Coil X
t
Coil Y
PC20051205.1
Figure 18: Current Waveforms in Motorcoils X and Y in Halfstep Mode
th
Whereas Figure 19 below shows the current fed to one coil in 1/16 micro stepping (one electrical period).
Ix
Iy
Coil X
t
Coil Y
PC20051123.4
th
Figure 19: Current Waveforms in Motorcoils X and Y in 1/16 Microstep mode
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
33
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
15.3.2. PWM Regulation
In order to force a given current (determined by Irun or Ihold and the current position of the rotor) through the motor coil while ensuring
high energy transfer efficiency, a regulation based on PWM principle is used. The regulation loop performs a comparison of the sensed
output current to an internal reference, and features a digital regulation generating the PWM signal that drives the output switches. The
zoom over one micro-step in Figure 19 shows how the PWM circuit performs this regulation. To reduce the current ripple, a higher
PWM frequency should be selectable. The RAM register PWMfreq is used for this (Bit 6 in Data 7 of SetMotorParam).
Table 21: PWM Frequency Selection
PWMfreq
0
1
Applied PWM Frequency
22.8 kHz
45.6 kHz
15.3.3. PWM Jitter
To lower the power spectrum for the fundamental and higher harmonics of the PWM frequency, jitter can be added to the PWM clock.
The RAM register PWMJEn is used for this. (Bit 0 in Data 7 of SetMotorParam or SetStallParam).
Readout with GetFullStatus1.
Table 22: PWM Jitter Selection
PWMJEn
0
1
Status
Single PWM frequency
Added jitter to PWM frequency
15.3.4. Motor Starting Phase
At motion start, the currents in the coils are directly switched from Ihold to Irun with a new sine/cosine ratio corresponding to the first
half (or micro) step of the motion.
15.3.5. Motor Stopping Phase
At the end of the deceleration phase, the currents are maintained in the coils at their actual DC level (hence keeping the sine/cosine
ratio between coils) during the stabilization time tstab (see Table 6). The currents are then set to the hold values, respectively, Ihold x
sin(TagPos) and Ihold x cos(TagPos) as illustrated below. A new positioning order can then be executed.
Figure 20: Motor Stopping Phase
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
34
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
15.3.6. Charge Pump Monitoring
If the charge pump voltage is not sufficient for driving the high side transistors (due to a failure), an internal HardStop command is
issued. This is acknowledged to the master by raising the flag <CPFail> (available with command GetFullStatus1).
In case this failure occurs while a motion is ongoing, the flag <StepLoss> is also raised.
15.3.7. Electrical Defect on Coils, Detection and Confirmation
The principle relies on the detection of a voltage drop on at least one transistor of the H-bridge. Then the decision is taken to open the
transistors of the defective bridge.
This allows the detection of the following short circuits:
• External coil short circuit
• Short between one terminal of the coil and Vbat or Gnd
Open circuits are detected by a 100 percent PWM duty cycle value during a long time.
Table 23: Electrical Defect Detection
Pins
Fault Mode
Yi or Xi
Short circuit to GND
Yi or Xi
Short circuit to Vbat
Yi or Xi
Open
Y1 and Y2
Short circuited
X1 and X2
Short circuited
Xi and Yi
Short circuited
Remark: One cannot detect an internal short in the motor.
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
35
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
15.3.8. Motor Shutdown Mode
A motor shutdown occurs when:
• The chip temperature rises above the thermal shutdown threshold Ttsd (see Thermal Shutdown Mode)
• The battery voltage goes below UV2 (see Battery Voltage Management)
• Flag <ElDef> = ‘1’, meaning an electrical problem is detected on one or both coils, e.g. a short circuit
• Flag <CPFail> = ‘1’, meaning there is a charge pump failure
A motor shutdown leads to the following:
• H-bridges in high impedance mode
• The TagPos register is loaded with the ActPos (to avoid any motion after leaving the motor shutdown mode)
The I2C interface remains active, being able to receive orders or send status.
The conditions to get out of a motor shutdown mode are:
• Reception of a GetFullStatus1 command AND
• The four causes above are no longer detected
This leads to H-bridges in Ihold mode, hence the circuit is ready to execute any positioning command.
This can be illustrated in the following sequence given as an application tip. The master can check whether there is a problem or not
and decide which application strategy to adopt.
Tj ≥ Tsd or
Vbb ≤ UV2 or
<ElDef> = ‘1’ or
<CpFail> = ‘1’
SetPosition
frame
GetFullStatus1
frame
GetFullStatus1
frame
↓
↑
↑
↑…
- The circuit is driven in
motor shutdown
mode
- The application is not
aware of this
- The position set-point
is updated by the
2
I C Master
- Motor shutdown
mode ⇒ no motion
- The application is still
unaware
- The application is
- Possible confirmation
aware of a problem
of the problem
- Reset <TW> or <TSD> or <UV2> or <StepLoss>
or <ElDef> or <CPFail> by the application
- Possible new detection of over temperature or
low voltage or electrical problem ⇒ Circuit
sets <TW> or <TSD> or <UV2> or
<StepLoss> or <ElDef> or <CPFail>
again at ‘1’
Figure 21: Example of Possible Sequence Used to Detect and Determine Cause of Motor Shutdown
Important: While in shutdown mode, since there is no hold current in the coils, the mechanical load can cause a step loss, which
cannot be flagged by the AMIS-30624.
Warning: The application should limit the number of consecutive GetFullStatus1 commands to try to get the AMIS-30624 out of
shutdown mode. When this proves to be unsuccessful, for example if there is a permanent defect, the reliability of the circuit could be
altered since GetFullStatus1 attempts to disable the protection of the H-bridges.
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
36
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
15.4 Motion Detection
Motion detection is based on the back emf generated internally in the running motor. When the motor is blocked, for example when it
hits the end-position, the velocity and as a result also the generated back emf, is disturbed. The AMIS-30624 senses the back emf,
calculates a moving average and compares the value with two independent threshold levels: Absolute threshold (AbsThr[3:0] ) and
Delta threshold (DelThr[3:0] ). Instructions for the correct use of these two levels in combination with three additional parameters
(MinSamples, FS2StallEn and DC100SDis) are outside the scope of this datasheet. Detailed information is available in a dedicated
white paper “Robust Motion Control with AMIS-3062x Stepper Motor Drivers”, available on http://www.amis.com/.
If the motor is accelerated by a pulling or propelling force and the resulting back emf increases above the Delta threshold (+ ∆THR),
then <DelStallHi> is set. When the motor is slowing down and the resulting back emf decreases below the Delta threshold
(- ∆THR), then <DelStallLo> is set. When the motor is blocked and the velocity is zero after the acceleration phase, the back emf is
low or zero. When this value is below the Absolute threshold, <AbsStall> is set. The <Stall> flag is the OR function of
<DelStallLo> OR <DelStallHi> OR <AbsStall>.
Velocity
Vbemf
+ ∆THR
Vmax
Motor speed
Vmin
Vbemf
t
Vbemf
- ∆THR
t
Vbemf
DeltaStallHi
VABSTH
Back emf
t
t
DeltaStallLo
AbsStall
t
t
Figure 22:Triggering of the Stall Flags in Function of Measured Back emf and the Set Threshold Levels
Table 24: Truth Table
Condition
Vbemf < Average - DelThr
Vbemf > Average + DelThr
Vbemf < AbsThr
<DelStallLo>
1
0
0
<DelStallHi>
0
1
0
<AbsStall>
0
0
1
<Stall>
1
1
1
The motion will only be detected when the motor is running at the maximum velocity, not during acceleration or deceleration.
If during positioning a mechanical obstacle is detected (stall), an (internal) hardstop is generated. The motor will stop immediately and
as a consequence the <StepLoss> and <Stall> flags are set. The position in the internal counter will be copied to the ActPos register.
All flags can be read out with the GetFullStatus1.
If Stall appears during DualPosition then the first phase is cancelled (via internal Hardstop) and after timeout (26.6ms) the second
phase at Vmin starts.
Important Remark:
Using GetFullStatus1 will read AND clear the following flags: <Steploss>, <Stall>, <AbsStall>, <DelStallLo>, and
<DelStallHi>. New positioning is possible and the ActPos register will be further updated.
Motion detection is disabled when the RAM registers AbsThr[3:0] and DelThr[3:0] are empty or zero. Both levels can be programmed
2
using the I C command SetStallParam in the registers AbsThr[3:0] and DelThr[3:0]. Also in the OTP register AbsThr[3:0] and
DelThr[3:0] can be set using the I2C command SetOTPParam. These values are copied in the RAM registers during power on reset.
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
37
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
Value Table:
Table 25: Absolute Threshold Settings
AbsThr Index
AbsThr Level (V)
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F
Disable
0.5
1.0
1.5
2.0
2.5
3.0
3.5
4.0
4.5
5.0
5.5
6.0
6.5
7.0
7.5
Table 26: Delta Threshold Settings
DelThr
DelThr Level (V)
Index
0
Disable
1
0.25
2
0.50
3
0.75
4
1.00
5
1.25
6
1.50
7
1.75
8
2.00
9
2.25
A
2.50
B
2.75
C
3.00
D
3.25
E
3.50
F
3.75
MinSamples
MinSamples[2:0] is a Bemf sampling delay time expressed in number of PWM cycles, for more information please refer to the white
paper “Robust Motion Control with AMIS-3062x Stepper Motor Drivers”.
Table 27: Back emf Sample Delay Time
Index
MinSamples[2:0]
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
tDELAY (µs)
PWMfreq = 0
87
130
174
217
261
304
348
391
PWMfreq = 1
43
65
87
109
130
152
174
196
FS2StallEn
If AbsThr or DelThr <>0 (i.e. motion detection is enabled), then stall detection will be activated AFTER the acceleration ramp + an
additional number of full-steps, according to the following table:
Table 28: Activation Delay of Motion Detection
Index
0
1
2
3
4
5
6
7
FS2StallEn[2:0]
000
001
010
011
100
101
110
111
Delay (Full Steps)
0
1
2
3
4
5
6
7
For more information please refer to the white paper “Robust Motion Control with AMIS-3062x Stepper Motor Drivers”.
DC100StEn
When a motor with large back – e.m.f. is operated at high velocity and low supply voltage, then the PWM duty cycle can be as high as
100 percent. This indicates that the supply is too low to generate the required torque and might also result in erroneously triggering the
stall detection. The bit “DC100StEn” (Bit 1 in Data 7 of SetStallParam) enables the function where stall detection is switched off
when PWM duty cycle equals 100 percent. For more information the white paper “Robust Motion Control with AMIS-3062x Stepper
Motor Drivers”.
Motion Qualification Mode
This mode is useful to debug motion parameters and to verify the stability of stepper motor systems. The motion qualification mode is
entered by means of the I2C command TestBemf. The SWI pin will be converted into an analog output on which the Bemf integrator
output can be measured. Once activated, it can only be stopped after a POR. During the back emf observation, reading of the SWI
state is internally forbidden. More information is available in the white paper “Robust Motion Control with AMIS-3062x Stepper Motor
Drivers”.
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
38
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
16.0 I2C Bus Description
16.1 General Description
AMIS-30624 uses a simple bi-directional 2-wire bus for efficient inter-ic control. This bus is called the Inter IC or I2C-bus.
Features include:
• Only two bus lines are required; a serial data line (SDA) and a serial clock line (SCK).
• Each device connected to the bus is software addressable by a unique address and simple master/slave relationships exists at
all times; master can operate as master-transmitter or as master receiver.
• Serial, 8-bit oriented, bi-directional data transfers can be made up to 400 kbit/s.
• On-chip filtering rejects spikes on the bus data line to preserve data integrity.
2
• No need to design bus interfaces because I C-bus interface is already integrated on-chip.
• IC’s can be added to or removed from a system without affecting any other circuits on the bus.
16.2 Concept
The I2C-bus consists of two wires, serial data (SDA) and serial clock (SCK), carrying information between the devices connected on the
bus. Each device connected to the bus is recognized by a unique address and operates as either a transmitter or receiver, depending
on the function of the device. AMIS-30624 can both receive and transmit data. In addition to transmitters and receivers, devices can
also be considered as masters or slaves when performing data transfers. AMIS-30624 is a slave device. See Table 30.
2
Table 29: Definition of I C –bus Terminology
Term
Description
Transmitter
The device which sends data on the bus
Receiver
The device which receives data from the bus
Master
The device which initiates a transfer, generates clock signals and terminates a transfer
Slave
The devices addressed by a master
Synchronization
Procedure to synchronizer the clock signals of two or more devices
Microcontroller
Motordriver_2
Motordriver_4
AMIS-30624
AMIS-30624
SDA
SCL
Motordriver_1
Motordriver_3
AMIS-30624
AMIS-30624
PC20070217.1
Figure 23: Example of an I2C-bus Configuration Using One Microcontroller and Four Slaves
2
Figure 23 highlights the master-slave and receiver-transmitter relationships to be found on the I C-bus. It should be noted that these
relationships are not permanent but only depend on the direction of data transfer at that time. The transfer of data would proceed as
follows:
1) Suppose the microcontroller wants to send information to motordriver_1:
• Microcontroller (master) addresses motordriver_1 (slave)
• Microcontroller (master-transmitter) sends data to motordriver_1 (slave-receiver)
• Microcontroller terminates the transfer
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
39
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
2) If the microcontroller wants to receive information from motordriver_2:
• Microcontroller (master) addresses motordriver_2 (slave)
• Microcontroller (master-receiver) receives data from motordriver_2 (slave-transmitter)
• Microcontroller terminates the transfer
Even in this case the master generates the timing and terminates the transfer.
2
Generation of the signals on the I C-bus is always the responsibility of the master device. It generates its own clock signal when
transferring data on the bus. Bus clock signals from a master can only be altered when they are stretched by a slow slave device
holding-down the clock line.
16.3 General Characteristics
+5 V
Rp
Rp
Serial Data Line
Serial Clock Line
SCK
SDA
2
Clock IN
Clock OUT
SCL
SDA
1
Data IN
Clock IN
Data OUT
Data IN
Clock OUT
AMIS-30624
Data OUT
MASTER
PC20060925.7
Figure 24: Connection of a Device to the I2C-bus
Both SDA and SCK are bi-directional lines connected to a positive supply voltage via a pull-up resistor (see Figure 24). When the bus is
free both lines are HIGH. The output stages of the devices connected to the bus must have an open drain to perform the wired-AND
2
function. Data on the I C-bus can be transferred up to 400kbits/s in fast mode. The number of interfaces connected to the bus is
dependent on the maximum bus capacitance limit (See CB in Table 6) and the available number of addresses.
16.4 Bit Transfer
2
The levels for logic ‘0’ (LOW) and ‘1’ (HIGH) are not fixed in the I C standard but dependent on the used VDD level. Using AMIS-30624,
the levels are specified in Table 5. One clock pulse is generated for each data bit transferred.
16.4.1. Data Validity
The data on the SDA line must be stable during the HIGH period of the clock. The HIGH or LOW state of the data line can only change
when the clock signal on the SCL line is LOW (See Figure 25).
SDA
SCK
Data line stable
-> Data valid
Change of
data allowed
2
Figure 25: Bit Transfer on the I C-bus
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
40
PC20070217.2
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
16.4.2. START and STOP Conditions
Within the procedure of the I2C-bus, unique situations arise, which are defined as START (S) and STOP (P) conditions (See Figure 26).
A HIGH to LOW transition on the SDA line while SCK is HIGH is one such unique case. This situation indicates a START condition.
LOW to HIGH transition on the SDA line while SCK is HIGH defines a STOP condition.
START and STOP conditions are always generated by the master. The bus is considered to be busy after the START condition. The
bus is considered to be free again a certain time after the STOP condition. The bus free situation is specified as tBUF in Table 6.
The bus stays busy if a repeated START (Sr) is generated instead of a STOP condition. In this respect, the START (S) and repeated
START (Sr) conditions are functionally identical (See Figure 27). The symbol S will be used to represent START and repeated START,
unless otherwise noted.
START
STOP
SDA
SCK
PC20070217.3
START
condition
STOP
condition
Figure 26: START and STOP Conditions
16.5 Transferring Data
16.5.1. Byte Format
Every byte put on the SDA line must be 8-bits long. The number of bytes that can be transmitted per transfer to AMIS-30624 is
restricted to eight. Each byte has to be followed by an acknowledge bit. Data is transferred with the most significant bit (MSB) first (See
Figure 27). If a slave can’t receive or transmit another complete byte of data, it can hold the clock line SCK LOW to force the master
into a wait state. Data transfer then continues when the slave is ready for another byte of data and releases clock line SCK.
START
STOP
SDA
MSB
Acknowledgement
signal from slave
SCK
1
2
7
8
Clock line held
low by slave
9
2
3-8
9
ACK
START
condition
Aknowledge related
clock puse from master
Figure 27: Data Transfer on the I2C-bus
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
1
41
PC20070217.4
STOP
condition
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
16.5.2. Acknowledge
Data transfer with acknowledge is obligatory. The acknowledge-related clock pulse is generated by the master. The transmitter
releases the SDA line (HIGH) during the acknowledge clock pulse. The receiver must pull down the SDA line during the acknowledge
clock pulse so that it remains stable LOW during the HIGH period of this clock pulse (see Figure 28). Of course, set-up and hold times
must also taken into account (see Table 6). When AMIS-30624 doesn’t acknowledge the slave address, the data line will be left HIGH.
The master can than generate either a STOP condition to abort the transfer, or a repeated START condition to start a new transfer.
If AMIS-30624 as slave-receiver does acknowledge the slave address but later in the transfer cannot receive any more data bytes, this
is indicated by generating a not-acknowledge on the first byte to follow. The master generates than a STOP or a repeated START
condition.
If a master-receiver is involved in the transfer, it must signal the end of data to the slave-transmitter by not generating an acknowledge
on the last byte that was clocked out of the slave. AMIS-30624 as slave-transmitter shall release the data line to allow the master to
generate STOP or repeated START condition.
START
Master releases the Data line
SDA by master
transmitter
MSB
Not acknowledged
SDA by slave
receiver
Acknowledged
SCK from
master
8
2
1
START
condition
Slave pulls data line
low if Acknowledged
9
Aknowledge related
clock puse from master
PC20070217.5
Figure 28: Acknowledge on the I2C-bus
16.5.3. Clock Generation
The master generates the clock on the SCK line to transfer messages on the I2C-bus. Data is only valid during the HIGH period of the
clock.
16.6 Data Formats with 7-bit Addresses
Data transfers follow the format shown in Figure 29. After the START condition (S), a slave address is sent. This address is 7-bit long
followed by an eighth bit which is a data direction bit (R/W) – a ‘zero’ indicates a transmission (WRITE), a ‘one’ indicates a request for
data (READ). A data transfer is always terminated by a STOP condition (P) generated by the master.
START
STOP
PC20070217.6
SDA
SCK
START
condition
1-7
8
9
ADDRESS
R/W
ACK
8
1-7
DATA
9
ACK
1-7
DATA
8
9
ACK
STOP
condition
Figure 29: A Complete Data Transfer
However, if a master still wishes to communicate on the bus, it can generate a repeated START (Sr) and address another slave without
first generating a STOP condition. Various combinations of read/write formats are then possible within such a transfer.
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
42
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
16.6.1. Data Transfer Formats
16.6.1.1. Writing Data to AMIS-30624
When writing to AMIS-30624, the master-transmitter transmits to slave-receiver and the transfer direction is not changed. A complete
transmission consists of:
•
•
•
•
•
Start condition
The slave address (7-bit)
Read/Write bit (‘0’ = write)
Acknowledge bit
Any further data bytes are followed by an acknowledge bit. The acknowledge bit is used to signal a correct reception of the
data to the transmitter. In this case the AMIS-30624 pulls the SDA line to ‘0’. The AMIS-30624 reads the incoming data at SDA
on every rising edge of the SCK signal
• Stop condition to finish the transmission
S
Slave Address
R/W
A
Data
Data
S = Start condition
P = Stop condition
A = Acknowledge (SDA = LOW)
A = No Acknowledge (SDA = HIGH)
AMIS-30624 to Master
A
P
N bytes + Acknowledge
"0" = WRITE
Master to AMIS-30624
A
PC20070219.3
Figure 30: Master Writing Data to AMIS-30624
Some commands for the AMIS-30624 are supporting eight bytes of data, other commands are transmitting two bytes of data.
See Table 30.
16.6.1.2. Reading Data from AMIS-30624
When reading data from AMIS-30624 two transmissions are needed:
1) The first transmission consists of two bytes of data:
• The first byte contains the slave address and the write bit.
• The second byte contains the address of an internal register in the AMIS-30624. This internal register address is stored in the
circuit RAM.
S
Slave Address
R/W
A
Internal Address
"0" = WRITE
A
P
PC20070219.5
Figure 31: Master Reading Data from AMIS-30624: First Transmission is Addressing
2) The second transmission consists of the slave address and the read bit. Then the master can read the data bits on the SDA line on
every rising edge of signal SCK. After each byte of data the master has to acknowledge correct data reception by pulling SDA LOW.
The last byte is not acknowledged by the master and therefore the slave knows the end of transmission.
S
Slave Address
R/W
A
Data
AMIS-30624 to Master
Data
A
S = Start condition
P = Stop condition
A = Acknowledge (SDA = LOW)
A = No Acknowledge (SDA = HIGH)
PC20070219.3
Figure 32: Master Reading Data from AMIS-30624: Second Transmission is Reading Data
Notes:
(1)
Each byte is followed by an acknowledgment bit as indicated by the A or Ā in the sequence.
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
P
N bytes + Acknowledge
"0" = WRITE
Master to AMIS-30624
A
43
AMIS-30624 I2C Microstepping Motordriver
(2)
(3)
Data Sheet
I2C-bus compatible devices must reset their bus logic on receipt of a START condition such that they all anticipate the sending of a slave address, even if these
START conditions are not positioned according to the proper format.
A START condition immediately followed by a STOP condition (void message) is an illegal format.
16.7 7-bit Addressing
The addressing procedure for the I2C-bus is such that the first byte after the START condition usually determines which slave will be
selected by the master. The exception is the general call address which can call all devices. When this address is used all devices
should respond with an acknowledge. The second byte of the general call address then defines the action to be taken.
16.7.1. Definition of Bits in the First Byte
The first seven bits of the first byte make up the slave address. The eighth bit is the least significant bit (LSB). It determines the
direction of the message. If the LSB is a “zero” it means that the master will write information to a selected slave. A “one” in this position
means that the master will read information from the slave. When an address is sent, each device in a system compares the first seven
bits after the START condition with its address. If they match, the device considers itself addressed by the master as a slave-receiver or
slave-transmitter, depending on the R/ W bit.
LSB
MSB
R/W
SLAVE ADDRESS
PC20070219.2
Figure 33: First Byte after START Procedure
AMIS-30624 is provided with a physical address in order to discriminate this circuit from other circuits on the I2C bus. This address is
coded on seven bits (two bits being internally hardwired to ‘1’), yielding the theoretical possibility of 32 different circuits on the same
bus. It is a combination of four OTP memory bits (OTP Memory Structure) and of the externally hardwired address bits (pin HW). HW
must either be connected to ground or to Vbat. When HW is not connected and is left floating, correct functionality of the positioner is
not guaranteed. The motor will be driven to the programmed secure position (See Hardwired Address – OPEN).
LSB
MSB
1
1
PA3 PA2 PA1 PA0 HW R/W
OTP memory
PC20070219.3
Hardwired Address Bit
Figure 34: First Byte After START Procedure
16.7.2. General Call Address
The AMIS-30624 supports also a “general call” address “000 0000”, which can address all devices. When this address is used all
devices should respond with an acknowledge. The second byte of the general call address then defines the action to be taken.
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
44
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
17.0 I2C Application Commands
17.1 Introduction
Communications between the AMIS-30624 and a 2-wire serial bus interface master takes place via a large set of commands.
Reading commands are used to:
•
Get actual status information, e.g. error flags
•
Get actual position of the steppermotor
•
Verify the right programming and configuration of the AMIS-30624
Writing commands are used to:
•
Program the OTP memory
•
Configure the positioner with motion parameters (max/min speed, acceleration, stepping mode, etc.)
•
Provide target positions to the Stepper motor
The I2C-bus master will have to use commands to manage the different application tasks the AMIS-30624 can feature. The commands
summary is given in Table 30.
17.2 Commands Table
2
Table 30: I C Commands with Corresponding ROM Pointer
Command Mnemonic
Command Byte
Binary
Hexadecimal
“1000 0001”
0x81
“1111 1100”
0xFC
“1000 0010”
0x82
“1000 0100”
0x84
“1000 0101”
0x85
“1000 0110”
0x86
“1000 0111”
0x87
“1000 1000”
0x88
“1000 1001”
0x89
“1001 0000”
0x90
“1000 1011”
0x8B
“1001 0110”
0x96
“1000 1111”
0x8F
“1001 0111”
0x97
“1001 1111”
0x9F
Function
Returns complete status of the chip
Returns actual, target and secure position
Returns OTP parameter
Drives motor to secure position
Immediate full stop
Sets actual position to zero
Overwrites the chip RAM with OTP contents
Drives the motor to two different positions with different speed
Sets motor parameter
Zaps the OTP memory
Programs a target and secure position
Sets stall parameters
Motor stopping with deceleration phase
Drives motor continuously
Outputs Bemf voltage on pin SWI
GetFullStatus1
GetFullStatus2
GetOTPParam
GotoSecurePosition
HardStop
ResetPosition
ResetToDefault
SetDualPosition
SetMotorParam
SetOTP
SetPosition
SetStallParam
SoftStop
Runvelocity
TestBemf
These commands are described hereafter, with their corresponding I2C frames. Refer to Data Transfer Formats for more details. A color
coding is used to distinguish between master and slave parts within the frames. An example is shown below.
Light Blue : Master data
Byte
Content
0
1
2
Address
Address
Data 1
Bit 7
1
1
GetFullStatus1 Response Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
1
OTP3
OTP2
OTP1
1
1
Irun[3:0]
OTP3
OTP2
Bit 2
OTP0
Bit 1
HW
OTP1
OTP0
Ihold[3:0]
Bit 0
0
HW
White: Slave response
2
Figure 35: Color Code Used in the Definition of I C Frames
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
45
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
17.3 Application Commands
GetFullStatus1
This command is provided to the circuit by the master to get a complete status of the circuit and of the steppermotor. Refer to Table 18
and Table 19 to see the meaning of the parameters sent back to the I2C master.
Note: A GetFullStatus1 command will attempt to reset flags <TW>, <TSD>, <UV2>, <ElDef>, <StepLoss>, <CPFail>, <OVC1>,
<OVC2>, and <VddReset>.
GetFullStatus1 corresponds to the following I2C command frame:
Byte
Content
0
1
Address
Command
Byte
Content
0
1
2
3
4
5
6
7
8
Address
Address
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Bit 7
1
1
GetFullStatus1 Command Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
1
OTP3
OTP2
OTP1
0
0
0
0
Bit 2
OTP0
0
Bit 1
HW
0
Bit 0
0
1
Bit 7
1
GetFullStatus1 Response Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
1
OTP3
OTP2
OTP1
Bit 2
OTP0
Bit 1
HW
Bit 0
1
1
AccShape
VddReset
1
1
1
Irun[3:0]
Vmax[3:0]
OTP3
OTP2
StepMode[1:0]
Shaft
UV2
ESW
1
TSD
OVC1
1
StepLoss
ElDef
Motion[2:0]
1
1
AbsThr[3:0]
Where:
OTP(n)
HW
Irun[3:0]
Ihold[3:0]
Vmax[3:0]
Vmin[3:0]
AccShape
StepMode[1:0]
Shaft
Acc[3:0]
VddReset
StepLoss
ElDef
UV2
TSD
TW
Tinfo[1:0]
Motion[2:0]
ESW
OVC1
OVC2
Stall
CPFail
AbsThr[3:0]
DelThr[3:0]
OTP address bits PA[3:0]
Hardwired address bit
Operating current in the motor coil
Standstill current in the motor coil
Maximum velocity
Minimum velocity
Enables motion without acceleration
Step mode definition
Direction of movement
Acceleration form minimum to maximum velocity
Reset of digital supply
Step loss occurred
Electrical defect
Battery under voltage detected
Thermal shutdown
Thermal warning
Temperature Info
Motion status
External switch status
Over current in X-coil detected
Over current in Y-coil detected
Stall detected
Charge pump failure
Stall detection absolute threshold
Stall detection delta threshold
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
46
OTP1
OTP0
HW
Ihold[3:0]
Vmin[3:0]
Acc[3:0]
Tinfo[1:0]
TW
OVC2
Stall
CPFail
1
1
1
DelThr[3:0]
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
GetFullStatus2
This command is provided to the circuit by the master to get the actual, target and secure position of the steppermotor. Both the actual
and target position are returned in signed two’s complement 16-bit format. Secure position is coded in 10-bit format. According to the
programmed stepping mode the LSBs of ActPos[15:0] and TagPos[15:0] may have no meaning and should be assumed to be ‘0’.
This command also gives additional information concerning stall detection. Refer to Table 18 and Table 19 to see the meaning of the
parameters sent back to the I2C master.
GetFullStatus2 corresponds to the following I2C command frame:
Byte
Content
0
1
Address
Command
Byte
Content
0
1
2
3
4
5
6
7
8
Address
Address
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Bit 7
1
1
GetFullStatus2 Command Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
1
OTP3
OTP2
OTP1
1
1
1
1
Bit 2
OTP0
1
Bit 1
HW
0
GetFullStatus2 Response Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
1
1
OTP3
OTP2
OTP1
OTP0
HW
1
1
1
1
OTP3
OTP2
OTP1
OTP0
HW
ActPos[15:8]
ActPos[7:0]
TagPos[15:8]
TagPos[7:0]
SecPos[7:0]
FS2StallEn[2:0]
1
DC100
SecPos[10:8]
DelStallLo
DelStallHi
DC100StEn
AbsStall
MinSamples[2:0]
PWMJEn
Where:
OTP(n)
HW
ActPos[15:0]
TagPos[15:0]
SecPos[10:0]
FS2StallEn[2:0]
DC100
AbsStall
DelStallLo
DelStallHi:
MinSamples[2:0]
DC100StEn
PWMJEn
OTP address bits PA[3:0]
Hardwired address bit
Actual position
Target position
Secure position
Number of full steps after stall detection is enabled
Flag indicating PWM is at 100 percent duty cycle
Stall detected because the absolute threshold is not reached
Stall detected because the delta threshold is under crossed
Stall detected because the delta threshold is crossed
Back-emf sampling delay time
Enables the switch off of stall detection when DC100 = 1
PWM jitter enable
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
Bit 0
0
0
47
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
GetOTPParam
This command is provided to the circuit by the I2C master to read the content of the OTP memory. More information can be found in
OTP Memory Structure.
GetOTPParam corresponds to the following I2C command frame:
Byte
Content
0
1
Address
Command
Byte
Content
0
1
2
3
4
5
6
7
8
Address
OTP byte 0
OTP byte 1
OTP byte 2
OTP byte 3
OTP byte 4
OTP byte 5
OTP byte 6
OTP byte 7
Bit 7
1
1
Bit 7
1
GetOTPParam Command Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
1
OTP3
OTP2
OTP1
0
0
0
0
GetOTPParam Response Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
1
OTP3
OTP2
OTP1
OTP byte @0x00
OTP byte @0x01
OTP byte @0x02
OTP byte @0x03
OTP byte @0x04
OTP byte @0x05
OTP byte @0x06
OTP byte @0x07
Bit 2
OTP0
0
Bit 1
HW
1
Bit 0
0
0
Bit 2
OTP0
Bit 1
HW
Bit 0
1
GotoSecurePosition
This command is provided by the I2C master to one or all the steppermotors to move to the secure position SecPos[10:0]. See the
priority encoder description for more details. The priority encoder table also acknowledges the cases where a GotoSecurePosition
command will be ignored.
GotoSecurePosition corresponds to the following I2C command frame:
Byte
Content
0
1
Address
Command
Bit 7
1
1
GotoSecurePosition Command Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
1
OTP3
OTP2
OTP1
0
0
0
0
Bit 2
OTP0
1
Bit 1
HW
0
Bit 0
0
0
HardStop
This command will be internally triggered when an electrical problem is detected in one or both coils, leading to shutdown mode. If this
occurs while the motor is moving, the <StepLoss> flag is raised to allow warning of the I2C master at the next GetStatus1 command
that steps may have been lost. Once the motor is stopped, ActPos register is copied into TagPos register to ensure keeping the stop
position. The I2C master for some safety reasons can also issue a HardStop command.
HardStop corresponds to the following I2C command frame:
Byte
Content
0
1
Address
Command
Bit 7
1
1
HardStop Command Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
1
OTP3
OTP2
OTP1
0
0
0
0
Bit 2
OTP0
1
Bit 1
HW
0
Bit 0
0
1
ResetPosition
This command is provided to the circuit by the I2C master to reset ActPos and TagPos registers to zero. This can be helpful to prepare
for instance a relative positioning.
ResetPosition corresponds to the following I2C command frame:
Byte
Content
0
1
Address
Command
Bit 7
1
1
ResetPosition Command Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
1
OTP3
OTP2
OTP1
0
0
0
0
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
48
Bit 2
OTP0
1
Bit 1
HW
1
Bit 0
0
0
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
ResetToDefault
This command is provided to the circuit by the I2C master in order to reset the whole slave node into the initial state. ResetToDefault
will, for instance, overwrite the RAM with the reset state of the registers parameters (see Table 18). This is another way for the I2C
master to initialize a slave node in case of emergency, or simply to refresh the RAM content.
Note: ActPos and TagPos are not modified by a ResetToDefault command.
Important: Care should be taken not to send a ResetToDefault command while a motion is ongoing, since this could modify the
motion parameters in a way forbidden by the position controller.
ResetToDefault corresponds to the following I2C command frame:
Byte
Content
0
1
Address
Command
Bit 7
1
1
ResetToDefault Command Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
1
OTP3
OTP2
OTP1
0
0
0
0
Bit 2
OTP0
1
Bit 1
HW
1
Bit 0
0
1
RunVelocity
This command is provided to the circuit by the I2C master in order to put the motor in continuous motion state.
RunVelocity corresponds to the following I2C command frame:
Byte
Content
0
1
Address
Command
RunVelocity Command Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
1
OTP3
OTP2
OTP1
0
0
1
0
Bit 7
1
1
Bit 2
OTP0
1
Bit 1
HW
1
Bit 0
0
1
SetDualPosition
This command is provided to the circuit by the I2C master in order to perform a positioning of the motor using two different velocities.
See Section Dual Positioning.
Note1: This sequence cannot be interrupted by another positioning command.
Important: If for some reason ActPos equals Pos1[15:0] at the moment the SetDualPosition command is issued, the circuit will
enter in deadlock state. Therefore, the application should check the actual position by a GetFullStatus2 command prior to starting
a dual positioning. Another solution may consist of programming a value out of the steppermotor range for Pos1[15:0]. For the same
reason Pos2[15:0] should not be equal to Pos1[15:0].
SetDualPosition corresponds to the following I2C command frame;
Byte
Content
0
1
2
3
4
5
6
7
8
Address
Command
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Bit 7
1
1
1
1
SetDualPosition Command Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
1
OTP3
OTP2
OTP1
0
0
0
1
1
1
1
1
1
1
1
1
Vmax[3:0]
Pos1[15:8]
Pos1[7:0]
Pos2[15:8]
Pos2[7:0]
Bit 2
Bit 1
OTP0
HW
0
0
1
1
1
1
Vmin[3:0]
Where:
Vmax[3:0]
Vmin[3:0]
Pos1[15:0]
Pos2[15:0]
Max. velocity for first motion
Min. velocity for first motion and velocity for the second motion
First position to be reached during the first motion
Relative position of the second motion
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
49
Bit 0
0
0
1
1
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
SetStallParam
This command sets the motion detection parameters and the related steppermotor parameters, such as the minimum and maximum
velocity, the run- and hold current, acceleration and step-mode. See Motion Detection for the meaning of these parameters.
SetStallParam corresponds to the following I2C command frame:
Byte
Content
0
1
2
3
4
5
6
7
8
Address
Command
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
SetStallParam Command Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
1
1
OTP3
OTP2
OTP1
OTP0
HW
1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
Irun[3:0]
Ihold[3:0]
Vmax[3:0]
Vmin[3:0]
MinSamples[2:0]
Shaft
Acc[3:0]
AbsThr[3:0]
DelThr[3:0]
FS2StallEn[2:0]
AccShape
StepMode[1:0] DC100StEn
Bit 0
0
0
1
1
PWMJEn
SetMotorParam
This command is provided to the circuit by the I2C master to set the values for the stepper motor parameters (listed below) in RAM.
Refer to Table 18 to see the meaning of the parameters sent by the I2C master.
Important: If a SetMotorParam occurs while a motion is ongoing, it will modify at once the motion parameters (see Position
Controller). Therefore the application should not change parameters other than Vmax and Vmin while a motion is running, otherwise
correct positioning cannot be guaranteed.
SetMotorParam corresponds to the following I2C command frame:
Byte
Content
0
1
2
3
4
5
6
7
8
Address
Command
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Bit 7
1
1
1
1
1
SetMotorParam Command Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
1
OTP3
OTP2
OTP1
OTP0
HW
0
0
0
1
0
0
1
1
1
1
1
1
1
1
1
1
1
1
Irun[3:0]
Ihold[3:0]
Vmax[3:0]
Vmin[3:0]
SecPos[10:8]
Shaft
Acc[3:0]
SecPos[7:0]
1
AccShape
PWMfreq
1
StepMode[1:0]
Bit 0
0
1
1
1
PWMJEn
SetOTPParam
This command is provided to the circuit by the I2C master to program and zap the OTP data D[7:0] in OTP address OTPA[2:0].
Important: This command must be sent under a specific Vbb voltage value. See parameter VbbOTP in Table 5. This is a mandatory
condition to ensure reliable zapping.
SetOTPParam corresponds to the following I2C command frame:
Byte
Content
0
1
2
3
4
5
Address
Command
Data 1
Data 2
Data 3
Data 4
Bit 7
1
1
1
1
1
SetOTPParam Command Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
1
OTP3
OTP2
OTP1
0
0
1
0
1
1
1
1
1
1
1
1
1
1
1
1
D[7:0]
Where:
OTPA[2:0]: OTP address
D[7:0]:
Corresponding OTP data
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
50
Bit 2
OTP0
0
1
1
Bit 1
HW
0
1
1
OTPA[2:0]
Bit 0
0
0
1
1
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
SetPosition
This command is provided to the circuit by the I2C master to drive the motor to a given absolute position. See Positioning for more
details. The priority encoder table (see Priority Encoder) acknowledges the cases where a SetPosition command will be ignored.
SetPosition corresponds to the following I2C command frame:
Byte
Content
0
1
2
3
4
5
Address
Command
Data 1
Data 2
Data 3
Data 4
Bit 7
1
1
1
1
SetPosition Command Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
1
OTP3
OTP2
OTP1
0
0
0
1
1
1
1
1
1
1
1
1
Pos[15:8]
Pos[7:0]
Bit 2
OTP0
0
1
1
Bit 1
HW
1
1
1
Bit 0
0
1
1
1
Where:
Pos [15:0] Signed 16-bit position set-point for motor.
SoftStop
This command will be internally triggered when the chip temperature rises above the thermal shutdown threshold (see Table 5 and
Section 15.2.5). It provokes an immediate deceleration to Vmin (see Minimum Velocity) followed by a stop, regardless of the position
reached. Once the motor is stopped, TagPos register is overwritten with value in ActPos register to ensure keeping the stop position.
The I2C Master for some safety reasons can also issue a SoftStop command.
SoftStop corresponds to the following I2C command frame:
Byte
Content
0
1
Address
Command
Bit 7
1
1
SoftStop Command Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
1
OTP3
OTP2
OTP1
0
0
0
1
Bit 2
OTP0
1
Bit 1
HW
1
Bit 0
0
1
TestBemf
This command is provided to the circuit by the I2C master in order to output the Bemf integrator output to the SWI output of the chip.
Once activated, it can be stopped only after POR. During the Bemf observation, reading of the SWI state is internally forbidden.
TestBemf corresponds to the following I2C command frame:
Byte
Content
0
1
Address
Command
Bit 7
1
1
TestBemf Command Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
1
OTP3
OTP2
OTP1
0
0
1
1
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
51
Bit 2
OTP0
1
Bit 1
HW
1
Bit 0
0
1
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
18.0 Resistance to Electrical and Electromagnetic Disturbances
18.1 Electrostatic Discharges
Table 31: Absolute Maximum Ratings
Parameter
Vesd
Notes:
(1)
(1)
Min.
Max.
Unit
-2
+2
kV
Electrostatic discharge voltage on all pins
Human body model (100pF via 1.5 kΩ, according to JEDEC EIA-JESD22-A114-B.)
18.2 Electrical Transient Conduction Along Supply Lines
Test pulses are applied to the power supply wires of the equipment implementing the AMIS-30624 (see application schematic),
according to ISO 7637-1 document. Operating Classes are defined in ISO 7637-2.
Table 32: Test Pulses and Test Levels According to ISO 7637-1
Pulse
Amplitude
Rise Time
Pulse Duration
Rs
Operating Class
#1
-100V
≤ 1µs
2ms
10Ω
C
#2a
+100V
≤ 1µs
50µs
2Ω
B
#3a
-150V (from +13.5V)
5ns
100ns (burst)
50Ω
A
#3b
+100V (from +13.5V)
5ns
100ns (burst)
50Ω
A
#5b (load dump)
+21.5V (from +13.5V)
≤ 10ms
400ms
≤ 1Ω
C
18.3 EMC
Bulk current injection (BCI), according to ISO 11452-4. Operating Classes are defined in ISO 7637-2.
Table 33: Bulk Current Injection Operating Classes
Current
Operating Class
60mA envelope
A
100mA envelope
B
200mA envelope
C
18.4 Power Supply Micro-interruptions
According to ISO 16750-2
Table 34: Immunity to Power Supply Micro-interruptions
Test
Operating Class
10µs micro-interruptions
B
5ms micro-interruptions
B
50ms micro-interruptions
C
300ms micro-interruptions
C
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
A
100µs micro-interruptions
52
AMIS-30624 I2C Microstepping Motordriver
19.0 Package Outline
Figure 36: SOIC-20: Plastic Small Outline; 20 leads; Body Width 300mil. AMIS reference: SOIC300 20 300G
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
53
Data Sheet
AMIS-30624 I2C Microstepping Motordriver
Dimensions:
Dim
Min
A
0.8
A1
0
A2
0.576
A3
b
0.25
C
0.24
D
D1
E
E1
e
J
5.37
K
5.37
L
0.35
P
R
2.185
Nom
0.02
0.615
0.203
0.3
0.42
7
6.75
7
6.75
0.65
5.47
5.47
0.4
45
Max
0.9
0.05
0.654
0.35
0.6
5.57
5.57
0.45
2.385
Unit
mm
mm
mm
mm
mm
mm
mm
mm
mm
mm
mm
mm
mm
mm
Degree
mm
Notes
2) Dimensions apply to plated terminal and are measured between
0.2 and 0.25 mm from terminal tip.
3) The pin #1 indication must be placed on the top surface of the
package by using indentation mark or other feature of package body.
4) Exact shape and size of this feature is optional
5) Applied for exposed pad and terminals. Exclude embedding part of
exposed pad from measuring.
6) Applied only to terminals
7) Exact shape of each corner is optional
7x7 NQFP
Figure 37: NQFP-32: No lead Quad Flat Pack; 32 pins; body size 7 x 7 mm. AMIS reference: NQFP-32
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
Data Sheet
54
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
20.0 Soldering
20.1 Introduction to Soldering Surface Mount Packages
This text gives a very brief insight to a complex technology. A more in-depth account of soldering ICs can be found in the AMIS “Data
Handbook IC26; Integrated Circuit Packages” (document order number 9398 652 90011). There is no soldering method that is ideal for
all surface mount IC packages. Wave soldering is not always suitable for surface mount ICs, or for printed-circuit boards with high
population densities. In these situations re-flow soldering is often used.
20.2 Re-flow Soldering
Re-flow soldering requires solder paste (a suspension of fine solder particles, flux and binding agent) to be applied to the PCB by
screen printing, stencilling or pressure-syringe dispensing before package placement. Several methods exist for reflowing; for example,
infrared/convection heating in a conveyor type oven.
Throughput times (preheating, soldering and cooling) vary between 100 and 200 seconds depending on the heating method. Typical reflow peak temperatures range from 215 to 260°C. The top-surface temperature of the packages should preferably be kept below 230°C.
20.3 Wave Soldering
Conventional single wave soldering is not recommended for surface mount devices (SMDs) or PCBs with a high component density, as
solder bridging and non-wetting can present major problems. To overcome these problems, the double-wave soldering method was
specifically developed.
If wave soldering is used the following conditions must be observed for optimal results:
• Use a double-wave soldering method comprising a turbulent wave with high upward pressure followed by a smooth laminar wave.
• For packages with leads on two sides and a pitch (e):
o Larger than or equal to 1.27mm, the footprint longitudinal axis is preferred to be parallel to the transport direction of the
PCB;
o Smaller than 1.27mm, the footprint longitudinal axis must be parallel to the transport direction of the PCB. The footprint
must incorporate solder thieves at the downstream end.
• For packages with leads on four sides, the footprint must be placed at a 45º angle to the transport direction of the PCB. The
footprint must incorporate solder thieves downstream and at the side corners.
During placement and before soldering, the package must be fixed with a droplet of adhesive. The adhesive can be applied by screen
printing, pin transfer or syringe dispensing. The package can be soldered after the adhesive is cured. Typical dwell time is four seconds
at 250°C. A mildly-activated flux will eliminate the need for removal of corrosive residues in most applications.
20.4 Manual Soldering
Fix the component by first soldering two diagonally-opposite end leads. Use a low voltage (24V or less) soldering iron applied to the flat
part of the lead. Contact time must be limited to 10 seconds at up to 300°C.
When using a dedicated tool, all other leads can be soldered in one operation within two to five seconds between 270 and 320°C.
Table 35: Soldering Process
Soldering Method
Package
BGA, SQFP
HLQFP, HSQFP, HSOP, HTSSOP, SMS
PLCC (3) , SO, SOJ
LQFP, QFP, TQFP
SSOP, TSSOP, VSO
Notes:
(1)
(2)
(3)
(4)
(5)
Wave
Re-flow(1)
Not suitable
(2)
Not suitable
Suitable
(3)(4)
Not recommended
(5)
Not recommended
Suitable
Suitable
Suitable
Suitable
Suitable
All surface mount (SMD) packages are moisture sensitive. Depending upon the moisture content, the maximum temperature (with respect to time) and body size
of the package, there is a risk that internal or external package cracks may occur due to vaporization of the moisture in them (the so called popcorn effect). For
details, refer to the drypack information in the “Data Handbook IC26; Integrated Circuit Packages; Section: Packing Methods.”
These packages are not suitable for wave soldering as a solder joint between the printed-circuit board and heatsink (at bottom version) can not be achieved, and
as solder may stick to the heatsink (on top version).
If wave soldering is considered, then the package must be placed at a 45° angle to the solder wave direction. The package footprint must incorporate solder
thieves downstream and at the side corners.
Wave soldering is only suitable for LQFP, TQFP and QFP packages with a pitch (e) equal to or larger than 0.8mm; it is definitely not suitable for packages with a
pitch (e) equal to or smaller than 0.65mm.
Wave soldering is only suitable for SSOP and TSSOP packages with a pitch (e) equal to or larger than 0.65mm; it is definitely not suitable for packages with a
pitch (e) equal to or smaller than 0.5mm.
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
55
AMIS-30624 I2C Microstepping Motordriver
Data Sheet
21.0 Company or Product Inquiries
For more information about AMI Semiconductor’s motordrivers, please send an email to [email protected].
For more information about AMI Semiconductor’s products or services visit our Web site at http://www.amis.com.
22.0 Document History
Table 36: Document History
Version
Date of Version
1.0
July 16, 2002
th
2.1
December 5 , 2005
3.0
February 21, 2007
3.1
March 23, 2007
Modifications/Additions
First non-preliminary issue
Complete review
Public release
2
UpdateI C commands, adding links
Devices sold by AMIS are covered by the warranty and patent indemnification provisions appearing in its Terms of Sale only. AMIS makes no warranty, express,
statutory, implied or by description, regarding the information set forth herein or regarding the freedom of the described devices from patent infringement. AMIS
makes no warranty of merchantability or fitness for any purposes. AMIS reserves the right to discontinue production and change specifications and prices at any
time and without notice. AMI Semiconductor's products are intended for use in commercial applications. Applications requiring extended temperature range,
unusual environmental requirements, or high reliability applications, such as military, medical life-support or life-sustaining equipment, are specifically not
recommended without additional processing by AMIS for such applications. Copyright ©2007 AMI Semiconductor, Inc.
AMI Semiconductor – Apr. 2007, Rev 3.1, M-20664-003
www.amis.com
56