0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心
发布
  • 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
NV706272R1DBGEVB

NV706272R1DBGEVB

  • 厂商:

    ONSEMI(安森美)

  • 封装:

    -

  • 描述:

    NCV70627 - Power Management, Motor Control, Stepper Evaluation Board

  • 数据手册
  • 价格&库存
NV706272R1DBGEVB 数据手册
Micro-stepping Motor Driver NCV70627 Introduction The NCV70627 is a single−chip micro−stepping motor driver with position controller and control/diagnostic interface. It is ready to build dedicated mechatronics solutions connected remotely with a LIN master. The chip receives positioning instructions through the bus and subsequently drives the motor coils to the desired position. The on−chip position controller is configurable (OTP or RAM) for different motor types, positioning ranges and parameters for speed, acceleration and deceleration. The NCV70627 acts as a slave on the LIN bus and the master can fetch specific status information like actual position, error flags, etc. from each individual slave node. An integrated sensor−less step−loss detection prevents the positioner from loosing steps and stops the motor when running into stall. This enables silent, yet accurate position calibrations during a referencing run and allows semi−closed loop operation when approaching the mechanical end−stops. The chip is implemented in I3T50 technology, enabling both high voltage analog circuitry and digital functionality on the same chip. The NCV70627 is fully compatible with the automotive voltage requirements. Due to the technology, the device is especially suited for use in applications with fluctuating battery supplies. www.onsemi.com 1 SSOP−EP 36 LEAD CASE 940AB 32 QFN32, 5x5 CASE 488AM ORDERING INFORMATION See detailed ordering, marking and shipping information in the package dimensions section on page 2 of this data sheet. PRODUCT FEATURES Motordriver • • • • • • • • • Micro−stepping Technology Sensorless Step−loss Detection Peak Current up to 800 mA Low Temperature Boost Current up to 1100 mA Programmable Current Stabilization Phase Fixed Frequency PWM Current−control Automatic Selection of Fast and Slow Decay Mode No External Fly−back Diodes Required Compliant with 14V Automotive Systems Protection • • • • • • • Controller with RAM and OTP Memory • Position Controller • Configurable Speeds and Acceleration • Input to Connect Optional Motion Switch Overcurrent Protection Open−circuit Detection High Temperature Warning and Management Low Temperature Flag LIN Bus Short−circuit Protection to Supply and Ground Lost LIN Safe Operation Enhanced Under Voltage Management Power Saving • Powerdown Supply Current < 150 mA • 3.3 V Regulator with Wake−up On LIN Activity LIN Interface • Physical Layer Compliant to LIN rev. 2.0. Data−link EMI Compatibility Layer Compatible with LIN rev. 1.3 (Note 1) • LIN Bus Integrated Slope Control • HV Outputs with Slope Control • This is a Pb−Free Device • Field−programmable Node Addresses • Dynamically Allocated Identifiers • Diagnostics and Status Information 1. Minor exceptions to the conformance of the data−link layer to LIN rev. 1.3. © Semiconductor Components Industries, LLC, 2015 April, 2021 − Rev. 3 1 Publication Order Number: NCV70627/D NCV70627 Applications The NCV70627 is ideally suited for small positioning applications. Target markets include: automotive (headlamp alignment, HVAC, idle control, cruise control), industrial equipment (lighting, fluid control, labeling, process control, XYZ tables, robots...) and building automation (HVAC, surveillance, satellite dish, renewable energy systems). Suitable applications typically have multiple axes or require mechatronics solutions with the driver chip mounted directly on the motor. Table 1. ORDERING INFORMATION Part No. Peak Current End Market/Version Package* Shipping† NCV70627DQ002AR2G 800/1100 mA (Note 2) Automotive High Temperature Version SSOP−36EP (Pb−Free) 1500/Tape & Reel QFN32 (Pb−Free) 5000 / Tape & Reel NCV70627MW002AR2G 800/1100 mA (Note 2) Automotive *For additional information on our Pb−Free strategy and soldering details, please download the ON Semiconductor Soldering and Mounting Techniques Reference Manual, SOLDERRM/D. †For information on tape and reel specifications, including part orientation and tape sizes, please refer to our Tape and Reel Packaging Specifications Brochure, BRD8011/D. 2. The device boost current. This applies for operation under the thermal warning level only. MARKING DIAGRAMS 1 NCV70627−2 FAWLYYWWG N70627−2 FAWLYYWW G SSOP QFN32 F A WL YY WW G or G = Fab Location = Assembly Location = Wafer Lot = Year = Work Week = Pb−Free Package Table 2. ABSOLUTE MAXIMUM RATINGS Parameter Min Max Unit Supply voltage, hardwired address pin (Note 4) −0.3 +40 (Note 3) V Bus input voltage (Note 4) −40 +40 V TJ Junction temperature range (Note 5) −50 +175 °C Tstg Storage temperature range (Note 6) −55 +160 °C HBM Electrostatic discharge voltage on LIN pin −4 +4 kV HBM Electrostatic discharge voltage on other pins −2 +2 kV MM Electrostatic discharge voltage on other pins −200 +200 V VBB, VHW2 Vlin Vesd (Note 7) Stresses exceeding those listed in the Maximum Ratings table may damage the device. If any of these limits are exceeded, device functionality should not be assumed, damage may occur and reliability may be affected. NOTE: A mission profile (Note 5) is a substantial part of the operation conditions; hence the Customer must contact ON Semiconductor in order to mutually agree in writing on the allowed missions profile(s) in the application. 3. For limited time: VBB Ttw LIN frame: GetStatus or GetFullStatus T° > Ttsd T° < Ttw Post thermal warning Thermal shutdown − = “11” − = ‘1’ − = ‘1’ −SoftStop if motion ongoing −Motor shutdown (motion disabled) T° > Ttsd − = “00” − = ‘1’ − = ‘0’ T° < Tlow Post thermal shutdown 1 T° < Ttw T° > Tlow Post thermal shutdown 2 − = “00” − = ‘1’ − = ‘1’ Low Temp. − = “01” − = ‘0’ − = ‘0’ T° < Ttsd −Motor shutdown (motion disabled) − = “10” − = ‘1’ − = ‘1’ −Motor shutdown (motion disabled) T° > Ttw Figure 13. State Diagram Temperature Management T shutdown level T T warning level t T bit I_Boost_ENB forced to ‘1’ T bit T < Ttw and getstatus or getfullstatus T > Ttsd, motor stops and shutdown T < Ttw and getstatus or getfullstatus Figure 14. Illustration of Thermal Management Situation www.onsemi.com 22 NCV70627 Under−Voltage Condition and Autarkic Functionality Battery Voltage Management transitions, when supply voltage VBB drops below UV3 level, a 32 ms debouncer is implemented that is derived from the internal oscillator. For transitions when supply voltage VBB rises above UV1 level, the NVC70627 reacts after 96 ms debounce time typically (OTP bit UV3debT is not set). This time is increased to 256 ms when OTP bit UV3debT is zapped to “1”. Zapping can be done via the SetOTPparam command. The NCV70627 monitors the VBB voltage by means of two under voltage threshold UV3 and UV2 and one shutdown level. The only condition to go back to normal operation is to recover by a VBB voltage higher than UV1. The flags and can only be cleared by receiving the header of a GetStatus or a GetFullStatus command after the VBB voltage higher than UV1. The UV3 and UV1 levels are programmable by a LIN command. There are 8 levels available for the UV3 threshold voltage. The UV1 level is ratio metric coupled with UV3. UV2 has only a fixed threshold level. Refer to the DC parameter table for the different under voltage levels. When the battery voltage drops below UV3, the flag will be set and a Soft Stop is performed to stop the motion. If during this decelerated motion the battery voltage does not go under the UV2 level, the NCV70627 will go to state ” and the original Target Position (TagPos) is saved while the motor is kept in position by the Hold current*. As soon as the VBB voltage rises above the UV1 level the NCV70627 will continue the motion the (TagPos) and will go to the normal state afterwards. When during a motion the battery voltage drops below the UV2 level, the NCV70627 will stop immediately by a Hard Stop and directly enters the state followed by . The motor is placed in HiZ and the flags and are set (see Figure 15). Note*: In this situation the flag is not set. Autarkic Function From above described states the device can enter the state . When in the state, the device will perform the Autarkic Function: • If in this state VBB becomes > UV1 within 15 seconds, the NCV70627 still will resume the motion to the saved (TagPos) and will go to the state afterwards. It accepts updates of the target position by means of the commands SetPosition, SetPositionShort, SetPosParam and GotoSecurePosition, even if the flag and flags are NOT cleared. • If however the VBB voltage remains below UV2 level voltage level for more than 15 seconds, the device will enter state and the target position is overwritten by Actual Position. This state can be exited only if VBB is > UV1 voltage level and an incoming command GetStatus or GetFullStatus is received. Important Notes: 1. In the case of Autarkic positioning, care needs to be taken because accumulated steploss can cause a significant deviation between physical and stored actual position. 2. The SetDualPosition command will only be executed after clearing the and flags. 3. RAM reset occurs when Vdd < VddReset (digital Power−On−Reset level). 4. The Autarkic function remains active as long as VDD > VddReset. Remarks: If VBB voltage drops below the UV2 level while the NCV70627 is in the motion “stabilization phase”, only the flag is set; the flag is not set. When the NCV70627 is in a stopped states or and the VBB voltage drops below UV2 level, the device will directly go to the state , but does not raise the flag. At the UV3 comparator output, there is implemented an unsymmetrical debouncer which will filter immediate actions during unwanted spikes at the battery supply. For www.onsemi.com 23 NCV70627 OTP Register OTP Memory Structure The table below shows how the parameters to be stored in the OTP memory are located. Table 19. OTP MEMORY STRUCTURE Address Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0x00 SecPosA TSD2 TSD1 TSD0 IREF3 IREF2 IREF1 IREF0 0x01 LIN_BR ADM BG5 BG4 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 UV3debT UV3Thr2 UV3Thr1 UV3Thr0 StepMode1 StepMode0 LOCKBT LOCKBG 0x08 SecPos10A SecPos9A SecPos8A OSC4 OSC3 OSC2 OSC1 OSC0 0x09 SecPos7A SecPos6A SecPos5A SecPos4A SecPos3A SecPos2A FailsafeA SleepEnA Application Parameters Stored in OTP Memory Parameters stored at address 0x00 and 0x01 and bit 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 OTP bit is at ‘0’ when not zapped. Zapping a bit will set it to ‘1’. Thus only bits having to be at ‘1’ must be zapped. Zapping of a bit already at ‘1’ is disabled. Each OTP byte will be programmed separately (see command SetOTPparam). Once OTP programming is completed, bit can be zapped to disable future zapping, otherwise any OTP bit at ‘0’ could still be zapped by using a SetOTPparam command. Except for the physical address these parameters, although programmed in a non−volatile memory can still be overwritten in RAM by a LIN SetMotorParam writing operation. PA[3:0] In combination with HW[2:0] it forms the physical address AD[6:0] of the stepper−motor. Up to 128 stepper−motors can theoretically be connected to the same LIN bus. AbsThr[3:0] Absolute threshold used for the motion detection Index Table 20. OTP OVERWRITE PROTECTION Lock Bit Protected Bytes LOCKBT (factory zapped before delivery) 0x00[6:0], 0x01[5:0], 0x08[4:0] LOCKBG 0x00 to 0x09 The command used to load the application parameters via the LIN bus in the RAM prior to an OTP Memory programming is SetMotorParam. This allows for a functional verification before using a SetOTPparam command to program and zap separately one OTP memory byte. A GetOTPparam command issued after each SetOTPparam command allows verifying the correct byte zapping. Note: Zapped bits will become active only after a power cycle. After programming the LIN bits the power cycle has to be performed first to guarantee further communication with the device at the new address. AbsThr AbsThr level (V) (*) 0 0 0 0 0 Disable 1 0 0 0 1 0.6 2 0 0 1 0 1.3 3 0 0 1 1 1.9 4 0 1 0 0 2.6 5 0 1 0 1 3.2 6 0 1 1 0 3.9 7 0 1 1 1 4.5 8 1 0 0 0 5.1 9 1 0 0 1 5.8 A 1 0 1 0 6.4 B 1 0 1 1 7.1 C 1 1 0 0 7.7 D 1 1 0 1 8.3 E 1 1 1 0 9.0 F 1 1 1 1 9.6 (*) Not tested in production. Values are approximations. www.onsemi.com 24 NCV70627 UV3Thr[2:0] Under voltage threshold voltage for UV3 and UV1. Index UV3Thr UV3 Level UV1 Level 0 0 0 0 5.90 6.62 1 0 0 1 6.30 7.07 2 0 1 0 6.70 7.52 3 0 1 1 7.10 7.97 4 1 0 0 7.50 8.41 5 1 0 1 7.90 8.86 6 1 1 0 8.30 9.31 7 1 1 1 8.70 9.76 Ihold[3:0] Hold current for each coil of the stepper−motor. The table below provides the 16 possible values for . Index Irun[3:0] Current amplitude value to be fed to each coil of the stepper−motor. The table below provides the 16 possible values for . Index Irun Ihold Hold Current (mA) Hold Boost Current (mA) 0 0 0 0 0 59 81 1 0 0 0 1 71 98 2 0 0 1 0 84 116 3 0 0 1 1 100 138 4 0 1 0 0 119 164 5 0 1 0 1 141 194 6 0 1 1 0 168 231 7 0 1 1 1 200 275 8 1 0 0 0 238 327 9 1 0 0 1 283 389 Run Current (mA) Run Boost Current (mA) A 1 0 1 0 336 462 0 0 0 0 0 59 81 B 1 0 1 1 400 550 1 0 0 0 1 71 98 C 1 1 0 0 476 655 2 0 0 1 0 84 116 D 1 1 0 1 566 778 3 0 0 1 1 100 138 E 1 1 1 0 673 925 F 1 1 1 1 0 0 4 0 1 0 0 119 164 5 0 1 0 1 141 194 6 0 1 1 0 168 231 7 0 1 1 1 200 275 8 1 0 0 0 238 327 9 1 0 0 1 283 389 A 1 0 1 0 336 462 B 1 0 1 1 400 550 C 1 1 0 0 476 655 D 1 1 0 1 566 778 Step Mode Step Mode E 1 1 1 0 673 925 0 0 1/2 stepping F 1 1 1 1 800 1100 0 1 1/4 stepping 1 0 1/8 stepping 1 1 1/16 stepping Note: When the motor is stopped, the current is reduced from to . In the case of 0 mA hold current (1111 in the hold current table), the following sequence is applied: 1. The current is first reduced to 59 mA or 81 mA during I_Boost function (corresponding to 0000 value in the table). 2. The PWM regulator is switched off; the bottom transistors of the bridges are grounded. Step Mode Setting of step modes. Shaft This bit distinguishes between a clock−wise or counter−clock−wise rotation. SecPos[10:2] 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 = “100 0000 00xx”, secure positioning is disabled for the FailSafe function and the SetDualPosition command while it is not disabled for the GotoSecurePosition and even is still executed for the position “100 0000 00xx”. Note: 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’. The Secure Position in OTP has only 9 bits. The two least significant bits are loaded as ‘0’ to RAM when copied from OTP. SecPosA If = 0 then , and stored in bytes 0x05 and 0x06 are used during operation If = 1 then , and stored in bytes 0x08 and 0x09 are used during operation Programming SecPosA with “1” makes the OTP bytes 0x05 and 0x06 obsolete. In this case the OTP bytes at 0x08 and 0x09 will be read at the positions of bytes 0x05 and 0x06 when reading the OTP via the GetOTPparam command. www.onsemi.com 25 NCV70627 Vmax[3:0] Maximum velocity Index Vmax Vmax(full step/s) Group Acc[3:0] Acceleration and deceleration between Vmax and Vmin. Acceleration (Full−step/s2) 0 0 0 0 0 99 A Index Acc 1 0 0 0 1 136 B 0 0 0 0 0 2 0 0 1 0 167 1 0 0 0 0 0 1 49 (*) 1 218 (*) 0 1004 . 3 0 0 1 1 197 2 4 0 1 0 0 213 3 0 0 1 1 3609 . 5 0 1 0 1 228 4 0 1 0 0 6228 . 6 0 1 1 0 243 5 0 1 0 1 8848 . 7 0 1 1 1 273 6 0 1 1 0 11409 . 8 1 0 0 0 303 7 0 1 1 1 13970 . 1 0 0 0 16531 . C 9 1 0 0 1 334 8 A 1 0 1 0 364 9 1 0 0 1 19092 (*) B 1 0 1 1 395 A 1 0 1 0 21886 (*) C 1 1 0 0 456 B 1 0 1 1 24447 (*) D 1 1 0 1 546 C 1 1 0 0 27008 (*) E 1 1 1 0 729 D 1 1 0 1 29570 (*) 973 E 1 1 1 0 34925 (*) F 1 1 1 1 40047 (*) F 1 1 1 1 D Vmin[3:0] Minimum velocity. Index Vmin (*) restriction on speed SleepEn IF = 1 −> NCV70627 always goes to low−power sleep mode incase of LIN timeout. IF = 0, there is no more automatic transition to low−current sleep mode (i.e. stay in stop mode with applied hold current, unless there are failures). Exception to this rule are the states and , in which the device can enter sleep regardless of the state of SleepEn. Note: The function acts for the LIN command “SLEEP” too. When = 1 and the Sleep command is received the NCV70627 will go into Sleep. In case the = 0 the NCV70627 will go into stop mode. FailSafe Description: see section LIN Lost Behavior. 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 LIN_BR Setting of LIN Baud rate. Baud rate 0 19200 Baud 1 9600 Baud ADM controls how the OTP bits and hardwired LIN address bits are combined into the LIN node address (see also LIN Address section). UV3DepT Debounce time after passing the UV1 level of the rising battery voltage slope. The debouce time is specified in the AC parameter table. www.onsemi.com 26 NCV70627 Table 21. RAM REGISTERS Mnemonic Length (bit) ActPos 16 Pos/TagPos 16/11 AccShape Coil peak current Register Actual position Related Commands Comment Reset State GetActualPos GetFullStatus GotoSecurePos ResetPosition 16−bit signed GetFullStatus GotoSecurePos ResetPosition SetPosition SetPositionShort SetPosParam 16−bit signed or 11−bit signed for half stepping (see Positioning) 1 GetFullStatus SetMotorParam ‘0’ ⇒ normal acceleration from Vmin to Vmax ‘1’ ⇒ motion at Vmin without acceleration Irun 4 GetFullStatus SetMotorParam Operating current See look−up table Irun Coil hold current Ihold 4 GetFullStatus SetMotorParam Standstill current See look−up table Ihold Minimum Velocity Vmin 4 GetFullStatus SetMotorParam SetPosParam See Section Minimum Velocity See look−up table Vmin Maximum Velocity Vmax 4 GetFullStatus SetMotorParam SetPosParam See Section Maximum Velocity See look−up table Vmax Shaft Shaft 1 GetFullStatus SetMotorParam Direction of movement Acc 4 GetFullStatus SetMotorParam SetPosParam See Section Acceleration See look−up table Acc Secure Position SecPos 11 GetFullStatus SetMotorParam Target position when LIN connection fails; 11 MSB’s of 16−bit position (LSB’s fixed to ‘0’) Stepping mode StepMode 2 GetFullStatus SetStallParam See Section Stepping Modes See look−up table StepMode Stall detection absolute threshold AbsThr 4 GetFullStatus SetStallParam SetPosParam The B−emf voltage threshold level at which stall is detected. Under voltage UV3 UV3Thr 3 GetFullStatus SetStallParam Under voltage UV3 and UV1 level Sleep Enable SleepEn 1 SetOTPParam Enables entering sleep mode after LIN lost. See also LIN lost behavior Fail Safe FailSafe 1 SetOTPParam Triggers autonomous motion after LIN lost at POR. See also LIN lost behavior Stall detection delay FS2StallEn 3 GetFullStatus SetStallParam Delays the stall detection after acceleration ‘000’ Stall detection sampling MinSamples 3 GetFullStatus SetStallParam Duration of the zero current step in number of PWM cycles. ‘000’ PWMJEn 1 GetFullStatus SetStallParam ‘1’ means jitter is added ‘0’ 100% duty cycle Stall Enable DC100StEn 1 GetFullStatus SetStallParam ‘1’ means stall detection is enabled in case PWM regulator runs at d = 100% ‘0’ PWM frequency PWMFreq 1 GetFullStatus SetMotorParam ‘0’ means ~ 22.8 KHz, ‘1’ means ~ 45.6 KHz ‘0’ Last programmed Position Acceleration shape Acceleration/ deceleration PWM Jitter www.onsemi.com 27 ‘0’ From OTP memory NCV70627 Table 22. FLAGS TABLE Mnemonic Length (bit) LIN Timeout Error TimE 1 GetFullStatus ‘1’ if no data (dominant state) was received for more than T_timeout (~1.3 s) ‘0’ LIN Data Error DataE 1 GetFullStatus ‘1’ when one of the three errors occurred: checksum error, stop bit error or length error ‘0’ LIN Header Error HeadE 1 GetFullStatus ‘1’ when one of the two errors occurred: parity error or synchronization error ‘0’ BitE 1 GetFullStatus ‘1’ when received bit value is different from the one being transmitted ‘0’ Overall LIN Error LIN_E 1 GetActualPos GetFullStatus GetStatus Or function of the TimE, DataE, HeadE and BitE ‘0’ Electrical defect ElDef 1 GetActualPos GetStatus GetFullStatus or or ‘open−load on coil X’ or ‘open−load on coil XY 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 or or Motion status Motion 3 GetFullStatus “000” = Stop, last movement was inner (CCW) motion Flag LIN Bit Error Related Commands Comment Reset State ‘0’ “000” “100” = Stop, last movement was outer (CW) motion “001” = inner (CCW) motion acceleration “010” = inner (CCW) motion deceleration “011” = inner (CCW) motion max. speed “101” = outer (CW) motion acceleration “110” = outer (CW) motion deceleration “111” = outer (CW) motion max. speed 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 = “100 0000 0000” ‘1’ otherwise 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, open circuit or stall; Resets only after GetFullStatus or GetActualPos ‘1’ Device ID Code Device ID 4 GetActualPos Contains the unique device ID ‘4’ AbsStall 1 GetFullStatus ‘1’ = Vbemf < AbsThr ‘0’ Stall Stall 1 GetFullStatus GetStatus ‘1’ = Vbemf < AbsThr ‘0’ Motor stop Stop 1 Internal use Temperature info Tinfo 2 GetActualPos GetStatus GetFullStatus “00” = normal temperature range “01” = low temperature warning “10” = high temperature warning “11” = motor shutdown Thermal shutdown TSD 1 GetActualPos GetStatus GetFullStatus ‘1’ = shutdown (Tj > Ttsd) Resets only after Get(Full)Status and if = “00” ‘0’ Thermal warning TW 1 GetActualPos GetStatus GetFullStatus ‘1’ = over temperature (Tj > Ttw) Resets only after Get(Full)Status and if = “00” ‘0’ Absolute Stall n.a. ‘0’ www.onsemi.com 28 “00” NCV70627 Table 22. FLAGS TABLE Flag Mnemonic Length (bit) Battery decelerated stop voltage UV3 1 GetActualPos GetStatus GetFullStatus ‘0’ = VBB > UV3 ‘1’ = VBB ≤ UV3 Resets only after reception of header of Get(Full)Status and if VBB > UV1 ‘0’ Battery hard stop voltage UV2 1 GetActualPos GetStatus GetFullStatus ‘0’ = VBB > UV2 ‘1’ = VBB ≤ UV2 Resets only after reception of header of Get(Full)Status and if VBB > UV1 ‘0’ Overall UV flag UV 1 GetActualPos GetStatus GetFullStatus Is the OR function of UV2 and UV3 Resets only after reception of header of Get(Full)Status and if VBB > UV1 ‘0’ 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 Get(Full)Status command ‘1’ Digital supply reset Related Commands Comment www.onsemi.com 29 Reset State NCV70627 Priority Encoder The table below describes the simplified state management performed by the main control block. Table 23. PRIORITY ENCODER (See table notes on the following page.) State → Standby Command ↓ Stopped GotoPos Motor Stopped, Ihold in Coils Motor Motion Ongoing Dual Position SoftStop HardStop No Influence on RAM and TagPos Motor Decelerating SoftStopped ShutDown Sleep Motor Forced to Stop Motor Stopped, H−bridges in Hi−Z No Power (Note 31) HardUnder ShutUnder 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 LIN in-frame response LIN in-frame response LIN in-frame response GetOTPparam LIN in-frame response LIN in-frame response LIN in-frame response LIN in-frame response LIN in-frame response LIN in-frame response LIN in-frame response LIN in-frame response LIN in-frame response GetFullStatus or GetStatus [ attempt to clear and flags] LIN in-frame response; if ( or ) = ‘0’ then → Stopped 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 LIN in-frame response SetMotorParam [Master takes care about proper update] RAM update RAM update RAM update RAM update RAM update RAM update RAM update RAM update RAM update kept and reset No action; flag will be evaluated when motor stops No action; flag will be evaluated when motor stops ResetPosition and reset SetPosition updated; → GotoPos updated updated SetPositionShort updated; → GotoPos updated updated GotoSec Position If = ‘1’ then = ; → GotoPos If = ‘1’ then = If = ‘1’ then = DualPosition → Dual Position SoftStop Sleep or LIN timeout [ ⇒ = ‘1’, reset by any LIN command received later] → Sleep (Note 38) → Hard Under If = ‘1’ then = else → SoftStop If = ‘1’ then = ; will be evaluated after DualPosition No action; flag will be evaluated when motor stops → Hard Stop → Hard Stop → Hard Stop → Hard Under → Hard Stop → Hard Under No action; flag will be evaluated when motor stops VBB < UV2 and t < 15 seconds = ‘1’ ⇒ = ‘1’ and reset → SoftStop HardStop VBB < UV2 and t > 15 seconds RAM update No action; flag will be evaluated when motor stops → Stopped → Shutdown → HardStop; = ‘1’ → Hard Stop; = ‘1’ → Hard Stop; = ‘1’ → Shutdown www.onsemi.com 30 → Shutdown NCV70627 Table 23. PRIORITY ENCODER (See table notes on the following page.) State → Standby Dual Position Stopped GotoPos Command ↓ Motor Stopped, Ihold in Coils Motor Motion Ongoing No Influence on RAM and TagPos Thermal shutdown [ = ‘1’] → Shutdown → SoftStop → SoftStop Motion finished n.a. → Stopped → Stopped SoftStop HardStop Motor Decelerating Motor Forced to Stop SoftStopped ShutDown Sleep Motor Stopped, H−bridges in Hi−Z No Power (Note 31) → Shutdown → Stopped; = → Stopped; = HardUnder ShutUnder → Shutdown n.a. n.a. With the Following Color Code: Command Ignored Master is responsible for proper update (see Note 36) Transition to Another State 31. Leaving state is equivalent to power−on−reset. 32. After power−on−reset, the state is entered. 33. A DualPosition sequence runs with a separate set of RAM registers. The parameters that are not specified in a DualPosition command are loaded with the values stored in RAM at the moment the DualPosition sequence starts. is forced to ‘1’ during second motion. at ‘0’ will be taken into account after the DualPosition sequence. A GetFullStatus command will return the default parameters for and stored in RAM. 34. The flag is set to ‘1’ when a LIN timeout or a Sleep command occurs. It is reset by the next LIN command ( is cancelled if not activated yet). 35. Shutdown state can be left only when and flags are reset. 36. 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 defect). 37. A SetMotorParam command sent while a motion is ongoing (state ) should not attempt to modify and values. This can be done during a DualPosition sequence since this motion uses its own parameters, the new parameters will be taken into account at the next SetPosition or SetPositionShort command. 38. Some transitions like → are actually done via several states: → → → (see diagram below). 39. Two transitions are possible from state when = ‘1’: 1) Transition to state if ( = ‘0’) or (( = ‘1’) and ( = )) or = ‘1’ 2) Otherwise transition to state , with = 40. = ‘1’ when register is loaded with a value different from the most negative value (i.e. different from 0x400 = “100 0000 0000”). 41. flag allows distinguishing whether state was entered after HardStop/SoftStop or not. is set to ‘1’ when leaving state or and is reset during first clock edge occurring in state . 42. Command for dynamic assignment of Ids is decoded in all states except and has no effect on the current state. 43. While in state , if → there is a transition to state . This transition has the lowest priority, meaning that , , , etceteras are first evaluated for possible transitions. 44. If is active, then SetPosition, SetPositionShort and GotoSecurePosition commands are not ignored. can only be cleared by a GetStatus or GetFullStatus command. www.onsemi.com 31 NCV70627 Vbb > UV1 Vbb < UV2 StoppedUnder UV1 Vbb < UV3 Motion Finished and Vbb < UV1 POR Thermal Shutdown Vbb < UV3 RunInit HardStop RunInit Motion finished ShutDown HardStop SetPosition Motion Finished Stopped Thermal Shutdown SoftStop Vbb < UV3 HardStop Motion Finished GotoSecPos HardStop Thermal Shutdown Vbb < UV2 SoftStop HardStop GotoPos GetFullStatus Motion Finished and Vbb > UV1 OR LIN timeout Any LIN command Priorities Sleep 1 2 Vbb < UV2 3 AND (not OR AND ActPos = SecPos OR ) 4 HardUnder Vbb < UV2 Vbb > UV1 & T < 15 sec ShutUnder T > 15 sec Figure 15. Simplified State Diagram Remark: IF = 0, then the arrow from stopped state to sleep state does not exist. www.onsemi.com 32 NCV70627 Motordriver Current Waveforms in the Coils Figure 16 below illustrates the current fed to the motor coils by the motor driver in half−step mode. Ix Coil X Iy t Coil Y Figure 16. Current Waveforms in Motor Coils X and Y in Halfstep Mode Whereas Figure 17 below shows the current fed to the coils in 1/16th micro stepping (1 electrical period). Coil X Iy Ix t Coil Y Figure 17. Current Waveforms in Motor Coils X and Y in 1/16th Micro−Step Mode Motor Current Boost Function PWM Regulation Under certain conditions it can happen that the normal motor currents are not sufficiently high enough to achieve the proper torque for bursting out the motor axis (Especially under cold conditions). For this reason the NCV70627 can be forced to boost mode by setting the bit to ‘0’ via the SetMotorParam command. The boost function increases the current as described in the Irun and Ihold tables. It can only be activated if the junction temperature is lower than tlow. When the temperature rises above ttw,, the bit is automatically set back to ‘1’ causing that the current is switched back to the normal current set point values. In order to force a given current (determined by or and the current position of the rotor) through the motor coil while ensuring high energy transfer efficiency, a regulation based on PWM principle is used. The regulation loop performs a comparison of the sensed output current to an internal reference, and features a digital regulation generating the PWM signal that drives the output switches. The zoom over one micro−step in the Figure17 above shows how the PWM circuit performs this regulation. To reduce the current ripple, a higher PWM frequency is selectable. The RAM register PWMfreq is used for this. www.onsemi.com 33 NCV70627 Motor Starting Phase Table 24. PWM FREQUENCY SELECTION PWMfreq Applied PWM Frequency 0 22,8 kHz 1 45,6 kHz At motion start, the currents in the coils are directly switched from to with a new sine/cosine ratio corresponding to the first half (or micro−) step of the motion. Motor Stopping Phase PWM Jitter At the end of the deceleration phase, the currents are maintained in the coils at their actual DC level (hence keeping the sine/cosine ratio between coils) during the stabilization time tstab (see AC Table). The currents are then set to the hold values, respectively Ihold x sin(TagPos) and Ihold x cos(TagPos), as illustrated below. A new positioning order can then be executed. The stabilization time tstab is programmable via a LIN command. There are 4 values possible that can be set dependant the requirement of the motor application. To lower the power spectrum for the fundamental and higher harmonics of the PWM frequency, jitter can be added to the PWM clock. The RAM register is used for this. Table 25. PWM JITTER SELECTION PWMJEn Status 0 Single PWM frequency 1 Added jitter to PWM frequency ly lx t Figure 18. Motor Stopping Phase tstab Electrical Defect on Coils, Detection and Confirmation Motor Shutdown Mode The principle relies on the detection of a voltage drop on at least one transistor of the H−bridge. Then the decision is taken to open the transistors of the defective bridge. This allows the detection the following short circuits: • External coil short circuit • Short between one terminal of the coil and Vbat or Gnd 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 for longer than 15 seconds (see Under−Voltage Condition and Autarkic Functionality). • Flag = ‘1’, meaning an electrical problem is detected on one or both coils, e.g. a short circuit. One cannot detect an internal short in the motor. Open circuits are detected by 100% PWM duty cycle value during one electrical period with duration, determined by Vmin. A motor shutdown leads to the following: • H−bridges in high impedance mode. • The register is loaded with the , Table 26. ELECTRICAL DEFECT DETECTION Pins except in autarkic states. 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 • 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 longer detected This leads to H−bridges going in Ihold mode. Hence, the circuit is ready to execute any positioning command. www.onsemi.com 34 NCV70627 This can be illustrated in the following sequence given as an application example. The master can check whether there is a problem or not and decide which application strategy to adopt. Table 27. EXAMPLE OF POSSIBLE SEQUENCE USED TO DETECT AND DETERMINE CAUSE OF MOTOR SHUTDOWN Tj ≥Ttsd or VBB ≤ UV2 (>15s) or = ‘1’ ↓ SetPosition frame ↓ GetFullStatus or GetStatus frame ↓ GetFullStatus or GetStatus frame ↓... − The circuit is driven in motor shutdown mode − The application is not aware of this − The position set− point is updated by the LIN Master − Motor shutdown mode ⇒ no motion − The application is still unaware − The application is aware of a problem − Possible confirmation of the problem − Reset or or or by the application − Possible new detection of over temperature or low voltage or electrical problem ⇒ Circuit sets or or or or again at ‘1’ Important: While in shutdown mode, since there is no hold current in the coils, the mechanical load can cause a step loss, which indeed cannot be flagged by the NCV70627. Motion Detection If the LIN communication is lost while in shutdown mode, the circuit enters the sleep mode immediately. Note: The Priority Encoder is describing the management of states and commands. Warning: The application should limit the number of consecutive GetStatus or GetFullStatus commands to try to get the NCV70627 out of shutdown mode when this proves to be unsuccessful, e.g. there is a permanent defect. The reliability of the circuit could be altered since Get(Full)Status attempts to disable the protection of the H−bridges. Motion detection is based on the back emf generated internally in the running motor. When the motor is blocked, e.g. when it hits the end−stop, the velocity and as a result also the generated back emf, is disturbed. The NCV70627 senses the back emf and compares the value with an absolute threshold (AbsThr[3:0]). Instructions for correct use of this level in combination with three additional parameters (, and ) are available in a dedicated Application Note “Robust Motion Control with AMIS−3062x Stepper Motor Drivers”. 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. Velocity Vmax Motor speed Vmin t Vbemf VABSTH Back emf t Stall t Figure 19. Triggering of the Stall Flag as Function of the Measured Backemf www.onsemi.com 35 NCV70627 MinSamples By design, the motion will only be detected when the motor is running at the maximum velocity, not during acceleration or deceleration. If the motor is positioning when Stall is detected, an (internal) HardStop of the motor is generated and the 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 cancelled (via internal hardstop) and after timeout Tstab (see AC table) the second phase at Vmin starts. When the flag is set, the position controller will generate an internal HardStop. As a consequence also the flag will be set. The position in the internal counter will be copied to the register. All flags can be read out with the GetStatus or GetFullStatus command. is a programmable delay timer. After the zero crossing is detected, the delay counter is started. After the delay time−out (tdelay) the back−emf sample is taken. For more information please refer to the Application Note “Robust Motion Control with AMIS−3062x Stepper Motor Drivers”. Table 29. BACK EMF SAMPLE DELAY TIME Important Remark (limited to motion detection flags / parameters): Using GetFullStatus will read AND clear the following flags: , and . New positioning is possible and the register will be further updated. Using GetStatus will read AND clear ONLY the flag. The and flags are NOT cleared. New positioning is possible and the register will be further updated. Motion detection is disabled when the RAM registers is zero. The level can be programmed using the LIN command SetStallParam in the register . Also the OTP register can be set using the LIN command SetOTPParam. These values are copied in the RAM registers during power on reset. Index MinSamples[2:0] tDELAY (ms) 0 000 87 1 001 130 2 010 174 3 011 217 4 100 304 5 101 391 6 110 521 7 111 694 FS2StallEn If 0 (i.e. motion detection is enabled), then stall detection will be activated AFTER the acceleration ramp + an additional number of full−steps, according to the following table: Table 30. ACTIVATION DELAY OF MOTION DETECTION Table 28. ABSOLUTE THRESHOLD SETTINGS Index FS2StallEn[2:0] Delay (Full Steps) 0 000 0 1 001 1 2 010 2 3 011 3 AbsThr Index AbsThr Level (V) (*) 4 100 4 0 Disabled 5 101 5 1 0.64 6 110 6 2 1.28 7 111 7 3 1.92 4 2.56 DC100StEn 5 3.19 6 3.83 7 4.47 8 5.11 When a motor with large bemf is operated at high speed and low supply voltage, then the PWM duty cycle can be as high as 100%. This indicates that the supply is too low to generate the required torque and might also result in erroneously triggering the stall detection. The bit enables stall detection when duty cycle is 100%. For more information please refer to the Application Note “Robust Motion Control with AMIS−3062x Stepper Motor Drivers”. NOTE: 9 5.75 A 6.38 B 7.03 C 7.67 D 8.30 E 8.94 F 9.58 (*) Not tested in production. Values are typical levels with spread of 0,48V. www.onsemi.com 36 NCV70627 Lin Controller General Description The analog circuitry implements a low side driver with a pull−up resistor as a transmitter, and a resistive divider with a comparator as a receiver. The specification of the line driver/receiver follows the ISO 9141 standard with some enhancements regarding the EMI behavior. The LIN (local interconnect network) is a serial communications protocol that efficiently supports the control of mechatronics nodes in distributed automotive applications. The physical interface implemented in the NCV70627 is compliant to the LIN rev. 2.0 & 2.1 specifications. It features a slave node, thus allowing for: • single−master / multiple−slave communication • self synchronization without quartz or ceramics resonator in the slave nodes • guaranteed latency times for signal transmission • single−signal−wire communication • transmission speed selectable between 9.6 and 19.2 kbit/s • selectable length of Message Frame: 2, 4, and 8 bytes • configuration flexibility • data checksum (classic checksum, cf. LIN1.3) security and error detection • detection of defective nodes in the network It includes the analog physical layer and the digital protocol handler. Slave Operational Range for Proper Self Synchronization The LIN interface will synchronize properly in the following conditions: • Vbat ≥ 8 V • Ground shift between master node and slave node < ±1V It is highly recommended to use the same type of reverse battery voltage protection diode for the Master and the Slave nodes. Functional Description Analog Part The transmitter is a low−side driver with a pull−up resistor and slope control. The receiver mainly consists of a comparator with a threshold equal to VBB/2. Figure 4 shows the characteristics of the transmitted and received signal. See AC Parameters for timing values. VBB Protocol Handler This block implements: • Bit synchronization • Bit timing • The MAC layer • The LLC layer • The supervisor 30 kW RxD to control block LIN protocol handler Filter TxD LIN Slope Control Error Status Register LIN address The LIN interface implements a register containing an error status of the LIN communication. This register is as follows: HW0 from OTP HW1 HW2 Figure 20. LIN Interface Table 31. 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: Data error flag: (= Checksum error + StopBit error + Length error) Header error flag: (= Parity error + SynchField error) Time out flag: The message frame is not fully completed within the maximum length Bit error flag: Difference in bit sent and bit monitored on the LIN bus A GetFullStatus frame will reset the error status register. www.onsemi.com 37 NCV70627 Physical Address of the Circuit limit the number of nodes in a LIN network to not exceed 16. Otherwise the reduced network impedance may prohibit a fault free communication under worst case conditions. Every additional node lowers the network impedance by approximately 3%. The node address is a combination of 4 OTP memory bits and 3 hardwired address bits (pins HW[2:0]). Depending on the Addressing Mode (ADM–bit in OTP) the bits of the address are combined as illustrated below. The circuit must be provided with a physical address in order to discriminate this circuit from other ones on the LIN bus. This address is coded on 7 bits, yielding the theoretical possibility of 128 different circuits on the same bus. It is a combination of 4 OTP memory bits and of the 3 hardwired address bits (pins HW[2:0]). However the maximum number of nodes in a LIN network is also limited by the physical properties of the bus line. It is recommended to MSB = 0 LSB HW0 HW1 PA3 HW2 PA2 PA1 OTP memory Hardwired MSB = 1 PA0 LSB HW0 PA0 OTP memory HW2 HW1 PA3 PA2 PA1 OTP memory Hardwired Figure 21. Combination of OTP and Hardwired Address Bits in Function of ADM (Address Mode) NOTE: Pins HW0 and HW1 are 3.3V 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. For SetPositionShort it is recommended to set HW0, HW1 and HW2 to ’1’. LIN Frames Whereas reading frames will be used to: • Get the actual position of the stepper−motor; • Get status information such as error flags; • Verify the right programming and configuration of the component. The LIN frames can be divided in writing and reading frames. A frame is composed of an 8−bit Identifier followed by 2, 4 or 8 data−bytes and a checksum byte. Note: The checksum is conform LIN1.3, classic checksum calculation over only data bytes. (Checksum is an inverted 8−bit sum with carry over all data bytes.) Writing frames will be used to: • Program the OTP Memory; • Configure the component with the stepper−motor parameters (current, speed, stepping−mode, etc.); • Provide set−point position for the stepper−motor; • Control the motion state machine. Identifier Byte ID0 ID1 ID2 ID3 ID4 ID5 Writing Frames The LIN master sends commands and/or information to the slave nodes by means of a writing frame. According to the LIN specification, identifiers are to be used to determine a specific action. If a physical addressing is needed, then some bits of the data field can be dedicated to this, as illustrated in the example below. Data Byte 1 ID6 Data Byte 2 ID7 phys. address command parameters (e.g. position) and are used for parity check over to , conform LIN1.3 specification. = ⊗ ⊗ ⊗ (even parity) and = NOT( ⊗ ⊗ ⊗ ) (odd parity). www.onsemi.com 38 NCV70627 Another possibility is to determine the specific action within the data field in order to use less identifiers. One can for example use the reserved identifier 0x3C and take ID 0x3C Data Byte 1 00 Data Byte 3 command physical address Data Byte 4 Data Byte 5 Data Byte 7 Data Byte 8 parameters Bit 7 of Data byte 1 must be at ‘1’ since the LIN specification requires that contents from 0x00 to 0x7F must be reserved for broadcast messages (0x00 being for the “Sleep” message). See also LIN command Sleep The writing frames used with the NCV70627 are the following: Type #1: General purpose 2 or 4 data bytes writing frame with a dynamically assigned identifier. This type is dedicated to short writing actions when the bus load can be an issue. They are used to provide direct command to one ( = ‘1’) or all the slave nodes ( = ‘0’). If = ‘1’, the ID ID0 Data Byte 6 1 AppCmd NOTE: Data Byte 2 advantage of the 8 byte data field to provide a physical address, a command and the needed parameters for the action, as illustrated in the example below. ID1 NOTE: ID2 ID3 ID4 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. Data1 ID5 ID6 ID7 Data2 command Physical address Data3... Broad Parameters... and indicate the number of data bytes. ID5 ID4 Ndata (number of data fields) 0 0 2 0 1 2 1 0 4 1 1 8 specific command. This ID provides the fastest access to a read command but is forbidden for any other action. • Indirect ID, which only specifies a reading command, the physical address of the slave node that must answer having been passed in a previous writing frame, called a preparing frame. Indirect ID gives more flexibility than a direct one, but provides a slower access to a read command. 1. A reading frame with indirect ID must always be consecutive to a preparing frame. It will otherwise not be taken into account. 2. A reading frame will always return the physical address of the answering slave node in order to ensure robustness in the communication. The reading frames, used with the NCV70627, are the following: Type #5: two, four or eight Data bytes reading frame with a direct identifier dynamically assigned to a particular slave node together with an application command. A preparing frame is not needed. Type #6: eight 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. (Note: because of the parity calculation done by the master, the identifier becomes 0x7D as physical data over the bus). Type #2: two, four or eight data bytes writing frame with an identifier dynamically assigned to an application command, regardless of the physical address of the circuit. Type #3: two data bytes writing frame with an identifier dynamically assigned to a particular slave node together with an application command. This type of frame requires that there are as many dynamically assigned identifiers as there are NCV70627 circuits using this command connected to the LIN bus. Type #4: eight data bytes writing frame with 0x3C identifier. Reading Frames A reading frame uses an in−frame response mechanism. That is: the master initiates the frame (synchronization field + identifier field), and one slave sends back the data field together with the check field. Hence, two types of identifiers can be used for a reading frame: • Direct ID, which points at a particular slave node, indicating at the same time which kind of information is awaited from this slave node, thus triggering a www.onsemi.com 39 NCV70627 Preparing Frames reading frame and will also contain a command indicating which kind of information is awaited from the slave. The preparing frames used with the NCV70627 can be of type #7 or type #8 described below. A preparing frame is a frame from the master that warns a particular slave node that it will have to answer in the next frame (being a reading frame). A preparing frame is needed when a reading frame does not use a dynamically assigned direct ID. Preparing and reading frames must be consecutive. A preparing frame will contain the physical address of the LIN slave node that must answer in the Type #7: two data bytes writing frame with dynamically assigned identifier. The identifier of the preparing frame has to be assigned to ROM pointer 1000, see Table 35. Table 32. PREPARING FRAME #7 Structure Byte Content 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] 3 Checksum Checksum over data Where: (*) According to parity computation Type #8: eight data bytes preparing frame with 0x3C identifier. Table 33. PREPARING FRAME #8 Structure Byte Content 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 2 Data 2 1 CMD[6:0] 3 Data 3 1 AD[6:0] 4 Data 4 Data4[7:0] FF 5 Data 5 Data5[7:0] FF 6 Data 6 Data6[7:0] FF 7 Data 7 Data7[7:0] FF 8 Data 8 Data8[7:0] FF 9 Checksum Checksum over data AppCMD = ... Where: AppCMD: If = ‘0x80’ this indicates that Data 2 contains an application command CMD[6:0]: Application Command “byte” AD[6:0]: Slave node physical address Data[7:0]: Data transmitted www.onsemi.com 40 NCV70627 Dynamic Assignment of Identifiers frame with identifier 0x3C issued by the LIN master will write dynamic identifiers into the RAM. One writing frame is able to assign 4 identifiers; therefore 3 frames are needed to assign all identifiers. Each ROM pointer place the corresponding dynamic identifier at the correct place in the RAM (see Table below: LIN – Dynamic Identifiers Writing Frame). When setting to zero broadcasting is active and each slave on the LIN bus will store the same dynamic identifiers, otherwise only the slave with the corresponding slave address is programmed. The identifier field in the LIN datagram denotes the content of the message. Six identifier bits and two parity bits are used to represent the content. The identifiers 0x3C and 0x3F are reserved for command frames and extended frames. Slave nodes need to be very flexible to adapt itself to a given LIN network in order to avoid conflicts with slave nodes from different manufacturers. Dynamic assignment of the identifiers will fulfill this requirement by writing identifiers into the circuits RAM. ROM pointers are linking commands and dynamic identifiers together. A writing Table 34. DYNAMIC IDENTIFIERS WRITING FRAME Structure Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Byte Content 0 Identifier 0x3C 1 AppCMD 0x80 2 CMD 1 3 Address Broad 4 Data 5 Data 6 Data 7 Data 8 Data 9 Checksum Bit 2 Bit 1 Bit 0 AD2 AD1 AD0 0x11 AD6 AD5 AD4 AD3 DynID_1[3:0] ROMp_1[3:0] DynID_2[1:0] ROMp_2[3:0] DynID_1[5:4] ROMp_3[3:0] DynID_2[5:2] ROMp_4[1:0] DynID_3[5:0] DynID_4[5:0] ROMp_4[3:2] Checksum over data Where: CMD[6:0]: 0x11, corresponding to dynamic assignment of four LIN identifiers Broad: If = ‘0’ all the circuits connected to the LIN bus will share the same dynamically assigned identifiers. Dyn_ID_x [5:0]: Dynamically assigned LIN identifier to the application command which ROM pointer is One frame allows only assigning of four identifiers. Therefore, additional frames could be needed in order to assign more identifiers (maximum three for the NCV70627). www.onsemi.com 41 NCV70627 Dynamic ID ROM pointer Application Command User Defined 0010 GetActualPos User Defined 0011 GetStatus User Defined 0100 SetPosition User Defined 0101 SetPositionShort (1 m) User Defined 0110 SetPositionShort (2 m) User Defined 0111 SetPositionShort (4 m) User Defined 0000 GeneralPurpose 2 bytes User Defined 0001 GeneralPurpose 4 bytes User Defined 1000 Preparation Frame Command assignment via Dynamic ID during operation Figure 22. Principle of Dynamic Command Assignment Commands Table Table 35. LIN COMMANDS WITH CORRESPONDING ROM POINTER Command Mnemonic Command Byte (CMD) Dynamic ID (example) ROM Pointer 0010 GetActualPos 000000 0x00 100xxx GetFullStatus 000001 0x01 n.a. GetOTPparam 000010 0x02 n.a. GetStatus 000011 0x03 000xxx GotoSecurePosition 000100 0x04 n.a. HardStop 000101 0x05 n.a. ResetPosition 000110 0x06 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 10xxxx 0100 SetPositionShort (1 motor) 001100 0x0C 001001 0101 SetPositionShort (2 motors) 001101 0x0D 101001 0110 SetPositionShort (4 motors) 001110 0x0E 111001 0111 SetPosParam 101111 0x2F 110xxx 1001 n.a. Sleep 0011 n.a. SoftStop 001111 0x0F n.a. Dynamic ID assignment 010001 0x11 n.a. General purpose 2 Data bytes 011000 0000 General purpose 4 Data bytes 101000 0001 Preparing frame 011010 1000 NOTE: “xxx” allows addressing physically a slave node. Therefore, these dynamic identifiers cannot be used for more than eight stepper motors. Only ten ROM pointers are needed for the NCV70627. www.onsemi.com 42 NCV70627 LIN Lost Behavior Introduction LIN Lost During Normal Operation When the LIN communication is broken for a duration of 25000 consecutive frames (= 1,30s @ 19200 kbit/s) NCV70627 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) power on reset or in normal powered operation. If the LIN communication is lost during normal operation, it is assumed that NCV70627 is referenced (by Dual postioning or Resetposition). In other words the register contains the “real” actual position. At LIN – lost an absolute positioning to the stored secure position SecPos is done. This is further called Secure Positioning. If OTP bit = 1, the reaction is the following: If the device has already been referenced, it is assumed that register contains the “real” actual position. At LIN – lost an absolute positioning to the stored secure position SecPos is done (identical to the case, when OTP bit = 0). If the device was not referenced yet, the register does not contain a valid position. At LIN – lost a referencing is started using DualPositioning. A first negative motion of half the positioner range is initiated until the stall position is reached. The motion parameters stored in OTP will be used for this. After this mechanical end−position is reached, will be reset to zero. A second motion of 10 Fullsteps is executed to assure that the motion is really at the end position. After the second motion, a third motion is executed to the Secure Position also stored in OTP; if = 0x400, this second motion is not executed. Following sequence will be followed. See Figure 22. 1. from RAM register will be used. This can be different from OTP register if earlier LIN master communication has updated this. See also Secure Position and command SetMotorParam. I. If = 0x400: No Secure Positioning will be performed II. If ≠ 0x400: Perform a Secure Positioning. This is an absolute positioning (slave knows its ActPos. will be copied in ) Depending on NCV70627 will enter the state or the state. See Table 36. 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 36. SLEEP ENABLE SELECTION Behavior 0 Entering low−power sleep mode is disabled except from and 1 Entering low−power sleep mode enabled Fail Safe Motion The OTP bit enables or disables an automatic motion to a predefined secure position. See also Autonomous Motion. Table 37. FAIL SAFE ENABLE SELECTION Behavior 0 NO reference motion in case of LIN – lost 1 ENABLES reference motion to a secure position in case of LIN–lost (if the device has not been yet referenced with SetDualPosition) NCV70627 is able to perform an Autonomous Motion to a preferred position. This positioning starts after the detection of lost LIN communication and depends on: − the OTP bit = 1. − RAM register ≠ 0x400 The functional behavior depends if LIN communication is lost during normal operation (see figure below case A) or at (or before) startup (case B): Power Up Important Remarks: 1. The Secure Position has a resolution of 11 bit (2Fs resolution on positions). 2. Same behavior in case of HW2 float (= lost LIN address), except for entering Sleep mode. If HW2 is floating, but there is LIN communication, Sleep mode is not entered. See also Hardwired Address HW2 OTP content is copied in RAM No B LIN Bus OK Yes A Figure 23. Flow Chart Power−Up of NCV70627 (Case A: LIN lost during operation and Case B: LIN lost at startup) www.onsemi.com 43 NCV70627 A Normal Operation GetFullStatus SetMotorParam (RAM content is overwritten) Yes LIN bus OK No FailSafe = 1 No Yes Reference done? Yes No First motion of DualPosition Half the position range Negative direction At Stall −> ActPos = ‘0000’ No SecPos ≠ 0x400 Yes STOP Secure Positioning to SecPos stored in RAM SleepEn = 1 No Yes SLEEP STOP Figure 24. Case A: LIN Lost During Normal Operation www.onsemi.com 44 NCV70627 LIN Lost Before or At Power On If LIN is lost before or at power on, following sequence will be followed. See Figure 23. 1. If the LIN communication is lost AND = 0, secure positioning will be done at absolute position (stored secure position .) Depending on SleepEn NCV70627 will enter the state or state. See Table 36. 2. If the LIN communication is lost AND = 1 a referencing is started using DualPositioning, meaning a negative motion for half the positioner range is initiated until the stall position is reached. The motion parameters stored in OTP will be used for this. After this mechanical end position is reached will be reset to zero. The direction of the motion is given by the Shaft bit. −If = 0x400: No Second Motion will be performed. If the LIN communication is lost before or at power on, the register does not reflect the “real” actual position. So at LIN − lost a referencing is started using DualPositioning. A first negative motion for half the positioner range is initiated until the stall position is reached. The motion parameters stored in OTP will be used for this. After this mechanical end position is reached, will be reset to zero. A second motion will start to the Secure Position also stored in OTP. More details are given below. B FailSafe = 1 No Yes First motion of DualPosition Half the position range Negative direction At Stall −> ActPos = ‘0000’ No SecPos ≠ 0x400 Yes STOP Secure Positioning to SecPos stored in RAM, copied from OTP SleepEn = 1 No Yes SLEEP STOP Figure 25. Case B: LIN Lost at or During Sart−Up www.onsemi.com 45 NCV70627 LIN Application Commands Introduction The LIN Master will have to use commands to manage the different application tasks the NCV70627 can feature. The commands summary is given in Table 38 below. Table 38. COMMANDS SUMMARY Command Frames Mnemonic Code Prep # Read # Write # 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 Description READING COMMAND 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 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 4 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 (11 bits 1/2step resolution) SetPositionShort (2 m.) 0x0D 2 Drives two motors to 2 given positions (11 bits 1/2step resolution) SetPositionShort (4 m.) 0x0E 2 Drives four motors to 4 given positions (11 bits 1/2step resolution) SetPosParam 0x2F 2 Drives the motor to a given position and programs some of the motion parameters. 1 Drives circuit into sleep mode if = 1 Drives circuit into stopped mode if if = 0 1 Motor stopping with a deceleration phase SERVICE COMMANDS Sleep 0x0F SoftStop These commands are described hereafter, with their corresponding LIN frames. Refer to LIN Frames for more details on LIN frames, particularly for what concerns dynamic assignment of identifiers. A color coding is used to distinguish between master and slave parts within the frames and to highlight dynamic identifiers. An example is shown below. Table 39. COLOR CODE USED IN THE DEFINITION OF LIN FRAMES GetStatus Reading Frame Byte Content Structure Bit 7 Bit 6 Bit 5 Bit 4 * 0 ID4 0 Identifier * 1 Data 1 ESW 2 Data 2 VddReset Bit 3 Bit 2 Bit 1 Bit 0 ID3 ID2 ID1 ID0 AD[6:0] StepLoss ElDef UV www.onsemi.com 46 TSD TW Tinfo[1:0] NCV70627 Application Commands The Identifier is always sent by the LIN master. Convention: The Identifier and Data sent by the master are in gray presented. The Data sent by the slave is in white presented. Usually, the NCV70627 makes use of dynamic identifiers for general−purpose 2, 4 or 8 bytes writing frames. If dynamic identifiers are used for other purposes, this is acknowledged. Some frames implement a bit that allows addressing a command to all the NCV70627 circuits connected to the same LIN bus. is active when at ‘0’, in which case the physical address provided in the frame is thus not taken into account by the slave nodes. GetActualPos This command is provided to the circuit by the LIN master to get the actual position of the stepper−motor. This position () is returned in signed two’s complement 16−bit format. One should note that according to the programmed stepping mode, the LSB’s of may have no meaning and should be assumed to be ‘0’, as prescribed in Position Ranges. GetActualPos also provides a quick status of the circuit and the stepper−motor, identical to that obtained by command GetStatus (see further). Note: A GetActualPos command will not attempt to reset any flag. GetActualPos corresponds to the following LIN reading frames. 1. four data bytes in−frame response with direct ID (type #5) Table 40. READING FRAME TYPE #5 Structure Byte Content 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 2 Data 2 ActPos[15:8] 3 Data 3 ActPos[7:0] 4 Data 4 5 Checksum VddReset AD[6:0] StepLoss ElDef UV TSD TW Tinfo[1:0] Checksum over data Where: (*) 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 stepper−motors connected to the LIN bus. Note: Bit 5 and bit 4 in byte 0 indicate the number of data bytes. 2. The master sends either a type#7 or type#8 preparing frame. After the type#7 or #8 preparing frame, the master sends a reading frame type#6 to retrieve the circuit’s in−frame response. Table 41. GetActualPos PREPARING FRAME TYPE #7 Structure Byte Content 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] 3 Checksum Checksum over data www.onsemi.com 47 NCV70627 Table 42. GetActualPos PREPARING FRAME TYPE #6 Structure Byte Content 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 2 Data 2 ActPos[15:8] 3 Data 3 ActPos[7:0] 4 Data 4 5 Data 5 6 Data 6 0xFF 7 Data 7 0xFF VddReset AD[6:0] StepLoss ElDef UV TSD TW 1 UV2 UV3 LIN_E Device ID Code 8 Data 8 0xFF 9 Checksum Checksum over data Tinfo[1:0] Where: (*) According to parity computation Table 43. GetActualPos PREPARING FRAME TYPE #8 Structure Byte Content 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 2 Data 2 1 CMD[6:0] = 0x00 3 Data 3 1 AD[6:0] 4 Data 4 Data4[7:0] FF 5 Data 5 Data5[7:0] FF 6 Data 6 Data6[7:0] FF 7 Data 7 Data7[7:0] FF 8 Data 8 Data8[7:0] FF 9 Checksum Checksum over data AppCMD =80 Table 44. GetActualPos READING FRAME TYPE #6 Structure Byte Content 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 2 Data 2 ActPos[15:8] 3 Data 3 ActPos[7:0] 4 Data 4 TSD TW 5 Data 5 1 UV2 6 Data 6 0xFF 7 Data 7 0xFF 8 Data 8 0xFF 9 Checksum Checksum over data VddReset AD[6:0] StepLoss ElDef UV Device ID Code www.onsemi.com 48 Tinfo[1:0] UV3 LIN_E NCV70627 GetFullStatus The master sends either type#7 or type#8 preparing frame. GetFullStatus corresponds to 2 successive LIN in−frame responses with 0x3D indirect ID. Note: It is not mandatory for the LIN master to initiate the second in−frame response if the data in the second response frame is not needed by the application. 1. The master sends a type #7 preparing frame. After the type#7 preparing frame, the master sends a reading frame type#6 to retrieve the circuit’s in−frame response. This command is provided to the circuit by the LIN master to get a complete status of the circuit and the stepper−motor. Refer to RAM Registers and Flags Table to see the meaning of the parameters sent to the LIN master. Note: A GetFullStatus command will attempt to reset flags,,,,, flag will be cleared after the GetStatus command. If is set due to a short on one of the coils, the can only be cleared via a GetFullStatus command. GetStatus corresponds to a 2 data bytes LIN in−frame response with a direct ID (type #5). This command is provided to the circuit by the LIN master to get a quick status (compared to that of GetFullStatus command) of the circuit and of the stepper−motor. Refer to Flags Table to see the meaning of the parameters sent to the LIN master. Table 55. GetStatus READING FRAME TYPE #5 Structure Byte Content 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 2 Data 2 VddReset 3 Checksum AD[6:0] StepLoss ElDef UV TSD TW Tinfo[1:0] Checksum over data 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 stepper−motors connected to the LIN bus. GotoSecurePosition This command is provided by the LIN master to one or all of the stepper−motors to move to the secure position . It can also be internally triggered if the LIN bus communication is lost, after an initialization phase, or prior to going into sleep mode. See the priority encoder description for more details. The priority encoder table also acknowledges the cases where a GotoSecurePosition command will be ignored. Note: The dynamic ID allocation has to be assigned to ‘General Purpose 2 Data bytes’ ROM pointer, i.e. ‘0000’. The command is decoded only from the command data. www.onsemi.com 52 NCV70627 GotoSecurePosition corresponds to the following LIN writing frame (type #1). Table 56. GotoSecurePosition WRITING FRAME TYPE #1 Structure Bit 7 Bit 6 Bit 5 Bit 4 Identifier * * 0 ID4 Data 1 CMD[6:0] = 0x04 2 Data Broad AD[6:0] 3 Checksum Byte Content 0 1 Bit 3 Bit 2 Bit 1 Bit 0 ID3 ID2 ID1 ID0 Checksum over data Where: (*) according to parity computation Broad: If Broad = ‘0’ all the stepper motors connected to the LIN bus will reach their secure position HardStop Note: The dynamic ID allocation has to be assigned to ‘General Purpose 2 Data bytes’ ROM pointer, i.e. ‘0000’. The command is decoded only from the command data. 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). This command will be internally triggered when an electrical problem is detected in one or both coils, leading to shutdown mode. If this occurs while the motor is moving, the flag is raised to allow warning of the LIN master at the next GetStatus command that steps may have been lost. Once the motor is stopped, register is copied into register to ensure keeping the stop position. Table 57. HardStop WRITING FRAME TYPE #1 Structure Bit 7 Bit 6 Bit 5 Bit 4 Identifier * * ID5 ID4 Data 1 CMD[6:0] = 0x05 2 Data Broad AD[6:0] 3 Checksum Byte Content 0 1 Bit 3 Bit 2 Bit 1 Bit 0 ID3 ID2 ID1 ID0 Checksum over data Where: (*) according to parity computation Broad: If broad = ‘0’ all stepper motors connected to the LIN bus will stop ResetPosition Note: The dynamic ID allocation has to be assigned to ‘General Purpose 2 Data bytes’ ROM pointer, i.e. ‘0000’. The command is decoded only from the command data. This command is provided to the circuit by the LIN master to reset and registers to zero. This can be helpful to prepare for instance a relative positioning. The reset position command sets the internal flag “Reference done”. ResetPosition corresponds to the following LIN writing frames (type #1). Table 58. ResetPosition WRITING FRAME TYPE #1 Structure Bit 7 Bit 6 Bit 5 Bit 4 Identifier * * ID5 ID4 Data 1 CMD[6:0] = 0x06 2 Data Broad AD[6:0] 3 Checksum Byte Content 0 1 Bit 3 Bit 2 Bit 1 Bit 0 ID3 ID2 ID1 ID0 Checksum over data Where: (*) according to parity computation Broad: If broad = ‘0’ all the circuits connected to the LIN bus will reset their and registers www.onsemi.com 53 NCV70627 SetDualPosition Note: This sequence cannot be interrupted by another positioning command. This command is provided to the circuit by the LIN master in order to perform a positioning of the motor using two different velocities. See Dual Positioning. After Dual positioning the internal flag “Reference done” is set. SetDualPosition corresponds to the following LIN writing frame with 0x3C identifier (type #4). Table 59. SetDualPositioning WRITING FRAME TYPE #4 Structure Byte Content 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 2 Data 2 1 CMD[6:0] = 0x08 3 Data 3 Broad AD[6:0] 4 Data 4 5 Data 5 Pos1[15:8] 6 Data 6 Pos1[7:0] 7 Data 7 Pos2[15:8] 8 Data 8 Pos2[7:0] 9 Checksum Checksum over data AppCMD = 0x80 Vmax[3:0] Vmin[3:0] Where: Broad: If broad = ‘0’ all the circuits connected to the LIN bus will run the dual positioning Vmax[3:0]: Max velocity for first motion Vmin[3:0]: Min velocity for first motion and velocity for the second motion Pos1[15:0]: First position to be reached during the first motion Pos2[15:0]: Relative position of the second motion SetStallParam This command sets the motion detection parameters and the related stepper−motor parameters, such as the minimum and maximum velocity, the run and hold current, acceleration and step mode. See Motion detection for the meaning of the parameters sent by the LIN Master. SetStallParam corresponds to a 0x3C LIN command (type #4). Table 60. SetStallParam WRITING FRAME TYPE #4 Structure Byte Content 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 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 7 Data 7 8 Data 8 9 Checksum AppCMD = 0x80 MinSamples[2:0] Shaft AbsThr[3:0] FS2StallEn[2:0] Acc[3:0] 0 AccShape StepMode[1:0] UV3Thr[2:0] DC100StEn PWMJEn Checksum over data Where: Broad: If Broad = ‘0’ all the circuits connected to the LIN bus will set the parameters in their RAMs as requested www.onsemi.com 54 NCV70627 Important: If a SetMotorParam occurs while a motion is ongoing, it will modify at once the motion parameters (see Position Controller). Therefore the application should not change other parameters than and while a motion is running, otherwise correct positioning cannot be guaranteed. SetMotorParam This command is provided to the circuit by the LIN master to set the values for the stepper motor parameters (listed below) in RAM. Refer to RAM Registers to see the meaning of the parameters sent by the LIN master. SetMotorParam corresponds to the following LIN writing frame with 0x3C identifier (type #4). Table 61. SetMotorParam WRITING FRAME TYPE #4 Structure Byte Content 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 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 7 Data 7 8 Data 8 9 Checksum AppCMD = 0x80 SecPos[10:8] Shaft Acc[3:0] SecPos[7:0] TStab[1] PWMfreq TStab[0] AccShape StepMode[1:0] I_BOOST_ENB PWMJEn Checksum over data Where: Broad: If Broad = ‘0’ all the circuits connected to the LIN bus will set the parameters in their RAMs as requested Important: This command must be sent under a specific VBB voltage value. See parameter VBBOTP in DC Parameters. This is a mandatory condition to ensure reliable zapping. 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[3]#, OTPA[2:0] and to zap it. SetOTPparam corresponds to a 0x3C LIN writing frames (type #4). Table 62. SetOTPparam WRITING FRAME TYPE #4 Structure Byte Content 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 2 Data 2 1 3 Data 3 Broad 4 Data 4 1 5 Data 5 D[7:0] 6 Data 6 0xFF 7 Data 7 0xFF 8 Data 8 0xFF 9 Checksum Checksum over data AppCMD = 0x80 CMD[6:0] = 0x10 AD[6:0] 1 1 1 OTPA[3]# OTPA[2:0] Where: Broad: If Broad = ‘0’ all the circuits connected to the LIN bus will set the parameters in their OTP memories as requested NOTE: OTPA[3]# is inverted bit. www.onsemi.com 55 NCV70627 SetPosition The priority encoder table (See Priority Encoder) describes the cases where a SetPosition command will be ignored. SetPosition corresponds to the following LIN write frames. 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. 1. Two (2) Data bytes frame with a direct ID (type #3) Table 63. SetPosition WRITING FRAME TYPE #3 Structure Byte Content 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 Checksum Checksum over data 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 stepper−motors connected to the LIN bus. 2. Four (4) Data bytes frame with general purpose identifier (type #1). Note: The dynamic ID allocation has to be assigned to ‘General Purpose 4 Data bytes’ ROM pointer, i.e. ‘0001’. Table 64. SetPosition WRITING FRAME TYPE #1 Structure Bit 7 Bit 6 Bit 5 Identifier * * 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] 5 Checksum Checksum over data Byte Content 0 1 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 ID3 ID2 ID1 ID0 Where: (*) According to parity computation Broad: If broad = ‘0’ all the stepper motors connected to the LIN will must go to Pos[15:0]. 3. Two (2) motors positioning frame with 0x3C identifier (type #4) Table 65. SetPosition WRITING FRAME TYPE #4 Structure Byte Content 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 2 Data 2 1 CMD[6:0] = 0x0B 3 Data 3 1 AD1[6:0] 4 Data 4 5 Data 5 6 Data 6 7 Data 7 Pos2[15:8] 8 Data 8 Pos2[7:0] 9 Checksum Checksum over data AppCMD = 0x80 Pos1[15:8] Pos1[7:0] 1 AD2[6:0] Where: Adn[6:0] : Motor #n physical address (n ∈ [1,2]). Posn[15:0] : Signed 16−bit position set−point for motor #n. www.onsemi.com 56 NCV70627 SetPositionShort 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. For SetPositionShort it is recommended to set HW0, HW1 and HW2 to ‘1’. The priority encoder table (See Priority Encoder) describes the cases where a SetPositionShort command will be ignored. This command is provided to the circuit by the LIN Master to drive one, two or four motors to a given absolute position. The Short Position is only 11 bits and mapped as half steps over the position range. The positioner still perform the motion with the programmed StepMode[1:0], but due to the reduced number of bits, the end position is always taken at a multiple of half steps (resolution). See Positioning for more details. SetPositionShort corresponds to the following LIN writing frames: 1. Two (2) data bytes frame for one (1) motor, with specific identifier (type #2) Table 66. SetPositionShort WRITING FRAME TYPE #2 Structure Byte Content 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 2 Data 2 Pos [7:0] 3 Checksum Checksum over data Pos[10:8] Broad AD [3: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) Table 67. SetPositionShort WRITING FRAME TYPE #2 Structure Byte Content 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 2 Data 2 3 Data 3 4 Data 4 Pos2[7:0] 5 Checksum Checksum over data Pos1[10:8] 1 Pos2[10:8] 1 AD1[3:0] Pos1[7:0] AD2[3:0] Where: (*) according to parity computation ID[5:0]: Dynamically allocated identifier to four data bytes SetPositionShort command. Adn[3:0]: Motor #n physical address least significant bits (n ∈ [1,2]). Posn[10:0]: Signed 11−bit position set point for Motor #n (see RAM Registers) 3. Eight (8) data bytes frame for four (4) motors, with specific identifier (type #2) www.onsemi.com 57 NCV70627 Table 68. SetPositionShort WRITING FRAME TYPE #2 Structure Byte Content 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 2 Data 2 3 Data 3 4 Data 4 5 Data 5 6 Data 6 7 Data 7 Pos1[10:8] 1 Pos2[10:8] 1 AD1[3:0] Pos1[7:0] AD2[3:0] Pos2[7:0] Pos3[10:8] 1 AD3[3:0] Pos3[7:0] Pos4[10:8] 1 AD4[3:0] 8 Data 8 Pos4[7:0] 9 Checksum Checksum over data 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 with specific dynamically assigned identifier (type # 2). Table 69. SetPosParam WRITING FRAME TYPE #2 Structure Byte Content Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0 Identifier * * 1 0 ID3 ID2 ID5 ID4 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] 5 Checksum Checksum over data Where: (*) according to parity computation Broad: If broad = ‘0’ all the stepper motors connected to the LIN bus will stop with deceleration. ID[5:0]: Dynamically allocated direct identifier to 4 Data bytes SetPosParam command. There should be as many dedicated identifiers to this SetPosParam command as there are stepper−motors connected to the LIN bus. Pos [15:0]: Signed 16−bit position set−point. Sleep frame is a master request command frame (identifier 0x3C) with data byte 1 containing 0x00 while the followings contain 0xFF. Note: SleepEnable needs to be set to 1 in order to allow the device to go to sleep. If SleepEnable is 0 the device will go into “stopped state” 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 www.onsemi.com 58 NCV70627 Table 70. SLEEP WRITING FRAME Structure Byte Content 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 3 Data 3 0xFF 4 Data 4 0xFF 5 Data 5 0xFF 6 Data 6 0xFF 7 Data 7 0xFF 8 Data 8 0xFF 3 Checksum Checksum over data SoftStop Command SoftStop occurs in the following cases: If a SoftStop command occurs during a motion of the stepper motor, it provokes an immediate deceleration to Vmin (see Minimum Velocity) followed by a stop, regardless of the position reached. Once the motor is stopped, TagPos register is overwritten with value in ActPos register to ensure keeping the stop position. Note: The dynamic ID allocation has to be assigned to ‘General Purpose 2 Data bytes’ ROM pointer ‘0000’. The command is decoded only from the command data. Note: A SoftStop command occurring during a DualPosition sequence is not taken into account. • The chip temperature rises above the thermal shutdown • • threshold (see DC Parameters and Temperature Management); The VBB drops under the UV3 level; (see DC Parameters and Battery Voltage Management); The LIN master requests a SoftStop. Hence SoftStop will correspond to the following two data bytes LIN writing frame (type #1). Table 71. SoftStop WRITING FRAME TYPE #1 Structure Byte Content 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] 3 Checksum Checksum over data Where: (*) according to parity computation Broad: If broad = ‘0’ all the stepper motors connected to the LIN bus will stop with deceleration. www.onsemi.com 59 MECHANICAL CASE OUTLINE PACKAGE DIMENSIONS SSOP36 EP CASE 940AB ISSUE A DATE 19 JAN 2016 SCALE 1:1 0.20 C A-B D 4X 36 E1 1 X = A or B e/2 E DETAIL B 36X 0.25 C 18 e 36X B b 0.25 TOP VIEW A H X 19 ÉÉÉ ÉÉÉ ÉÉÉ PIN 1 REFERENCE D DETAIL B A NOTES: 1. DIMENSIONING AND TOLERANCING PER ASME Y14.5M, 1994. 2. CONTROLLING DIMENSION: MILLIMETERS. 3. DIMENSION b DOES NOT INCLUDE DAMBAR PROTRUSION. ALLOWABLE DAMBAR PROTRUSION SHALL BE 0.13 TOTAL IN EXCESS OF THE b DIMENSION AT MMC. 4. DIMENSION b SHALL BE MEASURED BETWEEN 0.10 AND 0.25 FROM THE TIP. 5. DIMENSIONS D AND E1 DO NOT INCLUDE MOLD FLASH, PROTRUSIONS OR GATE BURRS. DIMENSIONS D AND E1 SHALL BE DETERMINED AT DATUM H. 6. THIS CHAMFER FEATURE IS OPTIONAL. IF IT IS NOT PRESENT, A PIN ONE IDENTIFIER MUST BE LOACATED WITHIN THE INDICATED AREA. T A M S B S NOTE 6 h A2 DETAIL A c h 0.10 C 36X SIDE VIEW A1 END VIEW SEATING PLANE C D2 M1 DIM A A1 A2 b c D D2 E E1 E2 e h L L2 M M1 MILLIMETERS MIN MAX --2.65 --0.10 2.15 2.60 0.18 0.30 0.23 0.32 10.30 BSC 5.70 5.90 10.30 BSC 7.50 BSC 3.90 4.10 0.50 BSC 0.25 0.75 0.50 0.90 0.25 BSC 0_ 8_ 5_ 15 _ GENERIC MARKING DIAGRAM* M GAUGE PLANE E2 L2 C SEATING PLANE 36X XXXXXXXXXX XXXXXXXXXX XXXXXXXXXX AWLYYWWG L DETAIL A SOLDERING FOOTPRINT BOTTOM VIEW 5.90 4.10 36X 1.06 10.76 XXXX A WL YY WW G = Specific Device Code = Assembly Location = Wafer Lot = Year = Work Week = Pb−Free Package *This information is generic. Please refer to device data sheet for actual part marking. 1 0.50 PITCH 36X 0.36 DIMENSIONS: MILLIMETERS DOCUMENT NUMBER: DESCRIPTION: 98AON46215E SSOP36 EXPOSED PAD Electronic versions are uncontrolled except when accessed directly from the Document Repository. Printed versions are uncontrolled except when stamped “CONTROLLED COPY” in red. PAGE 1 OF 1 ON Semiconductor and are trademarks of Semiconductor Components Industries, LLC dba ON Semiconductor or its subsidiaries in the United States and/or other countries. ON Semiconductor reserves the right to make changes without further notice to any products herein. ON Semiconductor makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does ON Semiconductor assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation special, consequential or incidental damages. ON Semiconductor does not convey any license under its patent rights nor the rights of others. © Semiconductor Components Industries, LLC, 2019 www.onsemi.com onsemi, , and other names, marks, and brands are registered and/or common law trademarks of Semiconductor Components Industries, LLC dba “onsemi” or its affiliates and/or subsidiaries in the United States and/or other countries. onsemi owns the rights to a number of patents, trademarks, copyrights, trade secrets, and other intellectual property. A listing of onsemi’s product/patent coverage may be accessed at www.onsemi.com/site/pdf/Patent−Marking.pdf. onsemi reserves the right to make changes at any time to any products or information herein, without notice. The information herein is provided “as−is” and onsemi makes no warranty, representation or guarantee regarding the accuracy of the information, product features, availability, functionality, or suitability of its products for any particular purpose, nor does onsemi assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation special, consequential or incidental damages. Buyer is responsible for its products and applications using onsemi products, including compliance with all laws, regulations and safety requirements or standards, regardless of any support or applications information provided by onsemi. “Typical” parameters which may be provided in onsemi data sheets and/or specifications can and do vary in different applications and actual performance may vary over time. All operating parameters, including “Typicals” must be validated for each customer application by customer’s technical experts. onsemi does not convey any license under any of its intellectual property rights nor the rights of others. onsemi products are not designed, intended, or authorized for use as a critical component in life support systems or any FDA Class 3 medical devices or medical devices with a same or similar classification in a foreign jurisdiction or any devices intended for implantation in the human body. Should Buyer purchase or use onsemi products for any such unintended or unauthorized application, Buyer shall indemnify and hold onsemi 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 onsemi was negligent regarding the design or manufacture of the part. onsemi is an Equal Opportunity/Affirmative Action Employer. This literature is subject to all applicable copyright laws and is not for resale in any manner. PUBLICATION ORDERING INFORMATION LITERATURE FULFILLMENT: Email Requests to: orderlit@onsemi.com onsemi Website: www.onsemi.com ◊ TECHNICAL SUPPORT North American Technical Support: Voice Mail: 1 800−282−9855 Toll Free USA/Canada Phone: 011 421 33 790 2910 Europe, Middle East and Africa Technical Support: Phone: 00421 33 790 2910 For additional information, please contact your local Sales Representative
NV706272R1DBGEVB 价格&库存

很抱歉,暂时无法提供与“NV706272R1DBGEVB”相匹配的价格&库存,您可以联系我们找货

免费人工找货