Embedded Systems: Key Concepts & Applications
Embedded Systems: Key Concepts & Applications
Module 1
Introduction to Embedded System: Understanding the Basic Concepts, the Typical
Embedded System – Characteristics and Quality attributes.(6)
1.1 Introduction to Embedded System
      An ES is an electronic/electro-mechanical system designed to perform a specific
       function. And a combination of both hardware and firmware (software).
      Every ES is Unique and hardware as well as the firmware is highly specialized to the
       application domain
      ES are becoming an inevitable part of any product or equipment in all fields including
       household appliances, telecommunications, medical equipment, industrial control,
       consumer products, etc.
Embedded Systems - Classification based on Generation
      First Generation: The early embedded systems built around 8-bit microprocessors like
       8085 and Z80 and 4-bit microcontrollers
       EX. stepper motor control units, Digital Telephone Keypads etc.
      Third Generation: Embedded Systems built around high performance 16/32 bit
       Microprocessors/controllers, Application Specific Instruction set processors like Digital
       Signal Processors (DSPs), and Application Specific Integrated Circuits
       (ASICs).Theinstruction set is complex and powerful.
      EX. Robotics, industrial process control, networking etc
      Fourth Generation: Embedded Systems built around System on Chips (SoC’s), Re-
       configurable processors and multicore processors. It brings high performance, tight
       integration and miniaturization into the embedded device market
      EX Smart phone devices, MIDs etc
      Small Scale: The embedded systems built around low performance and low cost 8 or
       16 bit microprocessors/ microcontrollers. It is suitable for simple applications and
       where performance is not time critical. It may or may not contain OS.
      Medium Scale: Embedded Systems built around medium performance, low cost 16
       or 32 bit microprocessors / microcontrollers or DSPs. These are slightly complex in
       hardware and firmware. It may contain GPOS/RTOS.
                                               1
        Large Scale/Complex: Embedded Systems built around high performance 32 or 64
         bit RISC processors/controllers, RSoC or multi-core processors and PLD. It requires
         complex hardware and software. These system may contain multiple
         processors/controllers and co-units/hardware accelerators for offloading the
         processing requirements from the main processor. It contains RTOS for scheduling,
         prioritization and management
         It is applicable for Real Time systems. The application/task execution behavior for an
         embedded system can be either deterministic or non-deterministic
     Event Triggered : Activities within the system (e.g., task run-times) are dynamic and
     depend upon occurrence of different events .
     Time triggered: Activities within the system follow a statically computed schedule (i.e.,
     they are allocated time slots during which they can take place) and thus by nature are
     predictable
     1.1.1 Comparison of ES & General Purpose Computing System
1.1.3 Purpose of ES
      Each embedded system is designed to serve the purpose of any one or a combination of
       the following tasks:
           1. Data collection/Storage/Representation
           2. Data Communication
           3. Data (signal) processing
           4. Monitoring
           5. Control
           6. Application specific user interface
      Data Collection/Storage/Representation
           Embedded systems designed for the purpose of data collection performs
             acquisition of data from the external world.
           Data collection is usually done for storage, analysis, manipulation and
             transmission.
           Data can be either analog (continuous) or digital (discrete).
                                              3
          Embedded systems with analog data capturing techniques collect data directly in
           the form of analog signal whereas embedded systems with digital data collection
           mechanism converts the analog signal to the digital signal using analog to digital
           (A/D) converters and then collects the binary equivalent of the analog data.
        If the data is digital, it can be directly captured without any additional interface
           by digital embedded systems.
        A digital camera is a typical example of an embedded system with data
           collection/storage/representation of data.
        Images are captured and the captured image may be stored within the memory of
           the camera. The captured image can also be presented to the user through a
           graphic LCD unit.
   Data Communication
        Embedded data communication systems are deployed in applications ranging
           from complex satellite communication systems to simple home networking
           systems.
        The transmission is achieved either by a wire-line medium or by a wire-less
           medium.
        Data can either be transmitted by analog means or by digital means.
        The data collecting embedded terminal itself can incorporate data communication
           units like Wireless modules (Bluetooth, ZigBee, Wi- Fi, EDGE, GPRS, etc.) or
           wire-line modules (RS-232C, USB, TCP/IP, PS2,etc).
        Network           hubs, routers,         switches,      etc.   are typical examples
                    of dedicated data transmission embedded systems.
   Data (Signal) Processing
        Embedded systems with
           signal processing functionalities are employed in applications demanding signal
           processing like speech coding, synthesis, audio video codec, transmission
           applications, etc.
        A digital hearing aid is a typical example of an embedded system employing data
           processing.
        Digital hearing           aid     improves      the     hearing        capacity
                    of hearing impaired persons.
   Monitoring
        Almost all embedded products coming under the medical domain are with
           monitoring functions only.
        Electro cardiogram machine (ECG) is intended to do the monitoring of the
           heartbeat of a patient but it cannot impose control over the heartbeat.
        Other examples with monitoring function are digital CRO, digital multimeters,
           and logic analyzers.
   Control
        A system with control functionality contains both sensors and actuators.
        Sensors are connected to the input port for capturing the changes in environmental
           variable or measuring variable.
                                            4
           The actuators connected to the output port are controlled according to the
            changes in the input variable.
         Air conditioner system used in our home to control the room temperature to a
            specified limit is a typical example for ES for CONTROL purpose.
     Applications specific user interface
         Buttons, switches, keypad, lights, speakers, display units, etc. are application-
            specific user interfaces.
         Mobile phone is an example of application specific user interface.
         In mobile phone the user interface is provided through the keypad, graphic LCD
            module, system speaker, vibration alert, etc.
     Keyboards, push button switches, etc. are examples for common user interface input
      devices whereas LEDs, liquid crystal displays, piezoelectric buzzers, etc. are examples
      for common user interface output devices for a typical embedded system.
     For example, if the embedded system is designed for any handheld application, such as a
      mobile handset application, then the system should contain user interfaces like a
      keyboard for performing input operations and display unit for providing users the status
      of various activities in progress.
                                               5
1.2.1 Core of Embedded Systems
The core of the embedded system falls into any of the following categories:
                                               6
   Microcontrollers      are designed to perform specific tasks. Microprocessors are
    designed to perform unspecific tasks like developing software, games, website, photo
    editing, creating documents, etc.
   Depending on the input, some processing for microcontroller needs to be done and
    output is defined. However, the relationship between input and output for microprocessor
    is not defined.
   Since the applications of microcontroller are very specific, they need small resources like
    RAM, ROM, I/O ports etc. and hence can be embedded on a single chip.
    Microprocessors need high amount of resources like RAM, ROM, I/O ports etc.
   Microprocessor cannot be used stand alone. They need other peripherals like RAM,
    ROM, buffer, I/O ports etc and hence a system designed around a microprocessor is quite
    costly.
                                             7
            b. Digital Signal Processors
   DSPs are powerful special purpose 8/16/32 bit microprocessors designed specifically
    to meet the computational demands and power constraints of today’s embedded audio,
    video, and communications applications.
       i.      Program Memory: Memory for storing the program required by DSP to process
               the data.
      ii.      Data Memory: Working memory for storing temporary variables/information and
               data/signal to be processed.
     iii.      Computational Engine: Performs the signal/math processing , accessing the
               program from the Program Memory and the data from the Data Memory.
     iv.       I/O Unit : Acts as an interface between the outside world and DSP. It is
               responsible for capturing signals to be processed and delivering the processed
               signals.
                                              8
       Application areas : Audio video signal processing, telecommunication and multimedia
       applications. DSP employs a large amount of real-time calculations, Sum of products
       (SOP) calculation, convolution, fast Fourier transform (FFT), discrete Fourier
       transform (DFT), etc. are some of the operations performed by digital signal
       processors.
RISC                                     CISC
Lesser number of instructions          Greater number of Instructions
Instruction   pipelining and increased Generally        no      instruction pipelining
execution speed                        feature
Programmer needs to write more code to Instructions are like macros in C language. A
execute a task since the instructions are programmer can achieve the desired functionality
simpler ones.                             with a single instruction which in turn provides the
                                          effect of using more simpler single instructions in
                                          RISC.
Single, fixed length instructions         Variable length instructions
Less silicon usage and pin count         More silicon usage since more additional
                                         decoder logic is required to implement the
                                         complex instruction decoding.
                                               9
          d. Harvard vs Von-Neumann Processor
         Endianness specifies the order in which a sequence of bytes are stored in computer
          memory.
                                              10
          Little-endian is an order in which the “little end”/ the lower-order byte of the data
           (least significant value in the sequence) is stored in memory at the lowest address.
           (The little end comes first.)
          For example, a 4 byte long integer Byte3, Byte2, Byte1, Byte0 will be stored in the
           memory as shown
              Big-endian is an order in which the “big end” / the higher-order byte of the data
       (most significant value in sequence) is stored in memory at the lowest address. (The big
       end comes first.)
      For example, a 4 byte long integer Byte3, Byte2, Byte1, Byte0 will be stored in the
       memory as shown below:
                                                11
2. Application Specific Integrated Circuits (ASICs)
                                           12
       2. PLDs do not require long lead times for prototypes or production parts
          because PLDs are already on a distributors shelf and ready for
          shipment.
       3. PLDs can be reprogrammed even after a piece of equipment is shipped
          to a customer
   1.3 Memory
          Memory is an important part of a processor/controller based embedded systems.
          Some of the processors/controllers contain built in memory and this
          memory is referred as on-chip memory.
          Others do not contain any memory inside the chip and requires external memory
           to be connected with the controller/processor to store the control algorithm. It is
           called off-chip memory.
                                           13
     There are different types of memory used in embedded system applications:
     The program memory or code storage memory of an embedded system stores the
      program instructions and it can be classified into different types as shown
     The code memory retains its contents even after the power to it is turned off. It is
      generally known as non- volatile storage memory.
                                               14
      Depending on the fabrication, erasing and programming techniques they are classified
       into the following types.
Classification of ROM
      Mask ROM : Masked ROM is a static ROM which comes programmed into an
       integrated circuit by its manufacturer. Masked ROM makes use of the hardwired
       technology for storing data. It is a good candidate for storing the embedded firmware for
       low cost embedded devices. The primary advantage of this is low cost for high volume
       production. The limitation with MROM based firmware storage is the inability to modify
       the device firmware against firmware upgrades. They are used in network operating
       systems, server operating systems, storing of fonts for laser printers, sound data in
       electronic musical instruments.
      PROM/ OTP : Unlike MROM, One Time Programmable Memory (OTP) or PROM is
       not pre-programmed by the manufacturer. The end user is responsible for programming
       these devices. They have several different applications, including cell phones, video
       game consoles, RFID tags, medical devices, and other electronics.
      EPROM : EPROM gives the flexibility to re-program the same chip. EPROM stores the
       bit information by charging the floating gate of an FET and contains a quartz crystal
       window for erasing the stored information. Even though the EPROM chip is flexible in
       terms of re- programmability, it needs to be taken out of the circuit board and put in a
       UV eraser device for 20 to 30 minutes. So it is a tedious and time-consuming process.
      EEPROM : The information contained in the EEPROM memory can be altered by using
       electrical signal at the register/Byte level. They can be erased and reprogrammed in-
       circuit. These chips include a chip erase mode and in this mode they can be erased in a
       few milliseconds. It provides greater flexibility for system design. The only limitation is
       their capacity is limited when compared with the standard ROM (a few kilobytes). It is
       used for storing the computer system BIOS.
                                               15
         The Random Access Memory (RAM) is the data memory or working memory
    of the controller/processor. Controller/processor can read from it and write to it.RAM is
    volatile, meaning when the power is turned off, all the contents are destroyed. RAM
    generally falls into three categories: Static RAM (SRAM), dynamic RAM (DRAM)
    and non- volatile RAM (NVRAM).
        SRAM : SRAM stores data in the form of voltage. They are made up of flip-flops.
    A flip-flop for a memory cell takes four or six transistors (or 6 MOSFETs) along with
    some wiring, four of the transistors are used for building the latch (flip-flop) part of the
    memory cell and two for controlling the access. SRAM is fast in operation due to its
    resistive networking and switching capabilities. The major limitations of SRAM are low
    capacity and high cost.
   DRAM : DRAM stores data in the form of charge. They are made up of MOS
    transistor gates. The advantages of DRAM are its high density and low cost compared
    to SRAM. The disadvantage is that since the information is stored as charge it gets
    leaked off with time and to prevent this they need to be refreshed periodically.
    Special circuits called DRAM controllers are used for the refreshing operation. The
    refresh operation is done periodically in milliseconds interval. The MOSFET acts as the
    gate for the incoming and outgoing data whereas the capacitor acts as the bit storage unit
                                             16
   1.4 Sensors and Actuators
       1.4.1 Sensor
            A Sensor is used for taking Input
               It is a transducer that converts energy from one form to another for any
              measurement or control purpose
           0 Ex. A Temperature sensor
           1
       1.4.2 Actuator
                   The I/O subsystem of the embedded system facilitates the interaction of the
                    embedded system with the external world.
                   The interaction happens through the sensors and actuators connected to the
                    input and output ports respectively of the embedded system.
                   The sensors may not be directly interfaced to the input ports, instead they may
                    be interfaced through signal conditioning and translating systems like ADC,
                    optocouplers, etc.
      LED is an important output device for visual indication in any embedded system.
       LED can be used as an indicator for the status of various signals or situations.
       Typical examples are indicating the presence of power conditions like ‘Device ON’,
       ‘Battery low’ or ‘Charging of battery’ for a battery operated handheld embedded
       devices.
      LED is a p-n junction diode and it contains an anode and a cathode. For proper
       functioning of the LED, the anode of it should be connected to +ve terminal of the
       supply voltage and cathode to the –ve terminal of the supply voltage. The current
       flowing through the LED must be limited to a value below the maximum current that
                                                 17
    it can conduct. A resistor is used in series between the power supply and the LED to
    limit the current through the LED.
Optocoupler
                                       18
Stepper Motor
       A stepper motor is an electro-mechanical device which generates discrete
         displacement (motion) in response to dc electrical signals.
       It differs from the normal dc motor in its operation.
       The dc motor produces continuous rotation on applying dc voltage whereas a
         stepper motor produces discrete rotation in response to the dc voltage applied
         to it.
       Stepper motors are widely used in industrial embedded applications,
         consumer electronic products and robotics control systems.
       The paper feed mechanism of a printer/fax makes use of stepper motors for
         its functioning.
       Based on the coil winding arrangements, a two-phase stepper motor is
         classified into two. They are:
               Unipolar
               Bipolar
Relay
Piezo Buzzer
1-wire interface
                                      22
              Parallel interface
               Used for communicating with peripheral device which are memory mapped to
                 the host of the system
               Device which supports parallel bus can directly connect to this bus
               Controlled by the control signal interface between the device and the
                 host(rd/wr,select)
               Always initiated by host processor, if device wants to initiate then it should
                 use interrupts
               Direction of data is controlled by rd/wr
               Decoder circuit activates the chip select line to activate the device
      Channels/buses use by the embedded system to communicate with the external world.
       The various interfaces for external communication are as follows
          i.  RS-232 C & RS-485
          ii. Universal Serial Bus (USB)
        iii.  IEEE 1394 (Firewire)
         iv.  Infrared (IrDA)
          v.  Bluetooth (BT)
         vi.  Wi-Fi
        vii.  ZigBee
       viii.  General Packet Radio Service (GPRS)
                                             23
   Mini and micro USB connectors are available for small form factor devices like portable
    media player
   Supports four different types of data transfers
    1 control: s/w to query, configure and issue commands to the USB device
    2 Bulk: for sending block of data to a device,
    3 Isochronous data: for real time data communication (data transmitted as streams in real
    time. Does not support error checking and retransmission. Audio devices and medical
    equipment)
    4 Interrupt transfer: for transferring small amount of data.
   serial, half duplex, line of sight based wireless technology for data( remote control of TV)
   Supports point to point and point to multipoint communication
   Communication range 10cm to 1m
   IR supports data rates ranging from 9600 bits/s to 16 Mbps
   Infrared light emitting diode is the IR source and photodiode acts as receiver
   Has two parts , physical link part and a protocol part
   Popular for file exchange and data transfer in low cost devices
   The remote control of your TV, VCD player, etc works on Infrared data communication
    principle.
      v. Bluetooth (BT)
   Bluetooth is a low cost, low power, short range wireless technology for data and voice
    communication. Bluetooth supports point-to-point (device to device) and point-to-
    multipoint (device to multiple device broadcasting) wireless communication.
   A Bluetooth device can function as either master or slave. When a network is formed
    with one Bluetooth device as master and more than one device as slaves, it is called a
    Piconet. A Piconet supports a maximum of seven slave devices.
   Bluetooth is the favorite choice for short range data communication in handheld
    embedded devices. Bluetooth technology is very popular among cell phone users as they
    are the easiest communication channel for transferring ringtones, music files,
    pictures,media files, etc between neighboring Bluetooth enabled phones.
                                             24
   It supports a data rate of up to 1 Mbps and a range of approximately 30 feet for data
    communication.
     vi.    Wi-Fi
   wireless fidelity is popular for wireless communication for networked communication
   Supports IP protocol
   Each device is addressed by IP address
   Wi-Fi based communications require an intermediate agent called wi-fi router
   Supports data rate 1Mbps- 150 Mbps
   Offers range of 100- 300ft
vii. ZigBee
   The other system components refer to the components/circuits/ICs which are necessary
    for the proper functioning of the embedded system.
   Reset Circuit, Brown-out Protection Circuit, Oscillator Unit, Real- Time Clock (RTC),
    Watchdog Timer are examples of circuits/ICs which are essential for the proper
    functioning of the processor/controllers.
    Reset circuit
    To ensure that the device is not operating at a voltage level when the device is not
    guaranteed to operate when power ON
   Reset signal starts the execution from the reset vector from the address 0x0000
   Either active H or active L
   Some micro processors/controllers contains built in reset circuitry
    Brown-out protection circuit
   protection circuit prevents the processor/controller from unexpected program execution
    behavior when the supply voltage falls below a specified voltage
   May lead to data corruption
   Essential for battery powered devices
   This holds the processor in reset state until it rises above the threshold voltage
    Oscillator unit
   is responsible for generating the clock for the processor
                                            26
   Certain processors integrate built in oscillator and simply require an external quartz
    crystal for producing the clock
   Speed of the processor depends on clock frequency
   Power consumption increases with increase in clock frequency
   Accuracy of the program execution depends on accuracy of clock signal
                                          27
    Unlike general purpose computing system, embedded system posses certain specific
    characteristics and these are unique.
   Application and domain specific: An embedded system is designed for a specific
    purpose only.
   It will not do any other task.
   You can not replace an embedded control unit developed for a particular domain say
    telecom with another control unit designed to for another domain like consumer
    electronics
   Reactive and real time: embedded systems are in constant interaction to the real world
   Any changes happening in the real world (event)are captured by the sensors or i/p
    devices
   The event may be periodic or unpredicted one(should not miss)
   So emb.sys. are generally reactive
   Timing behavior or the system should be deterministic
   Should not miss deadlines
    Operates in harsh environment: the environment in which the emb.sys. deployed may
    be a dusty one or high temperature zone
   System placed in such areas should be capable to with stand all operating conditions
    Distributed: The term distributed means that embedded systems may be a part of a
    larger system.
   Automatic vending m/c contains card reader, vending unit etc.
   They are independent but work together to achieve a common goal
    Small size and weight: size, weight, shape etc will be one of the deciding factors to
    choose a product
   Most applications demands small sized and low weight products
    Power concerns: designed in such a way as to minimize the heat dissipation
   May require cooling fan which occupies additional space
   Even it’s a critical constraint battery operated systems, more the power consumption the
    less the battery life.
   If the quality attributes are more concrete and measurable it will give a positive impact on
    the end product and QA are classified into two.
          Operational QA
          Non-operational QA
                                             28
    The operational quality attributes represent the relevant quality attributes related to
    the embedded system when it is in the operational mode or ‘online’ mode. The important
    quality attributes coming under this category are listed below:
      i. Response
     ii. Throughput
    iii. Reliability
    iv. Maintainability
     v. Security
    vi. Safety
    Response: quickness of the system
   How fast the system is tracking the changes in input variables
   In flight control application any response delay in the system will create potential
    damages to the safety of the flight
   Response time for a toy is not time critical
    Throughput: efficiency of the system
   Rate of production or operation of a defined process
   Rates can be expressed in terms of units of products , batched produced, or any other
    meaningful measurements.
   In case of card reader like the ones used in buses, throughput means how much
    transactions the Reader can perform in a minute or hour or day.
    Reliability: how much % you can rely upon the proper functioning of sys. Mean time
    between failure MTBF (frq of failure in hrs/weeks/months) & mean time to repair
    MTTR ( how long the system is allowed to be out of order following a failure ) are the
    terms used in defining the system reliability
    Maintainability: deals with the support and maintenance to the end user in the case of
    technical issues and failures or on the basis of a routine checkup
                                            29
Safety: Safety deals with the possible damages that can happen to the operators, public
and the environment due to the breakdown of an embedded system or due to the
emission of radioactive or hazardous materials from the embedded products
Time to market: time elapsed between the conceptualization of a product and time at
which the product is ready for selling
 It’s a critical factor because embedded technology is one where rapid technology
   change is happening
Time to prototype: its an informal kind of rapid product development in which the
important features of the product under consideration are developed
 If prototype is developed faster, the actual development time can be brought down
   significantly. Product prototyping helps a lot in reducing time-to-market
Per unit cost and revenue: cost will be closely monitored by both end users
 Proper market study should be carried out before deciding per unit cost
 During design and development only investment no returns
 Once the product is ready to sell and its introduced to the market – product
   introduction stage
 In growth phase product grabs high market share
                                       30
       During maturity phase the growth and sales will be steady and revenue reaches at its
        peak
       Product retirement/decline phase starts with the drop in sales volume, market share
        and revenue
       At some point of decline stage the manufacturer announces discontinuing of the
        product
       Unit cost is very high during the introductory stage
Module II
 Architecture Selection
 A model only captures the system characteristics and does not provide information on
  ‘how the system can be manufactured?’
 The architecture specifies how a system is going to implement in terms of the number
  and types of different components and the interconnection among them
 Controller architecture, Datapath Architecture, Complex Instruction Set Computing
  (CISC), Reduced Instruction Set Computing (RISC), Very long Instruction Word
                                           31
   Computing (VLIW), Single Instruction Multiple Data (SIMD), Multiple Instruction
   Multiple Data (MIMD) etc are the commonly used architectures in system design
 Language Selection
 A programming Language captures a ‘Computational Model’ and maps it into
  architecture
 A model can be captured using multiple programming languages like C, C++, C#, Java
  etc for software implementations and languages like VHDL, System C, Verilog etc for
  hardware implementations
 Certain languages are good in capturing certain computational model. For example, C++
  is a good candidate for capturing an object oriented model.
 The only pre-requisite in selecting a programming language for capturing a model is that
  the language should capture the model easily
 Partitioning of System Requirements into H/w and S/w
 Implementation aspect of a System level Requirement
 It may be possible to implement the system requirements in either hardware or software
  (firmware)
 Various hardware software trade-offs like performance, re-usability, effort etc are used for
  making a decision on the hardware-software partitioning
                                           32
Data path: The data flow path from input to output
A DFG model is said to be acyclic DFG (ADFG) if it doesn’t contain multiple values for the
input variable and multiple output values for a given set of input(s). Feedback inputs (Output is
feed back to Input), events etc are examples for non-acyclic inputs. A DFG model translates the
program as a single sequential process execution.
                                               33
 State Machine Model
                                             34
 Sequential Program Model
Ignition ON
                                                              NO
                              Ignition Key ON
          YES
                NO             Seat Belt ON?
                            Wait for 10 Seconds
35
Stop Alarm
                                    End
E.g. Automatic ‘Seat Belt Warning’ in an automotive
When the vehicle ignition is turned on and the seat belt is not fastened within 10 seconds of
ignition ON, the system generates an alarm signal for 5 seconds. The Alarm is turned off when
the alarm time (5 seconds) expires or if the driver/passenger fastens the belt or if the ignition
switch is turned off, whichever happens first.
#define ON 1
       #define OFF 0
       #define YES 1
       #define NO 0
       void seat_belt_warn()
       {
       wait_10sec();
       if (check_ignition_key()==ON)
       {
       if (check_seat_belt()==OFF)
       {
       set_timer(5);
       start_alarm();
       while ((check_seat_belt()==OFF )&&(check_ignition_key()==OFF )&& (timer_expire()==NO));
       stop_alarm();
       }
       }
                                               36
        }
     Concurrent/Communicating Process Model
     Models concurrently executing tasks/processes. The program instructions are iterated and
      executed conditionally and the data gets transformed through a series of operations
     Certain processing requirements are easier to model in concurrent processing model than
      the conventional sequential execution.
     Sequential execution leads to a single sequential execution of task and thereby leads to
      poor processor utilization, when the task involves I/O waiting, sleeping for specified
      duration etc.
     If the task is split into multiple subtasks, it is possible to tackle the CPU usage effectively,
      when the subtask under execution goes to a wait or sleep mode, by switching the task
      execution.
     Concurrent processing model requires additional overheads in task scheduling, task
      synchronization and communication
      Things
                   An abstraction of the UML Model
      Relationships
                   An entity which express the type of relationship between UML elements
                     (objects, classes etc)
      Diagrams
                   UML Diagrams give a pictorial representation of the static aspects,
                     behavioral aspects and organization and management of different modules
                     (classes, packages etc) of the system
 Things
              Structural things: Represents mostly the static parts of a UML model. They are
                also known as ‘classifiers’. Class, interface, use case, use case realization
                (collaboration), active class, component and node are the structural things in
                UML.
              Behavioral things: Represents mostly the dynamic parts of a UML model.
                Interaction, state machine and activity are the behavioral things in UML.
              Grouping things: Are the organizational parts of a UML model. Package and sub-
                system are the grouping things in UML.
              Annotational things: Are the explanatory parts of a UML model. Note is the
                Annotational thing in UML.
                                                39
             Active Class     Class presenting a thread of control in
                              the system. It can initiate control
                              activity. Active class is represented in
                              the same way as that of a class but
                              with thick border lines.
             Interface        A collection of externally visible
                              operations which specify a service of
                              a class. It is represented as a circle
                              attached to the class
             Use case         Defines a set of sequence of actions. It
                              is normally represented with an ellipse
                              indicating the name.
             Collaboration    Interaction diagram specifying the
             (Use case        collaboration of different use cases. It
             Realization)     is normally represented with a dotted
                              ellipse indicating the name.
             Component        Physical packaging of classes and
                              interfaces.
             Node             A computational resource existing at
                              run time. Represented using a cube
                              with name.
                                             40
Annotational Note             Explanatory element in UML models.
                              Contains formal informal explanatory text.
                              May also contain embedded image.
Relationships in UML
Expresses the types of relationship between UML objects (objects, classes etc)
             UML diagrams give pictorial representation of static aspects, behavioral aspects and
organization and management of different modules(into classes, packages) of the systems
Static Diagrams: Diagram representing the static (structural) aspects of the system. Class
Diagram, Object Diagram, Component Diagram, Package Diagram, Composite Structure
Diagram and Deployment Diagram falls under this category
Diagram Description
Object Diagram         Gives a pictorial representation of a set of objects and their relationships. It
                       represents the structural organization between objects.
                                                42
Class Diagram           Gives a pictorial representation of the different classes in a UML model,
                        their interfaces, the collaborations, interactions and relationship between
                        the classes etc. It captures the static design of the system.
Behavioral Diagram
                                                43
           Sequence diagram for seat belt warning system
                                            44
Embedded Systems – Application & Domain Specific
 Washing Machine – Application Specific Embedded System
  Extensively used in Home Automation for washing and drying clothes
  Contains User Interface units (I/O) like Keypads, Display unit, LEDs for accepting
   user inputs and providing visual indications
  Contains sensors like, water level sensor, temperature sensor etc.
  Contains actuators like spin and agitation control motor units
  Contains an integrates embedded controller for controlling the washing operations
  Sensors, actuators and I/O devices are interfaced to the I/O subsystem of the
   embedded control unit
  Specifically designed for serving the application ‘Wash & Rinse’ of clothes and
   cannot be used for any other applications
  Generally built around Digital Signal Processors, Application Specific Instruction Set
   Processors    (like    Atmel     Automotive     AVR)      and    General      purpose
   processors/Controllers, System on Chips, Programmable Logic Devices or
   Application Specific Integrated/Standard Products (ASIC/ASSP) or a combination of
   these.
  Automotive Embedded Control units are generally known as Electronic Control
   Units (ECUs)
  The presence of ECUs vary from simple mirror control units to complex Airbag
                                          45
  deployment and Antilock braking Systems (ABS)
 The number of embedded controllers in an ordinary vehicle varies from 20 to 40
  whereas a luxury vehicle may contain 70-100 embedded control units.
 The first embedded system used in automotive application was the microprocessor
  based fuel injection system introduced by Volkswagen 1600 in 1968
                                 Module 3
                                     46
Design and Development of Embedded Product –Firmware Design and Development –
Design Approaches, Firmware Development Languages.
47