There may be many deifinitions of an embedded system.In general an embedded system may be regarded as a dedicated single purpose computer system which is a combination of hardware and software and is designed and developed to perform only one or a few pre-defined tasks usually with real-time computing constraints and often with little or no input from the user.It is a specialized computer system which is a part of a larger system or machine it controls which usually includes hardware and mechanical parts.An embedded system is quite different from a general purpose computer which is designed to be flexible enough to meet a wide range of end-user requirements.A general purpose computer, unlike an embedded system, may serve a lot of purposes like checking email,word processing,playing movie and internet surfing etc.Unlike a general purpose computer, an embedded system is designed and programmed to perform only one or a few specific tasks.It is a microprocessor based system which is designed to control a function or a range of functions.An embedded system is not designed to be programmed by the end-user like a Personal Computer (PC) and usually it also lacks a generic user interface like a PC.However,if an embedded system is equipped with a keypad and an LCD like a security system or microwave oven etc.,the user may feed a few inputs to the embedded systems but even this I/O capability of an embedded system is usually quite limited as compared with a general pupose PC.
In short an embedded system is a special computer system equipped with capabilities to perform only a few dedicated tasks partially or completely independent of human intervention and may interact with physical elements in our environment like temperature control and pressure sensing etc.,Embedded systems based applications are usually time-critical which means that an embedded system is designed to strictly meet the timing constrainsts and timing requirements of the system it is controlling or of which it is a part.
Embedded systems may be found in a stupendously large number of applications ranging from home appliances like microwave oven,Air conditioner and washing machine etc.,to highly sophisticated fighter air crafts which are equipped with very advanced navigation and control systems governed by embedded computers.Embedded systems have a wide range of applications in automotive engineering.A modern automobile is equipped with tens of embedded computers which govern the control and automation of different tasks vital for the functioning of the vehicle.Infact the concept of a modern vehicle is incomplete without utilization of embedded systems in a vehicle.Embedded systems are also being widely utilized in bio-medical engineering for diagnostic and life support instruments.One way or the other way every person knowingly or unknowingly uses devices based on embedded systems in his daily life.Embedded systems have become an integreal part of our every day life.In short embedded systems are playing very important roles in our every day lives and the importance and influence of embedded systems in our every day lives have grown to such an extent that we cannot imagine the concept of modern life style without utilization of embedded systems.
Embedded systems usually comprise one or more main processing cores like Digital Signal Processor,FPGA or Microcontroller.Embedded systems usually have to handle real-time and time-critical applications,therefore they usually need to be equipped with very powerful processors.An embedded system is usually designed to perform only a few dedicated tasks often repeatedly with limited resources,so an embedded system engineer, based on his engineering skills, may control many parameters of the embedded system and may optimize the system to reduce the cost and size of the prduct based on embedded system to meet the challenges posed by competitive market.
From implementaion and application perspective embedded systems are quite different from general purpose computers.Embedded systems are usually utilized in real-time and time critical applications where a timely response from an embedded system is very critical.Results of an operation performed by an embedded system in a real-time application are important only if they are produced in a specific time frame.Otherwise if the results produced do not meet the timing constrains set by the system being controlled by the embedded system,of which embedded system is a part, are irrelevant and useless.The benchmark for performance and accuracy of a real-time system is its timely response to changes in parameters of system which the real-time system is meant to control.There are some critical applications where the timely repsonse of the real-time system is of vital importance like aircraft flight control system and sensor systems in nuclear power plant and nuclear reactor etc.In such critical applications, if the real-time system is unable to generate timely reposne to changes in parameters of the system,it is supposed to control, may lead to fatal results.There are some relaxed versions of real-time systems as well,where a little delay in timely response of the real-time system is not an issue rather a little delay is fairly acceptable.Examples of such relaxed versions of real-time systems are mobile phones and display systems showing flight schedules at the airports.
Despite their advantages and wide range of applications,embedded systems may pose some typical problems.Unlike the software for a PC,the bug discovered in the software of an embedded system cannot easily be fixed.Embedded Systems are usually programmed only once when the embedded system based product is finally delivered to the end-user.Unlike software for a PC,the software installed on an embedded system,that contains a bug in it, cannot be patched to fix the bug.Even if in any case it is possible to patch the software for fixing the bugs,the process to install software on an embedded system is usually much too complicated for an ordinary user to handle.
Embedded systems are usually installed in real-time systems and applications where reliability of the system is a prime concern. For example an embedded computer controlling the auto-pilot of an aircraft cannot be allowed to fail under any circumstances. Similarly an embedded control system developed to administer the anaesthesia to the patient being operated on has no room for failure. An embedded system is meant to be fail-safe in its operations, so the conventional programming techniques popular with development of PC based software cannot be used in development of software for embedded systems. To ensure reliability of the product based on embedded system, every embedded system need to be extensively tested and analyzed before it is finally delivered to the end user.
Embedded systems, unlike desktop and laptop computers, usually have very limited memory capacity, processing power, IOs and peripheral resources. Therefore, developing fail-safe embedded system software is much more challenging and painstaking job than developing a PC based software application. This is why skilled embedded system developers are always in great demand.To meet the requirements of real-time applications some embedded systems utilize a scaled down version of an operating system which is termed as Real-Time Operation system (RTOS).
There are so many applications and uses of products based on embedded systems in our everyday life that the concept of modern home and office is incomplete without our dependence on embedded systems. Embedded systems are an industry which is growing at a stupendous rate and likewise career opportunities for skilled embedded system developers and programmers are also growing.In short, embedded systems have become a part and parcel of our everyday life and future of embedded systems based technology is very bright!
No comments:
Post a Comment