Introduction to Embedded Systems MODULE 2
MODULE 2
Characteristics and quality attributes of embedded systems: Characteristics, Operational
and nonoperational quality attributes, application specific embedded system - washing
machine, domain specific – automotive
Text Books:
1. Shibu K V, “Introduction to Embedded Systems”, Tata McGraw Hill Education, Private
Limited, 2nd Edition.
Introduction to Embedded Systems MODULE 2
4.1. CHARACTERISTICS OF AN EMBEDDED SYSTEM
Some of the importance characteristics of embedded systems are:
1. Application and domain specific
2. Reactive and real time
3. Operates in harsh environments
4. Distributed
5. Small size and weight
6. Power concerns
Application and domain specific
Each embedded system is having certain function to perform and they are developed in
such a manner to do the intended functions only.
They cannot be used for any other purpose. It is the major criterion which distinguishes
an embedded system from a general-purpose system.
For example, we cannot replace the embedded control unit of your micro oven with air
conditioner’s embedded control unit, because the embedded control units of micro oven
and air conditioner are specifically designed to perform certain specific tasks.
Reactive and real time
Embedded systems are in constant system are in constant interaction with the real world
through sensor and user-defined input devices which are connected to the input port of the
system.
Any changes happening in the real world is captured by the sensor input devices in real
time and control algorithm running inside the unit reacts in a designed manner to bring the
controlled output variables to the desired level.
The event may be periodic or unpredicted one. If the event is unpredicted one then such a
system should be designed in a such a way that, it should be scheduled to capture the
events without missing them.
Embedded systems produces changes in the output as changes in the input. So they are
generally referred as Reactive systems.
Real time system operation means the timing behavior of the system should be
deterministic; meaning the system should respond to request or tasks in a known amount
of time.
A real time system should not miss any deadlines for tasks or operations. It is not necessary
that all embedded systems should be real time in operations.
Introduction to Embedded Systems MODULE 2
Operates in harsh environment
The environment in which the embedded system deployed may be a dusty one or a high
temperature zone or an area subject to vibrations and shock.
System placed in such areas should be capable to withstand all these adverse operating
conditions. The design should take care of the operating conditions of the area where the
system is going to implement.
Distributed
The term distributed means that embedded system may be a part of larger system. Many
numbers of such distributed embedded system form a single large embedded control unit.
An automatic vending machine is a typical example for this. The vending machine
contains a card reader, a vending unit, etc. Each of them are independent embedded units
but they work together to perform the overall Vending function.
Small size and weight
Product aesthetic is another important factor in choosing a product.
Power concerns
Power management is another important factor that needs to consider in designing
embedded system.
Embedded systems should be designed in such a way as to minimize the heat dissipation
by the system.
The product of high amount of heat demands cooling requirements like cooling fans which
in turn occupies additional space and make the system bulky.
Quality attributes of embedded systems
Operational quality attributes
The operational quality attributes represent the relevant quality attributes related to the
embedded systems when it is in the operational mode or ‘online’ mode.
1. Response
2. Throughput
3. Reliability
4. Maintainability
5. Security
6. Safety
Introduction to Embedded Systems MODULE 2
Response
Response is a measure of quickness of the system. It gives an idea about how fast your
system is tracking the changes in input variables.
Most of the embedded system demand fast response which should be almost real time.
Throughput
throughput deals with the efficiency of a system.
it can be defined as the rate of production or operation of a defined process over a started
period of time.
The rates can be expressed in terms of units of products, batches produced, or any other
meaningful measurements.
Throughput is generally measured in terms of ‘BENHMARK’.
Reliability
Reliability is a measure of how much % you can rely upon the proper functioning of the
system or what is the % susceptibility of the system to failures.
Mean time between failures (MTBF) and mean time to repair (MTTR) are the terms used
in defining system reliability.
MTBF gives the frequency of failures in hours/weeks/months.
MTTR specifies how long the system is allowed to be out of order following a failure.
Maintainability
maintainability deals with support and maintenance to the end user or client in case of
technical issues and product failure or on the basis of a routine system check-up.
Reliability and maintainability are considered as two complementary disciplines.
A more reliable system means a system with less corrective maintainability requirements
and vice versa.
As the reliability of the system increases the chances of failure and non-functioning also
reduces, thereby the need for maintainability is also reduced.
Maintainability is closely related to the system availability.
Security
‘confidentiality’, ‘integrity’ and ‘availability’ are the three major measures of information
security.
Confidentiality deals with the protection of data and application from unauthorised
disclosure.
Integrity deals with the protection of data and application from unauthorized modification.
Introduction to Embedded Systems MODULE 2
Availability deals with protection data and application from authorized users a very good
example of the security aspect in a embedded product is a Personal Digital assistant
(PDA).
Safety
Safety deals with the possible damage 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 material from the embedded products.
Safety analysis is must in product engineering to evaluate the anticipated damages and
determine the best course of action to bring down the consequences of the damages to an
acceptable level.
Non-Operational Quality Attributes
The important quality attributes coming under this category are listed below.
1. Testability & Debug-ability
2. Evolvability
3. Portability
4. Time to prototype and market
5. Per unit and total cost.
Testability & Debug-ability
Testability deals with how easily one can test his/ her design.
Application and by which means he/she can test it for an embedded products testability is
applicable to both the embedded hardware and firmware
hardware testing ensure that the peripheral and the total hardware functions in the desired
manner
firmware testing ensure that the firmware is functioning in the expected way
debug ability is a means of debugging the product as such for figuring out the probable
sources that creating the unexpected behaviour in the total system.
Debug-ability has two aspects in the embedded system development context, namely,
hardware level debugging and firmware level debugging
hardware debugging is used for figuring out the issues created by hardware problems
firm debugging is employed to figure out the probable errors that appear as a result of
flaws in the firmware
Introduction to Embedded Systems MODULE 2
Evolvability
Evolvability referred as the non-heritable variation.
For an embedded system, the quality attributes refers to the ease with which the embedded
product (including firmware and hardware) can be modified to take advantage of new
firmware or hardware technologies
Portability
Portability is a measure of system independence.
An embedded product is said to be portable if the product is capable of functioning; as
such in various environments, target processors/controllers and embedded operating
system
the case with which embedded product can be ported on to a new platform is a direct
measure of re-work require
A standard embedded product should always be flexible and portable.
In embedded products, the term ‘porting’ represents the migration of the embedded
firmware write for one target processor (e. g Intel x86) to a different target processor (say
Hitach1 8H3 professor)
If the firmware is written in a high level language like ‘C’ with little target processor-
specific function (operating system extensions or compiler specific utilities), it is very easy
to port the firmware for the new processor by replacing those ‘target processor-specific
functions’ with the ones for the new target processor and re-compiling the program for the
new target processor specific settings.
Re-compiling the program for the new target processor generates the new target processor-
specific machine codes.
If the firmware is written in Assembly Language for a particular family of processor (say
x86 family), it will be very difficult to translate the assembly language instructions to the
new target processor specific language and so the portability is poor.
For example, applications developed using Microsoft technologies (e.g. Microsoft Visual
Choosing Visual studio) is capable of running only on Microsoft platforms and will not
function on other operating systems; whereas applications developed using ‘Java’ from
Sun Microsystems works on any operating system that supports java standards.
Introduction to Embedded Systems MODULE 2
Time-to-Prototype and Market
Time-to-market is the time elapsed between the conceptualization of a product and the
time at which the product is ready for selling (for commercial product) or use (for non-
commercial product). The commercial embedded product market is highly competitive
and time to market the product is a critical factor in the success of a commercial embedded
product.
There may be multiple players in the embedded industry who develop products of the
same category (like mobile phone, portable media players, etc.).
If you come up with a new design and if it takes long time to develop and market it, the
competitor product may take advantage of it with their product. Also, embedded
technology is one where rapid technology change is happening.
If you start your design by making use of a new technology and if it takes long time to
develop and market the product, by the time you market the product, the technology might
superseded with a new technology.
Product prototyping helps a lot in reducing time -to-market. never you have a product idea,
you may not be certain about the feasibility of the idea is an informal kind of rapid
development in which the important features of the product under consideration are
development in which the important is also another critical factor.
If the prototype is developed faster, the actual estimate can be brought down significantly
In order to shorten the time to prototype, make use of all possible options like the use of
off-the-shelf components, re-usable assets, etc.
Per Unit Cost and Revenue
Cost is a factor which is closely monitored by both end user (those who buy the product)
and product manufacturer (those who build the product).
Cost is a highly sensitive factor for commercial products.
Any failure to position the cost of a commercial product at nominal rate, may lead to the
failure of e product in the market.
Proper market study and cost benefit analysis should be carried out before taking a
decision on the per -unit cost of the embedded products.
From a designer/product development company perspective the ultimate aim of a product
is to generate marginal profit. So the budget and total system cost should be properly
balanced to provide a marginal profits
Introduction to Embedded Systems MODULE 2
Product Life-cycle (PLC)
Embedded product has a product life cycle which starts with the design and developments
phase.
The product idea generation, prototyping, definition, actual product design and
development. Exponent are the activities carried out during this phase.
During the design and development phase there is only investment and no returns once the
product is ready to sell, it is introduced to the market. This stage is known as the Product
Iteration stage.
During the initial period the sales and revenues will be low. There won’t be much
competition and the products sales and revenue increases with time the growth phase, the
product grabs high market. The maturity phase, the growth and sales will be steady and
the revenue reaches at its peak.
The Product Retirement/Decline phase starts with the drop in sales volume, market share
and revenue the/decline happens due to various reasons like competition from similar
product with enhanced features or technology changes, etc.
At some point of the decline stage, the manufacturer announces discontinuing of the
product. The different stages of the embedded products life cycle-revenue, unit cost and
profit in each stage-are represented in the following Product Life-cycle graph.
Product Life Cycle (PLC) curve
From the graph, it is clear that the total revenue increases from the product introduction
stage to the product maturity stage.
The revenue peaks at the maturity stage and starts falling in the declined/retirement stage.
Introduction to Embedded Systems MODULE 2
The unit cost is very high during the Introductory stage (a typical example is cell phone if
you buy a new model of cell phone during its launch time, the price will be high and you
will get the same model with a very reduced price after three or four months of its
launching).
The profit increases with increase in sales and attains a steady value and then falls with a
dip in sales.
You can see a negative value for profit during the initial period. It is because during the
product development phase there is only investment and no returns. Profit occurs only
when the total returns exceed the investment and operating cost.
Keywords
Quality attributes: The nonfunctional requirements that need to be addressed in any system
design
Reactive system: An embedded system which produces changes in output in response to the
changes in input
Real-Time systems: A system which adheres to strict timing behaviour and rewards to requests
in a known amount of time
Response: It is a measure of quickness of the system
Throughput: The rate of production or operation of a defined process over a stated period of
time
Reliability: It is a measure of how much % one can rely on up on the proper functioning of the
system.
EMBEDDED SYSTEMS -APPLICATION –AND DOMAIN-SPECIFIC
Embedded systems are application and domain specific, meaning; they are specifically built
for certain applications in certain domains like consumer electronics, telecom, automotive,
industrial control, etc.
In general purpose computing, it is possible to replace a system with another system which
is closely matching with the existing system, whereas it is not the case with embedded
systems, hence it is not possible to replace an embedded system developed for a specific
application.
Hence it is not possible to replace an embedded system developed for a specific application
in a specific domain with another embedded system designed for some idea on the
application and domain specific characteristics of embedded systems.
Introduction to Embedded Systems MODULE 2
washing machine-application-specific embedded system
washing machine is a typical example of an embedded system providing extensive support
in home automation applications
an embedded system contains sensors, actuator, control unit and application-specific user
interfaces like keyboards, display units, etc.
The actuator part of the washing machine consists of a motorized agitator, tumble tub, water
drawing pump and inlet to consists of the water temperature sensor, level sensor, etc.
The control part contains a micro-processor/controller-based board with interfaces to the
sensors and actuators. The sensor data is fed back to the control unit and the control unit
also provides connectivity to user interfaces like keypad for setting the washing time,
selecting the type of be washed like light, medium, heavy duty, etc.
User feedback is reflected through the display unit and LEDs connected to the control
board. The functional block diagram of a washing machine is shown in Fig.
Introduction to Embedded Systems MODULE 2
Washing machine comes in two models, namely, top loading and front-loading machines
In top loading models the agitator of the machine twists back and forth and pulls the cloth
down to the bottom of the tub. On reaching the bottom of the tub clothes works their way
back up to the top of the tub where the agitator grabs them again and repeats the mechanism.
In the front-loading machines, the clothes are tumbled and plunged into the water over and
again. This is the first phase of washing.
In the second phase of washing, water is pumped out from the tub and the inner tub uses
centrifugal force to wring out more water from the clothes by spinning at several hundred
Rotations Per Minute (RPM). This is called a ‘Spin phase’.
If you look in to the keyboard panel of your washing machines you can see three buttons
namely Wash, Spin and Rinse. You can use these buttons to configure the washing stages.
As you can see from the picture, the inner tub of the machine contains a number of holes
and during the spin cycle the inner tub spins, and forces the water out through these holes
to the stationary outer tub from which it is drained off through the outlet.
It is to be noted that the design of washing machines may vary from manufacturer to
manufacturer, but the general principle underlying in the working of the washing machine
remains the same. The basic controls consist of a timer, cycle selector mechanism, water
temperature selector, load size selector and start button. The mechanism includes the motor,
transmission, clutch, pump, agitator, inner tub, outer tub and water inlet valve. Water inlet
valve connects to the water supply line using at home and regulates the flow of water into
the tub.
The integrated control panel consists of a microprocessor/controller based board with I/O
interfaces and a control algorithm running in it. Input interface includes the keyboard which
consists of wash type selector namely Wash, Spin and Rinse, cloth type selector namely
Light, Medium, Heavy duty and washing time setting, etc.
The output interface consists of LED/LCD displays, status indication LEDs, etc. Connected
to the I/O bus of the controller.
It is to be noted that this interface may vary from manufacturer and model. The other types
of I/O interfaces which are invisible to the end user are different kinds of sensor interfaces,
namely, water temperature sensor, water level sensor, etc. and actuator interface including
motor control for agitator and tub movement control, inlet water flow control, etc.
Introduction to Embedded Systems MODULE 2
AUTOMOTIVE–DOMAIN-SPECIFIC EXAMPLES OF EMBEDDED SYSTEM
The major application domains of embedded systems are consumer, industrial, automotive,
telecom, etc., of which telecom and automotive industry holds a big market share.
Figure give an overview of the various types of electronic control units employed in
automotive applications.
Inner workings of automotive embedded systems
Automotive embedded systems are the one where electronics take control over the
mechanical systems.
The presence of automotive embedded system in a vehicle varies from simple mirror and
wiper controls to complex air bag controller and antilock brake systems (ABS).
Automotive embedded systems are normally built around microcontroller or DSPs or a
hybrid of the two and are generally known as Electronic Control Units (ECUs).
The number of embedded controllers in an ordinary vehicle varies from 20 to 40 whereas
a luxury vehicle like Mercedes S and BMW 7may content 75 to 100 numbers of embedded
controllers. Government regulations on fuel economy. Environmental factors and emission
standard and increasing customer demands on safety.
Comfort and Infotainment forces the automotive manufactures to opt for sophisticated
embedded control units within the vehicle.
The first embedded system used in automotive application was the microprocessor-based
fuel injection system introduced by Volkswagen 1600 In 1968.
The various types of electronic control units (ECUs) used in the automotive embedded
industry can be broadly classified into two-
High-speed embedded control units
Low-speed embedded control unit
Introduction to Embedded Systems MODULE 2
High-Speed Electronic Control Units (HECUs) High-speed electronic control units
(HECUs) are deployed in critical control units requiring fast response. They include fuel
injection systems, antilock brake systems, engine control, electronic throttle, steering controls,
transmission control unit and central control unit.
Low-speed Electronic Control Unit (LECUs)Low-Speed Electronic Control Units (LECUs)
are deployed in application where response time is not so critical. They generally are built
around low microcontrollers/microprocessors and digital signal processors. Audio controllers,
passenger and driver door locks, door glace controls (power windows), wiper control are
examples of LECUs
Automotive Communication Buses
Automotive applications make use of serial buses for communication. Which greatly reduces
the amount of wiring required inside a vehicle. The following are the different types of serial
interface buses deployed in automotive embedded applications.
Controller Area Network (CAN) The CAN bus was originally proposed by Robert Bosch,
pioneer in the Automotive embedded solution providers. It supports medium speed (1SO115l9-
class B with data rates up to 125 Kbps) and high speed (ISO11898 class C with data rates up
to 1Mbps) data transfer. CAN is an event-driven protocol interface with support for error
Introduction to Embedded Systems MODULE 2
handling in data transmission. It is generally employed in safety system like airbag control;
power train systems like engine control and Antilock Brake System (ABS); and navigation
systems like GPS.
Local Interconnect Network (LIN) LIN bus is a single master multiple slave (up to 16
independent slave nodes) communication interface. LIN is a low speed. single Wire
communication interface with support for data rates up to 20Kbps and is used for
sensor/actuator interfacing. LIN bus follows the master communication triggering technique to
eliminate the possible bus arbitration problem that can occur by the simultaneous talking of
different slave nodes connected to a single interface bus. LIN bus is employed in applications
like mirror controls, fan controls, seat positioning controls, window controls, and position
controls where response time is not a critical issue.
Media-Oriented System Transport (MOST) Bus the Media-oriented system transport
(MOST) is targeted for automotive audio/video equipment interfacing, used primarily in
European cars. A MOST bus is a multimedia fibre-optic point-to-point network implemented
in a star, ring or daisy- chained topology over optical fibre cables. The MOST bus
specifications define the physical (electrical and optical parameters) layer as well as the
application layer, network layer, and media access control. MOST bus is an optical fibre cable
connected between the Electrical Optical Converter (EOC) and Optical Electrical Converter
(OEC), which would translate into the optical cable MOST bus.
Key Players of the Automotive Embedded Market
The key players of the automotive embedded market can be visualized in three verticals
namely, silicon providers, solution providers and tools and platform providers.
a. Silicon Providers Silicon providers are responsible for providing the necessary chips which
are used in the control application development. The chip maybe a standard product like
microcontroller or DSP or ADC/DAG chips. Some applications may require specific chips and
they are manufactured as Application Specific Integrated Chip (ASlC). The loading silicon
providers in the automotive industry are:
Analog Device ([Link]): Provider of world class digital signal processing chips,
precision analog microcontrollers. programmable inclinometer/accelerometer, LED drivers,
etc. for automotive signal processing applications, driver assistance system, audio system,
GPS/Navigation system etc.
Introduction to Embedded Systems MODULE 2
Xilins ([Link]): Supplier of high-performance FPGAs, CPLDs and automotive
specific IP cores for GPS navigation systems. driver information systems, distance control,
collision avoidance, rear seat entertainment. adaptive cruise control, voice receptionist. etc.
Atmel ([Link]): Supplier of cost-effective high-density Flash controllers and
memories. Atmel provides a series of high-performance microcontrollers, namely, ARM1,
ARM2, and 80C51. A wide range of Application Specific Standard Products (ASSPs) for
chassis, body electronics, security, safety and car infotainment and automotive networking
products for CAN, LIN and FlexRay are also supplied by Atmel.
Maxim/Dallas ([Link]): Supplier of world class analog, digital and mixed signal
products (Microcontrollers, ADC/DAC, amplifiers, comparators, regulators, etc), RF
components, etc. for all kinds of automotive solutions.
NXP semiconductor ([Link]): Supplier of 8/16/32 Flash microcontrollers.
Renesas ([Link]): Provider of high-speed microcontrollers and Large-Scale
Integration (LSI) technology for car navigation systems accommodating three transfer speeds:
high, medium and low.
Texas Instruments ([Link]): Supplier of microcontrollers, digital signal processors and
automotive communication control chips for Local Inter Connect (LIN) bus products.
Fujitsu ([Link]): Supplier of fingerprint sensors for security applications,
graphic display controller for instrumentation application, AGPS/GPS for vehicle navigation
system and different types of microcontrollers for automotive control applications.
Infineon ([Link]): Supplier of high-performance microcontrollers and customized
application specific chips.
NEC ([Link]): Provider of high-performance microcontrollers.
b. Tools and Platform Providers
Tools and platform providers are manufacturers and suppliers of various kinds of development
tools and Real Time Embedded Operating Systems for developing and debugging different
control unit related applications. Tools fall into two categories, namely embedded software
application development tools and embedded hardware development tools. Sometimes the
silicon suppliers provide the development suite for application development using their chip.
Some third-party suppliers may also provide development kits and libraries. Some of the
leading suppliers of tools and platforms in automotive embedded applications are listed below.
Introduction to Embedded Systems MODULE 2
ENEA ([Link]): ENEA Embedded Technology is the developer of the OSE Real-
Time operating system. The OSE RTOS supports both CPU and DSP and has also been
specially developed to support multi-core and fault-tolerant system development.
The Math Works ([Link]): It is the world's leading developer and supplier of
technical software. It offers a wide range of tools, consultancy and training for numeric
computation, visualization, modelling and simulation across many different industries. Math
Work’s breakthrough product is MATLAB-a high-level programming language and
environment for technical computation and numerical analysis. Together MATLAB,
SIMULINK. State flow and Real-Time Workshop provide top quality tools for data analysis,
test & measurement, application development and deployment, image processing and
development of dynamic and reactive systems for DSP and control applications.
Keil Software ([Link]): The Integrated Development Environment Keil Micro vision
from Keil software is a powerful embedded software design tool for 8051 & C166 family of
microcontrollers.
Lauterbach ([Link] It is the world’s number one supplier of debug
tools, providing support for processors from multiple silicon vendors in the automotive market.
ARTiSAN ([Link]): Is the leading supplier of collaborative modelling tools for
requirement analysis, specification, design and development of complex applications.
Microsoft ([Link])z It is a platform provider for automotive embedded
applications. Microsoft’s WindowsCE is a powerful RTOS platform for automotive
applications. Automotive features are included in the new WinCE Version for providing
support for automotive application developers.
c. Solution Providers Solution providers supply OEM and complete solution for automotive
applications making use of the chips, platforms and different development tools. The major
players of this domain are listed below.
Bosch Automotive ([Link]): Bosch is providing complete automotive solution
ranging from body electronics, diesel engine control, gasoline engine control, powertrain
systems, safety systems, in-car navigation systems and infotainment systems.
DENSO Automotive ([Link]): Denso is an Original Equipment
Manufacturer (08M) and solution provider for engine management, climate control, body
Introduction to Embedded Systems MODULE 2
electronics, driving control & safety, hybrid vehicles, embedded infotainment and
communications.
Infosys Technologies (WWW. infosys. com): Infosys is a solution provider for automotive
embedded hardware and software Infosys provides the competitive edge in integrating
technology change through cost effective solutions.
Delphi ([Link]): Delphi is the complete solution provider for engine control, safety,
infotainment, etc., and OEM for spark plugs, bearings, etc
Introduction to Embedded Systems MODULE 2
POSSIBLE QUESTIONS
1. Explain some of the importance characteristics of embedded systems
2. Define Quality attributes of embedded systems and mention its types
3. Define operational quality attributes. Explain each attribute
4. Define nonoperational quality attributes. Explain each attribute
5. Write a note on Product Life-cycle
6. Prove Embedded systems are application and domain specific with washing machine as
example
7. Illustrate automotive–domain-specific examples of embedded system