Microcontroller Versus General-Purpose Microprocessor
Microcontroller Versus General-Purpose Microprocessor
purpose microprocessor
2 / 22
Microcontroller versus general-
purpose microprocessor
●
microprocessors contain no RAM, no ROM, and no I/0
ports on the chip itself
– hence they are commonly referred to as general-
purpose microprocessors
●
a system designer using a general-purpose
microprocessor:
– must add RAM, ROM, I/0 ports, and timers externally
to make them functional
●
although the system becomes bulkier and costlier, the
system designer has the freedom of configuring
– amount of RAM, ROM, I/O ports, etc.,
3 / 22
Microcontroller versus general-
purpose microprocessor
●
a microcontroller has
– a CPU (a microprocessor)
– in addition to a fixed amount of RAM, ROM, I/0 ports,
and a timer all on a single chip
●
the designer cannot add any external memory, I/O, or
timer to it
●
the fixed amount of on-chip ROM, RAM, and number of I/O
ports in microcontrollers:
– makes them ideal for many applications in which cost
and space are critical
4 / 22
Microcontroller versus general-
purpose microprocessor
●
many applications will not need a high compute power for
their operation
– TV remote, camera, TV
●
also, the amount of area and power consumption and
price per unit are much more critical considerations than
the computing power
●
microcontrollers play a vital role in these scenarios
5 / 22
Microcontrollers for embedded
systems
●
an embedded system is controlled by its own internal
microprocessor (or microcontroller) as opposed to an
external controller
●
in an embedded system, the microcontroller's ROM is
burned with a purpose for specific functions needed for
the system
– eg: the processor inside a printer performs only one
task - getting the data and printing it
6 / 22
Microcontrollers for embedded
systems
●
a PC can be used for multiple tasks compared to a
embedded system
– eg: computations, word processing, network server,
etc.,
– A PC can load various other softwares aswell as it has
RAM memory and an operating system that loads the
application software into RAM and lets the CPU run it
●
in an embedded system, typically only one application
software is burned into ROM
7 / 22
Overview of AVR family
●
Basic architecture designed by
– Alf-Egil Bogen and
– Vegard Wollan
●
Developed by Atmel in 1996
●
AVR – Advanced Virtual RISC / Alf and Vegard RISC
8 / 22
AVR features
●
8 bit RISC single chip microcontroller
●
Harvard architecture
●
Standard features:
– On chip program (code) ROM
– Data ROM
– Data EEPROM
– Timers
– I/O ports
9 / 22
Simplified view of AVR MC
10 / 22
AVR features
●
Additional features:
– ADC – Analog to Digital Converter
– Various interface:
●
USART - Universal Synchronous/Asynchronous Receiver/Transmitter
●
SPI – Serial Programmable Interface
●
I2C - Inter-Integrated Circuit
●
CAN – Control Area Network
●
USB
●
etc...
11 / 22
AVR features
●
AVR microcontroller program ROM:
– the ROM is used to store programs
– hence, called as program or code ROM
●
AVR microcontroller data RAM
– the RAM space is for data storage
– data RAM space has three components:
●
general-purpose registers,
●
I/O memory, and
●
internal SRAM
12 / 22
AVR features
●
AVR microcontroller peripherals
– AVRs come with
●
ADC (analog-to-digital converter)
●
timers, and
●
USART (Universal Synchronous Asynchronous
Receiver Transmitter)
– as standard peripherals
13 / 22
AVR Classification
●
AVR classification:
– Classic
– Mega
– Tiny
– Special purpose
14 / 22
●
AVR classification:
- Classic AVR
●
AT90Sxxxx
– Initial AVR chip
– Replaced by newer chips
– Not recommended for new designs
15 / 22
●
AVR classification:
- Classic AVR
16 / 22
●
AVR classification:
- Mega
●
ATmegaxxxx
●
Powerful MC – more than 120
instructions
– 4K to 256KB of Program memory
– 28 to 100 pins
17 / 22
●
AVR classification:
- Mega
18 / 22
●
AVR classification:
- Tiny
●
ATtinyxxxx
●
Less instructions & small package
compared to Mega family
●
Can be used for systems needing low cost
and low power
– 1K to 8KB of Program memory
– 8 to 28 pins package
– Limited peripheries and instructions
19 / 22
●
AVR classification:
- Tiny
20 / 22
●
AVR classification:
- Special purpose AVR
●
subsets of other groups
●
with special capabilities
– USB controller
– CAN conttoller
– LCD controller
– Ethernet controller
– advanced PWM
21 / 22
●
AVR classification:
- Special purpose AVR
22 / 22