PIC18F2331/2431/4331/4431
17.2.3.3
Reset and Update Events
17.2.4
QEI INTERRUPTS
The position counter will continue to increment or dec-
rement until one of the following events takes place.
The type of event and the direction of rotation when it
happens determines if a register Reset or update
occurs.
The position counter interrupt occurs and the interrupt
flag (IC2QEIF) is set, based on the following events:
• A POSCNT/MAXCNT period match event
(QEIM<2:0> = 010or 110)
• A POSCNT rollover (FFFFh to 0000h) in Period
mode only (QEIM<2:0> = 010or 110)
1. An index pulse is detected on the INDX input
(QEIM<2:0> = 001).
• An index pulse detected on INDX
If the encoder is traveling in the forward direc-
tion, POSCNT is reset (00h) on the next clock
edge after the index marker, INDX, has been
detected. The position counter resets on the
QEA or QEB edge once the INDX rising edge
has been detected.
The interrupt timing diagrams for IC2QEIF are shown in
Figure 17-10 and Figure 17-11.
When the direction has changed, the direction change
interrupt flag (IC3DRIF) is set on the following TCY
clock (see Figure 17-10).
If the position counter rolls over in Index mode, the
QERR bit will be set.
If the encoder is traveling in the reverse direc-
tion, the value in the MAXCNT register is loaded
into POSCNT on the next quadrature pulse
edge (QEA or QEB) after the falling edge on
INDX has been detected.
17.2.5
QEI SAMPLE TIMING
The quadrature input signals, QEA and QEB, may vary
in quadrature frequency. The minimum quadrature
input period, TQEI, is 16 TCY.
2. A POSTCNT/MAXCNT period match occurs
(QEIM<2:0> = 010).
The position count rate, FPOS, is directly proportional to
the rotor’s RPM, line count D and QEI Update mode (x2
versus x4); that is,
If the encoder is traveling in the forward direc-
tion, POSCNT is reset (00h) on the next clock
edge when POSCNT = MAXCNT. An interrupt
event is triggered on the next TCY after the Reset
(see Figure 17-10)
EQUATION 17-1:
4D • RPM
FPOS =
If the encoder is traveling in the reverse
direction and the value of POSCNT reaches
00h, POSCNT is loaded with the contents of the
MAXCNT register on the next clock edge. An
interrupt event is triggered on the next TCY after
the load operation (see Figure 17-10).
60
Note:
The number of incremental lines in the
position encoder is typically set at D = 1024
and the QEI Update mode = x4.
The value of the position counter is not affected during
QEI mode changes, nor when the QEI is disabled
altogether.
The maximum position count rate (i.e., x4 QEI
Update mode, D = 1024) with FCY = 10 MIPS is equal
to 2.5 MHz, which corresponds to FQEI of 625 kHz.
Figure 17-9 shows QEA and QEB quadrature input
timing when sampled by the noise filter.
DS39616D-page 164
2010 Microchip Technology Inc.