Embedded Systems

embedded systems
An embedded system is an electronic system dedicated to a specific purpose. Generally speaking, an embedded system is a special purpose computer. An embedded system is based on specifications. Specific requirements are defined and based on these requirements an embedded system is developed. In short an embedded system works for a predefined task. On the whole a hardware chip programmed for a dedicated task results in an embedded system.

Embedded System Design Issues

Cost and Performance

The embedded systems are developed to perform specific tasks but at lower cost than general-purpose computers. Lowering the cost affects the speed of embedded system. Mostly the functions associated with embedded systems do not require much speed. Most often speed issue doesn't matter and one achieves the task at lower cost. Simplifying the hardware allows cost reduction. Using cheaper but slower processors and interfaces such as synchronous serial interfaces can do this.

Speed and Storage

Some tasks may require high speed but not much storage requirements. In such cases small memories can also do the trick. The embedded systems are developed for high volumes. Here the cost becomes a big issue. The selection of memories, chips, controls and integration of CPU is also a concern in cost reduction. The tasks involving small volumes can be achieved by simplifying general purpose PCs. Some times general purpose PCs can be used as embedded systems. As an example, rack mount general-purpose computers are used to control devices like printers or drill press. The selection of an embedded system depends upon the requirement specifications.

Specifications and User Constraints for Embedded Systems

Specifications define that what task is to be achieved. The specifications contain user constraints. The constraints help the designer to select appropriate hardware and software setup to develop an embedded system. These constraints must be met on real-time. Overall an embedded system performs the specific task according to the real-time constraints using special purpose hardware and embedded software.

Embedded Software / firmware

The hardware requires software to work. The software in embedded systems is known as firmware. The firmwares are developed for embedded systems that do not have disk drives. They are burned on ROMs or flash memories. It is a good practice to avoid the use of mechanical moving parts in embedded systems designing. The embedded systems are designed to perform tasks for years without any errors. Solid-state parts like flash memories are more reliable than those of moving ones such as buttons, switches and disk drives. Moreover to avoid errors the, firmware is tested with much careful. For this purpose the coders use simulators. A simulator allows compiling, assembling, running and debugging the code.

Embedded CPU architectures

Atmel AVR, 8051, X86, ARM, MIPS, PIC, PowerPC, Coldfire, H8, SH, V850, FR-V and M32R are most widely used CPU architectures for embedded systems. Each CPU is associated with its own instruction set for programming. One of the most hot embedded system design technique is System On Chip (SOC) . System on chip is an application specific Integrated Circuit (ASIC). One of the CPUs mentioned above is used in the IC. FPGAs are one common implementation of SOC.

Embedded Operating System and Interfaces

The simplest form of embedded system is an on chip CPU with firmware. Embedded operating system provides more flexibility in use and so does the user interfaces. But both depend upon the requirement specifications.

Embedded operating system

An embedded operating system is dedicated to a specific purpose in the embedded system. Its use depends upon the applications such as airline reservation systems. Embedded operating systems are very efficient than others as they exclude non-embedded functionalities. Almost meet the real-time constraints. Embedded operating system resides on ROM-read only memory, as its task never changes. Commonly used operating systems such as windows XP or Linux are also used as Embedded windows XP, Embedded Linux for some embedded systems.

Embedded System Interfaces

The interfaces not only depend upon requirements but also the way designers handle it. For example use of touch screen instead of separate keypads and displays. But also keeping in mind the cost issue.
Reducing the user actions simplifies the design. One way to reduce user actions is to use a light indicator for any information or two light bars displaying errors in pre-defined language. Most often designers use red color for danger indication, green for OK and yellow indicating may be there is an error.

Embedded System Applications

The uses of embedded systems are endless. One of the most common uses of embedded systems is in Cellular phones. Other uses include toys, trains, planes, automobiles, space vehicles, robots, cameras,PDAs even in home appliances and many more to name.