You are on page 1of 98

EC8791

Click to edit Master title style


EMBEDDED & REAL TIME SYSTEMS

INTRODUCTION

J.Sampathkumar, AP/ECE
Mahendra College of Engineering,
1
Salem
TEXTBOOKS:
TEXT BOOKS:
1.1.Marilyn
MarilynWolf,Wolf,―Computers
―ComputersasasComponents
Components- -
PrinciplesofofEmbedded
Principles EmbeddedComputing
ComputingSystem
System
Design‖,Third
Design‖, ThirdEdition
Edition―Morgan
―MorganKaufmann
Kaufmann
Publisher(An
Publisher (Animprint
imprintfrom
fromElsevier),
Elsevier),2012.
2012.
(UNITI,I,II,II,III,
(UNIT III,V)V)
2.2.Jane
JaneW.S.Liu,‖
W.S.Liu,‖Real RealTime
TimeSystems‖,
Systems‖,Pearson
Pearson
Education,Third
Education, ThirdIndian
IndianReprint,
Reprint,2003.(UNIT
2003.(UNITIV)
IV)

2
J.Sampathkumar, AP/ECE, MCE
SYL
LA
BU
S

3
J.Sampathkumar, AP/ECE, MCE
Unit
UnitI I

INTRODUCTION TO EMBEDDED
SYSTEM DESIGN

4
J.Sampathkumar, AP/ECE, MCE
What is an Embedded
system?
• A combination of hardware and software
which together form a component of a larger
machine.
• An example of an embedded system is a
microprocessor that controls an automobile
engine.

• An embedded system is designed to run on its


own without human intervention, and may be
required to respond to events in real time.
5
J.Sampathkumar, AP/ECE, MCE
Applications
Areas

6
J.Sampathkumar, AP/ECE, MCE
Application Areas
• TV
• stereo
• remote control
• phone / mobile phone
• refrigerator
• washing machine
• electric tooth brush
• oven / rice or bread cooker
• watch
• alarm clock
• electronic musical instruments
• electronic toys (stuffed animals,handheld toys, pinballs, etc.)
• medical home equipment (e.g. blood pressure, thermometer)

7
J.Sampathkumar, AP/ECE, MCE
• Embedded systems everywhere

8
J.Sampathkumar, AP/ECE, MCE
Application Areas
• Medical Systems
– pace maker, patient monitoring systems, injection systems, intensive
care units, …
• Office Equipment
– printer, copier, fax, …
• Tools
– multimeter, oscilloscope, line tester, GPS, …
• Banking
– ATMs, statement printers, …
• Transportation
– (Planes/Trains/[Automobiles] and Boats)
• radar, traffic lights, signalling systems, …

9
J.Sampathkumar, AP/ECE, MCE
Application Areas
• Automobiles
– engine management, trip computer, cruise control, immobilizer,
car alarm,
– airbag, ABS, ESP, …
• Building Systems
– elevator, heater, air conditioning, lighting, key card entries, locks,
alarm systems, …
• Agriculture
– feeding systems, milking systems, …
• Space
– satellite systems, …

10
J.Sampathkumar, AP/ECE, MCE
Significance
• 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. They are found
everywhere from kitchen ware to space craft.
To emphasize this idea here are some
illustrations.

11
J.Sampathkumar, AP/ECE, MCE
Why a microcontroller ?
• A microcontroller is a single silicon chip with memory and all
Input/Output peripherals on it.
• Hence a microcontroller is also popularly known as a single
chip computer.

12
J.Sampathkumar, AP/ECE, MCE
Normally, a single microcomputer has the following features :

• Arithmetic and logic unit


• Memory for storing program
• EEPROM for nonvolatile data storage
• RAM for storing variables and special function registers
• Input/output ports
• Timers and counters
• Analog to digital converter
• Circuits for reset, power up, serial programming,
• debugging
• Instruction decoder and a timing and control unit
• Serial communication port

So, its no wonder to say that the microcontroller is the most sought after
device for designing an efficient embedded system.
13
J.Sampathkumar, AP/ECE, MCE
What is inside an embedded
system ?
• Every embedded system consists of custom-built hardware built
around a Central Processing Unit (CPU).
• This hardware also contains memory chips onto which the
software is loaded. The software residing on the memory chip is
also called the ‘firmware’.
• The operating system runs above the hardware, and the
application software runs above the operating system.
• The same architecture is applicable to any computer including a
desktop computer. However, there are significant differences.
• It is not compulsory to have an operating system in every
embedded system.

14
J.Sampathkumar, AP/ECE, MCE
• For small appliances such as remote control units,
airconditioners, toys etc., there is no need fir an operating
system and we can write only the software specific to that
application.
• For applications involving complex processing, it is dvisable to
have an operating system.
• In such a case, you need to integrate the application software
with the operating system and then transfer the entire
software on to the memory chip. Once the software is
transferred to the memory chip, the software will continue to
run for a long time and you don’t need to reload new software.

15
J.Sampathkumar, AP/ECE, MCE
Layered Architecture of an
embedded system

16
J.Sampathkumar, AP/ECE, MCE
Various building blocks of
the hardware of an embedded system.
• Central Processing Unit (CPU)
• Memory (Read only memory and Random
access memory)
• Input Devices
• Output Devices
• Communication interfaces
• Application specific circuitry

17
J.Sampathkumar, AP/ECE, MCE
Hardware architecture of an
embedded system

18
J.Sampathkumar, AP/ECE, MCE
Features of an embedded
system
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.
In some embedded systems, called realtime systems, The
Deadlines Are stringent. Missing a dead line may cause a
catastrophe – loss of life or damage to property.
19
J.Sampathkumar, AP/ECE, MCE
• 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.
20
J.Sampathkumar, AP/ECE, MCE
• 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.
• Unlike desktop 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 .

21
J.Sampathkumar, AP/ECE, MCE
Constraints of Embedded Systems
• Available system memory
• Available processor speed
• Need to limit power dissipation. When
running the system continuously.

22
J.Sampathkumar, AP/ECE, MCE
CATEGORIES OF EMBEDDED SYSTEMS

• Based on functionality and performance


requirements, embedded systems are
categorized as :
1. Stand-alone embedded systems
2. Real time systems
3. Networked information appliances
4. Mobile devices

23
J.Sampathkumar, AP/ECE, MCE
Stand alone 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.

Examples:
 
Embedded systems used in
 
– Process control,
– Automobiles,
– electronic items etc

24
J.Sampathkumar, AP/ECE, MCE
Real-time Systems:
• Embedded systems in which some specific work
has to be done in a specific time period are
called real-time systems.
Two types.
a. Hard real time systems:
Missing a deadline may lead to a catastrophe.
E.g.: missile embedded with a tracking system
b. Soft real time systems:
The deadline is important but missing the
deadline will not lead to a catastrophe.
E.g.: DVD player

25
J.Sampathkumar, AP/ECE, MCE
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 systems are connected to a network,
typically a network running TCP/IP protocol suite such as the
internet or a company’s Intranet
• These systems run the protocol TCP/IP stack and get
connected either through PPP or Ethernet to a network and
communicate with other nodes in the network.
Examples
 LAN where each embedded system
can send real-time data to a central
location from where the entire process
control system can be monitored. The
monitoring can be done using a web
browser such as the Internet Explorer.

26
J.Sampathkumar, AP/ECE, MCE
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.

27
J.Sampathkumar, AP/ECE, MCE
Classification of Embedded systems
1. Small scale Embedded system  (8/16bit
microcontroller)
2. Medium Scale Embedded system  (16/32bit
microcontroller, more tools like simulator, debugger)
3. Sophisticated Embedded system  (configurable
processor and PAL)
Embedded designer—skills
• Designer has a knowledge in the followings field,
– Microcontrollers, Data comm., motors, sensors,
measurements ,C programming, RTOS programming.

28
J.Sampathkumar, AP/ECE, MCE
COMPLEX SYSTEMS AND
MICROPROCESSORS
• computer, but it is really one of many types of computer systems.
• A computer is a stored program machine that fetches and executes
instructions from a memory. We can attach different types of devices to
the computer, load it with different types of software, and build many
different types of systems.
• So what is an embedded computer system? Loosely defined, it is any
device that includes a programmable computer but is not itself intended
to be a general-purpose computer.
• Thus, a PC is not itself an embedded computing system. But a fax machine
or a clock built from a microprocessor is an embedded computing system.
• This means that embedded computing system design is a useful skill for
many types of product design. Automobiles, cell phones, and even
household appliances make extensive use of microprocessors.

29
J.Sampathkumar, AP/ECE, MCE
• Designers in many fields must be able to identify where
microprocessors can be used, design a hardware
platform with I/O devices that can support the required
tasks, and implement software that performs the
required processing.
i. Embedding Computers,
• single-chip microprocessor.
• However, the ability to write programs to perform math
rather than having to design digital circuits to perform
operations like trigonometric functions was critical to
the successful design of the calculator. Automobile
designers started making use of the microprocessor
soon after single-chip CPUs became available.

30
J.Sampathkumar, AP/ECE, MCE
Microprocessors come in many different levels of sophistication; they are usually classified
by their word size.

• An 8-bit microcontroller is designed for low-cost applications and includes on-board


memory and I/O devices;
• a 16-bit microcontroller is often used for more sophisticated applications that may
require either longer word lengths or off-chip I/O and memory; and
• a 32-bit RISC microprocessor offers very high performance for computation intensive
applications.
• Given the wide variety of microprocessor types available, it should be no surprise that
microprocessors are used in many ways. There are many household uses of
microprocessors.

EXAMPLE:
• microwave oven has at least one microprocessor to control oven operation.
• Many houses have advanced thermostat systems, which change the temperature level
at various times during the day.
• The modern camera is a prime example of the powerful features that can be added
under microprocessor control.
• Digital television makes extensive use of embedded processors.

31
J.Sampathkumar, AP/ECE, MCE
• A programmable CPU was used rather than a hardwired unit for two reasons:
First, it made the system easier to design and debug; and second, it allowed
the possibility of upgrades and using the CPU for other purposes.
EXAMPLE:
• The BMW 850i was introduced with a sophisticated system for controlling the
wheels of the car.
• An antilock brake system (ABS) reduces skidding by pumping the brakes.
• These systems actively control critical systems of the car; as control systems,
they require inputs from and output to the automobile.
• The purpose of an ABS is to temporarily release the brake on a wheel when it
rotates too slowly—when a wheel stops turning, the car starts skidding and
becomes hard to control. It sits between the hydraulic pump, which provides
power to the brakes.
• This hookup allows the ABS system to modulate the brakes in order to keep
the wheels from locking.
• The ABS system uses sensors on each wheel to measure the speed of the
wheel. The wheel speeds are used by the ABS system to determine how to
vary the hydraulic fluid pressure to prevent the wheels from skidding.

32
J.Sampathkumar, AP/ECE, MCE
Antilock Brake System (ABS)

33
J.Sampathkumar, AP/ECE, MCE
ii. Characteristics of Embedded Computing Applications
• Functionality is important in both general-purpose
computing and embedded computing, but embedded
applications must meet many other constraints as well.
To provide sophisticated functionality:
• Complex algorithms: For example, the microprocessor that
controls an automobile engine must perform complicated
filtering functions to optimize the performance of the car
while minimizing pollution and fuel utilization.
• User interface: Microprocessors are frequently used to
control complex user interfaces that may include multiple
menus and many options. The moving maps in Global
Positioning System (GPS) navigation are good examples of
sophisticated user interfaces.

34
J.Sampathkumar, AP/ECE, MCE
• Real time: Many embedded computing systems have to
perform in real time—if the data is not ready by a
certain deadline, the system breaks. In some cases,
failure to meet a deadline is unsafe and can even
endanger lives. (i.e., missed deadlines in printers, so
user will unhappy)
• Multirate: Not only must operations be completed by
deadlines, but many embedded computing systems have
several real-time activities going on at the same time.
They may simultaneously control some operations that
run at slow rates and others that run at high rates. (ex:
Multimedia - The audio and video portions of a
multimedia stream run at very different rates, but they
must remain closely synchronized)
35
J.Sampathkumar, AP/ECE, MCE
• Manufacturing cost: Manufacturing cost is
determined by many factors, including the type
of microprocessor used, the amount of
memory required, and the types of I/O devices.
• Power and energy: Power consumption directly
affects the cost of the hardware, since a larger
power supply may be necessary. Energy
consumption affects battery life, which is
important in many applications, as well as heat
consumption, which can be important even in
desktop applications.

36
J.Sampathkumar, AP/ECE, MCE
iii. Why Use Microprocessors?
• There are many ways to design a digital system:
custom logic, field-programmable gate arrays
(FPGAs), and so on.
• But “Why use microprocessors?”
There are two answers:
a. Microprocessors are a very efficient way to
implement digital systems.
b. Microprocessors make it easier to design families of
products that can be built to provide various feature
sets at different price points and can be extended to
provide new features to keep up with rapidly
changing markets.
37
J.Sampathkumar, AP/ECE, MCE
Embedded system design process
•  PROCESS – Series of actions/steps taken in
order to achieve a particular thing 
• IMPORTANCE OF DESIGN PROCESS
I. Allows us to keep a scorecard on a design to ensure
that we have done everything we need to do
II. Allows us to develop Computer Aided Design Tools
III. Makes it easier for member of a design team to
communicate

38
J.Sampathkumar, AP/ECE, MCE
• The steps in the design Figure : Steps in
process can be viewed as Design process
top down view and
bottom up view.
• Top–down view begins
with the most abstract
description of the system
and concludes with
concrete details.
• Bottom–up view starts
with components to build
a system.
39
J.Sampathkumar, AP/ECE, MCE
The major goals of the design to be considered are :
– Manufacturing cost;
– Performance (both overall speed and deadlines) and
– Power consumption.
The tasks which need to be performed at each step
are the following.
 We must analyze the design at each step to
determine how we can meet the specifications.
 We must then refine the design to add details.
 We must verify the design to ensure that it still
meets all system goals, such as cost, speed, and so
on.
40
J.Sampathkumar, AP/ECE, MCE
Requirements
• First, Designer gather an information from the
customer.
i.e., what the user wants and expects to get.
• May be developed in several ways:
I. Talking directly to customers;
II. Talking to marketing representatives;
III. Providing prototypes to users for comment. 
• Second, Designer must know what we are
designing & gathered information is enough to
design the system?

41
J.Sampathkumar, AP/ECE, MCE
• Requirements may be functional or nonfunctional
 Functional requirements need output as a function of
input. (i.e., dedicate the hardware)
– Such that input(keyboard), output(LCD,LED) components.
– Input , output signals
– Interfaces (serial, parallel interface, network interface, etc)
 Non-functional requirements (apart from hardware)
includes,
– Performance (hard deadlines by which a particular operation must be
completed)
– Cost (Designing cost )
– physical size, weight (depending upon the application)
– power consumption (battery life)

42
J.Sampathkumar, AP/ECE, MCE
• sample requirements form that can be filled
out at the start of the project.
• We can use the form as a checklist in
considering the basic characteristics of the
system.

Figure: Requirement Form

43
J.Sampathkumar, AP/ECE, MCE
Name: Giving a name to the project
Purpose: brief one- or two-line description of what the system is supposed to do.
Inputs and outputs:
• Types of data: Analog electronic signals? Digital data? Mechanical inputs?
• Data characteristics: Periodically arriving data, such as digital audio samples?
Occasional user inputs? How many bits per data element?
• Types of I/O devices: Buttons? Analog/digital converters? Video displays?
Functions: This is a more detailed description of what the system does. A good way
to approach this is to work from the inputs to the outputs: When the system
receives an input, what does it do? How do user interface inputs affect these
functions? How do different functions interact?
Performance: must be performed within a certain time frame.
Manufacturing cost: cost of the hardware components.
Power: battery powered or plugged into the wall. Battery-powered machines must
be much more careful about how they spend energy
Physical size and weight: physical size of the system to help guide certain
architectural decisions.

44
J.Sampathkumar, AP/ECE, MCE
• Example - GPS MODULE:

REQUIREMENTS FORM OF GPS MOVING MAP MODULE:

45
J.Sampathkumar, AP/ECE, MCE
46
J.Sampathkumar, AP/ECE, MCE
Designexample:
Design example:
Modeltrain
Model traincontroller
controller
General:
• The user sends messages to the train with a control box attached to the tracks.
• The control box may have familiar controls such as a throttle, emergency stop button, and so on.
• The train receives its electrical power from the two rails of the track
Console:
• The control box can send signals to the train over the tracks by modulating the power supply
voltage.
• The control panel sends packets over the tracks to the receiver on the train.
• The train includes analog electronics to sense the bits being transmitted and a control system to set
the train motor’s speed and direction based on those commands.
• Each packet includes an address so that the console can control several trains on the same track;
the packet also includes an error correction code (ECC) to guard against transmission errors.

• This is a one-way communication system—the model train can’t send commands back to the user.

47
J.Sampathkumar, AP/ECE, MCE
FIGURE: A Model Train Control System

48
J.Sampathkumar, AP/ECE, MCE
Requirements,
basic set of requirements for the system:
• The console shall be able to control up to eight trains on a
single track.
• The speed of each train shall be controllable by a throttle to
at least 63 different levels in each direction (forward and
reverse).
• There shall be an inertia control (change in the throttle) 
to adjust the speed of train.
• The inertia control will provide at least eight different levels.
• There shall be an emergency stop button.
• An error detection scheme will be used to transmit
messages.

49
J.Sampathkumar, AP/ECE, MCE
Requirements Form,

50
J.Sampathkumar, AP/ECE, MCE
Digital Command Control (DCC) Standard:
The DCC standard is given in two documents:
– Standard S-9.1  how bits are encoded on the rails for
transmission.
– Standard S-9.2  defines the packets that carry
information.
• The signal encoding system should not interfere
with power transmission
• Data signal should not change the DC value of the
rails.
• Bits are encoded in the time between transitions.
• Bit 0 is at least 100 s while bit 1 is nominally 58 s.
51
J.Sampathkumar, AP/ECE, MCE
Packet Formation in DCC

The basic packet format is given by,

Where,
P  preamble, which is a sequence of at least 10 1 bits.
S  packet start bit. It is a 0 bit.
A  address is 8 bits long. The addresses 00000000, 11111110, and 11111111 are
reserved.
s  data byte start bit, which, like the packet start bit, is a 0.
D  Data byte includes 8 bits. A data byte may contain an address, instruction, data, or
error correction information.
E  packet end bit, which is a 1 bit.
52
J.Sampathkumar, AP/ECE, MCE
Baseline packet
• The minimum packet that must be accepted by all DCC implementations.
• It has three data bytes.
• Address data byte  gives the intended receiver of the packet
• Instruction data byte  provides a basic instruction
• Error correction data byte  is used to detect and correct transmission errors.

Date byte
• Bits 0–3  provide a 4-bit
speed value.
• Bit 4 has an additional
speed bit.
• Bit 5 gives direction, with
1 for forward and 0 for
reverse.
• Bits 6-7 are set at 01 
provides speed and
direction.

53
J.Sampathkumar, AP/ECE, MCE
Specification,
• Allows us to understand the system a little better.
• Train control system turns commands into packets
• Console  read the state format messages & transmit
messages
• Receiver  receive the message, interpret the messages &
actually control the motor.

54
J.Sampathkumar, AP/ECE, MCE
• Console class  describes the command unit’s front panel, which contains the
analog knobs and hardware to interface to the digital parts of the system.
• Formatter class  includes behaviors that know how to read the panel knobs
and creates a bit stream for the required message.
55
J.Sampathkumar, AP/ECE, MCE
• Transmitter class  interfaces to analog electronics to send the
message along the track
• Knobs*  describes the actual analog knobs, buttons, and levers
on the control panel.
• Sender* describes the analog electronics that send bits along the
track.
• Receiver class knows how to turn the analog signals on the track
into digital form.
• Controller class  includes behaviors that interpret the commands
and figures out how to control the motor.
• Motor interface class  defines how to generate the analog signals
required to control the motor.
• Detector*  detects analog signals on the track and converts them
into digital form.
• Pulser*  turns digital commands into the analog signals required
to control the motor speed.

56
J.Sampathkumar, AP/ECE, MCE
Architecture ,

Receiver Demod Signal Motor


Motor
Controller Interface

Detector

Track

To Rail

Console Throttle
 
Modulator Forma
Inertia
Reg. tter

E-stop
CPU

Booster

Console

57
J.Sampathkumar, AP/ECE, MCE
Designing Hardware and Software Components,
• The architectural description tells us what components we need
include both
• hardware—FPGAs, boards & software modules
• Some components will be readymade. Ex: CPU, memory chips &
etc

System Integration,
• Only after the components are built, putting them together and
seeing a working system.
• Test the devices & test the performance
• Bugs are found during system integration, and good planning can
help us find the bugs quickly.

58
J.Sampathkumar, AP/ECE, MCE
Design
Click methodologies
to edit
Design Master title style
methodologies
Design of Embedded system is not an easy task.

Why design methodologies?


• Process is important because without it, we can’t
reliably deliver the products we want to create.
• The main goal of a design process is to create a
product that does something useful.
• Typical specifications for a product are
functionality , manufacturing cost, performance
and power consumption. J.Sampathkumar, AP/ECE
J.Sampathkumar, AP/ECE,
Mahendra College MCE
of Engineering,
5959
Salem
Click to edit Master title style
Design process has several important goals beyond function,
performance, and power:
• Time-to-market.
1. Customers always want new features.
2. The product that comes out first can win the market, even setting customer
preferences for future generations of the product.
• Design cost.
3. Consumer products are very cost sensitive, and it is distinct from manufacturing
cost.
4. Design costs can dominate manufacturing costs.
5. Design costs can also be important for high-volume consumer devices when
time-to-market pressures cause teams to swell in size.
• Quality.
6. Customers want their products fast and cheap.
7. Correctness, reliability, and usability must be explicitly addressed from the
beginning of the design job to obtain a high-quality product at the end
J.Sampathkumar, AP/ECE
J.Sampathkumar, AP/ECE,
Mahendra College MCE
of Engineering,
6060
Salem
Click to Design
edit Master
Design title
flows
flows style
A design flow is a sequence of steps to be
followed during a design.
Some of the steps can be performed by
tools, such as compilers or computer-aided
design (CAD) systems; other steps can be
performed by hand. In this section we look
at the basic characteristics of design flows.

J.Sampathkumar, AP/ECE
J.Sampathkumar, AP/ECE,
Mahendra College MCE
of Engineering,
6161
Salem
i)Click to edit
Waterfall model,Master title style
Waterfall model introduced by Royce, it is
the first model proposed for the software
development process.
It is consists of five major phases:
• requirements analysis
•architecture design
•coding
•Testing
•maintenance
J.Sampathkumar, AP/ECE
J.Sampathkumar, AP/ECE,
Mahendra College MCE
of Engineering,
6262
Salem
Click to edit Master title style

J.Sampathkumar, AP/ECE
J.Sampathkumar, AP/ECE,
Mahendra College MCE
of Engineering,
6363
Salem
Click tomodel
ii) spiral edit Master
, title style

J.Sampathkumar, AP/ECE
J.Sampathkumar, AP/ECE,
Mahendra College MCE
of Engineering,
6464
Salem
Click tomodel
waterfall edit assumes
Masterthat titlethestyle
system is
built once in its entirety, the spiral model
assumes that several versions of the system
will be built.
Designers go through requirements,
construction, and testing phases.
The first cycles at the top of the spiral are very
small and short, while the final cycles at the
spiral’s bottom add detail learned from the
earlier cycles of the spiral.
J.Sampathkumar, AP/ECE
J.Sampathkumar, AP/ECE,
Mahendra College MCE
of Engineering,
6565
Salem
Click
iii) to edit
Successive Master title style
refinement,
In this system is built several times.
A first system is used as a rough prototype,
and successive models of the system are
further refined.

J.Sampathkumar, AP/ECE
J.Sampathkumar, AP/ECE,
Mahendra College MCE
of Engineering,
6666
Salem
Click to edit Master title style

J.Sampathkumar, AP/ECE
J.Sampathkumar, AP/ECE,
Mahendra College MCE
of Engineering,
6767
Salem
Click
iv) to editdesign
Hierarchical Master
flows,title style
Many complex embedded systems are
themselves built of smaller designs.

J.Sampathkumar, AP/ECE
J.Sampathkumar, AP/ECE,
Mahendra College MCE
of Engineering,
6868
Salem
Click
Requirements
to edit Master
Requirements analysis
title style
analysis
Before designing a system, we need to
know what we are designing.
The terms “requirements” and “specifications”.
Requirements are informal descriptions of
what the customer wants.
Specifications are more detailed, precise,
and consistent descriptions of the system
that can be used to create the architecture.

J.Sampathkumar, AP/ECE
J.Sampathkumar, AP/ECE,
Mahendra College MCE
of Engineering,
6969
Salem
Click
Two typestoofedit Master title style
requirements:
a) functional and
b) nonfunctional.
A functional requirement states what the
system must do, such as compute an FFT.
A nonfunctional requirement can be any
number of other attributes, including physical
size, cost, power consumption, design time,
reliability, and so on.

J.Sampathkumar, AP/ECE
J.Sampathkumar, AP/ECE,
Mahendra College MCE
of Engineering,
7070
Salem
Click toofedit
Good set Master title style
requirements,
• Correctness: The requirements should not
mistakenly describe what the customer wants.
•Unambiguousness: The requirements document
should be clear and have only one plain language
interpretation.
• Completeness: All requirements should be
included.
• Verifiability: There should be a cost-effective
way to ensure that each requirement is satisfied
in the final product.

J.Sampathkumar, AP/ECE
J.Sampathkumar, AP/ECE,
Mahendra College MCE
of Engineering,
7171
Salem
Click to edit Master title style
• Consistency: One requirement should not contradict another
requirement.
• Modifiability: The requirements document should be structured so
that it can be modified to meet changing requirements without
losing consistency, verifiability, and so forth.
• Traceability: Each requirement should be traceable in the following
ways:
 We should be able to trace backward from the requirements to know
why each requirement exists.
 We should also be able to trace forward from documents created before
the requirements (e.g., marketing memos) to understand how they relate
to the final requirements.
 We should be able to trace forward to understand how each
requirement is satisfied in the implementation.
 We should also be able to trace backward from the implementation to
know which requirements they were intended to satisfy.
J.Sampathkumar, AP/ECE
J.Sampathkumar, AP/ECE,
Mahendra College MCE
of Engineering,
7272
Salem
Click
System to edit
analysis Master
and title style
architecture design
System analysis and architecture design
We look at how to get a handle on the
overall system architecture.
CRC cards,
The CRC card methodology is a well-known
and useful way to help analyze a system’s
structure.
It is particularly well suited to object-
oriented design because it encourages the
encapsulation of data and functions.
J.Sampathkumar, AP/ECE
J.Sampathkumar, AP/ECE,
Mahendra College MCE
of Engineering,
7373
Salem
Click
CRC to edit
having someMaster title style
methodology,
• Classes define the logical groupings of
data and functionality.
• Responsibilities describe what the classes
do.
• Collaborators are the other classes with
which a given class works.

J.Sampathkumar, AP/ECE
J.Sampathkumar, AP/ECE,
Mahendra College MCE
of Engineering,
7474
Salem
Click to edit Master title style

A class may represent a real-world


object or an architectural object.

J.Sampathkumar, AP/ECE
J.Sampathkumar, AP/ECE,
Mahendra College MCE
of Engineering,
7575
Salem
J.Sampathkumar, AP/ECE, MCE
7676
J.Sampathkumar, AP/ECE, MCE
Click toQuality
edit assurance
Master title style
Quality assurance
The quality of a product or service can be
judged by how well it satisfies its intended
function.
The quality assurance (QA) process is vital for
the delivery of a satisfactory system.
Quality assurance process in more detail:
• we introduce the quality assurance process;
• we focus on verifying requirements and
specifications; and
• discuss design reviews.
J.Sampathkumar, AP/ECE
J.Sampathkumar, AP/ECE,
Mahendra College MCE
of Engineering,
7777
Salem
Click to edit Master title style
Quality assurance techniques
The International Standards Organization
(ISO) has created a set of quality standards
known as ISO 9000.
• Process is crucial.
• Documentation is important.
• Communication is important.

J.Sampathkumar, AP/ECE
J.Sampathkumar, AP/ECE,
Mahendra College MCE
of Engineering,
7878
Salem
Clicktypes
Many to edit Master can
of techniques titlebestyle
used to
verify system designs and ensure quality.
Techniques can be either manual or tool
based. Manual techniques are surprisingly
effective in practice.
Tool-based verification helps considerably in
managing large quantities of information
that may be generated in a complex design.

J.Sampathkumar, AP/ECE
J.Sampathkumar, AP/ECE,
Mahendra College MCE
of Engineering,
7979
Salem
• The Capability Maturity Model (CMM)
provides a model for judging an organization.
It defines the following five levels of maturity:
1. Initial
2. Repeatable.
3. Defined.
4. Managed.
5. Optimizing.

J.Sampathkumar, AP/ECE, MCE


8080
J.Sampathkumar, AP/ECE, MCE
• Verifying the specification
Verifying the requirements and specification is
very important for the simple reason that bugs
in the requirements or specification can be
extremely expensive to fix later on.

J.Sampathkumar, AP/ECE, MCE


8181
J.Sampathkumar, AP/ECE, MCE
DESIGNINGWITH
DESIGNING WITHCOMPUTING
COMPUTINGPLATFORM
PLATFORM

1) System Architecture,
• The architecture of an embedded computing system includes both
hardware and software elements
HARDWARE,
• CPU  The choice of the CPU is one of the most important, but it
can be considered the software that will execute on the machine.
• Bus  The choice of a bus is closely tied to that of a CPU,bus can
handle the traffic.
• Memory  Selection depends total size and speed of the memory
will play a large part in determining system performance.
• Input and output devices  Depending upon the system
requirements

82
J.Sampathkumar, AP/ECE, MCE
SOFTWARE,
• Run Time components
i. It is a critical part of the platform.
ii. An operating system is required to control CPU
and its multiple processes .
iii. A file system is used in many embedded systems
to organize internal data and interface with other
systems
• Support components
i. It is a complex hardware platform.
ii. Without proper code development and operating
system, the hardware itself is useless.
83
J.Sampathkumar, AP/ECE, MCE
ARM evaluation board

84
J.Sampathkumar, AP/ECE, MCE
2. The PC as a Platform,

• CPU  provides basic computational facilities.


• RAM  is used for program storage.
• ROM  holds the boot program.
• DMA  controller provides DMA capabilities.
• Timers  used by the operating system for a variety of purposes.
• High-speed bus  connected to the CPU bus through a bridge, allows fast devices to
communicate with the rest of the system.
• low-speed bus  provides an inexpensive way to connect simpler devices.
85
J.Sampathkumar, AP/ECE, MCE
3. Development Environments,

• Development process  used to make a complete


design of the system.
• It guides the developers how to design a system .
• An embedded computing system has CPU ,memory,
I/O devices.
• Development of embedded system have both
hardware& software.
• The software development on a PC or workstation
known as a host.
• The host and target are frequently connected by a USB
link
• The target must include a small amount of software to
talk to the host system.

86
J.Sampathkumar, AP/ECE, MCE
Functions of Host system
• Load programs into the target
• Start and stop program execution on the target
• Examine memory and CPU registers.
Cross-Compiler
• Compiler  kind of software that translate one form of pgm to another form of pgm.
• Cross Compiler  is a compiler that runs on one type of machine but generates
• code for another
• After compilation, the executable code is downloaded to the embedded system by a
serial link.
• A PC or workstation offers a programming environment .
• But one problem with this approach emerges when debugging code talks to I/O devices.
• Testbench program  can be built to help debug the embedded code.
• It may also take the output values and compare them against expected values.

87
J.Sampathkumar, AP/ECE, MCE
4. Debugging Techniques,
• It is the process of checking errors and correcting those errors.
• It can be done by compiling and executing the code on a PC or workstation.
• It can be performed by both H/W and S/W sides.
Software debugging tools
1. Serial Port tool
• It will perform the debugging process from the initial state of embedded system
design.
• It can be used not only for development debugging but also for diagnosing
problems in the field.
2. Breakpoints tool
• user to specify an address at which the program’s execution is to break.
• When the PC reaches that address, control is returned to the monitor program.
• From the monitor program, the user can examine and/or modify CPU registers,
after which execution can be continued.

88
J.Sampathkumar, AP/ECE, MCE
• Breakpoint is a location in memory at which a program stops executing and
returns to the debugging tool or monitor program.
• To establish a breakpoint at location 0x40c in some ARM code, replaced the
branch (B) instruction with a subroutine call (BL) to the breakpoint handling
routine

89
J.Sampathkumar, AP/ECE, MCE
90
J.Sampathkumar, AP/ECE, MCE
5)Debugging Challenges,

• Logical errors in software can be hard to track down and it will create many
problems in real time code.
• Real-time programs are required to finish their work within a certain amount
of time.
• Run time pgm run too long, they can create very unexpected behavior.
• Missing of Deadline makes debugging process as difficult.

91
J.Sampathkumar, AP/ECE, MCE
CONSUMERELECTRONICS
CONSUMER ELECTRONICSARCHITECTURE
ARCHITECTURE
• Although some predict the complete convergence of all consumer
electronic functions into a single device, much as the personal computer
now relies on a common platform, we still have a variety of devices with
different functions.
• Not all devices have all features, depending on the way the device is to be
used, but most devices select features from a common menu.
• Similarly, there is no single platform for consumer electronics devices, but
the architectures in use are organized around some common themes
• This convergence is possible because these devices implement a few basic
types of functions in various combinations:
»multimedia,
»communications, and
»data storage and management.

92
J.Sampathkumar, AP/ECE, MCE
• Multimedia: The media may be audio, still images, or video (which
includes both motion pictures and audio). These multimedia objects are
generally stored in compressed form and must be uncompressed to be
played (audio playback, video viewing, etc.).
• Data storage and management: Because people want to select what
multimedia objects they save or play, data storage goes hand-in-hand
with multimedia capture and display. Many devices provide PC-
compatible file systems so that data can be shared more easily.
• Communications: Communications may be relatively simple, such as a
USB interface to a host computer. The communications link may also be
more sophisticated, such as an Ethernet port or a cellular telephone link.
• Consumer electronics devices must meet several types of strict
nonfunctional requirements as well. Many devices are battery-operated,
which means that they must operate under strict energy budgets.
• Let’s consider some basic use cases of some basic operations. In Figure
shows a use case for selecting and playing a multimedia object (an audio
clip, a picture, etc.). Selecting an object makes use of both the user
interface and the file system. Playing also makes use of the file system as
93 well as the decoding subsystem and I/O subsystem.
J.Sampathkumar, AP/ECE, MCE
The connection may be either over a local connection like USB or over the
Internet.

94
J.Sampathkumar, AP/ECE, MCE
PLATFORM-LEVELPERFORMANCE
PLATFORM-LEVEL PERFORMANCEANALYSIS
ANALYSIS
• Generally PC or system is considered as a platform.
• Bus-based systems add another layer of complication to
performance analysis. The CPU, bus, and memory or I/O device
all act as independent elements that can operate in parallel.
• System-level performance involves much more than the CPU. We
often focus on the CPU because it processes instructions, but any
part of the system can affect total system performance. More
precisely, the CPU provides an upper bound on performance, but
any other part of the system can slow down the CPU. Merely
counting instruction execution times is not enough.
• We want to move data from memory to the CPU to process it.

95
J.Sampathkumar, AP/ECE, MCE
• To get the data from memory to the CPU we
must:

96
J.Sampathkumar, AP/ECE, MCE
Parallelism
• Computer systems have multiple components.
When the hardware and software are properly
designed, those systems can operate independently
for at least part of the time. When different
components of the system operate in parallel, we
can get more work done in a given amount of time.
• Direct memory access is a prime example of
parallelism. DMA was designed to off-load memory
transfers from the CPU. The CPU can do other
useful work while the DMA transfer is running.

97
J.Sampathkumar, AP/ECE, MCE
98
J.Sampathkumar, AP/ECE, MCE

You might also like