introduction to embedded system
DESCRIPTION
An introductory presentation to Embedded Systems. Ideal for beginners to get started with Embedded fundamentals.TRANSCRIPT
![Page 1: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/1.jpg)
Team Emertxe
Introduction to Embedded System (IES)
![Page 2: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/2.jpg)
Pass on the ball
1)Let us get the ball rolling
2)Introduce yourself
3)Expectations from this program
![Page 3: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/3.jpg)
Course span-out
![Page 4: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/4.jpg)
Introduction to Embedded System
![Page 5: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/5.jpg)
Let us ponder…
● What do you understand as Embedded System?
● Name few examples of Embedded System from our daily usage
● How different they are from a general purpose system (GPS)?
● What difference can be there between multiple Embedded Systems?
“Any Hardware System which is intended to do a specific task can be called as an Embedded System”
![Page 6: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/6.jpg)
ES - Examples
Examples – Automotive, Satellite communication, Consumer electronics, Medical, Imaging, Robotics etc..
![Page 7: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/7.jpg)
ES - Classifications
● Embedded systems can be classified into four different categories:– Stand alone Embedded System – Performs a single and specific functionality
– Real time Embedded System – Provides real time guarantee in terms of response and predictability
– Network appliances – High focus on packet processing
– Mobile devices – Hand held devices
● Embedded systems – “Choice-points” – Embedded Systems type and expectations drastically vary
– In order to meet customer needs specific “Choice-points” to be decided
– These are popularly known as “Design parameters”
![Page 8: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/8.jpg)
ES – Choice points
● Let us take an example of Mobile Vs. Automotive Embedded device
● Try to compare various choice points
● For each choice made corresponding compromise factor to be considered
● Optimizing every other parameter is not a possible option
![Page 9: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/9.jpg)
ES – Design metrics
● Time to Prototype
● Power
● Performance & Correctness
● Size
● NRE
● Maintainability & Flexibility
● Safety
● Unit Cost
● Time to Market
![Page 10: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/10.jpg)
ES - Challenges
● Efficient Inputs/Outputs
● Embedding an OS
● Code optimization
● Testing and debugging
![Page 11: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/11.jpg)
Embedded System Components
![Page 12: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/12.jpg)
ES - Components
![Page 13: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/13.jpg)
CPU – μC | μP
● The “Brain” of the system
● Implementation can be:
– Universal
– Digital Signal Processors (DSP)
– System On a Chip (SoC)
● “On-the board” v/s “On-the-chip”
● ASIC/SoC tape-out process provides lot of advantages than using Universal processors
● However it requires huge up-front investment (in terms of millions!)
![Page 14: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/14.jpg)
Memory
● Various types of memory exist with specific characteristics
● Based on Volatility, Write-ability, Cost and Speed - Parameters to compare
● Higher level group/category is provided as follows:
![Page 15: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/15.jpg)
Memory - compare!
![Page 16: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/16.jpg)
Memory - Space
![Page 17: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/17.jpg)
Components…
FPGA and ASIC – Taping out custom chips for optimization purpose
![Page 18: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/18.jpg)
HW – Processors and Controllers
![Page 19: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/19.jpg)
Evolution of processors
![Page 20: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/20.jpg)
Micro processor v/sMicro controller
ü All separate componentsü More flexibleü More design complexity
ü All components in a single chipü Less flexibleü Less design complexity
![Page 21: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/21.jpg)
Choosing a Micro-processor:
Choice points:
ü Application
ü Performance
ü Price
ü Availability
ü Availability of Tools
ü Special Capabilities
Classifications:
ü Bit-depth
ü Architecture
ü Use based:• GPP – Proper & Micro controllers• ASP – DSP & ASIC
![Page 22: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/22.jpg)
Von Neumann & Harvard Architecture
Shared signals and memory for code and data
Physically separate signals and storage for code and data
![Page 23: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/23.jpg)
RISC v/s CISC
RISC:
Advantages:ü Moved complexity from HW to SWü Provided a single-chip solutionü Better usage of chip areaü Better speedü Feasibility of pipe-lining
• Single cycle execution stages• Uniform Instruction format
Disadvantages:ü Greater burden on SW
CISC:
Advantages:ü Moved complexity from SW to HWü Compact codeü Ease of compiler designü Easier to debug
Disadvantages:ü Increased design errorsü Longer design timeü Performance tuning unsuccessfulü High complexityü Time to market increases
![Page 24: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/24.jpg)
Interfacing
● Processor has to interface with memory and various I/O devices
● Bus protocols are used for communication
● Consisting of:
– Address bus
– Data bus
– Control lines:
● CS
● RD
● WR
![Page 25: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/25.jpg)
Peripheral Interfacing
● Processor has to interface with memory and various I/O devices
● Bus protocols are used for communication
● Consisting of:
– Address bus
– Data bus
– Control lines:
● CS
● RD
● WR
![Page 26: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/26.jpg)
HW Architecture
HW board with interfacing
![Page 27: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/27.jpg)
SW – Development, Architecture, Environment
![Page 28: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/28.jpg)
SW development
In Embedded Systems, SW and HW development happens in a combined manner. SW development details and life cycle are covered in SDLC topic in
detail.
![Page 29: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/29.jpg)
Architectures
● Super loop
● Interrupt controlled
● Co-operative multi tasking
● Pre-emptive multi-tasking
● Micro and Monolithic Kernel
![Page 30: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/30.jpg)
Dev Environment
● Embedded development environment is quite different and relatively complex than application development
● The simple reason the embedded software developed in a ‘host’ machine and executed on a ‘target’ which makes the compilation and debugging process quite challenging
● Popularly known as Integrated Development Environment (IDE), this environment consist of the following key candidates:
– Editor – For scripting Embedded program
– Configuration
– Tool chain – Cross compiler, linker and associated tools
– Target download and debug environment – Installation and test
![Page 31: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/31.jpg)
IDE – Pictorially…
![Page 32: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/32.jpg)
Interrupts
![Page 33: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/33.jpg)
Interrupt - Basics
● An interrupt is a communication process set up in a microprocessor or microcontroller in which:
– An internal or external device requests the MPU to stop the processing
– The MPU acknowledges the request
– Attends to the request
– Goes back to processing where it was interrupted
● Interrupt sources
– External
– Timers
– Peripherals
● Interrupt v/s Polling
– Loss of Events
– Response
– Power Management
![Page 34: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/34.jpg)
Interrupts - Classification
![Page 35: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/35.jpg)
Interrupts - Handling
![Page 36: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/36.jpg)
Interrupt Service Routine
● Similar to a subroutine
● Attends to the request of an interrupting source– Clears the interrupt flag
– Should save register contents that may be affected by the code in the ISR
– Must be terminated with the instruction RETFIE
● When an interrupt occurs, the MPU:– Completes the instruction being executed
– Disables global interrupt enable
– Places the address from the program counter on the stack
● Return from interrupt
![Page 37: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/37.jpg)
Interrupt Latency
● Latency is determined by:
– Instruction time (how long is the longest)
– How much of the context must be saved
– How much of the context must be restored
– The effort to implement priority scheme
– Time spend executing protected code
![Page 38: Introduction to Embedded System](https://reader033.vdocuments.site/reader033/viewer/2022051322/54625f7caf7959422a8b4d1b/html5/thumbnails/38.jpg)
Thank You