+ All Categories
Home > Technology > Embedded systems in brief

Embedded systems in brief

Date post: 06-May-2015
Category:
Upload: krnathan
View: 6,989 times
Download: 0 times
Share this document with a friend
34
A Brief Introduction to Embedded Systems K. Raghunathan Chartered Engineer FIETE, MIE, MCSI, MISTE, MISTD. MIIMM Retd. Dy. Controller (R&D)
Transcript
Page 1: Embedded systems   in brief

A Brief Introduction to

Embedded Systems

K. RaghunathanChartered Engineer

FIETE, MIE, MCSI, MISTE, MISTD. MIIMM

Retd. Dy. Controller (R&D)

Page 2: Embedded systems   in brief

Embedded SystemsEmbedded Systems

• Overview of Embedded SystemsOverview of Embedded Systems

• Embedded System DesignEmbedded System Design

• Embedded System DesignerEmbedded System Designer

• More KnowledgeMore Knowledge

Page 3: Embedded systems   in brief

Overview of Embedded SystemsOverview of Embedded Systems

• What is an Embedded System ?What is an Embedded System ?

• Examples of Embedded SystemsExamples of Embedded Systems

• Why an “Embedded” System ?Why an “Embedded” System ?

• Salient FeaturesSalient Features

Page 4: Embedded systems   in brief

What is an Embedded System What is an Embedded System ??

• A computer system, fitted as part of some A computer system, fitted as part of some Equipment which is not a computerEquipment which is not a computer

• The whole system is not called a computer - it The whole system is not called a computer - it is known by the name of the Equipment is known by the name of the Equipment

• The embedded computer system controls the The embedded computer system controls the equipment in which it is embeddedequipment in which it is embedded

• Performs only specific tasks, often in real-timePerforms only specific tasks, often in real-time

Page 5: Embedded systems   in brief

Examples of Embedded SystemsExamples of Embedded Systems

• Network PrinterNetwork PrinterNetwork Interfacing & RoutingNetwork Interfacing & Routing

• Handheld Barcode ScannerHandheld Barcode ScannerConversion of Image to NumberConversion of Image to Number

• Mobile Phone with Internet ConnectivityMobile Phone with Internet ConnectivityBrowsing, eMail, FTP, Chat etcBrowsing, eMail, FTP, Chat etc

Page 6: Embedded systems   in brief

Examples of Embedded SystemsExamples of Embedded Systems

• CNC Machines & RobotsCNC Machines & RobotsControl the Sequence of OperationsControl the Sequence of Operations• SatellitesSatellitesRemote-sensing, Data-formatting, Remote-sensing, Data-formatting,

Communication, Navigation Control etcCommunication, Navigation Control etc• Televison SetTelevison SetDigital on-screen display of menu, channel Digital on-screen display of menu, channel

number, subtitles etcnumber, subtitles etc• Washing MachinesWashing MachinesControl of Sequence of Operations, Motor Control of Sequence of Operations, Motor

speed & duration control etcspeed & duration control etc

Page 7: Embedded systems   in brief

Why “embed” a Computer ?Why “embed” a Computer ?

• Computers are more suitable for Computers are more suitable for

ControlControlData ProcessingData ProcessingDecision MakingDecision MakingDigital CommunicationDigital Communication

Page 8: Embedded systems   in brief

Why “embed” a Computer ?Why “embed” a Computer ?

• Main Equipment is Larger & Costlier; Main Equipment is Larger & Costlier; computer is smaller, cheaper & used for computer is smaller, cheaper & used for only some specific purposeonly some specific purpose

• Using General-purpose computer Using General-purpose computer involves additional space & wiring. It is involves additional space & wiring. It is better to fit a small computer inside [or better to fit a small computer inside [or onto] the equipment itselfonto] the equipment itself

• often, main equipment itself may have often, main equipment itself may have to be small & portableto be small & portable

Page 9: Embedded systems   in brief

Salient Features of Embedded Salient Features of Embedded SystemsSystems

• Purpose & FunctionalityPurpose & FunctionalitySpecific Purpose; Limited FunctionalitySpecific Purpose; Limited Functionality• SizeSizeSmall enough to fit into/onto the main eqptSmall enough to fit into/onto the main eqpt• Real-TimeReal-TimeResponse within a specified Time-limitResponse within a specified Time-limit• I/O DevicesI/O DevicesVery Few; only a set of Sensors & ActivatorsVery Few; only a set of Sensors & ActivatorsConspicuous absence of conventional devices Conspicuous absence of conventional devices

like keyboard, CRT screen, hard disk etclike keyboard, CRT screen, hard disk etc

Page 10: Embedded systems   in brief

Embedded SystemsEmbedded Systems

• Overview of Embedded SystemsOverview of Embedded Systems

• Embedded System DesignEmbedded System Design

• Embedded System DesignerEmbedded System Designer

• More KnowledgeMore Knowledge

Page 11: Embedded systems   in brief

Embedded System DesignEmbedded System Design

• Selection of CPU & other HardwareSelection of CPU & other Hardware• Design of the Hardware SystemDesign of the Hardware System• Design & Development of SoftwareDesign & Development of Software• Testing & DebuggingTesting & Debugging• Loading the Software into the Loading the Software into the

Embedded System’s MemoryEmbedded System’s Memory

Page 12: Embedded systems   in brief

Selection of CPU & other Selection of CPU & other HardwareHardware

• CPUCPUSpeedSpeedInstruction SetInstruction SetMultitasking CapabilitiesMultitasking CapabilitiesInterrupt- handling CapabilitiesInterrupt- handling CapabilitiesPower ConsumptionPower ConsumptionHeat DissipationHeat Dissipation

Page 13: Embedded systems   in brief

MemoryMemory

• Non-VolatileNon-Volatile [ROM/PROM/EPROM] [ROM/PROM/EPROM]Code Code Fixed Data Fixed Data

Look-Up Tables, Constants, Initial Values Look-Up Tables, Constants, Initial Values of Variablesof Variables

• VolatileVolatile [RAM] [RAM] Variable Data Variable Data temporary datatemporary data

Page 14: Embedded systems   in brief

I/O DevicesI/O Devices

• Depends on : Depends on : Main Equipment & its purpose/functionsMain Equipment & its purpose/functionsPurpose to be served by the embedded Purpose to be served by the embedded

systemsystem

• May also need :May also need :HW & SW Interfaces or Drivers for the i/o HW & SW Interfaces or Drivers for the i/o

devicesdevices

Page 15: Embedded systems   in brief

Software DevelopmentSoftware Development

• Software has to be developed on some Software has to be developed on some other convenient computer system other convenient computer system [[Host SystemHost System]]

• The Code obtained in the Host system The Code obtained in the Host system should run in the Embedded System should run in the Embedded System [[Target SystemTarget System] ]

Page 16: Embedded systems   in brief

Software DevelopmentSoftware Development

• HW configuration of Host & Target will HW configuration of Host & Target will be different be different

• Should use Cross Compilers & Cross Should use Cross Compilers & Cross Assemblers on the Host, to get Target Assemblers on the Host, to get Target System’s Machine Code as the OutputSystem’s Machine Code as the Output

• Often, an Often, an RTOSRTOS [Real Time Operating System] [Real Time Operating System] is usedis used

Page 17: Embedded systems   in brief

Software DevelopmentSoftware Development

• Usually the SW is developed as a set of Usually the SW is developed as a set of TasksTasks [functions/procedures] & [functions/procedures] & ISRsISRs [Interrupt Service Routines][Interrupt Service Routines]

• Tasks perform some specific actions Tasks perform some specific actions most likely, some of the primary functions most likely, some of the primary functions

of the Main eqptof the Main eqpt• ISRs interrupt running Tasks based on ISRs interrupt running Tasks based on

certain events [inputs from sensors] certain events [inputs from sensors] to take appropriate action for those inputsto take appropriate action for those inputsto update data for the tasksto update data for the tasks

Page 18: Embedded systems   in brief

Testing & DebuggingTesting & Debugging

• Often not possible to test the program Often not possible to test the program by actually loading it into the target by actually loading it into the target system & running it in the Main eqptsystem & running it in the Main eqpt

• So, code has to be tested in the Host So, code has to be tested in the Host system itselfsystem itself

• Need Need EmulatorsEmulators which can emulate the which can emulate the embedded system’s CPUembedded system’s CPU

Page 19: Embedded systems   in brief

Testing & DebuggingTesting & Debugging

• DriversDrivers & & ScaffoldsScaffolds to be written to be written to simulate actual inputs & behaviour of to simulate actual inputs & behaviour of

the main eqptthe main eqpt

• Test Data Test Data normally expected range of values normally expected range of values out-of-range valuesout-of-range valueserroneous dataerroneous data

Page 20: Embedded systems   in brief

Loading SW in the Embedded Loading SW in the Embedded System’s MemorySystem’s Memory

• No operating system in the embedded No operating system in the embedded systemsystem

• Code generated on the Host system Code generated on the Host system should include start-up [initialising] should include start-up [initialising] routines for the target systemroutines for the target system

• Use of RTOS ensures automatic Use of RTOS ensures automatic addition of start-up codeaddition of start-up code

Page 21: Embedded systems   in brief

Loading SW in the Embedded Loading SW in the Embedded System’s MemorySystem’s Memory

• Special programs calledSpecial programs called LocatorsLocators enable enable developer to specify which blocks of code should developer to specify which blocks of code should be loaded at what addresses in the embedded be loaded at what addresses in the embedded system’s memorysystem’s memory

• Output of Locator is in the form of a file stored in Output of Locator is in the form of a file stored in the Host; this file will have a special format [not the Host; this file will have a special format [not the standard executable file you get in desktop the standard executable file you get in desktop systems]systems]

• Special programs called Special programs called LoadersLoadersunderstand the Locator’s file formatunderstand the Locator’s file formatload the code in embedded systems memoryload the code in embedded systems memory

Page 22: Embedded systems   in brief

Tools for Embedded Software Tools for Embedded Software DevelopmentDevelopment

• Cross CompilersCross Compilers• Cross AssemblersCross Assemblers• LocatorsLocators

• RTOSRTOS

• LoadersLoaders

Page 23: Embedded systems   in brief

RTOSRTOS

• Easier Development EnvironmentEasier Development Environment• Produce Machine Code of Target CPUProduce Machine Code of Target CPU• Automatic inclusion of Start-up CodeAutomatic inclusion of Start-up Code• Many RTOSes availableMany RTOSes availableiRMX86, uC-OS, VxWorks, pSOS, QNX etciRMX86, uC-OS, VxWorks, pSOS, QNX etc• Many of them written in C/C++Many of them written in C/C++allow us to develop programs using C/C+allow us to develop programs using C/C+

++

Page 24: Embedded systems   in brief

RTOSRTOS

• Main FeaturesMain Features

Multi-taskingMulti-taskingTask Scheduling PoliciesTask Scheduling PoliciesMutual Exclusion using SemaphoresMutual Exclusion using SemaphoresMessage Queues, Mailboxes and/or Pipes Message Queues, Mailboxes and/or Pipes

for Inter-Process Communicationfor Inter-Process Communication

Page 25: Embedded systems   in brief

Hardware Design ConsiderationsHardware Design Considerations

• Physical SizePhysical SizeSmallSmall• Power ConsumptionPower ConsumptionLow Low • Heat DissipationHeat DissipationVery LowVery Low• CostCostLow cost, without compromising Quality Low cost, without compromising Quality

& Performance& Performance

Page 26: Embedded systems   in brief

Software Design Software Design ConsiderationsConsiderations

• Real Time ResponseReal Time ResponseNo part of the code can take unpredictable No part of the code can take unpredictable

execution timeexecution timeISRs must be kept shortISRs must be kept shortNo Dead-Locks or Circular WaitsNo Dead-Locks or Circular Waits• ReliabilityReliabilityShould run without Human InterventionShould run without Human InterventionShould NOT CrashShould NOT CrashRobust & Fault TolerantRobust & Fault TolerantException Handling without Malfunction or Exception Handling without Malfunction or

unpredictable behaviourunpredictable behaviour

Page 27: Embedded systems   in brief

Embedded SystemsEmbedded Systems

• Overview of Embedded SystemsOverview of Embedded Systems

• Embedded System DesignEmbedded System Design

• Embedded System DesignerEmbedded System Designer

• More KnowledgeMore Knowledge

Page 28: Embedded systems   in brief

Embedded System DesignerEmbedded System Designer

• SpecialistSpecialist• Knowledge of Theory & Practical Knowledge of Theory & Practical

Techniques of both Hardware & SoftwareTechniques of both Hardware & Software• Strong Foundation inStrong Foundation inDigital Logic Ckts, ADCs, DACs, PLCs, Digital Logic Ckts, ADCs, DACs, PLCs,

FPGAsFPGAsMicrocontrollers & Interfacing TechniquesMicrocontrollers & Interfacing TechniquesAssembly Language ProgrammingAssembly Language ProgrammingHigh Level Language Programming [C/C++]High Level Language Programming [C/C++]Writing ISRsWriting ISRsRTOSRTOS

Page 29: Embedded systems   in brief

Job OppurtunitiesJob Oppurtunities

• EmployersEmployersManufacturers ofManufacturers of

Telecom ProductsTelecom ProductsAutomatons & Industrial RobotsAutomatons & Industrial RobotsAutomated Production & Diagnostic EqptAutomated Production & Diagnostic Eqpt

Software Development FirmsSoftware Development Firms

• RemunerationRemunerationLucrativeLucrative

Page 30: Embedded systems   in brief

Embedded SystemsEmbedded Systems

• Overview of Embedded SystemsOverview of Embedded Systems

• Embedded System DesignEmbedded System Design

• Embedded System DesignerEmbedded System Designer

• More KnowledgeMore Knowledge

Page 31: Embedded systems   in brief

For More KnowledgeFor More Knowledge

• BooksBooks

• Hands-on TrainingHands-on Training

Page 32: Embedded systems   in brief

Books on Embedded SystemsBooks on Embedded Systems

• An Embedded System PrimerAn Embedded System PrimerDavid E SimonDavid E Simon• Embedded System DesignEmbedded System DesignSteve HeathSteve Heath• The Art of Programming Embedded SystemsThe Art of Programming Embedded SystemsJack G GanssleJack G Ganssle• Fundamentals of Embedded Software - Where C and Fundamentals of Embedded Software - Where C and

Assembly MeetAssembly MeetDaniel W LewisDaniel W Lewis• Real Time Systems & Programming LanguagesReal Time Systems & Programming LanguagesAlan Burns & Andy WellingsAlan Burns & Andy Wellings• Real Time ProgrammingReal Time ProgrammingMoore GrehanMoore Grehan

Page 33: Embedded systems   in brief

Training on Embedded Training on Embedded SystemsSystems

• TCIL, & their Branches & FranchiseesTCIL, & their Branches & Franchisees Telecom Consultants India LtdTelecom Consultants India Ltd formed by DoTformed by DoT

• ECIL, HyderabadECIL, HyderabadElectronic Corporation of India LtdElectronic Corporation of India Ltd

• Beware !Beware !• Many institutes boast of embedded system Many institutes boast of embedded system

trainingtrainingteach only soldering & assembling using teach only soldering & assembling using

kitskitsdo not teach theory or designdo not teach theory or design

Page 34: Embedded systems   in brief

Thank You !Thank You !


Recommended