AMIS-30623 AMI | Alldatasheet

Document overview

  • Manufacturer or author: Provided By ALLDATASHEET.COM(FREE DATASHEET DOWNLOAD SITE)
  • PDF pages: 67

Technical content

AMIS-30623 LIN Microstepping Motordriver Data Sheet

1.0 General Description

The AMIS-30623 is a si ngle-chip microstepping motordriver with position controller and control/diagnostic interface. It is read y 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 confi gurable (OTP or RAM) for different motor t ypes, positioning ranges and parameters for spe ed, 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 th e 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 im plemented in I2T100 technology, enabling both high voltage analog circuitry and digital functionality on the sam e chip. The AMIS-30623 is fully compatible with the automotive voltage requirements.

2.0 Product Features

  • 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 1 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet

3.0 Applications

The AMIS-30623 is i deally suited for smal l positioning applications. Target markets incl ude: automotive (headlamp alignment, HVAC, idle co ntrol, cr uise c ontrol), i ndustrial equipment (li ghting, fluid contro l, l abeling, proc ess control, XYZ tables, ro bots) an d bu ilding automation (HVAC, surveillance, satellite dish, renewable energy systems). Suitable applications typically have multiple axes or require mechatronic solutions with the driver chip mounted directly on the motor.

4.0 Ordering Information

Table 1: Ordering information Part No. Package Peak Current Temp. Range Stop voltage low threshold Ordering Code Tubes Ordering Code Tapes AMIS-30623A AGA SOIC-20 800 mA -40°C… ..125°C Typ. 8.5V N/A N/A 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

5.0 Quick Reference Data

Table 2: Absolute Maximum Ratings Parameter Min. Max. Unit Vbb Supply voltage -0.3 +40 (1) V Vlin Bus input voltage -80 +80 V Tamb Ambient temperature under bias (2) -50 +150 °C Tst Storage temperature -55 +160 °C Electrostatic discharge voltage on LIN pin -4 +4 kV Vesd (3) Electrostatic discharge voltage on other pins -2 +2 kV 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 Min Max Unit Vbb Supply voltage +8 +29 V Vbb ≤ 18V -40 +125 °C Top Operating temperature range Vbb ≤ 29V -40 +85 °C 2 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet

6.0 Contents

3 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet 4 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet

7.0 Block Diagram

Figure 1: Block Diagram BUS Interface OscillatorVref Temp sense Voltage Regulator TST LIN VBB VDD GND MOTXP MOTXN Main Control Registers OTP - ROM

4 MHz

HW[2:0] MOTYP MOTYN PWM regulator Y I-sense PWM regulator X I-sense Decoder Sinewave Table DAC's AMIS-30623 5 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet

8.0 Pin Out

Figure 2: SOIC 20 and NQFP-32 pin-out 201 HW0 GND SWI GND HW1 MOTXP VBB VDD AMIS-30623 PC20051118.1 GND GND MOTXN MOTYP MOTYN TST LIN HW2 CPN CPP VBB VCP 9 101 1 121 3 14 15 16 32 31 30 29 28 27 26 25 XP VBB SWI NC HW0 XP VBB VBB CPN CPP VCP YN VBB YN VBB VBB YP XN GND GND XN YP GND GND HW1 VDD GND TST LIN HW2 GND NC AMIS-30623 Top view NQ32 PC20051123.1 Table 4: Pin Description Pin Name Pin Description SOIC-20 NQFP-32 HWO Bit 0 of LIN-ADD 1 8 HW1 Bit 1 of LIN-ADD To be tied to GND or VDD 2 9 VDD Internal supply (needs external decoupling capacitor) 3 10 GND Ground, heat sink 4,7,14,17 11, 14, 25, 26, 31, 32 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 VCP Charge-pump filter-capacitor 11 19 VBB Battery voltage supply 12,19 3, 4, 5, 20, 21, 22 MOTYN Negative end of phase Y coil 13 23, 24 MOTYP Positive end of phase Y coil 15 27, 28 MOTXN Negative end of phase X coil 16 29, 30 MOTXP Positive end of phase X coil 18 1, 2 SWI Switch input 20 6 NC Not connected (to be tied to ground) 7, 16 6 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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. T he junction-to-case thermal resistance is depending on the copper area, copper thickness, PCB thickness and number of co pper l ayers. C alculating with a total ar ea of 460 mm 2, 3 5µm copp er thick ness, 1.6mm PCB thickn ess and 1l ayer, th e thermal resistance is 28°C/W, leading to a junction-ambient thermal resistance of 63°C/W, 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 juncti on – to – ambient can be brought down to a level of 25°C/W. Figure 4: PCB Ground Plane Layout Condition NQFP-32 PC20041128.2 SOIC-20 PC20041128.1 7 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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) Parameter Test Conditions Min. Typ. Max. Unit Motordriver IMSmax,Peak Max curr ent t hrough motor coil in normal operation 800 mA IMSmax,RMS Max RMS cur rent throug h coil i n normal operation 570 mA IMSabs Absolute error on coil current -10 10 % IMSrel Error on current ratio Icoilx / Icoily -7 7 % Vbb = 12V, Tj = 50 °C 0.50 1 Ω Vbb = 8V, Tj = 50 °C 0.55 1 Ω Vbb = 12V, Tj = 150 °C 0.70 1 Ω RDSon On resistanc e for each mot or pin (including bond wire) at IMSmax Vbb = 8V, Tj = 150 °C 0.85 1 Ω IMSL MOTXP MOTXN MOTYP MOTYN Pull down current HiZ mode 2 mA LIN Transmitter Ibus_on Dominant state, driver on Vbus = 1.4V 40 mA Ibus_off Dominant state, driver off Vbus = 0V -1 mA Ibus_off Recessive state, driver off Vbus = Vbat 20 µA Ibus_lim Current limitation 50 200 mA Rslave LIN Pull-up resistance 20 30 47 kΩ LIN Receiver Vbus_dom Receiver dominant state 0 0.4 *Vbb V Vbus_rec Receiver recessive state 0.6 * Vbb Vbb V Vbus_hys LIN Receiver hysteresis 0.05 * Vbb 0.2 * Vbb V Thermal Warning & Shutdown Ttw Thermal warning 138 145 152 °C Ttsd(1) (2) Thermal shutdown Ttw + 10 °C Tlow (2) Low temperature warning Ttw - 155 °C Supply and Voltage Regulator Vbb Nominal operating supply range 6.5 18 V VbbOTP Supply voltage for OTP zapping (3) 9.0 10.0 V Ibat Total current consumption Unloaded outputs 3.50 10.0 mA Ibat_s VBB Sleep mode current consumption 50 100 µA Vdd Internal regulated output (4) 8V < Vbb < 18V 4.75 5 5.50 V IddStop Digital current consumption Vbb < UV2 2 mA VddReset Digital sup ply reset leve l @ po wer down (5) 4.5 V IddLim VDD Current limitation Pin shorted to ground 42 mA Switch Input and Hardwire Address Input Rt_OFF Switch OFF resistance (6) 10 kΩ Rt_ON Switch ON resistance (6) Switch to Gnd or Vbat, 2 kΩ Vbb_sw Vbb range for guaranteed operation of SWI and HW2 6 29 V Vmax_sw SWI HW2 Maximum voltage T < 1s 40V V 8 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet Symbol Pin(s) Parameter Test Conditions Min. Typ. Max. Unit Switch Input and Hardwire Address Input Ilim_sw SWI HW2 Current limitation Short to Gnd or Vbat 30 mA Hardwired Address Inputs and Test Pin Vlow Input level high 0.7 * Vdd . V Vhigh Input level low 0.3 * Vdd V HWhyst HW0 HW1 TST Hysteresis 0.075 * Vdd V Charge Pump Vbb > 15V Vbb+10 Vbb+12.5 Vbb+15 V Vcp Output voltage 8V < Vbb < 15V 2 * Vbb – 5 2 * Vbb – 2.5 2 * Vbb V Cbuffer VCP External buffer capacitor 220 470 nF Cpump CPP CPN External pump capacitor 220 470 nF Motion Qualification Mode Output VOUT Output voltage swing TestBemf LIN command 0 - 4,85 V ROUT Output impedance Service mode LIN command 2 kΩ Av SWI Gain = VSWI / VBEMF Service mode LIN command 0,50 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 Test Conditions Min. Typ. Max. Unit Supply Thresholds AMIS-30623A UV1 Stop voltage high threshold 8.8 9.4 9.9 V UV2 VBB Stop voltage low threshold 8.1 8.5 9.0 V Supply Thresholds AMIS-30623B UV1 Stop voltage high threshold 7.8 8.4 8.9 V UV2 VBB Stop voltage low threshold 7.1 7.5 8.0 V 9 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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) Parameter Test Conditions Min. Typ. Max. Unit Power-up Tpu Power-up time Guaranteed by design 10 ms Internal Oscillator fosc Frequency of internal oscillator 3.6 4.0 4.4 MHz LIN Transmitter T_slope_F/R Slope time falling or rising edge Extrapolated b etween 40 % and 60% Vbus_dom 3.5 22.5 µs T_slope_Sym Slope time symmetry (1) T_slope_F – T_slope_R -4 4 µs T_tr_F Propagation delay TxD low to bus 0.1 1 4 µs T_tr_R Propagation delay TxD high to bus 0.1 1 4 µs Tsym_tr LIN Transmitter delay symmetry T_tr_F – T_tr_R -2 2 µs LIN Receiver T_rec_F Propagation d elay bus dom inant to RxD low 0.1 4 6 µs T_rec_R Propagation delay bus recessive to RxD high 0.1 4 6 µs Tsym_rec Receiver delay symmetry T_rec_F – T_rec_R -2 2 µs Twake LIN Wake-up delay time 50 100 200 µs Switch Input and Hardwire Address Input Tsw Scan pulse period (2) 1024 µs Tsw_on SWI HW2 Scan pulse duration 128 µsµs Motordriver PWMfreq = 0 (3) 20.6 22.8 25.0 kHz Fpwm PWM frequency (2) PWMfreq = 1 (3) 41,2 45,6 50,0 kHz Fjit_depth PWM jitter modulation depth PWMJen = 1 (3) 10 % Tbrise Turn-on transient time 170 ns Tbfall Turn-off transient time Between 10% and 90% 140 ns Tstab MOTxx Run current stabilization time 29 32 35 ms Charge Pump fCP CPN CPP Charge pump frequency (2) 250 kHz Notes (1) For loads [L1] and [L2] (2) Derived from the internal oscillator (3) See SetMotorParam and PWM regulator 10 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet

12.0 Typical Application

Figure 7: Typical Application Diagram AMIS-30623 VBAT GND MOTXP PC20051118.1 LIN 100 nF LIN bus 2,7 nF MOTXN MOTYP MOTYN 11VDD VBB VCP SWI CPPCPN HW0 HW1 HW2 M TST VBB 5 47 14 17 100 nF 100 nF 220 nF 2,7 nF 220 nF 1 kΩ Connect to VBAT or GND Connect to VBAT or GND 1 kΩ 100 µF VDR 27V C3 C4 C6C7C8 C91 µF 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 12 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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 Stepping mode Hex Dec Vmax (full step/s) Group Half-stepping (half-step/s) 1/4th micro-stepping (micro-step/s) 1/8th micro-stepping (micro-step/s) 1/16th micro-stepping (micro-step/s) 0 0 99 A 197 395 790 1579 1 1 136 273 546 1091 2182 2 2 167 334 668 1335 2670 3 3 197 395 790 1579 3159 4 4 213 425 851 1701 3403 5 5 228 456 912 1823 3647 6 6 243 B 486 973 1945 3891 7 7 273 546 1091 2182 4364 8 8 303 607 1213 2426 4852 9 9 334 668 1335 2670 5341 A 10 364 729 1457 2914 5829 B 11 395 790 1579 3159 6317 C 12 456 C 912 1823 3647 7294 D 13 546 1091 2182 4364 8728 E 14 729 1457 2914 5829 11658 F 15 973 D 1945 3891 7782 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 Vmax (Full-step/s) Vmin index A B C D Hex Dec Vmax factor 99 136 167 197 213 228 243 273 303 334 364 395 456 546 729 973 0 0 1 99 136 167 197 213 228 243 273 303 334 364 395 456 546 729 973 1 1 1/32 3 4 5 6 6 7 7 8 8 10 10 11 13 15 19 27 2 2 2/32 6 8 10 11 12 13 14 15 17 19 21 23 27 31 42 57 3 3 3/32 9 12 15 18 19 21 22 25 27 31 32 36 42 50 65 88 4 4 4/32 12 16 20 24 26 28 30 32 36 40 44 48 55 65 88 118 5 5 5/32 15 21 26 31 32 35 37 42 46 51 55 61 71 84 111 149 6 6 6/32 18 25 31 36 39 42 45 50 55 61 67 72 84 99 134 179 7 7 7/32 21 30 36 43 46 50 52 59 65 72 78 86 99 118 156 210 8 8 8/32 24 33 41 49 52 56 60 67 74 82 90 97 113 134 179 240 9 9 9/32 28 38 47 55 59 64 68 76 84 93 101 111 128 153 202 271 A 10 10/32 31 42 51 61 66 71 75 84 93 103 113 122 141 168 225 301 B 11 11/32 34 47 57 68 72 78 83 93 103 114 124 135 156 187 248 332 C 12 12/32 37 51 62 73 79 85 91 101 113 124 135 147 170 202 271 362 D 13 13/32 40 55 68 80 86 93 98 111 122 135 147 160 185 221 294 393 E 14 14/32 43 59 72 86 93 99 106 118 132 145 158 172 198 237 317 423 F 15 15/32 46 64 78 93 99 107 113 128 141 156 170 185 214 256 340 454 Notes (1) The Vmax factor is an approximation. (2) In case of mo tion without acceleration (AccShape = 1) the len gth of the steps = 1 /Vmin. In case o f accelerated motion (AccShape = 0) the le ngth of the fi rst step i s shorter than 1/Vmin depending of Vmin, Vmax and Acc. 13 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet

13.4 Acceleration and Deceleration

Sixteen possible values can be programmed for Acc (a cceleration 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 Vmax (FS/s) → 99 136 167 197 213 228 243 273 303 334 364 395 456 546 729 973 ↓ Acc index Hex Dec Acceleration (Full-step/s²) 0 0 49 106 473 1 1 218 735 2 2 1004 3 3 3609 4 4 6228 5 5 8848 6 6 11409 7 7 13970 8 8 16531 9 9 19092 A 10 21886 B 11 24447 C 12 27008 D 13 29570 E 14 34925 F 15 14785 29570 40047 The formula to compute the number of equivalent full-step during acceleration phase is: Acc2 VminVmaxNstep

13.5 Positioning

The position programmed in c ommands SetPosition and SetPositionShort is giv en as a n umber of (micro)steps. Accordi ng 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 Position word: Pos[15:0] Shift 1/16th S B14 B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 LSB No shift 1/8th S B13 B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 LSB 0 1-bit left ⇔ ×2 1/4th S B12 B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 LSB 0 0 2-bit left ⇔ ×4 Half-stepping S B11 B10 B9 B8 B7 B6 B5 B4 B3 B2 B1 LSB 0 0 0 3-bit left ⇔ ×8 PositionShort S S S B9 B8 B7 B6 B5 B4 B3 B2 B1 LSB 0 0 0 No shift SecurePosition S B9 B8 B7 B6 B5 B4 B3 B2 B1 LSB 0 0 0 0 0 No shift Notes (1) LSB: Least Significant Bit (2) S: Sign bit 14 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

stepping mode, the position range will be as shown in Table 12. number of bits, according to the stepping mode. Table 13. See also command GotoSecurePosition and LIN lost behavior. (1) The secure position is disabled in case the programmed value is the reserved code “10000000000” (0x400 or most negative position).

  • Shaft = 0 ⇒ MOTXP is used as positive pin of the X coil, while MOTXN is the negative one.
  • Shaft = 1 ⇒ opposite situation 15 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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-bri dges including the PWM control, the s ynchronous 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 volta ge mo nitoring i s als o p erformed by this b lock, which pr ovides ne eded information to the c ontrol l ogic part. T he sa me 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 l ogic block stores the inf ormation provided by the LIN interface (in a RAM or an OT P 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 ste pper motor in order to reac h 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 avera ge and com pares the valu e with t wo independent thre shold leve ls. If th e back emf di sturbance is bi gger tha n the set threshold, the running motor is stopped.

14.4 LIN Interface

The LIN interface implem ents the physical layer and the MAC and L LC layers according to the OSI referenc e model. It provides a nd 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. 16 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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 positi oning c ommand will p roduce a moti on as i llustrated in F igure 8. A motion start s with an acceleration p hase from minimu m 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. Figure 8: Positioning and Motion Control Velocity Vmax Vmin Acceleration range Deceleration range Pstart Pstop P=0 Position Optional zero switch Zero speed Hold current Pmin Pm ax Zero speed Hold current Table 14: Position Related Parameters Parameter Reference Pmax – Pmin See Positioning Zero speed Hold Current See Ihold Maximum current See Irun Acceleration and deceleration See Acceleration and Deceleration Vmin See Minimum Velocity Vmax See Maximum Velocity 17 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet Different positioning examples are shown in the table below. Table 15: Positioning Examples Positioning Examples Short motion Velocity time New positioning command in same direction, shorter or longer, while a motion is running at maximum velocity Velocity time New positioning command in same direction while in deceleration phase Note: there is no wait time between the deceleration phase and the new acceleration phase. Velocity time New positioning command in reverse direction while motion is running at maximum velocity Velocity time New positioning command in reverse direction while in deceleration phase Velocity time New velocity programming while motion is running Velocity time 18 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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 HW 2 pin i s sensed v ia 2 s witches. T he Drive HS an d DriveLS co ntrol li nes ar e alt ernatively cl osing the top and bottom s witch connecting HW2 pin with a current to resistor converter. Closing STOP (DriveHS = 1) will sense a current to GND. I n 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. 12 3 2 = R2VBAT 3 = OPEN 1 = R2GND COMP IÎ R IÎ R Rth LOGIC High Low Float DriveHS DriveLS HW2_Cmp HW2 "R"-Comp State STOP SBOT SPASS_T SPASS_B Debouncer Debouncer 32 µs 64 ms 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 DriveLS DriveHS HW2_Cmp New State Condition Drawing Float 1 0 0 Float R2GND or OPEN 1 or 3 Float 1 0 1 High R2VBAT 2 Float 0 1 0 Float R2VBAT or OPEN 2 or 3 Float 0 1 1 Low R2GND 1 Low 1 0 0 Low R2GND or OPEN 1 or 3 Low 1 0 1 High R2VBAT 2 Low 0 1 0 Float R2VBAT or OPEN 2 or 3 Low 0 1 1 Low R2GND 1 High 1 0 0 Float R2GND or OPEN 1 or 3 High 1 0 1 High R2VBAT 2 High 0 1 0 High R2VBAT or OPEN 2 or 3 High 0 1 1 Low R2GND 1 The logic is c ontrolling the correct seq uence i n closing the s witches and in interpreting the 32 µs de bounced HW2_Cmp o utput accordingly. The output of this small state-machine is corresponding to: - High or address = 1 - Low or address = 0 - Floating 20 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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. t Rth Tsw = 1024 µsDriveHS "R"-Comp t t t DriveLS HW2_Cmp State t Tsw_on = 128 µs Condition R2VBAT OPEN High Low Float High High High High R2VBAT R2GND Float High Float Float High High Low Low 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 st ate was floating, the internal LOGIC will interpret this as a chang e 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 s ee that the state ch anges to flo at. This will trigger a motion to se cure position after a deb ounce time of 6 4 ms. This prevents false trig gering in case of fals e 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 HW 2_Cmp output switches to High. Again based on the stated dia gram in Table 1 one can see that the state will change to Low. This low state will be interpreted as HW2 address = 0. 21 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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. COMP IÎ R IÎ R Rth LOGIC Closed Open DriveHS DriveLS SWI_Cmp SWI 12 3 "R"-Comp State 2 = R2VBAT 3 = OPEN 1 = R2GND STOP SBOT SPASS_T SPASS_B 32 µs Debouncer Figure 13: Simplified Schematic Diagram of the SWI Comparator As illustrated in Figure 15 a change in state is al ways synchronised with DriveHS or DriveLS. The same s ynchronisation is va lid 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 th e GetActualPos co mmands rea ds back the ActPos register and the status of ESW . In th is way the ma ster node ma y get synchronous information about the state of the switch together with the position of the motor. See Figure 14 below: Reading Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

0 Identifier * * 1 0 ID3 ID2 ID1 ID0

1 Data 1 ESW AD[6:0]

2 Data 2 ActPos[15:8]

3 Data 3 ActPos[7:0]

4 Data 4 VddReset StepLoss ElDef UV2 TSD TW Tinfo[1:0]

Figure 14: GetActualPos LIN commando Important remark. Every 512µs this information is refreshed. 22 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet Rth Tsw =1024 µs DriveHS "R"-Comp t t t DriveLS SWI_Cmp ESW t Tsw_on = 128 µs t 01 1 1 ActPos ActPos ActPos + 1 ActPos + 2 ActPos + 3 t 512 µs 120 µs 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 a ssociated commands. After po wer-up, the r egisters and flags are i n the re set state, some of them be ing 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 e nd of this action, the r egister TagPos is loaded with th e val ue conta ined in reg ister ActPos to a void an attem pt of the circu it to achi eve th e motio n (s ee Table 2 2: RA M registers). The circuit is then ready to execute a new positioning command, provided thermal and electrical conditions allow for it. 23 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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 tra nsition will occur towards secure position as described in Positioning and Motion Control provided SecPos is ena bled. Otherwise, SoftStop is performed. Sleep mode can be entered in the following cases:

  • The circuit rec eives a LIN fr ame with i dentifier 0x3C an d first data b yte contai ning 0x00, as r equired b y LIN sp ecification 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 dia gram 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. Figure 16: State Diagram Temperature Management Normal Temp. - <Tinfo> = “00” - <TW> = ‘0’ - <TSD> = ‘0’ T° < Ttw & LIN frame: GetStatus or GetFullStatus T° > Ttw Thermal warning - <Tinfo> = “10” - <TW> = ‘1’ - <TSD> = ‘0’ T° > Ttsd Thermal shutdown - <Tinfo> = “11” - <TW> = ‘1’ - <TSD> = ‘1’ - SoftStop if motion ongoing - Motor shut down (motion disabled) Post thermal warning - <Tinfo> = “00” - <TW> = ‘1’ - <TSD> = ‘0’ T° > Tlow T° > Ttw T° < Ttsd T° > Ttsd Post thermal shut down 1 - <Tinfo> = “10” - <TW> = ‘1’ - <TSD> = ‘1’ - Motor shut down (motion disabled) Post thermal shutdown 2 - <Tinfo> = “00” - <TW> = ‘1’ - <TSD> = ‘1’ - Motor shutdown (motion disabled) Low Temp. - <Tinfo> = “01” - <TW> = ‘0’ - <TSD> = ‘0’ T° < Ttw T° > Ttw T° < Tlow T° < Ttw 24 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet 15.2.7. Autarkic functionality in under-voltage condition Battery voltage management The AMIS-30623 mon itors the battery voltage by means of one thre shold and o ne shutdown level, as illustrated in t he state di agram below. The only con dition to reset flags <UV2> and < StepLoss> is to recover a b attery voltage higher than UV1 a nd to receiv e a GetStatus or a GetFullStatus command. Figure 17: State Diagram Battery Voltage Management Normal voltage - < UV2 > = ‘0’ - < StepLoss > = ‘0’ Vbb > UV1 & LIN frame: GetStatus or GetFullStatus Vbb < UV2 & motion ongoin g Vbb < UV2 (no motion) Stop mode 1 - <UV2> = ‘1’ - <StepLoss > = ‘0’ - Motor shutdown (motion disabled) Stop mode 2 - <UV2> = ‘ 1 ’ - <StepLoss > = ‘ 1 ’ - HardStop - Motor shutdown (motion disabled) Autarkic function In Stop mode 1 the motor is put in sh utdown state. T he <UV2> flag is set. In case Vbb > UV1 AMIS-306 23 accepts updates of the target pos ition b y m eans of the rece ption 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 po sition by me ans of the recepti on 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 t o be taken b ecause the acc umulated stepl oss can caus e a significa nt devi ation between physical and stored actual position. 2. T he 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 se t one clock after the sign al and would therefore slow down the reaction ti me. Also the state can on ly 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 25 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet The < StepLoss> sign al is used to block successive mo tions. Also th is sig nal will be cleared after V bb > UV1, m aking up dates o f TagPos possible. The implementation is illustrated in the state diagram below. Figure 18: State Diagram Autarkic Under-voltage Handling GotoPos HardStop Stopped ShutDown HS to Positioner GetStatus GetFullStatus Vbb > UV1 TagPos ≠ ActPos If UV2SIG = 1 THEN TagPos ≠ ActPos ELSE copy TagPos = ActPos PWM disabled Motor in HiZ HS = f (UV2SIG, OVC1, OVC2, CPFail, …) 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 th e HardStop state is entered. After the hardstop motion is finished (HS to Pos itioner) it enters the Stopped state. UV2SIG = 1 so the T agPos 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 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0x00 OSC3 OSC2 OSC1 OSC0 IREF3 IREF2 IREF1 IREF0 0x01 EnableLIN TSD2 TSD1 TSD0 BG3 BG2 BG1 BG0 0x02 AbsThr3 AbsThr2 AbsThr1 AbsThr0 PA3 PA2 PA1 PA0 0x03 Irun3 Irun2 Irun1 Irun0 Ihold3 Ihold2 Ihold1 Ihold0 0x04 Vmax3 Vmax2 Vmax1 Vmax0 Vmin3 Vmin2 Vmin1 Vmin0 0x05 SecPos10 SecPos9 SecPos8 Shaft Acc3 Acc2 Acc1 Acc0 0x06 SecPos7 SecPos6 SecPos5 SecPos4 SecPos3 SecPos2 Failsafe SleepEn 0x07 DelThr3 DelThr2 DelThr1 DelThr0 StepMode1 StepMode0 LOCKBT LOCKBG Parameters stored at address 0x00 a nd 0x01 and bit LOCKBT are alr eady programmed in the OT P memory at circu it 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 comm and SetOTPparam). Once OT P programming is completed, bit LOCKBG ca n be z apped, t o dis able futur e zap ping, oth erwise any OT P bit at ‘0’ could still be za pped by us ing a SetOTPparam command. 26 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet Table 18: OTP Overwrite Protection Lock bit Protected bytes LOCKBT (factory zapped before delivery) 0x00 to 0x01 LOCKBG 0x00 to 0x07 The command used to l oad the app lication par ameters via the LIN bus in the RAM pr ior to a n OT P Memor y programm ing 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 27 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet Irun[3:0] Current amplitude value to be fed to eac h coil of the stepper-motor. The table below provides the 16 possible values for IRUN. Index Irun Run 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 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 R eference Pos ition. If Shaft = ‘0’, the reference position is t he ma ximum inn er pos ition, whereas if Shaft = ‘1’, the reference position is the maximum outer position SecPos[10:0]Secure Position of the stepper-motor. T his is the position to which the motor is driven in case of a LI N communication loss or when the LIN error co unter 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’. 28 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet Vmax[3:0] Maximum velocity Index Vmax Vmax(full step/s) Group 0 0 0 0 0 99 A 1 0 0 0 1 136 2 0 0 1 0 167 3 0 0 1 1 197 4 0 1 0 0 213 5 0 1 0 1 228 6 0 1 1 0 243 B 7 0 1 1 1 273 8 1 0 0 0 303 9 1 0 0 1 334 A 1 0 1 0 364 B 1 0 1 1 395 C 1 1 0 0 456 C D 1 1 0 1 546 E 1 1 1 0 729 F 1 1 1 1 973 D Vmin[3:0] Minimum velocity. Index Vmin Vmax factor 0 0 0 0 0 1 1 0 0 0 1 1/32 2 0 0 1 0 2/32 3 0 0 1 1 3/32 4 0 1 0 0 4/32 5 0 1 0 1 5/32 6 0 1 1 0 6/32 7 0 1 1 1 7/32 8 1 0 0 0 8/32 9 1 0 0 1 9/32 A 1 0 1 0 10/32 B 1 0 1 1 11/32 C 1 1 0 0 12/32 D 1 1 0 1 13/32 E 1 1 1 0 14/32 F 1 1 1 1 15/32 Acc[3:0] 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 29 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet SleepEn IF SleepEn=1 -> AMIS-30623 always go to low-power sleep mode incase LIN timeout. IF SleepEn=0 -> there is no more autom atic transition to l ow-current sleep mode (i.e. stay in stop mo de 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 30 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet 15.2.9. RAM Registers Table 19: RAM Registers Register Mnemonic Length (bit) Related commands Comment Reset state Actual position ActPos 16 GetActualPos GetFullStatus GotoSecurePos ResetPosition 16-bit signed Last programmed position Pos/ TagPos 16/11 GetFullStatus GotoSecurePos ResetPosition SetPosition SetPositionShort 16-bit signed or 11-bit signed for half stepping (see Positioning) Note 1 Acceleration shape AccShape 1 GetFullStatus ResetToDefault² SetMotorParam ‘0’ ⇒ normal acceleration from Vmin to Vmax ‘1’ ⇒ motion at Vmin without acceleration ‘0’ Coil peak current Irun 4 GetFullStatus ResetToDefault² SetMotorParam Operating current See look-up table Irun Coil hold current Ihold 4 GetFullStatus ResetToDefault² SetMotorParam Standstill current See look-up table Ihold Minimum Velocity Vmin 4 GetFullStatus ResetToDefault² SetMotorParam See Section 13.3 Minimum Velocity See look-up table Vmin Maximum Velocity Vmax 4 GetFullStatus ResetToDefault² SetMotorParam See Section 13.2 Maximum Velocity See look-up table Vmax Shaft Shaft 1 GetFullStatus ResetToDefault² SetMotorParam Direction of movement for positive velocity Acceleration/ deceleration Acc 4 GetFullStatus ResetToDefault² SetMotorParam See Section 13.4 Acceleration See look-up table Acc Secure Position SecPos 11 GetFullStatus ResetToDefault² SetMotorParam Target position when LIN connection fails;

11 MSBs of 16-bit position (LSBs fixed to

‘0’) Stepping mode StepMode 2 GetFullStatus SetStallParam See Section 13.1 Stepping Modes See look-up table StepMode Stall detection absolute threshold AbsThr 4 GetFullStatus SetStallParam Stall detection delta threshold DelThr 4 GetFullStatus SetStallParam Sleep Enable SleepEn SetOTPParam Enables entering sleep mode after LIN lost See also 16.8 LIN lost behavior Fail Safe FailSafe SetOTPParam Triggers autonomous motion after LIN lost at POR See also 16.8 LIN lost behavior From OTP memory Stall detection delay FS2StallEn 3 GetFullStatus SetStallParam Delays the stall detection after acceleration ‘000’ Stall detection sampling MinSamples 3 GetFullStatus SetStallParam ‘000’ PWM Jitter PWMJEn 1 GetFullStatus SetStallParam ‘1’ means jitter is added ‘0’ 100% duty cycle Stall Disable DC100SDis 1 GetFullStatus SetStallParam ‘1’ means stall detection is disabled in case PWM regulator runs at δ = 100% ‘0’ PWM frequency PWMFreq 1 GetFullStatus SetMotorParam ‘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. 31 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet 15.2.10. Flags Table Table 20: Flags Table Flag Mnemonic Length (bit) Related Commands Comment Reset State Charge pump failure CPFail 1 GetFullStatus ‘0’ = charge pump OK ‘1’ = charge pump failure reset only after GetFullStatus ‘0’ Electrical defect ElDef 1 GetActualPos GetStatus GetFullStatus <OVC1> or < OVC2> or <open circuit 1> or <open circuit 2> or <CPFail> resets only after Get(Full)Status ‘0’ External switch status ESW 1 GetActualPos GetStatus GetFullStatus ‘0’ = open ‘1’ = close ‘0’ <VDDreset> ‘0’ Motion status Motion 3 GetFullStatus “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 “000” Over current in coil X OVC1 1 GetFullStatus ‘1’ = over current reset only after GetFullStatus ‘0’ Over current in coil Y OVC2 1 GetFullStatus ‘1’ = over current reset only after GetFullStatus ‘0’ Secure positi on enabled SecEn 1 Internal use ‘0’ if SecPos = “100 0000 0000” ‘1’ otherwise n.a. Circuit going to Slee p mode Sleep 1 Internal use ‘1’ = Sleep mode reset by LIN command ‘0’ Step loss StepLoss 1 GetActualPos GetStatus GetFullStatus ‘1’ = step loss due to under voltage, over current or open circuit ‘1’ Delta High Stall DelStallHi 1 GetFullStatus ‘1’ = Vbemf > Ūbemf + DeltaThr ‘0’ Delta Low Stall DelStallLo 1 GetFullStatus ‘1’ = Vbemf > Ūbemf – DeltaThr ‘0’ Absolute Stall AbsStall 1 GetFullStatus ‘1’ = Vbemf > AbsThr ‘0’ Stall Stall 1 GetFullStatus GetStatus ‘0’ Motor stop Stop 1 Internal use ‘0’ Temperature info Tinfo 2 GetActualPos GetStatus GetFullStatus “00” = normal temperature range “01” = low temperature warning “10” = high temperature warning “11” = motor shutdown “00” Thermal shutdown TSD 1 GetActualPos GetStatus GetFullStatus ‘1’ = shutdown. (> 155°C typ.) reset only after Get(Full)Status and if <Tinfo> = “00” ‘0’ Thermal warning TW 1 GetActualPos GetStatus GetFullStatus ‘1’ = over temp. (> 145°C) reset only after Get(Full)Status and if <Tinfo> = “00” ‘0’ Battery stop voltage UV2 1 GetActualPos GetStatus GetFullStatus ‘0’ = Vbb > UV2 ‘1’ = Vbb ≤ UV2 reset only after Get(Full)Status ‘0’ Digital supply reset VddReset 1 GetActualPos GetStatus GetFullStatus 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 b een l ost; can be reset to ‘0’ with a GetStatus or a GetFullStatus command. ‘1’ 32 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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 HardStop ShutDown Sleep Command motor stopped, Ihold in coils motor motion ongoing no influence on RAM and TagPos motor decelerating motor forced to stop motor stopped, H-bridges in Hi-Z no power (note 1) 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 TagPos and ActPos reset SetPosition TagPos updated; → GotoPos TagPos updated TagPos updated SetPositionShort [ half-step mode only) ] TagPos updated; → GotoPos TagPos updated TagPos updated GotoSecPosition If <SecEn> = ‘1’ then TagPos = SecPos; → GotoPos If <SecEn> = ‘1’ then TagPos = SecPos If <SecEn> = ‘1’ then TagPos = SecPos DualPosition → DualPosition HardStop → HardStop; <StepLoss> = ‘1’ → HardStop; <StepLoss> = ‘1’ → HardStop; <StepLoss> = ‘1’ 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 If <SecEn> = ‘1’ then TagPos = SecPos; will be evaluated after DualPosition No action; <Sleep> flag will be evaluated when motor stops No action; <Sleep> flag will be evaluated when motor stops → Sleep HardStop [ ⇔ (<CPFail> or <UV2> or <ElDef>) = → Shutdown → HardStop → HardStop → HardStop Thermal shutdown [ <TSD> = ‘1’ ] → Shutdown → SoftStop → SoftStop Motion finished n.a. → Stopped → Stopped → Stopped; TagPos =ActPos → Stopped; TagPos =ActPos n.a. n.a. With the following color code: Command ignored Transition to another state Master is responsible for proper update (see note 7) 33 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet Notes: 1) Leaving sleep state is equivalent to power-on-reset. 2) 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). 3) A DualPosition sequence runs with a separate set of RAM registers. The parameters that are not specified in a DualPosition command are loaded with the values stored in RAM at the moment the DualPosition sequence starts. AccShape is forced to ‘1’ during second motion even if a ResetToDefault command is issued during a Dual Position sequence, in which case AccShape at ‘0’ will be ta ken into account after the DualPosition sequence. A GetFullStatus command will return the default parameters for Vmax and Vmin stored in RAM. 4) 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). 5) Shutdown state can be left only when <TSD> and <HS> flags are reset. 6) Flags c an be reset only af ter the master c ould read t hem via a GetStatus or GetFullStatus c ommand, and provided the physical conditions allow for it (normal temperature, correct battery voltage and no electrical or charge pump defect). 7) A SetMotorParam command sent while a mot ion 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 t aken into account at the next SetPosition or SetPositionShort command. 8) Some transitions like GotoPos → Sleep are actually done via several states: GotoPos → SoftStop → Stopped → Sleep (see diagram below). 9) 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 10) < SecEn> = ‘1’ when register SecPos is loaded with a value different from the most negative value (i.e. different from 0x400 = “100 0000 0000”) 11) < 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. 12) Command for dynamic assignment of Ids is decoded in all states except sleep and has not effect on the current state 13) 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. HardStop Stopped GotoPosShutDown Sleep Thermal Shutdown HardStop HardStop HardStop RunInit Motion finished GotoSecPos SetPosition Motion Finished Motion Finished Thermal ShutDown SoftStop Any LIN command <Sleep> AND (not<SecEn> OR <SecEn> AND ActPos = SecPos OR <Stop>) <Sleep> OR LIN timeout HardStop Thermal Shutdown RunInit SoftStop Priorities 1 Motion Finished POR 14) I f <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. Figure 19: State Diagram Remark: IF “SleepEn”=0, then the red arrow from stopped state to sleep state does not exist. 34 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet Ix t PC20051123.4 Coil X Coil Y Ix Iy t PC20051205.1 Coil X Coil Y Iy

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. Figure 20: Current Waveforms in Motorcoils X and Y in Halfstep Mode Whereas the figure below shows the current fed to one coil in 1/16th micro stepping (1 electrical period). Figure 21: Current Waveforms in Motorcoils X and Y in 1/16th Microstep Mode 35 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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 figur e above shows how the PW M circuit performs th is regulation. To reduce the current rip ple, 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 Applied PWM Frequency 0 22,8 kHz 1 45,6 kHz 15.3.3. PWM Jitter To lower the power spectrum for the funda mental 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 Status

0 Single PWM frequency

1 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 en d of the d eceleration phase, the currents are maintained in the coils at th eir actual DC level (hence keeping the si ne/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. Figure 22: Motor Stopping Phase t Ix Iy tstab PC20051123.5 36 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet 15.3.6. Charge Pump Monitoring If the charge pump voltage is not sufficie nt for drivi ng the high side transistors (due to a fail ure), 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 37 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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 application is aware of a problem - Possible confirmation of the problem - 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 - 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 i n shutdown m ode, since there is n o hold current in the c oils, t he mechanical l oad 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 tr y to get the AMI S- 30623 out of shutdown mode when this proves to be unsu ccessful, e.g. there is a p ermanent 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 38 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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 t wo 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 pulli ng or pr opelling force and the resulting back emf in creases above the Delta thre shold (+ ∆THR), then <DelStallHi> is set. W hen the motor is slo wing do wn a nd th e resulti ng b ack emf decrea ses bel ow the Delta thresh old (- ∆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 z ero. When this va lue is b elow the Abs olute t hreshold, <AbsStall> is set. The < Stall> flag is th e OR functio n of <DelStallLo> OR <DelStallHi> OR <AbsStall>. AbsStall t Velocity Vmax Vmin t Motor speed Vbemf VABSTH t Back emf Vbemf DeltaStallHi t Vbemf Vbemf + ∆THR - ∆THR t DeltaStallLo t Figure 24:Triggering of the Stall Flags in Function of Measured Back emf and the set Threshold Levels Table 25: Truth Table Condition <DelStallLo> <DelStallHi> <AbsStall> <Stall> Vbemf < Average - DelThr 1 0 0 1 Vbemf > Average + DelThr 0 1 0 1 Vbemf < AbsThr 0 0 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 appe ars during DualPosition then th e first phase i s 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 positi on in th e inter nal co unter will be co pied to the ActPos register. All fla gs can be re ad out with the GetStatus or GetFullStatus command. Important remark: Using GetFullStatus w ill read AND cl ear the foll owing fla gs: < Steploss>, < Stall>, <AbsStall>, <DelStallLo>, and <DelStallHi>. New positioning is possible and the ActPos register will be further updated. Using GetStatus w ill read AND c lear ONLY the < Steploss> flag. T he < Stall>, <AbsStall>, <DelStallLo>, and <DelStallHi> flags Are NOT cleared. New positioning is possible and the ActPos register will be further updated. 39 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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 Se tStallParam i n the registers AbsT hr[3:0] and D elThr[3:0]. Also in the OT P register AbsT hr[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 Table 27: Delta Threshold Settings AbsThr index AbsThr level (V) DelThr index DelThr level (V)

0 Disable 0 Disable

1 0.5 1 0.25 2 1.0 2 0.50 3 1.5 3 0.75 4 2.0 4 1.00 5 2.5 5 1.25 6 3.0 6 1.50 7 3.5 7 1.75 8 4.0 8 2.00 9 4.5 9 2.25 A 5.0 A 2.50 B 5.5 B 2.75 C 6.0 C 3.00 D 6.5 D 3.25 E 7.0 E 3.50 F 7.5 F 3.75 MinSamples MinSamples[2:0] is a Bemf s ampling delay time expressed in number of PWM cycles, for more inf ormation please refer to the white paper “Robust Motion Control with AMIS-3062x Stepper Motor Drivers”, Table 28: Back EMF Sample Delay Time tDELAY (µs) Index MinSamples[2:0] PWMfreq = 0 PWMfreq = 1 0 000 87 43 1 001 130 65 2 010 174 87 3 011 217 109 4 100 261 130 5 101 304 152 6 110 348 174 7 111 391 196 FS2StallEn If AbsThr or DelT hr <>0 (i.e. motion detection is enabled), then stall detection will be activated AFTER the acc eleration 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 sup ply is to o lo w t o ge nerate th e req uired tor que and m ight also res ult in errone ously tr iggering the s tall 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”, 40 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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 o nly be stopped after a POR. During the Back emf observation, reading of the S WI state is internally forbidden. More information is available in the white paper “Robust Motion Control with AMIS-3062x Stepper Motor Drivers”. 41 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet

16.0 Lin Controller

16.1 General Description

The LIN (loc al interconnect network) is a serial communications protocol that efficiently supports the control of mechatronic nodes in distributed automotive applications. The interface implemented in the A MIS-30623 is comp liant with the LIN re v. 1.3 specific ations. 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. T he specification of the line driver/receiver foll ows the ISO 914 1 stand ard with some enhancements r egarding the EMI behavior. LIN RxD VBB PC20051124.1 TxD Slope Control Filter 30 kΩ LIN protocol handler HW0 HW1 HW2 to control block from OTP LIN address 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. 42 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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 compar ator with a thr eshold equal to Vbb/2. Figure 5 also shows the del ay 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 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Not used Not used Not used 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 H W1 are 5V digit al inputs, whereas pin HW2 i s compliant with a 12V lev el, e.g. it can be connected to Vbat or Gnd via a t erminal of the PCB. To prov ide cleaning current for this terminal, the system used for pin SWI is also implemented for pin HW2 (see Hardwired Address HW2). 43 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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 comm ands and/or information to the slave nodes. According to the LIN specific ation, identifiers are to be us ed to determine a sp ecific action. If a physical addressing is n eeded, 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 id entifier 0x3 C and take ad vantage o f th e 8 byte da ta fie ld to p rovide a phy sical a ddress, a co mmand and th e ne eded parameters for the action, as illustrated in the example below. ID Data1 Data2 Data3 Data4 Data5 Data6 Data7 Data8 00 0x3C 1 physical address command parameters AppCmd 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 sl ave nodes (Broad = ‘0’). If Broad = ‘1’, the physical address of the slav e node is pr ovided 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 Data2 Data3… command Physical address Broad parameters… ID0 ID1 ID2 ID3 ID4 ID5 ID6 ID7
  • 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 b ytes writing frame with an i dentifier dynamically assigned to a p articular slav e nod e tog ether with a n 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. 44 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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 particul ar slave node, indicating at t he same time which kind of informatio n is a waited from this slave node, thus tri ggering a specific command. This ID provid es the fastest access to a read command but is for bidden for a ny 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 D ata 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 particul ar slave no de that it will have to answer in the ne xt frame (henc e a reading frame). A preparin g frame is nee ded when a reading fram e does n ot use a d ynamically assi gned dir ect ID. Preparing an d rea ding 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. Preparing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

0 Identifier * * 0 ID4 ID3 ID2 ID1 ID0

1 Data 1 1 CMD[6:0]

2 Data 2 1 AD[6:0]

Where: (*) According to parity computation

  • Type #8: eight data bytes writing frame with 0x3C identifier. SetDualPositioning Writing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

0 Identifier 0 0 1 1 1 1 0 0

1 Data 1 AppCMD = 0x80

2 Data 2 1 CMD[6:0]

3 Data 3 1 AD[6:0]

4 Data 4 Data4[7:0]

5 Data 5 Data5[7:0]

6 Data 6 Data6[7:0]

7 Data 7 Data7[7:0]

8 Data 8 Data8[7:0]

Where: AppCMD: If = ‘0x80’ this indicates that Data 2 contains an application command CMD[6:0]: Appl ication Command “byte” AD[6:0]: Slave node physical address Datan[7:0]: Data transmitted 45 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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. T he id entifiers 0 x3C an d 0 x3F are reserve d for command frames an d e xtended frames . Slave no des need to be ve ry flexible to ad apt itself to a g iven LIN network in or der to av oid c onflicts with slave nodes fr om d ifferent man ufacturers. D ynamic assignment of the identifiers will fulfill this requirement by writing identifiers into the c ircuits 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 id entifiers, t herefore 3 fra mes are n eeded to ass ign all id entifiers. Each ROM p ointer 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 – D ynamic 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. Dynamic Identifiers Writing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

0 Identifier 0x3C

1 AppCmnd 0x80

2 CMD 1 0x11

3 Address Broad AD6 AD5 AD4 AD3 AD2 AD1 AD0

4 Data DynID_1[3:0] ROMp_1[3:0]

5 Data DynID_2[1:0] ROMp_2[3:0] DynID_1[5:4]

6 Data ROMp_3[3:0] DynID_2[5:2]

7 Data ROMp_4[2:0] DynID_3[5:0]

8 Data DynID_4[5:0] ROMp_4[3:2]

Where: CMD[6:0]: 0x11, corresponding to dynamic assignment of four LIN identifiers Broad: If broad = ‘0’ all the circuits connected to t he LIN bus w ill share the same dy namically 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 o nly to assign fo ur i dentifiers. T herefore, additional frames co uld be needed i n order t o assi gn mor e i dentifiers (maximum three for the AMIS-30623). Figure 26:Principle of Dynamic Command Assignment Command assignement via Dynamic ID during operation Command assignement done at start-up Dynamic ID ROM pointer Application Command 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 User Defined 0010 GetActualPos 46 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet

16.7 Commands Table

Table 31: LIN Commands with Corresponding ROM Pointer Command mnemonic Command byte (CMD) Dynamic ID (example) ROM pointer GetActualPos 000000 0x00 100xxx 0010 GetFullStatus 000001 0x01 n.a. GetOTPparam 000010 0x02 n.a. GetStatus 000011 0x03 000xxx 0011 GotoSecurePosition 000100 0x04 n.a. HardStop 000101 0x05 n.a. ResetPosition 000110 0x06 n.a. ResetToDefault 000111 0x07 n.a. RunVelocity 010111 0x17 n.a. SetDualPosition 001000 0x08 n.a. SetMotorParam 001001 0x09 n.a. SetOTPparam 010000 0x10 n.a. SetStallparam 010110 0x16 n.a. SetPosition (16-bit) 001011 0x0B 010xxx 0100 SetPositionShort (1 motor) 001100 0x0C 001001 0101 SetPositionShort (2 motors) 001101 0x0D 101001 0110 SetPositionShort (4 motors) 001110 0x0E 111001 0111 SetPosParam 1001 Sleep n.a. n.a. SoftStop 001111 0x0F n.a. TestBemf 011111 0x1F n.a. Dynamic ID assignment 010001 0x11 n.a. General purpose 2 Data bytes 011000 0000 General purpose 4 Data bytes 101000 0001 Preparation frame 011010 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 broke n for a duration of 2 5000 consecutive frames ( = 1,30 s @ 19 200 kbit/s) AMIS-306 23 sets a n internal flag called “LIN lost”. The functional behavior depends on the state of OT P 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> Behavior

0 Entering low-power sleepmode @ LIN – lost DISABLED

1 Entering low-power sleepmode @ LIN – lost ENABLED

47 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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> Behavior

0 NO motion in case of LIN – lost

1 ENABLES motion to a safe position in case of LIN – lost

16.8.4. Autonomous Motion AMIS-30623 is able to p erform an Aut onomous Motion to a preferred position. This positioning starts after the d etection of l ost LI N 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): 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 OTP content is copied in RAM Power Up GetFullStatus (LIN communication ON) LIN bus OK AB YesNo LIN Lost During Normal Operation If the LIN com munication is l ost dur ing n ormal operation, it is ass umed t hat AMIS-3 0623 is refere nced. In other words the ActPo s register contains the “real” actual position. At LIN – lost an absolute positioning to the stored secure position SecPos is d one. This is further called Secure Positioning. Following sequence will be followed. See also Figure 28 1. “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. 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. 3. 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 48 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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. 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. 2. 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 h as only a r esolution of 9 bit because only the 9 MSB’s will b e c opied from OT P to RA M. 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 50 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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 t he different application tasks the AMIS-30623 can feature. The commands summary is given in the table below. Table 34: Commands Summary Command Frames Mnemonic Code Prep Read Write Description Reading command GetActualPos 0x00 7, 8 5, 6 Returns the actual position of the motor GetFullStatus 0x01 7, 8 6 Returns a complete status of the circuit GetOTPparam 0x02 7, 8 6 Returns the OTP memory content GetStatus 0x03 5 Returns a short status of the circuit Writing commands GotoSecurePosition 0x04 1 Drives the motor to its secure position HardStop 0x05 1 Immediate motor stop ResetPosition 0x06 1 Actual position becomes the zero position ResetToDefault 0x07 RAM content reset RunVelocity 0x17 1 Drives motor continuously SetDualPosition 0x08 4 Drives the m otor to 2 different pos itions with d ifferent speeds SetMotorParam 0x09 4 Programs the motion par ameters and v alues for the current in the motor’s coils SetOTPparam 0x10 Programs (and zaps) a selected byte of the OTP memory SetStallparam 0x16 4 Programs the motion detection parameters SetPosition 0x0B 1, 3, 4 Drives the motor to a given position SetPositionShort (1 m.) 0x0C 2 Drives the motor to a given position (half step mode only) SetPositionShort (2 m.) 0x0D 2 Drives two motors to 2 given positions (half step only) SetPositionShort (4 m.) 0x0E 2 Drives four motors to 4 given positions (half step only) SetPosParam 0x2F 2 Drives the motor to a given position and programs some of the motion parameters. Service commands Sleep 1 Drives circuit into sleep mode SoftStop 0x0F 1 Motor stopping with a deceleration phase TestBemf 0x1F 1 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 fr ames, particularly for what concerns dynamic assignment of identifiers. A color c oding is used to distinguish between master and slave parts within the frames and to highlight dynamic identifiers. An example is shown below. GetStatus Reading Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

2 Data 2 VddReset StepLoss ElDef UV2 TSD TW Tinfo[1:0]

Figure 30: Color Code Used in the Definition of LIN Frames White : slave in-frame response Yellow : dynamic identifier Light Blue : master 51 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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

This command is provided to the c ircuit by the LIN master to get the act ual position of the stepper-motor. T his 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 LS Bs of ActPos[15:0] ma y have n o mea ning a nd sho uld be assum ed to be ‘0’, as descri bed i n Position R anges. GetActualPos also provides a q uick status of the c ircuit and the stepper-motor, identical to th at 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) Where: Reading Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 (*) According to parity computation ID[5:0]: Dynamically allocated dir ect identifi er. There should b e as man y dedicated id entifiers 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 Preparing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 Data 1 1 CMD[6:0] = 0x00

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

0 Identifier 0 1 1 1 1 1 0 1

5 Data 5 0xFF

6 Data 6 0xFF

7 Data 7 0xFF

8 Data 8 0xFF

Where: (*) According to parity computation 52 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet GetFullStatus This command is provide d to the circuit b y 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. Preparing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 Data 1 1 CMD[6:0] = 0x01

2 Data 1 1 AD[6:0]

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 Data 1 1 AD[6:0]

2 Data 2 Irun[3:0] Ihold[3:0]

3 Data 3 Vmax[3:0] Vmin[3:0]

4 Data 4 AccShape StepMode[1:0] Shaft Acc[3:0]

5 Data 5 VddReset StepLoss ElDef UV2 TSD TW Tinfo[1:0]

6 Data 6 Motion[2:0] ESW OVC1 OVC2 Stall CPFail

7 Data 7 0 0 0 0 TimeE DataE HeadE BitE

8 Data 8 AbsThr[3:0] DelThr[3:0]

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

4 Data 4 TagPos[15:8]

5 Data 5 TagPos[7:0]

6 Data 6 SecPos[7:0]

7 Data 7 MinZCross[2:0] 1 DC100 SecPos[10:8]

8 Data 8 AbsStall DelStallLo DelStallHi MinSamples[2:0] DC100StEn PWMJEn

Where: (*) According to parity computation Important: it is not man datory for th e LIN master to initiate the seco nd in-frame response if ActPos, TagPos and SecPos are n ot needed by the application. 53 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet GetOTPparam This command is prov ided to the circu it by the LIN master after a pre paration frame (see Preparing frames) was issued, to re ad 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. Preparing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 Data 1 1 CMD[6:0] = 0x02

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 Data 1 OTP byte @0x00

2 Data 2 OTP byte @0x01

3 Data 3 OTP byte @0x02

4 Data 4 OTP byte @0x03

5 Data 5 OTP byte @0x04

6 Data 6 OTP byte @0x05

7 Data 7 OTP byte @0x06

8 Data 8 OTP byte @0x07

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 comm and 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). GetStatus Reading Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Where: (*) According to parity computation ID[5:0]: Dynamically allocated dir ect identifi er. There should b e as man y dedicated id entifiers to this GetStatus command as there are stepper-motors connected to the LIN bus. 54 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet GotoSecurePosition This command is pr ovided by the LIN master to one or all the stepper-motors to move to the s ecure position SecPos[10:0]. It c an 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). GotoSecurePosition Writing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 Data 1 CMD[6:0] = 0x04

2 Data Broad AD[6:0]

Where: (*) according to parity computation Broad: 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 som e safety reasons. It corresp onds then to t he following two data bytes LIN writing frame (type #1). HardStop Writing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 Data 1 CMD[6:0] = 0x05

Where: (*) according to parity computation Broad: If broad = ‘0’ stepper motors connected to the LIN bus will stop ResetPosition This command is provid ed to the circuit b y the LIN master to reset ActPos and TagPos registers to zero. T his can be helpful t o prepare for instance a relative positioning. ResetPosition corresponds to the following LIN writing frames (type #1). ResetPosition Writing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 Data 1 CMD[6:0] = 0x06

Where: (*) according to parity computation Broad: If broad = ‘0’ all the circuits connected to the LIN bus will reset their ActPos and TagPos registers 55 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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 t o 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). ResetPosition Writing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 Data 1 CMD[6:0] = 0x07

Where: (*) according to parity computation Broad: 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 r equired. 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). RunVelocity Writing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 Data 1 1 CMD[6:0] = 0x17

2 Data 2 Broad AD[6:0]

Where: (*) according to parity computation Broad: If broad = ‘0’ all the stepper motors connected to the LIN bus will start continuous motion. 56 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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 i n d eadlock state. T herefore, the application s hould c heck the actual p osition by a GetPosition or a GetFullStatus command prior to start a dual positio ning. Another solution may consist of programmin g a value o ut of the stepper m otor 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). SetDualPositioning Writing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

2 Data 2 1 CMD[6:0] = 0x08

3 Data 3 Broad AD[6:0]

4 Data 4 Vmax[3:0] Vmin[3:0]

5 Data 5 Pos1[15:8]

6 Data 6 Pos1[7:0]

7 Data 7 Pos2[15:8]

8 Data 8 Pos2[7:0]

Where: Broad: If broad = ‘0’ all the circuits connected to the LIN bus will run the dual positioning Vmax[3:0]: Max velocity for first motion Vmin[3:0]: Min velocity for first motion and velocity for the second motion Pos1[15:0]: First position to be reached during the first motion Pos2[15:0]: Relativ e position of the second motion SetStallParam() This commands sets the Motion Detecti on parameters, and the related Stepper Moto r parameters such as the minimum and maximum velocity, the run- and hold current, acceleration and stepmode See Motion detection for the meaning of th e parameters sent by the LIN Master SetStallParam corresponds to a 0x3C LIN command SetStallParam Writing Frame Byte Content Structure Bit 7 Bit Bit Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

2 Data 2 1 CMD[6:0] = 0x16

4 Data 4 Irun[3:0] Ihold[3:0]

5 Data 5 Vmax[3:0] Vmin[3:0]

6 Data 6 MinSamples[2:0] Shaft Acc[3:0]

6 Data 7 AbsThr[3:0] RelThr[3:0]

8 Data 8 MinZCross[2:0] AccShape StepMode[1:0] DC100StEn PWMJEn

Where: Broad: If Broad = ‘0’ all the circu its con nected to the LIN bus will set th e parameters in t heir R AMs a s requested 57 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet SetMotorParam() This command is provi ded to the circu it by the LIN m aster to set the val ues for the ste pper 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 o ccurs while a mo tion i s on going, it will mod ify at once the m otion parameters (see Position Controller). Therefore the application should not change other parameters than Vmax and Vmin while a m otion is running, otherwise correct positioning cannot be guaranteed. SetMotorParam corresponds to the following LIN writing frame with 0x3C identifier (type #4). SetMotorParam Writing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

2 Data 2 1 CMD[6:0] = 0x09

6 Data 6 SecPos[10:8] Shaft Acc[3:0]

7 Data 7 SecPos[7:0]

8 Data 8 1 PWMfreq 1 AccShape StepMode[1:0] 1 PWMJEn

Where: Broad: If Broad = ‘0’ all the circu its con nected to the LIN bus will set th e parameters in t heir R AMs a s 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 m ust be sent un der a spec ific Vbb volta ge v alue. See par ameter VbbOT P in DC Param eters. This is a mandatory condition to ensure reliable zapping. SetMotorParam corresponds to a 0x3C LIN writing frames (type #4). HardStop Writing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

2 Data 2 1 CMD[6:0] = 0x10

4 Data 4 1 1 1 1 1 OTPA[2:0]

5 Data 5 D[7:0]

Where: Broad: If Broad = ‘0’ all the circuits connected to the LIN bus will set the parameters in their OTP memories as requested 58 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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) SetPosition Writing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 Data 1 Pos[15 :8]

2 Data 2 Pos[7 :0]

Where: (*) According to parity computation ID[5:0]: Dynamically allocated dir ect identifi er. There should b e as man y dedicated id entifiers 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) SetPosition Writing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 Data 1 1 CMD[6:0] = 0x0B

3 Data 3 Pos[15:8]

4 Data 4 Pos[7:0]

Where: (*) According to parity computation Broad: 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) SetPosition Writing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

2 Data 2 1 CMD[6:0] = 0x0B

3 Data 3 1 AD1[6:0]

4 Data 4 Pos1[15:8]

5 Data 5 Pos1[7:0]

6 Data 6 1 AD2[6:0]

Where: Adn[6:0] : Motor #n physical address (n ∈ [1,2]). Posn[15:0] : Signed 16-bit position set-point for motor #n. 59 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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 giv en 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) SetPositionShort Writing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 Data 1 Pos[10:8] Broad AD [3:0]

2 Data 2 Pos [7:0]

Where: (*) According to parity computation Broad: If broad = ‘0’ all the stepper motors connected to the LIN bus will go to Pos[10:0].. ID[5: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) SetPositionShort Writing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 Data 1 Pos1[10:8] 1 AD1[3:0]

2 Data 2 Pos1[7:0]

3 Data 3 Pos2[10:8] 1 AD2[3:0]

4 Data 4 Pos2[7:0]

Where: (*) according to parity computation ID[5:0]: Dynamically allocated identifier to four data bytes SetPositionShort command. Adn[3:0]: Motor #n physical address least significant bits (n ∈ [1,2]). Posn[10:0]: 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) SetPositionShort Writing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

0 Identifier * * 1 1 ID3 ID2 ID1 ID0

5 Data 5 Pos3[10:8] 1 AD3[3:0]

6 Data 6 Pos3[7 :0]

7 Data 7 Pos4[10 :8] 1 AD4[3:0]

8 Data 8 Pos4[7:0]

Where: (*) according to parity computation ID[5:0]: Dynamically allocated identifier to eight data bytes SetPositionShort command. Adn[3:0]: Motor #n physical address least significant bits (n ∈ [1,4]). Posn[10:0]: Signed 11-bit position set point for Motor #n (see RAM Registers) 60 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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). SoftPosParam Writing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 Data 1 Pos[15:8]

2 Data 2 Pos[7:0]

4 Data 4 AbsThr[3:0] Acc[3:0]

Where: (*) according to parity computation Broad: If broad = ‘0’ all the stepper motors connected to the LIN bus will stop with deceleration. ID[5:0]: 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. Pos [15:0] : Signed 16-bit position set-point. Sleep This command is provide d to the circuit b y the LIN master to put all the sl ave nodes connected to the L IN bus into sle ep mode. If this command occ urs duri ng a motion of the motor, TagPos is reprogr ammed to SecPos (provided SecPos is different from “100 0000 0000”), or a SoftStop is exe cuted b efore going to sle ep mode. Se e LIN 1.3 specification a nd Sleep Mod e. The corresponding LIN frame is a master request command frame (i dentifier 0x3C) with data byte 1 containing 0x00 while the fo llowings contain 0xFF. Sleep Writing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 Data 1 0x00

2 Data 2 0xFF

If a SoftStop command occurs during a motion of the ste pper motor, it provok es 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). SoftStop Writing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 Data 1 1 CMD[6:0] = 0x0F

Where: (*) according to parity computation Broad: If broad = ‘0’ all the stepper motors connected to the LIN bus will stop with deceleration. 61 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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 th e 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). TestBemf Writing Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

1 Data 1 1 CMD[6:0] = 0x1F

Where: (*) according to parity computation Broad: If broad = ‘0’ all the stepper motors connected to the LIN bus will be affected. 62 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

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 Min. Max. Unit Electrostatic discharge voltage on LIN pin -4 +4 kV Vesd 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 app lied to the po wer su pply wires of the equ ipment i mplementing the AMIS-30 623 (see a pplication schem atic), 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 Rs Operating Class #1 -100V ≤ 1µs 2ms 10Ω C #2a +100V ≤ 1µs 50µs 2Ω B #3a -150V (from +13.5V) 5ns 100ns (burst) 50Ω A #3b +100V (from +13.5V) 5ns 100ns (burst) 50Ω A #5b (load dump) +21.5V (from +13.5V) ≤ 10ms 400ms ≤ 1Ω C

18.3 EMC

Bulk current injection (BCI), according to ISO 11452-4. Operating Classes are defined in ISO 7637-2. Table 37: Bulk Current Injection Operation Classes Current Operating Class 60mA envelope A 100mA envelope B 200mA envelope C

18.4 Power Supply Micro-interruptions

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 63 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet

19.0 Package Outline

19.1 SOIC-20: Plastic small outline; 20 leads; body width 300mil. AMIS reference: SOIC300 20 300G 64 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet 19.2 NQFP-32: No lead Quad Flat Pack; 32 pins; body size 7 x 7 mm. AMIS reference: NQFP-32 Dimensions: Dim Min Nom Max Unit A 0.8 0.9 mm A1 0 0.02 0.05 mm A2 0.576 0.615 0.654 mm A3 0.203 mm b 0.25 0.3 0.35 mm C 0.24 0.42 0.6 mm D 7 mm D1 6.75 mm E mm 7 E1 6.75 mm e 0.65 mm J 5.37 5.47 5.57 mm K 5.37 5.47 5.57 mm L 0.35 0.4 0.45 mm P 45 ree Deg R 2.185 2.385 mm 2) Dimensions applies to plated terminal and is measured between 0.2 and age e and size of this feature is optional 5) r e xposed p ad an d termi nals. Excl ude em bedding part of exp from measuring. 6) Appl y to terminals E pe of each corner is optional 0.25 mm from terminal tip. 3) The pin #1 indication must be placed on the top surface of the pack by using identation mark or other feature of package body. 4) Exact shap Applied fo osed pad ied onl 7) xact sha 7x7 NQFP Notes 65 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet

20.0 Soldering

  1. ace Mount Packages 1 Introduction to Soldering Surf This text gives a ver y brief insight to a comple x technology. A more in-depth account of soldering ICs can be foun d in the AMIS “Data ndbook IC26; Integrated Circuit PackaHa ges” (document order number 9398 652 90011). There is no sol dering method that is ideal for all surface mount IC packages. Wave sold ering is not al ways suitable for surface mount it boarICs, or for printed-circu ds with high population densities. In these situations reflow soldering is often used. 20.2 Re Re-flow soldering requires solder paste (a suspension of fine solder particles, flux and binding agent) to be applied to the printed-circuit flowing; for xample, infrared/convection heating in a conveyor type oven. s (preheating, soldering and cooling) vary between 100 and 200 seconds depending on heating method. mperatures range from 215 to 250°C. The top-surface temperature of th e packages should preferably be kept ve Soldering soldering is n ot recommen ded for surfac e mount d evices (SMDs) or pr inted-circuit b oards with a hi gh omponent density, as solder bridging and non-wetting can present major problems. To overcome these problems the double-wave oldering method was specifically developed. wave soldering is used the following conditions must be observed for optimal results: ldering method comprising a tur bulent wave with high upward pressure followed by a smooth laminar n two sides and a pitch (e): o Larger than or equal to 1.27mm, the footprint longitudinal axis is preferred t o be parallel to the transport directi on of d-circuit board; 7mm, the footprint longitudinal axis must be parallel to the trans port direction of the printed-circuit int must incor e downstream end.
  • For pack four sides, ced at a 45º angle to t he transport direction of th e printed- circuit bo ust incorpor s downstream and at the side corners. uring placement and before soldering, the pack ge must be fixed with a droplet of adhesive. The adhesive can be applied by screen inting, pin transfer or syringe dispensing. The package can be soldered after the adhesive is cured. ypical dwell time is fo ur seconds at 250°C. A mildl y-activated flux will eliminate the need for r emoval of corrosiv e residues in most pplications.

0.4 Manual Soldering

ix the component by first soldering two diagonally-opposite end leads. Use a low voltage (24V or less) soldering iron applied to the flat art of the lead. Contact time must be limited to 10 seconds at up to 300°C. hen 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 -flow Soldering board by screen printing, stencilling or pressure-syringe dispensing before package placement. Several methods exist for re e Throughput time Typical re-flow peak te below 230°C. 20.3 Wa Conventional singl e wave c s If

  • Use a double-wave so wave.
  • For packages with leads o the printe o Smaller than 1.2 otprboard. The fo porate solder thieves at th ust be plaages with leads on rint m the footprint m veard. The footp ate solder thie D a pr T a F p W Soldering Method Package 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 66 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com

AMIS-30623 LIN Microstepping Motordriver Data Sheet 67 AMI Semiconductor – June 2006, Rev 3.0 www.amis.com 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 plac ed at a 45° angle to the solder wave direction. The package f ootprint 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 defin itely 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 definite ly 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: HTUhttp://www.amis.comUTH. North America Tel: +1.208.233.4690 Fax : +1.208.234.6795 Europe

22.0 Document History

Table 40: Document history Version Date of Version Modifications/Additions

1.0 July 16, 2002 First non-preliminary issue

2.1 December 5P

P , 2005 Complete review

3.0 June 19, 2006 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.