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

L01 Intro

Uploaded by

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

L01 Intro

Uploaded by

fikru
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 29

Embedded Real-Time Systems

Dimitris Metafas, Ph.D


Embedded Real-Time Systems

Lecture: Introduction to
Embedded Systems
Embedded Systems:
Motivation
Motivation
 Continuously increasing interest (in industrial, research and
education sectors) as well as rapid evolution in embedded
systems in the last years…
 Driving Forces:
 Progress in microelectronics / microprocessor technology,

and real-time operating systems (cost, performance, spread).


 Computer science / engineering is now part of the basic

education in all scientific fields, as well as part of everyday


life.
 Strong Belief: if a system can be controlled, it can be

controlled by a microprocessor!
 Huge industrial activity in embedded systems

Slide 4
Embedded Systems:
Definitions
What is an embedded system?
1. Special Purpose Computer System
2. Embedded or ‘hidden’ in another system
3. Has several restrictions in design / development / operation
4. Embedded systems are Reactive
5. Often, it may have real-time restrictions (requirements for
responding before a deadline expires)

Slide 6
What is an Embedded System?
 First, it is a computer system: anything that uses a
microprocessor, but is not a general-purpose computer:
 Consumer electronics:

 cellular phones, set­top boxes, televisions, remote controls, game


consoles, Internet appliances, PDAs, Alarm Systems, hi-fi systems,
home cinemas,…
4

 Home appliances (“White Appliances”) like refrigerators, washing


machines (…which now-days include microprocessors and may also
have internet connection…)
 Telecommunications systems equipment
 Defense and weapon systems
 Automotive systems
 Systems for Process control
 Robots, Cars, Planes, Nuclear plants,…, include several
microprocessors / embedded systems

Slide 7
What is an Embedded System?
 Second, it is embedded, or ‘hidden’ inside another system:
 the user interacts with a special-purpose system, and not with

the computer inside the system


 the end-user typically does not or cannot modify or upgrade

the internal system himself

Slide 8
What is an embedded system?
 Third, it has many sets of constraints / limitations, from the following:
 Cost (€0.1 adds up over thousand/million units…)

 Processor speed (for cost, size reasons)

 Memory (probably no hard disk, sometimes only few Kbytes only)

 Display and user interface (…also it may target users that are computer

illiterate)
 Network bandwidth (if network connection at all)

 Low Power Consumption (limited battery, lack of cooling system)

 Small Size, Low Weight (handheld devices, transportation cost issues)

 Reliability

 Safety-critical (must function correctly, must not function incorrectly)

 Security

 Operation in Harsh environmental conditions (Heat, vibration, shock,

power fluctuations, RF interference, lightning,…)

Slide 9
What is an embedded system?
 Fourth: Embedded Systems are Reactive:
 computations occur in response to external events, that may

be:
 Periodic events (e.g., rotating machinery and control loops, timers,…)
 Aperiodic events (e.g., button closures, user interactions)
 Fifth: it may have real-time requirements (responding before a
deadline expires)
 Real-Time: timing correctness is part of system

correctness
 Hard real-time
 Absolute deadline, beyond which answer is useless
 Deadline may include minimum time as well as maximum time
 Soft real-time
 Occasionally missing a deadline is not catastrophic
 Utility of answer degrades with time difference from deadline
 In general, Real Time does not mean Real Fast

Slide 10
A Typical Embedded System
An Embedded Designer's View…
CPU: Performance, Compilers, Operating Systems, Cost.
Memory Size, I/O connections, peripherals, Cost.

Functionality, Time­to­market, Cost & Cost. And a customer’s


view…:
Memory Reduced Cost
Increased Functionality

Cache Improved Performance

Microcontroller Increased Dependability

Sensors A/D CPU D/A Actuator

Diagnostic Auxiliary Systems


MMI I/O (power, cooling)
tools
Electro-mechanical
backup and safety

External
Environment

Slide 11
Embedded System Examples – Diverse Restrictions
 Pocket remote control RF transmitter
 100 KIPS, water/crush­proof, fits in pocket, 5­year battery life

 Software hand­crafted for small size (less than 1 KB)

 Industrial equipment controller (e.g., elevator)


 1­10 MIPS for 1 to 10 CPUs, 1 ­8 MB memory

 Safety­critical software; real­time control loops

 Digital TV Set Top Box


 50-350 MIPs, 2-16MB FLASH, 4-32 MB SDRAM

 Software may be handcrafted at low layers, but at upper layers it supports

hardware agnostic applications downloadable over the network!


 Military signal processing (e.g., Radar/Sonar)
 1 GFLOPS, 1 GB/sec I/O, 32 MB memory

 Software hand­crafted for extremely high performance

Slide 12
Trends in Embedded Systems
 Increasing code size
 migration from hand (assembly) coding to high-level

languages
 Reuse of hardware and software components
 processors (micro-controllers, DSPs)

 software components (drivers)

 Increasing integration and system complexity


 integration of RF, DSP, network interfaces,…

 32-bit processors, I/O processors

Slide 13
Microprocessor
 There exists at least one microprocessor in (the heart of) an
embedded system
 Microprocessor: CPU, memory, cache
 Microcontroller:
 Microprocessor, plus:

 Controllers for I/Os, peripherals, A/D-D/As, DMAs,

special devices tailored for specific application, etc.


 Extra Memory / Caches

 Microprocessors are general purpose - target a broad application


area
 Microcontrollers are specialized, tailored for specific
applications (e.g. for DVDs the microcontroller includes MPEG-
2 hardware).

Slide 14
Embedded Systems:
Professional Opportunities
Why embedded systems are important?
 Embedded Systems dominate the worldwide computer system
market
 Yearly:
 The worldwide market of general purpose computers is of the

order of billion US $
 The worldwide market of embedded systems is also of the

order of billion US $
 ~100 million desktop PCs are produced

 ~6 billion microprocessors for embedded systems are

produced (one for each person on earth)


 While Desktop PC market is saturating, embedded market is
growing
 Embedded systems account for 90-95% of all microprocessors
produced worldwide!

Slide 16
Embedded System Categories
 General Computing
 Applications similar to desktop computing, but in an embedded package

(lower cost, targeting also computer illiterates,…)


 Set­top boxes, game consoles, internet appliances, automatic tellers,

wearable computers),…
 Control Systems
 Closed­loop feedback control of real­time systems

 Vehicle engines, chemical process, industrial process, nuclear power,

flight control,…
 Signal Processing
 Computations involving large data streams (signals)

 Radar, Sonar, video compression, Digital TV / HDTV broadcast centers…

 Communication & Networking


 Switching and information transmission

 Telephone systems, Internet, satellite systems…

Slide 17
Examples
 Telecommunications
 Wireline Access Systems

(copper enhancement,
DSLAM)
 Wireless Access Systems

(microwave systems)
 Terminal Equipments

(ISDN modems, DSL


modems, IP phones,
payphones,…)

 Defense Systems
 Secure Communications

 Crypto-systems

Slide 18
Examples
 General Computing
 DiTV Set-top boxes, Home-
Gateways, Home Networking
 Interactive TV Applications /
Electronic Program Guides
(embedded software)
 Content Distribution Systems
 Fleet Management Systems
 Systems and terminal equipment
for lottery operations
 Information kiosks
 Smart Cards Applications
 Cash Registers
 Energy Meters

Slide 19
Several Types of Embedded System Functions
 Application­specific interfacing
 Buttons, bells, lights,...

 High­speed I/O

 Signal processing
 Multimedia data compression

 Digital filtering

 Control Laws
 PID control

 Fuzzy logic

 Sequencing logic
 Finite state machines

 Switching modes between control laws

 Fault response
 Detection & reconfiguration

 Diagnosis

 ...

Slide 20
Embedded Systems:
Education
Embedded Systems Designer’s Knowledge
 Hardware and Software
 The ‘low level’: computer architecture, micro-processors / micro-controllers,
assembly language, A/D-D/A converters, integrated circuit (ASIC/FPGA)
design
 The ‘higher level’: programming languages C/C++, (Java ?), object-oriented
systems
 Operating systems:
 …mainly the “lower half” of the OS (which is connected to h/w):

interrupts, synchronization, process communication, scheduling,


concurrency
 …but also the “upper half” (which is connected to applications)

 Embedded systems often use simple operating system kernels or real-time

operating systems, with typically small footprints and support for real-
time scheduling
 Applications: networking, signal processing, control

Slide 22
Embedded Systems Designer’s Skills
 Global System View
 …the system is not just the microprocessor…

 …not just digital logic…

 HW/SW Boundaries
 …optimal and under constraints (cost, space, performance,…)

 Products
 …from specs to production…

 …performance vs. cost trade-offs…

 …cost, cost, cost…

 …analyzability, how can I be sure that the system functions correctly?…

 …not just design – full product life-cycle…

 Will / Ability for Teamwork


 Communication Skills
 …other field scientists / engineers…

 …marketing, production…

 …end-customer…

Slide 23
Embedded System Designer: Global View
Multi-Discipline
 Electronic Hardware
 Mechanical Hardware
 Software
 Control Algorithms
 Signal Processing
 Humans Multi­Objective
 Society/Institutions  Dependability
 Affordability
 Safety
 Security
 Scalability
 Timeliness Multi­Phase
 Requirements
 Design
 Manufacturing
 Deployment
 Logistics
 Retirement

Slide 24
Education
 Difficulties
 Embedded systems cover a wide spectrum of computer

science and various engineering sectors.


 Embedded Systems Education requires a wide background for

the students.
 Intensive lab training is required.

 Target
 Courses must focus in the System / global view (not just

relevant subjects e.g. operating systems, microprocessors,


etc.)

Slide 25
Embedded System Design approaches
 Embedded problems typically solved using one of the following
three approaches

 Use a combination of custom designed hardware and possibly


some software on an embedded processor that is integrated
with the hardware

 Use custom software designed to run on an off-the-shelf


embedded processor (our focus)

 Use an application specific processor (a processor that has


been optimized to run the specific class of applications
efficiently) with custom software

Slide 26
Pre-Requisite Knowledge/Skills
 Basic, working knowledge of computer architecture

 Knowledge of (and experience with) C programming


 Fundamentals of data structures and algorithms
 Just knowing Java is not enough
 Need to know, understand and manipulate “pointers”

 Some experience with assembly-language programming


 Knowledge of instruction sets of any modern microprocessors
(x86, ARM, PowerPC, 680x0, MIPS) should be a helpful
starting point

Slide 27
Sources and Literature
References
 ARM manuals
 Wayne Wolf, Computers as Components: Principles of
Embedded Computing System Design
 Steve Heath, Embedded Systems Design
 Bryant, O’Hallaron, Computer Systems – A Programmer’s
Perspective
 Ben Ari, Principles of Concurrent and Distributed
Programming
 Jane Liu, Real-Time Systems
 Rajeev Gandhi, Fundamentals of Embedded Systems (CMU
course)

Slide 29

You might also like