xxxxxx Background on Embedded Systems
xxxxxx IEEE DATC Embedded Systems SubCom

Embedded Systems Home

Background

Upcoming Events

Reseources/Links

IEEE DATC


An embedded system is an electronic computing system which is embedded within a larger system through a "dense" interface. An interface is considered to be dense if it hides the complexity of the underlying embedded system from the environment or user. By hiding computational complexity behind a simple interface, embedded systems technology enables complex computing power to be used by average people. One example of a device which leverages embedded technology is a digital camera which performs sophisticated computations with a very simple control interface. Embedded systems are primarily defined by their interface with the user and the environment.

To consider the design, validation, and test issues related to embedded systems, it is necessary to understand constraints imposed a dense interface, and by the applications in which embedded systems are used.

User/Environmental Interface

The user interface must be simple, relying on standard mechanisms for human interface including buttons, keypads, video screens, speakers, etc. Human interface devices must be suitable to the human sensory system; for example a speaker should not generate frequencies outside the human auditory range and a video screen should not produce frequencies outside of the human visual range. An embedded system can also interact directly with its environment through a set of sensors and actuators . An automatic braking system (ABS) in a car must contain sensors which detect the rate of wheel rotation, and actuators to apply pressure to the brake pads.

Applications of Embedded Systems

The simple user interface of a embedded systems makes their use appropriate in applications whose complexity is in their interaction with the environment rather than the user. Consumer electronics is a common application area because complicated video and audio processing is performed with little user interaction. A cellular phone is a good example of a device with a simple interface which performs complex audio (and recently video) processing tasks using sensor data (i.e. microphone and lens). Feedback control is another area in which embedded systems are widely used because the data used by the system is primarily environmental data rather than user data. Vehicle control systems are embedded systems which rely primarily on data from internal sensors (i.e. RPM, valve pressure) to perform their tasks.

Important Design/Test Issues

Based on the interface properties of embedded systems and the application space in which they are used, we identify the following broad research areas which are important to embedded system design and test.
  • Hardware-Software Codesign/Covalidation - Satisfying the varied design requirements imposed by the range of embedded applications generally necessitates the use of both hardware and software components. Hardware components are required to perform the time-sensitive tasks (i.e. video processing) while software is most appropriate to implement complex control tasks. For this reason, almost all embedded systems are implemented as hardware/software systems.

  • Real-Time System Design - Many embedded system applications must satisfy real-time deadlines to ensure correct operation. Real-time constraints are imposed by the human interface which requires a given video frame rate or sampling frequency. Real-time constraints are also imposed by the nature of the feedback control applications. Feedback control systems require a guanranteed response rate to ensure stability, and instability in life-critical control systems (i.e. braking control) cannot be tolerated.

    Since many embedded control systems are implemented using software components, the software side of the real-time systems problem has garnered significant attention. Satisfying timing deadlines in software requires complex interaction between the application code and the operating system. Real-time software research can be partitioned along these lines: Real-Time Operating Systems (RTOS) and Embedded Software Development

  • Hybrid Systems - Embedded systems combine discrete components used for control with components whose behavior is best modeled continuously, including analog electronic components and mechanical components. The tasks of characterizing, designing, and testing a hybrid system are not yet well formalized.

  • Mobile Computing - Aside from laptop computers, all sophisticated mobile devices are embedded systems because a simple user interface is required to enable widespread acceptance of a product. The functionality of a mobile device is strictly limited by battery lifetime, so research in Low Power Design and Power-Aware Design are important. Mobile embedded computing systems present new challenges in Wireless Networking and Distributed Control .

Further Information

An NSF/ACM workshop on Embedded Systems was held in 2001 and the workshop report contains a general description of the different facets of the Embedded System design problem.

Many books are available on the various aspects of Embedded Systems design individually, but a book which gives a broad perspective on the field is Computers as Components by Wayne Wolf.