0% found this document useful (0 votes)
5 views65 pages

Chapter 1

The document provides an overview of embedded systems, defining them as dedicated computing systems designed for specific functions within larger mechanical or electrical systems. It highlights their characteristics, such as reliability, efficiency, and real-time constraints, and discusses various applications across consumer electronics, automobiles, and industrial instrumentation. Additionally, it outlines the embedded software development process, emphasizing the importance of system specifications and design in creating effective embedded solutions.

Uploaded by

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

Chapter 1

The document provides an overview of embedded systems, defining them as dedicated computing systems designed for specific functions within larger mechanical or electrical systems. It highlights their characteristics, such as reliability, efficiency, and real-time constraints, and discusses various applications across consumer electronics, automobiles, and industrial instrumentation. Additionally, it outlines the embedded software development process, emphasizing the importance of system specifications and design in creating effective embedded solutions.

Uploaded by

Naol Teshome
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Addis Ababa University

College of Natural and Computational Sciences

DEPARTMENT OF COMPUTER SCIENCE

Real time and Embedded System(CoSc6316)

Ayalew Belay (PhD)


email:[Link]@[Link]
Introduction
◼An embedded system is nearly any computing
system other than a desktop computer

◼ An embedded system is a dedicated system which


performs the desired function upon power
up,repeatedly
◼ An embedded system is a computer system with a
dedicated function within a larger mechanical or
electrical system, often with real-time computing
constraints.
◼It is embedded as part of a complete device often
including hardware and mechanical parts.
◼ Embedded systems control many devices in common
Introduction ...
Introduction ...
◼ An embedded system is one that has computer hardware
with software embedded in it as one of its components.
Or
◼ An embedded system as “A microprocessor based system
that does not look like a computer”.
Or
◼ “A combination of computer hardware and software, and
perhaps additional mechanical or other parts, designed to
perform a dedicated function. In some cases, embedded
systems are part of a larger system or product, as is the
case of an anti lock braking system in a car ”

◼ An embedded system is a special-purpose computer


system designed to perform certain dedicated functions. It
is usually embedded as part of a complete device
including hardware and mechanical parts.
Introduction ...
Introduction ...
◼ An Embedded system is a specific to a application, whereas a
computer system is generic
◼ Though the components are same there is substantial
difference in them.
◼ A personal computer is not designed to perform a specific
function, rather it is able to do many things.
◼ The essential difference is that a computer when manufactured
is in blank state, the manufacturer does not know what the
customer will do with it, while an Embedded system is application
specific.
◼ An Embedded system is a component within some large
systems
◼ If required each of the embedded systems are connected by a
sort of a communication network.
◼ Numerous embedded systems make up the computer system.
Introduction ...
◼ Due to their compact size, low cost and simple design
aspects made embedded systems very popular and
encroached into human lives and have become
indispensable.

◼ Embedded systems are found in a variety of common


electronic devices, such as:
◼ consumer electronics -- cell phones, pagers,
digital cameras, camcorders, videocassette
recorders, portable video games, calculators, and
personal digital assistants
Introduction ...
◼Home appliances
◼microwave ovens, answering machines, thermostat,
home security, washing machines, and lighting systems

◼officeautomation -- fax machines, copiers, printers,


and scanners

◼business equipment -- cash registers, curbside


check-in, alarm systems, card readers, product
scanners, and automated teller machines

◼automobiles --transmission control, cruise control,


fuel injection, anti-lock brakes, and active suspension


Introduction ...
Embedded systems span all aspects of modern life and there are
many examples of their use.

a) Biomedical Instrumentation – ECG Recorder, Blood cell


recorder, patient monitor system

b) Communication systems – pagers, cellular phones, cable TV


terminals, fax and trans receivers, video games and so on.

c) Peripheral controllers of a computer – Keyboard controller,


DRAM controller, DMA controller, Printer controller, LAN
controller, disk drive controller.

d) Industrial Instrumentation – Process controller, DC motor


controller, robotic systems, CNC machine controller, close loop
engine controller, industrial moisture recorder and controller.

e) Scientific – digital storage system, CRT display controller,


spectrum analyzer.
Introduction ...
Introduction ...
Introduction ...
Characteristics of Embedded Systems
Must be dependable:

◼ Reliability: R(t) = probability of system working correctly


◼ provided that is was working at t=0
◼ Maintainability: M(d) = probability of system working correctly d
time units after error occurred.
◼ Availability: probability of system working at time t
◼ Safety: no harm to be caused
◼ Security: confidential and authentic communication

◼ Even perfectly designed systems can fail if the assumptions
◼ about the workload and possible errors turn out to be wrong.

◼ Making the system dependable must not be an after-thought, it
◼ must be considered from the very beginning.
Introduction ...
Must be efficient:

◼ Energy efficient
◼ Code-size efficient (especially for systems on a chip)
◼ Run-time efficient
◼ Weight efficient
◼ Cost efficient

Dedicated towards a certain application: Knowledge about


behavior at design time can be used to minimize resources
and to maximize robustness.

Dedicated user interface (no mouse, keyboard and screen).


Introduction ...
Must meet real-time constraints:

◼ A real-time system must react to stimuli from the controlled


object (or the operator) within the time interval dictated by the
environment.

◼ For real-time systems, right answers arriving too late (or even
too early) are wrong.

„A real-time constraint is called hard, if not meeting that


constraint could result in a catastrophe“ [Kopetz, 1997].

All other time-constraints are called soft.

A guaranteed system response has to be explained without


statistical arguments.
Introduction ...

◼ Frequently connected to physical environment through


sensors and actuators,
◼ Hybrid systems (analog + digital parts)
◼ Typically, ES are reactive systems:

◼ “A reactive system is one which is in continual


interaction with is environment and executes at a pace
determined by that environment“ [Bergé, 1995]

Behavior depends on input and current state


Introduction ...
◼ ES is designed to do some particular task.

◼ ESs are not always standalone devices.

◼ The program instructions written for embedded systems are


referred to as firmware and are stored in ROM or flash memory
chips.
Introduction ...
Introduction ...
Introduction ...
Embedded systems do a very specific task, they
cannot be programmed to do different things.

◼ Embedded systems have very limited resources,


particularly the memory. Generally, they do not have
secondary storage devices such as the CDROM or
the floppy disk.

◼ Embedded systems have to work against some


deadlines. A specific job has to be completed within a
specific time.

◼ Insome embedded systems, called real-time


systems, the deadlines are stringent. Missing a dead
line may cause a catastrophe – loss of life or damage
Introduction ...
◼ Embedded systems are constrained for power, As many
embedded systems operate through a battery, the power
consumption has to be very low.

◼ Embedded systems need to be highly reliable. Once in a


while, pressing ALT-CTRL-DEL is OK on your desktop, but you
cannot afford to reset your embedded system.

◼ Some embedded systems have to operate in extreme


environmental conditions such as very high temperatures and
humidity.
◼ Embedded systems that address the consumer market (for
example electronic toys) are very cost-effective. Even a
reduction of Rs.10 is lot of cost saving, because thousands or
millions systems may be sold.
Introduction ...
◼ Unlikedesktop computers in which the hardware platform is
dominated by Intel and the operating system is dominated by
Microsoft, there is a wide variety of processors and operating
systems for the embedded systems. So, choosing the right
platform is the most complex task.

◼ Timeliness - Even infinitely fast computer embedded software


needs to deal with time because the physical processes with
which it interacts evolves over time.

◼ Concurrency- Engage with the physical world where multiple


things happen at once.

◼ Liveliness
- Program must not terminate or block waiting for
events that will never occur.

◼ Heterogeneity - Different computational styles and


Introduction ...
◼ Reactivity
- React continuously to the environment at
the speed of the environment.

◼ Reliability
and security - The system must be reliable
and secure against errors.

◼ Interaction
with physical devices - The communication
of embedded systems is performed through unusual i/o
devices that sometimes require signal conditioning.

◼ Robustness - The conditions of the embedded systems


operation may be adverse, so they must be as robust
as possible.
Introduction ...
◼Low cost
◼Small size
◼High reliability
◼Fast operations
◼Easy to manufacture
◼Fewer interconnections
◼Portable, such as digital watches, mp3 player,
etc
◼Real time response
◼No user interface
◼Not much data storage
Introduction ...
◼Stand-alone Embedded Systems
◼ As the name implies, stand-alone systems work in stand-alone
mode. They take inputs, process them and produce the desired
output. The input can be electrical signals from transducers or
commands from a human being such as the pressing of a
button.

◼ The output can be electrical signals to drive another system,
an LED display or LCD display for displaying of information to
the users. Embedded systems used in process control,
automobiles, consumer electronic items etc. fall into this
category.
◼Real-time Systems

◼ Embedded systems in which some specific work has to be
done in a specific time period are called real-time systems.

◼ For example, consider a system that has to open a valve within
30 milliseconds when the humidity crosses a particular
threshold. If the valve is not opened within 30 milliseconds, a
catastrophe may occur. Such systems with strict deadlines are
called hard real-time systems.

◼ In some embedded systems, deadlines are imposed, but not adhering to
them once in a while may not lead to a catastrophe.
◼ For example,consider a DVD player. Suppose, you give a command to the
DVD player from a remote control, and there is a delay of a few
milliseconds in executing that command. But, this delay won’t lead to a
serious implication. Such systems are called soft real-time systems
◼Networked Information Appliances
◼ Embedded systems that are provided with network interfaces
and accessed by networks such as Local Area Network or the
Internet are called networked information appliances.

◼ Such embedded systems are connected to a network, typically
a network running TCP/IP (Transmission Control
Protocol/Internet Protocol) protocol suite, such as the Internet
or a company’s Intranet.
◼ Examples
◼ A networked process control system consists of a number of
embedded systems connected as a local area network
◼ A web camera can be connected to the Internet. The web
camera can send pictures in real-time to any computer
connected to the Internet.
◼ The door lock of your home can be a small embedded system
with TCP/IP and HTTP server software running on it
◼Mobile Devices

◼ Mobile devices such as mobile phones, Personal Digital
Assistants (PDAs), smart phones etc. are a special category of
embedded systems. Though the PDAs do many general
purpose tasks, they need to be designed just like the
‘conventional’ embedded systems

◼ The limitations of the mobile devices – memory constraints,
small size, lack of good user interfaces such as full fledged
keyboard and display etc. are same as those found in the
embedded systems discussed above.
◼ Hence, mobile devices are considered as embedded systems..
Embedded systems are a combination of
hardware and software as well as other
components that we bring together in to products
such as cell phones,music player,a network
router,or an aircraft guidance system.

◼ They are a system within another system

◼ Assembly language was the pioneer for programming
embedded systems till recently. Nowadays there are
many more languages to program these systems.

◼ Some of the languages are C, C++, Ada, Forth, and
Java together with its new enhancement J2ME.

◼ The presence of tools to model the software in UML,
SDL is sufficient to indicate the maturity of embedded
software programming

◼ The majority of software for embedded systems is still
done in C language. Recent survey indicates that
approximately 45% of the embedded software is still
◼ C++ is also increasing its presence in embedded
systems. As C++ is based on C language, thus
providing programmer the object oriented
methodologies to reap the benefits of such an
approach

Embedded Software Development
◼ Design approach has been traverse the two sides,
Hardware & software components

◼ Design the hardware components

◼ Design the software components

◼ Bring the two together

◼ Spend time testing and debugging the system

◼The major areas of the design process are


◼ Ensuring a sound software and hardware specification.

◼ Formulating the architecture for the system to be


designed.
◼ Partitioning the h/w and s/w.

◼ Providing an iterative approach to the design of h/w and

s/w
Embedded Software Development...
◼ The important steps in developing an embedded system
◼ Requirement definition.

◼ System specification.

◼ Functional design

◼ Architectural design

◼ Prototyping.

◼The major aspects in the development of embedded


applications are
◼ Digital hardware and software architecture

◼ Formal design , development, and optimization process.

◼ Safety and reliability.

◼ Digital hardware and software/firmware design.

◼ The interface to physical world analog and digital


signals.
◼ Debug, troubleshooting and test of our design.
Embedded Software Development...
◼Identifying and formulating the requirement specification
⚫Requirements analysis in systems engineering and
software engineering, encompasses those tasks that go into
determining the needs or conditions to meet for a new or
altered product, taking account of the possibly conflicting
requirements of the various stakeholders, analyzing,
documenting, validating and managing software or system
requirements
Embedded Software Development...
◼The system design specification
⚫The System Design Specification (SDS) is a complete
document that contains all of the information needed to
develop the system. Systems design is the process of
defining the architecture, components, modules, interfaces,
and data for specified requirements
System specification versus system requirements
◼ The requirement specifications provides a view from the outside
of the system, design specification provides a view from the
inside looking out as well.
◼ Design specification has 2 masters:
◼ It must specify the system‘s public interface from inside the

system.
◼ It must specify how the requirements defined for and by the

public interface are to be met by the initial functions of the


system.
◼ Five areas should be considered are:
◼ Geographical constraints.

◼ Characterization of and constraints on interface signals.

◼ User interface requirements

◼ Temporal constraints.

◼ Electrical infrastructure consideration

◼ Safety and reliability


A specification is a precise description of the system
that meets stated requirements. Aspecification
document should be
⚫ Complete

⚫ Consistent

⚫ Comprehensible

⚫ Traceable to the requirement

⚫ Unambiguous

⚫ Modifiable

⚫ Able to be written
◼Functional design
◼ ⚫
The functional design process maps the "what to do" of
the Requirements Specification into the "how to do it" of
the design specifications
◼ The functional design describes the logical system
flow,data organization, system inputs and outputs,
processing rules, and operational characteristics of the
product from the user's point of view
◼ The functional design is not concerned with the software

or hardware that will support the operation of the product


◼Architectural design
◼ The major objective of the Architectural design activity is

the allocation or mapping of the different pieces of


system functionality to the appropriate hardware and
software blocks. Work is based on the detailed functional
structure
◼ The important constraints that must be considered include

items as
◼ The geographical distribution.

◼ Physical and user interfaces

◼ System performance specifications.

◼ Timing constraints and dependability requirements

◼ Power consumption

◼ Legacy components and cost.


◼Hardware and software specification and design
◼ For the software design, the following must be analyzed

and decided.
◼ Whether to use a real time kernel.

◼ Whether several functions can be combined in order to

reduce the number of software


◼ tasks and if so, how?

◼ A priority for each task.

◼ An implementation technique for each intertask


relationship
◼The important criteria that we strive to optimize are
◼ Implementation cost .Development time and cost
◼ Performance and dependability constraints

◼ Power consumption .Size


◼Functional model
◼ The functional model describes a system through a set

of interacting functional elements. The design proceeds


at a high level without initial bias toward any specific
implementation.
◼ The functional models will interact using one of the
following 3 types of relations
◼ The shared variable relation-which defines a data
exchange without temporal dependencies.
◼ The synchronization relation- which specifies temporal

dependency.
◼ The message transfer by port- which implies a
producer/consumer kind of relationship
◼Architectural model
◼ The architectural model describes the physical
architecture of the system based on real components
such as microprocessor, arrayed logics, special purpose
processors,analog and digital components, and the
many interconnections between them
◼Prototyping
◼The prototype phase leads to an operational system
prototype. A prototype implementation includes
◼ Detailed design

◼ Debugging

◼ Validation

◼ Testing
Embedded Software Development...
◼ The fundamentals of design are
⚫ Find out what the customers want.

⚫ Think of a way to give them what they want.

⚫ Prove what you have done by building and testing it.

⚫ Build a lot of the product to prove that it wasn‘t an

accident.
⚫ Use the product to solve the customer‘s problem

◼ The common life cycle models are:


⚫ Waterfall model

⚫ V cycle model.

⚫ Spiral

⚫ Rapid prototype
Thank You !
Questions, Comments ?

You might also like