Microchip Technology MCU PIC PIC18F87K22-I/PTRSL TQFP-80 MCP PIC18F87K22-I/PTRSL Data Sheet

Product codes
PIC18F87K22-I/PTRSL
Page of 550
 2009-2011 Microchip Technology Inc.
DS39960D-page 389
PIC18F87K22 FAMILY
27.2
CTMU Operation
The CTMU works by using a fixed current source to
charge a circuit. The type of circuit depends on the type
of measurement being made.
In the case of charge measurement, the current is fixed
and the amount of time the current is applied to the cir-
cuit is fixed. The amount of voltage read by the A/D
becomes a measurement of the circuit’s capacitance.
In the case of time measurement, the current, as well
as the capacitance of the circuit, is fixed. In this case,
the voltage read by the A/D is representative of the
amount of time elapsed from the time the current
source starts and stops charging the circuit.
If the CTMU is being used as a time delay, both capaci-
tance and current source are fixed, as well as the voltage
supplied to the comparator circuit. The delay of a signal
is determined by the amount of time it takes the voltage
to charge to the comparator threshold voltage.
27.2.1
THEORY OF OPERATION
The operation of the CTMU is based on the equation
for charge: 
More simply, the amount of charge measured in
coulombs in a circuit is defined as current in amperes
(I) multiplied by the amount of time in seconds that the
current flows (t). Charge is also defined as the capaci-
tance in farads (C) multiplied by the voltage of the
circuit (V). It follows that: 
The CTMU module provides a constant, known current
source. The A/D Converter is used to measure (V) in
the equation, leaving two unknowns: capacitance (C)
and time (t). The above equation can be used to calcu-
late capacitance or time, by either the relationship
using the known fixed capacitance of the circuit:
or by:
using a fixed time that the current source is applied to
the circuit.
27.2.2
CURRENT SOURCE
At the heart of the CTMU is a precision current source,
designed to provide a constant reference for measure-
ments. The level of current is user-selectable across
three ranges or a total of two orders of magnitude, with
the ability to trim the output in ±2% increments
(nominal). The current range is selected by the
IRNG<1:0> bits (CTMUICON<1:0>), with a value of
‘00’ representing the lowest range. 
Current trim is provided by the ITRIM<5:0> bits
(CTMUICON<7:2>). These six bits allow trimming of
the current source in steps of approximately 2% per
step. Half of the range adjusts the current source posi-
tively and the other half reduces the current source. A
value of ‘000000’ is the neutral position (no change). A
value of ‘100000’ is the maximum negative adjustment
(approximately -62%) and ‘011111’ is the maximum
positive adjustment (approximately +62%).
27.2.3
EDGE SELECTION AND CONTROL
CTMU measurements are controlled by edge events
occurring on the module’s two input channels. Each
channel, referred to as Edge 1 and Edge 2, can be con-
figured to receive input pulses from one of the edge
input pins (CTED1 and CTED2) or CCPx Special Event
Triggers. The input channels are level-sensitive,
responding to the instantaneous level on the channel
rather than a transition between levels. The inputs are
selected using the EDG1SEL and EDG2SEL bit pairs
(CTMUCONL<3:2, 6:5>). 
In addition to source, each channel can be configured for
event polarity using the EDGE2POL and EDGE1POL
bits (CTMUCONL<7,4>). The input channels can also
be filtered for an edge event sequence (Edge 1 occur-
ring before Edge 2) by setting the EDGSEQEN bit
(CTMUCONH<2>).
27.2.4
EDGE STATUS
The CTMUCON register also contains two status bits:
EDG2STAT and EDG1STAT (CTMUCONL<1:0>).
Their primary function is to show if an edge response
has occurred on the corresponding channel. The
CTMU automatically sets a particular bit when an edge
response is detected on its channel. The level-sensitive
nature of the input channels also means that the status
bits become set immediately if the channel’s configura-
tion is changed and matches the channel’s current
state.
The module uses the edge status bits to control the cur-
rent source output to external analog modules (such as
the A/D Converter). Current is only supplied to external
modules when only one (not both) of the status bits is
set. Current is shut off when both bits are either set or
cleared. This allows the CTMU to measure current only
during the interval between edges. After both status
bits are set, it is necessary to clear them before another
measurement is taken. Both bits should be cleared
simultaneously, if possible, to avoid re-enabling the
CTMU current source. 
In addition to being set by the CTMU hardware, the
edge status bits can also be set by software. This per-
mits a user application to manually enable or disable
the current source. Setting either (but not both) of the
bits enables the current source. Setting or clearing both
bits at once disables the source.
C = I •
dV
dT
I • t = C • V
t = (C • V)/I
C = (I • t)/V