View
221
Download
0
Category
Preview:
Citation preview
8/17/2019 introdcution to embedded system
1/30
Introduction to Embedded
Systems
8/17/2019 introdcution to embedded system
2/30
Outline
• Embedded systems overview
– What is embedded system – Characteristics
– Elements of embedded system – Trends in embedded system
– Design cycle
2
8/17/2019 introdcution to embedded system
3/30
Computing Systems
3
• Most of us think of desktop computers
– PC – Laptop
– Mainframe – Server
• Maybe at most handheld computer (PDA)
• Embedded systems: a computing systemthat is part of or is embedded into another
systems.
8/17/2019 introdcution to embedded system
4/30
What is Embedded Systems?
4
• Computing system embedded within
electronic devices• Any device or collection of devices that
contain one of more dedicated computers,
microprocessors, or micro-controllers• Combination of computer hardware and
software designed to perform a specificfunction
• Broad definition: Any computing system
that is not a desktop computer
8/17/2019 introdcution to embedded system
5/30
Embedded System: Examples
5
8/17/2019 introdcution to embedded system
6/30
Embedded System Types
6
• General purpose computing
– Personal digital assistant, Video games, set top boxes,
wearable computers, automatic tellers• Control systems
– Fuzzy control, PID control, Vehicle engines, chemical
processes, nuclear power, flight control• Signal processing
– Multimedia data compression
– Digital filtering
• Communication & Networking
– Routers, switches, firewalls, … – Surveillance, wireless sensor, …
8/17/2019 introdcution to embedded system
7/30
Embedded System Market
• Average household uses about 225
embedded processors; about 35 for theautomobile itself
• Estimated 5 billion embedded processor inuse --- 94% share of world market; IntelPentium, Motorola PowerPC, etc.
combined is only 6%
[source: World Semiconductor Trade Statistics Bluebook]
7
8/17/2019 introdcution to embedded system
8/30
Why study embedded systems ?• Key elements of our society today
• Many new applications every day
• Requires knowledge of both software andhardware
– Ignored in traditional computer sciencecurriculum
– Isn’ t it only about hardware? NO !!!
• Experienced embedded systemsdesigners are in high demand and short
supply8
8/17/2019 introdcution to embedded system
9/30
Embedded systems characteristics:
User ’ s viewpoint• Single function
– Dedicated to a task or tasks• Tight constraints
– Size, power, cost, time-to-market• Real time and reactive
– Respond to environment in real time• Safety critical
– Failure of hw/sw can be life threatening
9
8/17/2019 introdcution to embedded system
10/30
Embedded system’ s characteristics:
Developer ’ s viewpoint• Concurrent development of hardware andsoftware: hardware/software codesign
• Variety of microprocessors
• Variety of operating systems mostly real time
(RTOS) – May not even have any OS services like ‘printf ’
• Fewer system resources than desktop system
• Requires specialized development tools
• Debugging extremely difficult
• Hardware and software should be extremelyrobust 10
8/17/2019 introdcution to embedded system
11/30
Typical Design Constraints• Small Size, Low Weight
– Handheld electronics – Transportation applications weight costs money
• Low Power – Battery power for 8+ hours (laptops often last only 2 hours) – Limited cooling may limit power even if AC power available
• Harsh environment – Heat, vibration, shock – Power fluctuations, RF interference, lightning – Water, corrosion, physical abuse
• Real-time and Safety critical operation – Must function correctly and/or in-time – Must not function incorrectly
• Extreme cost sensitivity – $.05 adds up over 1,000,000 units11
8/17/2019 introdcution to embedded system
12/30
A typical embedded system
Microprocessor
Address Bus
Data Bus
Status Bus
Glue Logic and
Address Decode
Clock Generation
and Distribution
Real Time Clock
Random Access
Memory - RAM
Read Only
Memory - ROM
( FLASH )
Minimally Requirement for an Embedded System
I/O Interface
( D/A, A/D, Digital )
Communications
Other
PeripheralDevices
To Outside World
To outside worldTo other devices
To host Computer
To User I/F
Watchdog Timer
NMI
12
Source: Arnold S. Berger
8/17/2019 introdcution to embedded system
13/30
Elements of an embedded system
13
Microprocessor
• 4, 8, 16, 32, 4 bit bus• CISC, RISC, DSP• Integrated peripherals• Debug/Test Port• Caches
• Pipeline• Multiprocessing Systems
DEBUG PortNon-volatile memory
• EPROM, FLASH, DISK• Hybrid
Volatile Memory
• DRAM, SRAM
• Hybrid
Custom Devices
• ASIC• FPGA• PAL
Standard Devices
• I/O Ports• Peripheral Controllers
Communication Devices
• Ethernet• RS-232• SCSI• Centronics
• Proprietary
Microprocessor Bus
• Custom• PCI• VME
• PC-102
System Clocks• RTC circuitry• System clocks• Integrated in uC• Imported/Exported
Peripheral Bus
Software
• Appl ication Code• Driver Code / BIOS• Real Time Operating System• User Interface• Communications Protoco l Stacks
• C, C++, Assembly Language, ADA• Legacy Code
T o O u t s i d e W o r l d Key Point: Al though vastly d ifferent in complexi ty and design, common
architectural traits allow us to design and debug a wide variety of systems
Source: Arnold S. Berger
8/17/2019 introdcution to embedded system
14/30
Trends in embedded system
• Higher integration
– Microprocessor – Micro-controller
– System-on-Chip (SOC)
• Hardware/software co-design
• Mature design flow
14
8/17/2019 introdcution to embedded system
15/30
Higher Integration (1)
• Microprocessor
– An integrated circuitwhich forms thecentral processing unit
for a computer orembedded controller,but requires additionalsupport circuitry to
function
– Example: Pentium, AMD K6 etc.
Progr am
memory
Data
Storage
I/ O
Micr oprocessor I/O
I/ O
Clock To outside
wor ld
15
Source: Arnold S. Berger
8/17/2019 introdcution to embedded system
16/30
Higher Integration (2)
• Micro-controller – A microprocessor plus additional
peripheral support devicesintegrated into a single package
– Peripheral support devices mayinclude:
• Serial ports ( COM ), ParallelPorts, Ethernet ports, A/D & D/A
• Interval timers, watchdog timers,event counter/timers, real time
clock ( RTC )• Other local processors ( DSP,
numeric coprocessor, peripheralcontroller )
– Example: Motorola coldfire
Microprocessor
Core
Program
Memory
Data
Storage
I/O
I/O
Real-time
ClockI/O
To outside world
16
Source: Arnold S. Berger
8/17/2019 introdcution to embedded system
17/30
Higher Integration (3)
• System-on-chip (SOC) – A microprocessor plus additional peripheral
support devices integrated into a single chip – Example: Intel StrongARM
Source: Intel
17
8/17/2019 introdcution to embedded system
18/30
Driving Factor
18
• Moore’ s Law – Predicted by Intel co-founder Gordon Moore ’ 65
– IC transistor capacity has doubled roughly every18 months for the past several decades
• Process technology can put more and more
functionality on the same chip as CPU at reducedcost
Source: Intel
8/17/2019 introdcution to embedded system
19/30
Liming Factor • Design productivity gap
– Growing design gap between what technology
can offer and our ability to design in thattechnology
19
Source: ITRS’99
8/17/2019 introdcution to embedded system
20/30
Core based SOC design
• Intellectual Property (IP) circuits or cores arepre-designed and pre-verified functional units
• IP s are reusable implying lower design cost• Core examples:
–Processors: ARM, PowerPC, .. – Memory: RAM, memory controller, …
– Peripherals: PCI, DMA controller, …
– Multimedia: MPEG/JPEG encoder/decoder … – Digital Signal Processor (DSP)
– Telecommunication: Ethernet controller, router, ..
20
8/17/2019 introdcution to embedded system
21/30
Hardware/Software Co-design• In the past:
– Hardware and
software designtechnologies werevery different
• At present – Recently matured
synthesis technique
enables a unified viewof hardware andsoftware
Implementation
Assembly instructions
Machine instructions
Register transfers
Compilers
(1960's,1970's)
Assemblers, linkers
(1950's, 1960's)
Behavioral synthesis
(1990's)
RT synthesis
(1980's, 1990's)
Logic synthesis
(1970's, 1980's)
Microprocessor plus
program bits: “software”
VLSI, ASIC, or PLD
implementation: “hardware”
Logic gates
Logic equations / FSM's
Sequential program code (e.g., C, VHDL)
21
The choice of hardware versus software for a particular function is simply a tradeoff among various
design metrics, like performance, power, size, cost, and especially flexibility; there is no fundamental
difference between what hardware or software can implement.
Source: Vahid/Givargis
8/17/2019 introdcution to embedded system
22/30
Design Flow
Requirements
Specification
Architecture
Components
System Integration
22
8/17/2019 introdcution to embedded system
23/30
Requirements
• Functional – Inputs and Outputs
• Analog/Digital/Mechanical
• Periodic/Non-periodic/Bits per data
• Button/Display
– Functions• What does the system do?
• Non-functional
– Performance – Manufacturing cost
– Power consumption
– Physical size and weight23
8/17/2019 introdcution to embedded system
24/30
Specification
24
• A precise description of the requirements
• Unambiguous and understandable
• Unified Modeling Language (UML) is avisual language that nicely captures the
specification – Blurs the distinction between h/w and s/w
– UML models the behavior of embedded system – Automatic code generator could generate HDL
or C++ code for the actual design
implementation
8/17/2019 introdcution to embedded system
25/30
Architecture Design
• How the system implements the functions
described in the specification• System structure in terms of components
• Hardware/Software partitioning – Hardware and software in embedded system
work together to solve a problem
– Partitioning decision is usually dictated byspeed, flexibility, and cost
25
8/17/2019 introdcution to embedded system
26/30
Architecture Design (Contd.)
Technology Performance/
Cost
Time until
running
Time to high
performance
Time to change
code functionality
ASIC Very High VeryLong
Very Long Impossible
FPGA Medium Medium Long Medium
ASIP/
DSP
High Long Long Long
Generic Low-Medium
Very
Short
Not Attainable
Very Short
F l e x i b i l i t y
S p e e d
26
8/17/2019 introdcution to embedded system
27/30
Component Design & System
Integration
• Implementing hardware and software• Putting components together
• Verification
27
What is expected of embedded
8/17/2019 introdcution to embedded system
28/30
What is expected of embedded
system designer?• Need to understand the big picture
• Hardware can no longer be a black box• Design software with
– Real time constraints – Low power
– Small code size
• Willing to acquire domain specificknowledge
28
Techniques needed in
8/17/2019 introdcution to embedded system
29/30
Techniques needed in
Embedded Systems
29
• Low-level: Microcontrollers, FPGA/ASIC,
assembly language, A/D, D/A – Device Drivers
• High-level: Object oriented Design, C/C++,
Real Time Operating Systems – May use Java, Windows CE, Linux, …
• Meta-level: Creative solutions to highlyconstrained problems
• Likely in the future: Unified Modeling
Language, embedded networks
8/17/2019 introdcution to embedded system
30/30
References
• Embedded Systems Design: An
Introduction to Processes, Tools andTechniques, by Arnold S. Berger, CMPBooks, 2001
30
Recommended