AMI AMIS-30623BAGA

AMIS-30623 LIN Microstepping Motordriver
Data Sheet
1.0 General Description
The AMIS-30623 is a single-chip microstepping motordriver with position controller and control/diagnostic interface. It is ready to build
dedicated mechatronics solutions connected remotely with a LIN master.
The chip receives positioning instructions through the bus and subsequently drives the motor coils 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. The advanced motion qualification mode enables verification of the complete mechanical system in function of the
selected motion parameters. The AMIS-30623 acts as a slave on the LIN bus and the 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-30623 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
• 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
LIN interface
• Both physical and data-link layers (conform to LIN rev. 1.3)
• Field-programmable node addresses
• Dynamically allocated identifiers
• Full diagnostics and status information
Protection
• Over-current protection
• Under-voltage management
• Open circuit detection
• High-temp warning and management
• Low-temp flag
• LIN bus short-circuit protection to supply and ground
• Lost LIN safe operation
Power Saving
• Power-down supply current < 100µA
• 5V regulator with wake-up on LIN activity
EMI compatibility
• LIN bus integrated slope control
• HV outputs with slope control
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
1
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
3.0 Applications
The AMIS-30623 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
AMIS-30623A AGA
SOIC-20
800 mA
-40°C…..125°C
Stop voltage low
threshold
Typ. 8.5V
AMIS-30623B AGA
SOIC-20
800 mA
-40°C…..125°C
Typ. 7.5V
N/A
N/A
AMIS-30623A ANA
NQFP-32 (7 x 7 mm)
800 mA
-40°C…..125°C
Typ. 8.5V
N/A
N/A
AMIS-30623B ANA
NQFP-32 (7 x 7 mm)
800 mA
-40°C…..125°C
Typ. 7.5V
N/A
N/A
Part No.
Package
Peak Current
Temp. Range
Ordering
Code Tubes
N/A
Ordering
Code Tapes
N/A
5.0 Quick Reference Data
Table 2: Absolute Maximum Ratings
Parameter
Vbb
Supply voltage
Vlin
Bus input voltage
Tamb
Ambient temperature under bias
Tst
Vesd
(3)
Min.
Max.
-0.3
+40
(1)
Unit
V
-80
+80
V
-50
+150
°C
Storage temperature
-55
+160
°C
Electrostatic discharge voltage on LIN pin
-4
+4
kV
Electrostatic discharge voltage on other pins
-2
+2
kV
(2)
Notes :
(1) For limited time <0.5s
(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)
Table 3: Operating Ranges
Parameter
Vbb
Supply voltage
Top
Operating temperature range
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
Min
+8
Max
+29
Unit
V
Vbb ≤ 18V
-40
+125
°C
Vbb ≤ 29V
-40
+85
°C
2
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
6.0 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 LIN Interface ................................................................................................................................................................................. 16
14.5 Miscellaneous ............................................................................................................................................................................... 16
15.0 Functions 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 HW2....................................................................................................................................................... 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. Sleep Mode ........................................................................................................................................................................... 24
15.2.5. Thermal Shutdown Mode ...................................................................................................................................................... 24
15.2.6. Temperature Management .................................................................................................................................................... 24
15.2.7. Autarkic functionality in under-voltage condition.................................................................................................................... 25
15.2.8. OTP register .......................................................................................................................................................................... 26
15.2.9. RAM Registers ...................................................................................................................................................................... 31
15.2.10. Flags Table.......................................................................................................................................................................... 32
15.3 Motordriver.................................................................................................................................................................................... 35
15.3.1. Current waveforms in the coils .............................................................................................................................................. 35
15.3.2. PWM Regulation ................................................................................................................................................................... 36
15.3.3. PWM jitter.............................................................................................................................................................................. 36
15.3.4. Motor Starting Phase............................................................................................................................................................. 36
15.3.5. Motor Stopping Phase........................................................................................................................................................... 36
15.3.6. Charge Pump Monitoring ...................................................................................................................................................... 37
15.3.7. Electrical Defect on Coils, Detection and Confirmation ......................................................................................................... 37
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
3
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
15.3.8. Motor Shutdown Mode .......................................................................................................................................................... 38
15.4 Motion detection............................................................................................................................................................................ 39
16.0 Lin Controller .................................................................................................................................................................................... 42
16.1 General Description ...................................................................................................................................................................... 42
16.2 Slave Operational Range for Proper Self Synchronization ........................................................................................................... 42
16.3 Functional Description .................................................................................................................................................................. 43
16.3.1. Analog Part............................................................................................................................................................................ 43
16.3.2. Protocol Handler.................................................................................................................................................................... 43
16.3.3. Electro Magnetic Compatibility .............................................................................................................................................. 43
16.4 Error Status Register .................................................................................................................................................................... 43
16.5 Physical Address of the Circuit ..................................................................................................................................................... 43
16.6 LIN Frames ................................................................................................................................................................................... 44
16.6.1. Writing frames ....................................................................................................................................................................... 44
16.6.2. Reading frames ..................................................................................................................................................................... 45
16.6.3. Preparing frames................................................................................................................................................................... 45
16.6.4. Dynamic assignment of Identifiers......................................................................................................................................... 46
16.7 Commands table........................................................................................................................................................................... 47
16.8 LIN lost behavior ........................................................................................................................................................................... 47
16.8.1. Introduction............................................................................................................................................................................ 47
16.8.2. Sleep enable ......................................................................................................................................................................... 47
16.8.3. Fail Safe Motion .................................................................................................................................................................... 48
16.8.4. Autonomous motion .............................................................................................................................................................. 48
17.0 LIN Application Commands .............................................................................................................................................................. 51
17.1 Introduction ................................................................................................................................................................................... 51
17.2 Application Commands ................................................................................................................................................................. 52
18.0 Resistance to Electrical and Electromagnetic Disturbances............................................................................................................. 63
18.1 Electrostatic Discharges ............................................................................................................................................................... 63
18.2 Electrical transient conduction along supply lines ......................................................................................................................... 63
18.3 EMC.............................................................................................................................................................................................. 63
18.4 Power Supply Micro-interruptions ................................................................................................................................................. 63
19.0 Package Outline ............................................................................................................................................................................... 64
19.1 SOIC-20: Plastic small outline; 20 leads; body width 300mil.
AMIS reference: SOIC300 20 300G ................................. 64
19.2 NQFP-32: No lead Quad Flat Pack; 32 pins; body size 7 x 7 mm.
AMIS reference: NQFP-32.............................................. 65
20.0 Soldering .......................................................................................................................................................................................... 66
20.1 Introduction to Soldering Surface Mount Packages ...................................................................................................................... 66
20.2 Re-flow Soldering.......................................................................................................................................................................... 66
20.3 Wave Soldering............................................................................................................................................................................. 66
20.4 Manual Soldering .......................................................................................................................................................................... 66
21.0 Company or Product Inquiries .......................................................................................................................................................... 67
22.0 Document History ............................................................................................................................................................................. 67
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
4
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
7.0 Block Diagram
SWI
AMIS-30623
LIN
BUS
Interface
Position
Controller
HW[2:0]
PWM
regulator
X
Controller
TST
MOTXP
MOTXN
I-sense
Decoder
Main Control
Registers
OTP - ROM
Sinewave
Table
Motion detection
DAC's
4 MHz
Vref
Temp
sense
Voltage
Regulator
VBB VDD
Oscillator
PWM
regulator
Y
Charge Pump
I-sense
CPN CPP VCP GND
Figure 1: Block Diagram
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
5
MOTYP
MOTYN
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
8.0 Pin Out
VDD
3
18
MOTXP
4
TST
5
LIN
6
GND
7
AMIS-30623
GND
4
15
MOTYP
VBB
14
GND
SWI
6
19
VCP
7
18
CPP
8
17
CPN
10
11
12
13
14
15
16
GND
HW2
NC
Top view
NQ32
PC20051118.1
9
LIN
VCP
VBB
TST
11
VBB
20
GND
10
VBB
5
VDD
CPP
NC
HW0
YN
YN
21
AMIS-30623
HW1
VBB
25
22
VBB
12
26
24
3
9
27
23
VBB
CPN
28
1
MOTXN
MOTYN
29
2
16
13
30
XP
GND
8
31
XP
17
HW2
32
GND
VBB
GND
19
YP
2
YP
HW1
XN
SWI
XN
20
GND
1
GND
HW0
PC20051123.1
Figure 2: SOIC 20 and NQFP-32 pin-out
Table 4: Pin Description
Pin Name
Pin Description
SOIC-20
1
NQFP-32
2
9
10
HWO
Bit 0 of LIN-ADD
HW1
Bit 1 of LIN-ADD
VDD
Internal supply (needs external decoupling capacitor)
3
GND
Ground, heat sink
4,7,14,17
11, 14, 25, 26, 31, 32
To be tied to GND or VDD
8
TST
Test pin (to be tied to ground in normal operation)
5
12
LIN
LIN-bus connection
6
13
HW2
Bit 2 LIN-ADD
8
15
CPN
Negative connection of pump capacitor (charge pump)
9
17
CPP
Positive connection of pump-capacitor (charge pump)
10
18
19
VCP
Charge-pump filter-capacitor
11
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
6
NC
Not connected (to be tied to ground)
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
7, 16
6
AMIS-30623 LIN 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 PCB ground plane layout as
illustrated in Figure 3. The junction-to-case thermal resistance is depending 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 1layer, 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. Using an exposed die pad on the bottom surface of the package, is
partly contributing to this. In order to take full advantage of this, 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 – June 2006, Rev 3.0
www.amis.com
7
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
10.0 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.
Table 5: DC Parameters
Symbol
Pin(s)
Motordriver
Parameter
Test Conditions
Max current through motor coil in
normal operation
Max RMS current through coil in
IMSmax,RMS
normal operation
IMSabs
MOTXP Absolute error on coil current
MOTXN Error on current ratio Icoilx / Icoily
IMSrel
MOTYP
Vbb = 12V, Tj = 50 °C
MOTYN
On resistance for each motor pin Vbb = 8V, Tj = 50 °C
RDSon
(including bond wire) at IMSmax
Vbb = 12V, Tj = 150 °C
Vbb = 8V, Tj = 150 °C
IMSL
Pull down current
HiZ mode
LIN Transmitter
Ibus_on
Dominant state, driver on
Vbus = 1.4V
Ibus_off
Dominant state, driver off
Vbus = 0V
LIN
Ibus_off
Recessive state, driver off
Vbus = Vbat
Ibus_lim
Current limitation
Rslave
Pull-up resistance
LIN Receiver
Vbus_dom
Receiver dominant state
LIN
Vbus_rec
Receiver recessive state
Vbus_hys
Receiver hysteresis
Thermal Warning & Shutdown
Ttw
Thermal warning
Ttsd(1) (2)
Thermal shutdown
Tlow (2)
Low temperature warning
Supply and Voltage Regulator
Vbb
Nominal operating supply range
VbbOTP
Supply voltage for OTP zapping (3)
VBB
Ibat
Total current consumption
Unloaded outputs
Sleep mode current consumption
Ibat_s
Vdd
Internal regulated output (4)
8V < Vbb < 18V
IddStop
Digital current consumption
Vbb < UV2
VDD
Digital supply reset level @ power
VddReset
down (5)
IddLim
Current limitation
Pin shorted to ground
Switch Input and Hardwire Address Input
Rt_OFF
Switch OFF resistance (6)
Switch to Gnd or Vbat,
Rt_ON
Switch ON resistance (6)
SWI
Vbb range for guaranteed operation
Vbb_sw
HW2
of SWI and HW2
Min.
IMSmax,Peak
Vmax_sw
Maximum voltage
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
T < 1s
8
Typ.
Max.
800
mA
570
mA
-10
-7
0.50
0.55
0.70
0.85
2
10
7
1
1
1
1
40
-1
50
20
30
0
0.6 * Vbb
0.05 * Vbb
138
145
Ttw + 10
Ttw - 155
6.5
9.0
4.75
3.50
50
5
2
%
%
Ω
Ω
Ω
Ω
mA
20
200
47
mA
mA
µA
mA
kΩ
0.4 *Vbb
Vbb
0.2 * Vbb
V
V
V
152
°C
°C
°C
18
10.0
10.0
100
5.50
V
V
mA
µA
V
mA
4.5
V
42
mA
2
kΩ
kΩ
29
V
10
6
Unit
40V
V
AMIS-30623 LIN Microstepping Motordriver
Symbol
Pin(s) Parameter
Switch Input and Hardwire Address Input
SWI
Ilim_sw
Current limitation
HW2
Hardwired Address Inputs and Test Pin
Vlow
Input level high
HW0
HW1
Vhigh
Input level low
TST
HWhyst
Hysteresis
Charge Pump
Vcp
VCP
Output voltage
Test Conditions
Min.
Short to Gnd or Vbat
Typ.
Max.
30
0.7 * Vdd
Vbb > 15V
8V < Vbb < 15V
Vbb+10
2 * Vbb – 5
220
Vbb+12.5
2 * Vbb – 2.5
220
TestBemf LIN command
Service mode LIN command
Service mode LIN command
Unit
mA
.
0.3 * Vdd
V
V
V
Vbb+15
2 * Vbb
470
V
V
nF
470
nF
0.075 * Vdd
Cbuffer
External buffer capacitor
CPP
Cpump
External pump capacitor
CPN
Motion Qualification Mode Output
VOUT
Output voltage swing
ROUT
Output impedance
SWI
Av
Gain = VSWI / VBEMF
Data Sheet
0 - 4,85
2
0,50
V
kΩ
Notes
(1) No more than 100 cumulated hours in life time above Ttsd.
(2) Thermal shutdown and low temperature warning are derived from thermal warning.
(3) A 10 µF buffer capacitor of between VBB and GND is minimum needed. Short connections to the power supply are recommended.
(4) Pin VDD must not be used for any external supply
(5) The RAM content will not be altered above this voltage.
(6) External resistance value seen from pin SWI or HW2, including 1 kΩ series resistor.
Table 6: UV Limits for Different Version
Symbol
Pin(s) Parameter
Supply Thresholds AMIS-30623A
UV1
Stop voltage high threshold
VBB
UV2
Stop voltage low threshold
Supply Thresholds AMIS-30623B
UV1
Stop voltage high threshold
VBB
Stop voltage low threshold
UV2
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
Test Conditions
9
Min.
Typ.
Max.
Unit
8.8
8.1
9.4
8.5
9.9
9.0
V
V
7.8
7.1
8.4
7.5
8.9
8.0
V
V
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
11.0 AC Parameters
The AC parameters are given for Vbb and temperature in their operating ranges.
The LIN transmitter/receiver parameters conform to LIN Protocol Specification Revision 1.3. Unless otherwise specified 8V < Vbb < 18V,
Load for propagation delay = 1kΩ , Load for slope definitions : [L1] = 1nF / 1kΩ ; [L2] = 6.8nF / 660Ω ; [L3] = 10nF / 510Ω.
Table 7: AC Parameters
Symbol
Pin(s)
Power-up
Tpu
Internal Oscillator
fosc
LIN Transmitter
Parameter
Test Conditions
Power-up time
Guaranteed by design
T_slope_F/R
Slope time falling or rising edge
T_slope_Sym
LIN
T_tr_F
T_tr_R
Tsym_tr
LIN Receiver
Slope time symmetry (1)
Propagation delay TxD low to bus
Propagation delay TxD high to bus
Transmitter delay symmetry
Frequency of internal oscillator
3.6
Extrapolated between 40%
and 60% Vbus_dom
T_slope_F – T_slope_R
T_tr_F – T_tr_R
Propagation delay bus dominant to
RxD low
Propagation delay bus recessive to
T_rec_R
LIN
RxD high
Tsym_rec
Receiver delay symmetry
T_rec_F – T_rec_R
Twake
Wake-up delay time
Switch Input and Hardwire Address Input
Tsw
Scan pulse period (2)
SWI
HW2
Scan pulse duration
Tsw_on
Motordriver
PWMfreq = 0 (3)
Fpwm
PWM frequency (2)
PWMfreq = 1 (3)
Fjit_depth
PWM jitter modulation depth
PWMJen = 1 (3)
MOTxx
Tbrise
Turn-on transient time
Between 10% and 90%
Tbfall
Turn-off transient time
Tstab
Run current stabilization time
Charge Pump
CPN
fCP
Charge pump frequency (2)
CPP
T_rec_F
Notes
(1) For loads [L1] and [L2]
(2) Derived from the internal oscillator
(3) See SetMotorParam and PWM regulator
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
Min.
10
Typ.
4.0
3.5
Max.
Unit
10
ms
4.4
MHz
22.5
µs
-4
0.1
0.1
-2
1
1
4
4
4
2
µs
µs
µs
µs
0.1
4
6
µs
0.1
4
6
µs
-2
50
100
2
200
µs
µs
1024
128
20.6
41,2
29
22.8
45,6
10
170
140
32
250
µs
µsµs
25.0
50,0
35
kHz
kHz
%
ns
ns
ms
kHz
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
TxD
50%
50%
t
T_tr_F
T_tr_R
LIN
95%
50%
50%
5%
t
T_rec_F
RxD
T_rec_R
50%
50%
t
PC20051123.2
Figure 5: LIN Delay Measurement
LIN
VBUSrec
60%
VBUSdom
60%
40%
40%
t
T_slope_F
T_slope_R
PC20051123.3
Figure 6: LIN Slope Measurement
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
11
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
C8
C7
100 nF
C5
CPN
VDD
1 µF C9
HW0
9
1 kΩ
C1
HW2
CPP
VCP
VBB
10
11
12
VBB
19
20
1
AMIS-30623
8
LIN
VDR 27V
5
4
7
14
MOTXN
Notes:
(1) All resistors are ± 5%, ¼ W
(2) C1, C2 minimum value is 2.7nF, maximum value is 10nF
(3) Depending on the application, the ESR value and working voltage of C7 must be carefully chosen
(4) C3 and C4 must be close to pins VBB and GND
(5) C5 and C6 must be as close as possible to pins CPN, CPP, VCP, and VBB to reduce EMC radiation
(6) C9 must be a ceramic capacitor to assure low ESR
13.0 Positioning Parameters
13.1 Stepping Modes
One of four possible stepping modes can be programmed:
Half-stepping
1/4 micro-stepping
1/8 micro-stepping
1/16 micro-stepping
www.amis.com
M
MOTYP
MOTYN
TST
Figure 7: Typical Application Diagram
AMI Semiconductor – June 2006, Rev 3.0
2,7 nF
17
GND
•
•
•
•
C2
16
13
6
SWI
MOTXP
15
12
Connect
to VBAT
or GND
1 kΩ
18
2,7 nF
LIN bus
100 nF
C4
3
HW1 2
Connect
to VBAT
or GND
C3
C6
220 nF
100 µF
220 nF
VBAT
100 nF
12.0 Typical Application
PC20051118.1
AMIS-30623 LIN 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 8
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.
Table 8: Maximum Velocity Selection Table
Vmax index
Hex
Dec
Vmax
(full step/s)
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
Group
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
Stepping mode
1/4th
1/8th
micro-stepping
micro-stepping
(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
1/16th
micro-stepping
(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 9 provides the obtainable values in full-step/s. The accuracy of Vmin is derived from the internal oscillator.
Table 9: Obtainable Values in Full-step/s for the Minimum Velocity
Vmin index Vmax
factor
Hex Dec
0
0
1
1
1
1/32
2
2
2/32
3
3
3/32
4
4
4/32
5
5
5/32
6
6
6/32
7
7
7/32
8
8
8/32
9
9
9/32
A
10
10/32
B
11
11/32
C
12
12/32
D
13
13/32
E
14
14/32
F
15
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
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.
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
13
AMIS-30623 LIN 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 10 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.
Table 10: Acceleration and Deceleration Selection Table
136
167
197
213
228
243
273
303
334
364
395
456
546
729
973
Acceleration (Full-step/s²)
49
106
14785
Vmax (FS/s) → 99
↓ 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 programmed in commands SetPosition and SetPositionShort is given as a number of (micro)steps. According to
the chosen stepping mode, the position words must be aligned as described in Table 11. When using command SetPositionShort
or GotoSecurePosition, data is automatically aligned.
Table 11: Position Word Alignment
Stepping mode
1/16th
1/8th
1/4th
Half-stepping
PositionShort
SecurePosition
S
S
S
S
S
S
B14
B13
B12
B11
S
B9
Position word: Pos[15:0]
B13 B12 B11 B10 B9 B8 B7 B6 B5
B12 B11 B10 B9 B8 B7 B6 B5 B4
B11 B10 B9 B8 B7 B6 B5 B4 B3
B10 B9 B8 B7 B6 B5 B4 B3 B2
S
B9 B8 B7 B6 B5 B4 B3 B2
B8 B7 B6 B5 B4 B3 B2 B1 LSB
Notes
(1) LSB: Least Significant Bit
(2) S: Sign bit
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
14
B4 B3 B2 B1 LSB
B3 B2 B1 LSB 0
0
B2 B1 LSB 0
B1 LSB 0
0
0
0
0
B1 LSB 0
0
0
0
0
0
Shift
No shift
1-bit left ⇔ ×2
2-bit left ⇔ ×4
3-bit left ⇔ ×8
No shift
No shift
AMIS-30623 LIN 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 12.
Table 12: Position Range
Command
SetPosition
SetPositionShort
Stepping mode
Half-stepping
1/4th micro-stepping
1/8th micro-stepping
1/16th micro-stepping
Half-stepping
Position range
-4096 to +4095
-8192 to +8191
-16384 to +16383
-32768 to +32767
-1024 to +1023
Full range excursion
8192 half-steps
16384 micro-steps
32768 micro-steps
65536 micro-steps
2048 half-steps
Number of bits
13
14
15
16
11
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 13. See also command GotoSecurePosition and LIN lost behavior.
Table 13: Secure Position
Stepping mode
Half-stepping
1/4th micro-stepping
1/8th micro-stepping
1/16th micro-stepping
Secure position resolution
4 half-steps
8 micro-steps (1/4th)
16 micro-steps (1/8th)
32 micro-steps (1/16th)
Important Note
(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
SecPos1
SecPos0
RAM
SecPos10
SecPos9
SecPos8
SecPos2
FailSafe
SleepEn
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 – June 2006, Rev 3.0
www.amis.com
15
AMIS-30623 LIN 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 DAC’s to set the maximum magnitude of the current through X and Y.
• Two DAC’s 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.
14.2 Control Logic (Position Controller and Main control)
The control logic block stores the information provided by the LIN 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 LIN interface.
14.3 Motion Detection
Motion detection is based on the back emf generated internally in the running motor. When the motor is blocked , e.g. when it hits the
end-position, the velocity and as a result also the generated back emf, is disturbed. The AMIS-30623 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 LIN Interface
The LIN interface implements the physical layer and the MAC and LLC layers according to the OSI reference model. It provides and
gets information to and from the control logic block, in order to drive the stepper motor, to configure the way this motor must be driven,
or to get information such as actual position or diagnosis (temperature, battery voltage, electrical status…) and pass it to the LIN master
node.
14.5 Miscellaneous
The AMIS-30623 also contains the following:
•
•
•
•
An internal oscillator, needed for the LIN protocol handler as well as the control logic and 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.
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
16
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
15.0 Functions 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 LIN controller 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 8. 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.
Acceleration
range
Zero speed
Hold current
Velocity
Deceleration
range
Zero speed
Hold current
Vmax
Vmin
Position
Pstart
Pmin
P=0
Pstop
Optional zero
switch
Pmax
Figure 8: Positioning and Motion Control
Table 14: Position Related Parameters
Parameter
Pmax – Pmin
Zero speed Hold Current
Maximum current
Acceleration and deceleration
Vmin
Vmax
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
Reference
See Positioning
See Ihold
See Irun
See Acceleration and Deceleration
See Minimum Velocity
See Maximum Velocity
17
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
Different positioning examples are shown in the table below.
Table 15: 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
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
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 – June 2006, Rev 3.0
www.amis.com
18
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
15.1.2. Dual Positioning
A SetDualPosition command allows the user to perform a 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.
Then 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.
Velocity
Vm ax
2
st
1 m otion
nd
m otion
Reset ActPos
Vm in
tim e
26.6 m s
26.6 m s
Figure 9:Dual Positioning
Remark: This operation cannot be interrupted or influenced by any further command unless the occurrence of the conditions driving to
a motor shutdown or by a HardStop command. Sending a SetDualPosition command while a motion is already ongoing is not
recommended.
Notes
(0) The priority encoder is describing the management of states and commands. All notes below are to be considered illustrative.
(1) The last SetPosition(Short) command issued during an DualPosition sequence will be kept in memory and executed afterwards. This applies also for the commands Sleep
and SetMotorParam and GotoSecurePosition.
(2) Commands such as GetActualPos or GetStatus will be executed while a Dual Positioning is running. This applies also for a dynamic ID assignment LIN frame
(3) A DualPosition sequence starts by setting TagPos register to SecPos value, provided secure position is enabled otherwise TagPos is reset to zero.
(4) 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.
(5) 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).
(6) Commands ResetPosition, SetDualPosition, and SoftStop will be ignored while a DualPosition sequence is ongoing, and will not be executed afterwards.
(7) A SetMotorParam command should not be sent during a SetDualPosition sequence.
(8) 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 GetPosition or a GetFullStatus 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 minimum.
The figure below 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. One could also
use for larger movements the command <RunVelocity>.
+10000
+20000
ActPos = +30000
0
Motion direction
TagPos = -30000
-10000
-20000
Figure 10: Motion Direction is Function of Difference between ActPos and TagPos
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
19
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
15.1.4. Hardwired Address HW2
In Figure 11 a simplified schematic diagram is shown of the HW2 comparator circuit.
The HW2 pin is sensed via 2 switches. The DriveHS and DriveLS control lines are alternatively closing the top and bottom switch
connecting HW2 pin with a current to resistor converter. Closing STOP (DriveHS = 1) will sense a current to GND. In that case the top
I R convertor output is low, via the closed passing switch SPASS_T this signal is fed to the “R” comparator which output HW2_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 HW2_Cmp will be high.
SPASS_T
I
R
State
HW2
DriveHS
STOP
High
Low
LOGIC
SBOT
1
2
Debouncer
DriveLS
Float
64 ms
"R"-Comp
3
I
R
SPASS_B
1 = R2GND
Rth
2 = R2VBAT
COMP
Debouncer
32 µs
HW2_Cmp
3 = OPEN
Figure 11: Simplified Schematic Diagram of the HW2 Comparator
3 cases can be distinguished (see also Figure 11):
HW2 is connected to ground: R2GND or drawing 1
HW2 is connected to VBAT: R2VBAT or drawing 2
HW2 is floating: OPEN or drawing 3
Table 16: State Diagram of the HW2 Comparator
Previous State
Float
Float
Float
Float
Low
Low
Low
Low
High
High
High
High
DriveLS
1
1
0
0
1
1
0
0
1
1
0
0
DriveHS
0
0
1
1
0
0
1
1
0
0
1
1
HW2_Cmp
0
1
0
1
0
1
0
1
0
1
0
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 debounced HW2_Cmp output
accordingly. The output of this small state-machine is corresponding to:
High or address = 1
Low or address = 0
Floating
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
20
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
As illustrated in Table 16 the state is depending on the previous state, the condition of the 2 switch controls (DriveLS and DriveHS) and
the output of HW2_Cmp. Figure 12 is showing 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
HW2_Cmp
t
Low
Low
Low
High
High
Float
Float
Float
High
High
High
High
High
High
Float
State
t
Figure 12: Timing Diagram Showing the Change in States for HW2 Comparator
R2VBAT
A resistor is connected between VBAT and HW2. Every 1024 µs SBOT is closed a current is sensed, the output of the I
R converter is
low and the HW2_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 16). The next time SBOT is closed the same conditions are observed. The previous
state was High, so based on Table 16 the new state remains unchanged. This high state will be interpreted as HW2 address = 1
OPEN
In case the HW2 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 HW2_Cmp will be low. The previous state was High. Based
in Table 16 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 false micro interruptions of the power supply. See also Electrical transient conduction along
supply lines
R2GND
If a resistor is connected between HW2 and the GND, a current is sensed every 1024 µs whet STOP is closed. The output of the top I
R converter is low and as a result the HW2_Cmp output switches to High. Again based on the stated diagram in Table 1 one can see
that the state will change to Low. This low state will be interpreted as HW2 address = 0.
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
21
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
15.1.5. External Switch SWI
As illustrated in Figure 13 the SWI comparator is almost identical to HW2. 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
SWI
DriveHS
STOP
Closed
LOGIC
SBOT
Open
DriveLS
"R"-Comp
1
2
3
I
R
1 = R2GND
SPASS_B
COMP
Rth
2 = R2VBAT
32 µs Debouncer
SWI_Cmp
3 = OPEN
Figure 13: Simplified Schematic Diagram of the SWI Comparator
As illustrated in Figure 15 a change in state is always synchronised with DriveHS or DriveLS. The same synchronisation 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 memorised.
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 14 below:
Byte
Content
0
1
2
3
4
Identifier
Data 1
Data 2
Data 3
Data 4
Bit 7
*
ESW
VddReset
Reading Frame
Structure
Bit 6
Bit 5
Bit 4 Bit 3
*
1
0
ID3
AD[6:0]
ActPos[15:8]
ActPos[7:0]
StepLoss
ElDef
UV2
TSD
Figure 14: GetActualPos LIN commando
Important remark. Every 512µs this information is refreshed.
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
22
Bit 2
ID2
TW
Bit 1
ID1
Bit 0
ID0
Tinfo[1:0]
AMIS-30623 LIN 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
ActPos
ActPos
ActPos + 1
t
t
Figure 15: 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
Power up phase of the AMIS-30623 will not exceed 10ms. After this phase, the AMIS-30623 is in shutdown mode, ready to receive LIN
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 22: RAM registers).
15.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. This is documented in Table 22: RAM
registers and Table 23: Flags Table.
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 (see Table 22: RAM
registers). The circuit is then ready to execute a new positioning command, provided thermal and electrical conditions allow for it.
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
23
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
15.2.4. Sleep Mode
When entering sleep mode, the stepper-motor can be driven to its secure position. After which, the circuit is completely powered down,
apart from the LIN receiver, which remains active to detect dominant state on the bus. In case sleep mode is entered while a motion is
ongoing, a transition will occur towards secure position as described in Positioning and Motion Control provided SecPos is enabled.
Otherwise, SoftStop is performed.
Sleep mode can be entered in the following cases:
• The circuit receives a LIN frame with identifier 0x3C and first data byte containing 0x00, as required by LIN specification
rev 1.3. See Sleep
• In case the SleepEn bit =1 and the LIN bus remains inactive (or is lost) during more than 25000 time slots (1.30s at 19.2kbit/s),
a time-out signal switches the circuit to sleep mode. See also
The circuit will return to normal mode if a valid LIN frame is received while entering the sleep mode (this valid frame can be addressed
to another slave).
15.2.5. Thermal Shutdown Mode
When thermal shutdown occurs, the circuit performs a SoftStop command and goes to Motor shutdown mode (see below).
15.2.6. Temperature Management
The AMIS-30623 monitors temperature by means 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 GetStatus or a GetFullStatus LIN frame.
Thermal warning
Normal Temp.
- <Tinfo> = “00”
- <TW> = ‘0’
- <TSD> = ‘0’
T° > Ttw
- <Tinfo> = “10”
- <TW> = ‘1’
- <TSD> = ‘0’
T° < Ttw &
T° > Ttw
LIN frame:
GetStatus or
GetFullStatus
T° > Ttsd
T° < Ttw
Post thermal
warning
T° < Tlow
<Tinfo> = “11”
<TW> = ‘1’
<TSD> = ‘1’
SoftStop if
motion ongoing
- Motor shutdown
(motion disabled)
- <Tinfo> = “00”
- <TW> = ‘1’
- <TSD> = ‘0’
T° > Tlow
- <Tinfo> = “01”
- <TW> = ‘0’
- <TSD> = ‘0’
-
T° > Ttsd
Post thermal
shutdown 2
-
<Tinfo> = “00”
<TW> = ‘1’
<TSD> = ‘1’
Motor shutdown
(motion disabled)
-
www.amis.com
24
<Tinfo> = “10”
<TW> = ‘1’
<TSD> = ‘1’
Motor shutdown
(motion disabled)
T° > Ttw
Figure 16: State Diagram Temperature Management
AMI Semiconductor – June 2006, Rev 3.0
T° < Ttsd
Post thermal
shutdown 1
T° < Ttw
Low Temp.
Thermal shutdown
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
15.2.7. Autarkic functionality in under-voltage condition
Battery voltage management
The AMIS-30623 monitors the battery voltage by means 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
GetStatus or a GetFullStatus command.
Normal voltage
- < UV2 > = ‘0’
- < StepLoss > = ‘0’
Vbb < UV2 &
motion ongoin g
Vbb < UV2
(no motion)
Vbb > UV1 &
LIN frame:
GetStatus or
GetFullStatus
Stop mode 1
- < UV2 > = ‘ 1 ’
- < StepLoss > = ‘0’
- Motor shutdown
(motion disabled)
Stop mode 2
-
< UV2 > = ‘ 1 ’
< StepLoss > = ‘ 1 ’
HardStop
Motor shutdown
(motion disabled)
Figure 17: State Diagram Battery Voltage Management
Autarkic function
In Stop mode 1 the motor is put in shutdown state. The <UV2> flag is set. In case Vbb > UV1 AMIS-30623 accepts updates of the
target position by means of the reception of SetPosition, SetPositionShort, SetPosParam and GotoSecurePosition
commands, even if the <UV2> flag is NOT prior cleared.
In Stop mode 2 the motor is stopped immediately and put in shutdown state. The <UV2> and <Steploss> flags are set. In case Vbb
> UV1 AMIS-30623 autonomously resumes the motion to the original target position using the stored motor parameters (minimum and
maximum velocity, acceleration, step-mode, run- and hold current) in case no RAM reset occurred.
The flags are only cleared after receiving a GetStatus or GetFullStatus command.
Updates of the target position by means of the reception of SetPosition, SetPositionShort, SetPosParam and
GotoSecurePosition commands is accepted, even if the <UV2> and <Steploss> flags are NOT prior cleared.
Important notes:
1. In the case of Stop mode 2 care needs to be taken because the accumulated steploss can cause a significant deviation
between physical and stored actual position.
2. The SetDualPosition command will only be executed after clearing the <UV2> and <Steploss> flags.
3. RAM reset occurs when Vdd < VddReset (digital Power On Reset level)
4. The Autarkic function remains active as long as Vdd > VddReset
Logical implementation Autarkic function
The logic uses the <UV2>, <CPFail> and <Steploss> signal NOT the state.
The state is set one clock after the signal and would therefore slow down the reaction time. Also the state can only be cleared after a
GetStatus or GetFullStatus command which prevents the autonomous function.
Only <UV2> and <CPFail> are applicable for finishing the motion to the original target position:
<UV2> needs to be cleared to leave the Shutdown State
<CPFail> needs to be cleared to avoid a new HardStop after entering the GotoPos state
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
25
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
The <StepLoss> signal is used to block successive motions. Also this signal will be cleared after Vbb > UV1, making updates of
TagPos possible.
The implementation is illustrated in the state diagram below.
HS = f (UV2SIG, OVC1, OVC2, CPFail, …)
If UV2SIG = 1 THEN TagPos ≠ ActPos
ELSE copy TagPos = ActPos
GotoPos
HardStop
ShutDown
Stopped
GetStatus
GetFullStatus
HS to Positioner
PWM disabled
Motor in HiZ
Vbb > UV1
TagPos ≠ ActPos
Figure 18: State Diagram Autarkic Under-voltage Handling
In Stop mode 1 AMIS-30623 is in the Stopped state. Because Vbb < UV2 it enters the ShutDown state. Once Vbb > UV1 the Stopped
state will be entered again.
In Stop mode 2 AMIS-30623 is in the GotoPos state. Because Vbb < UV2 the UV2SIG is set and the HardStop state is entered. After
the hardstop motion is finished (HS to Positioner) it enters the Stopped state. UV2SIG = 1 so the TagPos is not copied in Actpos, and
the shutdown stated is entered. Once Vbb > UV1 the Stopped state will be entered again and because TagPos = Actpos C623 moves
to GotoPos again. <UV2SIG>, <CPFail> and <Steploss> are cleared when Vbb > UV1 so HardStop is not entered again.
15.2.8. OTP register
OTP Memory Structure
The table below shows how the parameters to be stored in the OTP memory are located.
Table 17: OTP Memory Structure
Address
0x00
0x01
0x02
0x03
0x04
0x05
0x06
0x07
Bit 7
OSC3
EnableLIN
AbsThr3
Irun3
Vmax3
SecPos10
SecPos7
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
Bit 2
IREF2
BG2
PA2
Ihold2
Vmin2
Acc2
SecPos2
StepMode1
StepMode0
Bit 1
IREF1
BG1
PA1
Ihold1
Vmin1
Acc1
Failsafe
LOCKBT
Bit 0
IREF0
BG0
PA0
Ihold0
Vmin0
Acc0
SleepEn
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.
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
26
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
Table 18: OTP Overwrite Protection
LOCKBT
LOCKBG
Lock bit
(factory zapped before delivery)
Protected bytes
0x00 to 0x01
0x00 to 0x07
The command used to load the application parameters via the LIN 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 to verify the correct byte zapping.
Note: zapped bits will really be “active” after a GetOTPparam or a ResetToDefault command or after a power-up.
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
RAM by a LIN writing operation.
PA[3:0]
In combination with HW[2:0] it forms the physical address AD[6:0]of the stepper-motor. Up to 128 Stepper-motors can
theoretically be connected to the same LIN bus
AbsThr[3:0]
Absolute and Relative threshold used for the motion detection
Index
AbsThr
AbsThr level (V)
0
0 0 0 0
Disable
1
0 0 0 1
0.5
2
0 0 1 0
1.0
3
0 0 1 1
1.5
4
0 1 0 0
2.0
5
0 1 0 1
2.5
6
0 1 1 0
3.0
7
0 1 1 1
3.5
8
1 0 0 0
4.0
9
1 0 0 1
4.5
A
1 0 1 0
5.0
B
1 0 1 1
5.5
C
1 1 0 0
6.0
D
1 1 0 1
6.5
E
1 1 1 0
7.0
F
1 1 1 1
7.5
DelThr[3:0]
Absolute and Relative threshold used for the motion detection
Index
DelThr
DelThr level (V)
0
0 0 0 0
Disable
1
0 0 0 1
0.25
2
0 0 1 0
0.50
3
0 0 1 1
0.75
4
0 1 0 0
1.00
5
0 1 0 1
1.25
6
0 1 1 0
1.50
7
0 1 1 1
1.75
8
1 0 0 0
2.00
9
1 0 0 1
2.25
A
1 0 1 0
2.50
B
1 0 1 1
2.75
C
1 1 0 0
3.00
D
1 1 0 1
3.25
E
1 1 1 0
3.50
F
1 1 1 1
3.75
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
27
AMIS-30623 LIN Microstepping Motordriver
Irun[3:0]
Current amplitude value to
for IRUN.
Index
Irun
0
0 0 0
1
0 0 0
2
0 0 1
3
0 0 1
4
0 1 0
5
0 1 0
6
0 1 1
7
0 1 1
8
1 0 0
9
1 0 0
A
1 0 1
B
1 0 1
C
1 1 0
D
1 1 0
E
1 1 1
F
1 1 1
Data Sheet
be fed to each coil of the stepper-motor. The table below provides the 16 possible values
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
Ihold[3:0]
Hold current for each coil of the stepper-motor. The table below provides the 16 possible values for IHOLD.
Index
Ihold
Hold current (mA)
0
0 0 0 0
59
1
0 0 0 1
71
2
0 0 1 0
84
3
0 0 1 1
100
4
0 1 0 0
119
5
0 1 0 1
141
6
0 1 1 0
168
7
0 1 1 1
200
8
1 0 0 0
238
9
1 0 0 1
283
A
1 0 1 0
336
B
1 0 1 1
400
C
1 1 0 0
476
D
1 1 0 1
566
E
1 1 1 0
673
F
1 1 1 1
0
StepMode
Indicator of stepping mode to be used.
StepMode
Step mode
0
0
1/2 stepping
0
1
1/4 stepping
1
0
1/8 stepping
1
1
1/16 stepping
Shaft
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 stepper-motor. This is the position to which the motor is driven in case of a LIN communication
loss or when the LIN error counter overflows. 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’.
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
28
AMIS-30623 LIN Microstepping Motordriver
Vmax[3:0]
Vmin[3:0]
Acc[3:0]
Maximum velocity
Index
Vmax
0
0 0 0 0
1
0 0 0 1
2
0 0 1 0
3
0 0 1 1
4
0 1 0 0
5
0 1 0 1
6
0 1 1 0
7
0 1 1 1
8
1 0 0 0
9
1 0 0 1
A
1 0 1 0
B
1 0 1 1
C
1 1 0 0
D
1 1 0 1
E
1 1 1 0
F
1 1 1 1
Vmax(full step/s)
99
136
167
197
213
228
243
273
303
334
364
395
456
546
729
973
Minimum velocity.
Index
Vmin
0
0 0 0 0
1
0 0 0 1
2
0 0 1 0
3
0 0 1 1
4
0 1 0 0
5
0 1 0 1
6
0 1 1 0
7
0 1 1 1
8
1 0 0 0
9
1 0 0 1
A
1 0 1 0
B
1 0 1 1
C
1 1 0 0
D
1 1 0 1
E
1 1 1 0
F
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
B
C
D
Acceleration and deceleration between Vmax and Vmin.
Index
Acc
Acceleration (Full-step/s²)
0
0 0 0 0
49 (*)
1
0 0 0 1
218 (*)
2
0 0 1 0
1004
.
3
0 0 1 1
3609
.
4
0 1 0 0
6228
.
5
0 1 0 1
8848
.
6
0 1 1 0
11409
.
7
0 1 1 1
13970
.
8
1 0 0 0
16531
.
9
1 0 0 1
19092 (*)
A
1 0 1 0
21886 (*)
B
1 0 1 1
24447 (*)
C
1 1 0 0
27008 (*)
D
1 1 0 1
29570 (*)
E
1 1 1 0
34925 (*)
F
1 1 1 1
40047 (*)
(*) restriction on speed
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
Group
A
29
Data Sheet
AMIS-30623 LIN Microstepping Motordriver
SleepEn
Data Sheet
IF SleepEn=1 -> AMIS-30623 always go to low-power sleep mode incase LIN timeout.
IF SleepEn=0 -> there is no more automatic transition to low-current sleep mode (i.e. stay in stop mode with applied
hold current, unless there are failures).
FailSafe
IF FailSafe=1 -> in case of LIN lost at POR start a motion to a safe position
IF FailSafe =0 -> no motion in case of LIN lost
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
30
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
15.2.9. RAM Registers
Table 19: RAM Registers
Register
Mnemonic
Length
(bit)
Actual position
ActPos
Last programmed
position
Pos/
TagPos
16/11
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
Acceleration shape
Shaft
Acceleration/
deceleration
Stall detection absolute
threshold
Stall detection delta
threshold
Sleep Enable
Fail Safe
16
SetOTPParam
Stall detection
sampling
MinSamples
3
PWMJEn
1
DC100SDis
1
PWMFreq
1
Comment
16-bit signed
16-bit signed or
11-bit signed for half stepping
(see Positioning)
‘0’ ⇒ normal acceleration from Vmin to
Vmax
‘1’ ⇒ motion at Vmin without acceleration
www.amis.com
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
See Section 13.4 Acceleration
See look-up table Acc
From OTP
memory
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
GetFullStatus
SetStallParam
GetFullStatus
SetStallParam
GetFullStatus
SetStallParam
GetFullStatus
SetStallParam
GetFullStatus
SetMotorParam
Enables entering sleep mode after LIN lost
See also 16.8 LIN lost behavior
Triggers autonomous motion after LIN lost
at POR See also 16.8 LIN lost behavior
Delays the stall detection after acceleration
31
‘000’
‘000’
‘1’ means jitter is added
‘0’
‘1’ means stall detection is disabled in
case PWM regulator runs at δ = 100%
‘0’
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.
AMI Semiconductor – June 2006, Rev 3.0
Reset state
GetFullStatus
SetStallParam
GetFullStatus
SetStallParam
FailSafe
3
PWM frequency
SetStallParam
SetOTPParam
FS2StallEn
100% duty cycle Stall
Disable
GetActualPos
GetFullStatus
GotoSecurePos
ResetPosition
GetFullStatus
GotoSecurePos
ResetPosition
SetPosition
SetPositionShort
GetFullStatus
ResetToDefault²
SetMotorParam
GetFullStatus
ResetToDefault²
SetMotorParam
GetFullStatus
ResetToDefault²
SetMotorParam
GetFullStatus
ResetToDefault²
SetMotorParam
GetFullStatus
ResetToDefault²
SetMotorParam
GetFullStatus
ResetToDefault²
SetMotorParam
GetFullStatus
ResetToDefault²
SetMotorParam
GetFullStatus
ResetToDefault²
SetMotorParam
GetFullStatus
SleepEn
Stall detection delay
PWM Jitter
Related commands
‘0’
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
15.2.10. Flags Table
Table 20: Flags Table
Length
(bit)
Flag
Mnemonic
Charge pump failure
CPFail
1
Electrical defect
ElDef
1
Related Commands
GetFullStatus
GetActualPos
GetStatus
GetFullStatus
GetActualPos
GetStatus
GetFullStatus
External switch status ESW
1
Electrical flag
HS
1
Internal use
Motion status
Motion
3
GetFullStatus
Over current in coil X OVC1
1
GetFullStatus
Over current in coil Y OVC2
1
GetFullStatus
1
Internal use
Secure
position
SecEn
enabled
Circuit going to Sleep
Sleep
mode
1
Step loss
StepLoss
1
Delta High Stall
Delta Low Stall
Absolute Stall
DelStallHi
DelStallLo
AbsStall
1
1
1
Stall
Stall
1
Motor stop
Stop
1
Internal use
GetActualPos
GetStatus
GetFullStatus
GetFullStatus
GetFullStatus
GetFullStatus
GetFullStatus
GetStatus
Internal use
Temperature info
Tinfo
2
GetActualPos
GetStatus
GetFullStatus
Thermal shutdown
TSD
1
GetActualPos
GetStatus
GetFullStatus
Thermal warning
TW
1
GetActualPos
GetStatus
GetFullStatus
Battery
stop voltage
UV2
1
GetActualPos
GetStatus
GetFullStatus
Digital supply reset
VddReset
1
GetActualPos
GetStatus
GetFullStatus
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
32
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 Get(Full)Status
‘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 GetFullStatus
‘1’ = over current
reset only after GetFullStatus
‘0’ if SecPos = “100 0000 0000”
‘1’ otherwise
‘1’ = Sleep mode
reset by LIN command
Reset State
‘0’
‘0’
‘0’
‘0’
“000”
‘0’
‘0’
n.a.
‘0’
‘1’ = step loss due to under voltage, over
current or open circuit
‘1’
‘1’ = Vbemf > Ūbemf + DeltaThr
‘1’ = Vbemf > Ūbemf – DeltaThr
‘1’ = Vbemf > AbsThr
‘0’
‘0’
‘0’
‘0’
‘0’
“00” = normal temperature range
“01” = low temperature warning
“10” = high temperature warning
“11” = motor shutdown
‘1’ = shutdown. (> 155°C typ.)
reset only after Get(Full)Status and if
<Tinfo> = “00”
‘1’ = over temp. (> 145°C)
reset only after Get(Full)Status and if
<Tinfo> = “00”
‘0’ = Vbb > UV2
‘1’ = Vbb ≤ UV2
reset only after Get(Full)Status
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
GetStatus or a
GetFullStatus command.
“00”
‘0’
‘0’
‘0’
‘1’
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
15.2.10.1.
Priority Encoder
The table below describes the state management performed by the main control block.
Table 21: Priority Encoder
State →
Stopped
GotoPos
DualPosition
SoftStop
motor stopped,
Ihold in coils
motor motion
ongoing
no influence on
RAM and
TagPos
motor
decelerating
GetActualPos
LIN in-frame
response
LIN in-frame
response
LIN in-frame
response
LIN in-frame
response
LIN in-frame
response
LIN in-frame
response
GetOTPparam
OTP refresh;
LIN in-frame
response
OTP refresh;
LIN in-frame
response
OTP refresh;
LIN in-frame
response
OTP refresh;
LIN in-frame
response
OTP refresh;
LIN in-frame
response
OTP refresh;
LIN in-frame
response
GetFullStatus
or GetStatus
[ attempt to clear <TSD>
and <HS> flags ]
LIN in-frame
response
LIN in-frame
response
LIN in-frame
response
LIN in-frame
response
LIN in-frame
response
LIN in-frame
response;
if (<TSD> or
<HS>) = ‘0’
then → Stopped
ResetToDefault
[ ActPos and TagPos
are not altered ]
OTP refresh;
OTP to RAM;
AccShape reset
OTP refresh;
OTP to RAM;
AccShape reset
OTP refresh;
OTP to RAM;
AccShape reset
(note 3)
OTP refresh;
OTP to RAM;
AccShape reset
OTP refresh;
OTP to RAM;
AccShape reset
OTP refresh;
OTP to RAM;
AccShape reset
SetMotorParam
[ Master takes care
about proper update ]
RAM update
RAM update
RAM update
RAM update
RAM update
RAM update
ResetPosition
TagPos and
ActPos reset
Command
↓
TagPos updated
SetPositionShort TagPos updated;
TagPos updated
[ half-step mode only) ]
→ GotoPos
TagPos updated
GotoSecPosition
If <SecEn> = ‘1’
then TagPos =
SecPos;
→ GotoPos
DualPosition
→ DualPosition
Sleep
If <SecEn> = ‘1’
then TagPos =
SecPos
If <SecEn> = ‘1’
then TagPos =
SecPos
→ HardStop;
→ HardStop;
→ HardStop;
<StepLoss> = ‘1’ <StepLoss> = ‘1’ <StepLoss> = ‘1’
HardStop
SoftStop
→ SoftStop
Sleep or LIN timeout
[ ⇒ <Sleep> = ‘1’, reset
by any LIN command
received later ]
See note 9
If <SecEn> = ‘1’
then TagPos =
SecPos
else → SoftStop
HardStop
[ ⇔ (<CPFail> or
<UV2> or <ElDef>) =
‘1’ ⇒ <HS> = ‘1’ ]
→ Shutdown
→ HardStop
→ HardStop
Thermal shutdown
[ <TSD> = ‘1’ ]
→ Shutdown
→ SoftStop
→ SoftStop
Motion finished
n.a.
→ Stopped
→ Stopped
If <SecEn> = ‘1’
No action;
No action;
then TagPos =
<Sleep> flag will <Sleep> flag will
SecPos;
be evaluated
be evaluated
will be evaluated
when motor stops when motor stops
after DualPosition
With the following color code:
Command ignored
Transition to another state
Master is responsible for proper update (see note 7)
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
ShutDown
TagPos and
ActPos reset
TagPos updated;
TagPos updated
→ GotoPos
SetPosition
HardStop
motor forced to motor stopped, no power
stop
H-bridges in
(note 1)
Hi-Z
33
→ Sleep
→ HardStop
→ Stopped;
→ Stopped;
TagPos =ActPos TagPos =ActPos
n.a.
n.a.
AMIS-30623 LIN Microstepping Motordriver
Notes:
1)
2)
3)
4)
5)
6)
7)
8)
9)
10)
11)
12)
13)
14)
Data Sheet
Leaving sleep state is equivalent to power-on-reset.
After power-on-reset, the shutdown state is entered. The shutdown state can only be left after GetFullStatus command (so that the master could read the
<VddReset> flag).
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 GetFullStatus command will
return the default parameters for Vmax and Vmin stored in RAM.
The <Sleep> flag is set to ‘1’ when a LIN timeout or a Sleep command occurs. It is reset by the next LIN command (<Sleep> is cancelled if not activated yet).
Shutdown state can be left only when <TSD> and <HS> flags are reset.
Flags can be reset only after the master could read them via a GetStatus or GetFullStatus command, and provided the physical conditions allow for it
(normal temperature, correct battery voltage and no electrical or charge pump defect).
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 or SetPositionShort
command.
Some transitions like GotoPos → Sleep are actually done via several states: GotoPos → SoftStop → Stopped → Sleep (see diagram below).
Two transitions are possible from state Stopped when <Sleep> = ‘1’:
1)
Transition to state Sleep if (<SecEn> = ‘0’) or ((<SecEn> = ‘1’) and (ActPos = SecPos)) or <Stop> = ‘1’
2)
Otherwise transition to state GotoPos, with TagPos = SecPos
<SecEn> = ‘1’ when register SecPos is loaded with a value different from the most negative value (i.e. different from 0x400 = “100 0000 0000”)
<Stop> flag allows 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.
Command for dynamic assignment of Ids is decoded in all states except sleep and has not effect on the current state
While in state stopped, if ActPos → TagPos there is a transition to state GotoPos. This transition has the lowest priority, meaning that <Sleep>, <Stop>, <TSD>,
etc. are first evaluated for possible transitions.
If <StepLoss> is active, then SetPosition, SetPositionShort and GotoSecurePosition commands are ignored (they will not modify TagPos register
whatever the state), and motion to secure position is forbidden after a Sleep command or a LIN timeout (the circuit will go into Sleep state immediately, without
positioning to secure position). Other command like DualPosition or ResetPosition will be executed if allowed by current state. <StepLoss> can only be
cleared by a GetStatus or GetFullStatus command.
POR
RunInit
Thermal Shutdown
HardStop
HardStop
RunInit
ShutDown
Thermal ShutDown
HardStop
Motion finished
Motion Finished
GotoSecPos
HardStop
Thermal Shutdown
SoftStop
SoftStop
HardStop
SetPosition
Stopped
GotoPos
Motion Finished
<Sleep>
OR LIN timeout
Motion Finished
Any LIN command
Priorities
Sleep
1
2
<Sleep> AND (not<SecEn> OR
<SecEn> AND ActPos = SecPos
OR <Stop>)
3
4
Figure 19: State Diagram
Remark: IF “SleepEn”=0, then the red arrow from stopped state to sleep state does not exist.
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
34
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
15.3 Motordriver
15.3.1. Current Waveforms in the Coils
The figure below 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 20: Current Waveforms in Motorcoils X and Y in Halfstep Mode
th
Whereas the figure below shows the current fed to one coil in 1/16 micro stepping (1 electrical period).
Ix
Iy
Coil X
t
Coil Y
PC20051123.4
th
Figure 21: Current Waveforms in Motorcoils X and Y in 1/16 Microstep Mode
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
35
AMIS-30623 LIN 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 the figure above 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 0 in Data 8 of SetMotorParam).
Table 22: 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 8 of SetStallParam). Readout with GetFullStatus (Bit 0 Data 8 IFR 2).
Table 23: 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 AC Table). 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.
Ix
Iy
t
tstab
Figure 22: Motor Stopping Phase
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
36
PC20051123.5
AMIS-30623 LIN 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 flag <CPFail> (available with command GetFullStatus).
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 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
Table 24: 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
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
37
AMIS-30623 LIN 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 LIN 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 GetStatus or GetFullStatus 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
GetFullStatus or
GetStatus frame
GetFullStatus or
GetStatus frame
↓
↑
↑
↑…
- The circuit is driven in
motor shutdown
mode
- The application is not
aware of this
- The position set-point
is updated by the
LIN 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 23: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
indeed cannot be flagged by the AMIS-30623.
Warning: The application should limit the number of consecutive GetStatus or GetFullStatus commands to try to get the AMIS30623 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 Get(Full)Status attempts to disable the protection of the H-bridges.
Notes
(0) The Priority Encoder is describing the management of states and commands. The note below is to be considered illustrative.
(1) If the LIN communication is lost while in shutdown mode, the circuit enters the sleep mode immediately
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
38
AMIS-30623 LIN 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 , e.g. when it hits the
end-position, the velocity and as a result also the generated back emf, is disturbed. The AMIS-30623 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 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 24:Triggering of the Stall Flags in Function of Measured Back emf and the set Threshold Levels
Table 25: 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 the motor is positioning when Stall is detected, an (internal) hardstop of the motor is generated and the <StepLoss> and <Stall> flags
are set. These flags can only be reset by sending a GetFullStatus command.
If Stall appears during DualPosition then the first phase is cancelled (via internal Hardstop) and after timeout (26.6 ms) the second
phase at vmin starts.
When the <Stall> flag is set the position controller will generate an internal HardStop. As a consequence also the Steploss flag will be
set. The position in the internal counter will be copied to the ActPos register. All flags can be read out with the GetStatus or
GetFullStatus command.
Important remark:
Using GetFullStatus 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.
Using GetStatus will read AND clear ONLY the <Steploss> flag. The <Stall>, <AbsStall>, <DelStallLo>, and
<DelStallHi> flags Are NOT cleared. New positioning is possible and the ActPos register will be further updated.
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
39
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
Motion detection is disabled when the RAM registers AbsThr[3:0] and DelThr[3:0] are empty or zero. Both levels can be programmed
using the LIN 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 LIN command SetOTPParam. These values are copied in the RAM registers during power on reset.
Value Table:
Table 26: Absolute Threshold Settings
AbsThr index
AbsThr level (V)
0
Disable
1
0.5
2
1.0
3
1.5
4
2.0
5
2.5
6
3.0
7
3.5
8
4.0
9
4.5
A
5.0
B
5.5
C
6.0
D
6.5
E
7.0
F
7.5
Table 27: Delta Threshold Settings
DelThr index DelThr level (V)
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 28: 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
PWMfreq = 1
87
43
130
65
174
87
217
109
261
130
304
152
348
174
391
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 29: Activation Delay of Motion Detection
Index
FS2StallEn[2:0]
Delay (Full Steps)
0
000
0
1
001
1
2
010
2
3
011
3
4
100
4
5
101
5
6
110
6
7
111
7
For more information please refer to the white paper “Robust Motion Control with AMIS-3062x Stepper Motor Drivers”,
DC100SDis
When a motor with large bemf is operated at high speed and low supply voltage, then the PWM duty cycle can be as high as 100%.
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 “DC100SDis” disables stall detection when duty cycle is 100%. For more information please refer to the white paper
“Robust Motion Control with AMIS-3062x Stepper Motor Drivers”,
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
40
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
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 LIN command TestBemf. The SWI pin will be converted into an analogue 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 – June 2006, Rev 3.0
www.amis.com
41
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
16.0 Lin Controller
16.1 General Description
The LIN (local interconnect network) is a serial communications protocol that efficiently supports the control of mechatronic nodes in
distributed automotive applications. The interface implemented in the AMIS-30623 is compliant with the LIN rev. 1.3 specifications. It
features a slave node, thus allowing for:
• single-master / multiple-slave communication
• self synchronization without quartz or ceramics resonator in the slave nodes
• guaranteed latency times for signal transmission
• single-wire communication
• transmission speed of 19.2 kbit/s
• selectable length of Message Frame: 2, 4, and 8 bytes
• configuration flexibility
• data checksum security and error detection;
• detection of defective nodes in the network.
It includes the analog physical layer and the digital protocol handler.
The analog circuitry implements a low side driver with a pull-up resistor as a transmitter, and a resistive divider with a comparator as a
receiver. The specification of the line driver/receiver follows the ISO 9141 standard with some enhancements regarding the EMI
behavior.
VBB
30 kΩ
RxD
to
control
block
LIN
protocol
handler
Filter
TxD
LIN
Slope
Control
LIN address
HW0
HW1
from OTP
HW2
PC20051124.1
Figure 25:LIN Interface
16.2 Slave Operational Range for Proper Self Synchronization
The LIN interface will synchronize properly in the following conditions:
• Vbb ≥ 8 V
• Ground shift between master node and slave node < ±1V
It is highly recommended to use the same type of reverse battery voltage protection diode for the Master and the Slave nodes.
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
42
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
16.3 Functional Description
16.3.1. Analog Part
The transmitter is a low-side driver with a pull-up resistor and slope control. Figure 5 shows the characteristics of the transmitted signal,
including the delay between internal TxD – and LIN signal. See AC Parameters for timing values.
The receiver mainly consists of a comparator with a threshold equal to Vbb/2. Figure 5 also shows the delay between the received
signal and the internal RXD signal. See also AC Parameters for timing values.
16.3.2. Protocol Handler
This block implements:
• bit synchronization
• bit timing
• the MAC layer
• the LLC layer
• the supervisor
16.3.3. Electro Magnetic Compatibility
EMC behavior fulfills requirements defined by LIN specification, rev. 1.3.
16.4 Error Status Register
The LIN interface implements a register containing an error status of the LIN communication. This register is as follows:
Table 30: LIN Error Register
Bit 7
Bit 6
Bit 5
Not
used
Not
used
Not
used
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
Not
used
Time
out
error
Data
error
Flag
Header
error
Flag
Bit
error
Flag
With:
Time out error:
Data error flag = Checksum error + StopBit error + Length error
Header error flag
= Parity + SynchField error
Bit error flag :
A GetFullStatus frame will reset the error status register.
16.5 Physical Address of the Circuit
The circuit must be provided with a physical address in order to discriminate this circuit from other ones on the LIN bus. This address is
coded on 7 bits, yielding the theoretical possibility of 128 different circuits on the same bus. It is a combination of 4 OTP memory bits
and of the 3 hardwired address bits (pins HW[2:0]). However the maximum number of nodes in a LIN network is also limited by the
physical properties of the bus line. It is recommended to limit the number of nodes in a LIN network to not exceed 16. Otherwise the
reduced network impedance may prohibit a fault free communication under worst case conditions. Every additional node lowers the
network impedance by approximately 3%.
AD6 AD5 AD4 AD3 AD2 AD1 AD0 Physical address
↑
↑
↑ PA3 PA2 PA1 PA0 OTP memory
HW0 HW1 HW2
Hardwired bits
Note:
Pins HW0 and HW1 are 5V digital inputs, whereas pin HW2 is compliant with a 12V level, e.g. it can be connected to Vbat or Gnd via a terminal of the PCB. To provide
cleaning current for this terminal, the system used for pin SWI is also implemented for pin HW2 (see Hardwired Address HW2).
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
43
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
16.6 LIN Frames
The LIN frames can be divided in writing and reading frames. A frame is composed of an 8-bit Identifier followed by 2, 4 or 8 data-bytes.
Writing frames will be used to:
• Program the OTP Memory;
• Configure the component with the stepper-motor parameters (current, speed, stepping-mode, etc.);
• Provide set-point position for the stepper-motor.
Whereas reading frames will be used to:
• Get the actual position of the stepper-motor;
• Get status information such as error flags;
• Verify the right programming and configuration of the component.
16.6.1. Writing Frames
A writing frame is sent by the LIN master to send commands and/or information to the slave nodes. According to the LIN specification,
identifiers are to be used to determine a specific action. If a physical addressing is needed, then some bits of the data field can be
dedicated to this, as illustrated in the example below.
Identifier byte
Data byte 1
Data byte 2
ID0 ID1 ID2 ID3 ID4 ID5 ID6 ID7
phys. address
command parameters (e.g. position)
Another possibility is to determine the specific action within the data field in order to use less identifiers. One can for example use the
reserved identifier 0x3C and take advantage of the 8 byte data field to provide a physical address, a command and the needed
parameters for the action, as illustrated in the example below.
ID
0x3C
Data1
00
Data2
Data3
command
physical
address
Data4
Data5
Data6
Data7
Data8
1
AppCmd
parameters
Note:
Bit 7 of byte Data1 must be at ‘1’ since the LIN specification requires that contents from 0x00 to 0x7F must be reserved for broadcast messages (0x00 being for the “Sleep”
message). See also LIN command Sleep
The writing frames used with the AMIS-30623 are the following:
• Type #1: General purpose 2 or 4 data bytes writing frame with a dynamically assigned identifier. This type is dedicated to
short writing actions when the bus load can be an issue. They are used to provide direct command to one (Broad =
‘1’) or all the slave nodes (Broad = ‘0’). If Broad = ‘1’, the physical address of the slave node is provided by the 7
remaining bits of DATA2. DATA1 will contain the command code (see Dynamic assignment of Identifiers), while, if
present, DATA3 to DATA4 will contain the command parameters, as shown below.
ID
Data1
ID0 ID1 ID2 ID3 ID4 ID5 ID6 ID7
command
Data2
Physical address
Data3…
Broad
parameters…
• Type #2: 2, 4 or 8 data bytes writing frame with an identifier dynamically assigned to an application command, regardless of
the physical address of the circuit.
• Type #3: 2 data bytes writing frame with an identifier dynamically assigned to a particular slave node together with an
application command. This type of frame requires that there are as many dynamically assigned identifiers as there
are AMIS-30623 circuits using this command connected to the LIN bus.
• Type #4: 8 data bytes writing frame with 0x3C identifier.
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
44
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
16.6.2. Reading Frames
A reading frame uses an in-frame response mechanism. That is: the master initiates the frame (synchronization field + identifier field),
and one slave sends back the data field together with the check field. Hence, two types of identifiers can be used for a reading frame:
• Direct ID, which points at a particular slave node, indicating at the same time which kind of information is awaited from this slave
node, thus triggering a specific command. This ID provides the fastest access to a read command but is forbidden for any other
action.
• Indirect ID, which only specifies a reading command, the physical address of the slave node that must answer having been passed in
a previous writing frame, called a preparing frame. Indirect ID gives more flexibility than a direct one, but provides a slower access to
a read command.
Notes
(1) a reading frame with indirect ID must always be consecutive to a preparing frame. It will otherwise not be taken into account.
(2) a reading frame will always return the physical address of the answering slave node in order to ensure robustness in the communication.
The reading frames used with the AMIS-30623 are the following:
• Type #5: 2, 4 or 8 Data bytes reading frame with a direct identifier dynamically assigned to a particular slave node together
with an application command. A preparing frame is not needed.
• Type #6: 8 Data bytes reading frame with 0x3D identifier. This is intrinsically an indirect type, needing therefore a preparation
frame. It has the advantage to use a reserved identifier.
16.6.3. Preparing Frames
A preparing frame is a writing frame that warns a particular slave node that it will have to answer in the next frame (hence a reading
frame). A preparing frame is needed when a reading frame does not use a dynamically assigned direct ID. Preparing and reading
frames must be consecutive. A preparing frame will contain the physical address of the LIN slave node that must answer in the reading
frame, and will also contain a command indicating which kind of information is awaited from the slave.
The preparing frames used with the AMIS-30623 can be of type #7 or type #8 described below.
• Type #7: two data bytes writing frame with dynamically assigned identifier.
Byte
Content
0
1
2
Identifier
Data 1
Data 2
Bit 7
*
1
1
Preparing Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
*
0
ID4
ID3
ID2
CMD[6:0]
AD[6:0]
Bit 1
ID1
Bit 0
ID0
Bit 1
0
Bit 0
0
Where:
(*)
According to parity computation
• Type #8: eight data bytes writing frame with 0x3C identifier.
Byte
Content
0
1
2
3
4
5
6
7
8
Identifier
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Data 8
SetDualPositioning Writing Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
0
0
1
1
1
1
AppCMD = 0x80
1
CMD[6:0]
1
AD[6:0]
Data4[7:0]
Data5[7:0]
Data6[7:0]
Data7[7:0]
Data8[7:0]
Where:
AppCMD:
CMD[6:0]:
AD[6:0]:
Datan[7:0]:
If = ‘0x80’ this indicates that Data 2 contains an application command
Application Command “byte”
Slave node physical address
Data transmitted
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
45
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
16.6.4. Dynamic Assignment of Identifiers
The identifier field in the LIN datagram denotes the content of the message. Six identifier bits and two parity bits are used to represent
the content. The identifiers 0x3C and 0x3F are reserved for command frames and extended frames. Slave nodes need to be very
flexible to adapt itself to a given LIN network in order to avoid conflicts with slave nodes from different manufacturers. Dynamic
assignment of the identifiers will fulfill this requirement by writing identifiers into the circuits RAM. ROM pointers are linking commands
and dynamic identifiers together. A writing frame with identifier 0x3C issued by the LIN master will write dynamic identifiers into the
RAM. One writing frame is able to assign 4 identifiers, therefore 3 frames are needed to assign all identifiers. Each ROM pointer
ROMp_x [3:0] place the corresponding dynamic identifier Dyn_ID_x [5:0] at the correct place in the RAM (see Table 1: LIN – Dynamic
Identifiers Writing Frame).
When setting <BROAD> to zero broadcasting is active and each slave on the LIN bus will store the same dynamic identifiers, otherwise
only the slave with the corresponding slave address is programmed.
Byte
Content
0
1
2
3
4
5
6
7
8
Identifier
AppCmnd
CMD
Address
Data
Data
Data
Data
Data
Dynamic Identifiers Writing Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
0x3C
0x80
1
0x11
Broad
AD6
AD5
AD4
AD3
AD2
AD1
AD0
DynID_1[3:0]
ROMp_1[3:0]
DynID_2[1:0]
ROMp_2[3:0]
DynID_1[5:4]
ROMp_3[3:0]
DynID_2[5:2]
ROMp_4[2:0]
DynID_3[5:0]
DynID_4[5:0]
ROMp_4[3:2]
Where:
CMD[6:0]:
Broad:
0x11, corresponding to dynamic assignment of four LIN identifiers
If broad = ‘0’ all the circuits connected to the LIN bus will share the same dynamically assigned
identifiers.
DynID_x[5:0]: Dynamically assigned LIN identifier to the application command which ROM pointer is ROMp_x[3:0]
One frame allows only to assign four identifiers. Therefore, additional frames could be needed in order to assign more identifiers
(maximum three for the AMIS-30623).
Dynamic ID
ROM pointer
Application Command
User Defined
0010
GetActualPos
User Defined
0011
GetStatus
User Defined
0100
SetPosition
User Defined
0101
SetPositionShort (1 m)
User Defined
0110
SetPositionShort (2 m)
User Defined
0111
SetPositionShort (4 m)
User Defined
0000
GeneralPurpose 2 bytes
User Defined
0001
GeneralPurpose 4bytes
User Defined
1000
Preparation Frame
User Defined
1001
SetPosParam
Command assignement done at start-up
Command assignement via Dynamic ID during operation
Figure 26:Principle of Dynamic Command Assignment
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
46
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
16.7 Commands Table
Table 31: LIN Commands with Corresponding ROM Pointer
Command mnemonic
GetActualPos
GetFullStatus
GetOTPparam
GetStatus
GotoSecurePosition
HardStop
ResetPosition
ResetToDefault
RunVelocity
SetDualPosition
SetMotorParam
SetOTPparam
SetStallparam
SetPosition (16-bit)
SetPositionShort (1 motor)
SetPositionShort (2 motors)
SetPositionShort (4 motors)
SetPosParam
Sleep
SoftStop
TestBemf
Dynamic ID assignment
General purpose 2 Data bytes
General purpose 4 Data bytes
Preparation frame
Command byte (CMD)
0x00
000000
0x01
000001
0x02
000010
0x03
000011
0x04
000100
0x05
000101
0x06
000110
0x07
000111
010111
0x17
0x08
001000
0x09
001001
0x10
010000
010110
0x16
0x0B
001011
0x0C
001100
0x0D
001101
0x0E
001110
Dynamic ID (example)
100xxx
n.a.
n.a.
000xxx
n.a.
n.a.
n.a.
n.a.
n.a.
n.a.
n.a.
n.a.
n.a.
010xxx
001001
101001
111001
n.a.
n.a.
n.a.
n.a.
n.a.
011000
101000
011010
001111
011111
010001
0x0F
0x1F
0x11
ROM pointer
0010
0011
0100
0101
0110
0111
1001
0000
0001
1000
xxx allows to address physically a slave node. Therefore, these dynamic Ids cannot be used for more than eight stepper motors.
Only ten ROM pointers are needed for the AMIS-30623.
16.8 LIN Lost Behavior
16.8.1. Introduction
When the LIN communication is broken for a duration of 25000 consecutive frames ( = 1,30 s @ 19200 kbit/s) AMIS-30623 sets an
internal flag called “LIN lost”. The functional behavior depends on the state of OTP bits <SleepEn> and <FailSafe>, and if this loss in
LIN communication occurred at (or before) power on reset or in normal powered operation.
16.8.2. Sleep Enable
The OTP bit <SleepEn> enables or disables the entering in low-power sleep mode in case of LIN time-out. Default the entering of the
sleep-mode is disabled.
Table 32: Sleep Enable Selection
<SleepEn>
0
1
Behavior
Entering low-power sleepmode @ LIN – lost DISABLED
Entering low-power sleepmode @ LIN – lost ENABLED
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
47
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
16.8.3. Fail Safe Motion
The OTP bit <FailSafe> enables or disables an automatic motion to a predefined safe position. See also Autonomous Motion.
Table 33: Fail Safe Enable Selection
<FailSafe>
0
1
Behavior
NO motion in case of LIN – lost
ENABLES motion to a safe position in case of LIN – lost
16.8.4. Autonomous Motion
AMIS-30623 is able to perform an Autonomous Motion to a preferred position. This positioning starts after the detection of lost LIN
communication and in case:
- the OTP bit <FailSafe> = 1.
- RAM register SecPos[10:0] ≠ 0x400
The functional behavior depends if LIN communication is lost during normal operation (see Figure 27 case A) or at (or before) start-up
(See Figure 27 case B):
Power Up
OTP content is
copied in RAM
GetFullStatus
(LIN communication ON)
No
LIN bus OK
B
Yes
A
Figure 27: Flow chart power-up of AMIS-30623. 2 cases are illustrated; Case A: LIN lost during operation and Case B: LIN lost at start-up
LIN Lost During Normal Operation
If the LIN communication is lost during normal operation, it is assumed that AMIS-30623 is referenced. In other words the ActPos
register contains the “real” actual position. At LIN – lost an absolute positioning to the stored secure position SecPos is done. This is
further called Secure Positioning.
Following sequence will be followed. See also Figure 28
1.
2.
3.
“SecPos[10:0]” from RAM register will be used. This can be different from OTP register if earlier LIN master communication
has updated this. See also Secure Position and command SetMotorParam.
If the LIN communication is lost AND FailSafe = 0 there will be no secure positioning. Depending on SleepEn AMIS-30623 will
enter the STOP state or the SLEEP state. See Table 32.
If the LIN communication is lost AND FailSafe = 1 there are 2 possibilities:
I. If SecPos[10:0] = 0x400:
no Secure Positioning will be performed
Depending on SleepEn AMIS-30623 will enter the STOP state or the SLEEP state. See Table 32.
II. If SecPos[10:0] ≠ 0x400:
Perform a Secure Positioning. This is an absolute positioning (slave knows its ActPos. SecPos[10:0] will be copied in
TagPos)
Important remarks:
(1) The Secure Position has a resolution of 11 bit
(2) Same behavior in case of HW2 float (= lost LIN address). See also Hardwired Address HW2
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
48
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
A
SetMotorParam
(RAM content is overwritten)
LIN bus OK
No
FailSafe = 1
No
Yes
Yes
SecPos ≠ 0x400
No
Yes
SleepEn = 1
No
Yes
Secure Positioning
to TagPos
Normal Function
SLEEP
STOP
Figure 28: Case A: LIN Lost During Normal Operation
LIN Lost Before or at Power-on
If the LIN communication is lost before or at power on, the ActPos register does not reflect the “real” actual position. So at LIN – lost a
referencing is started using DualPositioning. A first negative motion for half the positioner range is initiated until the stall position is
reached. The motion parameters stored in OTP will be used for this. After this mechanical end position is reached ActPos will be reset
to zero. A second motion will start to the Secure Position also stored in OTP. More details are given below.
B
No
FailSafe = 1
Yes
First motion of DualPosition
Half the position range
Negative direction
At Stall -> ActPos = '0000'
No
STOP
SecPos ≠ 0x400
SleepEn = 1
Yes
Yes
Secure Positioning
to SecPos stored in OTP
SLEEP
Figure 29: Case B: LIN Lost at or During Start-up
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
49
No
STOP
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
If LIN is lost before or at power on, following sequence will be followed. See also Figure 29
1.
2.
If the LIN communication is lost AND FailSafe = 0 there will be no secure positioning. Depending on SleepEn AMIS-30623 will
enter the STOP state or the SLEEP state. See Table 32.
If the LIN communication is lost AND FailSafe = 1 a referencing is started using DualPositioning. A negative motion for half the
positioner range is initiated until the stall position is reached. The motion parameters stored in OTP will be used for this. After
this mechanical end position is reached ActPos will be reset to zero. The direction of the motion is given by the Shaft bit.
If SecPos[10:0] = 0x400:
no Second Motion will be performed.
Depending on SleepEn AMIS-30623 will enter the STOP state or the SLEEP state. See Table 32.
If SecPos[10:0] ≠ 0x400:
A second motion to SecPos is performed. The direction is given by SecPos[10] in combination with Shaft. Motion is
done with parameters from OTP.
Important remarks:
(1) The Secure Position has only a resolution of 9 bit because only the 9 MSB’s will be copied from OTP to RAM.
See also Secure Position
(2) The motion direction to SecPos is given by the Shaft bit in OTP
(3) Same behavior in case of HW2 float (= lost LIN address). See also Hardwired Address HW2
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
50
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
17.0 LIN Application Commands
17.1 Introduction
The LIN Master will have to use commands to manage the different application tasks the AMIS-30623 can feature. The commands
summary is given in the table below.
Table 34: Commands Summary
Command
Mnemonic
Reading command
GetActualPos
GetFullStatus
GetOTPparam
GetStatus
Writing commands
GotoSecurePosition
HardStop
ResetPosition
ResetToDefault
RunVelocity
Code
0x00
0x01
0x02
0x03
Prep
7, 8
7, 8
7, 8
Frames
Read
Write
5, 6
6
6
5
Returns the actual position of the motor
Returns a complete status of the circuit
Returns the OTP memory content
Returns a short status of the circuit
0x04
0x05
0x06
0x07
0x17
0x08
1
1
1
0x09
4
SetPosParam
0x10
0x16
0x0B
0x0C
0x0D
0x0E
0x2F
4
1, 3, 4
2
2
2
2
Service commands
Sleep
SoftStop
TestBemf
0x0F
0x1F
1
1
1
SetDualPosition
SetMotorParam
SetOTPparam
SetStallparam
SetPosition
SetPositionShort (1 m.)
SetPositionShort (2 m.)
SetPositionShort (4 m.)
Description
1
4
Drives the motor to its secure position
Immediate motor stop
Actual position becomes the zero position
RAM content reset
Drives motor continuously
Drives the motor to 2 different positions with different
speeds
Programs the motion parameters and values for the
current in the motor’s coils
Programs (and zaps) a selected byte of the OTP memory
Programs the motion detection parameters
Drives the motor to a given position
Drives the motor to a given position (half step mode only)
Drives two motors to 2 given positions (half step only)
Drives four motors to 4 given positions (half step only)
Drives the motor to a given position and programs some
of the motion parameters.
Drives circuit into sleep mode
Motor stopping with a deceleration phase
Outputs Bemf voltage on pin SWI
These commands are described hereafter, with their corresponding LIN frames. Refer to LIN Frames for more details on LIN frames,
particularly for what concerns dynamic assignment of identifiers. A color coding is used to distinguish between master and slave parts
within the frames and to highlight dynamic identifiers. An example is shown below.
Light Blue : master
Byte
0
1
2
GetStatus Reading Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4 Bit 3 Bit 2
Bit 1
Bit 0
*
*
0
ID4
ID3
ID2
ID1
ID0
Identifier
ESW
AD[6:0]
Data 1
VddReset
StepLoss
ElDef
UV2
TSD
TW
Tinfo[1:0]
Data 2
White : slave in-frame response
Yellow : dynamic identifier
Content
Figure 30: Color Code Used in the Definition of LIN Frames
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
51
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
Usually, the AMIS-30623 makes use of dynamic identifiers for general-purpose 2, 4 or 8 bytes writing frames. If dynamic identifiers are
used for other purpose, this is acknowledged.
Some frames implement a Broad bit that allows to address a command to all the AMIS-30623 circuits connected to the same LIN bus.
Broad is active when at ‘0’, in which case the physical address provided in the frame is thus not taken into account by the slave nodes.
17.2 Application Commands
GetActualPos
This command is provided to the circuit by the LIN master to get the actual position of the stepper-motor. This position
(ActPos[15:0]) is returned in signed two’s complement 16-bit format. One should note that according to the programmed stepping
mode, the LSBs of ActPos[15:0] may have no meaning and should be assumed to be ‘0’, as described in Position Ranges.
GetActualPos also provides a quick status of the circuit and the stepper-motor, identical to that obtained by command GetStatus
(see further).
Note: A GetActualPosition command will not attempt to reset any flag. GetActualPos corresponds to the following LIN reading frames.
1.) 4 data bytes in-frame response with direct ID (type #5)
Byte
Content
0
1
2
3
4
Identifier
Data 1
Data 2
Data 3
Data 4
Bit 7
*
ESW
VddReset
Reading Frame
Structure
Bit 6
Bit 5
Bit 4 Bit 3
*
1
0
ID3
AD[6:0]
ActPos[15:8]
ActPos[7:0]
StepLoss
ElDef
UV2
TSD
Bit 2
ID2
TW
Bit 1
ID1
Bit 0
ID0
Tinfo[1:0]
Where:
(*)
ID[5:0]:
According to parity computation
Dynamically allocated direct identifier. There should be as many dedicated identifiers to this
GetActualPos command as there are stepper-motors connected to the LIN bus.
2.) One preparing frame prior 4 data bytes in-frame response with 0x3D indirect ID
Byte
Content
0
1
2
Identifier
Data 1
Data 2
Byte
Content
0
1
2
3
4
5
6
7
8
Identifier
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Data 8
Bit 7
*
1
1
Bit 7
0
ESW
VddReset
Preparing Frame
Structure
Bit 6
Bit 5
Bit 4 Bit 3 Bit 2
*
0
ID4
ID3
ID2
CMD[6:0] = 0x00
AD[6:0]
Reading Frame
Structure
Bit 6
Bit 5
Bit 4 Bit 3
1
1
1
1
AD[6:0]
ActPos[15:8]
ActPos[7:0]
StepLoss
ElDef
UV2
TSD
0xFF
0xFF
0xFF
0xFF
Where:
(*)
According to parity computation
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
52
Bit 2
1
TW
Bit 1
ID1
Bit 0
ID0
Bit 1
0
Bit 0
1
Tinfo[1:0]
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
GetFullStatus
This command is provided to the circuit by the LIN master to get a complete status of the circuit and the stepper-motor. Refer to RAM
Registers and Flags Table to see the meaning of the parameters sent to the LIN master.
Note: A GetFullStatus command will attempt to reset flags <TW>, <TSD>, <UV2>, <ElDef>, <StepLoss>, <CPFail>, <OVC1>,
<OVC2> and <VddReset>.
GetFullStatus corresponds to 2 successive LIN in-frame responses with 0x3D indirect ID.
Byte
Content
0
1
2
Identifier
Data 1
Data 1
Byte
Content
0
1
2
3
4
5
6
7
8
Identifier
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Data 8
Byte
Content
0
1
2
3
4
5
6
7
8
Identifier
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Data 8
Bit 7
*
1
1
Bit 6
*
Preparing Frame
Structure
Bit 5
Bit 4
Bit 3
Bit 2
0
ID4
ID3
ID2
CMD[6:0] = 0x01
AD[6:0]
Reading Frame 1
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
0
1
1
1
1
1
AD[6:0]
Irun[3:0]
Vmax[3:0]
AccShape
StepMode[1:0]
Shaft
VddReset
StepLoss
ElDef
UV2
TSD
Motion[2:0]
ESW
OVC1
TimeE
0
0
0
0
AbsThr[3:0]
Bit 2
1
Bit 1
ID1
Bit 0
ID0
Bit 1
0
Bit 0
1
Ihold[3:0]
Vmin[3:0]
Acc[3:0]
TW
Tinfo[1:0]
OVC2
Stall
CPFail
DataE
HeadE
BitE
DelThr[3:0]
Reading Frame 2
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
0
1
1
1
1
1
0
1
1
AD[6:0]
ActPos[15:8]
ActPos[7:0]
TagPos[15:8]
TagPos[7:0]
SecPos[7:0]
MinZCross[2:0]
1
DC100
SecPos[10:8]
DelStallLo
DelStallHi
DC100StEn
AbsStall
MinSamples[2:0]
PWMJEn
Where:
(*)
According to parity computation
Important: it is not mandatory for the LIN master to initiate the second in-frame response if ActPos, TagPos and SecPos are not
needed by the application.
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
53
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
GetOTPparam
This command is provided to the circuit by the LIN master after a preparation frame (see Preparing frames) was issued, to read the
content of an OTP memory segment which address was specified in the preparation frame.
GetOTPparam corresponds to a LIN in-frame response with 0x3D indirect ID.
Byte
Content
0
1
2
Identifier
Data 1
Data 2
Byte
Content
0
1
2
3
4
5
6
7
8
Identifier
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Data 8
Bit 7
*
1
1
Bit 7
0
Preparing Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
*
0
ID4
ID3
ID2
CMD[6:0] = 0x02
AD[6:0]
Reading Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
1
1
1
1
1
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 1
ID1
Bit 0
ID0
Bit 1
0
Bit 0
1
Where:
(*)
According to parity computation
GetStatus
This command is provided to the circuit by the LIN master to get a quick status (compared to that of GetFullStatus command) of the
circuit and of the stepper-motor. Refer to Flags Table to see the meaning of the parameters sent to the LIN master.
Note: A GetStatus command will attempt to reset flags <TW>, <TSD>, <UV2>, <ElDef>, <StepLoss> and <VddReset>.
GetStatus corresponds to a 2 data bytes LIN in-frame response with a direct ID (type #5).
Byte
Content
0
1
2
Identifier
Data 1
Data 2
Bit 7
*
ESW
VddReset
GetStatus Reading Frame
Structure
Bit 6
Bit 5
Bit 4 Bit 3
*
0
ID4
ID3
AD[6:0]
StepLoss
ElDef
UV2
TSD
Bit 2
ID2
TW
Bit 1
ID1
Bit 0
ID0
Tinfo[1:0]
Where:
(*)
ID[5:0]:
According to parity computation
Dynamically allocated direct identifier. There should be as many dedicated identifiers to this
GetStatus command as there are stepper-motors connected to the LIN bus.
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
54
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
GotoSecurePosition
This command is provided by the LIN master to one or all the stepper-motors to move to the secure position SecPos[10:0]. It can
also be internally triggered if the LIN bus communication is lost, after an initialization phase, or prior to going into sleep mode. 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 LIN writing frame (type #1).
Byte
Content
0
1
2
Identifier
Data
Data
GotoSecurePosition Writing Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
*
*
0
ID4
ID3
ID2
1
CMD[6:0] = 0x04
Broad
AD[6:0]
Bit 1
ID1
Bit 0
ID0
Where:
(*)
Broad:
according to parity computation
If Broad = ‘0’ all the stepper motors connected to the LIN bus will reach their secure position
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 LIN master at the next GetStatus 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.
A hardstop command can also be issued by the LIN master for some safety reasons. It corresponds then to the following two data
bytes LIN writing frame (type #1).
Byte
Content
0
1
2
Identifier
Data
Data
HardStop Writing Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
*
*
0
ID4
ID3
ID2
1
CMD[6:0] = 0x05
Broad
AD[6:0]
Bit 1
ID1
Bit 0
ID0
Where:
(*)
Broad:
according to parity computation
If broad = ‘0’ stepper motors connected to the LIN bus will stop
ResetPosition
This command is provided to the circuit by the LIN 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 LIN writing frames (type #1).
Byte
Content
0
1
2
Identifier
Data
Data
ResetPosition Writing Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
*
*
0
ID4
ID3
ID2
1
CMD[6:0] = 0x06
Broad
AD[6:0]
Bit 1
ID1
Bit 0
ID0
Where:
(*)
Broad:
according to parity computation
If broad = ‘0’ all the circuits connected to the LIN bus will reset their ActPos and TagPos registers
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
55
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
ResetToDefault
This command is provided to the circuit by the LIN 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 RAM Registers). This is another way for the
LIN 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 LIN writing frames (type #1).
Byte
Content
0
1
2
Identifier
Data
Data
ResetPosition Writing Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
*
*
0
ID4
ID3
ID2
1
CMD[6:0] = 0x07
Broad
AD[6:0]
Bit 1
ID1
Bit 0
ID0
Where:
(*)
Broad:
according to parity computation
If broad = ‘0’ all the circuits connected to the LIN bus will reset to default
RunVelocity
This command is provided to the circuit by the LIN Master in order to put the motor in continuous motion state.
Note: Continuous LIN communication is required. If not Lost LIN is detected and an autonomous motion will start. See also LIN lost
behavior.
RunVelocity corresponds to the following LIN writing frames (type #1).
Byte
Content
0
1
2
Identifier
Data 1
Data 2
RunVelocity Writing Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
*
*
0
ID4
ID3
ID2
1
CMD[6:0] = 0x17
Broad
AD[6:0]
Bit 1
ID1
Bit 0
ID0
Where:
(*)
Broad:
according to parity computation
If broad = ‘0’ all the stepper motors connected to the LIN bus will start continuous motion.
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
56
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
SetDualPosition
This command is provided to the circuit by the LIN 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 GetPosition or a GetFullStatus
command prior to start a dual positioning. Another solution may consist of programming a value out of the stepper motor 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 LIN writing frame with 0x3C identifier (type #4).
Byte
Content
0
1
2
3
4
5
6
7
8
Identifier
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Data 8
SetDualPositioning Writing Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
0
0
1
1
1
1
0
AppCMD = 0x80
1
CMD[6:0] = 0x08
Broad
AD[6:0]
Vmax[3:0]
Vmin[3:0]
Pos1[15:8]
Pos1[7:0]
Pos2[15:8]
Pos2[7:0]
Bit 0
0
Where:
Broad:
Vmax[3:0]:
Vmin[3:0]:
Pos1[15:0]:
Pos2[15:0]:
If broad = ‘0’ all the circuits connected to the LIN bus will run the dual positioning
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
SetStallParam()
This commands sets the Motion Detection parameters, and the related Stepper Motor parameters such as the minimum and
maximum velocity, the run- and hold current, acceleration and stepmode See Motion detection for the meaning of the parameters
sent by the LIN Master
SetStallParam corresponds to a 0x3C LIN command
Byte
0
1
2
3
4
5
6
6
8
Content
Identifier
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Data 8
SetStallParam Writing Frame
Structure
Bit 7
Bit
Bit
Bit 4
Bit 3
Bit 2
Bit 1
6
5
0
0
1
1
1
1
0
AppCMD = 0x80
1
CMD[6:0] = 0x16
Broad
AD[6:0]
Irun[3:0]
Ihold[3:0]
Vmax[3:0]
Vmin[3:0]
MinSamples[2:0]
Shaft
Acc[3:0]
AbsThr[3:0]
RelThr[3:0]
AccShape
MinZCross[2:0]
StepMode[1:0] DC100StEn
Bit 0
0
PWMJEn
Where:
Broad:
If Broad = ‘0’ all the circuits connected to the LIN bus will set the parameters in their RAMs as
requested
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
57
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
SetMotorParam()
This command is provided to the circuit by the LIN master to set the values for the stepper motor parameters (listed below) in RAM.
Refer to RAM Registers to see the meaning of the parameters sent by the LIN 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 other parameters than Vmax and Vmin while a motion is running, otherwise
correct positioning cannot be guaranteed.
SetMotorParam corresponds to the following LIN writing frame with 0x3C identifier (type #4).
Byte
Content
0
1
2
3
4
5
6
7
8
Identifier
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Data 8
SetMotorParam Writing Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
0
0
1
1
1
1
0
AppCMD = 0x80
1
CMD[6:0] = 0x09
Broad
AD[6:0]
Irun[3:0]
Ihold[3:0]
Vmax[3:0]
Vmin[3:0]
SecPos[10:8]
Shaft
Acc[3:0]
SecPos[7:0]
AccShape
PWMfreq
1
1
StepMode[1:0]
1
Bit 0
0
PWMJEn
Where:
Broad:
If Broad = ‘0’ all the circuits connected to the LIN bus will set the parameters in their RAMs as
requested
SetOTPparam()
This command is provided to the circuit by the LIN master to program the content D[7:0] of the OTP memory byte OTPA[2:0], and to
zap it.
Important: This command must be sent under a specific Vbb voltage value. See parameter VbbOTP in DC Parameters. This is a
mandatory condition to ensure reliable zapping.
SetMotorParam corresponds to a 0x3C LIN writing frames (type #4).
Byte
Content
0
1
2
3
4
5
6
7
8
Identifier
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Data 8
HardStop Writing Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
Bit 1
Bit 0
0
0
1
1
1
1
0
0
AppCMD = 0x80
1
CMD[6:0] = 0x10
Broad
AD[6:0]
1
1
1
1
1
OTPA[2:0]
D[7:0]
0xFF
0xFF
0xFF
Where:
Broad:
If Broad = ‘0’ all the circuits connected to the LIN bus will set the parameters in their OTP memories
as requested
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
58
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
SetPosition()
This command is provided to the circuit by the LIN master to drive one or two motors 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 LIN write frames.
1) Two (2) Data bytes frame with a direct ID (type #3)
Byte
Content
0
1
2
Identifier
Data 1
Data 2
SetPosition Writing Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
*
*
0
ID4
ID3
Pos[15 :8]
Pos[7 :0]
Bit 2
ID2
Bit 1
ID1
Bit 0
ID0
Where:
(*)
ID[5:0]:
According to parity computation
Dynamically allocated direct identifier. There should be as many dedicated identifiers to this
SetPosition command as there are stepper-motors connected to the LIN bus.
2) Four (4) Data bytes frame with a general purpose identifier (type #1)
Byte
Content
0
1
2
3
4
Identifier
Data 1
Data 2
Data 3
Data 4
SetPosition Writing Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
*
*
1
0
ID3
ID2
1
CMD[6:0] = 0x0B
Broad
AD[6:0]
Pos[15:8]
Pos[7:0]
Bit 1
ID1
Bit 0
ID0
Where:
(*)
Broad:
According to parity computation
If broad = ‘0’ all the stepper motors connected to the LIN will must go to Pos[15:0].
3) Two (2) motors positioning frame with 0x3C identifier (type #4)
Byte
Content
0
1
2
3
4
5
6
7
8
Identifier
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Data 8
SetPosition Writing Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
0
0
1
1
1
1
AppCMD = 0x80
1
CMD[6:0] = 0x0B
1
AD1[6:0]
Pos1[15:8]
Pos1[7:0]
1
AD2[6:0]
Pos2[15:8]
Pos2[7:0]
Where:
Adn[6:0] :
Motor #n physical address (n ∈ [1,2]).
Posn[15:0] : Signed 16-bit position set-point for motor #n.
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
59
Bit 1
0
Bit 0
0
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
SetPositionShort()
This command is provided to the circuit by the LIN Master to drive one, two or four motors to a given absolute position. It applies only
for half stepping mode (StepMode[1:0] = “00”) and is ignored when in other stepping modes. See Positioning. for more details.
The physical address is coded on 4 bits, hence SetPositionShort can only be used with a network implementing a maximum of 16
slave nodes. These 4 bits are corresponding to the bits PA[3:0] in OTP memory (address 0x02) See Physical Address of the Circuit
The priority encoder table (See Priority Encoder) acknowledges the cases where a SetPositionShort command will be ignored.
SetPositionShort corresponds to the following LIN writing frames
1.) Two (2) data bytes frame for one (1) motor, with specific identifier (type #2)
Byte
Content
0
1
2
Identifier
Data 1
Data 2
SetPositionShort Writing Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
*
*
0
ID4
ID3
Pos[10:8]
Broad
Pos [7:0]
Bit 2
Bit 1
ID2
ID1
AD [3:0]
Bit 0
ID0
Where:
(*)
Broad:
ID[5:0]:
According to parity computation
If broad = ‘0’ all the stepper motors connected to the LIN bus will go to Pos[10:0]..
Dynamically allocated identifier to two data bytes SetPositionShort command.
2.) Four (4) data bytes frame for two (2) motors, with specific identifier (type # 2)
Byte
Content
0
1
2
3
4
Identifier
Data 1
Data 2
Data 3
Data 4
SetPositionShort Writing Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
*
*
1
0
ID3
Pos1[10:8]
1
Pos1[7:0]
Pos2[10:8]
1
Pos2[7:0]
Bit 2
Bit 1
ID2
ID1
AD1[3:0]
Bit 0
ID0
AD2[3:0]
Where:
(*)
ID[5:0]:
Adn[3:0]:
Posn[10:0]:
according to parity computation
Dynamically allocated identifier to four data bytes SetPositionShort command.
Motor #n physical address least significant bits (n ∈ [1,2]).
Signed 11-bit position set point for Motor #n (see RAM Registers)
3.) Eight (8) data bytes frame for four (4) motors, with specific identifier (type #2)
Byte
Content
0
1
2
3
4
5
6
7
8
Identifier
Data 1
Data 2
Data 3
Data 4
Data 5
Data 6
Data 7
Data 8
SetPositionShort Writing Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
*
*
1
1
ID3
Pos1[10:8]
1
Pos1[7:0]
Pos2[10:8]
1
Pos2[7:0]
Pos3[10:8]
1
Pos3[7 :0]
Pos4[10 :8]
1
Pos4[7:0]
Bit 2
Bit 1
ID2
ID1
AD1[3:0]
Bit 0
ID0
AD2[3:0]
AD3[3:0]
AD4[3:0]
Where:
(*)
ID[5:0]:
Adn[3:0]:
Posn[10:0]:
according to parity computation
Dynamically allocated identifier to eight data bytes SetPositionShort command.
Motor #n physical address least significant bits (n ∈ [1,4]).
Signed 11-bit position set point for Motor #n (see RAM Registers)
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
60
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
SetPosParam()
This command is provided to the circuit by the LIN Master to drive one motor to a given absolute position. It also sets some of the
values for the stepper motor parameters such as minimum and maximum velocity.
SetPosParam corresponds to a Four (4) Data bytes writing LIN frame with specific dynamically assigned identifier (type # 2).
Byte
Content
0
1
2
3
4
Identifier
Data 1
Data 2
Data 3
Data 4
SoftPosParam Writing Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
*
*
0
ID4
ID3
Pos[15:8]
Pos[7:0]
Vmax[3:0]
AbsThr[3:0]
Bit 2
ID2
Bit 1
ID1
Bit 0
ID0
Vmin[3:0]
Acc[3:0]
Where:
(*)
Broad:
ID[5:0]:
Pos [15:0] :
according to parity computation
If broad = ‘0’ all the stepper motors connected to the LIN bus will stop with deceleration.
Dynamically allocated direct identifier to 4 Data bytes SetPosParam command. There should be as
many dedicated identifiers to this SetPosition command as there are stepper-motors connected to the
LIN bus.
Signed 16-bit position set-point.
Sleep
This command is provided to the circuit by the LIN master to put all the slave nodes connected to the LIN bus into sleep mode. If this
command occurs during a motion of the motor, TagPos is reprogrammed to SecPos (provided SecPos is different from
“100 0000 0000”), or a SoftStop is executed before going to sleep mode. See LIN 1.3 specification and Sleep Mode. The
corresponding LIN frame is a master request command frame (identifier 0x3C) with data byte 1 containing 0x00 while the followings
contain 0xFF.
Byte
Content
0
1
2
Identifier
Data 1
Data 2
Bit 7
0
Sleep Writing Frame
Structure
Bit 6
Bit 5
Bit 4
Bit 3
0
1
1
1
0x00
0xFF
Bit 2
1
Bit 1
0
Bit 0
0
SoftStop
If a SoftStop command occurs during a motion of the stepper motor, 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.
Note: a SoftStop command occurring during a DualPosition sequence is not taken into account.
Command SoftStop occurs in the following cases:
• The chip temperature rises above the thermal shutdown threshold (see DC Parameters and Temperature Management);
• The LIN master requests a SoftStop. Hence SoftStop will correspond to the following two data bytes LIN writing frame (type #1).
Byte
Content
0
1
2
Identifier
Data 1
Data 2
SoftStop Writing Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
*
*
0
ID4
ID3
ID2
1
CMD[6:0] = 0x0F
Broad
AD[6:0]
Bit 1
ID1
Bit 0
ID0
Where:
(*)
Broad:
according to parity computation
If broad = ‘0’ all the stepper motors connected to the LIN bus will stop with deceleration.
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
61
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
TestBemf
This command is provided to the circuit by the LIN 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 LIN writing frames (type #1).
Byte
Content
0
1
2
Identifier
Data 1
Data 2
TestBemf Writing Frame
Structure
Bit 7
Bit 6
Bit 5
Bit 4
Bit 3
Bit 2
*
*
0
ID4
ID3
ID2
1
CMD[6:0] = 0x1F
Broad
AD[6:0]
Bit 1
ID1
Bit 0
ID0
Where:
(*)
Broad:
according to parity computation
If broad = ‘0’ all the stepper motors connected to the LIN bus will be affected.
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
62
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
18.0 Resistance to Electrical and Electromagnetic Disturbances
18.1 Electrostatic Discharges
Table 35: Absolute Maximum Ratings
Parameter
1
Vesd
Min.
Max.
Unit
Electrostatic discharge voltage on LIN pin
-4
+4
kV
Electrostatic discharge voltage on other pins
-2
+2
kV
Notes:
(1) Human body model (100 pF via 1.5 kΩ, according to MIL std. 883E, method 3015.7)
18.2 Electrical Transient Conduction Along Supply Lines
Test pulses are applied to the power supply wires of the equipment implementing the AMIS-30623 (see application schematic),
according to ISO 7637-1 document. Operating Classes are defined in ISO 7637-2.
Table 36: Test Pulses and Test Levels According to ISO 7637-1
Pulse
Amplitude
Rise Time
Pulse Duration
#1
-100V
≤ 1µs
#2a
+100V
≤ 1µs
#3a
-150V (from +13.5V)
5ns
#3b
+100V (from +13.5V)
5ns
#5b (load dump)
+21.5V (from +13.5V)
≤ 10ms
Rs
Operating Class
10Ω
C
50µs
2Ω
B
100ns (burst)
50Ω
A
100ns (burst)
50Ω
A
400ms
≤ 1Ω
C
2ms
18.3 EMC
Bulk current injection (BCI), according to ISO 11452-4. Operating Classes are defined in ISO 7637-2.
Table 37: Bulk Current Injection Operation 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 38: Immunity to Power Supply Micro-interruptions
Test
Operating Class
10µs micro-interruptions
A
100µs micro-interruptions
B
5ms micro-interruptions
B
50ms micro-interruptions
C
300ms micro-interruptions
C
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
63
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
19.0 Package Outline
19.1 SOIC-20: Plastic small outline; 20 leads; body width 300mil.
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
64
AMIS reference: SOIC300 20 300G
AMIS-30623 LIN Microstepping Motordriver
19.2 NQFP-32: No lead Quad Flat Pack; 32 pins; body size 7 x 7 mm.
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
www.amis.com
AMIS reference: NQFP-32
Notes
2) Dimensions applies to plated terminal and is 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 identation 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
AMI Semiconductor – June 2006, Rev 3.0
Data Sheet
65
AMIS-30623 LIN 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 reflow 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 printed-circuit
board 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 heating method.
Typical re-flow peak temperatures range from 215 to 250°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 printed-circuit boards 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 printed-circuit board;
o Smaller than 1.27mm, the footprint longitudinal axis must be parallel to the transport direction of the printed-circuit
board. 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 printedcircuit board. 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 39: Soldering Process
Package
Soldering Method
Wave
Reflow(1)
BGA, SQFP
Not suitable
Suitable
HLQFP, HSQFP, HSOP, HTSSOP, SMS
Not suitable (2)
Suitable
PLCC (3) , SO, SOJ
Suitable
Suitable
LQFP, QFP, TQFP
Not recommended (3)(4)
Suitable
SSOP, TSSOP, VSO
Not recommended (5)
Suitable
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
66
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
Notes:
(1) 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.”
(2) 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).
(3) 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.
(4) 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.
(5) 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.
21.0 Company or Product Inquiries
For more information about AMI Semiconductor, our technology and our product, visit our Web site at: http://www.amis.com.
HTU
UTH
North America
Tel: +1.208.233.4690
Fax : +1.208.234.6795
Europe
Tel : +32 (0) 55.33.22.11
Fax : +32 (0) 55.31.81.12
22.0 Document History
Table 40: Document history
Version
Date of Version
1.0
July 16, 2002
th
2.1
December 5 , 2005
3.0
June 19, 2006
P
P
Modifications/Additions
First non-preliminary issue
Complete review
Public release
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 ©2006 AMI Semiconductor, Inc.
AMI Semiconductor – June 2006, Rev 3.0
www.amis.com
67