Embedded System is a computer system that performs one specific task under the control of dedicated hardware and software. In other words, it is a computer system, embedded with dedicated software/hardware, to fulfill a particular purpose. In this article, we will get familiar with the following Embedded Systems Concepts:
- What is an Embedded System?
- Characteristics of Embedded systems
- Embedded Systems Examples.
- Architecture of Embedded Systems
- Types of embedded system
- Important Terminologies Used in Embedded Systems
- Applications of Embedded Systems
- Advantages and Disadvantages of Embedded Systems
- What is Windows Embedded Compact (windows ce) ?
- What is a Microcontroller?
- What is microprocessor?
What is an Embedded System ?
Embedded System is the software system that is embedded into the hardware device. It is very different from a general-purpose system because it performs a defined set of functionalities. These functionalities are to be implemented by the hardware devices which are also called embedded devices.
Embedded systems are designed to solve complex problems, manage input/output channels and control hardware components like microprocessors. Unlike general-purpose computers, they are not designed for general use like office automation or playing games, or running graphical user interfaces (GUI). They are generally designed to work within a controlled environment and not to be reprogrammed frequently. Their applications range from simple logic controllers to highly complex devices such as those used in space exploration missions and nuclear plants.
Background of Embedded System
The term ‘embedded’ was introduced by researchers at the Stanford Research Institute (SRI). It was used to describe their invention of small programmable computers, whose components were integrated into other devices. The technology developed at SRI was commercialized by Intel in the 1980s to develop the world’s first microprocessor called Intel 4004.
Characteristics of Embedded Systems
- They are real time systems.
- They have limited resources like memory or processing power.
- They interact with the outside world through sensors and actuators.
- The software is developed with special purpose languages like C or assembler language.
- It operates independently while executing its Control Software
- A special-purpose Hardware Platform is necessary for Embedded System.
- Peripherals can be connected to the system through physical interfaces
- They typically operate safely within their own critical process domain.
- The cost of the embedded system varies based on the purpose and complexity of the application
- The amount of processing power depends on the requirement of the embedded system
- The size of the memory is dependent on the requirements, and size and complexity of the system
Embedded Systems Examples
- Embedded systems are generally used for three purposes: control, monitoring and data acquisition. Control covers devices such as your television and DVD player, microwave oven and automatic doors at a supermarket. Monitoring covers devices such as burglar alarms, building environmental sensors and water quality monitors. Data acquisition covers devices such as scales, heart rate monitors and gas meters.
- Aircraft and spacecraft: Embedded systems control and monitor everything from critical functions such as engine and navigation to more mundane items such as cabin ventilation and lighting.
- Medical devices: A growing number of products, including heart pacemakers and defibrillators, insulin pumps, and even contact lenses, contain embedded systems. They control what the device does, monitor its progress, or both.
- Thermostat, is an embedded system in your home. It controls the temperature of your home by controlling the heating system.
- Parking Meter, is an embedded in the ground. It controls access to a parking space by controlling when you can put money into it.
- Pacemaker, is an embedded system. It controls your heartbeat by sending signals to your heart muscles to make them contract at regular intervals.
The Architecture of Embedded System
An Embedded System is a programmable device that senses and responds to its environment in real-time. It has the intelligence to perform the intended tasks without manual intervention and is often designed for a specific purpose.
- Sensors: Grab data for the System.
- A-D Converter: Converts Analog signals into Digital values and vice-versa
- Memory: Stores data and programs for the Embedded System.
- Processor: Performs required operations such as receiving input from Sensors, performing logical or mathematical operations, output results to Actuator, and controlling the timing of the operation cycle.
- D-A Converter: D-A converter helps convert digital data fed by the processor to analog data one can hear or see.
- ASICs (Application Specific Integrated Circuits): Designed with a specific function in mind, e.g., ADC, DAC, MCU, etc.
Types of Embedded System
Following are the three Types of Embedded Systems:
Small Scale Embedded Systems include microcontrollers with very limited memory and processing power. These systems control the operation of many devices such as toys, microwave ovens, washing machines, flat panel displays, digital watches, etc. These systems are simple and there is no need for complicated software or hardware in these systems. These systems are programmed using relatively high-level languages like C or Basic.
Medium Scale Embedded Systems are designed to perform specific functions which require more complex software applications and hardware platforms. These systems provide greater complexity in terms of their architecture, code, memory size, etc. An example of this type is the system that controls the operations of a car. This system performs several tasks simultaneously including airbag deployment, steering control, etc. This system needs to be programmed using a more complex language like C++ or Java for better performance. These systems have a more powerful CPU with increased memory capacity to handle larger programs.
Sophisticated embedded systems
Sophisticated Embedded Systems are used in critical applications which require greater reliability and better performance. These systems are designed to perform highly sophisticated functions like space shuttle control systems, nuclear plant control systems, etc
Important Terminologies used in Embedded Systems
The reliability of the embedded system is the central issue. Reliability models take into account the product architecture, design, and operating environment, as well as human factors such as design, use, and maintenance errors.
Fault tolerance is the ability of a program or computer system to continue functioning despite the occurrence of faults. Fault tolerance is achieved by providing mechanisms that allow the continued operation of the system after an error has occurred.
Fault tolerance is particularly important in cases where human lives and/or critical assets depend on the proper operation of the system.
Real-time systems monitor and control physical devices and processes. The real world is unpredictable. Multitasking and multiple interaction modes make real-time computing complicated. The definition of “real-time” is not easy to define in the context of computers, however, most would agree that “real-time” requires a response within a second.
Flexibility is one of the most important characteristics of embedded systems. For example, the application of the system might change over time or with different users. The needs of each user might also be different (or even conflicting). This can lead to a high need for customization.
Portability is a function in high-level computers in which the same software can be usable in different environments. The development of portable assembler programs is therefore not very common.
Even though portability is not one of the main objectives of most assembler programmers, it is important to note that this capability exists. It is precise because the operating system is hidden from the programmer that portability can exist. If an application program were to make direct calls to the operating system, then porting that program would require modification in both the source code and in the operating system environment.
Applications of Embedded Systems
- Communications satellites – Satellites are used for wireless communications, weather forecasting and prediction purposes, and GPS (global positioning system).
- Air-bag deployment systems in cars – Air-bag deployment systems automatically deploy air bags in cars when needed. This technology has saved countless lives and injuries.
- Mobile phones, DVD players, digital cameras, cars, washing machines and aircraft are all embedded systems.
- Embedded systems are used for many different tasks including control of physical devices (eg controlling an electric motor), data processing (eg network routers), monitoring (eg traffic lights) and communication (eg modems).
- Home appliances (refrigerators, washers, dryers),
- Office equipment (printers, fax machines),
- Toys (remote-controlled cars),
- Appliances (stereos),
- Automobiles (instrument clusters, anti-lock braking systems)
Advantages of Embedded Systems
- Reduce overall cost of production: Embedded systems provide a standardized environment as an interface between different processes, which increases efficiency as less human intervention is required.
- Reduce time required for installation: Embedded systems can be installed at site employing standard techniques which reduces time needed for installation. It also makes future maintenance easier by standardizing the process across applications.
- Improve reliability: Embedded systems can handle complex problems easily, increasing accuracy and reducing unwanted errors in data transmission by previous means of inputting data manually. They also reduce downtime during an application’s lifetime by handling automatic error correction effectively, thus making them more reliable than other methods.
- A computerized product may require more than one ES if it performs more than one task.
- Easy to update or modify after production without destroying the system.
Disadvantages of Embedded Systems
- Fewer applications3. Less reliability
- Its object code is non-portable, not transportable to other devices or machines.
- The programming language used for embedded systems is often unique to the device being designed because of the hardware being used.
- Usually, there are no available compilers for this type of programming language so the source code must be written directly in machine assembly language instead.
- At times, software for embedded systems
- High cost
What is Windows Embedded Compact (windows ce) ?
Windows Embedded Compact (formerly Windows CE) is not an operating system for general use. It is a special-purpose operating system, optimized for running on small devices with limited memory and storage. If you are writing applications for general-purpose computers, you should not use them.
Windows CE follows the same design principles as Windows XP and Vista but has changed to make it better suited for embedded devices. It shares the same core technologies as Windows XP, including the Windows NT Kernel, Internet Explorer, .NET Framework, and DirectX.
- Windows CE provides a light-weight operating system, with limited memory support (32MB), and no Internet Explorer or Microsoft .NET support.
- However, like its larger counterpart, the OS can be customized using XML application definition files, which allow features such as ActiveX controls, custom program launchers, extra services, and more to be added to the OS.
- These additional features are bundled into a package along with a bootstrapping executable that ties everything together.”
What is a Microcontroller?
Microcontrollers are small single-board computers based on a microprocessor, memory, and programmable input/output peripherals. The microcontroller is often shortened to MCU. The input/output peripherals are often referred to as ports.
Microcontrollers are also different from other embedded systems because they have very little dedicated hardware e.g. sensors, actuators, displays & communication interfaces for controlling them; all these functionalities are programmed using software running inside the microcontroller. One reason for this is simply because of size constraints, but the main reason is that each application uses different sensors and actuators, and so using fixed hardware for control would make it much harder to create applications.
What is microprocessor?
A microprocessor can be considered as an “intelligent” device that executes instructions from programs stored in the memory and controls other devices attached to the computer. The microprocessor is used in all electronic products such as digital TVs, mobile phones, calculators, washing machines, computers, and other consumer electronics devices. In embedded systems microprocessors are used in automobiles, robots, etc.
Microprocessors are classified into two categories:
- Complex Instruction Set Computer (CISC) includes Intel x86 and Motorola 68000 families of processors and has complex instructions set architecture (ISA).
- Reduced Instruction Set Computer (RISC) or Reduced Instruction-Set Computer (RISC) refers to the instruction set architectures (ISA) that use simpler sets of instructions than CISC processors. RISC instruction sets are less complex than CISC instruction sets but more flexible and efficient by design. Examples include ARM and Powerpc families of microprocessors.
Embedded Systems are computer systems with specific functions within larger mechanical or electrical systems, most often (but not always) in electronic devices. They are intended to be embedded into the hardware that they control. Embedded systems control consumer products, such as microwave ovens, DVD players, and video game consoles; industrial process control systems; automated teller machines; navigational aids for ships, aircraft, motorists, and hikers; data communications devices; and many others.