Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
15 views14 pages

ESD Unit-I

An embedded system is a specialized electronic system designed to perform specific functions, consisting of hardware, software, and mechanical components, exemplified by devices like washing machines and air conditioners. It differs from general-purpose computers in that it is tailored for specific applications, often has deterministic execution behavior, and may not allow user alterations to its firmware. Embedded systems are classified based on various criteria, including generation, complexity, performance, and triggering, and serve purposes such as data collection, communication, processing, monitoring, and control.

Uploaded by

xpresstonoor
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views14 pages

ESD Unit-I

An embedded system is a specialized electronic system designed to perform specific functions, consisting of hardware, software, and mechanical components, exemplified by devices like washing machines and air conditioners. It differs from general-purpose computers in that it is tailored for specific applications, often has deterministic execution behavior, and may not allow user alterations to its firmware. Embedded systems are classified based on various criteria, including generation, complexity, performance, and triggering, and serve purposes such as data collection, communication, processing, monitoring, and control.

Uploaded by

xpresstonoor
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 14

B.

Tech IV-I
Electronics and Communication Engineering
EMBEDDED SYSTEMS DESIGN (R13-Regulation)

Unit - I

1. Define an Embedded system? Give examples?


Ans.) An embedded system is an electronic or electro mechanical system designed to
perform a specific function and is a combination of both hardware and software.

An embedded system is a combination of 3 things:


Hardware, Software, Mechanical Components. And it is supposed to do one specific task
only.

Example 1: Washing Machine


A washing machine from an embedded systems point of view has:
Hardware: Buttons, Display & buzzer, electronic circuitry.
Software: It has a chip on the circuit that holds the software which drives controls &
monitors the various operations possible.
Mechanical Components: the internals of a washing machine which actually wash the
clothes control the input and output of water, the chassis itself.

Example 2: Air Conditioner


An Air Conditioner from an embedded systems point of view has:
Hardware: Remote, Display & buzzer, Infrared Sensors, electronic circuitry.
Software: It has a chip on the circuit that holds the software which drives controls &
monitors the various operations possible. The software monitors the external
temperature through the sensors and then releases the coolant or suppresses it.
Mechanical Components: the internals of an air conditioner the motor, the chassis, the
outlet, etc

An embedded system is designed to do a specific job only. Example: a washing


machine can only wash clothes, an air conditioner can control the temperature in the
room in which it is placed. The hardware & mechanical components will consist all
the physically visible things that are used for input, output, etc.

An embedded system will always have a chip (either microprocessor or


microcontroller) that has the code or software which drives the system.
2. List out the difference between an embedded system and a general purpose
computer
Ans.)

GENERAL PURPOSE COMPUTER EMBEDDED SYSTEM


1)A system which is a combination 1)A system which is a combination of
of generic hardware and a general special purpose hardware and embedded
purpose operating system for operating system for executing a specific
executing a variety of applications. set of applications.

2) It contains a general purpose 2) It may or may not contain operating


Operating System(GPOS) system for its functioning.

3) Performance is the key deciding 3) Application specific requirements like


factor in the selection of the system. Power requirements, memory usage etc.
Always ‘ faster is better’ are the key deciding factors.

4) Response requirements are not 4) For certain category of embedded


time critical. systems like machine critical systems,
the Response time requirement is highly
5) Applications are alterable by the critical.
user. 5)The firmware of the embedded system
is preprogrammed and is not alterable by
the end user
6) Need not be deterministic in 6) Execution behavior is deterministic
execution behavior. for certain types of embedded systems
like ‘ Hard real Time systems’

3. What are the applications of embedded systems?


Ans.) The application areas and the products in the embedded domain are countless.
1. Consumer electronics: Camcorders, cameras, etc.
2. Household appliances: Television, DVD players, washing machine, fridge,
microwave oven, etc.
3. Home automation and security systems: Air conditioners, sprinklers, intruder
detection alarms, closed circuit television cameras, fire alarms, etc.
4. Automotive industry: Anti -lock breaking systems (ABS), engine control, ignition
systems, automatic navigation systems, etc.
5. Telecom: Cellular telephones, telephone switches, handset multimedia applications
6. Computer peripherals: Printers, scanners, fax machines, etc.
7. Computer networking systems: Network routers, switches, hubs, firewalls, etc.
8. Healthcare: Different kinds of scanners, EEG, ECG machines etc.
9. Measurement & Instrumentation: Digital multi meters, digital CROs, logic analyzers
PLC systems, etc.
10. Banking & Retail: Automatic teller machines (ATM) and currency counters, point of
sales (POS)
11. Card Readers: Barcode, smart card readers, hand held devices, etc.
4) Explain the classification of Embedded systems?

Ans.) CLASSIFICATION OF EMBEDDED SYSTEMS


It is possible to have a multitude of classifications for embedded systems, based on
different Criteria,
Some of the criteria used in the classification of embedded systems are:
I. Based on generation
2. Complexity and performance requirements
3. Based on deterministic behaviour
4. Based on triggering.
The classification based on deterministic system behaviour is applicable for 'Real Time'
systems. The application/task execution behaviour for an embedded system can be either
deterministic or non deterministic. Based on the execution behaviour, Real Time
embedded systems are classified into Hard and Soft. Embedded Systems which are
'Reactive' in nature (Like process control systems in industrial control applications) can
be classified based on the trigger. Reactive systems can be either event triggered or time
triggered.
Classification Based on Generation
This classification is based on the order in which the embedded processing systems
evolved from the first version to where they are today. As per this criterion, embedded
systems can be classified into:
First Generation
The early embedded systems were built around 8bit microprocessors like 8085 and Z80,
and 4bit microcontrollers. Simple in hardware circuits with firmware developed in
Assembly code. Digital telephone keypads, stepper motor control units etc. are examples
of this.
Second Generation
These are embedded systems built around 16bit microprocessors and 8 or 16 bit
microcontrollers, following the first generation embedded systems. The instruction set
for the second generation processors/controllers were much more complex and powerful
than the first generation processors/controllers. Some of the second generation
embedded systems contained embedded operating systems for their operation. Data
Acquisition Systems, SCADA systems, etc. are examples of second generation
embedded systems.
Third Generation
With advances in processor technology, embedded system developers started making
use of powerful 32bit processors and 16bit microcontrollers for their design. A new
concept of application and domain specific processors/controllers like Digital Signal
Processors (DSP) and Application Specific Integrated Circuits (ASICs) came into the
picture. The instruction set of processors became more complex and powerful and the
concept of instruction pipelining also evolved. The Processor market was flooded with
different types of processors from different vendors. Processors like Intel Pentium,
Motorola 68K, etc. gained attention in high performance embedded requirements.
Dedicated embedded real time and general purpose operating systems entered into the
embedded market. Embedded system spread its ground to areas like robotics, industrial
process control, media, networking. Etc.

Fourth Generation
The advent of System on Chips (SoC), reconfigurable processors and multicore
processors are bringing high performance, tight integration and miniaturisation into the
embedded device market. The SoC technique implements a total system on a chip by
integrating different functionalities with a processor core on an integrated circuit. The
fourth generation embedded systems are making use of high performance real time
embedded operating systems for their functioning. Smart phone devices, mobile internet
devices (MIDs), etc. are examples of fourth generation embedded systems.

Classification Based on Complexity and Performance


This classification is based on the complexity and system performance requirements.
According to this classification, embedded systems can be grouped into:

Small -Scale Embedded Systems Embedded systems


These are simple in application needs and where the performance requirements are not
time critical fall under this category. An electronic toy is a typical example of a small-
scale embedded system. Small-scale embedded systems are usually built around low
performance and low cost 8 or 16 bit microprocessors/microcontrollers. A small-scale
embedded system may or may not contain an operating system for its functioning.

Medium -Scale Embedded Systems Embedded systems


These are slightly complex in hardware and firmware (software) requirements fall under
this category Medium -scale embedded systems are usually built around medium
performance, low cost 16 or 32 bit microprocessors/microcontrollers or digital signal
processors. They usually contain an embedded operating system (either general purpose
or real time operating system) for functioning.

Large -Scale Embedded Systems/Complex Systems Embedded systems


These are the systems which involve highly complex hardware and firmware
requirements fall under this category. They are employed in mission critical applications
demanding high performance. Such systems are commonly built around high
performance 32 or 64 bit RISC processors/controllers or Reconfigurable System on
Chip(RSoC) or multi -core processors and programmable logic devices. They may
contain multiple processors/controllers and co-units/hardware accelerators for
offloading the processing requirements from the main processor of the system.
Decoding/encoding of media, cryptographic function implementation, etc. are examples
for processing requirements which can be implemented using a co-processor/hardware
accelerator. Complex embedded systems usually contain a high performance Real Time
Operating System (RTOS) for task scheduling, prioritization and management.

On deterministic behavior
This classification is applicable for “Real Time” systems.
The task execution behaviour for an embedded system may be deterministic
or non-deterministic. Based on execution behavior Real Time embedded
systems are divided into Hard and Soft.

On triggering
Embedded systems which are “Reactive” in nature can be based on
triggering.
Reactive systems can be:
Event triggered, Time triggered

5) Explain the purpose of an Embedded system?


Ans.) 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
An embedded system 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. The term "data" refers all kinds of information, viz, text,
voice, image, video, electrical signals and any other measurable quantities. Data can be
either analog (continuous) or digital (discrete). Embedded systems with analog data
capturing techniques collect data directly in the form of analog signals whereas
embedded systems with digital data collection mechanism converts the analog signal to
corresponding 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.
The collected data may be stored directly in the system or may be
transmitted to some other systems or it may be processed by the system or it may be
deleted instantly after giving a meaningful representation. These actions are purely
dependent on the purpose for which the embedded system is designed. Embedded
systems designed for pure measurement applications without storage, used in control
and instrumentation domain, collects data and gives a meaningful representation of the
collected data by means of graphical representation or quantity value and deletes the
collected data when new data arrives at the data collection terminal.
Examples:
Analog and digital CROs without storage memory are typical examples of this. Any
measuring equipment used in the medical domain for monitoring without storage
functionality also comes under this category.
Some embedded systems store the collected data for processing and analysis. Such
systems incorporate a built-in plug-in storage memory for storing the captured data.
Some of them give the user a meaningful representation of the collected data
by visual (graphical/quantitative) or audible means using display units [Liquid Crystal
Dis-play (LCD), Light Emitting Diode (LED), etc.] buzzers, alarms, etc.
Examples are: measuring instruments with storage memory and monitoring instruments
with storage memory used in medical applications. Certain embedded systems store the
data and will not give a representation of the same to the user, whereas the data is used
for internal processing.

A digital camera is a typical example of an embedded system with data collection,


storage, and 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. As
mentioned earlier in this chapter, the data collected by an embedded terminal may
require transferring of the same to some other system located remotely. The
transmission is achieved either by a wire -line medium or by a wireless medium. Wire -
line medium was the most common choice in all olden days embedded systems. As
technology is changing, wireless medium is becoming the standard for data
communication in embedded systems. A wireless medium offers cheaper connectivity
solutions and make the communication link free from the hassle of wire bundles. Data
can either be transmitted by analog means or by digital means. Modern industry trends
are settling towards digital communication. 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.).
Certain embedded systems act as a dedicated transmission unit between the sending a ki
receiving terminals, offering sophisticated functionalities like data packetizing,
encrypting and decrypting. Network hubs, routers, switches, etc. are typical examples of
dedicated data transmission embedded systems. They act as mediators in data
communication and provide various features like data security monitoring etc.

Data (Signal) Processing


As mentioned earlier, the data (voice, image, video, electrical signals and other
measurable quantities) collected by embedded systems may be used for various kinds of
data 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
Embedded systems falling under this category are specifically designed for monitoring
purpose. Almost all embedded products coming under the medical domain are with
monitoring functions only. They are used for determining state of some variables using
input sensors. They cannot impose control over variables. A very good example is the
electro cardiogram (ECG) machine for monitoring the heartbeat of a patient. The
machine is intended to do the monitoring of the heartbeat. It cannot impose control over
the heartbeat. The sensors used in ECG are the different electrodes connected to the
patient's body. •
Some other examples of embedded systems with monitoring function are
measuring instruments like digital CRO, digital multimeters, logic analyzers, etc. used
in Control & Instrumentation applications. They are used for knowing (monitoring) the
status of some variables like current, voltage, etc. They cannot control the variables in
turn.

Control
Embedded systems with control functionalities impose control over some variables
according to the changes in input variables. 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. The actuators connected to the
output port are controlled according to the changes in input variable to put an impact on
the controlling variable to bring the controlled variable to the specified range.

Air conditioner system used in our home to control the room temperature to a
specified limit is a typical example for embedded system for control purpose. An air
conditioner contains a room temperature sensing element (sensor) which may be a
thermistor and a handheld unit for setting up (feeding) the desired temperature. The
handheld unit may be connected to the central embedded unit residing inside the air
conditioner through a wireless link or through a wired link. The air compressor unit acts
as the actuator. The compressor is controlled according to the current room temperature
and the desired temperature set by the end user. Here the input variable is the current
room temperature and the controlled variable is also the room temperature. The
controlling variable is cool air flow from compressor unit. If the controlled variable and
input variable are not at the same value, the controlling variable tries to equalise than
through taking actions on the cool air flow.

Application Specific User Interface

These are embedded systems with application -specific user interfaces like buttons,
switches, keypad, lights, bells, display units, etc. Mobile phone is an example for this. In
mobile phone the user interface is provided through the keypad, graphic LCD module,
system speaker, vibration alert, etc.

6) Explain the characteristics of Embedded systems?

Ans.) CHARACTERISTICS OF AN EMBEDDED SYSTEM


Unlike general purpose computing systems, embedded systems possess certain specific
characteristics and these characteristics are unique to each embedded system. Some of
the important characteristics of an embedded system 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
If you closely observe any embedded system, you will find that each embedded system
is having certain functions 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, you cannot replace the embedded control unit of your microwave oven with
your air conditioner's embedded control unit, because the embedded control units of
microwave oven and air conditioner are specifically designed to perform certain specific
tasks. Also you cannot replace an embedded control unit developed for a particular
domain say telecom with another control unit designed to serve another domain like
consumer electronics.
Reactive and Real Time
As mentioned earlier, embedded systems are in constant interaction with the Real world
through sensors and user -defined input devices which are connected to the input port of
the system. Any changes happening in the Real world (which is called an Event) are
captured by the sensors or input devices in Real Time and the 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 a periodic one or an unpredicted one. If the event is an
unpredicted one then such systems should be designed in such a way that it should be
scheduled to capture the events without missing them. Embedded systems produce
changes in output in response to the changes in the input. So they are generally referred
as Reactive Systems. Real Time System operation means the timing behaviour of the
system should be deterministic meaning the system should respond to requests 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. Embedded applications or systems which are mission critical, like flight
control systems, Antilock Brake Systems (ABS), etc. are examples of Real Time
systems. The design of an embedded Real time system should take the worst case
scenario into consideration.

Operates in Harsh Environment


It is not necessary that all embedded systems should be deployed in controlled
environments. 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. Systems
placed in such areas should be capable to with stand all these adverse operating
conditions. The design should take care of the operating conditions of the area where the
system is going to implement. For example, if the system needs to be deployed in a high
temperature zone, then all the components used in the system should be of high
temperature grade. Here we cannot go for a compromise in cost. Also proper shock
absorption techniques should be provided to systems which are going to be
commissioned in places subject to high shock. Power supply fluctuations, corrosion and
component aging, etc. are the other factors that need to be taken into consideration for
embedded systems to work in harsh environments.

Distributed
The term distributed means that embedded systems may be a part of larger systems.
Many numbers of such distributed embedded systems form a single large embedded
control unit. An automatic vending machine is a typical example for this. The vending
machine contains a card reader (for prepaid vending systems), a vending unit, etc. Each
of them are independent embedded units but they work together to perform the overall
vending function. Another example is the Automatic Teller Machine (ATM)
An ATM contains a card reader embedded unit, responsible for reading and validating
the user’s ATM card, transaction unit for performing transactions, a currency
dispatching/ vending currency to the authorised person and a printer unit for printing
the transaction details. We can visualise these as independent embedded systems. But
they work together to achieve a common goal.
Another typical example of a distributed embedded system is the Supervisory
Control And Data Acquisition (SCADA) system used in Control & Instrumentation
applications, which contains physically distributed individual embedded control units
connected to a supervisory module

Small Size and Weight


Product aesthetics is an important factor in choosing a product. For example, when you
plan to buy a new mobile phone, you may make a comparative study on the pros and
corns of the products available in the market. Definitely the product aesthetics (size,
weight, shape, style, etc.) will be one of the deciding factors to choose a product. People
believe in the phrase "Small is beautiful". Moreover it is convenient to handle a compact
device than a bulky product. In embedded domain also compactness is a significant
deciding factor. Most of the application demands small sized and low weight products.

Power Concerns
Power management is another important factor that needs to be considered in designing
embedded systems. Embedded systems should be designed in such a way as to minimise
the heat dissipation by the system. The production of high amount of heat demands
cooling requirements like cooling fans which in turn occupies additional space and make
the system bulky. Nowadays ultra low power components are available in the market.
Select the design according to the low power components like low dropout regulators,
and controllers/processors with power saving modes. Also power management is a
critical constraint in battery operated application. The more the power consumption the
less is the battery life.
7) What are the Quality attributes in Embedded Systems? Explain?

Ans.) QUALITY ATTRIBUTES OF EMBEDDED SYSTEMS


Quality attributes are the non-functional requirements that need to be documented
properly in any system design. If the quality attributes are more concrete and measurable
it will give a positive impact on the system development process and the end product.
The various quality attributes that needs to be addressed in any embedded system
development are broadly classified into two. namely 'Operational Quality Attributes' and
'Non -Operational Quality Attributes'.

Operational Quality Attributes


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:
1. Response
2. Throughput
3. Reliability
4. Maintainability
5. Security
6. Safety

Response
Response is a measure of quickness of the system. It gives you an idea about how fast
your system is tracking the changes in input variables. Most of the embedded systems
demand fast response which should be almost Real Time. For example, an embedded
system deployed in flight control application should respond in a Real Time manner.
Any response delay in the system will create potential damages to the safety of the flight
as well as the passengers. It is not necessary that all embedded systems should be Real
Time in response. For example, the response time requirement for an electronic toy is
not at all time -critical. There is no specific deadline that this system should respond
within this particular timeline.
Throughput
Throughput deals with the efficiency of a system. In general it can be defined as the rate
of production or operation of a defined process over a stated period of time. The rates
can be expressed in terms of units of products, batches produced, or any other
meaningful measurements. In the case of a Card Reader, throughput means how many
transactions the Reader can perform in a minute or in an hour or in a day. Throughput is
generally measured in terms of 'Benchmark'. A 'Benchmark' is a reference point by
which something can be measured. Benchmark can be a set of performance criteria that
a product is expected to meet or a standard product that can be used for comparing other
products of the same product line.
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. For an
embedded system with critical application need, it should be of the order of minutes.

Maintainability
Maintainability deals with support and maintenance to the end user or client in case of
technical issues and product failures or on the basis of a routine system checkup.
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. Maintainability can be
broadly classified into two categories, namely, 'Scheduled or Periodic Maintenance
(preventive maintenance)' and 'Maintenance to unexpected failures (corrective
maintenance)'. A printer is a typical example for illustrating the two types of
maintainability. An inkjet printer uses ink cartridges, which are consumable components
and as per the printer manufacturer the end user should replace the cartridge after each
'n' number of printouts to get quality prints. This is an example for 'Scheduled or
Periodic maintenance'. If the paper feeding part of the printer fails the printer fails to
print and it requires immediate repairs to rectify this problem. This is an example of
'Maintenance to unexpected failure'. In both of the maintenances (scheduled and repair),
the printer needs to be brought offline and during this time it will not be available for the
user.
Hence it is obvious that maintainability is simply an indication of the availability of the
product for use.
In any embedded system design, the ideal value for availability is expressed as
Ai = MTBF/(MTBF +MTTR)
where Ai= Availability in the ideal condition, MTBF= mean Time Between Failures,
and MTTR=Mean Time To Repair

Security
Confidentiality, Integrity, 'Availability' (The term 'Availability' mentioned here is not
related to the term' Availability' mentioned under the 'Maintainability' section) 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 unauthorised modification. Availability deals with
protection of data and application from unauthorized users.
A very good example of the 'Security' aspect in an embedded product is a
Personal Digital Assistant (PDA). The PDA can be either a shared resource (e.g. PDAs
used in LAB setups) or an individual one. If it is a shared one there should be some
mechanism in the form of a user name and password to access into a particular person's
profile—This is an example of 'Availability'. Also all data and applications present in
the PDA need not be accessible to all users. Some of them are specifically accessible to
administrators only. For achieving this, Administrator and user levels of security should
be implemented -An example of Confidentiality. Some data present in the PDA may be
visible to all users but there may not be necessary permissions to alter the data by the
users. That is Read Only access is allocated to all users—An example of Integrity.

Safety
'Safety' and 'Security' are two confusing terms. Sometimes you may feel both of them as
a single attribute. But they represent two unique aspects in quality attributes. 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. The breakdown of an
embedded system may occur due to a hardware failure or a firmware failure. Safety
analysis is a 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. As stated before, some of the safety threats are sudden (like product
breakdown) and some of them are gradual (like hazardous emissions from the product).

Non -Operational Quality Attributes


The quality attributes that needs to be addressed for the product 'not' on the basis of
operational aspects are grouped under this category. 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 product, testability is applicable to both the
embedded hardware and firmware. Embedded hardware testing ensures that the
peripherals and the total hardware functions in the desired manner, whereas firmware
testing ensures 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 create
unexpected behaviour in 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 fly figuring Out the issues created by hardware
problems whereas firmware debugging is employed to figure Out the probable errors
that appear as a result of flaws in the firmware.

Evolvability

Evolvability is a term which is closely related to Biologv. Evolvability is referred as the


non -heritable variation. For an embedded system, the quality attribute ‘Evolvability’
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 systems. The ease with which an
embedded product can be on to a new platform is a direct measure of the re -work
required. A standard embedded product should always be flexible and portable. In
embedded products, the term 'porting' represents the migration of the embedded
'firmware written for one target processor (e.g. Intel x86) to a different target processor
(say Hitachi SH3 processor). If the firmware is written in a high level language like 'C'
with little target processor -specific functions (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.

Time -to -Prototype and Market


Time -to -market is the time elapsed between the conceptualisation of a product and the
time at which the product is ready for selling (for commercial product) or use (for non-
commercial products). 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 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 have superseded with a new technology. Product prototyping helps a lot in
reducing time -to -market. Prototyping is an informal kind of rapid product development
in which the important features of the product under consideration are developed. The
time to prototype is also another critical factor. If the prototype is developed faster, the
actual estimated development time 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 a
nominal rate, may lead to the failure of the 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 product. 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 profit.

You might also like