Microcontroller - Md. Atiqur Rahman Ahad

Download Report

Transcript Microcontroller - Md. Atiqur Rahman Ahad

MCU – Microcontroller Unit – 1
MCU  1 cip or VLSI core – applicationspecific
Md. Atiqur Rahman Ahad
• We use more number of microcontrollers
compared to microprocessors.
• Microprocessors are primarily used for
computational purpose,  whereas
microcontrollers find wide application in devices
needing real time processing / control.
• Embedded system: is a system whose principal
function is not computational, but which is
controlled by a computer embedded within it.
• The microprocessor is a processor on one
silicon chip.
• The microcontrollers are used in embedded
computing.
• The microcontroller is a microprocessor with
added circuitry.
???
•
•
•
•
•
•
•
Processor?
Microprocessor?
Microcomputer?
Microcontroller?
Embedded system?
Sensor?
What is inside a calculator? Smartphone? iPad?
Laptop? Desktop PC? Supercomputer? Clustered
computing system?
What is an Embedded System?
• A combination of computer hardware and
software, and perhaps additional mechanical or
other parts, designed to perform a dedicated
function.
• In some cases, embedded systems are part of a
larger system or product, as is the case of an antilock braking system in a car. Contrast with
general-purpose computer.
• Examples range from washing machines, cellular
phones to missiles and space shuttles.
• Embedded Systems
– Operations managed behind the scenes by a
microcontroller
• Microcontroller (MCU)
– An integrated electronic computing device that
includes three major components on a single
chip
• Microprocessor (MPU)
• Memory
• I/O (Input/Output) ports
What is an Embedded System?
• Electronic devices that incorporate a
computer (usually a microprocessor) within
their implementation.
• A computer is used in such devices primarily
as a means to simplify the system design and
to provide flexibility.
• Often the user of the device is not even aware
that a computer is present.
Where are the embedded devices?
Killer apps!
• Communications  network routers, switches,
hubs.
• Children’s toys 
• Fuel injection control, passenger environmental
controls, anti-lock braking systems,
• Air bag controls,
• GPS mapping.
• Automotive Navigation systems, automatic
landing systems, flight attitude controls,
• Engine controls, space exploration ……..
Appli.
• Instrumentations: Data collection, oscilloscopes,
signal generators, signal analyzers, power
supplies.
• Industrial: Elevator controls, surveillance systems,
robots.
• Home: Dishwashers, microwave ovens, VCRs,
televisions, stereos, fire/security alarm systems,
lawn sprinkler controls, thermostats, cameras,
clock radios, answering machines.
• Printers, scanners, keyboards, displays, modems,
hard disk drives, CD-ROM drives.
Appli!
• Application of microcontrollers are numerous.
– Domestic applications such as in washing machines,
TVs, air-conditioners,
– Automobiles, process control industries, cell phones,
electrical drives, robotics and in space applications.
– Biomedical instruments
– Communication systems
– Controller, Control systems
– Instrumentations, etc.
Embedded Rocks!
• Embedded processors account for 100% of
worldwide microprocessor production!
• Embedded:desktop = 100:1
• Embedded Systems is a big, fast growing industry
 $ 40 billions in 2000
 $92.0 billion in 2008
 $112.5 billion (estimated) by the end of 2013
• Embedded hardware was worth $89.8 billion in
2008 and is expected to reach $109.6 billion in
2013
• Embedded software generated $2.2 billion in
2008. This should increase to $2.9 billion in 2013
• Microprocessors/Microcontrollers are the core of
embedded systems.
http://www.bccresearch.com/report/embedded-systems-technologies-markets-ift016c.html
Examples: Refrigerator
Examples: Car Door
Examples: Derbot Autonomous Guided
Vehicle
Examples: Derbot Autonomous Guided
Vehicle
Microcontrollers
• How to convert a microcomputer into a
microcontroller?

Microcontroller Packaging and Appearance
From left to right: PIC 12F508, PIC 16F84A, PIC 16C72,
Motorola 68HC05B16, PIC 16F877, Motorola 68000
Some slides above are from - Dr. Gheith Abandah
Types of MCU
– 8/16/32-bit mcu – internal bus & instruction size, ALU
– Instruction sets – RISC/CISC
• Complicated instruction set comp [CISC]
– It has an instruction set that supports many addressing modes.
– It offers flexibility in choosing various ways of performing the data
transfer and ALU ops.
• Reduced ISC [RISC]
– Supports 1/2 addressing modes
– Need many registers – so need less fetching from external
memories for operations… so higher performance in computing
than CISC… e.g., ARM
Types of MCU
– Memory architecture
• Harvard mem  has a distinct mem address space for
i. Program mem &
ii. Data mem
 It has separate instructions ,
 hence separate control signal[s], for data transfers
from these two memories.
•
Princeton mem  has a common mem space for
both. So no need for separate …
Types of MCU
– Family
• 8051
–
–
–
–
–
•
•
•
•
•
Intel
Philips
Atmel
Siemens
Dallas
Motorola
PIC - Peripheral Interface Controller
Hitachi
Texas
ARM - Advanced RISC Machine (previously known as Acorn RISC
Machine)
• Others
Microcontrollers
• Microcontroller (MCU)
– An integrated electronic computing device that
includes three major components on a single chip
• Microprocessor (MPU)
• Memory
• I/O (Input/Output) ports
Microcontrollers
• Support Devices
– Timers
– A/D converter
– Serial I/O
• Common communication lines
– System Bus
Block Diagram of Microcontroller
Microprocessor (MPU)
• MPU (CPU)
– Read instructions
– Process binary data
Microcontroller Components – Memory
• Each memory location has
a specific address
• We must supply an address
to access the
corresponding location
• R/W allows us to select
reading or writing
• Various types of memory
for different functions and
speeds
Memory location 0
Memory location 1
address
data
Memory location n-2
Memory location n-1
r/w
Microcontroller Components – Memory
• Read Only Memory - Memory that can only be read
– Holds the program code for a microprocessor used in an embedded
system where the code is always the same and is executed every time
the system is switched on
– Computer BIOS, boot-up information
• Other types of Read Only Memory
– Erasable Programmable Read Only Memory (EPROM) – Similar to ROM
but can be erased (exposure to ultraviolet light) and reprogrammed
– Electrically Erasable Programmable Read Only Memory (EEPROM) –
more common that EPROM because it can be erased by the
microprocessor
– Flash Memory, Ferroelectric RAM (FRAM), Magnetic Random Access
Memory (MRAM)
Microcontroller Components – Memory
• Random Access Memory – used to store dynamic data when processor is
running
– Holds program code and data during execution
– Can be accesses in any random order – unlike takes or disks
• Some types of RAM
– Static RAM (SRAM) – Uses transistors to store bits, fast SRAM is used for cache
– Dynamic RAM (DRAM) – Uses capacitors to store bits, must be refreshed,
smaller and cheaper than SRAM
• Fast Page Mode (FPM), Extended Data Out (EDO)
• Synchrounous DRAM (SDRAM) – introduced in 1997 and replaced most DRAM in
computers by 2000
• Double Data Rate (DDR SDRAM) – uses both clock edges found today in most
computers
• Direct Rambus DRAM (RDRAM) – somewhat of a flop
Microcontroller Components – CPU
• Smart part
– Processes instructions and data
– All the parts of a microprocessor
• Registers – fast memory used to
store operands and other
information
– Condition register –
positive/negative result
– Exception register – overflow
condition
– Loop count register
• Load-store architecture
address
Register 0
Register 1
r/w
Register n-1
data
inst
ALU
CPU
Microcontroller Components – I/O
• Connection to the outside world
• Input Devices
– Switches and Keypads
– Provide binary information to the MPU
• Output devices
– LEDs and LCDs
– Receive binary information from the MPU
• Examples
–
–
–
–
Analog to Digital Converter
Temperature Sensor
Display
Communications Circuit
Microcontroller Components – BUS
• Group of wires used to transport information
• CPU to Memory
– Address bus
– Data bus
• CPU to I/O
– Port mapped I/O – used when address space is limited,
special instructions are needed for I/O
– Memory mapped I/O – I/O looks like memory locations,
easier to use and common in Reduced Instruction Set
Computing (RISC)
MPU-Based Systems
• System hardware
– Discrete components
• Microprocessor, Memory, and I/O
– Components connected by buses
• Address, Data, and Control
• System software
– A group of programs that monitors the functions
of the entire system
MCU-Based Systems
• Includes microprocessor, memory, I/O ports,
and support devices (such as timers) on a
single semiconductor chip
• Buses are generally not available to a system
designer
• I/O ports are generally multiplexed and can be
programmed to perform different functions
Microprocessor-Based Systems
MPU-Based Time
and Temperature System
MCU-Based Time
and Temperature System
Embedded System Programming
• Key factors in embedded programming
– Speed – timing constraints, limited processing power
– Code size – limited memory, power
• Programming methods
–
–
–
–
Machine Code – bits
Low level language – assembly
High level language – C, C++, Java
Application level language – Visual Basic, Access
• Levels of abstraction – factor out details to focus on
few concepts at a time
Embedded System Programming
• Why use C in embedded programming?
–
–
–
–
Ease of management of large embedded projects
Provides an additional level above assembly programming
Fairly efficient
Supports access to I/O
• Why use assembly?
– High speed, low code size
– However, difficult to do a large project in assembly