Embedded Systems - Brief Intro

download Embedded Systems - Brief Intro

of 34

Transcript of Embedded Systems - Brief Intro

  • 8/3/2019 Embedded Systems - Brief Intro

    1/34

    K Raghu Nathan 1

    A Brief Introduction to

    Embedded Systems

    K. RaghunathanChartered Engineer

    FIETE, MIE, MCSI, MISTE, MISTD. MIIMM

    Retd. Dy. Controller (R&D)

  • 8/3/2019 Embedded Systems - Brief Intro

    2/34

    K Raghu Nathan 2

    Embedded Systems

    Overview of Embedded Systems

    Embedded System Design

    Embedded System Designer

    More Knowledge

  • 8/3/2019 Embedded Systems - Brief Intro

    3/34

    K Raghu Nathan 3

    Overview of Embedded Systems

    What is an Embedded System ?

    Examples of Embedded Systems

    Why an Embedded System ?

    Salient Features

  • 8/3/2019 Embedded Systems - Brief Intro

    4/34

    K Raghu Nathan 4

    What is an Embedded System ?

    A computer system, fitted as part of some

    Equipment 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 the

    equipment in which it is embedded

    Performs only specific tasks, often in real-time

  • 8/3/2019 Embedded Systems - Brief Intro

    5/34

    K Raghu Nathan 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

  • 8/3/2019 Embedded Systems - Brief Intro

    6/34

    K Raghu Nathan 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, channel

    number, subtitles etc Washing Machines Control of Sequence of Operations, Motor

    speed & duration control etc

  • 8/3/2019 Embedded Systems - Brief Intro

    7/34

    K Raghu Nathan 7

    Why embed a Computer ?

    Computers are more suitable for

    Control Data Processing Decision Making Digital Communication

  • 8/3/2019 Embedded Systems - Brief Intro

    8/34

    K Raghu Nathan 8

    Why embed a Computer ?

    Main Equipment is Larger & Costlier;

    computer is smaller, cheaper & used for

    only some specific purpose

    Using General-purpose computer involvesadditional space & wiring. It is better to fit a

    small computer inside [or onto] the

    equipment itself often, main equipment itself may have to

    be small & portable

  • 8/3/2019 Embedded Systems - Brief Intro

    9/34

    K Raghu Nathan 9

    Salient Features of Embedded Systems

    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; only a set of Sensors & Activators Conspicuous absence of conventional devices

    like keyboard, CRT screen, hard disk etc

  • 8/3/2019 Embedded Systems - Brief Intro

    10/34

    K Raghu Nathan 10

    Embedded Systems

    Overview of Embedded Systems

    Embedded System Design

    Embedded System Designer

    More Knowledge

  • 8/3/2019 Embedded Systems - Brief Intro

    11/34

    K Raghu Nathan 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 Embedded

    Systems Memory

  • 8/3/2019 Embedded Systems - Brief Intro

    12/34

    K Raghu Nathan 12

    Selection of CPU & other Hardware

    CPU Speed

    Instruction Set Multitasking Capabilities Interrupt- handling Capabilities Power Consumption

    Heat Dissipation

  • 8/3/2019 Embedded Systems - Brief Intro

    13/34

    K Raghu Nathan 13

    Memory

    Non-Volatile[ROM/PROM/EPROM] Code

    Fixed Data Look-Up Tables, Constants, Initial Values of

    Variables

    Volatile[RAM] Variable Data temporary data

  • 8/3/2019 Embedded Systems - Brief Intro

    14/34

    K Raghu Nathan 14

    I/O Devices

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

    system

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

    devices

  • 8/3/2019 Embedded Systems - Brief Intro

    15/34

    K Raghu Nathan 15

    Software Development

    Software has to be developed on some

    other convenient computer system [Host

    System]

    The Code obtained in the Host system

    should run in the Embedded System

    [Target System]

  • 8/3/2019 Embedded Systems - Brief Intro

    16/34

    K Raghu Nathan 16

    Software Development

    HW configuration of Host & Target will be

    different

    Should use Cross Compilers & CrossAssemblers on the Host, to get Target Systems

    Machine Code as the Output

    Often, an RTOS [Real Time Operating System] is

    used

  • 8/3/2019 Embedded Systems - Brief Intro

    17/34

    K Raghu Nathan 17

    Software Development

    Usually the SW is developed as a set of

    Tasks [functions/procedures] & ISRs

    [Interrupt Service Routines]

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

    the 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

  • 8/3/2019 Embedded Systems - Brief Intro

    18/34

    K Raghu Nathan 18

    Testing & Debugging

    Often not possible to test the program by

    actually 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 the

    embedded systems CPU

  • 8/3/2019 Embedded Systems - Brief Intro

    19/34

    K Raghu Nathan 19

    Testing & Debugging

    Drivers & Scaffolds to be written to simulate actual inputs & behaviour of the

    main eqpt

    Test Data normally expected range of values

    out-of-range values erroneous data

  • 8/3/2019 Embedded Systems - Brief Intro

    20/34

    K Raghu Nathan 20

    Loading SW in the Embedded

    Systems Memory

    No operating system in the embedded

    system

    Code generated on the Host systemshould include start-up [initialising] routines

    for the target system Use of RTOS ensures automatic addition

    of start-up code

  • 8/3/2019 Embedded Systems - Brief Intro

    21/34

    K Raghu Nathan 21

    Loading SW in the Embedded

    Systems Memory

    Special programs calledLocatorsenabledeveloper to specify which blocks of code should

    be loaded at what addresses in the embedded

    systems memory Output of Locator is in the form of a file stored in

    the Host; this file will have a special format [not

    the standard executable file you get in desktop

    systems] Special programs called Loaders

    understand the Locators file format load the code in embedded systems memory

  • 8/3/2019 Embedded Systems - Brief Intro

    22/34

    K Raghu Nathan 22

    Tools for Embedded Software

    Development

    Cross Compilers Cross Assemblers

    Locators

    RTOS

    Loaders

  • 8/3/2019 Embedded Systems - Brief Intro

    23/34

    K Raghu Nathan 23

    RTOS

    Cross-Compiler with extra features Easier Development Environment Produce Machine Code of Target CPU

    Automatic inclusion of Start-up Code 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++

  • 8/3/2019 Embedded Systems - Brief Intro

    24/34

  • 8/3/2019 Embedded Systems - Brief Intro

    25/34

    K Raghu Nathan 25

    Hardware Design Considerations

    Physical Size Small

    Power Consumption Low

    Heat Dissipation Very Low

    Cost Low cost, without compromising Quality &

    Performance

  • 8/3/2019 Embedded Systems - Brief Intro

    26/34

    K Raghu Nathan 26

    Software Design Considerations

    Real Time Response No part of the code can take unpredictable

    execution 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 or

    unpredictable behaviour

  • 8/3/2019 Embedded Systems - Brief Intro

    27/34

    K Raghu Nathan 27

    Embedded Systems

    Overview of Embedded Systems

    Embedded System Design

    Embedded System Designer

    More Knowledge

  • 8/3/2019 Embedded Systems - Brief Intro

    28/34

    K Raghu Nathan 28

    Embedded System Designer

    Specialist Knowledge of Theory & Practical

    Techniques of both Hardware & Software

    Strong Foundation in Digital Logic Ckts, ADCs, DACs, PLCs, FPGAs Microcontrollers & Interfacing TechniquesAssembly Language Programming High Level Language Programming [C/C++] Writing ISRs RTOS

  • 8/3/2019 Embedded Systems - Brief Intro

    29/34

    K Raghu Nathan 29

    Job Oppurtunities

    Employers Manufacturers of

    Telecom Products

    Automatons & Industrial Robots Automated Production & Diagnostic Eqpt

    Software Development Firms

    Remuneration Lucrative

  • 8/3/2019 Embedded Systems - Brief Intro

    30/34

    K Raghu Nathan 30

    Embedded Systems

    Overview of Embedded Systems

    Embedded System Design

    Embedded System Designer

    More Knowledge

  • 8/3/2019 Embedded Systems - Brief Intro

    31/34

    K Raghu Nathan 31

    For More Knowledge

    Books

    Hands-on Training

  • 8/3/2019 Embedded Systems - Brief Intro

    32/34

    K Raghu Nathan 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 and

    Assembly Meet Daniel W Lewis

    Real Time Systems & Programming Languages Alan Burns & Andy Wellings Real Time Programming

    Moore Grehan

  • 8/3/2019 Embedded Systems - Brief Intro

    33/34

    K Raghu Nathan 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 system

    training teach only soldering & assembling using kits do not teach theory or design

  • 8/3/2019 Embedded Systems - Brief Intro

    34/34

    K Raghu Nathan 34

    Thank You !