ONSEMI AMIS

AMIS-30622
I²C Micro-Stepping Motor Driver
General description
The AMIS-30622 is a member of a stepper
motordriver family with position controller and
control/diagnostics interface integrated in one
single chip.
The family consists of two products:
• AMIS-30621 with LIN interface, ready to build
dedicated mechatronics solutions connected
remotely with a LIN master.
• AMIS-30622 with SERIAL interface, ready to
act as peripheral device next to a
microcontroller.
The chip receives high-level positioning instructions
through the interface and subsequently drives the
motor coils until the desired position is reached. The
on-chip position controller is configurable (OTP and
Interface) for different motor types, positioning ranges
and parameters for speed, acceleration and
deceleration.
The AMIS-30622 acts as a slave on the bus and the
master can fetch specific status information like actual
position, error flags, etc. from each individual slave
node.
Features
Motordriver
•
•
•
•
•
•
•
•
•
•
•
Microstepping (1/2, 1/4, 1/8, 1/16)
Low resonance & noise
High resolution
Programmable peak current up to 800mA
20kHz PWM current-control
Automatic selection of fast & slow decay mode
Internal fly-back FETs
Fully integrated current sense
8V-29V supply voltage
Automotive compliant
Full diagnostics and status information
Controller with RAM and OTP memory
•
•
•
•
•
Position controller
Configurable speeds, acceleration and
deceleration
Flexible hold-current
Movement/position sensor-input
Optional stall detection
Serial interface
• 2-wire serial interface
• 5V microcontroller compatible
• Up to 32 node addresses
• 5V regulator with wake-up on LIN activity
Protection
•
•
•
•
•
•
Over-current protection
Under-voltage management
Over-voltage protection
High-temp warning and shutdown
Low-temp warning
LIN bus short-circuit protection to supply & ground
Power Saving
• Power-down supply current <50µA
• 5V regulator with wake-up on LIN activity
EMI compatibility
• Power drivers with slope control
Applications and benefits
The AMIS-30622 is ideally suited for small
positioning applications. Target markets include:
automotive (headlamp alignment, HVAC, idle
control, cruise), industrial equipment (lighting, fluid
control, labeling, process, XYZ tables) and building
automation (HVAC, surveillance, satellite dish
positioning). Suitable applications typically have
multiple axes or require mechatronic solutions with
the driver chip mounted directly on the motor.
The high abstraction level of the products’
command set reduces the load of the processor on
the master side. Scaling of the application towards
number of axes is straight-forward: hardware - and
software designs are extended in a modular way,
©2008 SCILLC. All rights reserved.
June 2008 – Rev. 3
without severely effecting the demands on the master
microcontroller. The bus structure simplifies PCB
track-layout and/or wiring architectures.
Microstepping operation removes the design trade-off
between minimal operation speed and avoiding the
risk of noise and step-loss due to resonance
phenomena. The stall-detection feature (optional)
offers silent, yet accurate position-calibrations during
the referencing run and allows semi-closed loop
operation when approaching the mechanical endstops.
All these benefits result in reduced system-cost and
time-to-market and improved technical performance.
Publication Order Number:
30622/A
AMIS-30622
Ordering Information
Product Name
Package
Shipping Configuration
Temperature Range
AMIS30622C6227G
SOIC-20 GREEN
Tube/Tray
-40°C to 125°C
AMIS30622C6227RG
SOIC-20 GREEN
Tape & Reel
-40°C to 125°C
AMIS30622C6228G
NQFP 32 7x7 GREEN
Tube/Tray
-40°C to 125°C
NQFP 32 7x7 GREEN
Tape & Reel
-40°C to 125°C
AMIS30622C6228RG
Rev. 3 | Page 2 of 42 | www.onsemi.com
AMIS-30622
Table of contents
1.
Quick Reference Data ........................................................................................................... 6
1.1. Absolute Maximum Ratings ............................................................................................. 6
1.2. Operating Ranges............................................................................................................ 6
2. Block Diagram ....................................................................................................................... 6
3. Pin-out .................................................................................................................................... 7
4. Package thermal resistance................................................................................................. 7
4.1. SO20 ................................................................................................................................ 7
5. DC-Parameters ...................................................................................................................... 8
6. AC-Parameters ...................................................................................................................... 9
7. Typical application ..............................................................................................................10
8. Positioning data ..................................................................................................................11
8.1. Stepping modes .............................................................................................................11
8.2. Maximum velocity ..........................................................................................................11
8.3. Minimum velocity ...........................................................................................................11
8.4. Acceleration and deceleration .......................................................................................12
8.5. Positioning .....................................................................................................................12
8.5.1.
Position ranges ........................................................................................................12
8.5.2.
Secure position ........................................................................................................13
8.5.3.
Shaft ........................................................................................................................13
9. Functional description........................................................................................................14
9.1. Structure Description .....................................................................................................14
9.1.1.
Stepper motordriver .................................................................................................14
9.1.2.
Control logic (Position controller and Main control).................................................14
9.1.3.
Miscellaneous ..........................................................................................................14
9.2. Functions description .....................................................................................................15
9.2.1.
Position controller ....................................................................................................15
9.2.1.1. Positioning and motion control...........................................................................15
9.2.1.2. Position initialization...........................................................................................17
9.2.1.3. External switch and HW pin ...............................................................................18
9.2.2.
Main control and register, OTP memory + RAM .....................................................19
9.2.2.1. Power-up phase .................................................................................................19
9.2.2.2. Reset State ........................................................................................................19
9.2.2.3. Soft Stop ............................................................................................................19
9.2.2.4. Thermal shutdown mode....................................................................................19
9.2.2.5. Temperature management ................................................................................19
9.2.2.6. Battery voltage management .............................................................................20
9.2.2.7. Motor shutdown mode........................................................................................21
9.2.2.8. RAM Registers ...................................................................................................23
9.2.2.9. Flags table..........................................................................................................24
9.2.2.10. Application Commands ....................................................................................25
9.2.2.11. Priority encoder ................................................................................................26
Rev. 3 | Page 3 of 42 | www.onsemi.com
AMIS-30622
9.2.2.12. Application parameters stored in OTP Memory ...............................................28
9.2.2.13. OTP Memory Structure ....................................................................................29
9.2.3.
Motordriver...............................................................................................................30
9.2.3.1. Current waveforms in the coils...........................................................................30
9.2.3.2. PWM regulation..................................................................................................30
9.2.3.3. Motor starting phase ..........................................................................................30
9.2.3.4. Motor stopping phase.........................................................................................31
9.2.3.5. Charge pump monitoring....................................................................................31
9.2.3.6. Electrical defect on coils, detection and confirmation ........................................31
9.2.4.
Inter-IC Control (I²C) bus .........................................................................................32
9.2.4.1. Physical layer .....................................................................................................32
9.2.4.2. Communication on 2-wire serial bus interface ...................................................32
9.2.4.3. Physical Address of the circuit ...........................................................................33
9.2.4.4. Write data to AMIS-30622..................................................................................33
9.2.4.5. Read data from AMIS-30622 .............................................................................33
9.2.4.6. Timing and electrical characteristics of the serial interface ...............................34
9.2.4.7. Description of Application Commands ...............................................................34
9.2.4.8. Command Overview...........................................................................................34
9.2.4.9. Commands Description......................................................................................35
10. Features ...............................................................................................................................40
10.1. Position periodicity .........................................................................................................40
11. Resistance to electrical and electromagnetic disturbances ..........................................41
11.1. Electrostatic discharges .................................................................................................41
11.2. Schäffner pulses ............................................................................................................41
11.3. EMC ...............................................................................................................................41
11.4. EMI.................................................................................................................................41
11.5. Power supply micro-interruptions ..................................................................................41
12. Packages Outline ................................................................................................................42
13. Conditioning ........................................................................................................................42
Rev. 3 | Page 4 of 42 | www.onsemi.com
AMIS-30622
Document history
Version
2.0
2.1
2.2
2.3
3.0
Date of version
March 4th, 2003
nd
April 2 , 2003
rd
April 3 , 2003
th
May 28 , 2003
th
June 27 , 2008
Modifications / additions
First non-preliminary issue including I2C full update
Full review
Update DC-parameters
2
2
New layout, replace S I by I C
Update to new ON Semiconductor template; update OPN table
Rev. 3 | Page 5 of 42 | www.onsemi.com
AMIS-30622
1.
Quick Reference Data
1.1.
Absolute Maximum Ratings
Parameter
Min
Max
(1)
Vbb
Supply voltage
-0.3
+40
Tamb
Ambient temperature under bias (2)
-50
+150
Tst
Storage temperature
-55
+160
Vesd
Electrostatic discharge voltage on all pins (3)
-2
+2
Notes
(1) For limited time: < 0.5 s
(2) The circuit functionality is not guaranteed
(3) Human body model (100 pF via 1.5 kΩ, according to MIL std. 883E, method 3015.7)
1.2.
Unit
V
°C
°C
kV
Operating Ranges
Parameter
Vbb
Supply voltage (1)
Top
Operating temperature range
Vbb ≤ 18V
Vbb ≤ 29V
Min
+6.5
-40
-40
Max
+29
+125
+85
Unit
V
°C
°C
Notes
(1) Motordriver is disabled when Vbb < 8.9V
2.
Block Diagram
SWI
SDA
SCK
HW
MOTXP
Position controller
Serial
Synchronous
Interface
Controller
Decoder
PWM
regulator
X
MOTXN
Sine wave
table
MOTYP
TST1
TST2
Test
Controller
Main control
& Registers
OTP + RAM
DACs
PWM
regulator
Y
VBAT
Voltage
regulator
Oscillator
Charge pump
VDD
VCP CP2 CP1
Rev. 3 | Page 6 of 42 | www.onsemi.com
Reference voltage
&
Thermal monitoring
MOTYN
AMIS-30622
3.
Pin-out
1
SDA
SWI
20
2
SCK
VBB
19
3
VDD
MOTXP
18
4
GND
GND
17
5
TST1
MOTXN
16
6
TST2
MOTYP
15
7
GND
GND
14
8
HW
MOTYN
13
9
CPN
VBB
12
10
CPP
VCP
11
SOIC-20
Pin name
SDA
SCK
VDD
GND
TST1
TST2
HW
CPN
CPP
VCP
VBB
MOTYN
MOTYP
MOTXN
MOTXP
SWI
4.
Pin description
Serial I/O
Clock for SDA
Internal supply (needs external decoupling capacitor)
Ground, heat sink
test pin (to be tied to ground in normal operation)
test pin (to be left open in normal operation)
Hardwired address bit
Negative connection of pump-capacitor (charge pump)
Positive connection of pump-capacitor (charge pump)
Charge-pump filter-capacitor
Battery voltage supply
Negative end of phase Y coil
Positive end of phase Y coil
Negative end of phase X coil
Positive end of phase X coil
Switch input
SOIC-20
1
2
3
4,7,14,17
5
6
8
9
10
11
12, 19
13
15
16
18
20
Package thermal resistance
4.1.
SO20
2 × (10mm × 23mm)
The junction-case thermal resistance is 28°C/W,
leading to a junction-ambient thermal resistance of
63°C/W, with the PCB ground plane layout condition
given on the figure beside, and with:
•
PCB thickness = 1.6mm
•
1 layer
•
Copper thickness = 35µm
Rev. 3 | Page 7 of 42 | www.onsemi.com
AMIS-30622
5.
DC-Parameters
The DC parameters are given for Vbb and temperature in their operating ranges
Convention: currents flowing in the circuit are defined as positive
Symbol
Pin(s)
Motordriver
IMSmax
Peak
IMSmax
MOTXP
RMS
MOTXN
IMSabs
MOTYP
IMSrel
MOTYN
RDSon
Parameter
Test Conditions
Max current trough motor coil in
normal operation
Max RMS current trough coil in
normal operation
Absolute error on coil current
Error on current ratio Icoilx / Icoily
On resistance for each pin
(including bond wire)
IMSL
Pull down current
Thermal warning & shutdown
Ttw
Thermal Warning
Ttsd
Thermal shutdown (1)
Tlow
Low temperature warning
Supply & Voltage regulator
Vbb
Nominal operating supply range (2)
VbbOTP
Supply voltage for OTP zapping
VBB Stop voltage high threshold
UV1
UV2
Stop voltage low threshold
Ibat
Total current consumption
Vdd
Internal regulated output (3)
IddStop
VDD Digital current consumption
VddReset
Digital supply reset level (4)
IddLim
Current limitation
Switch input and hardwire address input
Rt_OFF
Switch OFF resistance (5)
Rt_ON
Switch ON resistance (5)
SWI Vbb range for guaranteed operation
Vbb_sw
HW of SWI and HW
Vmax_sw
Maximum voltage
Ilim_sw
Current limitation
Serial interface pins
VIL
Input level low (6)
VIH
Input level high (7)
Noise margin at the LOW level for
SDA each connected device (including
VnL
SCK hysteresis)
Noise margin at the HIGH level for
VnH
each connected device (including
hysteresis)
Charge pump
Vcp
VCP
Cbuffer
Cpump
Output voltage
Typ
Max
800
To be confirmed by
characterization
HZ mode
1
145
Ttw+10
Ttw-155
6.5
9.0
Unloaded outputs
8V < Vbb < 18V
Cload = 1µF (+100nF cer.)
Vbb < UV2
8.0
8.5
10
4.75
5
6
Vbb > 15V
Vbb > 8V
External pump capacitor
18
10.0
9.8
9.0
V
V
V
V
mA
5.35
V
4.4
40
mA
V
mA
2
kΩ
kΩ
29
V
40V
V
mA
0.3 Vdd
Vdd + 0.5
V
V
0.1VDD
V
0.2VDD
V
Vbb+10 Vbb+12.5
Vbb+5.8V
220
220
Notes
(1) No more than 100 cumulated hours in life time above Ttsd
(2) Communication over serial bus is operating. Motordriver is disabled when Vbb < UV2
(3) Pin VDD must not be used for any external supply
(4) The RAM content will not be altered above this voltage
(5) External resistance value seen from pin SWI or HW, including 1kΩ series resistor
(6) If Input voltage ≤ -0.3 Volts, then a resistor of 22 to 100Ω must be added in series
(7) In case 100 kHz ≤ fSCL ≤ 360kHz VIH min = 0.7VDD
Rev. 3 | Page 8 of 42 | www.onsemi.com
°C
°C
°C
30
-0.5
0.7 Vdd
Ω
152
10
T < 1s
Short to Gnd or Vbat
%
%
mA
2
Pin shorted to ground
Switch to Gnd or Vbat,
mA
10
7
1
138
Unit
mA
570
-10
-7
External buffer capacitor
CPP
CPN
Min
Vbb+15
470
V
V
nF
470
nF
AMIS-30622
6.
AC-Parameters
The AC parameters are given for Vbb and temperature in their operating ranges
Symbol
Pin(s)
Parameter
Power-up
Tpu
Power-up time
Internal oscillator
fosc
Frequency of internal oscillator
I2C Transceiver
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;STA
tLOW
HIGH period of the SCK clock
tHIGH
tSU;STA
tSU;DAT
tr
tf
tSU;STO
SDA
SCK
Set-up time for a repeated START
condition
Data set-up time
Rise time of both SDA and SCK
signals (1)
Fall time of both SDA and SCK
signals (1)
Set-up time for STOP condition
Test Conditions
3.6
Typ
4.0
Max
Unit
10
ms
4.4
MHz
100
360
kHz
kHz
µs
fSCL ≤ 100kHz
fSCL ≤ 360kHz
fSCL ≤ 100kHz
0
0
4.0
fSCL ≤ 360kHz
0.6
µs
fSCL ≤ 100kHz
fSCL ≤ 360kHz
fSCL ≤ 100kHz
fSCL ≤ 360kHz
fSCL ≤ 100kHz
fSCL ≤ 360kHz
fSCL ≤ 100kHz
fSCL ≤ 360kHz
fSCL ≤ 100kHz
fSCL ≤ 360kHz
fSCL ≤ 100kHz
fSCL ≤ 360kHz
fSCL ≤ 100kHz
fSCL ≤ 360kHz
fSCL ≤ 100kHz
fSCL ≤ 360kHz
4.7
1.3
4.0
0.6
4.7
0.6
250
100
µs
µs
µs
µs
µs
µs
ns
ns
ns
ns
ns
ns
µs
µs
µs
µs
Bus free time between a STOP and
START condition
Pulse width of spikes which must
tSP
be suppressed by the input filter
Cb
Capacitive load for each bus line
Ci
Capacitance for each I/O pin
Switch input and hardwire address input
Tsw
SWI Scan pulse period (2)
HW Scan pulse duration
Tsw_on
Motordriver
fpwm
PWM frequency (2)
MOTxx Turn-on transient time
Tbrise
Between 10% and 90%
Tbfall
Turn-off transient time
Charge pump
CPN
fCP
Charge pump frequency (2)
CPP
tBUF
Min
Notes
(1) Cb = total capacitance of one bus line in pF
(2) Derived from the internal oscillator
Rev. 3 | Page 9 of 42 | www.onsemi.com
1000
300
300
300
20+0.1Cb
20+0.1Cb
4.0
0.6
4.7
1.3
50
ns
400
10
1024
1/16
18
20
350
250
250
pF
pF
µs
Tsw
22
kHz
ns
ns
kHz
AMIS-30622
7.
Typical application
Optional
1 kΩ
AMIS - 30622
I2C
bus
1 µF
Connected
to Vbat or
GND
1
SDA
SWI
20
2
SCK
VBB
19
3
VDD
MOTXP
18
4
GND
GND
17
5
TST1
MOTXN
16
6
TST2
MOTYP
15
7
GND
GND
14
8
HW
MOTYN
13
9
CPN
VBB
12
10
CPP
VCP
11
Connected
to Vbat or
GND
100 nF
M
100 nF
1 kΩ
220 nF
Vbat
100 µF
220 nF
Notes
(1) Optionally an external switch to Vbat or GND can be connected to the SWI pin
(2) Resistors tolerance: ± 5%
Depending on the application the ESR value of the 1µF and 100µF capacitors must be carefully chosen. The
(3)
working voltage of the 100µF capacitor depends on the maximum Vbat value.
(4) 100nF capacitors must be close to pins VBB and VDD
(5) 220nF capacitors must be as close as possible to pins CPN, CPP, VCP and VBB to reduce EMC radiation
(6) If SDA and/or SCK input voltage ≤ -0.3 Volts, then a resistor of 22 to 100Ω must be added in series
Rev. 3 | Page 10 of 42 | www.onsemi.com
AMIS-30622
8.
8.1.
Positioning data
Stepping modes
One of 4 possible stepping modes can be programmed:
•
Half-stepping
•
1/4 micro-stepping
•
1/8 micro-stepping
•
1/16 micro-stepping
8.2.
Maximum velocity
For each stepping mode, Vmax can be programmed to 16 possible values given in the table below.
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.
Stepping mode
1/4th
1/8th
1/16th
Vmax
Vmax
Group Half-stepping micro-stepping micro-stepping micro-stepping
index (full step/s)
(half-step/s)
(micro-step/s) (micro-step/s) (micro-step/s)
0
99
A
197
395
790
1579
1
136
273
546
1091
2182
2
167
334
668
1335
2670
3
197
395
790
1579
3159
B
4
213
425
851
1701
3403
5
228
456
912
1823
3647
6
243
486
973
1945
3891
7
273
546
1091
2182
4364
8
303
607
1213
2426
4852
9
334
668
1335
2670
5341
C
10
364
729
1457
2914
5829
11
395
790
1579
3159
6317
12
456
912
1823
3647
7294
13
546
1091
2182
4364
8728
14
729
1457
2914
5829
11658
D
15
973
1945
3891
7782
15564
8.3.
Minimum velocity
Once Vmax is chosen, 16 possible values can be programmed for Vmin. The table below provides the
obtainable values in Full-step/s. The accuracy of Vmin is derived from the internal oscillator.
Vmin
index
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
99
99
3
6
9
12
15
18
21
24
28
31
34
37
40
43
46
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
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
Vmax (Full-step/s)
243 273 303 334
243 273 303 334
7
8
8
10
14
15
17
19
22
25
27
31
30
32
36
40
37
42
46
51
45
50
55
61
52
59
65
72
60
67
74
82
68
76
84
93
75
84
93 103
83
93 103 114
91 101 113 124
98 111 122 135
106 118 132 145
113 128 141 156
Rev. 3 | Page 11 of 42 | www.onsemi.com
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
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
AMIS-30622
Notes
(1) The Vmax factor is an approximation
(2) 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.
8.4.
Acceleration and deceleration
Sixteen possible values can be programmed for Acc (acceleration and deceleration between Vmin and Vmax).
The table below 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.
Vmax (FS/s) →
Acc index ↓
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
14785
99 136 167 197 213 228 243 273 303 334 364 395 456 546 729 973
Acceleration (Full-step/s²)
49
106
473
218
735
1004
3609
6228
8848
11409
13970
16531
19092
21886
24447
27008
29570
34925
29570
40047
The formula to compute the number of equivalent Full-step during acceleration phase is:
Nstep =
8.5.
Vmax 2 − Vmin 2
2 × Acc
Positioning
The position programmed in command SetPosition is given as a number of (micro)steps. According to the
chosen stepping mode, the position words must be aligned as described in the table below. When using
command GotoSecurePosition, data is automatically aligned.
Stepping mode
th
1/16
th
1/8
1/4th
Half-stepping
SecurePosition
8.5.1.
Position word: Pos[15:0]
S
S
S
S
B14
B13
B12
B11
S
B9 B8 B7 B6 B5 B4 B3 B2 B1 LSB 0
B13
B12
B11
B10
B12
B11
B10
B9
B11
B10
B9
B8
B10
B9
B8
B7
B9
B8
B7
B6
B8
B7
B6
B5
B7
B6
B5
B4
B6
B5
B4
B3
B5
B4
B3
B2
B4
B3
B2
B1
Shift
B3 B2 B1 LSB
No shift
B2 B1 LSB 0
1-bit left ⇔ ×2
B1 LSB 0
0
2-bit left ⇔ ×4
LSB 0
0
0
3-bit left ⇔ ×8
0
0
0
0
No shift
Position ranges
A position is coded by using the binary two’s complement format. According to the positioning commands which
are used (see § 9.2.2.10 Application Commands) and to the chosen stepping mode, the position range will be as
shown in the table below.
Command
Stepping mode
SetPosition
Half-stepping
1/4th micro-stepping
th
1/8 micro-stepping
1/16th micro-stepping
Position range
-4096
-8192
-16384
-32768
to
to
to
to
+4095
+8191
+16383
+32767
Rev. 3 | Page 12 of 42 | www.onsemi.com
Full range
excursion
8192 half-steps
16384 micro-steps
32768 micro-steps
65536 micro-steps
Number
of bits
13
14
15
16
AMIS-30622
When using the command SetPosition, although coded on 16 bits, the position word will have to be shifted on
the left by a certain number of bits, according to the chosen stepping mode.
8.5.2.
Secure position
A secure position can be programmed. It is coded on 11-bit, thus having a lower resolution than normal
positions, as shown in the table below. See command GotoSecurePosition.
Stepping mode
Half-stepping
th
1/4 micro-stepping
th
1/8 micro-stepping
th
1/16 micro-stepping
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 note
The secure position is disabled in case the programmed value is the reserved code “10000000000”
(most negative position).
8.5.3.
Shaft
A shaft bit can be programmed to define whether a positive motion is an outer or an inner motion:
•
Shaft = 0 ⇒ MOTXP is used as positive pin of the X coil, while MOTXN is the negative one.
•
Shaft = 1 ⇒ opposite situation
Rev. 3 | Page 13 of 42 | www.onsemi.com
AMIS-30622
9.
Functional description
9.1.
9.1.1.
Structure Description
Stepper motordriver
The Motordriver receives the control signals from the control logic. It mainly features:
•
two H-bridges designed to drive a two separated coils stepper motor. 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 needed information to the control logic
part. The same applies for detection and reporting of an electrical problem that could occur on the coils or the
charge pump.
9.1.2.
Control logic (Position controller and Main control)
2
The control logic block stores the information provided by the I C interface (in the RAM or OTP memory) and
digitally controls the positioning of the Stepper Motor in term of speed and acceleration, by feeding the right
signals to the Motordriver state machine.
It will take into account the successive positioning commands to initiate or stop properly 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 about
2
internal actions and reporting to the I C interface.
9.1.3.
Miscellaneous
The AMIS-30622 also implements the followings:
•
an internal oscillator, needed for the Control logic and for the PWM control of the Motordriver.
•
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.
Rev. 3 | Page 14 of 42 | www.onsemi.com
AMIS-30622
9.2.
Functions description
This chapter describes the four most important blocks:
•
Position controller
•
Main control and register, OTP memory + RAM
•
Motordriver
•
I2C controller
9.2.1.
Position controller
9.2.1.1.
Positioning and motion control
A positioning command will produce a motion as illustrated below. 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 to the parameters
programmed by the application during configuration phase. The current in the coils is also programmable (see
§ Error! Reference source not found.).
Velocity
Acceleration
range
Zero speed
Hold current
Deceleration
range
Zero speed
Hold current
Vmax
Vmin
Position
Pstart
Pmin
P=0
Pstop
Optional zero
switch
Parameter
Pmax - Pmin
Zero speed Hold Current
Maximum current
Acceleration and deceleration
Vmin
Vmax
Pmax
Value
See § 8.5
See § 9.2.2.12 (Ihold)
See § 9.2.2.12 (Irun)
See § 8.4
See § 8.3
See § 8.2
Rev. 3 | Page 15 of 42 | www.onsemi.com
AMIS-30622
Different positioning examples are shown in the table below.
Velocity
Short motion
time
New positioning
command in same
direction, shorter or
longer, while a motion is
running at maximum
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.
Velocity
time
Velocity
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
Rev. 3 | Page 16 of 42 | www.onsemi.com
AMIS-30622
9.2.1.2.
Position initialization
After power-up or when a Vdd reset has been acknowledged to the master, a position initialization of the
stepper-motor can be requested by the application, by use of the RunInit command (see § 0). The position
initialization is performed by the position controller under the control of the Main control block. This operation
cannot be interrupted or influenced by any further command. A position initialization can only be interrupted by
the occurrence of the conditions driving to a Motor shutdown (see § 9.2.2.7) or by a HardStop command. On
the other hand, sending a RunInit command while a motion is already ongoing is not recommended.
A position initialization consists of 2 successive motions, as illustrated below.
Velocity
Vm ax
st
2
nd
m otion
end of IN IT
1 m otion
Vm in
tim e
26.6 m s
26.6 m s
The first motion is done with the specified Vmin and Vmax velocities in the RunInit command, with the
acceleration (deceleration) parameter already in RAM, to a position Pos1[15:0] also specified in RunInit.
The goal here is to perform a motion large enough to reach a stall position (considered to be the reference
position).
Then a second motion to a position Pos2[15:0] is done at the specified Vmin velocity in the RunInit
command (no acceleration). The purpose of this second motion is to confirm with a low velocity the positioning of
the motor at the stall position, assuming that the stepper motor may have bounced against the stall position.
Therefore, Pos2 should only be a few half or micro steps further than Pos1, in order to perform a displacement
of at least one electrical period.
Once the second motion is achieved, the ActPos register (see § 0) is reset to zero, to set the reached position
as the reference position, whereas TagPos register is not changed.
Notes
(1) The priority encoder (see 9.2.2.11 Priority encoder) is describing the management of states and commands. The
notes below are to be considered illustrative.
(2) The last SetPosition command issued during an initialization sequence will be kept in memory and executed
afterwards. This applies also for the commands SetMotorParam and GotoSecurePosition.
(3) Commands such as GetActualPos or GetStatus will be executed while the position initialization is running.
(4) An initialization sequence starts by setting TagPos register to SecPos value, provided secure position is enabled
otherwise TagPos is reset to zero.
(5) The acceleration/deceleration value applied during an initialization sequence is the one stored in RAM before the
RunInit command is sent. The same applies for Shaft bit, but not for Irun, Ihold and StepMode, which can
be changed during an initialization sequence.
(6) The Pos1, Pos2, Vmax and Vmin values programmed in a RunInit command apply only for this initialization
sequence. All further positioning will use the parameters stored in RAM (programmed for instance by a former
SetMotorParam command).
(7) Commands ResetPosition, RunInit, and SoftStop will be ignored while an initialization sequence is
ongoing, and will not be executed afterwards.
(8) A SetMotorParam command should not be sent during an initialization sequence.
(9) If for some reason ActPos equals Pos1[15:0] at the moment the RunInit command is issued, the circuit will
enter in deadlock state. Therefore, the application should check the actual position by a GetPosition or a
GetFullStatus command prior to an initialization. Another solution may consist in programming a value out of
the stepper motor range for Pos1[15:0].
Rev. 3 | Page 17 of 42 | www.onsemi.com
AMIS-30622
9.2.1.3.
External switch and HW pin
Pin SWI and hardwired address pin HW (see § 9.2.4.3 Physical Address) will alternatively attempt to source and
sink a current in/from the external switch (see application schematic) to test whether it is ON or OFF. This
current is set around 10mA when a 1kΩ external series resistor is used.
source current
Tsw_on
sink current
Tsw/2
Tsw_on
Tsw
This can be represented by the following time diagram (The timings are given in § 6).
If the switch is detected ON (closed), then the flag <ESW> is raised. The status of this flag can be read by the
application via a GetActualPos or a GetFullStatus1 reading frame. At the falling edge of every current
pulse (at around 1kHz), the stepper-motor actual position is refreshed (register ActPos, see § 9.2.2.9), so that
the master node may get synchronous information about the state of the switch together with the position of the
motor. The position is then given with an accuracy of ± 1 half-step (or micro-step, depending of the programmed
stepping mode). The block diagram below shows how this function is implemented for HW.
Vbb
A-m
convert I -> R
R threshold
Source
+
HW_CMP
Source
HW
Sink
Sink
A-m
convert I -> R
GND
With the following truth table:
State
Float
Float
Float
Float
HWLo
HWLo
HWLo
HWLo
HWHi
HWHi
HWHi
HWHi
Sink
1
1
0
0
1
1
0
0
1
1
0
0
Source
0
0
1
1
0
0
1
1
0
0
1
1
New State
Float
HWHi
Float
HWLo
HWLo
HWHi
Float
HWLo
Float
HWHi
HWHi
HWLo
HWHi
HWLo
address = "1"
address = "0"
note that e.g. if HW is connected to GND, LSpart will report "float" while HS-part will report
"low resistance detected"
Note
If HW is detected to be floating, motion to the secure position is performed.
Rev. 3 | Page 18 of 42 | www.onsemi.com
AMIS-30622
9.2.2.
9.2.2.1.
Main control and register, OTP memory + RAM
Power-up phase
Power up phase of the AMIS-30622 will not exceed 10ms. After this phase, the AMIS-30622 is in Shutdown
mode, ready to receive I2C messages and to 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 § 9.2.2.13 OTP
Memory Structure)
9.2.2.2.
Reset State
After power-up, or after a reset occurrence (e.g. a micro cut on pin VBB has made Vdd to go below VddReset
level), the H-bridges will be in high impedance mode, and the registers and flags will be in a predetermined
position. See also § 9.2.2.7 Motor shutdown mode and digital supply reset in § 9.2.2.9 Flags table.
9.2.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 (see § 9.2.2.9 Flags table).
The circuit is then ready to execute a new positioning command, provided thermal and electrical conditions allow
for it.
9.2.2.4.
Thermal shutdown mode
When thermal shutdown occurs, the circuit performs a SoftStop command and goes to Motor shutdown mode
(see below).
9.2.2.5.
Temperature management
The AMIS-30622 monitors temperature by mean of two thresholds and one shutdown level, as illustrated in the
state diagram below. The only condition to reset flags <TW> and <TSD> (respectively Thermal Warning and
Thermal Shutdown) is to be at a temperature lower than Ttw and to get the occurrence of a GetFullStatus1
command.
Normal Temp.
- <Tinfo> = “00”
- <TW> = ‘0’
- <TSD> = ‘0’
Thermal warning
T° > Ttw
- <Tinfo> = “10”
- <TW> = ‘1’
- <TSD> = ‘0’
T° < Ttw &
2
T° > Ttw
S I frame:
GetFullStatus1
Thermal shutdown
T° > Ttsd
T° < Ttw
Post thermal
warning
-
<Tinfo> = “11”
<TW> = ‘1’
<TSD> = ‘1’
SoftStop if
motion ongoing
- Motor shutdown
(motion disabled)
T° > Ttsd
T° < Ttsd
- <Tinfo> = “00”
- <TW> = ‘1’
- <TSD> = ‘0’
Post thermal
shutdown 1
T° < Tlow
T° < Ttw
Post thermal
shutdown 2
T° > Tlow
Low Temp.
- <Tinfo> = “01”
- <TW> = ‘0’
- <TSD> = ‘0’
-
<Tinfo> = “00”
<TW> = ‘1’
<TSD> = ‘1’
Motor shutdown
(motion disabled)
-
<Tinfo> = “10”
<TW> = ‘1’
<TSD> = ‘1’
Motor shutdown
(motion disabled)
T° > Ttw
Rev. 3 | Page 19 of 42 | www.onsemi.com
AMIS-30622
Temp
<Tinfo> = "11"
<TW> = '1'
<TSD> = '1'
<Tinfo> = "00"
<TW> = '1'
<TSD> = '0'
Ttsd
155 °C
Ttw
145 °C
<Tinfo> = "10"
<TW> = '1'
<TSD> = '1'
<Tinfo> = "00"
<TW> = '1'
<TSD> = '1'
<Tinfo> = "10"
<TW> = '1'
<TSD> = '0'
<Tinfo> = "00"
<TW> = '0'
<TSD> = '0'
GetFullStatus1
t
<Tinfo> = "01"
<TW> = '0'
<TSD> = '0'
Tlow -10 °C
9.2.2.6.
<Tinfo> = "00"
<TW> = '0'
<TSD> = '0'
Battery voltage management
The AMIS-30622 monitors the battery voltage by mean of one threshold and one shutdown level, as illustrated in
the state diagram below. The only condition to reset flags <UV2> and <StepLoss> is to recover a battery
voltage higher than UV1 and to receive a GetFullStatus1 command.
Normal voltage
- <UV2> = ‘0’
- <StepLoss> = ‘0’
- Motion enabled
Vbb < UV2 &
motion ongoing
Vbb > UV1 &
2
S I frame:
GetFullStatus1
Vbb < UV2
(no motion)
Stop mode 1
- <UV2> = ‘1’
- <StepLoss> = ‘0’
- Motor shutdown
(motion disabled)
Rev. 3 | Page 20 of 42 | www.onsemi.com
Stop mode 2
-
<UV2> = ‘1’
<StepLoss> = ‘1’
HardStop
Motor shutdown
(motion disabled)
AMIS-30622
VBB
After GetFullStatus1
<UV2> = '0'
UV1
9.8 V
UV2
8.5 V
<UV2> = '1'
no motion: <StepLoss> = '0'
motion: <StepLoss> = '1'
t
9.2.2.7.
Motor shutdown mode
A motor shutdown occurs when:
1. The chip temperature rises above the thermal shutdown threshold Ttsd (see § 5 DC-Parameters)
2. The battery voltage goes below UV2 (see § 5 DC-Parameters)
3. Flag <ElDef> = ‘1’, meaning an electrical problem is detected on one or both coils
4. Flag <CPFail> = ‘1’, meaning there is a charge pump failure
A motor shutdown leads to the followings:
•
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 above causes are no more detected
Which 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
GetFullStatus1
↓
↑
↑
↑…
- The circuit is driven in
motor shutdown
mode
- The application is not
aware of this
- The position set-point
2
is updated by the I C
Master
- Motor shutdown
mode ⇒ no motion
- The application is still
unaware
- The application is
aware of a problem
- Possible confirmation
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’
Important
While in shutdown mode, since there is no hold current in the coils, the mechanical load can cause a step
loss, which indeed cannot be flagged by the AMIS-30622.
Warning
Rev. 3 | Page 21 of 42 | www.onsemi.com
AMIS-30622
The application should limit the number of consecutive GetFullStatus1 commands to try to get the AMIS30622 out of Shutdown mode when this proves to be unsuccessful, e.g. there is a permanent defect. The
reliability of the circuit could be altered since GetFullStatus1 attempts to disable the protection of the Hbridges.
Note
The priority encoder (see § 9.2.2.11 Priority encoder) is describing the management of states and
commands. The table above is to be considered illustrative.
Rev. 3 | Page 22 of 42 | www.onsemi.com
AMIS-30622
9.2.2.8.
RAM Registers
Register
Mnemonic
Actual position
ActPos
Last programmed
position
Pos/
TagPos
Length
Related commands
(bit)
GetActualPos
GetFullStatus2
16 GotoSecurePos
ResetPosition
GetFullStatus2
GotoSecurePos
16/11 ResetPosition
SetPosition
Acceleration shape AccShape
1
Coil peak current
Irun
4
Coil hold current
Ihold
4
Minimum Velocity
Vmin
4
Maximum Velocity
Vmax
4
Shaft
Shaft
1
Acc
4
Secure Position
SecPos
11
Stepping mode
StepMode
2
Acceleration/
deceleration
GetFullStatus11
ResetToDefault
SetMotorParam
GetFullStatus11
ResetToDefault
SetMotorParam
GetFullStatus 1
ResetToDefault
SetMotorParam
GetFullStatus11
ResetToDefault
SetMotorParam
GetFullStatus11
ResetToDefault1
SetMotorParam
GetFullStatus11
ResetToDefault
SetMotorParam
GetFullStatus11
ResetToDefault
SetMotorParam
GetFullStatus21
ResetToDefault
SetMotorParam
GetFullStatus11
ResetToDefault
SetMotorParam
Comment
Reset state
- 16-bit signed
- 16-bit signed or
- 11-bit signed for half stepping
(see § 8.5)
‘0’ ⇒ normal acceleration from
Vmin to Vmax
‘1’ ⇒ motion at Vmin without
acceleration
(1)
‘0’
Operating current (see § 9.2.2.12)
Standstill current (see § 9.2.2.12)
See § 8.3 and § 9.2.2.12
(look-up table)
See § 8.2 and § 9.2.2.12
(look-up table)
Direction of movement for positive
velocity
From OTP
memory
See § 8.4 and § 9.2.2.12
(look-up table)
2
Target position when I C
connection fails; 11 MSBs of 16-bit
position (LSBs fixed to ‘0’)
See § 8.1 and § 9.2.2.12
Note
(1) A ResetToDefault command will act as a reset of the RAM content, except for ActPos and TagPos
registers that are not modified. Therefore, the application should not send a ResetToDefault during a
motion, to avoid any unwanted change of parameter
Rev. 3 | Page 23 of 42 | www.onsemi.com
AMIS-30622
9.2.2.9.
Flags table
Flag
Mnemonic
Length
Related Commands
(bit)
Charge pump
failure
CPFail
1
GetFullStatus
Electrical defect
ElDef
1
GetActualPos
GetStatus
GetFullStatus1
External switch
status
ESW
1
GetActualPos
GetStatus
GetFullStatus1
Electrical flag
HS
1
Internal use
Motion status
Motion
3
GetFullStatus1
OVC1
1
GetFullStatus1
OVC2
1
GetFullStatus1
SecEn
1
Internal use
Step loss
StepLoss
1
Motor stop
Stop
1
Temperature info
Tinfo
2
GetActualPos
GetStatus
GetFullStatus1
Thermal shutdown TSD
1
GetActualPos
GetStatus
GetFullStatus1
Thermal warning
TW
1
GetActualPos
GetStatus
GetFullStatus1
Battery
stop voltage
UV2
1
GetActualPos
GetStatus
GetFullStatus1
Digital supply
reset
VddReset
1
GetActualPos
GetStatus
GetFullStatus1
Over current in
coil X
Over current in
coil Y
Secure position
enabled
GetActualPos
GetStatus
GetFullStatus1
Internal use
Comment
‘0’ = charge pump OK
‘1’ = charge pump failure
reset only after GetFullStatus1
<OVC1> or <OVC2> or <open
circuit 1> or <open circuit
2> or <CPFail>
resets only after GetFullStatus1
‘0’ = open
‘1’ = close
<CPFail> or <UV2> or <ElDef> or
<VDDreset>
“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
See § 9.2.2.11
“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.
Rev. 3 | Page 24 of 42 | www.onsemi.com
Reset State
‘0’
‘1’
‘0’
‘0’
“000”
‘1’
‘1’
n.a.
‘1’
‘0’
“00”
‘0’
‘0’
‘0’
‘1’
AMIS-30622
9.2.2.10.
Application Commands
2
The I C Master will have to use commands to manage the different application tasks the AMIS-30622 can
feature. The commands summary is given in the table below.
Command mnemonic
GetFullStatus1
GetFullStatus2
GetOTPParam
GotoSecurePosition
HardStop
ResetPosition
ResetToDefault
RunInit
SetMotorParam
SetOTP
SetPosition
SoftStop
Function
Returns complete status of the chip
Returns actual, target and secure position
Returns OTP parameters
Drives motor to secure position
Immediate full stop
Sets actual position to zero
Overwrites the chip RAM with OTP contents
Reference Search
Sets motor parameter
Zaps the OTP memory
Programmes a target
Motor stopping with deceleration phase
Rev. 3 | Page 25 of 42 | www.onsemi.com
AMIS-30622
9.2.2.11.
Priority encoder
The table below describes the state management performed by the Main control block.
State →
Command
↓
Stopped
GotoPos
RunInit
SoftStop
HardStop
ShutDown
motor stopped,
Ihold in coils
motor motion
ongoing
no influence on
RAM and TagPos
motor
decelerating
motor forced to
stop
motor stopped,
H-bridges in Hi-Z
GetActualPos
I2C in-frame
response
I2C in-frame
response
I2C in-frame
response
I2C in-frame
response
I2C in-frame
response
I2C in-frame
response
GetOTPparam
OTP refresh;
I2C in-frame
response
OTP refresh;
I2C in-frame
response
OTP refresh;
I2C in-frame
response
OTP refresh;
I2C in-frame
response
OTP refresh;
I2C in-frame
response
OTP refresh;
I2C in-frame
response
I C in-frame
response
I C in-frame
response
I C in-frame
response
I C in-frame
response
I C in-frame
response
I2C in-frame
response;
if (<TSD> or
<HS>) = ‘0’
then → Stopped
OTP refresh;
OTP to RAM;
AccShape reset
OTP refresh;
OTP to RAM;
AccShape reset
OTP refresh;
OTP to RAM;
AccShape reset
OTP refresh;
OTP to RAM;
AccShape reset
OTP refresh;
OTP to RAM;
AccShape reset
OTP refresh;
OTP to RAM;
AccShape reset
RAM update
RAM update
RAM update
RAM update
RAM update
RAM update
GetFullStatus1
2
[ attempt to clear <TSD>
and <HS> flags ]
ResetToDefault
[ ActPos and TagPos
are not altered ]
2
2
2
2
SetMotorParam
[ Master takes care
about proper update ]
ResetPosition
TagPos and
ActPos reset
SetPosition
TagPos updated;
→ GotoPos
If <SecEn> = ‘1’
then TagPos =
GotoSecPosition SecPos;
→ GotoPos
RunInit
[ <TSD> = ‘1’ ]
If <SecEn> = ‘1’
then TagPos =
SecPos
TagPos updated
If <SecEn> = ‘1’
then TagPos =
SecPos
→ HardStop;
→ HardStop;
→ HardStop;
<StepLoss> = ‘1’ <StepLoss> = ‘1’ <StepLoss> = ‘1’
→ SoftStop
SoftStop
HardStop
Thermal shutdown
TagPos updated
→ RunInit
HardStop
[ ⇔ (<CPFail> or
<UV2> or <ElDef>) =
‘1’ ⇒ <HS> = ‘1’ ]
TagPos and
ActPos reset
→ Shutdown
→ HardStop
→ HardStop
→ Shutdown
→ SoftStop
→ SoftStop
n.a.
→ Stopped
→ Stopped
Motion finished
→ HardStop
→ Stopped;
→ Stopped;
TagPos =ActPos TagPos =ActPos
With the following color code:
Command ignored
Transition to another state
Master is responsible for proper update (see note 5)
Rev. 3 | Page 26 of 42 | www.onsemi.com
n.a.
AMIS-30622
Notes
(1) 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).
(2) A RunInit sequence runs with a separate set of RAM registers. The parameters that are not specified in a
RunInit command are loaded with the values stored in RAM at the moment the RunInit sequence starts.
AccShape is forced to ‘1’ during second motion even if a ResetToDefault command is issued during a
RunInit sequence, in which case AccShape at ‘0’ will be taken into account after the RunInit sequence. A
GetFullStatus1 command will return the default parameters for Vmax and Vmin stored in RAM.
(3) Shutdown state can be left only when <TSD> and <HS> flags are reset.
(4) 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).
(5) 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 RunInit sequence since this motion uses its own parameters, the
new parameters will be taken into account at the next SetPosition command.
(6) <SecEn> = ‘1’ when register SecPos is loaded with a value different from the most negative value (i.e. different
from 0x400 = “100 0000 0000”)
(7) <Stop> flag allows distinguishing 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.
(8) 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.
(9) If <StepLoss> is active, then SetPosition and GotoSecurePosition commands are ignored (they will
not modify TagPos register whatever the state), and motion to secure position is forbidden. Other command
like RunInit or ResetPosition will be executed if allowed by current state. <StepLoss> can only be
cleared by a GetFullStatus1 command.
RunInit
SoftStop
ShutDown
HardStop
Stopped
GotoP os
Priorities
highest
lowest
Rev. 3 | Page 27 of 42 | www.onsemi.com
AMIS-30622
9.2.2.12.
Application parameters stored in OTP Memory
Except for the physical address AD[3:0] these parameters, although programmed in a non-volatile memory can
still be overridden in RAM by a I2C writing operation.
AD[4:0]
Physical address of the stepper-motor. Up to 32 Stepper-motors can theoretically be
2
connected to the same I C bus.
Irun[3:0]
Peak current value to be fed to each coil of the stepper-motor. The table below
provides the 16 possible values for IRUN.
Irun
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
Ihold[3:0]
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
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
800
Indicator of stepping mode to be used.
StepMode
0
0
1
1
Shaft
Peak current (mA)
59
71
84
100
119
141
168
200
238
283
336
400
476
566
673
800
Hold current for each coil of the stepper-motor. The table below provides the 16
possible values for IHOLD.
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
StepMode
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
Step mode
Half stepping
1/4 micro step
1/8 micro step
1/16 micro step
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
Rev. 3 | Page 28 of 42 | www.onsemi.com
AMIS-30622
SecPos[10:0] Secure Position of the stepper-motor. This is the position to which the motor is driven
in case of a GotoSecurePosition command, or if the HW-pin is disconnected
from Vbat or Gnd.
If SecPos[10:0] = “100 0000 0000”, this means that Secure Position is disabled,
e.g. the stepper-motor 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’.
Vmax[3:0]
Vmin[3:0]
Maximum velocity, minimum velocity and acceleration of the stepper-motor are
programmed by coding the respective Vmax, Vmin and Acc parameters index as
defined in § 8 Positioning data.
Acc[3:0]
Code
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
9.2.2.13.
0
0
0
0
1
1
1
1
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
0
1
Parameter index
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
OTP Memory Structure
The table below shows how the parameters to be stored in the OTP memory are located.
OTP
7
6
5
4
3
2
1
address
0x00
OSC3
OSC2
OSC1
OSC0
IREF3
IREF2
IREF1
0x01
TSD2
TSD1
TSD0
BG3
BG2
BG1
0x02
PA3
PA2
PA1
0x03
Irun3
Irun2
Irun1
Irun0
Ihold3
Ihold2
Ihold1
0x04
Vmax3
Vmax2
Vmax1
Vmax0
Vmin3
Vmin2
Vmin1
0x05
SecPos10 SecPos9 SecPos8
Shaft
Acc3
Acc2
Acc1
0x06
SecPos7 SecPos6 SecPos5 SecPos4 SecPos3 SecPos2 SecPos1
StepMode1 StepMode0
0x07
LOCKBT
0
IREF0
BG0
PA0
Ihold0
Vmin0
Acc0
SecPos0
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 using a
SetOTPparam command could still zap any OTP bit at ‘0’.
LOCKBT
LOCKBG
Lock bit
(zapped before delivery)
Protected byte
0x00 to 0x01
0x00 to 0x07
2
The command used to load the application parameters via the I C bus in the RAM prior to an OTP Memory
programming is SetMotorParam. This allows for a functional verification before using a SetOTPparam
Rev. 3 | Page 29 of 42 | www.onsemi.com
AMIS-30622
command to program and zap separately one OTP memory byte. A GetOTPparam command issued after each
SetOTPparam command allows verifying the correct byte zapping.
Note
Zapped bits will really be “active” after a GetOTPparam or a ResetToDefault command or after a power-up.
9.2.3.
9.2.3.1.
Motordriver
Current waveforms in the coils
The figure below illustrates the current fed to the motor coils by the motordriver in half-step mode.
Icoil
Coil X
Coil Y
Irun
I run
2
t
th
Whereas the figure below shows the current fed to one coil in 1/16 microstepping (1 electrical period).
Icoil
t
9.2.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
the figure above shows how the PWM circuit performs this regulation.
9.2.3.3.
Motor starting phase
At motion start, the currents in the coils are directly switched from Ihold to Irun with a new sine/cos ratio
corresponding to the first half (or micro) step of the motion.
Rev. 3 | Page 30 of 42 | www.onsemi.com
AMIS-30622
9.2.3.4.
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/cos ratio between coils) during 1/4th of an electrical period at minimum velocity (thus 2 halfsteps). The currents are then set to the hold values, respectively Ihold × sin (TagPos) and Ihold × cos
(TagPos) as illustrated below. A new positioning order can then be executed.
Icoil
t
9.2.3.5.
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 flag <CPFail> (available with
command GetFullStatus1).
In case this failure occurs while a motion is ongoing, the flag <StepLoss> is also raised.
9.2.3.6.
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 allow to detect the following short circuits:
•
External coil short circuit
•
Short between one terminal of the coil and Vbat or Gnd
•
One cannot detect internal short in the motor
Open circuits are detected by 100% PWM duty cycle value during a long time
Pins
Yi or Xi
Yi or Xi
Yi or Xi
Y1 and Y2
X1 and X2
Xi and Yi
Fault mode
Short circuit to GND
Short circuit to Vbat
Open
Short circuited
Short circuited
Short circuited
Rev. 3 | Page 31 of 42 | www.onsemi.com
AMIS-30622
9.2.4.
Inter-IC Control (I²C) bus
2
The I C interface enabled in the AMIS-30622 uses pins 1 and 2 as Data I/O and Serial Clock respectively.
9.2.4.1.
Physical layer
Both SDA and SCK lines are connected to positive supply voltage via a current source or pull-up resistor. When
there is no traffic on the bus both lines are high. Analog glitch filters are implemented to suppress spikes with a
length up to 50 ns.
+ 5V
SDA line
SCK line
SCK_IN
SCK_IN
SDA_IN
SCK_OUT
SDA_OUT
SCK_OUT
AMIS-30622
9.2.4.2.
SDA_IN
SDA_OUT
Master
Communication on 2-wire serial bus interface
Each communication starts with a Start condition and ends with a Stop condition. Both conditions are unique and
cannot be confused with data. A high to low transition on the SDA line while SCK is high defines a Start
condition. A low to high transition on the SDA line while SCK is high defines a Stop condition. (see figure
“Start / Stop conditions” below). The master always generates the SCK clock. On every rising transition of SCK
the data on SDA is valid. Data on SDA line is only allowed to change as long as SCK is low.
SDA
SDA
SCK
SCK
data line
stable,
data valid
STOP
condition
START
condition
data change
allowed
Start / Stop Conditions
Bit transfer on 2-wire serial bus interface
Every byte sent on SDA must be 8-bit, with the most significant bit (MSB) transferred first. The number of bytes
that can be transmitted to the AMIS-30622 is restricted to 8 bytes. Each byte is followed by an acknowledge bit,
which is issued by the receiving node (figure below).
SDA
SCK
MSB
1
ACK
2
7
8
9
START condition
ACK
1
9
STOP condition
Rev. 3 | Page 32 of 42 | www.onsemi.com
AMIS-30622
9.2.4.3.
Physical Address of the circuit
The circuit is provided with a physical address in order to discriminate this circuit from other ones on the I2C bus.
This address is coded on 7 bits (2 bits being internally hardwired to ‘1’), yielding the theoretical possibility of 32
different circuits on the same bus. It is a combination of 4 OTP memory bits (see § 9.2.2.13 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 left floating correct functionality of the positioner is not guaranteed. The
motor will be driven to the programmed Secure Position. (see § 9.2.2.12 Application parameters SecPos [10:0])
AD6
‘1’
AD5
‘1’
AD4
PA3
AD3
PA2
AD2
PA1
AD1
PA0
AD0
HW
Physical address
OTP memory
Hardwired bit (to Gnd or Vbat)
The AMIS-30622 supports a “general call” address. Therefore the circuit is addressable with either the physical
slave address or with address “000 0000”.
9.2.4.4.
Write data to AMIS-30622
A complete transmission consists of the followings: a Start condition, the slave address (7-bit), a read/write bit
(‘0’ = write, ‘1’ = read), and an acknowledge bit. Any further databytes 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-30622
pulls the SDA line to ‘0’. The AMIS-30622 reads the incoming data at SDA on every rising edge of the SCK
signal. To finish the transmission the master has to transmit a Stop condition. Some commands for the AMIS30622 are supporting 8 bytes of data, other commands are transmitting 2 bytes of data.
S
Slave address
R/W
A
Data
‘0’ (write)
A
Data
A
H
N Bytes + acknowledge
Master to slave
S:
H:
A:
Slave to master
Start condition
Stop condition
SDA = ‘0’ ⇔ acknowledge (A)
SDA = ‘1’ ⇔ no acknowledge (Ab)
9.2.4.5.
Read data from AMIS-30622
When reading data from a slave two transmissions are needed. The first transmission consists of 2 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-30622. The internal register address is stored in the circuit RAM. 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 to ‘0’. The last byte is not to acknowledge by the master and therefore the slave knows
the end of transmission.
Dump internal address to slave
S
Slave address
R/W
A
Internal address
A
A
Data
A
H
‘0’ (write)
Read data from slave
S
Slave address
R/W
‘1’ (read)
Master to slave
Slave to master
Data
N Bytes + acknowledge
S:
H:
A:
Start condition
Stop condition
SDA = ‘0’ ⇔ acknowledge (A)
SDA = ‘1’ ⇔ no acknowledge (Ab)
Rev. 3 | Page 33 of 42 | www.onsemi.com
Ab
H
AMIS-30622
9.2.4.6.
Timing and electrical characteristics of the serial interface
START
START
STOP
START
SDA
tf
tLOW
tr
tSU;DAT
tf
tHD;STA
tr
tBUF
SCK
tHD;STA
tHD;DAT
tHIGH
tSU;STA
tSU;STO
See § 5 and § 6 for DC and AC parameter values
9.2.4.7.
Description of Application Commands
Communications between the AMIS-30622 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 Stepper Motor
•
Verify the right programming and configuration of the AMIS-30622
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
9.2.4.8.
Command Overview
Command byte
Binary
Hexadecimal
GetFullStatus1
“1000 0001”
0x81
Returns complete status of the chip
GetFullStatus2
“1111 1100”
0xFC
Returns actual, target and secure position
GetOTPParam
“1000 0010”
0x82
Returns OTP parameter
“1000 0100”
GotoSecurePosition Drives motor to secure position
0x84
HardStop
“1000 0101”
0x85
Immediate full stop
ResetPosition
“1000 0110”
0x86
Sets actual position to zero
ResetToDefault
0x87
Overwrites the chip RAM with OTP contents “1000 0111”
RunInit
“1000 1000”
0x88
Reference Search
SetMotorParam
“1000 1001”
0x89
Sets motor parameter
SetOTP
“1001 0000”
0x90
Zaps the OTP memory
SetPosition
“1000 1011”
0x8B
Programmes a target and secure position
SoftStop
“1000 1111”
0x8F
Motor stopping with deceleration phase
Command mnemonic
Function
Rev. 3 | Page 34 of 42 | www.onsemi.com
AMIS-30622
9.2.4.9.
Commands Description
GetFullStatus1
This command is provided to the circuit by the Master to get a complete status of the circuit and of the Steppermotor. The parameters sent via the 2-wire serial bus to the Master are:
•
coil peak and hold currents value (Irun and Ihold)
•
maximum and minimum velocities for the Stepper-motor (Vmax and Vmin)
•
direction of movement clockwise / counter clockwise (Shaft)
•
stepping mode (StepMode)
•
acceleration (deceleration) for the Stepper motor (Acc)
•
acceleration shape (AccShape)
•
status information (see further)
•
motion status <Motion [2:0]>
•
over current flags for coil #1 <OVC1> and coil #2 <OVC2>
•
digital supply reset <VddReset>
•
charge pump status <CPFail>
•
external switch status <ESW>
•
step loss <StepLoss>
•
electrical defect <ElDef>
•
under voltage <UV2>
•
temperature information <Tinfo>
•
temperature warning <TW>
•
temperature shutdown <TSD>
Byte
Content
0
1
Slave Address
GetFullStatus1
Byte
Content
0
1
2
3
4
5
6
7
8
Slave Address
Address
Irun & Ihold
Vmax & Vmin
Status 1
Status 2
Status 3
N/A
N/A
GetFullStatus1 command
Structure
bit 7
bit 6
bit 5
bit 4
bit 3
1
1
OTP3
OTP2
OTP1
1
0
0
0
0
GetFullStatus1 command (Response)
Structure
bit 7
bit 6
bit 5
bit 4
bit 3
1
1
OTP3
OTP2
OTP1
1
1
1
1
OTP3
Irun [3:0]
Vmax [3:0]
AccShape StepMode[1:0]
Shaft
VDDReset StepLoss ElDef
UV2
TSD
Motion[2:0]
ESW
OVC1
1
1
1
1
1
1
1
1
1
1
Rev. 3 | Page 35 of 42 | www.onsemi.com
bit 2
OTP0
0
bit 1
HW
0
bit 0
0
1
bit 2
bit 1
bit 0
OTP0
HW
1
OTP2
OTP1
OTP0
Ihold [3:0]
Vmin [3:0]
ACC[3:0]
TW
Tinfo[1:0]
OVC2
1
CPFail
1
1
1
1
1
1
AMIS-30622
GetFullStatus2
This command is provided to the circuit by the Master to get the actual position of the Stepper-motor. The
position is provided by the circuit in 16-bit format, with the 3 LSBs at ‘0’ when in half stepping mode (StepMode
= “00”). Furthermore programmed target position and secure position are also provided.
Notations:
•
actual position of the stepper motor <ActPos [15:0]>
•
target position of the stepper motor <TagPos [15:0]>
•
secure position of the stepper motor <SecPos [10:0])>
Byte
Content
0
1
Slave Address
GetFullStatus2
Byte
Content
0
1
2
3
4
5
6
7
8
Slave Address
Address
Actual Position 1
Actual Position 2
Target Position 1
Target Position 2
Secure Position
Secure Position
N/A
GetFullStatus2 command
Structure
bit 7
bit 6
bit 5
bit 4
bit 3
1
1
OTP3
OTP2
OTP1
1
1
1
1
1
GetFullStatus2 command (Response)
Structure
bit 7
bit 6
bit 5
bit 4
bit 3
1
1
OTP3
OTP2
OTP1
1
1
1
1
OTP3
ActPos[15:8]
ActPos[7:0]
TagPos[15:0]
TagPos[7:0]
SecPos[7:0]
1
1
1
1
1
1
1
1
1
1
bit 2
OTP0
1
bit 1
HW
0
bit 0
0
0
bit 2
OTP0
OTP2
bit 1
HW
OTP1
bit 0
1
OTP0
1
SecPos[10:8]
1
1
GetOTPParam
This command is provided to the circuit by to read the content of an OTP Memory. For more information refer to
see § 9.2.2.13 OTP Memory Structure.
Byte
Content
0
1
Slave Address
GetOTPParam
Byte
Content
0
1
2
3
4
5
6
7
Slave 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
GetOTPParam command
Structure
bit 7
bit 6
bit 5
bit 4
bit 3
1
1
OTP3
OTP2
OTP1
1
0
0
0
0
GetOTPParam command (Response)
Structure
bit 7
bit 6
bit 5
bit 4
bit 3
1
1
OTP3
OTP2
OTP1
OTP@0x00
OTP@0x01
OTP@0x02
OTP@0x03
OTP@0x04
OTP@0x05
OTP@0x06
OTP@0x07
Rev. 3 | Page 36 of 42 | www.onsemi.com
bit 2
OTP0
0
bit 1
HW
1
bit 0
0
0
bit 2
OTP0
bit 1
HW
bit 0
1
AMIS-30622
GotoSecurePosition
The Master provides this command to one or all the Stepper-motors to move to the secure position
SecPos[10:0].
Byte
Content
0
1
Slave Address
GotoSecurePosition
GotoSecurePosition command
Structure
bit 7
bit 6
bit 5
bit 4
bit 3
1
1
OTP3
OTP2
OTP1
1
0
0
0
0
bit 2
OTP0
1
bit 1
HW
0
bit 0
0
0
HardStop
This command is internally triggered when an electrical problem is detected in one or both coils, leading to
switch off the H-bridges. If this problem is detected while the motor is moving, the <StepLoss> flag is raised
allowing warning the Master that steps may have been lost at the next GetStatus command. The Master for
some safety reasons can also issue a HardStop command.
HardStop command
Byte
Content
0
1
Slave Address
HardStop
bit 7
1
1
bit 6
1
0
bit 5
OTP3
0
Structure
bit 4
bit 3
OTP2
OTP1
0
0
bit 2
OTP0
1
bit 1
HW
0
bit 0
0
1
ResetPosition
This command is provided to the circuit by the Master to reset ActPos and TagPos registers, in order to allow a
positioning for an initialisation of the Stepper-motor position.
Byte
Content
0
1
Slave Address
ResetPosition
ResetPosition command
Structure
bit 7
bit 6
bit 5
bit 4
bit 3
1
1
OTP3
OTP2
OTP1
1
0
0
0
0
bit 2
OTP0
1
bit 1
HW
1
bit 0
0
0
ResetToDefaults
The Master provides this command to the circuit in order to reset the whole Slave node into the initial state.
ResetToDefaults will for instance overload the RAM with the Reset state of the Registers parameters. This
is another way for the Master to initialise a slave node in case of emergency, or simply to refresh the RAM
content.
Byte
Content
0
1
Slave Address
ResetToDefaults
ResetToDefaults command
Structure
bit 7
bit 6
bit 5
bit 4
bit 3
1
1
OTP3
OTP2
OTP1
1
0
0
0
0
Rev. 3 | Page 37 of 42 | www.onsemi.com
bit 2
OTP0
1
bit 1
HW
1
bit 0
0
1
AMIS-30622
RunInit
The Master provides this command to the circuit in order to initialise positioning of the motor by seeking the zero
(or reference) position.
Once the RunInit command is started it cannot be interrupted by any other command, except on the
occurrence of a condition leading to a motor shutdown (See § 9.2.2.7 Motor shutdown mode), or when a
HardStop command is received. Furthermore the master has to check that the actual position of the stepper
motor does not correspond to the target position of the first motion. This is very important otherwise the circuit
goes into a deadlock state. Once the circuit is in deadlock state only a hardstop command followed by a
GetFullStatus1 command will cause the circuit to leave this state.
RunInit command
Byte
Content
0
1
2
3
4
5
6
7
8
Slave Address
RunInit command
N/A
N/A
Vmax Vmin
Position2 byte 1
Position2 byte 2
Position1 byte 1
Position1 byte 2
bit 7
1
1
1
1
bit 6
bit 5
1
OTP3
0
0
1
1
1
1
Vmax[3:0]
Structure
bit 4
bit 3
OTP2
OTP1
0
1
1
1
1
1
bit 2
bit 1
OTP0
HW
0
0
1
1
1
1
Vmin[3:0]
bit 0
0
0
1
1
TagPos1[15:8]
TagPos1[7:0]
TagPos2[15:8]
TagPos2[7:0]
SetMotorParam
This command is provided to the circuit by the Master to set the values for the Stepper motor parameters (listed
below) in RAM.
•
coil peak current value (Irun)
•
coil hold current value (Ihold)
•
maximum velocity for the Stepper-motor (Vmax)
•
minimum velocity for the Stepper-motor (Vmin)
•
acceleration shape (AccShape)
•
stepping mode (StepMode)
•
indicator of the Stepper-motor reference position (Shaft)
•
acceleration (deceleration) for the Stepper-motor (Acc)
•
secure position for the Stepper-motor (SecPos)
Byte
Content
0
1
2
3
4
5
6
7
8
Slave Address
SetMotorParam
N/A
N/A
Irun & I hold
Vmax & Vmin
Status
SecurePos
StepMode
SetMotorParam command
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
0
1
0
0
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]
SecPos[10:8]
Shaft
Acc[3:0]
SecPos[7:0]
1
1
1
1
AccShape StepMode[1:0]
Rev. 3 | Page 38 of 42 | www.onsemi.com
bit 0
0
1
1
1
1
AMIS-30622
SetOTP
The Master provides this command to the circuit in order to zap the OTP memory.
SetOTP command
Byte
Content
0
1
2
3
4
5
Slave Address
ZapOTP
N/A
N/A
OTP Address
Pbit
bit 7
1
1
1
1
1
bit 6
1
0
1
1
1
bit 5
OTP3
0
1
1
1
Structure
bit 4
bit 3
OTP2
OTP1
1
0
1
1
1
1
1
1
Pbit[7:0]
bit 2
OTP0
0
1
1
bit 1
bit 0
HW
0
0
0
1
1
1
1
OTPA[2:0]
SetPosition
This command is provided to the circuit by the Master to the motors to a given position relative to the zero
position, defined in number of half or micro steps, according to StepMode[1:0] value.
SetPosition will not be performed if one of the following flags is set to one:
•
temperature shutdown <TSD>
•
under voltage <UV2>
•
step loss <StepLoss>
•
electrical defect <ElDef>
Byte
Content
0
1
2
3
4
5
Slave Address
SetPosition
N/A
N/A
bit 7
1
1
1
1
Position byte1
Position byte2
SetPosition command
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
TagPos[15:8]
TagPos[7:0]
bit 2
OTP0
0
1
1
bit 1
HW
1
1
1
bit 0
0
1
1
1
SoftStop
If a SoftStop command occurs during a motion of the Stepper motor, it provokes an immediate deceleration to
Vmin followed by a stop, regardless of the position reached. This command occurs in the following cases:
•
The chip temperature raises the Thermal shutdown threshold.
•
The Master requests a SoftStop.
SoftStop command
Byte
Content
0
1
Slave Address
SoftStop
bit 7
1
1
bit 6
1
0
bit 5
OTP3
0
Structure
bit 4
bit 3
OTP2
OTP1
0
1
Rev. 3 | Page 39 of 42 | www.onsemi.com
bit 2
OTP0
1
bit 1
HW
1
bit 0
0
1
AMIS-30622
10. Features
10.1. Position periodicity
Depending on the stepping mode the position can range between –4096 to +4095 in half-step mode to –32768
to +32767 in 1/16th microstepping mode (see § 8.5.1 Position ranges) 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 minimum.
As an example in the figure below is illustrated the moving direction going from ActPos = +32700 to SetPos = –
32700 is counter clockwise.
If a clockwise motion is required in this example, several consecutive SetPosition commands can be used.
-32700
+32700
0
Rev. 3 | Page 40 of 42 | www.onsemi.com
AMIS-30622
11. Resistance to electrical and electromagnetic disturbances
11.1. Electrostatic discharges
See. § 1.1 Absolute Maximum Ratings
11.2. Schäffner pulses
Shäffner pulses are applied to the power supply wires of the equipment implementing the AMIS-30622 (see
application schematic), according to Renault 36-00-808/--E document.
Pulse
#1
#2a
#3a
#3b
#5b (load dump)
amplitude
-100V
+100V
-150V (from +13.5V)
+100V (from +13.5V)
+21.5V (from +13.5V)
rise time
≤ 1µs
≤ 1µs
5ns
5ns
≤ 10ms
pulse duration
2ms
50µs
100ns (burst)
100ns (burst)
400ms
Rs
10Ω
2Ω
50Ω
50Ω
≤ 1Ω
operating class
C
B
A
A
C
11.3. EMC
Bulk current injection (BCI), according to Renault 36-00-808/--E document (p61).
current
60mA
100mA
200mA
operating class
A
B
C
11.4. EMI
EMI requirement is given here as a target, since it is also PCB dependent. Any EMI issue will have to be solved
on common basis with the customer.
Radiated disturbance electromagnetic quietness test, according to Renault 36-00-808/--E document:
•
Permanent broadband limit (Renault 36-00-808/--E document diagram p98)
•
Narrow band limit (Renault 36-00-808/--E document diagram p99)
11.5. Power supply micro-interruptions
According to Renault 36-00-808/--E (p47 and followings).
test
10µs micro-interruptions (1)
100µs micro-interruptions
5ms micro-interruptions
50ms micro-interruptions
300ms micro-interruptions
operating class
A
B
B
C
C
Note 1: To achieve Class A a 100nF capacitor between Vbat and ground is needed in case HW is connected to
Vbat. (see § 7 typical application)
Rev. 3 | Page 41 of 42 | www.onsemi.com
AMIS-30622
12.
Packages Outline
Note: see variations AC for dimensions D and N.
13. Conditioning
To be documented
ON Semiconductor and
are registered trademarks of Semiconductor Components Industries, LLC (SCILLC). SCILLC reserves the right to make changes without further notice to any
products herein. SCILLC makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does SCILLC assume any liability arising
out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation special, consequential or incidental damages. “Typical”
parameters which may be provided in SCILLC data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating
parameters, including “Typicals” must be validated for each customer application by customer's technical experts. SCILLC does not convey any license under its patent rights nor the
rights of others. SCILLC products are not designed, intended, or authorized for use as components in systems intended for surgical implant into the body, or other applications intended to
support or sustain life, or for any other application in which the failure of the SCILLC product could create a situation where personal injury or death may occur. Should Buyer purchase or
use SCILLC products for any such unintended or unauthorized application, Buyer shall indemnify and hold SCILLC and its officers, employees, subsidiaries, affiliates, and distributors
harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such
unintended or unauthorized use, even if such claim alleges that SCILLC was negligent regarding the design or manufacture of the part. SCILLC is an Equal Opportunity/Affirmative Action
Employer. This literature is subject to all applicable copyright laws and is not for resale in any manner.
PUBLICATION ORDERING INFORMATION
LITERATURE FULFILLMENT:
N. American Technical Support: 800-282-9855
Literature Distribution Center for ON Semiconductor
Toll Free USA/Canada
P.O. Box 5163, Denver, Colorado 80217 USA
Europe, Middle East and Africa Technical Support:
Phone: 303-675-2175 or 800-344-3860 Toll Free USA/Canada
Phone: 421 33 790 2910
Fax: 303-675-2176 or 800-344-3867 Toll Free USA/Canada
Japan Customer Focus Center
For additional information, please contact your local
Email: [email protected]
Phone: 81-3-5773-3850
Sales Representative
Rev. 3 | Page 42 of 42 | www.onsemi.com
ON Semiconductor Website: www.onsemi.com
Order Literature: http://www.onsemi.com/orderlit