Part Number Hot Search : 
16LT1 TM9502 TA0228A K8VM800 SST25 001000 IH1203S FDN361
Product Description
Full Text Search
 

To Download AMIS-30623 Datasheet File

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


  Datasheet File OCR Text:
  AMIS-30623 lin micro-stepping motor driver 1.0 general description the AMIS-30623 is a single-chip micro-stepping motor driver with position controller and contro l/diagnostic interface. it is re ady to build dedicated mechatronics solutions connected remotely with a lin master. the chip receives positioning instructions through the bus and subsequently drives the motor coils to the desired position. the on-chip position controller is configurable (otp or ram) for different motor types, positioning ranges and parameters for speed, accele ration and deceleration. the advanced motion qualificat ion 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 mast er can fetch specific status information like actual position, error flags, etc. from each individual slave node. an integrated sensorless step-loss detection prevents the positioner from loosing steps and stops the motor when running into s tall. this enables silent, yet accurate position calibrations during a referencing run and allows semi-closed loop operation when app roaching the mechanical end-stops. the chip is implemented in i2t100 technology, enabling both high voltage analog circuitry and digital functionality on the same chip. the AMIS-30623 is fully compatible with the automotive voltage requirements. 2.0 product features motor driver ? micro-stepping 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 ?2008 scillc. all rights reserved. publication order number: june 2008 ? rev. 4 amis 30623/d
AMIS-30623 power saving ? power-down supply current < 100a ? 5v regulator with wake-up on lin activity emi compatibility ? lin bus integrated slope control ? hv outputs with slope control 3.0 applications the AMIS-30623 is ideally suited for small positioning applicati ons. target markets include: aut omotive (headlamp alignment, hv ac, idle control, cruise control), industrial equipment (lighting, fluid control, labelin g, process control, xyz tables, robots) an d building automation (hvac, surveillance, satellite dish, renewable energy systems). suitable applications typically have multiple axes or require mechatronic solutions with the driver ch ip mounted directly on the motor. 4.0 ordering information table 1: ordering information part number package shipping configuration peak current temperature range stop voltage low threshold amis30623c6239g soic-20 tube/tray 800 ma -40c?..125c typ. 8.5v amis30623c6239rg soic-20 tape & reel 800 ma -40c?..125c typ. 7.5v amis30623c623ag nqfp-32 (7 x 7 mm) tube/tray 800 ma -40c?..125c typ. 8.5v amis30623c623arg nqfp-32 (7 x 7 mm) tape & reel 800 ma -40c?..125c typ. 7.5v 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 rev. 4 | page 2 of 65 | www.onsemi.com
AMIS-30623 6.0 block diagram figure 1: block diagram bus interface oscillator vref temp sense voltage regulator tst lin vbb vdd gnd motxp motxn main control registers otp - rom 4 mhz charge pump cpn cpp vcp motion detection position controller controller swi hw[2:0] motyp motyn pwm regulator y i-sense pwm regulator x i-sense decoder sinewave table dac's AMIS-30623 rev. 4 | page 3 of 65 | www.onsemi.com
AMIS-30623 7.0 pin out figure 2: soic 20 and nqfp-32 pin-out 17 18 19 20 1 2 3 4 hw0 gnd swi gnd hw1 motxp vbb vdd 16 15 14 13 12 11 AMIS-30623 pc20051118.1 5 6 7 8 9 10 gnd gnd motxn motyp motyn tst lin hw2 cpn cpp vbb vcp 1 2 3 5 4 6 7 8 24 23 22 20 21 19 18 17 9 10111213141516 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 exte rnal 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 rev. 4 | page 4 of 65 | www.onsemi.com
AMIS-30623 8.0 package thermal resistance 8.1 soic-20 to lower the junction-to-ambient thermal re sistance, it is recommended to connect t he ground leads to a pcb ground plane layout as illustrated in figure 3. the junction-to-case thermal resistance is depending on the co pper area, copper thickness, pcb thickne ss and number of copper layers. calculating with a total area of 460 mm 2 , 35m copper thickness, 1.6mm pcb thickness and 1layer, the thermal resistance is 28c/w, leading to a ju nction-ambient thermal resistance of 63c/w, figure 3: pcb ground plane layout condition 8.2 nqfp-32 the nqfp is designed to provide superior thermal performance. us ing an exposed die pad on the bottom surface of the package, is partly contributing to this. in order to take full advantage of this, the pcb must have features to conduct heat away from the package. a thermal grounded pad with thermal vias can achieve this. with a layout as shown in figure 4 the thermal resistance junction ? to ? ambient can be brought down to a level of 25c/w. figure 4: pcb ground plane layout condition soic-20 pc20041128.1 nqfp-32 pc20041128.2 rev. 4 | page 5 of 65 | www.onsemi.com
AMIS-30623 9.0 dc parameters the dc parameters are given for vbb and temperature in their oper ating 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 motor driver i msmax,peak max current through motor coil in normal operation 800 ma i msmax,rms max rms current through coil in normal operation 570 ma i msabs absolute error on coil current -10 10 % i msrel error on current ratio i coilx / i coily -7 7 % v bb = 12v, t j = 50 c 0.50 1 v bb = 8v, t j = 50 c 0.55 1 v bb = 12v, t j = 150 c 0.70 1 r dson on resistance for each motor pin (including bond wire) at i msmax v bb = 8v, t j = 150 c 0.85 1 i msl motxp motxn motyp motyn pull down current hiz mode 2 ma lin transmitter i bus_on dominant state, driver on v bus = 1.4v 40 ma i bus_off dominant state, driver off v bus = 0v -1 ma i bus_off recessive state, driver off v bus = v bat 20 a i bus_lim current limitation 50 200 ma r slave lin pull-up resistance 20 30 47 k lin receiver v bus_dom receiver dominant state 0 0.4 *v bb v v bus_rec receiver recessive state 0.6 * v bb v bb v v bus_hys lin receiver hysteresis 0.05 * v bb 0.2 * v bb v thermal warning and shutdown t tw thermal warning 138 145 152 c t tsd (1) (2) thermal shutdown t tw + 10 c t low (2) low temperature warning t tw - 155 c supply and voltage regulator v bb nominal operating supply range 6.5 18 v v bbotp supply voltage for otp zapping (3) 9.0 10.0 v i bat total current consumption unloaded outputs 3.50 10.0 ma i bat_s vbb sleep mode current consumption 50 100 a v dd internal regulated output (4) 8v < v bb < 18v 4.75 5 5.50 v i ddstop digital current consumption v bb < uv 2 2 ma v ddreset digital supply reset level @ power down (5) 4.5 v i ddlim 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 v bat , 2 k v bb_sw vbb range for guaranteed operation of swi and hw2 6 29 v v max_sw swi hw2 maximum voltage t < 1s 40v v switch input and hardwire address input i lim_sw swi hw2 current limitation short to gnd or v bat 30 ma rev. 4 | page 6 of 65 | www.onsemi.com
AMIS-30623 symbol pin(s) parameter test conditions min. typ. max. unit hardwired address inputs and test pin v low input level high 0.7 * v dd . v v high input level low 0.3 * v dd v hw hyst hw0 hw1 tst hysteresis 0.075 * v dd v charge pump v bb > 15v v bb +10 v bb +12.5 v bb +15 v v cp output voltage 8v < v bb < 15v 2 * v bb ? 5 2 * v bb ? 2.5 2 * v bb v c buffer vcp external buffer capacitor 220 470 nf c pump cpp cpn external pump capacitor 220 470 nf motion qualification mode output v out output voltage swing testbemf lin command 0 - 4,85 v r out output impedance service mode lin command 2 k av swi gain = v swi / v bemf service mode lin command 0,50 notes: (1) no more than 100 cumulated hours in life time above t tsd . (2) thermal shutdown and low temperature wa rning 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 uv 1 stop voltage high threshold 8.8 9.4 9.9 v uv 2 vbb stop voltage low threshold 8.1 8.5 9.0 v supply thresholds AMIS-30623b uv 1 stop voltage high threshold 7.8 8.4 8.9 v uv 2 vbb stop voltage low threshold 7.1 7.5 8.0 v rev. 4 | page 7 of 65 | www.onsemi.com
AMIS-30623 10.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 revisi on 1.3. unless otherwise specified 8v < v bb < 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 t pu power-up time guaranteed by design 10 ms internal oscillator f osc frequency of internal oscillator 3.6 4.0 4.4 mhz lin transmitter t_slope_f/r slope time falling or rising edge extrapolated between 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 delay bus dominant 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 t wake lin wake-up delay time 50 100 200 s switch input and hardwire address input t sw scan pulse period (2) 1024 s t sw_on swi hw2 scan pulse duration 128 ss motor driver pwmfreq = 0 (3) 20.6 22.8 25.0 khz f pwm pwm frequency (2) pwmfreq = 1 (3) 41,2 45,6 50,0 khz f jit_depth pwm jitter modulation depth pwmjen = 1 (3) 10 % t brise turn-on transient time 170 ns t bfall turn-off transient time between 10% and 90% 140 ns t stab motxx run current stabilization time 29 32 35 ms charge pump f cp 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 rev. 4 | page 8 of 65 | www.onsemi.com
AMIS-30623 figure 5: lin delay measurement 60% lin t_slope_f 40% t t_slope_r 60% 40% pc20051123.3 v busrec v busdom figure 6: lin slope measurement pc20051123.2 txd 50% 50% 50% 50% t_rec_f t_rec_r t t rxd 95% lin t_tr_f t_tr_r 5% 50% 50% t rev. 4 | page 9 of 65 | www.onsemi.com
AMIS-30623 11.0 typical application figure 7: typical application diagram AMIS-30623 v bat gnd 2 motxp pc20051118.1 lin 100 nf lin bus 2,7 nf motxn motyp motyn 11 vdd vbb 12 vcp swi cpp cpn 9 8 hw0 hw1 10 hw2 18 m 16 15 13 20 tst 3 vbb 19 1 6 5 47 14 17 100 nf 100 nf 220 nf 2,7 nf 220 nf 1 k connect to v bat or gnd connect to v bat or gnd 1 k 100 f vdr 27v c 1 c 2 c 3 c 4 c 5 c 6 c 7 c 8 c 9 1 f notes: (1) all resistors are 5%, ? w (2) c 1 , c 2 minimum value is 2.7nf, maximum value is 10nf (3) depending on the application, the esr value and working voltage of c 7 must be carefully chosen (4) c 3 and c 4 must be close to pins vbb and gnd (5) c 5 and c 6 must be as close as possible to pins cpn, cpp, vcp, and vbb to reduce emc radiation (6) c 9 must be a ceramic capacitor to assure low esr 12.0 positioning parameters 12.1 stepping modes one of four possible steppi ng modes can be programmed: ? half-stepping ? 1/4 micro-stepping ? 1/8 micro-stepping ? 1/16 micro-stepping rev. 4 | page 10 of 65 | www.onsemi.com
AMIS-30623 12.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 par ameter while a motion is ongoing. all 16 entries for the vmax parameter are divided into four groups. when changing vmax during a moti on the application must take care that the new vm ax parameter stays within the same group. table 8: maximum velocity selection table vmax index stepping mode hex dec vmax (ull step/s) group half-stepping (half-step/s) 1/4 th micro-stepping (micro-step/s) 1/8 th micro-stepping (micro-step/s) 1/16 th 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 12.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 fu ll-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 motion without acceleration ( accshape = 1 ) the length of the steps = 1/ vmin. in case of accelerated motion ( accshape = 0) the length of the first step is shorter than 1/ vmin depending of vmin, vmax and acc . rev. 4 | page 11 of 65 | www.onsemi.com
AMIS-30623 12.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/s2. one obser ves restrictions for some co mbination 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/s2) 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 equiva lent full-step during acceleration phase is: acc2 vmin vmax nstep 2 2 ? = 12.5 positioning the position programmed in commands setposition and setpositionshort is given as a number of (micro)steps. according to the chosen stepping mode, the position words must be aligned as described in table 11. when using command setpositionshort or gotosecureposition , data is automatically aligned. table 11: position word alignment stepping mode position word: pos[15:0] shift 1/16 th s b14 b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 lsb no shift 1/8 th s b13 b12 b11 b10 b9 b8 b7 b6 b5 b4 b3 b2 b1 lsb 0 1-bit left ? 2 1/4 th 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 rev. 4 | page 12 of 65 | www.onsemi.com
AMIS-30623 12.5.1. position ranges a position is coded by using the binary two?s complement forma t. according to the positioning commands used and to the chosen stepping mode, the position range will be as shown in table 12 . table 12: position range command stepping mode position range full range excursion number of bits half-stepping -4096 to +4095 8192 half-steps 13 1/4 th micro-stepping -8192 to +8191 16384 micro-steps 14 1/8 th micro-stepping -16384 to +16383 32768 micro-steps 15 setposition 1/16 th micro-stepping -32768 to +32767 65536 micro-steps 16 setpositionshort half-stepping -1024 to +1023 2048 half-steps 11 when using the command setposition , although coded on 16 bits, the position word will have to be shifted to the left by a certain number of bits, according to the stepping mode. 12.5.2. secure position a secure position can be programmed. it is coded in 11-bits, t hus having a lower resolution than normal positions, as shown in table 13 . see also command gotosecureposition and lin lost behavior . table 13: secure position stepping mode secure position resolution half-stepping 4 half-steps 1/4 th micro-stepping 8 micro-steps (1/4 th ) 1/8 th micro-stepping 16 micro-steps (1/8 th ) 1/16 th micro-stepping 32 micro-steps (1/16 th ) important note (1) t he secure position is disabled in case the programmed value is the reserved code ?10000000000? (0x400 or most negative positi on). (2) the resolution of the secure position is limited to 9 bit at start-up. the otp register is copied in ram as illustrated bel ow. secpos1 and secpos0 = 0 secpos10 secpos9 secpos8 secpos2 secpos1 secpos0 secpos10 secpos9 secpos8 secpos2 f a ilsa f e sl eepen otp ram 12.5.3. shaft a shaft bit which can be programmed in otp or with command setmotorparam , defines whether a positive motion is a clockwise or counter-clockwise rotation (an outer or an inner motion for linear actuators): ? shaft = 0 ? motxp is used as positive pin of the x coil, while motxn is the negative one. ? shaft = 1 ? opposite situation rev. 4 | page 13 of 65 | www.onsemi.com
AMIS-30623 13.0 structural description see figure 1 . 13.1 stepper motor driver the motor driver receives the control signals from the control logic. t he main features are: ? two h-bridges designed to drive a stepper motor with two separ ated coils. each coil (x and y) is driven by one h-bridge, and the driver controls the currents flowing thro ugh the coils. the rotational position of the rotor, in unloaded condition, is de fined by the ratio of current flowing in x and y. the torque of the st epper motor when unloaded is controlled by the magnitude of the currents in x and y. ? the control block for the h-bridges including the pwm control, the synchr onous rectification, and the internal current sensing circuitry. ? the charge pump to allow driving of the h-bridges? high side transistors. ? two pre-scale 4-bit dac?s to set the maximum magnitude of the current through x and y. ? two dac?s to set the correct current ratio through x and y. battery voltage monitoring is also performed by this block, which provides needed information to the control logic part. the sa me applies for detection and reporting of an electrical problem that could occur on the coils or the charge pump. 13.2 control logic (position cont roller and main control) the control logic block stores the information provided by the lin interface (in a ram or an otp memory) and digitally controls the positioning of the stepper motor in terms of speed and acceleration, by feeding the right signals to the motor driver state mac hine. it will take into account the successive positioning commands to properly initiate or stop the stepper motor in order to reach the set point in a minimum time. it also receives feedback from the motor driver part in order to manage possible problems and decide on internal actions and re porting to the lin interface. 13.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 h its the end-position, the velocity and as a result also the generated back emf, is disturbed. the AMIS-30623 senses the back emf, calcu lates a moving average and compares the value with two independent thre shold levels. if the back emf disturbance is bigger than the set threshold, the running motor is stopped. 13.4 lin interface the lin interface implements the physical layer and the mac and llc layers accord ing to the osi reference model. it provides an d 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 (tem perature, battery voltage, electric al status?) and pass it to th e lin master node. 13.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 t he pwm control of the motor driv er. ? an internal trimmed voltage source for precise referencing. ? a protection block featuring a thermal shutdown and a power-on-reset circuit. ? a 5v regulator (from the battery supply) to supply the internal logic circuitry. rev. 4 | page 14 of 65 | www.onsemi.com
AMIS-30623 14.0 functions description this chapter describes the following functional blocks in more detail: ? position controller ? main control and register, otp memory + rom ? motor driver the motion detection and lin controller are discussed in separate chapters. 14.1 position controller 14.1.1. positioning and motion control a positioning command will produce a motion as illustrated in figure 8 . a motion starts with an acceleration phase from minimum velocity (vmin) to maximum velocity (vmax) , and ends with a symmetrical deceleration. this is defined by the control logic acco rding to the position required by the application and the parameters pr ogrammed by the application during configuration phase. the curre nt in the coils is also programmable. figure 8: positioning and motion control velocity vma x vmin acceleration range deceleration range pstart pstop p=0 position optional zero switch zero speed hold current pmin pmax 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 rev. 4 | page 15 of 65 | www.onsemi.com
AMIS-30623 different positioning examples are shown in the table below. table 15: positioning examples positioning examples short motion vel oci t y time new positioning command in same direction, shorter or longer, while a motion is running at maximum velocity vel oci t y 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. vel oci t y time new positioning command in reverse direction while motion is running at maximum velocity vel oci t y time new positioning command in reverse direction while in deceleration phase vel oci t y time new velocity programming while motion is running vel o ci ty time rev. 4 | page 16 of 65 | www.onsemi.com
AMIS-30623 14.1.2. dual positioning a setdualposition command allows the user to perform a positioning using two different velocities. the first motion is done with the specified vmin and vmax velocities in the setdualposition command, with the acceleration (deceleration) parameter already in ram, to a position pos1[15:0] also specified in setdualposition . then a second relative motion to a position pos1[15:0] + pos2[15:0] is done at the specified vmin velocity in the setdualposition command (no acceleration). once the second motion is achieved, the actpos register is reset to zero, whereas tagpos register is not changed. velocity vmax vmin 1 s t motion time reset actpos 2 n d motion 26.6 ms 26.6 ms figure 9: dual positioning remark : this operation cannot be interrupted or influenced by any further command unless the occurrence of the conditions driving to a motor shutdown or by a hardstop command. sending a setdualposition command while a motion is already ongoing is not recommended. notes (0) the priority encoder is describing the management of states a nd commands. all notes below are to be considered illustrative . (1) the last setposition(short) command issued during an dualposition sequence will be kept in memory and executed afterwards. this applies also for the commands sleep and setmotorparam and gotosecureposition. (2) commands such as getactualpos or getstatus will be executed while a dual positioning is running. this applies also for a dy namic id assignment lin frame (3) a dualposition sequence starts by setting tagpos register to secpos value, provided secure position is enabled otherwise ta gpos is reset to zero. (4) the acceleration/deceleration value applied during a dualposition sequence is the one stored in ram before the setdualposition command is sent. the same applies for shaft bit, but not for irun, ihold and stepmode, which can be changed during the dual positioning sequence. (5) the pos1, pos2, vmax and vmin values programmed in a setdualposition command apply only for this sequence. all further positioning will use the parameters stored in ram (programmed for instance by a former setmotorparam command). (6) commands resetposition, setdualposition, and softstop will be ignored while a dualposition sequence is ongoing, and will no t be executed afterwards. (7) a setmotorparam command should not be sent during a setdualposition sequence. (8) if for some reason actpos equals pos1[15:0] at the moment the setdualposition command is issued, the circuit will enter in deadlock state. therefore, the application should check the actual position by a getposition or a getfullstatus command prior to send the setdualposition command. 14.1.3. position periodicity depending on the stepping mode the position can range from ?4096 to +4095 in half-step to ?32768 to +32767 in 1/16 th micro-stepping mode. one can project all thes e positions lying on a circle. when executing the command setposition, the position controller will set the movement direction in such a wa y that the traveled distance is minimum. the figure below illustrates that the moving direction going from actpos = +30000 to tagpos = ?30000 is clockwise. if a counter clockwise motion is required in this example, several consecutive setposition commands can be used. one could also use for larger movements the command < runvelocity>. rev. 4 | page 17 of 65 | www.onsemi.com
AMIS-30623 0 actpos = +30000 tagpos = -30000 -10000 -20000 +10000 +20000 motion direction figure 10: motion direction is function of difference between actpos and tagpos 14.1.4. hardwired address hw2 in figure 11 a simplified schematic diagram is shown of the hw2 com parator circuit. the hw2 pin is sensed via 2 switches. the drivehs and drivels control lines are alter natively closing the top and bottom switch c onnecting hw2 pin with a current to resi stor converter. closing s top (drivehs = 1) will sense a current to gnd. in that case the top i ? r convertor output is low, via the closed passing switch s pass_t this signal is fed to the ?r? comparator whic h output hw2_cmp is high. closing bottom switch s bot (drivels = 1) will sense a current to vbat. the corresponding i ? r converter output is low and via s pass_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 r th logic high low float drivehs drivels hw2_cmp hw2 "r"-comp state s top s bot s pass_t s pass_b debouncer debouncer 32 s 64 ms figure 11: simplified schematic diagram of the hw2 comparator three 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 rev. 4 | page 18 of 65 | www.onsemi.com
AMIS-30623 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 controlling the correct sequence in closing the switches and in interpreting the 32 s debounced hw2_cmp output accordingly. the output of this sma ll state-machine is corresponding to: - high or address = 1 - low or address = 0 - floating 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 r th tsw = 1024 s drivehs "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 s bot 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 rev. 4 | page 19 of 65 | www.onsemi.com
AMIS-30623 state and the new state will be high. (see table 16 ). the next time s bot 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 s bot is closed this will be sensed. there will be no current, the output of the corresponding i ? r converter is high and the hw2_cmp will be low. the previous state was high. based in table 16 one can see that the state changes to float. this will trigger a motion to secure position after a debounce time of 64 ms. this prevents false triggering in case of false mi cro 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 s top is closed. the output of the top i ? r converter is low and as a result the hw2_cmp output switches to high. again based on the stated diagram in table 1 one can see that the state will change to low. this low state will be interpreted as hw2 address = 0. rev. 4 | page 20 of 65 | www.onsemi.com
AMIS-30623 14.1.5. external switch swi as illustrated in figure 13 the swi comparator is almost identical to hw2. the ma jor difference is in the limi ted number of states. only open or closed is recognised leading to respectively esw = 0 and esw = 1. comp i ? r i ? r r th logic closed open drivehs drivels swi_cmp swi 12 3 "r"-comp state 2 = r2vbat 3 = open 1 = r2gnd s top s bot s pass_t s pass_b 32 s debouncer figure 13: simplified schematic diagram of the swi comparator as illustrated in figure 15 a change in state is always synchr onised with drivehs or drivels. the same synchronisation is valid for updating the internal position register. this means that after every current pulse (or closing of s top or s bot ) the state of position switch together with the correspondi ng position is memorised. using the getactualpos commands reads back the actpos register and the status of esw. in th is way the master node may get synchronous information about the state of the swit ch 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. rev. 4 | page 21 of 65 | www.onsemi.com
AMIS-30623 r th tsw =1024 s drivehs "r"-comp t t t drivels swi_cmp esw t tsw_on = 128 s t 0111 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 14.2 main control and register, otp memory + rom 14.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 l in messages and execute the associated commands. after power-up, the r egisters and flags are in the re set state, some of them bein g loaded with the otp memory content (see table 19 ). 14.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-bridge s will be in high impedance mode, and the registers and flags will be in a predetermined position. this is documented in table 19 and table 20. 14.2.3. soft stop a soft stop is an immediate interruption of a motion, but with a de celeration phase. at the end of this action, the register tagpos is loaded with the value contained in register actpos to avoid an attempt of the circuit to achieve the motion (see table 19 ). the circuit is then ready to execute a new positioning command, provided thermal and electrical conditions allow for it. rev. 4 | page 22 of 65 | www.onsemi.com
AMIS-30623 14.2.4. sleep mode when entering sleep mode, the stepper-motor ca n be driven to its secure position. after which, the circuit is completely powere d down, apart from the lin receiver, which remains active to detect domi nant state on the bus. in case sleep mode is entered while a mo tion is ongoing, a transition will occur towards secure position as described in positioning and motion control provided secpos is enabled. otherwise, softstop is performed. sleep mode can be entered in the following cases: ? the circuit receives a lin frame with identifier 0x3c and first data byte containing 0x00 , as required by lin specification rev 1.3. see sleep ? in case the sleepen bit =1 and the lin bu s 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). 14.2.5. thermal shutdown mode when thermal shutdown occurs, the circuit performs a softstop command and goes to motor shutdown mode (see below). 14.2.6. temperature management the AMIS-30623 monitors temperature by means of two thresholds and one shutdown level, as illustr ated in the state diagram belo w. 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 shutdown (motion disabled) post thermal warning - < tinfo > = ? 00 ? - < tw > = ?1? - < tsd > = ?0? t > tlow t > ttw t < ttsd t > ttsd post thermal shutdown 1 - < tinfo > = ? 10 ? - < tw > = ?1? - < tsd > = ?1? - motor shutdown (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 rev. 4 | page 23 of 65 | www.onsemi.com
AMIS-30623 14.2.7. autarkic functionality in under-voltage condition 14.2.7.1. battery voltage management the AMIS-30623 monitors the battery voltage by means of one thre shold and one shutdown level, as illustrated in the state diagr am below. the only condition to reset flags < uv2 > and < steploss > is to recover a battery voltage higher than uv1 and to receive a getstatus or a getfullstatus command. figure 17: state diagram ba ttery 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) 14.2.7.2. autarkic function in stop mode 1 the motor is put in shutdown state. the < uv2> flag is set. in case vbb > uv1 AMIS-30623 accepts updates of the target position by means of the reception of setposition , setpositionshort , setposparam and gotosecureposition commands, even if the < uv2 > flag is not prior cleared. in stop mode 2 the motor is stopped immediately and put in shutdown state. the and 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 aft er receiving a getstatus or getfullstatus command. updates of the target position by means of the reception of setposition , setpositionshort , setposparam and gotosecureposition commands is accepted, even if the < uv2 > and < steploss > flags are not prior cleared. important notes: 1. in the case of stop mode 2 care needs to be taken because the accumulated stepl oss can cause a significant deviation between physical and stored actual position. 2. the setdualposition command will only be executed after clearing the < uv2 > and < steploss > flags. 3. ram reset occurs when vdd < vddreset (digital power on reset level) 4. the autarkic function remains ac tive as long as vdd > vddreset 14.2.7.3. logical implementation autarkic function the logic uses the < uv2>, < cpfail > and < steploss > signal not the state. the state is set one clock after the signal and would therefore sl ow down the reaction time. also the state can only be cleared after a getstatus or getfullstatus command which prevents the autonomous function. only < uv2 > and < cpfail > are applicable for finishing the motion to the original target position : < uv2 > needs to be cleared to leave the shutdown state < cpfail > needs to be cleared to avoid a new hardstop after entering the gotopos state the < steploss > signal is used to block successive motions. also this signal will be cleared after vbb > uv1, making updates of tagpos possible. rev. 4 | page 24 of 65 | www.onsemi.com
AMIS-30623 the implementation is illustrat ed in the state diagram below. figure 18: state diagram auta rkic under-voltage handling hs = f (uv2sig, ovc1, ovc2, cpfail, ?) pwm disabled motor in hiz gotopos hardstop stopped if uv2sig = 1 then tagpos actpos else copy tagpos = actpos vbb > uv1 getstatus getfullstatus hs to positioner tagpos actpos shutdown in stop mode 1 AMIS-30623 is in the stopped state. because vbb < uv2 it enters the shutdown state. once vbb > uv1 the stopped state will be entered again. in stop mode 2 AMIS-30623 is in the gotopos state. because vbb < uv2 the uv2sig is set and the hardst op state is entered. after the hardstop motion is finished (hs to posi tioner) it enters the stopped stat e. uv2sig = 1 so the tagpos is not copied in actpo s, and the shutdown stated is entered. once v bb > uv1 the stopped state will be entered again and because tagpos = actpos c623 moves to gotopos again. < uv2sig>, and < steploss > are cleared when vbb > uv1 so ha rdstop is not entered again. 14.2.8. otp register 14.2.8.1. 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 and 0x01 and bit lockbt are already programmed in the otp memory at circuit delivery. they correspond to the calibration of the circuit and are just documented here as an indication. each opt bit is at ?0? when not zapped. zapping a bit will set it to ?1?. thus only bits having to be at ?1? must be zapped. za pping of a bit already at ?1? is disabled. each otp byte will be programmed separately (see command setotpparam ). once otp programming is completed, bit lockbg can be zapped, to disable future zapping, otherwise any otp bit at ?0? could still be zapped by using a setotpparam command. rev. 4 | page 25 of 65 | www.onsemi.com
AMIS-30623 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 load the application par ameters via the lin bus in the ram pr ior to an otp memory programming is setmotorparam . this allows for a functional verification before using a setotpparam command to program and zap separately one otp memory byte. a getotpparam command issued after each setotpparam command allows to verify the correct byte zapping. note: zapped bits will really be ?active? after a getotpparam or a resettodefault command or after a power-up. 14.2.8.2. application parameters stored in otp memory except for the physical address pa[3:0] these parameters, although programmed in a non-volatile memory can still be overridden in ram by a lin writing operation. pa[3:0] in combination with hw[2:0] it forms the physical addre ss 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 rev. 4 | page 26 of 65 | www.onsemi.com
AMIS-30623 irun[3:0] current amplitude value to be fed to each coil of the stepper-motor. the table bel ow 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. t he 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. step mode step mode 0 0 1/2 stepping 0 1 1/4 stepping 1 0 1/8 stepping 1 1 1/16 stepping shaft indicator of reference position. if shaft = ?0?, the reference position is the maximum inner position, whereas if shaft = ?1?, the reference position is the maximum outer position. secpos[10:0] secure position of the stepper-motor. this is the position to which the motor is driven in case of a lin communication loss or when the lin error counter overflows. if secpos[10:0] = ?100 0000 0000?, this means that secure position is disabled, e.g. the stepper-motor will be kept in t he position occupied at the mo ment 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?. rev. 4 | page 27 of 65 | www.onsemi.com
AMIS-30623 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/s2) 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 sleepen if sleepen=1 -> AMIS-30623 always go to low-power sleep mode incase lin timeout . if sleepen=0 -> there is no more automat ic transition to low-current sleep mode (i.e. stay in stop mode with applied hold current, unless there are failures). failsafe if failsafe=1 -> in case of lin lost at por start a motion to a safe position if failsafe =0 -> no motion in case of lin lost rev. 4 | page 28 of 65 | www.onsemi.com
AMIS-30623 14.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 2 setmotorparam ?0? ? normal acceleration from vmin to vmax ?1? ? motion at vmin without acceleration ?0? coil peak current irun 4 getfullstatus resettodefault 2 setmotorparam operating current see look-up table irun coil hold current ihold 4 getfullstatus resettodefault 2 setmotorparam standstill current see look-up table ihold minimum velocity vmin 4 getfullstatus resettodefault 2 setmotorparam see section 13.3 minimum velocity see look-up table vmin maximum velocity vmax 4 getfullstatus resettodefault 2 setmotorparam see section 13.2 maximum velocity see look-up table vmax shaft shaft 1 getfullstatus resettodefault 2 setmotorparam direction of movement for positive velocity acceleration/ deceleration acc 4 getfullstatus resettodefault 2 setmotorparam see section 13.4 acceleration see look-up table acc secure position secpos 11 getfullstatus resettodefault 2 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 triggers autonomous motion after lin lost at por see also 16.8 lin lost behavior fail safe failsafe setotpparam 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. rev. 4 | page 29 of 65 | www.onsemi.com
AMIS-30623 14.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 or < ovc2> or or or resets only after get(full)status ?0? external switch status esw 1 getactualpos getstatus getfullstatus ?0? = open ?1? = close ?0? electrical flag hs 1 internal use < cpfail > or < uv2 > or < eldef > or < 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 position enabled secen 1 internal use ?0? if secpos = ?100 0000 0000? ?1? otherwise n.a. circuit going to sleep 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. (> 155c typ.) reset only after get(full)status and if < tinfo > = ?00? ?0? thermal warning tw 1 getactualpos getstatus getfullstatus ?1? = over temp. (> 145c) 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 been lost; can be reset to ?0? with a getstatus or a getfullstatus command. ?1? 14.2.10.1. priority encoder the table below describes the state managem ent performed by the main control block. rev. 4 | page 30 of 65 | www.onsemi.com
AMIS-30623 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 and 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 ( or ) = ?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 = ?1? then tagpos = secpos ; gotopos if = ?1? then tagpos = secpos if = ?1? then tagpos = secpos dualposition dualposition hardstop hardstop ; = ?1? hardstop ; = ?1? hardstop ; = ?1? softstop softstop sleep or lin timeout [ ? = ?1?, reset by any lin command received later ] see note 9 if = ?1? then tagpos = secpos else softstop if = ?1? then tagpos = secpos ; will be evaluated after dualposition no action; flag will be evaluated when motor stops no action; flag will be evaluated when motor stops sleep hardstop [ ? ( or or ) = ?1? ? = ?1? ] shutdown hardstop hardstop hardstop thermal shutdown [ = ?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) rev. 4 | page 31 of 65 | www.onsemi.com
AMIS-30623 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 c ommand are loaded with the values stored in ram at the moment the dualposition sequence starts. accshape is forced to ?1? during second motion even if a resettodefault command is issued during a dualposition sequence, in which case accshape at ?0? will be taken into account after the dualposition sequence. a getfullstatus command will return the default parameters for vmax and vmin stored in ram. 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 can be reset only after the master could read them via a getstatus or getfullstatus command, and provided the physical conditions allow for it (normal temperature, correct battery voltage and no electrical or charge pump defect). 7) a setmotorparam command sent while a motion is ongoing (state gotopos ) should not attempt to modify acc and vmin values. this can be done during a dualposition sequence since this motion uses its own parameters, the new parameters will be taken into account at the next setp osition 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 = ?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 st ates 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. 14) if < steploss > is active, then setposition, setpositionshort and gotosecureposition commands are ignored (they will not modify tagpos register whatever the state), and motion to secure position is forbidden after a sleep command or a lin timeout (the circuit will go into sleep state immediately, without positioning to secure position). other command like dualposition or resetposition will be executed if allowed by current state. < steploss > can only be cleared by a getstatus or getfullstatus command. hardstop stopped gotopos shutdown sleep thermal shutdown hardstop hardstop hardstop runinit motion finished gotosecpos setposition motion finished motion finished thermal shutdown softstop any lin command and (not or and actpos = secpos or ) or lin timeout hardstop thermal shutdown runinit softstop priorities 1 2 3 4 motion finished por figure 19: state diagram remark: if ?sleepen?=0, then the red arrow from stopped state to sleep state does not exist. rev. 4 | page 32 of 65 | www.onsemi.com
AMIS-30623 14.3 motor driver 14.3.1. current waveforms in the coils the figure below illustrates the current fed to the mo tor coils by the motor driver in half-step mode. t pc20051205.1 coil x coil y ix iy 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/16 th micro stepping (1 electrical period). t pc20051123.4 coil x coil y ix iy figure 21: current waveforms in motorcoils x and y in 1/16 th microstep mode 14.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 wh ile ensuring high energy transfer efficiency, a regulation based on pwm prin ciple is used. the regulation lo op performs a comparison of the sensed rev. 4 | page 33 of 65 | www.onsemi.com
AMIS-30623 output current to an internal reference, and features a digital regulation generating the pwm signal that drives the output swi tches. the zoom over one micro-step in the figure above sh ows how the pwm circuit performs this regulation. to reduce the current ripple, a higher pwm frequency should be selectable. the ram regist er 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 14.3.3. pwm jitter to lower the power spectrum for the fundam ental and higher harmonics of the pwm fre quency, 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 14.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. 14.3.5. motor stopping phase at the end of the deceleration phase, t he currents are maintained in the coils at their actual dc level (hence keeping the sine /cosine ratio between coils) during the stabilization time t stab (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 ne w positioning order can then be executed. figure 22: motor stopping phase t ix iy t stab pc20051123.5 14.3.6. charge pump monitoring if the charge pump voltage is not sufficient for driving the high side transistors (due to a failure), an internal hardstop command is issued. this is acknowledged to the master by raising flag < cpfail > (available with command getfullstatus ). in case this failure occurs while a motion is ongoing, the flag < steploss > is also raised. rev. 4 | page 34 of 65 | www.onsemi.com
AMIS-30623 14.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 rev. 4 | page 35 of 65 | www.onsemi.com
AMIS-30623 14.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 detect ed 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 app lication tip. the master can c heck 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 or or < steploss > or or by the application - possible new detection of over temperature or low voltage or electrical problem ? circuit sets or < tsd > or or < steploss > or or again at ?1? figure 23: example of possible sequence used to detect and determine cause of motor shutdown important: while in shutdown mode, since there is no hold current in the coils, the mechanical load can cause a step loss, which indeed cannot be flagged by the AMIS-30623. warning: the application should limit the number of consecutive getstatus or getfullstatus commands to try to get the amis- 30623 out of shutdown mode when this proves to be unsuccessful, e.g. there is a perm anent defect. the reliability of the circui t 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 rev. 4 | page 36 of 65 | www.onsemi.com
AMIS-30623 1 4.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 h its the end-position, the velocity and as a result also the generated back emf, is disturbed. the AMIS-30623 senses the back emf, calcu lates a moving average and compares the value with two independent threshold levels: absolute threshold ( absthr[3:0] ) and delta threshold (delthr[3:0]). instructions for correct use of these two levels in combination with three additional parameters (minsamples, fs 2stallen and dc100sdis) are outside the scope of this datasheet. detailed information is available in a dedicated white paper ?robust mo tion control with amis-3062x stepper motor drivers?, available on http://www.amis.com/ . if the motor is accelerated by a pulling or propelling force and t he resulting back emf increases above the delta threshold (+ thr), then is set. when the motor is slowing down and the resulting back emf decreases below the delta threshold (- thr), then is set. when the motor is blocked and the velocity is zero after the acceleration phase, the back emf is low or zero. when this value is below the absolute threshold, is set. the < stall> flag is the or function of or or . absstall t velocity v max v min t motor speed vbemf v absth t back emf vbemf deltastallhi t v bemf v bemf + 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 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 t he maximum velocity, not during acceleration or deceleration. if the motor is positioning when stall is de tected, an (internal) hardst op of the motor is generated and the and flags are set. these flags can only be reset by sending a getfullstatus command. if stall appears during dualposition then the first phase is cancel led (via internal hardstop) and after timeout (26.6 ms) the second phase at vmin starts. when the < stall> flag is set the position controller will generate an internal hardstop. as a consequence also the steploss flag will be set. the position in the internal counter will be copied to the actpos register. all flags can be rea d out with the getstatus or getfullstatus command. important remark: using getfullstatus will read and clear the following flags: < steploss> , < stall>, , , and . new positioning is possible and the ac tpos register will be further updated . using getstatus will read and clear only the < steploss> flag. the < stall> , , , and flags are not cleared. new positioning is possible and the actp os register will be further updated . rev. 4 | page 37 of 65 | www.onsemi.com
AMIS-30623 motion detection is disabled when the ram registers absthr[3:0] and delthr[3:0] are empty or zero. both levels can be programme d using the lin command setstallparam in the registers absthr[3:0] and delthr[3:0]. also in the otp register absthr[3:0] and delthr[3:0] can be set using the lin command setotpparam. these va lues 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 sampling delay time expressed in number of pwm cycles, for more information please refer to the white paper ?robust motion control with amis-3062x stepper motor drivers?, table 28: back emf sample delay time t delay ( 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 delthr <>0 (i.e. motion detection is enabled), then stall detection will be activated after the acceleration ramp + an additional number of full-steps, acco rding 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 ?robus t motion control with amis-3062x stepper motor drivers?, dc100sdis when a motor with large bemf is operated at high speed and low supp ly voltage, then the pwm duty cycle can be as high as 100%. this indicates that the supply is too low to generate the requir ed torque and might also result in erroneously triggering the s tall detection. the bit ?dc100sdis? disables stall detection when dut y cycle is 100%. for more information please refer to the whi te paper ?robust motion control with amis-3062x stepper motor drivers?, rev. 4 | page 38 of 65 | www.onsemi.com
AMIS-30623 motion qualification mode this mode is useful to debug motion parameters and to verify the stability of stepper motor syst ems. the motion qualification m ode is entered by means of the lin command testbemf . the swi pin will be converted into an ana logue output on which the bemf integrator output can be measured. once activated, it can only be stopped after a por. during t he back emf observation, reading of the swi state is internally forbidden. more information is available in the white paper ?robust motion control with amis-3062x stepper motor drivers?. rev. 4 | page 39 of 65 | www.onsemi.com
AMIS-30623 1 5.0 lin controller 15.1 general description the lin (local interconnect network) is a serial communications pr otocol that efficiently supports the control of mechatronic n odes in distributed automotive applications. the in terface implemented in the AMIS-30623 is comp liant with the lin re v. 1.3 specificati ons. it features a slave node, thus allowing for: ? sin gle-master / multip le-slave communication ? sel f 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 hand ler. 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 t he line driver/receiv er follows the iso 9141 standard with some enhancements regarding the emi behavior. lin rxd v bb 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 1 5.2 slave operational range for proper self synchronization the lin interface will synchronize pr operly in the following conditions: ? vbb 8 v ? gro und shift between master node and slave node < 1v it is highly recommended to use the same type of reverse batte ry voltage protection diode fo r the master and the slave nodes. rev. 4 | page 40 of 65 | www.onsemi.com
AMIS-30623 1 5.3 functional description 1 5.3.1. analog part the transmitter is a low-side driver with a pull-up resistor an d slope control. figure 5 shows the characteristics of the trans mitted 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 threshold equal to vbb/2. figure 5 also shows the delay between the received signal and the internal rxd signal. see also ac parameters for timing values. 15.3 .2. protocol handler this block implements: ? bit s ynchronization ? bit t iming ? the mac layer ? the llc layer ? the supervisor 1 5.3.3. electromagnetic compatibility emc behavior fulfills requirements defined by lin specification, rev. 1.3. 1 5.4 error status register the lin interface implements a r egister containing an error stat us 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. 15.5 phy sical 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 differ ent circuits on the same bus. it is a combination of 4 otp m emory bits and of the 3 hardwired address bits (pins hw[2:0]). however the ma ximum 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 netwo rk to not exceed 16. otherwis e the reduced network impedance may prohibit a fault free communication un der worst case conditions. every additional node lowers the network impedance by approximately 3%. ad6 ad5 ad4 ad3 ad2 ad1 ad0 physical address pa3 pa2 pa1 pa0 otp memory hw0 hw1 hw2 hardwired bits note: pins hw0 and hw1 are 5v digital inputs, whereas pin hw2 is compliant with a 12v level, e.g. it can be connected to vbat or gnd via a terminal of the pcb. to provide cleaning current for this terminal, the system used for pin swi is also implemented for pin hw2 (see hardwired address hw2 ). rev. 4 | page 41 of 65 | www.onsemi.com
AMIS-30623 15.6 lin frames the lin frames can be divided in writing and reading frames. a frame is composed of an 8-bit ident ifier followed by 2, 4 or 8 d ata-bytes. writing frames will be used to: ? pro gram the otp memory; ? con figure the component with the stepper-motor parameters (current, speed, stepping-mode, etc.); ? provide set-point positio n for the stepper-motor. whereas reading frames will be used to: ? get the actual positi on of the stepper-motor; ? get status information such as error flags; ? verify the right programming and configuration of the component. 1 5.6.1. writing frames a writing frame is sent by the lin master to send commands and/or information to the slave nodes. according to the lin specific ation, identifiers are to be used to determine a specific action. if a physical addressing is needed, t hen 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 le ss identifiers. one can for exa mple use the reserved identifier 0x3c and take advantage of the 8 byte data field to provide a physical address, a command and the needed parameters for the action, as ill ustrated in the example below. id data1 data2 data3 dat a4 data5 data6 data7 data8 0x3c 00 1 appcmd command physical address parameters note: bit 7 of byte data1 must be at ?1? since the lin specification requires that contents from 0x00 to 0x7f must be reserved for br oadcast 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 dy namically assigned identifier. this type is dedicated to short writing actions when the bus load can be an issue. they are used to provide direct command to one (broad = ?1?) or all the slave nodes (broad = ?0?). if broad = ?1?, t he physical address of the slave node is provided by the 7 remaining bits of data2. data1 will contain the command code (see dynamic assignment of identifiers ), while, if present, data3 to data4 will contain the command parameters, as shown below. id data1 data2 data3? id0 id1 id 2 id3 id4 id5 id 6 id7 command physical address broad parameters? ? type # 2: 2, 4 or 8 data bytes writing frame with an identifier dy namically assigned to an application command, regardless of the physical address of the circuit. ? type #3: 2 data bytes writing frame with an identifier dynamically assigned to a particular slave node together with an application command. this type of frame requires that ther e 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. rev. 4 | page 42 of 65 | www.onsemi.com
AMIS-30623 1 5.6.2. reading frames a reading frame uses an in-frame response mechanism. that is: the master initiates the frame (synchronization field + identifie r field), and one slave sends back the data field together with the check field. hence, two types of identifiers can be used for a reading frame : ? direct id, which points at a particular slave node, indicating at the same time which kind of information is awaited from this slave node, thus triggering a specific command. th is id provides the fastest access to a re ad command but is forbidden for any other action. ? indire ct id, which only specifies a reading command, the physic al address of the slave node t hat must answer having been passe d in a previous writing frame, called a preparin g frame. indirect id gives more flexibi lity 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 accou nt. (2) a reading frame will always return the physical address of the answering slave node in order to ensure robustness in the commun ication. the reading frames used with the AMIS-30623 are the following: ? type #5: 2, 4 or 8 data bytes reading frame with a direct identi fier 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. 1 5.6.3. preparing frames a preparing frame is a writing frame that warns a particular slave node that it will have to answer in the next frame (hence a reading frame). a preparing frame is needed when a reading frame does not use a dynamically assigned direct id. preparing and reading frames must be consecutive. a preparing fr ame will contain the physical address of t he lin slave node that must answer in the r eading 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 ca n 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]: applicat ion command ?byte? ad[6:0]: slave node physical address datan[7:0]: data transmitted rev. 4 | page 43 of 65 | www.onsemi.com
AMIS-30623 1 5.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 t o represent the content. the identifiers 0x3c and 0x3f are reserved for command frames and extended frames . slave nodes need to be very flexible to adapt itself to a given lin network in order to av oid conflicts with slave nodes fr om different manufacturers. dyna mic assignment of the identifiers wi ll fulfill this requirement by writing identifiers into the circuits ram. rom pointers are link ing commands and dynamic identifiers together. a writing frame with identifier 0x3c issued by the lin master will write dynamic identifiers into the ram. one writing frame is able to assign 4 identifiers, therefore 3 frames are need ed to assign all identifiers. each rom point er 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 ? dyna mic identifiers writing frame). when setting to zero broadcasting is active and each sl ave on the lin bus will store t he same dynamic identifiers, othe rwise 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] ro mp_2[3:0] dy nid_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 will share the sa me dynamically assigned identifiers. dynid_x[5:0]: dynamically assigned lin identifier to the application command which rom pointer is romp_ x[3:0] one frame allows only to assign four identifiers. therefore, additional frames could be needed in order to assign more identifi ers (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 rev. 4 | page 44 of 65 | www.onsemi.com
AMIS-30623 1 5.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 nod e. therefore, these dynamic ids cannot be used for more than eight stepper motors. only ten rom pointers are needed for the AMIS-30623. 15.8 lin lost behavior 15.8 .1. introduction when the lin communication is broken for a duration of 25000 consecutive frames ( = 1,30 s @ 19200 kbit/s) AMIS-30623 sets an internal flag called ?lin lost?. the functional behavior depends on the state of otp bits and , and if this loss in lin communication occurred at (or before) powe r on reset or in normal powered operation. 15.8 .2. sleep enable the otp bit 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 behavior 0 entering low-power sleepmode @ lin ? lost disabled 1 entering low-power sleepmode @ lin ? lost enabled rev. 4 | page 45 of 65 | www.onsemi.com
AMIS-30623 15.8.3. fail safe motion the otp bit enables or disables an automatic moti on to a predefined safe position. see also autonomous motion. table 33: fail safe enable selection behavior 0 no motion in case of lin ? lost 1 enables motion to a safe position in case of lin ? lost 15.8.4. autonomous motion AMIS-30623 is able to perform an autonomous motion to a preferred position. this positioning starts after the detection of lost lin communication and in case: - the otp bit = 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) s tart-up (see figure 27 case b): figure 27: flow chart power-up of AMIS-30623. 2 cases are illustrate d; case a: lin lost during operation and case b: lin lost a t start-up otp content is copied in ram power up getfullstatus (lin communication on) lin bus ok a b yes no 15.8.4. 1. lin lost during normal operation if the lin communication is lost during normal operation, it is assumed t hat AMIS-30623 is referenced. in other words the actpo s register contains the ?real? act ual position. at lin ? lost an absolute positioni ng to the stored secure position secpos is done. this is further called secure positioning. following sequence will be followed. see figure 28. 1. ?se cpos[10:0]? from ram register will be used. this can be different from otp r egister if earlier lin master communication has updated this. see also secure position and command setmotorparam . 2. if the l in communication is lost and failsafe = 0 there will be no secure positio ning. 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 t he 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) rev. 4 | page 46 of 65 | www.onsemi.com
AMIS-30623 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 setmotorparam (ram content is overwritten) lin bus ok normal function secure positioning to tagpos yes a failsafe = 1 no stop sleepen = 1 sleep no no no yes yes 0x400 secpos yes figure 28: case a: lin lost during normal operation 15. 8.4.2. lin lost before or at power-on if the lin communication is lost before or at power on, the actpos register does not re flect the ?real? actual position. so at lin ? lost a referencing is started using dualpositioning. a first negative mo tion for half the positioner range is initiated until the stal l position is reached. the motion parameters stored in otp will be used for this. after this mechanical end position is reached actpos will b e reset to zero. a second motion will start to the secure position also stored in otp. more details are given below. rev. 4 | page 47 of 65 | www.onsemi.com
AMIS-30623 first motion of dualposition half the position range negative direction at stall -> actpos = '0000' secure positioning to secpos stored in otp b failsafe = 1 stop sleepen = 1 sleep no no yes 0x400 secpos yes stop yes no figure 29: case b: lin lost at or during start-up if lin is lost before or at power on, followi ng sequence will be followed. see also figure 29. 1. if the lin communication is lost and failsafe = 0 there will be no secure positio ning. depending on sleepen AMIS-30623 will enter the stop state or the sleep state. see table 32 . 2. if the l in communication is lost and failsafe = 1 a re ferencing is started using dualpositioning. a negative motion for half the positioner range is initiated unt il the stall position is reached. the motion param eters stored in otp will be used for this. a fter this mechanical end position is reached actpos will be reset to zero. the direction of the motion is given by the shaft bit . ? i f secpos[10:0] = 0x400: no second motion will be performed. depending on sleepen AMIS-30623 will enter t he stop state or the sleep state. see table 32 . ? if secpos[10:0] ? 0x400: a second motion to secpos is performed. the direction is given by secpos[10] in combination with shaft. motion is done with parameters from otp. important remarks: ( 1) the secure position has only a resolution of 9 bit because only the 9 msb?s will be copied from otp to ram. see also secure position ( 2) the motion direction to secpos is given by the shaft bit in otp (3) same behavior in case of hw2 float (= lost lin address). see also hardwired address hw2 rev. 4 | page 48 of 65 | www.onsemi.com
AMIS-30623 16. 0 lin application commands 16. 1 introduction the lin master will have to use commands to manage the differe nt application tasks the amis-306 23 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 motor to 2 different positions with different speeds setmotorparam 0x09 4 programs the motion parameters and values 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 frames, particularly for what concerns dynamic assignment of identifiers. a color coding is used to distinguish between master and slav e 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 0 identifier * * 0 id4 id3 id2 id1 id0 1 data 1 esw ad[6:0] 2 data 2 vddreset steploss eldef uv2 tsd tw tinfo[1:0] figure 30: color code used in the definition of lin frames light blue : master yellow : dynamic identifier white : slave in-frame response rev. 4 | page 49 of 65 | www.onsemi.com
AMIS-30623 usually, the AMIS-30623 makes use of dynamic identifiers for gener al-purpose 2, 4 or 8 bytes writing frames. if dynamic identif iers 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 pr ovided in the frame is thus not taken into account by the slave no des. 16.2 application commands getactualpos this command is provided to the circuit by the lin master to get the actual position of the stepper-motor. this position (actpos[15:0] ) is returned in signed two?s complement 16-bit format. one should note that according to the programmed stepping mode, the lsbs of actpos[15:0] may have no meaning and should be assumed to be ?0?, as described in position ranges . getactualpos also provides a quick status of the circuit and t he stepper-motor, identical to that obtained by command getstatus (see further). note: a getactualposition command will not attempt to reset any flag. getactualpos corresponds to the following lin reading frames. 1.) 4 data bytes in-frame response with direct id (type #5) where : 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] (* ) according to parity computation id[5:0]: dynamically allocated direct identifier. there should be as many dedicated identifiers to this getactualpos command as there are st epper-motors connected to the lin bus. 2.) one preparing frame prior 4 dat a 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 0 identifier * * 0 id4 id3 id2 id1 id0 1 data 1 1 cmd[6:0] = 0x00 2 data 2 1 ad[6:0] reading frame byte content structure 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 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] 5 data 5 0xff 6 data 6 0xff 7 data 7 0xff 8 data 8 0xff where : (* ) according to parity computation rev. 4 | page 50 of 65 | www.onsemi.com
AMIS-30623 getfullstatus this command is provided to the circuit by the lin master to get a complete status of the circuit and the stepper-motor. refer to ram registers and flags table to see the meaning of the param eters sent to the lin master. note: a getfullstatus command will attemp t to reset flags < tw>, , , < eldef>, < steploss>, < cpfail>, , < 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 0 identifier * * 0 id4 id3 id2 id1 id0 1 data 1 1 cmd[6:0] = 0x01 2 data 1 1 ad[6:0] reading frame 1 byte content structure 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 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] reading frame 2 byte content structure 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 1 data 1 1 ad[6:0] 2 data 2 actpos[15:8] 3 data 3 actpos[7: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 mandatory for the lin master to initiate the second in-frame response if actpos, tagpos and secpos are not needed by the application. getotpparam this command is provided to the circuit by the lin master after a preparation frame (see preparing frames ) was issued, to read the content of an otp memory segment which addre ss 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 0 identifier * * 0 id4 id3 id2 id1 id0 1 data 1 1 cmd[6:0] = 0x02 rev. 4 | page 51 of 65 | www.onsemi.com
AMIS-30623 2 data 2 1 ad[6:0] reading frame byte content structure 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 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 table 20 to see the meaning of the param eters sent to the lin master. note: a getstatus command will attemp t to reset flags < tw>, , , < 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 0 identifier * * 0 id4 id3 id2 id1 id0 1 data 1 esw ad[6:0] 2 data 2 vddreset steploss eldef uv2 tsd tw tinfo[1:0] where : (* ) according to parity computation id[5:0]: dynamically allocated direct identifier. there should be as many dedicated identifiers to this getstatus command as there are stepp er-motors connected to the lin bus. gotosecureposition this command is provided by the lin master to one or al l the stepper-motors to move to the secure position secpos[10:0] . it can also be internally triggered if the lin bus communication is lo st, 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 0 identifier * * 0 id4 id3 id2 id1 id0 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 connecte d to the lin bus will reach their secure position rev. 4 | page 52 of 65 | www.onsemi.com
AMIS-30623 hardstop this command will be internally triggered when an electrical probl em 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 warni ng of the lin master at the next getstatus command that steps may have been los t. once the motor is stopped, actpos register is copied into tagpos register to ensure keeping the stop position. a hardstop command can also be issued by the lin master for some safety reasons. it corresponds then to the following two data bytes lin writing frame (type #1). hardstop writing 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 cmd[6:0] = 0x05 2 data broad ad[6:0] where : (* ) according to parity computation broad: if broad = ?0? stepper motors connected to the lin bus will stop resetposition this command is provided to the circuit by the lin master to reset actpos and tagpos registers to zero. this can be helpful to prepare for instance a relative positioning. resetposition corresponds to the following lin writing frames (type #1). resetposition writing 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 cmd[6:0] = 0x06 2 data broad ad[6:0] where : (* ) according to parity computation broad: if broad = ?0? all the circuits co nnected to the lin bus will reset their actpos and tagpos registers resettodefault this command is provided to the circuit by the lin master in order to reset the whole slave node into the initial state. resettodefault will, for instance, overwrite the ram with the reset state of the registers parameters (see ram registers ). this is another way for the lin master to initialize a slave node in case of emergency, or simply to refresh the ram content. note: actpos and tagpos are not modified by a resettodefault command. important: care should be taken not to send a resettodefault command while a motion is ongoing, since this could modify the motion parameters in a way forbidden by the position controller. resettodefault corresponds to the following lin writing frames (type #1). resetposition writing 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 cmd[6:0] = 0x07 2 data broad ad[6:0] where : (* ) according to parity computation broad: if broad = ?0? all the circuits connected to the lin bus will reset to default rev. 4 | page 53 of 65 | www.onsemi.com
AMIS-30623 runvelocity this command is provided to the circuit by the lin master in order to put the motor in continuous motion state. note: continuous lin communication is required. if not lost li n 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 0 identifier * * 0 id4 id3 id2 id1 id0 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 connecte d to the lin bus will start continuous motion. setdualposition this command is provided to the circuit by the lin master in order to perform a positioning of the motor using two different ve locities. see section dual position ing . note1 : this sequence cannot be interrupted by another positioning command. important: if for some reason actpos equals pos1[15:0] at the moment the setdualposition command is issued, the circuit will enter in deadlock state. theref ore, the application should check the actual position by a getposition or a getfullstatus command prior to start a dual positioning. another solution may consist of programming a value out of the stepper motor range f or 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 0 identifier 0 0 1 1 1 1 0 0 1 data 1 appcmd = 0x80 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 fo r first motion and velocity for the second motion pos1[15:0]: first position to be reached during the first motion pos2[15:0]: relative posit ion 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 the parameters sent by the lin master setstallparam corresponds to a 0x3c lin command rev. 4 | page 54 of 65 | www.onsemi.com
AMIS-30623 setstallparam 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] = 0x16 3 data 3 broad ad[6:0] 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 circuits connected to the lin bus will set the parameters in their rams as requested setmotorparam() this command is provided to the circuit by the lin master to set the values for the stepper motor parameters (listed below) in ram. refer to ram registers to see the meaning of the param eters sent by the lin master. important: if a setmotorparam occurs while a motion is ongoing, it wi ll modify at once the motion parameters (see position controller ). therefore the application should not change other parameters than vmax and vmin while a motion is running, otherwise correct positioning cannot be guaranteed. setmotorparam corresponds to the following lin writing frame with 0x3c identifier (type #4). setmotorparam 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] = 0x09 3 data 3 broad ad[6:0] 4 data 4 irun[3:0] ihold[3:0] 5 data 5 vmax[3:0] vmin[3:0] 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 circuits connected to the lin bus will set the parameters in their rams as requested setotpparam() this command is provided to the circuit by the lin master to program the content d[7:0] of the otp memory byte otpa[2:0] , and to zap it. important: this command must be sent under a specific vbb voltage valu e. see parameter vbbotp in dc parameters . this is a mandatory condition to ensure reliable zapping. setmotorparam corresponds to a 0x3c lin writing frames (type #4). rev. 4 | page 55 of 65 | www.onsemi.com
AMIS-30623 hardstop 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] = 0x10 3 data 3 broad ad[6:0] 4 data 4 1 1 1 1 1 otpa[2:0] 5 data 5 d[7:0] 6 data 6 0xff 7 data 7 0xff 8 data 8 0xff where : broad: if broad = ?0? all the circuits connected to the lin bus will set the parameters in their otp memories as requested 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 0 identifier * * 0 id4 id3 id2 id1 id0 1 data 1 pos[15 :8] 2 data 2 pos[7 :0] where : (* ) according to parity computation id[5:0]: dynamically allocated direct identifier. there should be as many dedicated identifiers to this setposition command as there are stepp er-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 0 identifier * * 1 0 id3 id2 id1 id0 1 data 1 1 cmd[6:0] = 0x0b 2 data 2 broad ad[6:0] 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]. rev. 4 | page 56 of 65 | www.onsemi.com
AMIS-30623 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 0 identifier 0 0 1 1 1 1 0 0 1 data 1 appcmd = 0x80 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] 7 data 7 pos2[15:8] 8 data 8 pos2[7:0] where : adn[6:0] : motor #n physical address (n [1,2]). posn[15:0] : signed 16-bit position set-point for motor #n. setpositionshort() this command is provided to the circuit by the lin master to drive one, two or four motors to a given absolute position. it app lies 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 0 identifier * * 0 id4 id3 id2 id1 id0 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 0 identifier * * 1 0 id3 id2 id1 id0 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 ) rev. 4 | page 57 of 65 | www.onsemi.com
AMIS-30623 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 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] 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 ) 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 wi th 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 0 identifier * * 0 id4 id3 id2 id1 id0 1 data 1 pos[15:8] 2 data 2 pos[7:0] 3 data 3 vmax[3:0] vmin[3:0] 4 data 4 absthr[3:0] acc[3:0] where : (* ) according to parity computation broad: if broad = ?0? all the stepper motors connecte d 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 ar e stepper-motors co nnected to the lin bus. pos [15:0] : signed 16-bit position set-point. sleep this command is provided to the circuit by the lin master to put all the slave nodes connected to the lin bus into sleep mode. if this command occurs during a motion of the motor, tagpos is reprogrammed to secpos (provided secpos is different from ?100 0000 0000?), or a softstop is executed before going to sleep mode. see lin 1.3 specification and sleep mode . the corresponding lin frame is a master request command frame (identifier 0x3c ) with data byte 1 containing 0x00 while the followings contain 0xff. sleep 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 0x00 2 data 2 0xff rev. 4 | page 58 of 65 | www.onsemi.com
AMIS-30623 softstop if a softstop command occurs during a motion of the stepper mo tor, it provokes an immediate deceleration to vmin (see minimum velocity ) followed by a stop, regardless of the position reached. once the motor is stopped, tagpos register is overwritten with value in actpos register to ensure ke eping 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 0 identifier * * 0 id4 id3 id2 id1 id0 1 data 1 1 cmd[6:0] = 0x0f 2 data 2 broad ad[6:0] where : (* ) according to parity computation broad: if broad = ?0? all the stepper motors connecte d to the lin bus will stop with deceleration. testbemf this command is provided to the circuit by the lin ma ster in order to output t he bemf integrator output to the swi output of the chip. once activate d, it can be stopped only after por. duri ng the bemf observation, reading of the sw i 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 0 identifier * * 0 id4 id3 id2 id1 id0 1 data 1 1 cmd[6:0] = 0x1f 2 data 2 broad ad[6:0] where : (* ) according to parity computation broad: if broad = ?0? all the stepper motors c onnected to the lin bus will be affected. rev. 4 | page 59 of 65 | www.onsemi.com
AMIS-30623 1 7.0 resistance to electrical and el ectromagnetic disturbances 1 7.1 electrostatic discharges table 35: absolute maximum ratings parameter min. max. unit electrostatic discharge voltage on lin pin -4 +4 kv vesd 1 electrostatic discharge voltage on other pins -2 +2 kv note: (1) human body model (100 pf via 1.5 k ? , according to mil std. 883e, method 3015.7) 17.2 electrical transient conduction along supply lines test pulses are applied to the power supply wires of the equipm ent implementing the AMIS-30623 (see application schematic), according to iso 7637-1 document. operating classes are defined in iso 7637-2. table 36: test pulses and test levels according to iso 7637-1 pulse amplitude rise time pulse duration rs operating class #1 -100v 1s 2ms 10 c #2a +100v 1s 50s 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 17.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 17.4 power supply micro-interruptions according to iso 16750-2 table 38: immunity to power supply micro-interruptions test operating class 10s micro-interruptions a 100s micro-interruptions b 5ms micro-interruptions b 50ms micro-interruptions c 300ms micro-interruptions c rev. 4 | page 60 of 65 | www.onsemi.com
AMIS-30623 18.0 package outline 18.1 soic-20: plastic small outline; 20 leads; body width 300mil. amis reference: soic300 20 300g rev. 4 | page 61 of 65 | www.onsemi.com
AMIS-30623 18.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 7 mm 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 degree r 2.185 2.385 mm 2) dimensions applies to plated terminal and is measured between 0.2 and 0.25 mm from terminal tip. 3) the pin #1 indication must be placed on the top surface of the package by using indentation mark or other feature of package body. 4) exact shape and size of this feature is optional 5) applied for exposed pad and terminals. exclude embedding part of exposed pad from measuring. 6) applied only to terminals 7) exact shape of each corner is optional 7x7 nqfp notes rev. 4 | page 62 of 65 | www.onsemi.com
AMIS-30623 19.0 soldering 19.1 introduction to solder ing surface mount packages this text gives a very brief insight to a complex technology. a more in-depth account of soldering ics can be found in the amis ?data handbook ic26; integrated circuit packages? (document order number 9398 652 90011). there is no soldering method that is ideal for all surface mount ic packages. wave solderin g is not always suitable for surface mount ics, or for printed-circuit boards with high population densities. in these situations reflow soldering is often used. 19.2 re-flow soldering re-flow soldering requires solder paste (a suspension of fine solder particles, flux and binding agent) to be applied to the pr inted-circuit board by screen printing, stencilling or pressure-syringe dispens ing before package placement. several methods exist for reflow ing; for example, infrared/convection heat ing in a conveyor type oven. throughput times (preheating, soldering and cooling) va ry between 100 and 200 seconds depending on heating method. typical re-flow peak temperatures range from 215 to 250c. the t op-surface temperature of the packages should preferably be kep t below 230c. 19.3 wave soldering conventional single wave soldering is not recommended for surfac e mount devices (smds) or printed-circuit boards with a high component density, as solder bridging and non-wetting can present major problems. to overcome these problems the double-wave soldering method was specifically developed. if wave soldering is used the following conditions must be observed for optimal results: ? use a double-wave soldering method comprising a turbulent wave with high upward pressure followed by a smooth laminar wave. ? for packages with leads on two sides and a pitch (e): ? larger than or equal to 1.27mm, the footprint longitudinal axis is preferred to be parallel to the transport direction of the printed-circuit board; ? smaller than 1.27mm, the footprint longit udinal axis must be parallel to the trans port direction of the printed-circuit board. the footprint must incorporate so lder thieves at the downstream end. ? for packages with leads on four sides, the footprint must be plac ed at a 45o angle to the transport direction of the printed- circuit board. the footprint must incorporate sold er thieves downstream and at the side corners. during placement and before soldering, t he package must be fixed with a droplet of adhesive. the adhesive can be applied by scr een printing, pin transfer or syringe dispensing. the package can be soldered after the adhesive is cured. typical dwell time is four seconds at 250c. a mildly-activated flux will eliminate the need for removal of corrosive residues in most applications. 1 9.4 manual soldering fix the component by first soldering two diagonally-opposite end leads. use a low voltage (24v or less) soldering iron applied to the flat part of the lead. contact time must be limited to 10 seconds at up to 300c. when using a dedicated tool, all other leads can b e soldered in one operation within two to five seconds between 270 and 320c. rev. 4 | page 63 of 65 | www.onsemi.com
AMIS-30623 table 39: soldering process soldering method package wave re-flow (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 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; inte grated 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 bot tom 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. rev. 4 | page 64 of 65 | www.onsemi.com
AMIS-30623 rev. 4 | page 65 of 65 | www.onsemi.com 2 0.0 company or product inquiries for more information ab out on semiconductor?s products or services visit our web site at http://onsemi.com . 21.0 document history table 40: document history version date modifications/additions 1.0 july 16, 2002 first non-preliminary issue 2.1 december 5, 2005 complete review 3.0 june 19, 2006 public release 4.0 june 27, 2008 move content to on semiconductor template; update opn table on semiconductor and are registered trademarks of semiconductor components industries, llc (scillc). scillc reserves the right to make changes witho ut further notice to any products herein. scillc makes no warranty, representation or guarantee regardin g the suitability of its products for any parti cular purpose, nor does scillc assume any liability arising out of the application or use of any pr oduct or circuit, and specific ally disclaims any and all liability, including without li mitation special, consequential or incidental damages. ?typical? parameters which may be provided in scillc data sheets and/or specifications can and do vary in different applications and actu al performance may vary over time. all operating parameters, including ?typicals? must be validated for each customer application by customer's technical experts. scillc does not convey any license under its patent rights nor the rights of others. scillc products are not designed, intended, or authorized for use as components in systems intended for surg ical implant into the body, or other applications intended to support or sustain life, or for any other application in which the failure of the scillc product could create a situation where personal injury or death may occur. should buyer purchase or use scillc products for any such unintended or unauthorized application, buyer shall indemnify and hold scillc and its officers , employees, subsidiaries, affiliates, and distributors harmless against all claims, costs, damages, and expenses, and reasonable attorney fees arising out of, directly or indirectly, any claim of personal injury or death associated with such unintended or unauthorized use, even if such claim alleges that scillc was negligent regarding the design or manufacture of the part. scillc is an equal op portunity/affirmative action employer. this literature is subject to all applicable copyright laws and is not for resale in any manner. publication ordering information literature fulfillment: literature distribution center for on semiconductor p.o. box 5163, denver, colorado 80217 usa phone: 303-675-2175 or 800-344-3860 toll free usa/canada fax: 303-675-2176 or 800-3 -3867 toll free usa/canada 44 email: orderlit@onsemi.com n. american technical support: 800-282-9855 toll free usa/canada europe, middle east and africa technical support: phone: 421 33 790 2910 japan customer focus center phone: 81-3-5773-3850 on semiconductor website: www.onsemi.com order literature: http://www.onsemi.com/orderlit for additional information, please contact your local sales representative


▲Up To Search▲   

 
Price & Availability of AMIS-30623

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

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


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