PIC MicroController


PIC MicroController Day_01

Microprocessor:
Requires ‘external’ support hardware.
E.g., External RAM, ROM, Peripherals.
Microcontroller:
Very little external support hardware.
Most RAM, ROM and peripherals on chip.
“Computer on a chip”, or “System on chip” (SOC)
E.g., PIC = Peripheral Interface Controller

Microprocessor:
We’re used to the Von-Neuman Architecture Used in: 80X86 (PCs), 8051, 68HC11, etc.)
Only one bus between CPU and memory
RAM and program memory share the same bus and the same memory, and so must have the same bit width

Microprocessor:
PICs use the Harvard Architecture Used mostly in RISC CPUs.
Separate program bus and data bus: can be different widths!
For example, PICs use:
Data memory (RAM): a small number of 8bit registers
Program memory (ROM): 12bit, 14bit or 16bit wide (in EPROM, FLASH, or ROM)
Microprocessor:
Traditionally, CPUs are “CISC”

Complex Instruction Set Computer (CISC)
Used in: 80X86, 8051, 68HC11, etc.
Many instructions (usually > 100)
Many addressing modes
Usually takes more than 1 internal clock cycle (Tcyc) to execute
Example:

Microprocessor:
Traditionally, CPUs are “CISC”

PICs and most Harvard chips are “RISC”

Reduced Instruction Set Computer (RISC)
Used in: SPARC, ALPHA, Atmel AVR, etc.
Few instructions (usually < 50)
Only a few addressing modes
Executes 1 instruction in 1 internal clock cycle (Tcyc)
Example:

Microprocessor:
Many Microcontrollers and DSP chips are “converging”
Heading towards some mean between RISC and CISC

Large CPU are adding microcontroller like options
Small microcontrollers are getting more powerful, now able to do some DSP

General trend: Smaller packages, less power consumption, faster

PICs come with 1 of 4 CPU ‘cores’:

12bit cores with 33 instructions: 12C50x, 16C5x
14bit cores with 35 instructions: 12C67x,16Cxxx
16bit cores with 58 instructions: 17C4x,17C7xx
‘Enhanced’ 16bit cores with 77 instructions: 18Cxxx
PICs come in a huge variety of packages:

8 pin DIP : 12C50x (12bit) and 12C67x(14bit)

18pin DIP: 16C5X (12bit), 16Cxxx (14bit)

28pin DIP: 16C5X (12bit), 16Cxxx (14bit)

40pin DIP: 16Cxxx (14bit), 17C4x (16bit)

44 - 68pin: 16Cxxx (14bit), 17C4x/17Cxxx(16bit)
PICs require a clock to work.
Can use crystals, clock oscillators, or even an RC circuit.
Some PICs have a built in 4MHz RC clock
Not very accurate, but requires no external components!
All PICs can be run to a maximum spec’d speed: 12C50x 4MHz
12C67x 10MHz
16Cxxx 20MHz
17C4x / 17C7xxx 33MHz
18Cxxx 40MHz
PIC program space is different for each chip.
Some examples are:
12C508 512 12bit instructions
16C71C 1024 (1k) 14bit instructions
16F877 8192 (8k) 14bit instructions
17C766 16384 (16k) 16bit instructions
PICs have two different types of program storage:
EPROM (Erasable Programmable Read Only Memory)
Needs high voltage from a programmer to program (~13V)
Needs windowed chips and UV light to erase
PIC Examples: Any ‘C’ part: 12C50x, 17C7xx, etc.

Comments :

0 comments to “PIC MicroController”

Post a Comment