PIC18F2331/2431/4331/4431
17.1.3.1
Pulse-Width Measurement Timing
17.1.4
INPUT CAPTURE ON STATE
CHANGE
Pulse-width measurement accuracy can only be
ensured when the pulse-width high and low present on
the CAPx input exceeds one TCY clock cycle. The
limitations depend on the mode selected:
When CAPxM<3:0> = 1000, the value is captured on
every signal change on the CAPx input. If all three
capture channels are configured in this mode, the three
input captures can be used as the Hall effect sensor
state transition detector. The value of Timer5 can be
captured, Timer5 reset and the interrupt generated.
Any change on CAP1, CAP2 or CAP3 is detected and
the associated time base count is captured.
• When CAPxM<3:0> = 0110(rising to falling edge
delay), the CAPx input high pulse width (TCCH)
must exceed TCY + 10 ns.
• When CAPxM<3:0> = 0111(falling to rising edge
delay), the CAPx input low pulse width (TCCL)
must exceed TCY + 10 ns.
For position and velocity measurement in this mode,
the timer can be optionally reset (see Section 17.1.6
“Timer5 Reset” for Reset options).
Note 1: The Period Measurement mode will
produce valid results upon sampling of the
second rising edge of the input capture.
CAPxBUF values latched during the first
active edge after initialization are invalid.
2: The Pulse-Width Measurement mode will
latch the value of the timer upon sampling
of the first input signal edge by the input
capture.
FIGURE 17-6:
INPUT CAPTURE ON STATE CHANGE (HALL EFFECT SENSOR MODE)
1
0
1
0
1
1
0
1
0
1
0
0
CAP1
CAP2
CAP3
1
0
0
0
1
1
0FFFh
0000h
Time Base(1)
CAP1BUF(2)
CAP2BUF(2)
CAP3BUF(2)
Time Base Reset(1)
Note 1: TMR5 can be selected as the time base for input capture. The time base can be optionally reset when the Capture
Reset Enable bit is set (CAPxREN = 1).
2: Detailed CAPxBUF event timing (all modes reflect the same capture and Reset timing) is shown in Figure 17-4. There
are six commutation BLDC Hall effect sensor states shown. The other two remaining states (i.e., 000h and 111h)are
invalid in the normal operation. They remain to be decoded by the CPU firmware in BLDC motor application.
DS39616D-page 158
2010 Microchip Technology Inc.