Published on March 5, 2014
Introduction to Embedded System (IES) Team Embedded Emertxe Information Technologies
Pass on the ball 1. Let us get the ball rolling 2. Introduce yourself 3. Expectations from this program
Introduction to Embedded System
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”
ES - Examples Examples – Automotive, Satellite communication, Consumer electronics, Medical, Imaging, Robotics etc..
ES - Classifications ü Embedded systems can be classified into four different categories: • • Real time Embedded System – Provides real time guarantee in terms of response and predictability • Network appliances – High focus on packet processing • ü Stand alone Embedded System – Performs a single and specific functionality 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”
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
ES – Design metrics ü Time to Prototype ü Power ü Performance & Correctness ü Size ü NRE ü Maintainability & Flexibility ü Safety ü Unit Cost ü Time to Market
ES - Challenges ü Efficient Inputs/Outputs ü Embedding an OS ü Code optimization ü Testing and debugging
Embedded System - Components
ES - Components
CPU – μC | μP ü The “Brain” of the system ü Implementation can be: • • ü ü Digital Signal Processors (DSP) • ü Universal 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!)
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:
Memory - Space
Components… FPGA and ASIC – Taping out custom chips for optimization purpose
HW - Processors and Controllers
Evolution of processors
Micro processor v/s Micro controller ü ü ü All separate components More flexible More design complexity ü ü ü All components in a single chip Less flexible Less design complexity
Choosing a Microprocessor: Choice points: Classifications: ü Application ü Bit-depth ü Performance ü Architecture ü Price ü Use based: • ü Availability ü Availability of Tools ü Special Capabilities GPP – Proper & Micro controllers • ASP – DSP & ASIC
Von Neumann & Harvard Architecture Shared signals and memory for code and data Physically separate signals and storage for code and data
RISC v/s CISC RISC: CISC: Advantages: Advantages: ü Moved complexity from HW to SW ü Moved complexity from SW to HW ü Provided a single-chip solution ü Compact code ü Better usage of chip area ü Ease of compiler design ü Better speed ü Easier to debug ü Feasibility of pipe-lining ü Increased design errors ü Longer design time • Single cycle execution stages • Uniform Instruction format Disadvantages: ü Greater burden on SW Disadvantages: ü Performance tuning unsuccessful ü High complexity ü Time to market increases
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
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
HW Architecture HW board with interfacing
SW – Development, Architecture, Environment
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.
Architectures ü Super loop ü Interrupt controlled ü Co-operative multi tasking ü Pre-emptive multi-tasking ü Micro and Monolithic Kernel
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
IDE – Pictorially…
Interrupt - Basics ü An interrupt is a communication process set up in a microprocessor or microcontroller in which: ü ü The MPU acknowledges the request ü Attends to the request ü ü An internal or external device requests the MPU to stop the processing Goes back to processing where it was interrupted Interrupt sources ü ü Timers ü ü External Peripherals Interrupt v/s Polling ü Loss of Events ü Response ü Power Management
Interrupts - Classification
Interrupts - Handling
Interrupt Service Routine ü Similar to a subroutine ü Attends to the request of an interrupting source ü ü Should save register contents that may be affected by the code in the ISR ü ü Clears the interrupt flag Must be terminated with the instruction RETFIE When an interrupt occurs, the MPU: ü ü Disables global interrupt enable ü ü Completes the instruction being executed Places the address from the program counter on the stack Return from interrupt
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
Embedded Technology is now in its prime and the wealth of knowledge available is mindblowing. However, most embedded systems engineers have a common complaint.
Lee and Seshia, Introduction to Embedded Systems - A Cyber-Physical Systems Approach - Second Edition. This book is intended for students at the advanced ...
David Russell - Introduction to Embedded Systems: Using ANSI C and the Arduino Development Environment jetzt kaufen. ISBN: 9781608454983, Fremdsprachige ...
1 - 2 Swiss Federal Institute of Technology Computer Engineering and Networks Laboratory Contents of Lectures (Lothar Thiele) 1. Introduction to Embedded ...
Introduction to Embedded Systems Course Information and Syllabus Please read the cautionary note about scheduling your lab activities and plan course ...
1.0 Introduction. An embedded system combines mechanical, electrical, and chemical components along with a computer, hidden inside, to perform a single ...
Introduction to Embedded Systems ... Many electrical and computer engineering projects involve some kind of embedded system in which ... 1 Introduction ...
Bücher bei Weltbild: Jetzt Introduction to Embedded System Design Using Field Programmable Gate Arrays portofrei bestellen bei Weltbild, Ihrem Bücher ...
eBook Shop: Introduction to Embedded System Design Using Field Programmable Gate Arrays als Download. Jetzt eBook herunterladen & mit Ihrem Tablet oder ...
Embedded.com is a leading source for reliable Embedded Systems development articles, tech papers, webinars, courses, products, and tools. Visit Embedded ...