![Texas Instruments SimpleLink Ethernet MSP432E401Y Technical Reference Manual Download Page 1570](http://html1.mh-extra.com/html/texas-instruments/simplelink-ethernet-msp432e401y/simplelink-ethernet-msp432e401y_technical-reference-manual_10955781570.webp)
Functional Description
1570
SLAU723A – October 2017 – Revised October 2018
Copyright © 2017–2018, Texas Instruments Incorporated
Quadrature Encoder Interface (QEI)
24.3 Functional Description
The QEI module interprets the two-bit gray code produced by a quadrature encoder wheel to integrate
position over time and determine direction of rotation. In addition, it can capture a running estimate of the
velocity of the encoder wheel.
The position integrator and velocity capture can be independently enabled, though the position integrator
must be enabled before the velocity capture can be enabled. The two phase signals, PhAn and PhBn, can
be swapped before being interpreted by the QEI module to change the meaning of forward and backward
and to correct for miswiring of the system. Alternatively, the phase signals can be interpreted as a clock
and direction signal as output by some encoders.
The QEI module input signals have a digital noise filter on them that can be enabled to prevent spurious
operation. The noise filter requires that the inputs be stable for a specified number of consecutive clock
cycles before updating the edge detector. The filter is enabled by the FILTEN bit in the QEI Control
(QEICTL) register. The frequency of the input update is programmable using the FILTCNT bit field in the
QEICTL register.
The QEI module supports two modes of signal operation: quadrature phase mode and clock and direction
mode. In quadrature phase mode, the encoder produces two clocks that are 90 degrees out of phase; the
edge relationship is used to determine the direction of rotation. In clock/direction mode, the encoder
produces a clock signal to indicate steps and a direction signal to indicate the direction of rotation. This
mode is determined by the SIGMODE bit of the QEICTL register (see
).
When the QEI module is set to use the quadrature phase mode (SIGMODE bit is clear), the capture mode
for the position integrator can be set to update the position counter on every edge of the PhA signal or to
update on every edge of both PhA and PhB. Updating the position counter on every PhA and PhB edge
provides more positional resolution at the cost of less range in the positional counter.
When edges on PhA lead edges on PhB, the position counter is incremented. When edges on PhB lead
edges on PhA, the position counter is decremented. When a rising and falling edge pair is seen on one of
the phases without any edges on the other, the direction of rotation has changed.
The positional counter is automatically reset on one of two conditions: sensing the index pulse or reaching
the maximum position value. The reset mode is determined by the RESMODE bit of the QEICTL register.
When RESMODE is set, the positional counter is reset when the index pulse is sensed. This mode limits
the positional counter to the values [0:N-1], where N is the number of phase edges in a full revolution of
the encoder wheel. The QEI Maximum Position (QEIMAXPOS) register must be programmed with N-1 so
that the reverse direction from position 0 can move the position counter to N-1. In this mode, the position
register contains the absolute position of the encoder relative to the index (or home) position once an
index pulse has been seen.
When RESMODE is clear, the positional counter is constrained to the range [0:M], where M is the
programmable maximum value. The index pulse is ignored by the positional counter in this mode.
Velocity capture uses a configurable timer and a count register. The timer counts the number of phase
edges (using the same configuration as for the position integrator) in a given time period. The edge count
from the previous time period is available to the controller via the QEI Velocity (QEISPEED) register, while
the edge count for the current time period is being accumulated in the QEI Velocity Counter (QEICOUNT)
register. As soon as the current time period is complete, the total number of edges counted in that time
period is made available in the QEISPEED register (overwriting the previous value), the QEICOUNT
register is cleared, and counting commences on a new time period. The number of edges counted in a
given time period is directly proportional to the velocity of the encoder.
shows how the MSP432E4 quadrature encoder converts the phase input signals into clock
pulses, the direction signal, and how the velocity predivider operates (in Divide by 4 mode).