0% found this document useful (0 votes)
62 views

ECE 4003 - Embedded System Design

This document provides an overview of the ECE 4003 - Embedded System Design course. It begins with defining what an embedded system is and providing examples. It then discusses classifications of embedded systems based on generation, complexity/performance, execution behavior, and triggering mechanism. Next, it covers the characteristics that make embedded systems different than general purpose computers. Finally, it discusses microprocessors versus microcontrollers and applications of embedded systems.

Uploaded by

Saikat Sahana
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
62 views

ECE 4003 - Embedded System Design

This document provides an overview of the ECE 4003 - Embedded System Design course. It begins with defining what an embedded system is and providing examples. It then discusses classifications of embedded systems based on generation, complexity/performance, execution behavior, and triggering mechanism. Next, it covers the characteristics that make embedded systems different than general purpose computers. Finally, it discusses microprocessors versus microcontrollers and applications of embedded systems.

Uploaded by

Saikat Sahana
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 84

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

You might also like