the upgrade, let’s compare the PIC32MX2 to the
PIC24FJ64GA002 (the original 16-bit microcontroller used
on the Experimenter), then to the PIC16F887 (a widely
used eight-bit microcontroller).
In Table 1, the MIPS (Millions of Instructions Per
Second) metric is used to capture execution performance.
As illustrated, the PIC32 runs 2X faster than the PIC24F,
and 5X faster than the PIC16. The PIC32MX2 also
executes instructions with 32 bits, versus 16 and eight bits
used by the other family members.
Note the block diagram of the PIC32 internals in
Figure 3. Like the PIC24F, it is also a + 3.3V part; however,
it can accept +5V logic level inputs on certain pins
without damage. The PIC32 has two internal busses. The
top bus is the faster of the two and runs at the system
CPU clock rate. This bus allows simultaneous
communications for devices without bus contention.
Devices on this bus are the 32 Core CPU, the eight
channel DMA (Direct Memory Access) controller, and
USB. Other components on this bus are Flash, RAM, an
interrupt controller, all the digital ports, and a peripheral
bridge (a connection to all the on–chip peripherals). It is
interesting to note that digital ports reside on the high
speed bus. This means they can be toggled (on/off) at the
40 MHz rate, to be able to generate digital signals of up
to 20 MHz if needed. With the use of DMA, this port (or
any other peripheral) can access memory directly without
CPU (software) intervention for data transfers.
The other bus is the peripheral bus that connects to
all the on-chip peripherals. It does not need to run as fast
as the previous bus, and can be slowed down to a factor
of 1 to 8 (peripheral clock rates are not required to be run
as high as 40 MHz). On this bus, there are five 16-bit
timers, an RTCC (Real Time Clock Calendar), two UARTs
(Universal Asynchronous Receiver Transmitters), two SPIs
(Serial Peripheral Interfaces), two I2Cs (Inter-Integrated
Circuits), 13 channel 10-bit ADCs (Analog-to-Digital
Converters), one PMP (Parallel Master Port), five CCP
(Compare/Compare Ports), three analog comparators, and
the new CTMU (Charge Time Measurement Unit)
A block diagram of the Experimenter is shown in
Figure 4. The only real change is the replacement of the
existing PIC24F 16-bit part with the PIC32MX2 32-bit part.
It is that simple. The rest of the hardware remains the
same because the folks at Microchip have maintained a
common pin-out and functionality across the device class
of 28-pin SDIP microcontrollers. This fact also allows the
Experimenter to use not only the PIC32MX2, but also the
new advanced dsPIC33, PIC24H 16-bit machines. Note
that because the PIC32MX2 PPS (Programmable
FIGURE 2. Microchip's new PIC32MX 2 small form factor.
FIGURE 3. PIC32MX block diagram.
July 2012 47