Вы находитесь на странице: 1из 15

c ccc 





V V

An embedded system is a fusion of both hardware & software. An embedded system is a


microprocessor / Microcontroller - based system that is built to control a specific function and it
is not designed to be programmed by the end user. The embedded controllers are designed to
satisfy the needs of particular application for which they are designed. Microprocessors & Micro
controllers are widely used in embedded system products.
Some of the most challenging tasks in building a software system are capturing, refining,
and analyzing requirements. The difficulty of these tasks is greatly exacerbated for the software
of embedded systems as these systems are commonly used for critical applications, has to
operate reliably for long periods of time, and usually have a high degree of complexity. Current
embedded systems software development practice, however, often deals with the (requirements)
analysis phase in a superficial manner, instead emphasizing design and implementation. This
paper describes one of our case studies and illustrates how our approach facilitates the
construction of UML-based conceptual models of embedded systems and the analysis of these
models for adherence to functional requirements.
G G 

c


    is a Software/Hardware Development contractor. It based in
Owasso, Oklahoma known to the outside world as "Green Country". They specialize in
Windows programming for Government, Business, and Industry using the Visual Basic
programming language. We also develop embedded hardware solutions which include circuit
design, prototype construction, printed circuit board layout, and production documentation.

Embedded databases today are primarily deployed inside various types of enterprises.
However, industry insiders say the widespread adoption of cellular telephone data networks and
the deployment of Internet appliances should expand the scope and scale of embedded databases
significantly over the next couple of years. One of the most significant drivers of embedded
databases may be the advent of ASPs, an emerging offshoot of the outsourcing industry that
promises to enable corporate users to access applications from a wide variety of off-site,
Internet-connected devices.

Intersystem developed Cache; a high-end embedded database that the firm says has been
installed on more than 80,000 servers supporting about 3 million users. Apps built with the
product include thin clients, app servers in the middle tier and database servers. Developers may
choose to deploy these components in a variety of configurations, depending on hardware
capabilities and application requirements.

Embedded systems generally use microcontrollers that contain many functions of a


computer on a single device. Motorola and Intel make some of the most popular
microcontrollers. Software engineers will often program directly to the microcontroller hardware
without using a host operating system. As embedded systems have become more sophisticated
and have started to include more general computer functions such as networking, using a host
operating system has become more popular. Linux and Windows Embedded are two popular
operating systems for writing embedded controllers.
Ñ c ccc cc

Today the Embedded Systems are ubiquitous in occurrence, most significant in function
and project an absolutely promising picture of developments in the near future. Whenever we go-
home, office, hospital, etc-Embedded Systems are around us. The embedded systems do their job
silently, and their presence is not obvious like desktop computers. The processor speed have
increased manifold. In addition to 8-bits, 16-bits, 32-bits and even 64-bits processors are used in
many Embedded System paving way for a powerful application. All these are leading the world
to an era of multimedia communication using mobile devices.
Application service providers and mobile technologies said to be a perfect fit for
embedded systems; the right system can slash administration costs and keep complexity away
from end users. Embedded databases are one of those behind-the-scenes technologies designed
to simplify the life of the programmer while remaining invisible to the end user.
An Embedded System provide:
* Perform a single or tightly knit set of functions (not usually "general purpose´).
* Increasingly high-performance & real-time constrained.
* Power, cost and reliability are often important attributes that influence design.
* Application specific processor design can be a significant component of some embedded
systems.
An embedded system:
* Employs a combination of hardware/software to perform a specific function.
* Is part of a larger system that may not be a ³computer´.
* Works in a reactive and time-constrained environment.
* Software is used for providing features and flexibility.
Ñ VG
  

An embedded system can be defined as s computing device that does a specific focussed
job. Both hardware and software in an embedded system are optimized for that specific task.
Application such as air conditioners, VCD players, mobile phone, etc is examples of embedded
systems. Each of these appliances will have a processor and special hardware to meet the specific
requirements of application along with the embedded software that is executed by the processor
for meeting that specific requirement. The embedded software is also called as ³† ´.
V G 
  

Based on functionality and performance requirements, embedded systems can be categorized
as:
V 
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
command from human being such as pressing of a button.


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

GV !
Embedded systems that are provided with network interfaces and accessed by networks such as
LAN or the INTERNET are called networked information appliances. Such embedded systems
are connected to a network, typically a network running TCP/IP protocol suites, such as internet
or company intranet. These systems have emerged in recent years.

"!
Mobile devices such as mobile phones, PDA, smart phones, etc are special categories of
embedded systems. Though the PDAs do many general-purpose tasks, they need to be designed
just like the     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. Hence mobile devices are considered as
embedded systems.
Types of embedded system:

There are two types of embedded systems namely,

Low end embedded system

High end embedded system

Low end embedded is an 8 bits or 16 bit processor.


High end embedded is a 32 bits or 64 bits processor.
An Embedded system can be described as one consisting of a processor, associated
peripherals, and software used for specific purpose

# GV$GG 
  

As compare to desktop computers, workstations or mainframes embedded systems
have man specialties. While embedded systems the following aspects need to be consider by the
developers,
* REALIBILTY is a paramount importance in embedded systems.
* PERFORMANCE is high.
* POWER CONSUMPTION is very low.
* COST is manageable and not an important factor.
* SIZE and WEIGHT are important parameter, for ex: mobile phones
* LIMITED USER INTERFACES
* SOFTWARE UPGRATION CAPABILITY

V##$GVG V V


 Nearly 99 per cent of the processors manufactured end up on embedded systems. The
embedded systems market is one of the highest growing areas. Some of them are:
* Consumer Appliances like microwave oven, remote controls of TV, VCD etc.
* Office automation products like copying machine fax machine etc.
* Industrial automation by industries for process control.
* Medical electronics includes diagnostic aids such as ECG, EEG, etc.
* Computer networking products such as bridges, routers etc.
* Telecommunications such as key telephones, isdn phones etc.
* Wireless technologies like mobile phones and PDAs.
* Instrumentation.
* Security for applications of most lucrative business, homes, office etc.
* Financial dealings in ATM, smart cards etc.




ccцc ccc  c c

Every embedded system consists of custom- built hardware built around a CPU. This
hardware also contains a memory chips on to which the software is loaded. The software residing
on the memory chip is also called as the FIRMWARE. The embedded system architecture can be
represented as a layered architecture. The operating system runs above the hardware, and the
application software runs above the operating system.



APPLICATION
 SOFTWARE

 OPERATING SYSTEM




HARDWARE




















     !  " 

Data Program Data


Program
storage memory storage
memory

I/O
I/O
Microprocessor
Microprocessor
core
core
I/O
I/O

I/O Real time


Real time I/O
clock
clock

To outside world To outside world

†Ñc#† ##ccc#$ cc 


c
Editor is a program which, when run on a microcomputer system, allows the use to type
and modify the assembly language program statements.

c #c
An assembler program is used to translate assembly language mnemonics to the correct
mnemonics to the correct binary code for each instruction.

#%c
A linker is a program used to join together several object files into one large object file.

#
A locator is a program used to assign the specific addresses of where the object code is to
be loaded into is memory.

c &&c
Load the object code program into system memory.

Execute the program.


 #
Execute a program and display result.

Single step execution of a program.

c #
Emulator is a mixture of hardware and software.

Emulator is used to test both the hardware and software.

 $#†c Ñc c c†c ccc 

READ- RAM
ONLY
MEMORY
OUTPUT
INPUT DEVICE
DEVIC
E „  COMMUNICATION
INTERFACE

APPLICATION SPECIFIC

CIRCUITRY

$ 'c#$c& ()
The CPU can be any of the following:
* Micro controller
* Microprocessor
* Digital Signal Processor (DSP)
c )
The memory is categorized as:
* RAM
* ROM
$ cc)
Unlike the desktop, the input devices to an embedded system have very limited
capability. There¶ll be no keyboard or mouse, hence interacting with embedded systems is no
easy task. Many embedded systems will have a small keypad. A keypad may only be used to
input digits.
# %G 
The output devices of the embedded systems have limited capability. Some will have a
few LEDs to indicate the health status of a system module. LCD may also be used to display
some parameters
 cc)
The embedded systems may need to interact with other embedded systems or transmit
data to a desktop. To facilitate this, the embedded systems are provided with one or few
communication interfaces such as RS232, RS422, USB, ETHERNET etc.

V##$GG # GGGG 


Sensors, transducers, special processing and controlcircutry may be required for
embedded systems, depending on its application. This circuitry interacts with the processor to
carry out the necessary work.

†Ñc c c


The software in an embedded system consists of an operating system and the
application software. Is optional; if it is not present, you need to write your own software
routines to access the hardware. The embedded systems are constraints for memory; we cannot
use an operating system such as Windows or Unix on them. But still we need the services
provided the operating system.

  %G #%G   # VG  



Every computing devices, whether it is main frame, desktop computers or an
embedded system, needs a piece of software using which the user interface the hardware. This
software is the operating system (OS). When the computer is first switched on, first the OS is
loaded into the main memory (RAM).
We can use the computer for using different computers simultaneously. Each job is
done but invoking an application software package. In case of desktop each job is called as a
³process´ and in an embedded system each job is called a ³task´. An OS does managing these
multiple task. An OS has to do following functions:
* Process/task management.
* Memory management
* I/O management
* Providing service to applications
* Providing a user interface
Based on the categories OS is divided into different categories:
* Single tasking OS verses multitasking OS
* Single user OS verses multi-user OS
* Command Driven OS verses GUI based OS

" !    &   '"  ! () 
!*
* Reliability, Portability and scalability
* Support for standard API
* Multi-tasking with time constraints
* Small footprint
* Support diskless systems

HARDWARE ARCHITECTURE

FUNCTION COMMUNIC
SENSORS LCD LEDs KEYPAD ATION
INTERFACE

 ADC
 
ROM

DAC „ 
RAM

POWER
SUPPLY UNIT CLOCK CHIP SELECT WATCH DEBUG PORT
CIRCUITRY DOG
TIMER
 V$# G  G
The central processing unit (CPU) used in an embedded system can be one of the
following two categories:
* General-purpose processor such as micro controller and microprocessors.
* Digital signal processor (DSP)
The CPU consists of:
* ALU
* General Purpose Register
* Control Unit
c )
Memory chips are classified as
* RAM
* ROM
* HYBRID MEMORY
EEPROM and Flash are the most widely memory chips because they are in-circuit
programmable.
#% )
The processor has to be given the clock input to one of the pins. To generate the
clock signal, a crystal and oscillator are required. All processor are related to the clock. The
higher the clock frequency, the higher the speed of the processor. The Real-Time Clock (RTC) is
used in embedded systems to provide µREAL¶ time including the date.
Ñ & c)
 It is used to reset the processor automatically if it does not receive signal periodically
from the processor indicating its health status. This mechanism obviates a need for a reset button
on the embedded system.
 $c#c)
As many peripherals share a common bus, the processor must be able to uniquely
identify a peripheral to communicate with it. It is performed using a signal chip select.
*cc)
 I/O devices can be categorized as programmed I/O and interrupt-driven I/O. in
programmed I/O the processor send the data to the device on its own. In interrupt driven I/O the
processor is interrupted by an interrupt signal and the ISR is executed.
c c)
Sensors and transducers convert the real time information into equivalent electrical
signal. These analog signals are converted into digital format to be processed by the processor.

)
* is used to convert analog to digital signals.
* is used to convert digital to analog signals©
† %c$)
 In embedded system the function keypads are used to facilitate limited inputs to the
system. These keypads have to custom design for specific applications.
##c)
The LCD and LED displays of different sizes and resolution are used to display
status information and prompts.
c &$)
 Debugging a processor-based board is very difficult. Joint Test AccessGroup is a
standard port used for debugging and downloading software on to the embedded system.

cccc ccc 
 In good old days developing embedded systems was confined to a very few
specialist. Most of the embedded software was written only in assembly language and hence
writing, debugging and maintaining the code were very difficult and time consuming. Some of
the advances in embedded system are:
$ " )
Power full 8 bit, 16 bit, 32 bit, and 64 bit micro controllers and micro processors are
available to cater to the different market segments. The clock speed and the memory addressing
capabilities of this processor are also increasing. Very power full digital signal processors are
also available.
+)
The cost of memory chips is also reducing day by day. The cost of memory chip
used to discourage developers from porting an OS onto target hardware.
"  + )
The main advantage of embedding an OS is that the software development will be
fast and maintaining the code is very easy. The software can be developed in a high level
language such as C. if real time performance is required a real time OS can be used.

!     , 
 -  "+)
With the availability of the low cost chips, embedded systems can be provided
networking capability through communication interfaces such as ETHERNET, 802.11
WIRELESS LAN and INFRARED. Network enabling of an embedded system has many
advantages: It can be accessed over a network for remote or monitoring. TCP/IP protocol stacks
and HTTP server software can also be ported onto system.
$  ! )
Development of embedded software was done mostly in assembly language.
However, due to the availability of cross compilers most of the development is done in high-
level languages such as C, C++, and JAVA etc. The main advantage of java is its platform
independence.
$  
 )
Programmable logic devices (PLDs) pave the way for reducing the components on
embedded system.
c cc*c# c$c&c c$)
  ! ,-  )
 The various kernel objects are 

Message
queries Event
Signals
register

ISRs
Mailbox
| 

Times
Pipes

Mutexes
Tasks Sema
phores
The task scheduler is the heart of the OS. It decides which task has to run next based on
scheduling algorithm. Preemptive multi tasking scheduling algorithm is used in embedded/real
time OS. On this algorithm, the highest priority task, which is ready to run, will be executed. A
task can be in one of the three states: Running, Ready to run, waiting. A task, which is waiting
state, can move to the ready to run state and inform its change of state through an ISR. In multi
tasking environment, task synchronization and resource synchronization are the two important
issues. To share resources and also for inter task communication and number of kernel objects
are used. The semaphores are used to bring in discipline in accessing shared resources.
Semaphores are of two types: binary semaphores and counting semaphores. Mutexes is similar to
binary semaphores whose values are 1¶s and 0¶s, but it has additional features of ownership and
support of priority inheritance. Mailboxes, message queues, event registers, pipes and signal are
used for inter task communication. Timer provides necessary timing services.

cc#$ c#

Many advances in development tools are accelerating embedded software development.


This development tools include cross compilers, debuggers, and emulators. Using these tools,
developers can write programs on host machines, test the software thoroughly, and port to the
target hardware.

&c

Flexibility
Storage
Low power Consumption
High precision
High speed
More Reliability
Less Weight & Compact
Low Cost
Insensitivity to Tolerance
Insensitivity to Temperature Variation
 $G 

The Important Features and specialty of embedded system is discussed and a simplified
architecture of an embedded system is presented. Various categories of embedded system are
discussed and recent trends in embedded system development are presented. The Embedded
Community web directory is the embedded and real-time marketplace's best source for complete,
independent information. The building blocks of hardware give us the basic knowledge of
embedded system hardware.

Вам также может понравиться