Embedded Systems
description
Transcript of Embedded Systems
![Page 1: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/1.jpg)
Embedded Systems
Introduction 09/10
![Page 2: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/2.jpg)
Embedded Systems 16-5147
Alan Holloway – contact: [email protected]– Room 9323 Furnival
• 12 × 1 Hour Lectures • 12 × 2 Hour Labs (staffed for 1 Hours)• 100% Coursework
– formative series of lab tutorials (10%)– 5 × Homework questions ( 2% each ) – major assignment (80%)
![Page 3: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/3.jpg)
Resources
• All course information can be found at www.aholloway.co.uk follow link for this unit– Lecture notes– Sample programs– Reading list– Software (available free)
![Page 4: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/4.jpg)
What is an embedded system?
• An embedded system is a special-purpose computer system designed to perform one or a few dedicated functions
•Washing machine runs programs•Open water valve•Heat water•Start spin•etc etc….
•Do we need a PC running windows Vista to do this ?
![Page 5: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/5.jpg)
Will I ever need to use one?
• Over 4 billion 8-bit microcontrollers were sold in 2006 alone
• the world's population is estimated to be about 6.756 billion
• Average car contains >50 microcontrollers• Electrical, electronic, control, robotics,
computer engineer - Yes you will
![Page 6: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/6.jpg)
Embedded Systems
• Microprocessor Systems• Microcontrollers• ARM7 core Processor Family
– specifically NXP LPC2368 microcontroller– Many others are available 8051, PIC, AVR etc
• C Programming will be used throughout– ARM Realview MDK - 'C' compiler & other tools– u-Vision Integrated Development Environment
1-6
![Page 7: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/7.jpg)
Microprocessor system
• CPU• Memory – ROM and RAM• Input – various• Output - various
1-7
![Page 8: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/8.jpg)
Bus system
• Devices connect to microprocessor via bus system (often called the memory bus)
• A devices connected to bus must be tri-state devices– only one device is activated at a time
• Consists of 3 bus types– Address bus– Data bus– Control bus
1-8
![Page 9: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/9.jpg)
1-9
clock
address bus
data bus
chip enable signals
readwrite
uP ROM I/ORAM
CE CECE
OE WR OE OEWR
Additional devices
Microprocessor System Structure
ad
address decoder
reset
![Page 10: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/10.jpg)
Bus operations
• Read • Write• Each read/write operation is made up of a
number of clock cycles or T states• Each machine instruction is made up of one or
more read and/or write operations• This is why we shouldn't compare
microprocessors simply based on clock speed
1-10
![Page 11: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/11.jpg)
1-11
Address Bus• Unidirectional and generated by microprocessor• Number of address lines determines number of address
locations • Addressable locations = 2^a where a is the number of
address lines
ROM
RAM
I/O
0000H
E000H
3FFFH
E00FH
7FFFH
FFFFH
6000H
MemoryAddress
Totalmemory space
d bits
2a - 1
01
Memory Map :A memory map shows the position of devices within the whole of the addressable area
memory addresses
![Page 12: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/12.jpg)
Data Bus
• Bi-directional• Usually matches the word length of the
microprocessor • Usually a multiple of 8 • We talk of 8-bit, 16-bit , 32-bit and 64-bit
processors which refers to the normal word length of the microprocessor
1-12
![Page 13: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/13.jpg)
Control bus
• Consists of potentially many signals. Typically:-– Read– Write– Could be single signal - Read/notWrite line– Interrupt control– Bus control signals for DMA (Direct Memory
Access)
1-13
![Page 14: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/14.jpg)
Microprocessr
• CPU – Central Processing Unit– ALU – Arithmetic Control Unit– Registers– Control Unit
1-14
![Page 15: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/15.jpg)
1-15
Microprocessor Registers
• General purpose registers• Accumulator – used in conjunction with ALU –
often found on 8-bit microprocessors• Status or Flag Register – indicate result of last
instruction executed• Program counter(PC) or Instruction Pointer• Stack Pointer (SP)• Special registers – Instruction and memory
address register
![Page 16: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/16.jpg)
The Fetch – Execute cycle• Fetch
– memory read cycle– place in instruction register and decode
• Execute– may involve additional read and/or write cycles
• Often the whole Fetch-Execute cycle is carried out through a pipeline operation involving several stages.– 5 stages are often used (IF, ID, RR, EX, WB)– The Pentium 4 has 20 stages– The ARM 7 has 3 stages
1-16
![Page 17: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/17.jpg)
Pipeline - Natural assembly line• Example
– Alan (A) Barry (B) & Chris (C) each have a load of clothes
• Washer takes 30 mins
• Dryer takes 30 mins
• Ironing takes 30 mins
A B C
![Page 18: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/18.jpg)
Sequential - non pipelined
30 30 30 30 30 30 30 30 30
A
B
C
7pm 11.30pm
Total for 3 Loads is 4.5 Hours
![Page 19: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/19.jpg)
Pipelined
• Total for 3 loads pipelines 2.5 hours
30 30 30 30 30 30 30 30 30
A
B
C
7pm 11.30pm
![Page 20: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/20.jpg)
Pipelines
• Does not speed up 1 task - increases overall throughput
• Multiple tasks operate simultaneously using separate resources
• Limited by speed of slowest resource
![Page 21: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/21.jpg)
ARM7 Pipeline• The pipeline has hardware-independent stages that execute one
instruction while decoding a second and fetching a third. The pipeline speeds up the throughput ofCPU instructions so effectively that most ARM instructions can be executed in a single cycle.
• The pipeline works most efficiently on linear code.
![Page 22: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/22.jpg)
1-22
CPU operation
• On reset – PC is loaded with a value, typically 0• Fetch – execute cycle
– Fetch instruction • memory read cycle using PC (program counter)• place in instruction register and decode• increment PC ready for next fetch
– Execute instruction• often involves additional read and/or write cycles to read
operands and possibly write back results• could modify PC – causes flow of program execution to
change
![Page 23: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/23.jpg)
1-23
CPU Architecture
• Two basic types– Von Neumann
• One memory space for instructions and data• Therefore one single memory bus structure
– Harvard• Separate instruction and data spaces• Therefore separate memory buses – parallel operation
and therefore faster operation• Can have different address and data bus widths
optimised for each bus
![Page 24: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/24.jpg)
1-24
Basic microprocessor system
• Von Neumann Architecture
Reset
Oscillator
Clock
Memory (Instructions & Data) and Input/Output
Read
Write
Address
Data
Microprocessor
Power on & manual reset
D0-dy
A0-Ax
![Page 25: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/25.jpg)
1-25
Harvard Architecture
Program Memory
Data Memory & I/O
Read
Write
Address
Data
Microprocessor
d0-dn
Address
Read
Instruction
I0-Iw
A0-AxA0-Ay
![Page 26: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/26.jpg)
Microcontroller
• A microcontroller is the integration of – microprocessor– memory
• ROM types – commonly flash PROM• RAM – Static ram
– peripherals• parallel input and output(digital I/O)• Timers and Counters• Serial input and output (UART, USART, SPI etc.) • Analogue to digital converters• PWM, CAPCOM registers, DACs etc.etc.
1-26
![Page 27: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/27.jpg)
What is an Embedded Computer System• Special purpose computer – usually with one
specific task or application.• Usually embedded in a device which often
has other electronic and mechanical parts• Usually optimised for the specific task• Has the usual basic computer components –
CPU, memory, inputs & outputs
![Page 28: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/28.jpg)
Examples• consumer appliances
– tv's, mp3 players, dvd's, washing machines etc.
• automotive applications– engine management, anti-lock braking
• computer peripherals– hard disk controllers, routers, switches
• medical equipment– scanners, blood analysers
• telecoms– mobile phones
• aerospace – satellite control systems, avionics
![Page 29: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/29.jpg)
Some Characteristics
• Very simple to very complex applications • Often single application
– but concurrent operation• Could be real-time (hard and soft)• Program is normally stored in ROM – called
firmware – flash ROM commonly• Could be critical applications • Interfacing with other devices via peripherals• Require a range of development tools –
hardware and software• May use operating system (RTOS)
![Page 30: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/30.jpg)
Constraints
• Physical size• Weight• Power usage• Performance – throughput and/or response
time• Cost
![Page 31: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/31.jpg)
Resulting in -
• limited space• limited processing power
– 8-bit processor• limited memory RAM & ROM
– only Ks of memory not Ms• schemes to limit power consumption
– low power modes– sleep– standby
• determinism – needed for RT guarantee
![Page 32: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/32.jpg)
Microprocessor vs Microcontroller vs Soc vs FPGA
• uP – General purpose– external memory and peripherals– connected by a memory bus
• uC– uP integrated with memory and peripheral
interfaces– families of uC all with same uP but varying
amounts and types of memory and interfaces.
![Page 33: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/33.jpg)
1-33
Microcontroller (µC) vs. Microprocessor (µP)• µC intended as a single chip solution, µP requires
external support chips (memory, peripheral interfaces etc.)
• µC has on-chip non-volatile memory for program storage, µP does not.
• µC has more interface functions on-chip (serial interfaces,Analog-to-Digital conversion, timers, etc.) than µP
• General purpose µPs are typically higher performance (clock speed, data width, instruction set, cache) than µCs
• However the division between some µPs and some µCs becoming increasingly blurred.
![Page 34: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/34.jpg)
FPGA/PLD• A field-programmable gate array is a semiconductor device
containing programmable logic components called "logic blocks", and programmable interconnects. Logic blocks can be programmed to perform the function of basic logic gates such as AND, and XOR, or more complex combinational functions such as decoders or simple mathematical functions. In most FPGAs, the logic blocks also include memory elements, which may be simple flip-flops or more complete blocks of memory
![Page 35: Embedded Systems](https://reader036.fdocuments.in/reader036/viewer/2022062309/56814cac550346895db9b458/html5/thumbnails/35.jpg)
Microprocessor vs Microcontroller vs SoC vs FPGA
• SoC – System on a chip• FPGA – Field
Programmable Gate Array
Microcontroller-based System-on-a-Chip
Core
Rest of FPGA contains standard
logic