INTRO TO ES

Embed Size (px)

Citation preview

  • 8/2/2019 INTRO TO ES

    1/49

    Course Objectives

    After completing this course, you will know :

    * An extensive knowledge about Embedded System and

    it's characteristics

    * The difference between C & Embedded C

    * Timers & Interrupt Handling using Embedded C

    * Embedded Software Cycle

    * Fundamentals of Real Time operating Systems.

    * Basics of Embedded Linu

  • 8/2/2019 INTRO TO ES

    2/49

    Course OutlinelIntro to Embedded Systems

    lC Vs. Embedded C

    lTimers

    lInterrupt handling

    lSoftware Engineering

    lReal Time Operating Systems Concept

    lEmbedded Linux Concept

  • 8/2/2019 INTRO TO ES

    3/49

    Job Requirements

    Job Requirements

  • 8/2/2019 INTRO TO ES

    4/49

    Job Requirements(1)

  • 8/2/2019 INTRO TO ES

    5/49

    Job Requirements(2)

  • 8/2/2019 INTRO TO ES

    6/49

    Introduction to

    Embedded Systems

  • 8/2/2019 INTRO TO ES

    7/49

    Embedded Systems

    All systems that contain one or moreprocessor to do specific functionalities and

    give responses upon receiving inputs.

    This processor is not for general purposes

    like general purpose Processor in PCs andnotebooks.

  • 8/2/2019 INTRO TO ES

    8/49

    Embedded Systems

    computing systems with tightly coupled

    hardware and software integration, that

    are designed to perform a dedicated

    function.

  • 8/2/2019 INTRO TO ES

    9/49

    Embedded Systems

    The word embedded reflects the

    fact that these systems are usually

    an integral part of a larger system,known as the embedding system.

    Multiple embedded systems can

    coexist in an embedding system.

  • 8/2/2019 INTRO TO ES

    10/49

    Embedded Systems

    Applications

  • 8/2/2019 INTRO TO ES

    11/49

    Embedded Systems

    Applications

  • 8/2/2019 INTRO TO ES

    12/49

    Embedded Systems

    Applications

  • 8/2/2019 INTRO TO ES

    13/49

    Embedded Systems

    Applications

  • 8/2/2019 INTRO TO ES

    14/49

    Embedded Systems

    Applications

  • 8/2/2019 INTRO TO ES

    15/49

    Embedded Systems

    Applications

  • 8/2/2019 INTRO TO ES

    16/49

    Embedded Systems

    Applications

  • 8/2/2019 INTRO TO ES

    17/49

    Embedded Systems

    Applications

  • 8/2/2019 INTRO TO ES

    18/49

    Embedded Systems

    Applications

  • 8/2/2019 INTRO TO ES

    19/49

    Embedded Systems

    Applications

  • 8/2/2019 INTRO TO ES

    20/49

    Embedded Systems

    Applications

  • 8/2/2019 INTRO TO ES

    21/49

    Embedded Systems

    Applications

  • 8/2/2019 INTRO TO ES

    22/49

    Embedded Systems

    Applications

  • 8/2/2019 INTRO TO ES

    23/49

    Embedded Systems

    Applications

  • 8/2/2019 INTRO TO ES

    24/49

    Embedded Systems

    Applications

  • 8/2/2019 INTRO TO ES

    25/49

    Embedded Systems

    Applications

  • 8/2/2019 INTRO TO ES

    26/49

    Embedded Systems

    Applications

  • 8/2/2019 INTRO TO ES

    27/49

    Embedded Systems

    Applications

  • 8/2/2019 INTRO TO ES

    28/49

    General Purpose Processors

    32 or 64-bit data path.

    Central processing engine of a mainframe, workstation,

    PC, PDA, RISC and CISC engines .

    X86, PowerPC, SPARC, Pentium .

    Complex in design because these processors provide a

    full scale of features and a wide spectrum of

    functionalities .

  • 8/2/2019 INTRO TO ES

    29/49

    General Purpose Processors

    Have advanced cache logic.

    Built-in math co-processor capable of

    performing fast floating-point operations.

    These processors result in large power

    consumption, heat production, and size.

  • 8/2/2019 INTRO TO ES

    30/49

    Embedded general purpose

    Processors

    Designed for a wide range of application (consumer and

    communication).

    16/32-bit data path.

    Limited functionality depends on the application.

    Usually integrated into larger dedicated systems in a SoC

    (System on Chip), also called core-based ASIC.

  • 8/2/2019 INTRO TO ES

    31/49

    Embedded general purpose

    Processors

    Examples: ARM, PowerPC, MIPS, 68K, x86.

    ARM has seized the lions share of the market.

  • 8/2/2019 INTRO TO ES

    32/49

    Advanced Embedded System

    Multi-core system on chip Like mobile handset which has

    one chip contains:

    DSP processor.

    Embedded processors like ARM.

    Custom hardware for GSM.

    Custom peripherals for board interface (keyboard, touch

    screen, memory card interface).

  • 8/2/2019 INTRO TO ES

    33/49

    System on board

    Shared

    memory

    CPU

    Board

    A/D

    Sensors

    actuators

    Custom

    hardware

  • 8/2/2019 INTRO TO ES

    34/49

    System on chip

    Keyboardcontroller

    USB interface

    MemoriesCPU

    Customizedhardware

    LCDcontroller

    ASIC Chip

  • 8/2/2019 INTRO TO ES

    35/49

    Microcontrollers

    The workhorse of industrial electronics.

    Designed for standalone operation.

    Include processing unit 8-bit, 16-bit, 32-bit.

    Included memories (RAM, ROM), IO, buses and

    peripherals depending on the application.,

    designed for (LIN , CAN , Ethernet , I2C , SPI and

    ..).

  • 8/2/2019 INTRO TO ES

    36/49

    Microcontroller Selection

    Number of I/O pins required.

    Interfaces/peripherals required.

    Memory requirements.

    Number of interrupts required.

    Real-Time considerations.

  • 8/2/2019 INTRO TO ES

    37/49

    Microcontroller Selection

    Development environment.

    Processing speed required.

    ROM ability.

    Memory architecture.

    Power requirements.

  • 8/2/2019 INTRO TO ES

    38/49

    Microcontroller

    A microcontroller has eight main components:

    Central processing unit (CPU)

    ROM, RAM

    Input and Output (GPIO or DIO)

    Timer

    Interrupt circuitry

    Buses

    Watchdog

  • 8/2/2019 INTRO TO ES

    39/49

    ll C

  • 8/2/2019 INTRO TO ES

    40/49

    Microcontroller CPU

    architectures

    Von Neumann

    Harvard

  • 8/2/2019 INTRO TO ES

    41/49

    CPU main registers

    Stack pointer

    Contains the address of the next location on the stack

    Decremented when data is pushed on the stack and

    incremented when data is popped from the stack

    Index register

    Used to specify an address when certain addressing

    modes are used

    Known as pointer register

  • 8/2/2019 INTRO TO ES

    42/49

    CPU main registers

    Program counter:

    Most important CPU register

    Holds the address of the next instruction in programmemory space

    Each instruction is fetched and processed by ALU, the

    CPU increments the PC

    Accumulator:

    Hold operands or results of operations as necessary

  • 8/2/2019 INTRO TO ES

    43/49

    RAM

    Random Access Memory (RAM) . Also called Read/Write Memory, The term

    random access refers to the ability to access any

    memory cell directly. RAM is much faster than

    ROM.

    Volatile memory, requires external power to

    maintain memory content.

    Used to store data as long as Microcontroller ispowered and the program is running.

    Addressable in instruction sets through

    different addressing Mode .

  • 8/2/2019 INTRO TO ES

    44/49

    RAM contents

    Divided virtually to:

    General purpose registers for CPU acts as accumulators

    Peripherals control special registers

    Data RAM: all static variables in the program i.e. each

    variable has a static address and its last value lasts until

    microcontroller power off.

    Stack

  • 8/2/2019 INTRO TO ES

    45/49

    ROM

    Permanent memory

    Written upon programming the

    microcontroller

    Cant be written/modified at run time

  • 8/2/2019 INTRO TO ES

    46/49

    ROM contents

    Program code

    Constant data

    Handled through constkeyword in C

    Data used as a constant configuration from

    prospective system design and versions

    configurations

  • 8/2/2019 INTRO TO ES

    47/49

    Software characteristics

    Highly configurable.

    Shorter development cycle.

    Easier in versions updates.

    Cheaper.

    Constrained with processor speed which may

    satisfy real time application and may not.

  • 8/2/2019 INTRO TO ES

    48/49

    System constrains

    Systems constraints are the output of Interfacesspecification Analysis and system functionality

    breakdown

    Constraints could be after that classified as

    following :

    I/O constraints

    Communication constraints

    Operating Constraints

    Memory Consumption

    Microcontroller resources

  • 8/2/2019 INTRO TO ES

    49/49

    Q&A