modified new embedded systems

download modified new embedded systems

of 36

Transcript of modified new embedded systems

  • 8/7/2019 modified new embedded systems

    1/36

    Embedded System In Industrial ViewEmbedded System In Industrial View

    Accel IT Academy, Chennai.Accel IT Academy, Chennai.

  • 8/7/2019 modified new embedded systems

    2/36

    AgendaAgenda

    Embedded SystemsEmbedded Systems

    Domains of Embedded SystemsDomains of Embedded Systems

    Building Blocks of Embedded Systems through an applicationBuilding Blocks of Embedded Systems through an application

  • 8/7/2019 modified new embedded systems

    3/36

    Embedded SystemsEmbedded Systems

  • 8/7/2019 modified new embedded systems

    4/36

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

    ItIt isis thethe combinationcombination ofof hardwarehardware andand softwaresoftware forfor somesome controlcontrol

    specificspecific applicationapplication

    FormsForms aa componentcomponent ofof aa largerlarger systemsystem

    ExpectedExpected toto functionfunction withwith minimalminimal humanhuman interventionintervention

    IsIs aa realreal timetime systemsystem

  • 8/7/2019 modified new embedded systems

    5/36

    Do we need Embedded Systems?Do we need Embedded Systems?

    The world needs SYSTEMSThe world needs SYSTEMS

    PredictabilityPredictability -- Should respond in a predictable way to unpredictableShould respond in a predictable way to unpredictablesituationssituations

    Fault TolerantFault Tolerant -- Should continue operations despite the presence ofShould continue operations despite the presence ofhardware and/or software faultshardware and/or software faults

    SafetySafety -- Should avoid physical or economic damage to person &Should avoid physical or economic damage to person &propertyproperty

  • 8/7/2019 modified new embedded systems

    6/36

    Embedded SystemsEmbedded Systems --

    Building BlocksBuilding Blocks

    Micro Processors / Micro Controllers.Micro Processors / Micro Controllers.

    Advance C / Embedded C / Assembly Programming.Advance C / Embedded C / Assembly Programming.

    Bus Standards.Bus Standards.

    PCB Design.PCB Design.

    RTOS.RTOS.

    Networking.Networking.

    Device Drivers.Device Drivers.

  • 8/7/2019 modified new embedded systems

    7/36

    Micro Processors / Micro Controllers.Micro Processors / Micro Controllers.

    A microprocessor is a general purpose central processing unit ofA microprocessor is a general purpose central processing unit ofa digital computera digital computer

    A chip on a computerA chip on a computer

    E.G. Intel 8086, Intel 80186 , etcE.G. Intel 8086, Intel 80186 , etc

    A micro controller is a true computer on a chipA micro controller is a true computer on a chip

    A computer on a chip.A computer on a chip.

    E.G intel 8051, PIC 16F873E.G intel 8051, PIC 16F873

  • 8/7/2019 modified new embedded systems

    8/36

    Micro Processor versus Micro ControllerMicro Processor versus Micro Controller

    ALU

    ACC.

    REGISTERS

    PC

    INT

    SP

    CLK

    MICROPROCESSOR

    ALU

    REG.

    ACC.

    INT.RAM

    SP

    T/C

    INT.ROM

    I/O

    I/O

    INTCLK

    PC

    MICRO CONTROLLER

    UART

  • 8/7/2019 modified new embedded systems

    9/36

    Micro Processor versus Micro ControllerMicro Processor versus Micro Controller

    MicroprocessorMicroprocessor

    general purpose CPUgeneral purpose CPU

    a chip in a computera chip in a computer

    Are built on Von Neumann architecture.Are built on Von Neumann architecture. e.g. Intel x86/ Motorola 680x0 familiese.g. Intel x86/ Motorola 680x0 families

    MicroMicro--ControllerController

    true computer on a chip.true computer on a chip.

    Are built on Harvard architecture.Are built on Harvard architecture.

    e.g. Intel 8051, 80196/ Motorola 68HCxx familiese.g. Intel 8051, 80196/ Motorola 68HCxx families

  • 8/7/2019 modified new embedded systems

    10/36

    Controller & ProcessorController & Processor

    ApplicationApplication

    processor is for simple system designprocessor is for simple system design

    controller is for special purpose complex system designcontroller is for special purpose complex system design

    SpeedSpeed

    processor is used when speed of operation of system is notprocessor is used when speed of operation of system is not

    criticalcritical

    controller is used when speed is importantcontroller is used when speed is important

  • 8/7/2019 modified new embedded systems

    11/36

    Advance C / Embedded C / Assembly Programming.Advance C / Embedded C / Assembly Programming.

  • 8/7/2019 modified new embedded systems

    12/36

    Compiler versus Cross CompilerCompiler versus Cross Compiler

    NativeNative CompilerCompiler

    NativeNative compilercompiler isis aa programprogram whichwhich convertsconverts aa highhigh

    levellevel programmingprogramming languagelanguage toto machinemachine understandableunderstandable formatformat

    withwith respectrespect toto thethe targettarget processorprocessor availableavailable inin thethe systemsystem boxbox..

    CrossCross CompilerCompiler

    CrossCross compilercompiler isis aa programprogram whichwhich convertsconverts aa highhigh

    levellevel programmingprogramming languagelanguage toto machinemachine understandableunderstandable formatformatwithwith respectrespect toto thethe targettarget processorprocessor selectedselected inin thethe crosscross

    compilercompiler softwaresoftware..

  • 8/7/2019 modified new embedded systems

    13/36

    Assembly language programmingAssembly language programming

    AdvantageAdvantage

    Assembly Language programming is the efficient programmingAssembly Language programming is the efficient programming

    language for accessing the hardware.language for accessing the hardware.

    The assembly language op codes directly work on the targetThe assembly language op codes directly work on the target

    machine so it is faster in operationmachine so it is faster in operation

    DisadvantageDisadvantage

    Tough to understand and Program.Tough to understand and Program.

  • 8/7/2019 modified new embedded systems

    14/36

    Advance CAdvance C

    Ways of accessing the hardware through CWays of accessing the hardware through C

    Using runtime library functions, getch( ).Using runtime library functions, getch( ).

    Using ROMUsing ROM--BIOS functions.BIOS functions.

    Using DOS functions.Using DOS functions.

    Directly programming the hardwareDirectly programming the hardware

  • 8/7/2019 modified new embedded systems

    15/36

    Advance CAdvance C

    Direct reference to the hardwareDirect reference to the hardware

    One must have a detailed knowledge of the hardware one isOne must have a detailed knowledge of the hardware one is

    trying to program.trying to program.

    Program written for one hardware in one computer may not beProgram written for one hardware in one computer may not beportable to another computerportable to another computer

    Use of runtime library functionsUse of runtime library functions

    They work very slowly when compared to others.They work very slowly when compared to others.

    They are limited to what the function is designed to doThey are limited to what the function is designed to do

  • 8/7/2019 modified new embedded systems

    16/36

    Advance CAdvance C

    WHYWHY ROMROM--BIOSBIOS andand DOSDOS

    TheThe mostmost importantimportant reasonreason forfor usingusing ROMROM--BIOSBIOS andand DOSDOS

    areare theythey areare availableavailable inin systemsystem memorymemory onceonce thethe systemsystem isis onon..

    ROMROM--BIOSBIOS functionsfunctions performsperforms somesome basicbasic fundamentalfundamental

    operationoperation withwith thethe peripheralsperipherals likelike readingreading datadata andand writingwriting datadata..

    DOSDOS isis usedused forfor thesethese basicbasic functionsfunctions andand enhancedenhanced toto

    makemake aa particularparticular processprocess moremore efficientefficient..

  • 8/7/2019 modified new embedded systems

    17/36

    Embedded CEmbedded C

    Why Embedded C ?Why Embedded C ?

    Easy control of multilevel functionsEasy control of multilevel functions

    ModularityModularity

    Easy maintenanceEasy maintenance

    Reusable codesReusable codes

    PortablePortable

    Minimal hardware knowledge requiredMinimal hardware knowledge required

  • 8/7/2019 modified new embedded systems

    18/36

    Bus StandardsBus Standards

    Bus standard provides a easy way of communicationBus standard provides a easy way of communicationmechanism between the chips in the computer.mechanism between the chips in the computer.

    ItIt reducesreduces thethe numbernumber ofof controlcontrol lineslines extendedextended betweenbetween thethe

    chipschips soso electroelectro magneticmagnetic inductioninduction isis greatlygreatly reducedreduced inin thethe

    circuitcircuit

    SpeedSpeed of of datadata transmissiontransmission betweenbetween thethe chipschips isis greatlygreatly

    increasedincreased.. EE..GG 33..44 MBPSMBPS inin II22cc busbus operatingoperating inin highhigh speedspeed

    modemode..

    EE..GG

    II22c,c, PCI,PCI, USB,USB, EISAEISA etcetc

  • 8/7/2019 modified new embedded systems

    19/36

    PCB Design.PCB Design.

    PCBPCB designdesign isis aa techniquetechnique ofof positionposition hundredshundreds ofof componentscomponents

    andand thousandsthousands ofof trackstracks intointo anan intricateintricate designdesign thatthat meetsmeets aa

    wholewhole hosthost ofof physicalphysical andand electricalelectrical requirementsrequirements..

    PCBPCB designdesign givesgives thethe basicbasic thumbthumb rulerule for for placingplacing thethe

    componentscomponents andand routingrouting anan effectiveeffective pathpath betweenbetween thethe

    componentscomponents withinwithin aa smallsmall placeplace..

    ItIt mustmust alsoalso bebe rememberedremembered thatthat PCBPCB tracestraces havehave resistance,resistance,inductance,inductance, andand capacitance,capacitance, justjust likelike youryour circuitcircuit doesdoes..

  • 8/7/2019 modified new embedded systems

    20/36

    Real Time SystemsReal Time Systems

  • 8/7/2019 modified new embedded systems

    21/36

    Real Time SystemsReal Time Systems

    Systems that respond in a predictable way to unpredictableSystems that respond in a predictable way to unpredictable

    external stimuliexternal stimuli

    Computer system with timing constraintsComputer system with timing constraints

    RTS depends uponRTS depends upon

    logical correctness of computationlogical correctness of computation

    time at which result is producedtime at which result is produced

    In RTSIn RTS a late answer is a wrong answer a late answer is a wrong answer

  • 8/7/2019 modified new embedded systems

    22/36

    Real Time SystemsReal Time Systems -- TypesTypes

    Hard real timeHard real time -- Systems with Hard DeadlinesSystems with Hard Deadlines

    no Critical Deadlines can be missedno Critical Deadlines can be missed

    E.g. Control Systems of Aircraft,Atomic ReactorsE.g. Control Systems of Aircraft,Atomic Reactors

    Soft real timeSoft real time -- Timing Constraints a little tolerableTiming Constraints a little tolerable

    occasional misses are permittedoccasional misses are permitted

    the average response time for an event should be within athe average response time for an event should be within a

    specified timespecified time

    E.g.Weather Monitors, Vending MachinesE.g.Weather Monitors, Vending Machines

  • 8/7/2019 modified new embedded systems

    23/36

    Preemptive Kernel Versus Non preemptive KernelPreemptive Kernel Versus Non preemptive Kernel

    Preemptive KernelPreemptive Kernel

    System response is faster.System response is faster.

    Highest Priority task gets the CPU time for execution.Highest Priority task gets the CPU time for execution.

    Non Preemptive KernelNon Preemptive Kernel

    System response time is slower than preemptive.System response time is slower than preemptive.

    Currently executing task gets the CPU time for execution.Currently executing task gets the CPU time for execution.

  • 8/7/2019 modified new embedded systems

    24/36

    QQC/OSC/OS--IIII

    High performanceHigh performance

    DeterministicDeterministic

    ROMableROMable

    ScalableScalable

    Portable to different processorsPortable to different processors

    Low costLow cost

  • 8/7/2019 modified new embedded systems

    25/36

    Real Time SystemsReal Time Systems -- Critical UsersCritical Users

    Automobile IndustryAutomobile Industry

    Instrumentation & Control Engineering IndustryInstrumentation & Control Engineering Industry

    Defence OrganizationDefence Organization

    Aerospace IndustryAerospace Industry

    Medical Equipment IndustryMedical Equipment Industry

    Nuclear PlantsNuclear Plants

  • 8/7/2019 modified new embedded systems

    26/36

    TCP/IPTCP/IP

  • 8/7/2019 modified new embedded systems

    27/36

    Introduction to NetworkIntroduction to Network

    Computer network mean an a interconnection between theComputer network mean an a interconnection between the

    collection of autonomous computers.collection of autonomous computers.

    Two computers are said to be interconnected if they are able toTwo computers are said to be interconnected if they are able to

    exchange information.exchange information.

    Network goals areNetwork goals are

    resource sharingresource sharing

    high reliabilityhigh reliability

    powerful communication mediumpowerful communication medium

  • 8/7/2019 modified new embedded systems

    28/36

    TCP/IP Internet layering modelTCP/IP Internet layering model

    TCP/IP software is organized into four conceptual layers thatTCP/IP software is organized into four conceptual layers thatbuild on a fifth layer of hardware.build on a fifth layer of hardware.

    Network Interface

    Internet

    Transport

    Application

    Hardware

    Conceptual LayerObjects passes between layers

    Messages or streams

    Transport Protocol packets

    IP Datagrams

    Network-Specific Frames

  • 8/7/2019 modified new embedded systems

    29/36

    A quick look at TCP/IP NetworkingA quick look at TCP/IP Networking

    Internetlayer

    Network

    Application

    Applicationlayer

    Transportlayer TCP UDP

    IP ARPRARP

    NetworkAccess layer

    Token ringEthernet

    Physical network

    either ?

    Internetlayer

  • 8/7/2019 modified new embedded systems

    30/36

    A quick look at TCP/IP NetworkingA quick look at TCP/IP Networking

    Programs can access the network through either TCP or UDP,Programs can access the network through either TCP or UDP,

    depending on program requirements.depending on program requirements.

    TCP is a connectionTCP is a connection--oriented protocol.oriented protocol.

    UDP is a connectionless protocolUDP is a connectionless protocol

    Then the data segment passes to the internet level, where the IP protocolThen the data segment passes to the internet level, where the IP protocol

    provides logical addressing .provides logical addressing .

    Then the IP datagram enter the network access layer.Then the IP datagram enter the network access layer.

  • 8/7/2019 modified new embedded systems

    31/36

    DEVICE DRIVERSDEVICE DRIVERS

  • 8/7/2019 modified new embedded systems

    32/36

    Device DriversDevice Drivers

    A set of functions that manipulates a hardware deviceA set of functions that manipulates a hardware device..

    KEY BOARD

    CPUwith

    OS A

    KEYBOARDDRIVER

    FOR

    OS A

  • 8/7/2019 modified new embedded systems

    33/36

    History ofWDMHistory ofWDM

    Introduced afterWindows 95 launchIntroduced afterWindows 95 launch

    First available inWindows 98First available inWindows 98

    Now available inWindows 2000Now available inWindows 2000

    Is present onWindows ME with enhancements fromWindows 98Is present onWindows ME with enhancements fromWindows 98

  • 8/7/2019 modified new embedded systems

    34/36

    EnvironmentEnvironment

    PortablePortable -- binary and source compatiblebinary and source compatible

    ConfigurableConfigurable -- Avoid direct references to device or systemAvoid direct references to device or system

    characteristicscharacteristics

    Preemptible and interruptiblePreemptible and interruptible

    More than one application will use the driverMore than one application will use the driver

    HotHot--pluggable busespluggable buses

  • 8/7/2019 modified new embedded systems

    35/36

    Device DriversDevice Drivers -- ApplicationApplication

    DEVICE DRIVERSDEVICE DRIVERS

    FORFOR

    STANDARD &STANDARD &

    CUSTOMCUSTOM

    DEVICESDEVICES

  • 8/7/2019 modified new embedded systems

    36/36

    WISH YOU ALL A GREAT CAREER INEMBEDDED SYSTEMS