Download - Day1
Copyright © 2012 Embedded Systems
Committee
Introduction To ES
Mohamed Abd Elhay
Copyright © 2012 Embedded Systems
Committee
Copyright © 2012 Embedded Systems
Committee
Copyright © 2012 Embedded Systems
Committee
Copyright © 2012 Embedded Systems
Committee
Embedded Systems
Embedded Systems Applications
Embedded Systems Types
Memories
Embedded system developing
Embedded Systems Market in Egypt
Copyright © 2012 Embedded Systems
Committee
Copyright © 2012 Embedded Systems
Committee
•Embedded system is a special purpose system designed to
perform one or a few dedicated
functions.
• Embedded systems are computing systems with tightly
coupled hardware and software integration.
Copyright © 2012 Embedded Systems
Committee
The Word “Embedded” reflects the fact that these systems are
usually an integral part of
a larger system, known as the embedding system.
“A computer built into a system and not seen by the user as
being a computer”
It is usually Embedded as a part of a complete device
including hardware and mechanical parts.
Copyright © 2012 Embedded Systems
Committee
Can Personal Computer be considered as an Embedded
System as it integrates hardware and software to
perform functions? Why?
NO
PC cannot be considered as an embedded system
because
1. It uses a General-Purpose Processor
2. The system is built independently from the software
runs on it.
Else ATM machine
Copyright © 2012 Embedded Systems
Committee
Communication:
Mobile Handsets
Switches and Routers
Image processing and Consumers:
Cameras
Mp3 and Mp4 players
PlayStation
Automotive:
Engine Management System
Claimant Control System
Appliances:
Microwave
Washing Machines
Copyright © 2012 Embedded Systems
Committee
1) Microprocessors.
2) Microcontrollers.
3) DSPs.
Copyright © 2012 Embedded Systems
Committee
1-Microprocessor:
• CPU = ALU + Registers + Control unit
• Microprocessor function is to fetch the instructions
from the memory then decode and execute them.
• Microprocessor alone is useless
Copyright © 2012 Embedded Systems
Committee
1-Microprocessor: a-General Purpose Processors
32 or 64-bit data path
Central processing engine of a mainframe, workstation, PC, PDA
X86, PowerPC, SPARC, Pentium
Complex in design because these processors provide a full scale of features and a wide spectrum of functionalities
Modern processors have:
a built-in memory management unit (MMU) to provide memory protection and virtual memory for multitasking-capable.
General-purpose operating systems.
Have advanced cache logic.
Built-in math co-processor capable of performing fast floating-point operations.
Interfaces to support a variety of external peripheral devices.
These processors result in large power consumption, heat production, and size
Copyright © 2012 Embedded Systems
Committee
1-Microprocessor:
b-Embedded general purpose Processors
Designed for a wide range of application (consumer and communication)
8/16 or 32-bit data path
Limited functionality depends on the application
Scaled-down versions of existing computational micros
Reaches around 200 MHz
Usually integrated into larger dedicated systems in a SoC (System on Chip), also called core-based ASIC
Examples: ARM, PowerPC, MIPS, 68K, x86
ARM has seized the lion’s share of the market
Copyright © 2012 Embedded Systems
Committee
2-Microcontroller:
• Microcontrollers are often referred to as single chip devices or single
chip computers in a small size that its resources are far more limited than
those of a desktop personal computer.
• Microcontroller = CPU + Memory + Peripherals
•The workhorse of industrial electronics.
•Designed for standalone operation.
•Include processing unit 8-bit, 16-bit, 32-bit.
Copyright © 2012 Embedded Systems
Committee
2-Microcontroller:
Microcontroller Main Components
Microcontroller has eight main components:
1. Central processing unit (CPU)
2. ROM
3. RAM
4. Input and Output (GPIO or DIO)
5. Timer
6. Interrupt circuitry
7. Buses
8. Watchdog
Copyright © 2012 Embedded Systems
Committee
Copyright © 2012 Embedded Systems
Committee
Processor Control Unit Architecture:
» Harvard Architecture:
includes two memory units :
► An instruction memory holds the program
► A separate data memory is used for computations
► The advantage is that we can read an instruction and load or
store data in the same clock cycle
» Von Neumann Architecture:
includes one memory unit :
► a single main memory that holds both program instructions
and data
Copyright © 2012 Embedded Systems
Committee
Instruction Set Architecture:
RISC is short for “Reduced Instruction Set Computer”
RISC is a set of building concepts, that can be followed to
optimize and simplify computer system design
CISC is short for “Complex Instruction Set Computer”
CISC is an old concepts that dates back when memory access
was slow
Copyright © 2012 Embedded Systems
Committee
Instruction Set Architecture:
CISC aimed to integrate several functionalities in one instruction, in order to
limit the program size, and thus limit memory access in order to gain some
speed
RISC on the other hand, aims to optimize execution of instructions by
limiting the capabilities of a single instruction, thus gaining speed from
execution point of view
As memory technology developed more and more, memory access became
faster, and the limitation of memory access diminished
Copyright © 2012 Embedded Systems
Committee
3-Digital Signal Processors:
• Like microcontrollers BUT Focus on very efficient execution of
arithmetic operations.
• DSP has :
– specialized arithmetic units,
– optimized design in the memory,
– Addressing and bus architectures with multiprocessing capability that
allow the DSP to perform complex calculations extremely fast in real
time.
• Used widely in digital signal processing in communications systems
such as Cell phones and Image and video processing.
• TI (Texas Instruments) has been the dominant player in the DSP market
for several years.
Copyright © 2012 Embedded Systems
Committee
Advanced Embedded System
• Multi-core system on chip
Like mobile handset which has one chip contains:
1. DSP processor
2. Embedded processors like ARM
3. Custom hardware for GSM
4. Custom peripherals for board interface (keyboard, touch screen, memory card interface)
Copyright © 2012 Embedded Systems
Committee
RAM
ROM
EEPROM/FLASH
Memory Mapping
Copyright © 2012 Embedded Systems
Committee
Random Access Memory (RAM)
Also called Read/Write Memory, The term random access refers to the ability to access any memory cell directly. RAM is much faster than ROM
Volatile memory, requires external power to maintain memory content.
Used to store data as long as Microcontroller is powered and the program is running
Modifiable through program instructions
Addressable in instruction sets through different addressing Mode
1-RAM:
Copyright © 2012 Embedded Systems
Committee
RAM Types:
1. Dynamic RAM (DRAM): DRAM is a RAM device that requires periodic refreshing to retain its content.
2. Static RAM (SRAM): SRAM is a RAM device that retains its content as long as power is supplied by an external power source. SRAM does not require periodic refreshing and it is faster than DRAM.
3. Non-Volatile RAM (NVRAM) • NVRAM is a special type of SRAM that has backup battery power so it can
retain its content after the main system power is shut off.
• Another variation of NVARM combines SRAM and EEPROM so that its content is written into the EEPROM when power is shut off and is read back from the EEPROM when power is restored.
1-RAM:
Copyright © 2012 Embedded Systems
Committee
RAM contents
Divided virtually to:
1. General purpose registers for CPU acts as
accumulators
2. Peripherals control special registers
3. Data RAM: all static variables in the program i.e.
each variable has a static address and its last value
lasts until microcontroller power off.
4. Stack
1-RAM:
Copyright © 2012 Embedded Systems
Committee
Permanent memory (Non-Volatile)
Written upon programming the microcontroller
Can’t be written/modified at run time
2-ROM
Copyright © 2012 Embedded Systems
Committee
ROM types
• OTP:
– one time programming ROM
– used in products
• Mask ROM:
– Programmed upon microcontroller production
• Flash ROM:
– Program electrically many times
– Used during development time
– Currently used in products to be updatable
2-ROM
Copyright © 2012 Embedded Systems
Committee
ROM contents:
I. Program code
II. Constant data
– Handled through const keyword in C.
2-ROM
Copyright © 2012 Embedded Systems
Committee
Electrically erasable programmable Read only Memory
Acts as peripheral of microcontroller
Accessed through special registers
Could write/modify Data during Run time
Take more time in read/write access than RAM
keep data even the microcontroller is powered off
the FLASH memory is a variation of EEPROM, which
allows for block-level (e.g., 512-byte) programmability
that is much faster than EEPROM.
EEPROM/FLASH
Copyright © 2012 Embedded Systems
Committee
Memory Mapping
Copyright © 2012 Embedded Systems
Committee
Trade off between HW and SW
For a certain application
Which functional blocks should be performed in Hardware??
Which functional blocks should be performed in software??
Copyright © 2012 Embedded Systems
Committee
Software characteristics
Highly configurable
Shorter development cycle
Easier in versions updates
Cheaper
Constrained with processor speed which may satisfy real
time application and may not
Copyright © 2012 Embedded Systems
Committee
Hardware characteristics
Longer development cycle
Customized for specific application
Better performance in high speed real time application
Copyright © 2012 Embedded Systems
Committee
Board
SYSTEM ON BOARD
Copyright © 2012 Embedded Systems
Committee
SYSTEM ON CHIP
Keyboard
controller USB interface
Memories CPU
Customized
hardware
LCD
controller
ASIC Chip
Copyright © 2012 Embedded Systems
Committee
• In complicated systems functional blocks could be:
Level 1: External discrete hardware component on board.
Level 2: Hardware integrated with CPU on chip (SoC).
Level 3: Done by software running on CPU.
HW / SW Partitioning
Copyright © 2012 Embedded Systems
Committee
“Those systems in which the correctness of the system
depends not only on the logical result of the computation, but
also on the time at which the results are produced”
Real Time Systems are a very fast systems?
Real-time means completing tasks within specified deadlines,
it is not defined or limited by a specific execution speed.
Copyright © 2012 Embedded Systems
Committee
Copyright © 2012 Embedded Systems
Committee
System Development Cycle
1. System Specification Analysis
2. System Design
3. Development
Hardware Development
Software Development
4. System Integration
5. System Validation
Copyright © 2012 Embedded Systems
Committee
Software Development Cycle
1-Software Specification
2-Software Design
3-Coding / Testing
4-Software Integration
5-Software Validation
Copyright © 2012 Embedded Systems
Committee
1- Assembly
a-Lowest level human readable
b-Platform specific.
c-Assembly has one-to-one corresponding machine language
d-Using compiler to convert High Level language to Assembly
2-C Language
Copyright © 2012 Embedded Systems
Committee
Copyright © 2012 Embedded Systems
Committee
References
• ESC Training Team