English
Language : 

AMIS-30623 Datasheet, PDF (31/65 Pages) AMI SEMICONDUCTOR – LIN Microstepping Motordriver
AMIS-30623
Table 21: Priority Encoder
State →
Stopped
Command
↓
Motor Stopped,
Ihold in Coils
GetActualPos
LIN in-frame
response
GetOTPparam
OTP refresh;
LIN in-frame
response
GetFullStatus
or GetStatus
[ attempt to clear <TSD>
and <HS> flags ]
LIN in-frame
response
ResetToDefault
OTP refresh;
[ ActPos and TagPos OTP to RAM;
are not altered ]
AccShape reset
GotoPos
Motor Motion
Ongoing
LIN in-frame
response
OTP refresh;
LIN in-frame
response
LIN in-frame
response
OTP refresh;
OTP to RAM;
AccShape reset
DualPosition
No Influence on
RAM and
TagPos
LIN in-frame
response
OTP refresh;
LIN in-frame
response
LIN in-frame
response
OTP refresh;
OTP to RAM;
AccShape reset
(note 3)
SoftStop
Motor
Decelerating
LIN in-frame
response
OTP refresh;
LIN in-frame
response
LIN in-frame
response
OTP refresh;
OTP to RAM;
AccShape reset
HardStop
ShutDown
Sleep
Motor Forced to Motor Stopped, No Power
Stop
H-bridges in (note 1)
Hi-Z
LIN in-frame
response
LIN in-frame
response
OTP refresh;
LIN in-frame
response
OTP refresh;
LIN in-frame
response
LIN in-frame
response
LIN in-frame
response;
if (<TSD> or
<HS>) = ‘0’
then → Stopped
OTP refresh;
OTP refresh;
OTP to RAM; OTP to RAM;
AccShape reset AccShape reset
SetMotorParam
[ Master takes care
about proper update ]
RAM update
RAM update
RAM update
RAM update
RAM update
RAM update
ResetPosition
SetPosition
SetPositionShort
[ half-step mode only) ]
GotoSecPosition
TagPos and
ActPos reset
TagPos updated;
→ GotoPos
TagPos updated;
→ GotoPos
If <SecEn> = ‘1’
then TagPos =
SecPos;
→ GotoPos
TagPos updated
TagPos updated
If <SecEn> = ‘1’
then TagPos =
SecPos
TagPos updated
TagPos updated
If <SecEn> = ‘1’
then TagPos =
SecPos
TagPos and
ActPos reset
DualPosition
→ DualPosition
HardStop
SoftStop
Sleep or LIN timeout
[ ⇒ <Sleep> = ‘1’, reset
by any LIN command
received later ]
See note 9
→ HardStop; → HardStop; → HardStop;
<StepLoss> = ‘1’ <StepLoss> = ‘1’ <StepLoss> = ‘1’
→ SoftStop
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’ ]
Thermal shutdown
[ <TSD> = ‘1’ ]
→ Shutdown
→ Shutdown
→ HardStop
→ SoftStop
→ HardStop
→ SoftStop
→ HardStop
Motion finished
n.a.
→ Stopped
→ Stopped
→ Stopped;
→ Stopped;
TagPos =ActPos 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