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