Programmable Counter Array (PCA)
The Programmable Counter Array is a special 16-bit Timer that has four 16-bit
capture/compare modules associated with it. Each of the modules can be programmed to
operate in one of four modes:
z
z
z
z
rising and/or falling edge capture (calculator of duty length for high/low pulse)
software timer
high-speed output
pulse width modulator
Each module has a pin associated with it.
Module-0 is connected to pin P3.7,
module-1 to pin P3.5,
module-2 to pin P2.0,
module-3 to pin P2.4.
The PCA timer is a common time base for all four modules and can be programmed to run at
1/12 the oscillator frequency, 1/2 the oscillator frequency, the Timer-0 overflow, or the input on
pin ECI (P3.4). The timer count source is determined from CPS1 and CPS0 bits in the SFR
CMOD.
Module-0
Capture/Compare
P3.7/CEX0
Register
16 Bit
Module-1
Capture/Compare
PCA
Timer/Counter
P3.5/CEX1
Register
Module-2
Capture/Compare
Register
P2.0/CEX2
P2.4/CEX3
Module-3
Capture/Compare
Register
Programmable Counter Array
In the CMOD SFR, there are two additional bits associated with the PCA. One of them is CIDL
which determines if to stop the PCA while the MCU is put under idle. The other bit is ECF
which controls if to pass the interrupt from PCA into the MCU.
The CCON SFR contains the run control bit for PCA and several flags for the PCA timer and
each module. To start the PCA counting, the CR bit (CCON.6) must be set by software;
oppositely, clearing bit CR will shut off the PCA. There is a bit named CF in SFR CCON. The
38
MPC82x54A Data Sheet
MEGAWIN