Getting Started with Embedded
Systems
Chapter 1
Sections 1-6
Dr. Iyad Jafar
Outline
What is an Embedded System?
The Essence of Embedded Systems
Embedded Systems Examples
Some Computer Essentials
Microprocessors vs. Microcontrollers
The PIC Microcontroller
The PIC 12 Series as an Example
2
What is an Embedded System?
An embedded system is a computer system that
is
designed to perform one or a few dedicated
functions often with real-time computing
constraints (i.e. memory, power, time)
embedded as part of a complete device often
including hardware and mechanical parts.
By contrast, a general-purpose computer, such as
a personal computer, is designed to be flexible and
to meet a wide range of end-user needs.
3
The Essence of Embedded Systems
User Interaction
Software
Input Output
Embedded Computer
Variables Hardware
Variables
4 Link to other systems
The Essence of Embedded Systems 1
Characteristics
Software driven
→ RTOS (threads and tasks)
→ Super Loop (polling or event-driven)
Reliable
→ HW(redundancy, hardening to withstand radiation)
→ SW (test vectors, code coverage)
Real-time control system
→ Tasks must finish before a deadline
→ Tasks must not start before a set time
→ Response to events must be quick
Hard Real-Time → Missing deadlines means death or catastrophe
(e.g. collisions)
Soft Real-Time → Missing Deadlines means no longer useful data,
lower performance or inconvenience (e.g. missing video frames)
5
The Essence of Embedded Systems 2
Characteristics
Microcontroller or DSP based
DSP has specialized hardware for signal or image processing,
filtering, etc.
Autonomous / human interactive / network interactive
Operate on diverse input variables and in diverse environments
(e.g. a fighter plane must operate in the hot desert, cold regions in
the north hemisphere, at below zero temperatures during flight at
high altitudes)
6
Examples
Automotive
Avionics/Aerospace/Defence
Industrial Automation
Telecommunications
Consumer Electronics & Intelligent Homes &
Retail (Thin Clients/POS)
Scientific & Medical Equipment
Computer peripherals
7
Examples
8
Examples
The refrigerator is required to maintain low
temperature by reading the current value and
controlling the compressor accordingly
9
Examples
Different sensors in the car door produce signals that are of great
10 importance when integrated with the rest of the car functionality
Examples
The Electronic ‘ping-pong’
11
Examples
The Derbot Autonomous Guided Vehicle
12 More sensors and powerful microcontroller
Examples
Digita, ADC inside
compass and digital
communication of values
through serial lines
1. H-bridges to control motor rotation direction
2. Digital controllers current too weak to drive a
motor, allows for external power sources to
drive motor (9V, 24V, 220V)
3. Protects digital controller from current
returning back when the motor is rotating
before stopping
13 The Derbot Autonomous Guided Vehicle
Embedded Systems Market
14
Some Computer Essentials
Elements of a Computer
Data
The outside Input / Central
world Output Processing
Unit
Program
Memory
Information path (Bus)
15
Some Computer Essentials
Memory Organization
The Von Neumann Architecture
One address bus and one data
bus
I/O may be also connected to
these busses
Simple and logical
architecture, however
Same memory width
for instruction and data ?!
Shared busses ?!
16
Some Computer Essentials
Memory Organization
The Harvard Architecture
Separate address and data bus for program
memory and data memory
More flexibility;
Different memory width
Simultaneous access of
data and program memories
Complex ?!
17
Some Computer Essentials
Instruction Sets
Every CPU has a set of instructions that it can recognize and
execute
There are different approaches in designing instructions for the
CPU in attempt to speed up program execution
CISC (Complex Instruction Set Computers)
Many instructions and addressing modes
Instructions have different levels of complexity (different size and
execution time)
Relatively slow
Shorter programs
RISC (Reduced Instruction Set Computers)
Few instructions and addressing modes
Simple instructions of fixed size
Relatively fast
18
Longer programs
Some Computer Essentials
Memory Types
Volatile
Holds its contents as long as power is ON
Used as temporary storage to hold data
Easy to write
RAM (SRAM (too expensive) and DRAM (too cheap))
Non-volatile
Retains its values on power out
More difficult to write in terms of time and power
In embedded systems, it is usually used to store
programs
19 ROM, EPROM, EEPROM, FLASH
Microprocessors and Microcontrollers
First microprocessors in the 1970s
The computer CPU on a single chip
Initially, memory and I/O interfacing outside the CPU
As technology evolved, the microprocessor became
more self-contained, powerful, and faster
A special category of microprocessors emerged
Microcontrollers
Intended for control purposes
No high computational power, huge memories, or high
speed is required
Has excellent I/O capabilities
Small, low cost, and self contained
20
Microprocessors and Microcontrollers
A generic microcontroller
21
Microprocessors and Microcontrollers
Microcontroller Families
Different families with each family built around the same core
Family members differ in memory size and peripheral capabilities
22
23
Microprocessors and Microcontrollers
Microcontroller Packaging
Plastic packaging
Pins for I/O, clock, communication, and Power.
The number of pins usually determines the size of the
chip
PIC PIC
Motorola 16F877
16C72 68HC05B16
PIC
16F84A
Motorola
PIC 68000
12F508
24
Microchip and the PIC Microcontrollers
• Peripheral Interface Controller (PIC) was originally a
design by General Instruments (GI) intended for
simple control applications
• In the late 1970s, GI introduced PIC® 1650 and 1655
• Standalone design
• RISC with 30 instructions
• Single working register (accumulator)
• Many attractive features
• PIC was sold to Microchip
25
Microchip and the PIC Microcontrollers
26
Microchip and the PIC Microcontrollers
27
Microchip and the PIC Microcontrollers
• PIC Families
Stack Size Instruction No. of Interrupt
PIC Family
(words) Word Size Instructions Vectors
12CX/12FX 2 12- or 14-bit 33 None
16C5X/16F5X 2 12-bit 33 None
16CX/16FX 8 14-bit 35 1
17CX 16 16-bit 58 4
18CX/18FX 32 16-bit 75 2
• Example: the 16C84 was the first of its kind built using
CMOS technology. It was later reissued as 16F84A
incorporating flash memory and other technological
features
28
Microchip and the PIC Microcontrollers
• PIC 16 Series Characteristics
• Low-cost
• Self-contained
• 8-bit
• Harvard architecture
• RISC
• Pipelined
• Single accumulator (the working or W register)
• Fixed reset and interrupt vectors
29
The PIC 12 Series
• PIC 12F508/509
• The smallest and simplest PIC
30
The PIC 12 Series Architecture
31
Summary
• An embedded system has one or more computers
embedded within it that perform control
operations
• A microcontroller is at the heart of embedded
systems. It is basically a microprocessor with
extended I/O capabilities
• Microchip is one of the popular vendors for a large
variety of microcontrollers with different features
32