It 443 lecture 1
- 2. Introduction
Over the past decade, there has been a steady increase in the
number of applications that demand customized computer systems that
offer high performance at low cost.
These applications are, more often than not, characterized by the
need to process large amounts of data in real time.
Examples include consumer electronics, scientific
computing, and signal processing systems.
Constraints on performance, cost and power make software
implementations of data processing algorithms for such systems
infeasible.
Non-programmable hardware, however, does not support
modifications of algorithms.
The solution to this dilemma has been to develop application-
specific hardware that is flexible programmable – these systems are
commonly referred to as embedded systems
- 3. Introduction….
An embedded system is a "behind the scenes" computer which, when
combined with resident software applications, provides functionality typically
focused on a single, specialized purpose.
Embedded systems typically include embedded software that is burned
into :
Eraseable Programmable Read Only Memory (EPROM) or
resident in memory,
special-purpose hardware,
and Field Programmable Gate Arrays (FPGAs);
often there are stringent requirements on power consumption,
performance, and cost.
Embedded systems cannot be redesigned or removed easily once the
device that incorporates the system has been built. Embedded systems
development thus requires concurrent work on both hardware and software
components.
- 4. Embedded system:
the design
A system can be defined as a group of devices or artificial objects or an
organization forming a network especially for distributing something or
serving a common purpose.
To embed a system into some object means to make that system an
integral part of the object.
When an engineer talks about an embedded system, he or she is usually
referring to a system that satisfies a well-defined need at a specific instant in
time.
The system is usually dedicated to that need, and its operational limits are
clearly defined: lifetime, power consumption, performance, and so on.
The system usually has limited capabilities for future development, simply
because it is permanently installed in a device that provides a certain service
to its user.
- 5. Embedded system:
the design….
Examples include DSP processors in hand-held communication
devices, programmable controllers installed in robots or cars, and video
signal processors in television sets. the design.
Because these systems cannot be redesigned or removed easily once
the device that incorporates the embedded system is built, the
development procedure must produce a correct system that meets all of its
operational requirements.
An embedded system consists of both hardware and software
components.
The performance and cost constraints make it necessary for the design
engineer to explore a combination of possible hardware architectures or
custom hardware components and software or programmable parts that
would best suit the nature of the application.
Hence, the division between the programmable and non-programmable
components and their interface can become a critical issue in the design.
- 6. Embedded life cycle
First a need or opportunity to deploy new technology is identified.
Then a product concept is developed.
This is followed by concurrent product and manufacturing process design,
production, and deployment
But in many embedded systems, the designer must see past deployment and
take into account support, maintenance, upgrades, and system retirement issues
in order to actually create a profitable design.
- 7. Design considerations
1 Component acquisition
Because an embedded system may be more application-driven than a
typical technology-driven desktop computer design, there may be more leeway in
component selection.
Thus, component acquisition costs can be taken into account when
optimizing system life-cycle cost
2 System certification
Embedded computers can affect the safety as well as the performance
the system.
Therefore, rigorous qualification procedures are necessary in some
systems after any design change in order to assess and reduce the risk of
malfunction or unanticipated sys system failure.
One strategy to minimize the cost of system recertification is to delay all
design changes until major system upgrades occur.
- 8. Design considerations…
Furthermore, each design change should be tested for compatibility
with various system configurations, and accommodated by the configuration
management database
3 Upgrades
Because of the long life of many embedded systems, upgrades to
electronic components and software may be used to update functionality
and extend the life of the embedded system with respect to competing with
replacement equipment. .
While it may often be the case that an electronics upgrade involves
completely replacing circuit boards, it is important to realize that the rest of
the system will remain unchanged.
Therefore, any special behaviors, interfaces, and undocumented
features must be taken into account when performing the upgrade.
Also, upgrades may be subject to recertification requirements.
- 9. Embedded applications
4.1 Military
Communications, radar, sonar, image processing, navigation, missile
guidance
4.2 Automotive
Engine control, brake control, vibration analysis, cellular telephones,
digital radio, air bags, driver navigation systems
4.3 Medical
Hearing aids, patient monitoring, ultrasound equipment, image
processing, Topography
- 10. Embedded applications….
4.4 Telecommunications
Echo cancellation, facsimile, speaker phones, personal
communication systems (PCS), video conferencing, packet switching, data
encryption, channel multiplexing, adaptive equalization
4.5 Consumer
Radar detectors, power tools, digital TV, music synthesizers, toys,
video games, telephones, answering machines, personal digital assistants,
paging
4.6 Industrial
Robotics, numeric control, security access, visual inspection, lathe
control, computer aided manufacturing (CAM), noise cancellation.
- 11. Embedded internet
Used in everything from consumer electronics to industrial
equipment, embedded systems —small, specialized computer systems stored on
a single microprocessor — are playing a major role in the growth of the Internet
and the boom of wireless communication channels.
Due in part to embedded systems, more and more consumer products
and industrial equipment are becoming Internet-friendly.
- 12. Embedded internet….
- The future of embedded Internet in an unlimited array of appliances and
applications designed to create, connect and make smarter the things that
people use everyday.
- Operating in the background embedded Internet will connect home
appliances to each other and to the homeowner, shop floor tools will connect to
data gathering systems and hospitals will connect to laboratories.
- This ubiquitous computing environment is becoming a reality, with
embedded systems starting to be connected to the Internet, creating a new
market category of embedded Internet systems.
- One feature of embedding devices is the ability of appliances to send their
own e-mails. For example, a fetal monitor could routinely call a hospital's
computer system and transmit a daily log of fetal activity.
- Or a home security system could send an email to both a security service
and a homeowner, informing them of a possible problem. Another feature is
Web serving, where a machine tool's web page served-up information on
interrupts and maintenance records.
- 13. Embedded internet….
-How embedded communications is going to be accomplished is part of the
excitement in the unfolding of the concept.
-Obviously, applying lessons learned from the PC and networking will speed
the adoption of embedded Internet.
- First, standards are key. Second, use of the Web browser as the universal
interface will speed deployment and acceptance because it is familiar, requires
little training and can be programmed for rich content.
-Third is the truth of "Metcalf's law," which states that the value of a node on a
network increases exponentially as the number of nodes on that network
increases.
-Device-to-device communications will take network connectivity into
thousands of everyday items.
-Many businesses are already using embedded technology to innovate with
voice, video, and data traffic, hoping to set the stage for a competitive
advantage in the future.
- 14. Characteristics
1. Embedded systems are designed to do some specific task, rather than be a
general-purpose computer for multiple tasks.
Some also real time have performance constraints that must be met, for
reasons such as safety and usability;
others may have low or no performance requirements, allowing the
system hardware to be simplified to reduce costs.
2. Embedded systems are not always standalone devices.
Many embedded systems consist of small, computerized parts within a
larger device that serves a more general purpose.
For example, the Gibson Robot Guitar features an embedded system
for tuning the strings, but the overall purpose of the Robot Guitar is, of
course, to play music.
Similarly, an embedded system in an automobile provides a specific
function as a subsystem of the car itself.
- 15. Characteristics…….
1. The program instructions written for embedded systems are referred to
as firmware, and are stored in read-only memory or Flash memory chips.
They run with limited computer hardware resources: little memory, small
or non-existent keyboard and/or screen.
- 16. Simplification, miniaturization
and cost reduction
Embedded systems are designed to perform simple, repeatable task often
with little or no input form the user.
Since the first microprocessor was introduced into pocket calculators
there has been a concerted drive to reduce the size and complexity of
computerized systems in electronic devices.
Microcontrollers make integrated systems possible by combining several
features together into what is effectively a complete a computer on a
chip, including:
Central Processing Unit
Input / Output interfaces (such as serial ports)
Peripherals ( such as timers )
ROM, EEPROM or Flash memory for program storage
RAM for data storage
Clock generator
- 17. Uses of embedded system
Size and Weight: Microcontrollers are designed to deliver maximum
performance for minimum size and weight.
A centralized on-board computer system would greatly outweigh a
collection of microcontrollers.
Efficiency: Microcontrollers are designed to perform repeated functions for
long periods of time without failing or requiring service.
Other computer systems are prone to software and hardware failure as
well as a whole host of other problems recognizable to the users of any
home computer.
Above all other considerations, computer systems must be 100% reliable
when trusted to control such functions as braking in an automobile.
- 18. Downfall of embedded system
Embedded systems are not designed for user interaction, so the majority of
embedded system are just that embedded within the product, with no easy
method of updating or repairing their software.
- 20. 1. Introduction
Embedded Systems are widely spread and
commonly used nowadays.
Almost every electronically device implements an
embedded system,
like for instance a washing machine or a microwave
oven.
Given this vast number of possible application
areas, input and output is an important topic concerning
embedded systems,
for almost every embedded system has to
communicate with it’s environment, either the one or the
other way.
- 21. 1. 2 Implementation
data is given to a processing unit, which processes the
data end gives out the results.
Concerning embedded systems it is basically the same.
Data is measured by sensors, passed to the processing
unit and then given out.
Usually memory chips are used to buffer that data, so in
most cases the data is copied from the sensors into a
buffer, than processed and then copied back into another
buffer.
- 22. 1. 3 Type of I/O devices
• Devices for Networks and
Communication
• Input
• Graphics I/O
• Storage I/O
• Debugging I/O
• Real time & Miscellaneous
- 23. 1.4 I/O Performance
The data rates of the I/O devices: the actual amount of data
that is delivered from the I/O device.
Commonly it is measured in data per timeslice, Mbits
per second for example.
How to synchronize the speed of the master processor with
the speed of the I/O:
The speed of the processing unit should be designed
that it can handle all data delivered by the I/O devices (or
vice versa)
- 24. 1.4 I/O Performance
The speed of the master processor: the clock rate of the
processing unit, usually measured in Mhz.
If the processing unit is fast and the I/O device slow the
it can process way more data then deliver and might run
idle must of the time,
whereas the other way round it might occur that the
master processor is not able to process all the data
delivered by the I/O device
- 25. 1.5 Interrupts
Interrupts are the common way of I/O devices
communicating with the processing unit.
There are other ways like polling or memory
mapping, though.
An interrupt is an event which stops the master processor
executing its current instruction and handling the interrupt
with a predefined handling mechanism.
- 26. 2. Managing Data
Managing data is also one of the most important fields
dealing with input/output.
Basically, there are two main types of managing data:
1. Managing data serially
2. and Managing data parallely.
- 27. Components of a serial I/O Hardware
If I/O hardware is supposed to deal with data serially, it
usually consists of the components mentioned in 1.3 and also
includes the following:
• Serial port
• Serial interface, responsible for sending / receiving data
In serial communication, there are different ways in which
communication can occur
- 29. 2.3 Buses
All major components on a system-board which have to
exchange data are connected via buses.
On hardware level a bus is nothing else than a bundle of
wires which carry all various kinds of data.
- 30. 3. The CAN (Controller Area Network) Bus
in detail
The CAN – Bus is an asynchronous serial bus developed by
Robert Bosh GmbH.
Its purpose is to connect control units in cars, send data
in real time at the highest possible level of transmission
security and reducing the amount of cables used.
This was necessary since more and more electronically
devices were installed in vehicles.
- 31. Communication via a CAN Bus
A CAN is actually very similar to a common peer to peer
network.
Every node in this network is connected with the other
nodes, and if a node wants to send a message to another
node it simply sends a CAN-Frame to all other nodes.
- 32. Types of CAN - Buses
• High-speed CAN
• Low-Speed /Fault tolerant CAN
• Single Wire CAN
- 34. A real-time operating system
(RTOS) is an operating
system that guarantees a
certain capability within a
specified time constraint.
- 35. Learning the difference between
real-time and standard
operating systems is as easy as
imagining yourself in a
computer game.
- 36. In RTOS the keyword is
determinism. Violation of the
specified timing constraints is
(normally) considered
catastrophic.
- 37. Some people make a distinction
between soft and hard
RTOS, but in fact there's no
such strict distinction possible.
- 39. In general, real-time operating
systems are said to require:
Multitasking
Process threads that can be prioritized
A sufficient number of interrupt levels
- 44. The heart of a real-time OS (and
the heart of every OS, for that
matter) is the kernel. A kernel is
the central core of an operating
system.
- 45. Issues in Real Time System Design
Scheduling tasks
Failure
Resources and services
Complexity
- 46. Scheduling of Task
It’s essential that the sequence
is determined in a deterministic
way, but the scheduler might
not suffice here.
- 47. Failure
To detect failure the system designer
should implement watchdog systems.
If the main program neglects to
regularly service the watchdog, it can
trigger a system reset.
- 48. Resources and Services
In the context of resources and services
the term Quality of Service (QoS) is
important.
The programmer should take into
account “worst case scenarios”
- 49. Complexity
C1 has centralized hardware and a centralized state.
C2 is an intermediate level and it has decentralized
hardware and a centralized state.
C3 has decentralized hardware and a decentralized
state.
- 51. WHAT IS EMBEDDED SYSTEM
Embedded System is a Computer hardware, Software, other
parts designed to perform a Specific function and a component
within larger system - cars, air/spacecraft.
Each embedded system is unique, with specialized
hardware and specialized software
Embedded software in almost every electronic device.
(eg. watches, VCRs, Cellular phones, microwaves, thermostats)
- 52. STEPS IN EMBEDDED SOFTWARE
DEVELOPMENT
Steps involved in preparing embedded software similar to
general programming .
Follow a Software Design Process (eg. SDLC,RAD,etc)
Use Spiral Model.
Know the specifications of hardware requirements of the
program.
- 53. HOST TARGET DICHOTOMY
DICHOTOMY?
A dichotomy is any splitting of a whole into
exactly two non-overlapping parts, meaning it is a
procedure in which a whole is divided into two parts.
Therefore Host and Target are subsets of a set.
And to make it whole. The two must link to each other.
This link is called of Host-Target Communications.
- 54. HOST TARGET COMMUNICATIONS
There a 6 types of Host/Target communications.
This communications link.
Direct Connection
Using Emulator
Indirect Connection using removal media
software Transfer using PROM
Target Display Option
A Second Interface
- 55. CONT’ HOST TARGET COMMUNICATIONS
Direct Connection
The host is connected directly to Target. Software from the host is
downloaded to the target usually through a serial interface or a LAN.
- 56. CONT’ HOST TARGET COMMUNICATIONS
Using Emulator
The used of an emulator to connect a target, with the interface
from the host environment to the emulator being SERIAL, LAN or
PARALLEL.
- 57. CONT’ HOST TARGET COMMUNICATIONS
Indirect Connection using removal media
The transfer of software using removable media such as floppy
disc and tape cartridges. Removable media is often the method of
choice when the target is a general purpose computer.
- 58. CONT’ HOST TARGET COMMUNICATIONS
Software Transfer using PROM
The use of Programmable Read Only Memory (PROM) to
transfer software to the target, is usually the final stage of embedded
system development. at this stage in the life cycle the main activity is
system testing and acceptance testing, with the real world input and
output.
- 59. CONT’ HOST TARGET COMMUNICATIONS
Target Display Option
A display in the target environment being simulated by the
host, with the associated display appearing in a window on the host
display
- 61. CONT’ HOST TARGET COMMUNICATIONS
A Second Interface
Sometimes it will not be possible to use a single host-target
interface for both downloading the target test software and for
returning test results to the host. The simple solution is a second
interface, The second interface need not be the same type of interface
as the download interface. an emulator could be used to download and
run target test program, with the results being returned to the host
through a serial interface.
- 62. Embedded Software Development tools
Host and Target are tools in Embedded Software Development.
Software Development is performed on a Host computer
(Compiler, Assembler, Linker, Locator, and Debugger).Produces
executable binary image that will run on Target Embedded system.
- 63. PROGRAMMING EMBEDDED SYTEMS
Embedded systems Programming requires more
complex software build process. Target hardware
platform is different from development platform.
Development platform, called Host Computer, is
typically a general purpose computer Host computer
runs compiler, assembler, linker, locator to create a
binary image that will run on the target embedded
system.
Editor's Notes
- . (in any software development there are always risk of getting wrong. And this model used to reduce that risk.)
- (The speed of communications is an important consideration when selecting host and target development environments. A LAN connection is usually a better choice, because the communication is faster and many host can easily share a single target.)
- Where a target environment does not support a direct connection with the host environment, or at levels of testing where a direct connection to the host environment is precluded, indirect connections have to be used. Figure A.2 shows the use of an emulator to connect to a target, with the interface from the host environment to the emulator being serial (a), LAN (b), or parallel (c).
- (Some embedded systems will not have a display or keyboard, or any means of attaching a display or keyboard should one be needed.)
- NDI LANG 6 ANG tyPES NA HOST TARGET COMMUNICATIONS MARAMI PA PERO ALTHOUGH NDI Q NA MASASABI LAHAT ng TYPES OF Host- target COMMUNICATIONS.ang lahat naman ng 6 na ito ay applicable sa iba pang types at very similar din sila dito.
- Embedded sotfware dev. ToolsAng host at tart are tools in embedded software dev. Which on host computer software dev is performed e.g compiler, assembler, linker, locator, and debugger.At ang lahat ng ma proproduces nitong task at pdeng executed sa binary image na mag ru2n sa target embedded system.
- Konting intro langsa programming ng embedded systemsEmbedded system programming requires complex software build process.Target hardware platform kase ay ibasa development platform an sabe ay ang development platform ay tinatawagna host computer karaniwan purpose computer host computer angtawagdito, na nag ru2n ng complier assembler linker locator paramakagawang binary image