English
Language : 

AMIS-30623 Datasheet, PDF (34/67 Pages) AMI SEMICONDUCTOR – LIN Microstepping Motordriver
AMIS-30623 LIN Microstepping Motordriver
Data Sheet
Notes:
1)
2)
3)
4)
5)
6)
7)
8)
9)
10)
11)
12)
13)
14)
Leaving sleep state is equivalent to power-on-reset.
After power-on-reset, the shutdown state is entered. The shutdown state can only be left after GetFullStatus command (so that the master could read the
<VddReset> flag).
A DualPosition sequence runs with a separate set of RAM registers. The parameters that are not specified in a DualPosition command are loaded with the values
stored in RAM at the moment the DualPosition sequence starts. AccShape is forced to ‘1’ during second motion even if a ResetToDefault command is issued
during a DualPosition sequence, in which case AccShape at ‘0’ will be taken into account after the DualPosition sequence. A GetFullStatus command will
return the default parameters for Vmax and Vmin stored in RAM.
The <Sleep> flag is set to ‘1’ when a LIN timeout or a Sleep command occurs. It is reset by the next LIN command (<Sleep> is cancelled if not activated yet).
Shutdown state can be left only when <TSD> and <HS> flags are reset.
Flags can be reset only after the master could read them via a GetStatus or GetFullStatus command, and provided the physical conditions allow for it
(normal temperature, correct battery voltage and no electrical or charge pump defect).
A SetMotorParam command sent while a motion is ongoing (state GotoPos) should not attempt to modify Acc and Vmin values. This can be done during a
DualPosition sequence since this motion uses its own parameters, the new parameters will be taken into account at the next SetPosition or SetPositionShort
command.
Some transitions like GotoPos → Sleep are actually done via several states: GotoPos → SoftStop → Stopped → Sleep (see diagram below).
Two transitions are possible from state Stopped when <Sleep> = ‘1’:
1) Transition to state Sleep if (<SecEn> = ‘0’) or ((<SecEn> = ‘1’) and (ActPos = SecPos)) or <Stop> = ‘1’
2) Otherwise transition to state GotoPos, with TagPos = SecPos
<SecEn> = ‘1’ when register SecPos is loaded with a value different from the most negative value (i.e. different from 0x400 = “100 0000 0000”)
<Stop> flag allows to distinguish whether state stopped was entered after HardStop/SoftStop or not. <Stop> is set to ‘1’ when leaving state HardStop or SoftStop
and is reset during first clock edge occurring in state Stopped.
Command for dynamic assignment of Ids is decoded in all states except sleep and has not effect on the current state
While in state stopped, if ActPos → TagPos there is a transition to state GotoPos. This transition has the lowest priority, meaning that <Sleep>, <Stop>, <TSD>,
etc. are first evaluated for possible transitions.
If <StepLoss> is active, then SetPosition, SetPositionShort and GotoSecurePosition commands are ignored (they will not modify TagPos register
whatever the state), and motion to secure position is forbidden after a Sleep command or a LIN timeout (the circuit will go into Sleep state immediately, without
positioning to secure position). Other command like DualPosition or ResetPosition will be executed if allowed by current state. <StepLoss> can only be
cleared by a GetStatus or GetFullStatus command.
POR
RunInit
Thermal Shutdown
SoftStop
HardStop
HardStop
ShutDown
RunInit Motion finished
HardStop
Thermal ShutDown
SoftStop
HardStop
Thermal Shutdown
Stopped
Motion Finished
GotoSecPos
SetPosition
Motion Finished
HardStop
GotoPos
<Sleep>
OR LIN timeout
Any LIN command
Sleep
<Sleep> AND (not<SecEn> OR
<SecEn> AND ActPos = SecPos
OR <Stop>)
Motion Finished
Priorities 1
2
3
4
Figure 19: State Diagram
Remark: IF “SleepEn”=0, then the red arrow from stopped state to sleep state does not exist.
AMI Semiconductor – June 2006, Rev 3.0
34
www.amis.com