
29
The RST_INTRPT and GET_I commands are only effective when
there is an interrupt present. If no interrupt is present than
alternative 'polled-mode' commands such as RST_STATUS or
GET_STATUS should be used.
Encoder Position Feedback
The MC1241A-series of chipsets support direct input of incremental
encoder signals. Four position input and control signals are supported:
- A quadrature channel
- B quadrature channel
- Index pulse
- Home signal
The A and B signals are used to continuously maintain the position of
the motor, and the index and home signals are used as trigger inputs to
a high-speed position capture mechanism
Each quadrature channel consists of a square wave offset 90 deg. from
the other. Positive motion consists of the A channel leading the B
channel by 90 deg., and negative motion consists of the A channel
lagging the B channel by 90 deg. For each full phase of one channel,
four resolved quadrature counts will occur, resulting in a 4 to 1
resolution enhancement over the basic channel resolution.
The index pulse is typically located on the encoder and will be active
once per revolution. The chip set recognizes that an index trigger has
occurred (i.e. when the 32-bit index location is captured) when the
index signal, as well as the A and B signals transition low.
The home signal is typically connected to a position reference sensor,
or to any other general purpose synchronizing signal. The home signal
is recognized when it alone transitions low. The state of the A and B
signals does not affect home signal trigger recognition.
Encoder Filtering
To enhance reliability of the received encoder information the MC1241A
provides digital filtering of the quadrature data lines (A and B
quadrature count) as well as the index and home signals.
For all of these signals a valid high or low condition is recognized only
when the condition has been maintained for 3 clock cycles of 160 nSec
each (total required duration of 480 nSec)
For example if a brief spurious noise signal on one of the lines occurs
for 300 nSec, then this noise will be rejected until a valid state change
lasting over 480nSec occurs.
High Speed Position Capture
Each axis of the MC1241A supports a high speed encoder position
capture register that allows the current 32-bit axis location to be saved
based on an external trigger signal.
Two separate trigger signals are available, although there is only one
capture register. The trigger signal source is selected by the host and
can be either the index signal, or the home signal. Selection of the
index input or the home input as the trigger source is made using the
SET_CAPT_INDEX and SET_CAPT_HOME commands.
Position Capture Readback
After a triggering signal has caused a position capture in the MC1241A
the stored position may be read by the host processor. The axis status
word indicates whether or not a capture has occurred. The command
GET_CAPT is used to retrieve the position stored at the time of the
home signal trigger.
The captured position is equal to the axis position at the moment the
trigger pulse was encountered (including other required signal states
defined above). Note that the capture register is located in hardware. Its
accuracy is therefore not affected by the velocity of the axis.
The position captured by the high-speed position capture register
is the actual axis position of the motor encoder, not the trajectory
generator position.
To read a sequence of positions the capture value must be read
by the host processor before another position capture can occur.
For example if a trigger occurs, and a second trigger occurs
before the capture position was read using the GET_CAPT
command, no capture will occur from the second triggering
signal.
Stall Detection
The MC1241A chipset supports two primary operations in connection
with encoder feedback:
- readback of current axis position
- automatic stall detection.
Readback of the current encoder position is accomplished using the
GET_ACTL_POS command. This command allows the user to confirm
that the stepper axis has achieved a particular location. The
GET_ACTL_POS command can be used at any time, whether the axis
is in motion or not.
Automatic stall detection allows the chipset to detect when the step
motor has lost steps during a motion. This typically occurs when the
motor encounters an obstruction, or otherwise exceeds its rated torque
specification.