English
Language : 

AMIS-30621 Datasheet, PDF (29/59 Pages) AMI SEMICONDUCTOR – LIN Microstepping Motordriver
AMIS−30621
Priority Encoder
The table below describes the simplified state management performed by the main control block.
Table 21. PRIORITY ENCODER
State "
Stopped
GotoPos
DualPosition
SoftStop
HardStop
ShutDown
Sleep
Command
↓
Motor Stopped,
Ihold in Coils
Motor Motion On- No Influence on RAM
going
and TagPos
Motor Decelerating
Motor Forced to Motor Stopped, No Power
Stop
H−bridges in Hi−Z (Note 26)
GetActualPos
LIN in−frame
response
LIN in−frame
response
LIN in−frame
response
LIN in−frame
response
LIN in−frame
response
LIN in−frame
response
GetOTPparam
OTP refresh;
LIN in−frame
response
OTP refresh;
LIN in−frame
response
OTP refresh;
LIN in−frame
response
OTP refresh;
LIN in−frame
response
OTP refresh;
LIN in−frame
response
OTP refresh;
LIN in−frame
response
GetFullStatus
or GetStatus
[ attempt to clear <TSD> and
<HS> flags ]
LIN in−frame
response
LIN in−frame
response
LIN in−frame
response
LIN in−frame
response
LIN in−frame
response
LIN in−frame
response;
if (<TSD> or <HS>)
= ‘0’
then → Stopped
ResetToDefault
[ ActPos and TagPos are
not altered ]
OTP refresh;
OTP to RAM;
AccShape reset
OTP refresh;
OTP to RAM;
AccShape reset
OTP refresh;
OTP to RAM;
AccShape reset
(Note 28)
OTP refresh;
OTP to RAM;
AccShape reset
OTP refresh;
OTP to RAM;
AccShape reset
OTP refresh; OTP
to RAM; AccShape
reset
SetMotorParam
[ Master takes care about
proper update ]
RAM update
RAM update
RAM update
RAM update
RAM update
RAM update
ResetPosition
TagPos and ActPos
reset
TagPos and ActPos
reset
SetPosition
TagPos updated;
→ GotoPos
TagPos updated
TagPos updated
SetPositionShort
[ half−step mode only) ]
TagPos updated;
→ GotoPos
TagPos updated
TagPos updated
GotoSecPosition
If <SecEn> = ‘1’
then TagPos =
SecPos;
→ GotoPos
If <SecEn> = ‘1’
then TagPos =
SecPos
If <SecEn> = ‘1’ then
TagPos = SecPos
DualPosition
→ DualPosition
HardStop
SoftStop
→ HardStop;
<StepLoss> = ‘1’
→ SoftStop
→ HardStop;
<StepLoss> = ‘1’
→ HardStop;
<StepLoss> = ‘1’
Sleep or LIN timeout
[ ⇒ <Sleep> = ‘1’, reset by
any LIN command received
later ]
See Note 34
If <SecEn> = ‘1’
then TagPos =
SecPos
else → SoftStop
If <SecEn> = ‘1’ then
TagPos = SecPos;
will be evaluated after
DualPosition
No action;
<Sleep> flag will be
evaluated when motor
stops
No action;
<Sleep> flag will
be evaluated when
motor stops
→ Sleep
HardStop
[ ⇔ (<CPFail> or <UV2> or
<ElDef>) = ‘1’ ⇒ <HS> =
‘1’ ]
→ Shutdown
→ HardStop
→ HardStop
→ HardStop
Thermal shutdown
[ <TSD> = ‘1’ ]
→ Shutdown
→ SoftStop
→ SoftStop
Motion finished
n.a.
→ Stopped
→ Stopped
→ Stopped; TagPos
→ Stopped;
n.a.
n.a.
=ActPos
TagPos =ActPos
With the Following Color Code:
Command Ignored
Transition to Another State
Master is responsible for proper update (see Note 32)
NOTE: See table notes on the following page.
http://onsemi.com
29