Embedded Systems - A Brief Introduction


Published on

Published in: Business, Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Embedded Systems - A Brief Introduction

  1. 1. A Brief Introduction toEmbedded SystemsK. RaghunathanChartered EngineerFIETE, MIE, MCSI, MISTE, MISTD. MIIMMRetd. Dy. Controller (R&D) [MoD]
  2. 2. Embedded Systems• Overview of Embedded Systems• Embedded System Design• Embedded System Designer• More Knowledge
  3. 3. Overview of Embedded Systems• What is an Embedded System ?• Examples of Embedded Systems• Why an “Embedded” System ?• Salient Features
  4. 4. What is an Embedded System ?• A computer system, fitted as part of someEquipment which is not a computer• The whole system is not called a computer - it isknown by the name of the Equipment• The embedded computer system controls theequipment in which it is embedded• Performs only specific tasks, often in real-time
  5. 5. Examples of Embedded Systems• Network Printer– Network Interfacing & Routing• Handheld Barcode Scanner– Conversion of Image to Number• Mobile Phone with Internet Connectivity– Browsing, eMail, FTP, Chat etc
  6. 6. Examples of Embedded Systems• CNC Machines & Robots– Control the Sequence of Operations• Satellites– Remote-sensing, Data-formatting,Communication, Navigation Control etc• Televison Set– Digital on-screen display of menu, channelnumber, subtitles etc• Washing Machines– Control of Sequence of Operations, Motorspeed & duration control etc
  7. 7. Why “embed” a Computer ?• Computers are more suitable for– Control– Data Processing– Decision Making– Digital Communication
  8. 8. Why “embed” a Computer ?• Main Equipment is Larger & Costlier;computer is smaller, cheaper & used foronly some specific purpose• Using General-purpose computer involvesadditional space & wiring. It is better to fit asmall computer inside [or onto] theequipment itself• often, main equipment itself may have tobe small & portable
  9. 9. Salient Features of EmbeddedSystems• Purpose & Functionality– Specific Purpose; Limited Functionality• Size– Small enough to fit into/onto the main eqpt• Real-Time– Response within a specified Time-limit• I/O Devices– Very Few; often, only Sensors & Activators– Conspicuous absence of conventional deviceslike keyboard, CRT screen, hard disk etc
  10. 10. Embedded Systems• Overview of Embedded Systems √• Embedded System Design• Embedded System Designer• More Knowledge
  11. 11. Embedded System Design• Selection of CPU & other Hardware• Design of the Hardware System• Design & Development of Software• Testing & Debugging• Loading the Software into the EmbeddedSystem’s Memory
  12. 12. Selection of CPU & other Hardware• CPU– Speed– Instruction Set– Multitasking Capabilities– Interrupt- handling Capabilities– Power Consumption– Heat Dissipation
  13. 13. Memory• Non-Volatile [ROM/PROM/EPROM]– Code– Fixed Data• Look-Up Tables, Constants, Initial Values ofVariables• Volatile [RAM]– Variable Data– temporary data
  14. 14. I/O Devices• Depends on :– Main Equipment & its purpose/functions– Purpose to be served by the embeddedsystem• May also need :– HW & SW Interfaces or Drivers for the i/odevices
  15. 15. Software Development• Software has to be developed on someother convenient computer system [HostSystem]• The Code obtained in the Host systemshould run in the Embedded System[Target System]
  16. 16. Software Development• HW configuration of Host & Target will bedifferent• Should use Cross Compilers & CrossAssemblers on the Host, to get Target System’sMachine Code as the Output• Often, an RTOS [Real Time Operating System] isused
  17. 17. Software Development• Usually the SW is developed as a set ofTasks [functions/procedures] & ISRs[Interrupt Service Routines]• Tasks perform some specific actions– most likely, some of the primary functions ofthe Main eqpt• ISRs interrupt running Tasks based oncertain events [inputs from sensors]– to take appropriate action for those inputs– to update data for the tasks
  18. 18. Testing & Debugging• Often not possible to test the program byactually loading it into the target system &running it in the Main eqpt• So, code has to be tested in the Hostsystem itself• Need Emulators which can emulate theembedded system’s CPU
  19. 19. Testing & Debugging• Drivers & Scaffolds to be written– to simulate actual inputs & behaviour of themain eqpt• Test Data– normally expected range of values– out-of-range values– erroneous data
  20. 20. Loading SW in the EmbeddedSystem’s Memory• No operating system in the embeddedsystem• Code generated on the Host systemshould include start-up [initialising] routinesfor the target system• Use of RTOS ensures automatic additionof start-up code
  21. 21. Loading SW in the EmbeddedSystem’s Memory• Special programs called Locators enabledeveloper to specify which blocks of code shouldbe loaded at what addresses in the embeddedsystem’s memory• Output of Locator is in the form of a file stored inthe Host; this file will have a special format [notthe standard executable file you get in desktopsystems]• Special programs called Loaders– understand the Locator’s file format– load the code in embedded systems memory
  22. 22. Tools for Embedded SoftwareDevelopment• Cross Compilers• Cross Assemblers• Locators• RTOS• Loaders
  23. 23. RTOS• Easier Development Environment• Produce Machine Code of Target CPU• Automatic inclusion of code for Start-up &system Initialisation & other necessaryfunctionalities like memory management,process scheduling etc• Many RTOSes available– iRMX86, uC-OS, VxWorks, pSOS, QNX etc• Many of them written in C/C++– allow us to develop programs using C/C++
  24. 24. RTOS• Main Features– Multi-tasking– Task Scheduling Policies– Mutual Exclusion using Semaphores– Message Queues, Mailboxes and/or Pipes forInter-Process Communication
  25. 25. Hardware Design Considerations• Physical Size– Small• Power Consumption– Low• Heat Dissipation– Very Low• Cost– Low cost, without compromising Quality &Performance
  26. 26. Software Design Considerations• Real Time Response– No part of the code can take unpredictableexecution time– ISRs must be kept short– No Dead-Locks or Circular Waits• Reliability– Should run without Human Intervention– Should NOT Crash– Robust & Fault Tolerant– Exception Handling without Malfunction orunpredictable behaviour
  27. 27. Embedded Systems• Overview of Embedded Systems √• Embedded System Design √• Embedded System Designer• More Knowledge
  28. 28. Embedded System Designer• Specialist• Knowledge of Theory & PracticalTechniques of both Hardware & Software• Strong Foundation in– Digital Logic Ckts, ADCs, DACs, PLCs, FPGAs– Microcontrollers & Interfacing Techniques– Assembly Language Programming– High Level Language Programming [C/C++]– Writing ISRs– RTOS
  29. 29. Job Oppurtunities• Employers– Manufacturers of• Telecom Products• Automatons & Industrial Robots• Automated Production & Diagnostic Eqpt– Software Development Firms• Remuneration– Lucrative
  30. 30. Embedded Systems• Overview of Embedded Systems √• Embedded System Design √• Embedded System Designer √• More Knowledge
  31. 31. For More Knowledge• Books• Hands-on Training
  32. 32. Books on Embedded Systems• An Embedded System Primer– David E Simon• Embedded System Design– Steve Heath• The Art of Programming Embedded Systems– Jack G Ganssle• Fundamentals of Embedded Software - Where C andAssembly Meet– Daniel W Lewis• Real Time Systems & Programming Languages– Alan Burns & Andy Wellings• Real Time Programming– Moore Grehan
  33. 33. Training on Embedded Systems• TCIL, & their Branches & Franchisees– Telecom Consultants India Ltd– formed by DoT• ECIL, Hyderabad– Electronic Corporation of India Ltd• Many institutes boast of embedded systemtraining– teach only soldering & assembling, using kits– do not teach theory or design principles
  34. 34. Thank You !&Best of Luck !