Review Question 1. Explain the architecture of PIC18FXXX with a suitable block diagram.
Functional Block Diagram of PIC18FXXX Series Microcontrollers
●
Fig. 18.2.1 shows the simplified block diagram of PIC18 series
microcontrollers.
Harvard
architecture
•
PIC18 uses Harvard architecture in which program and data are accessed from
separate memories using separate buses.
ALU
•
The PIC18 contains 8-bit ALU. It is capable of performing arithmetic operations
such as add, subtract, multiply, shift and logical operations.
Multiplier
8 × 8:
•
An 8 × 8 hardware multiplier is included in the ALU of the PIC18
devices.
•
By making the multiply a hardware operation, it completes in a single
instruction cycle. This is an unsigned multiply that gives a 16-bit result. The
result is stored in the 16-bit product register pair (PRODH: PRODL).
Program
ROM
•
ROM is used to store programs and hence the name. It is also known as code ROM.
For PIC18 microcontroller family the size of program RAM vary from 4 K are to
128 K depending on the family. In PIC18 family microcontrollers, program ROM is
available in different memory types:
•
Flash memory
•
OTP (One Time Programmable) memory
•
Masked memory
•
Flash memory uses letter F in the part number and it is used for product
development.
•
OTP (One Time Programmable) memory uses letter C in the part number and it is
used for mass product because it is cheaper than flash version.
•
When the program is burnt into the PIC chip during the fabrication process of
the chip, the chip is known as masked PIC. It is the cheapest version of PIC.
Data
RAM and EEPROM
•
RAM space is used for data storage. For PIC18 microcontroller family the size
of data RAM vary from 256 to 4096 bytes depending on the family.
•
The data RAM space has two components:
■
General Purpose RAM (GPR) and
■
Special Function Registers (SFRs)
•
The RAM GPR space is used for read/write scratch pad and data manipulation and
is divided into memory banks of 256 bytes of each. Thus the size of GPR for
PIC18 family is always in multiples of 256 bytes.
•
The SFRS are used by the CPU and peripheral modules for controlling the desired
operation of the device.
•
The size of EEPROM on the chip vary with the family and it is used to store
critical data that does not frequent access.
Interrupt
Sources
•
PIC18 devices support multiple interrupt sources.
•
Each interrupt can be assigned with low/high priority.
I/O
Pins
•
In PIC18 microcontroller family I/O pins vary from 16 to 72 depending on the
family.
Capture/Compare/PWM
(CCP) Module
•
The CCP (Capture/Compare/PWM) module contains a 16-bit register that can
operate as a 16-bit capture register, as a 16-bit compare register or as a PWM
duty cycle register.
Enhanced
Capture/Compare/PWM (CCP) Module
•
The operation of the ECCP module is identical to that of the CCP module. The
ECCP module, on the other hand, has Enhanced PWM functionality and
auto-shutdown capability.
CAN
Module
•
The Controller Area Network (CAN) module is a serial interface, useful for
communicating with other peripherals or microcontroller devices.
•
This interface/protocol was designed to allow communications within noisy environments.
ADC
ADC
is 10-bit and the number of ADC channels in each chip varies from 5 to 16.
Timers
•
PIC18 has 4/5 timers along with watch dog timer.
Master
Synchronous Serial Port (MSSP) module
•
The Master Synchronous Serial Port (MSSP) module is a serial interface useful
for communicating with other peripheral or microcontroller devices. It has two
modes of operation :
•
3-wire SPI (Supports all 4 SPI modes)
•
I2 C Master and Slave mode
Universal
Synchronous Asynchronous Receiver Transmitter (USART) module
•
The USART is a serial interface that can be configured in the following modes:
■
Asynchronous
(full-duplex)
■
Synchronous - Master (half-duplex)
■
Synchronous
- Slave (half-duplex)
Review Question
1. Explain the architecture of PIC18FXXX with a suitable block diagram.
Microprocessors and Microcontrollers: Unit V: (b) Introduction to RISC Based Architecture : Tag: : - Functional Block Diagram of PIC18FXXX Series Microcontrollers