Search This Blog

Saturday, 1 November 2014

embedded system

When people think of a computer, they generally think of a general-purpose computing system housed in a separate box, for use on the desk or as a laptop or hand-held device. However, the personal computer and its cousins are only the surface of a hidden web of computing capability that reaches deep into numerous devices used in our daily lives. Modern cars, for example, often contain several specialized computer systems that monitor fuel injection or enhance the car’s grip on the road under changing conditions. Many kitchen appli-ances such as microwaves, dishwashers, and even toasters contain their own computer chips. Communications sys-tems ranging from cell phones to TV satellite dishes include embedded computers. Most important, embedded systems are now essential to the operation of critical infrastructure such as medical monitoring systems and power transmission networks. (The potential vulnerability of embedded systems to the Y2K date-related problems was a major concern in the months leading up to 2000, especially because many embedded systems might have to be replaced rather than just reprogrammed. In the event, it turned out that there were relatively few date-dependent systems and only minor disruptions were experienced. See y2k problem.)

Characteristics of Embedded Systems

What most distinguishes an embedded system from a desk-top computer is not that it is hidden inside some other device, but that it runs a single, permanent program whose job it is to monitor and respond to the environment in some way. For example, an oven controller would accept a user input (the desired temperature), monitor a sensor or thermostat, and control the heat to ensure that the correct temperature is being maintained. Embedded systems are thus similar to robots in that they sense and manipulate their environment.

Architecturally, an embedded system typically consists of a microprocessor, some nonvolatile memory (memory that can maintain its contents indefinitely), sensors (to receive read-ings from the environment), signal processors (to convert inputs into usable information), and “effectuators” (switches or other controls that the embedded system can use to change its environment). In practice, an embedded system may not have its own sensors or effectors, but instead interface with other systems (such as avionics or steering). Programmers of embedded systems often use spe-cial compilers or languages that are particularly suited for creating embedded software (see ada and forth). Because available memory is limited, embedded program code tends to be compact. Since embedded systems are often responsible for critical infrastructure, their operat-ing programs must be carefully debugged. Designers try to make programs “robust” so they can respond sensibly to unexpected conditions or at least “fail gracefully” in a way least likely to cause damage. Other strategies to improve the reliability of embedded systems include the use of overdesigned, fault-tolerant components (as in the military “milspec”) and the use of separate, redundant systems so that a failing system can be “locked out” and processing can continue elsewhere.

No comments:

Post a Comment