ECE 4003 - Embedded System Design
Embedded • Characteristics of embedded
System systems, general purpose,
customized, application specific
Product processors, Embedded product
Development development cycle.
Module – 1
Embedded System Product Development
What is embedded systems?
Examples of embedded systems
Classifications of embedded systems
Characteristics of embedded systems
Microcontroller vs Microprocessor
Processor classification
Embedded systems design life cycle
Applications of Embedded System
SYSTEM
A system is a way of working, organizing or doing one
or many tasks according to a fixed plan, program or set of
rules.
A system is also an arrangement in which all its units
assemble and work together according to the plan or
program.
SYSTEM EXAMPLES
WATCH
It is a time display SYSTEM
Parts: Hardware, Needles, Battery, Dial,
Chassis and Strap
Rules
1.All needles move clockwise only
2.A thin needle rotates every second
3.A long needle rotates every minute
4.A short needle rotates every hour
5.All needles return to the original position after 12 hours
SYSTEM EXAMPLES
WASHING MACHINE
It is an automatic clothes washing SYSTEM
Parts: Status display panel, Switches & Dials, Motor, Power supply & control
unit, Inner water level sensor and solenoid valve.
Rules
1.Wash by spinning
2.Rinse
3.Drying
4.Wash over by blinking
5.Each step display the process stage
6.In case interruption, execute only the remaining
EMBEDDED SYSTEM
Definition: An Embedded System is one that has computer hardware with software
embedded in it as one of its important components.
Its software embeds in ROM (Read Only
Memory). It does not need secondary
memories as in a computer
SOFTWARE PROGRAM
#include <16f876a.h>
#use delay (clock=20000000)
#byte PORTB=6
main()
HARDWARE {
set_tris_b(0);
portb=255; //decimal
delay_ms(1000);
portb=0x55; //hexadecimal
delay_ms(1000);
portb=0b10101010; //binary
delay_ms(500);
}
DEFINITIONS OF EMBEDDED SYSTEMS
• IT IS ANY DEVICE THAT INCLUDES A PROGRAMMABLE COMPUTER BUT IS NOT ITSELF
INTENDED TO BE A GENERAL PURPOSE COMPUTER
•EMBEDDED SYSTEMS ARE ELECTRONIC SYSTEMS THAT CONTAINS A MICROPROCESSOR
OR MICROCONTROLLER ,BUT WE DO NOT THINK THEM AS COMPUTERS-THE COMPUTER
IS HIDDEN OR EMBEDDED IN THE SYSTEM.
An embedded system is a microcontroller-based, software-driven, reliable, real time
control system, autonomous,or human- or network-interactive, operating on diverse
physical variables and in diverse environments, and sold into a competitive and
cost-conscious market.
•An embedded system is a system that has software embedded into computer-
hardware, which makes a system dedicated for an application or specific part of an
application or product or part of a larger system.
• An embedded system is one that has dedicated purpose software embedded in
computer hardware.
•It is a dedicated computer based system for an application or product. It maybe an
independent system or a part of large system. Its software usually embeds into a ROM
(Read Only Memory)
WHAT IS EMBEDDED SYSTEM?
Embedded system = Hardware + Software
Designed for specific purpose
An embedded system is a combination of computer hardware and
software, designed for a specific function or functions within a larger system.
WHAT IS EMBEDDED SYSTEM?
WHAT IS EMBEDDED SYSTEM?
Embedded system in daily life….
Wake up… Washing… Breakfast…
Elevator.. Car… Traffic lights…
Inside a classroom…
Smart watch… Calculator… Projector…
Mobile phone… Smart shoe… Wireless mic…
Back home…..
Smart TV… Set top box... Headphones…
Digital Camera… Printer… CCTV…
EMBEDDED SYSTEM – BLOCK DIAGRAM
EMBEDDED SYSTEM - CLASSIFICATIONS
EMBEDDED SYSTEM
GENERATION
COMPLEXITY & PERFORMANCE
EXECUTION BEHAVIOUR
TRIGGERING
EMBEDDED SYSTEM - CLASSIFICATIONS
BASED ON GENERATION
First Generation:
- build around 4-bit and 8-bit processor like 8085, Z80
- Simple hardware & firmware developed in assembly code
- Ex: Digital telephone keypads, calculator etc.,
Second Generation:
- build around 8-bit and 16-bit processor
- complex and powerful instruction set
- Ex: Data acquisition system, SCADA system etc.,
EMBEDDED SYSTEM - CLASSIFICATIONS
BASED ON GENERATION
Third Generation:
- build around 16-bit and 32-bit processor
- application specific processor DSP & ASIC were introduced
- complex and powerful instruction set with pipelining
- dedicated embedded real-time OS entered into market
- Ex: robotics, industrial process control, networking etc.,
EMBEDDED SYSTEM - CLASSIFICATIONS
BASED ON GENERATION
Fourth Generation:
- advent of SOC, reconfigurable & multicore processors
- high performance µP
- High performance RTOS for functioning
- Ex: smart phone, PDA etc.,
EMBEDDED SYSTEM - CLASSIFICATIONS
BASED ON COMPLEXITY AND SYSTEM PERFORMANCE
Small-scale:
- simple in application needs
- performance requirements are not time critical
- build around low cost & low performance 8 or 16-bit µp /µC
- Ex: Electronic toys, digital multimeters etc.,
EMBEDDED SYSTEM - CLASSIFICATIONS
BASED ON COMPLEXITY AND SYSTEM PERFORMANCE
Medium-scale:
- slightly complex in hardware & software requirements
- build on medium performance & low cost 16/32-bit µp /µC
- Ex: DVD players, network routers etc.,
EMBEDDED SYSTEM - CLASSIFICATIONS
BASED ON COMPLEXITY AND SYSTEM PERFORMANCE
Large-scale:
- highly complex hardware and software requirement
- employed in mission critical application demanding high
performance
- build around high performance 32 or 64-bit µp /µC or SOC
or multi-core processors
- may contain complex high performance RTOS
- Ex: Missile navigation system, MRI scanner, ABS etc.,
EMBEDDED SYSTEM - CLASSIFICATIONS
BASED ON EXECUTION BEHAVIOUR
Deterministic:
- Real-time systems
- Non Real-time systems
Triggering mechanism:
- event triggered
- time triggered
WHY IS EMBEDDED SYSTEM DIFFERENT?
Dedicated to specific tasks.
Supported by a wide array of processors and processor
architectures.
Usually cost sensitive.
Real-time constraints.
Require specialized tools and methods.
WHY IS EMBEDDED SYSTEM DIFFERENT?
Software failure is much more severe.
Power & memory constraints.
Operate under extreme environmental conditions.
Fewer system resources.
Real Time Operating System
EMBEDDED SYSTEM - CHARACTERISTICS
Complex algorithms – (Automotive Engine ECU)
User interface – (GPS)
Real time – (ABS, Printers)
Manufacturing cost – (Mobile Phone)
Power and energy – (Data Logger)
ECE 4003 - Embedded System Design
Module – 1
Embedded System Product Development
What is embedded systems?
Examples of embedded systems
Classifications of embedded systems
Characteristics of embedded systems
Microprocessor vs Microcontroller
Processor classification
Embedded systems design cycle
Applications of Embedded System
WHAT IS MICROPROCESSOR?
It is a central processing unit (CPU) on a single integrated circuit (IC) chip
containing millions of very small components including transistors, resistors,
and diodes that work together.
Examples: 8085, 8086, Intel i series, AMD, ARM, Qualcomm Snapdragon
WHAT IS THE FIRST MICROPROCESSOR?
History behind first microprocessor?
Intel 4004 1969: The assignment - Nippon Calculating Machine
Corporation approached Intel to design 12 custom
chips for its new Busicom 141-PF* printing calculator.
The Intel solution - lntel designed a set of four chips
known as the MCS-4. It included CPU(4004), Shift
registers(4003) RAM(4002), ROM(4001)
1971: Era of integrated electronics - Intel purchased the
rights from Nippon Calculating Machine Corporation
and launched the Intel 4004 processor and its chipset
with an advertisement in the November 15, 1971
APPLICATIONS OF MICROPROCESSOR
Laptop
Servers
Networking devices
Desktops
Mobile phones
Games machine
Military applications
WHAT IS MICROCONTROLLER?
A microcontroller is a compact integrated circuit designed to govern a
specific operation in an embedded system.
A typical microcontroller includes a processor, memory and
input/output (I/O) peripherals on a single chip.
Examples: Intel 8051, PIC 16F877, AVR32, ARM LPC2148
COMMONLY USED MICROCONTROLLER
MP vs MC
WHY MICROCONTROLLERS IN ES?
Most of the embedded system uses Microcontrollers than Microprocessor !!!
Less
Small size design
time
Low cost Highly
reliable
Easy to Low
program power
APPLICATIONS OF MICROCONTROLLER
Automotive
Medical electronics
Robotics
Consumer electronics
Security (e-commerce, smart cards)
Industrial automation systems
CLASSIFICATIONS OF MICROPROCESSORS
BASIC REQUIRMENTS
1. High Performance
2. Low Power Consumption
3. Low Cost
CLASSIFICATIONS OF MICROPROCESSORS
GENERAL PURPOSE PROCESSOR (GPP)
Programmable device used in a variety of Applications
GPP are designed to perform multiple tasks
The system designer only needs to program the processor’s
memory to carry out the required functionality
Biggest advantage of such system is the flexibility
GPP are lack high performance that a certain task required
CLASSIFICATIONS OF MICROPROCESSORS
GENERAL PURPOSE PROCESSOR (GPP)
Advantages:
easy to design and use
design time & cost is low
reprogrammability
Disadvantages:
performance is not very good
size is high
they consume much power
“Pentium” the most well-known, but there are hundreds of
others including 8051, PIC, etc.,
CLASSIFICATIONS OF MICROPROCESSORS
APPLICATION SPECIFIC PROCESSORS (ASP)
ASPs emerged as a solution for high performance and cost
effective processors.
This processor is designed to execute exactly one program
Contains only the components needed to execute a single
program
An embedded designer creates a single-purpose processor
by designing a custom digital circuit
CLASSIFICATIONS OF MICROPROCESSORS
APPLICATION SPECIFIC PROCESSORS (ASP)
Advantages:
performance is very good
small size (exact to fit one solution)
they consume little power
Disadvantages:
not very easy to design and design time is thus high
design cost is thus higher
reprogramming is difficult
limited flexibility: not easy to make changes,
accommodate features
CLASSIFICATIONS OF MICROPROCESSORS
APPLICATION SPECIFIC PROCESSORS (ASP) - CLASSIFICATIONS
Digital Signal Processor (DSP): Programmable microprocessor
for extensive real-time mathematical computations.
Application Specific Instruction Set Processors (ASIP):
Programmable microprocessor where hardware and
instruction set are designed together for one special
application.
Application Specific Integrated Circuit (ASIC): Algorithm
completely implemented in hardware.
CLASSIFICATIONS OF MICROPROCESSORS
DIGITAL SIGNAL PROCESSORS (DSP)
DSPs are specialized microprocessors optimized for the need
of performing digital signal processing.
DSP gained their importance with the increased demand on
data intensive applications such as video and internet
browsing on mobile devices.
The digital signal processors satisfy the need for powerful
processor while maintaining low cost and low power
consumption.
CLASSIFICATIONS OF MICROPROCESSORS
DIGITAL SIGNAL PROCESSORS (DSP)
DSP Architecture Features:
Memory architecture designed for streaming data, using DMA
extensively
Deliberate exclusion of a memory management unit (MMU)
A special addressing mode useful for calculating FFTs
Special arithmetic operations, such as fast multiply–
accumulates (MACs)
Separate program and data memories (Harvard architecture)
CLASSIFICATIONS OF MICROPROCESSORS
APPLICATION-SPECIFIC INSTRUCTION SET PROCESSORS (ASIP)
ASIP is typically a programmable architecture that is designed
in a specific way to perform certain tasks more efficiently
As the name suggests, the Instruction set seems to be the
core characteristic of any ASIP based platform; but this is
entirely not true.
Considering a whole platform, other very important attributes
like interfaces and micro-architecture do contribute a lot to
the overall system performance.
CLASSIFICATIONS OF MICROPROCESSORS
APPLICATION-SPECIFIC INSTRUCTION SET PROCESSORS (ASIP)
The term “Application” in ASIP is not necessarily related to
software applications, it actually describe the class of tasks
the ASIP platform was designed to efficiently accomplish
This extra efficiency is not exclusively associated with faster
performance.
Other factors like reduced production costs, simplified
manufacturing process and less power consumption can all
be considered efficiency qualities for ASIP.
CLASSIFICATIONS OF MICROPROCESSORS
APPLICATION-SPECIFIC INTEGRATED CIRCUITS (ASIC)
ASIC is basically an integrated circuit designed specifically for
a special purpose or application.
An example of an ASIC is an IC designed for a specific line of
cellular phones of a company, whereby no other products
can use it except the cell phones belonging to that product
line.
The opposite of an ASIC is a standard product or general
purpose IC, such as general purpose microcontroller, both of
which can be used in any electronic application by anybody.
CLASSIFICATIONS OF MICROPROCESSORS
APPLICATION-SPECIFIC INTEGRATED CIRCUITS (ASIC)
Full-custom: entirely tailor-fitted to a particular application
from the very start
Semi-custom: designed to allow a certain degree of
modification during the manufacturing process.
Structured: built from a group of 'platform slices', with a
'platform slice' being defined as a pre-manufactured device,
system, or logic for that platform.
Gate-array: ASIC are transistors which are predefined on the
silicon wafer.
CLASSIFICATIONS OF MICROPROCESSORS
APPLICATION-SPECIFIC INTEGRATED CIRCUITS (ASIC)
Applications of ASIC:
An IC that encodes and decodes digital data using a
proprietary encoding/decoding algorithm.
A medical IC designed to monitor a specific human
biometric parameter.
An amplifier IC designed to meet certain specifications not
available in standard amplifier products.
An IC that's custom-made for a particular automated test
equipment.
CLASSIFICATIONS OF MICROPROCESSORS
Compares the Processors Performance vs. Their Flexibility
CLASSIFICATIONS OF MICROPROCESSORS
Different Approaches for Building Embedded System
GPP ASIP ASIC
Performance Low High Very High
Flexibility Excellent Good Poor
HW Design None Large Very Large
SW Design Small Large None
Power Large Medium Small
Reuse Excellent Good Poor
Market Very Large Relatively Large Small
Cost Mainly on SW SOC Volume sensitive
ECE 4003 - Embedded System Design
Module – 1
Embedded System Product Development
What is embedded systems?
Examples of embedded systems
Classifications of embedded systems
Characteristics of embedded systems
Microcontroller vs Microprocessor
Processor classification
Embedded systems design life cycle
Applications of Embedded System
EMBEDDED SYSTEM DESIGN LIFE CYCLE
Ref. Embedded Systems Design: An Introduction to Processes, Tools, and Techniques by
Arnold S. Berger
EMBEDDED SYSTEM DESIGN LIFE CYCLE
PHASE-1: PRODUCT SPECIFICATION
Sales and Marketing Department take the lead.
R&D are not allowed(in general)
Costumer Research Tour
Common Vision of the Product
Development Tools required to design the product
EMBEDDED SYSTEM DESIGN LIFE CYCLE
PHASE-2: HARDWARE & SOFTWARE PARTITIONING
Which Position in H/W and which in S/W.
• Price sensitive
FPU (H/W) faster, Floating Point (S/W) slower. •
•
Leading-edge Performers
Non-standard
• Market competitive
Choice of CPU impacts the partitioning decision • Proprietary
EMBEDDED SYSTEM DESIGN LIFE CYCLE
PHASE-3: ITERATION AND IMPLEMENTATION
H/W and S/W team stop communication.
The Design can be extended in H/W or S/W according to
convenience.
Evaluation using test code.
The hardware designers might be using simulation tools.
The software designers are probably running code
benchmarks.
EMBEDDED SYSTEM DESIGN LIFE CYCLE
PHASE-4: DETAILED HARDWARE AND SOFTWARE DESIGN
Getting the hardware and software done for the next phase
ƒ
Embedded systems developer must understand more about,
Memory usage.
System startup
ƒ
Interrupts and exceptions
Execution environment, development tools
EMBEDDED SYSTEM DESIGN LIFE CYCLE
PHASE-5: HARDWARE/SOFTWARE INTEGRATION
Special tools
Process of debugging and discovering.
Discovering – If the S/W team understood the H/W description.
Big Endian/Little Endian problem
EMBEDDED SYSTEM DESIGN LIFE CYCLE
PHASE-5: HARDWARE/SOFTWARE INTEGRATION
Debugging in Embedded System
1. Run Control – control the processor and memory
2. Memory Substitution – RAM instead of ROM
3. Real Time Analysis – Follow the code real time.
EMBEDDED SYSTEM DESIGN LIFE CYCLE
PHASE-6: PRODUCT TESTING AND RELEASE
testing and reliability requirements - more stringent
Who does the testing? Not the designer
EMBEDDED SYSTEM DESIGN LIFE CYCLE
PHASE-7: MAINTAINING AND UPGRADING EXISTING PRODUCTS
Not members of the original design team for a particular
product
Experience, skills, the existing documentation, and the old
product to understand the original design well enough to
maintain and improve it.
EMBEDDED SYSTEM DESIGN LIFE CYCLE
Top–down - From abstract
description of the system to
concrete details.
bottom–up - Start with
components to build a
system.
Ref. Computers as components: principles of embedded computing system design /
by Wayne Wolf
EMBEDDED SYSTEM DESIGN PROCESS
The tasks which need to be performed at each step are the
following.
analyze the design at each step - meet specification
refine the design - add details
verify the design - system goals
MAJOR SYSTEM GOALS
• MANUFACTURING COST
• PERFORMANCE
• POWER CONSUMPTION
EMBEDDED SYSTEM DESIGN PROCESS
REQUIREMENTS
Informal descriptions gathered from the customer are known
as requirements.
Can be functional or non-functional requirements.
Functional requirements need output as a function of input.
Non-functional requirements includes performance, cost,
physical size, weight, and power consumption.
EMBEDDED SYSTEM DESIGN PROCESS
SPECIFICATION
Requirements gathered is refined into a specification.
Specification serves as the contract between the customers
and the architects.
Specification is essential to create working systems with a
minimum of designer effort.
Specific, understandable and accurately reflect the
customer’s requirements.
EMBEDDED SYSTEM DESIGN PROCESS
ARCHITECTURE
Implementation of the system
plan for the overall structure of the system (Block diagram)
Used later to design or choose the components
The system block diagram may be refined into two block
diagrams - hardware and software
EMBEDDED SYSTEM DESIGN PROCESS
HARDWARE AND SOFTWARE COMPONENTS
The component design effort builds those components in
conformance to the architecture and specification.
Includes both hardware and software modules.
Some of the components will be ready-made (example :CPU,
memory chips).
EMBEDDED SYSTEM DESIGN PROCESS
SYSTEM INTEGRATION
After the components are built, they are integrated.
Bugs are typically found.
Appropriate debugging facilities during design eases system
integration problems.
APPLICATION OF EMBEDDEDS
Automotive
A typical vehicle today consist of 25-35 ECU(Electronic Control
Unit).
Microcontrollers manage ECU functions such as seats, airbag
control, engine control, braking, steering and headlights.
Microcontrollers in Automotive:
Infineon Microcontrollers : [16/32bit] XC2200 (body), XC2300 (safety), XC2700
(powertrain), [16bit] C16x, XC16x, [8bit]C5xx, XC8xx, CIC615
Atmel AVR Microcontrollers: [32bit] UC3Cx, [8bit] ATmega, ATtiny, AT90CAN
STMicroelectronics Microcontrollers: [32bit] SPC5 , [8bit] STM8A
AIRBAG CONTROL SYSTEM
The goal of an airbag is to slow the passenger's forward motion as evenly as possible
in a fraction of a second during crash and reduce injury by either cushioning the
occupants contact with the interior .
AIRBAG CONTROL SYSTEM
AIRBAG CONTROL SYSTEM
SENSORS
Accelerometer: to detect rapid deceleration of vehicle
Vehicle speed sensor: used for reading the speed of a wheel rotation.
Gyroscope: used for measuring orientation & angular velocity
Break pressure sensor: used to measure pressure applied on break
Door pressure sensor: used to measure pressure applied on doors
Seat occupancy sensor: to detect passenger presence on a car seat
AIRBAG CONTROL SYSTEM
AIRBAG CONTROL UNIT
Airbag control unit is responsible for:
Detecting accidents
Detecting the signals sent by the sensors in a timely manner
Triggering the necessary firing circuits in a timely manner
Providing the power supply to the firing circuits
Activating the airbag indicator lamp if the system fails
Connecting to other control units via the CAN bus
AIRBAG CONTROL SYSTEM
INFLATER UNIT
Once the control unit determines there is an accident, it sends a signal to
the inflator system.
The inflator sets off a chemical charge, producing an explosion of
Nitrogen gas, filling up the airbag.
As the airbag fills up, it bursts through the paneling that contains it and
enters into the space of the car in order to protect.
This all happens in an instant, usually within 25 or 50 milliseconds. That
translates to almost 200 miles per hour.
The airbag then will deflate itself on its own once it deploys.
AIRBAG CONTROL SYSTEM
REQUIREMENTS
High clock speed for faster processing
High speed interrupt response
ADC Interface for various sensors
Serial interfaces
CAN controller
Memory for recording various sensor data
AIRBAG CONTROL SYSTEM
CHOICE OF ARM CORTEX MICROCONTROLLER
Besides its great speed and more than sufficient amount of FLASH
and RAM, the ARM Cortex-M3 based microcontroller is the perfect
choice for an airbag control system due to its support of a great
number of peripheral interfaces.
Their built-in features include:
USB Host and Device
Controller Area Network (CAN)
SPI & I2C
ADC & DAC
PWM & Digital I/O