Guest Editor's Introduction: The Seemingly Unlimited Market for Microcontroller-Based Embedded Systems
Issue No. 05 - October (1995 vol. 15)
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/MM.1995.10019
When is a computer application called embedded When "being a computer" is not the main purpose of a product.
The constantly growing embedded systems market uses microcontrollers or digital control systems for a huge number of applications from automotive to aerospace, consumer electronics to laboratory machines, and telecommunications to process control. As a result, embedded systems have an impact on almost all of our industry.
Some key markets are emerging in terms of the volumes of microprocessors they can absorb yearly. These markets stress hardware and software providers with more and more stringent requirements, including the price/performance ratio for hardware components, integration level, architecture suitability, hardware-software codesign tools, programming tools, real-time kernels, efficiency, and ease of integration.
This unprecedented pressure on the information technology industry offers new opportunities for growth to the embedded systems world. A measure of the interest in the number of initiatives that have been launched to sustain R&D activities in all the industrialized countries is a huge initiative in the frame of the European Commission ESPRIT program. Named the Open Microprocessor Systems Initiative (OMI), 1 it is now in its third year and has involved more than 120 companies in Europe for a value of about US$420 million. Its coordinated set of projects aim to offer users products, technologies, tools, and services that will help them develop more competitive applications.
A recent survey 2 classified the major users' criteria for selecting a technology or a set of technology components and is summarized here:
- Selecting an architecture is a major strategic decision, involving detailed study, as it has a significant long-term impact on a company's future product strategy and significant financial implication.
- The primary reason for moving to a new architecture is to improve performance. However, low cost is important when switching to a new architecture as is an easy-to-use design environment. Software also improves performance. For example, moving to high-level languages as opposed to assembler improves software reliability, reduces the cost of changing architectures, eases maintenance, and reduces time to market.
- When selecting a new architecture, systems builders look for a low overall cost and unit price as well as good emulation capability.
- The cost of changing to a new architecture depends on the ease of providing compatible software, operating system, and hardware. Obviously, in emerging application areas, this cost doesn't exist.
- Key ingredients for the design environment are good design tools, strong technical support, and easy software portability.
- Users prefer ASIC solutions.
With this picture in mind, I've selected the five articles in this special issue to give you a comprehensive view of the status of hardware, software methods, and tools for embedded systems.
V. Madisetti and T. Egolf describe a novel approach in hardware-software codesign. They introduce the virtual prototyping design methodology, wherein VHDL (hardware description language) models of hardware components are integrated with application, control, and diagnostic software. This approach rapidly prototypes complex, multiboard, and embedded microcontroller-based digital signal processing systems. Extremely valuable is the comparison with current system design practice and the dramatically positive results that can be achieved in reducing development time (and cost).
The next two articles by S. Segars, K. Clarke, and L. Goudge of Advanced RISC Machines Ltd. and M. Dolle and M. Schlett of Hyperstone Electronics discuss new microcontroller technologies. In most embedded applications, the ideal embedded control processor is one that is small, easy to integrate, and easy to design with, yet features low power consumption and enough performance for tomorrow's products. Both articles present RISC processors as the way forward for embedded controllers in all of these areas. In fact, RISC processors offer high levels of performance and can be made small enough to allow integration into complex ASICs.
The ARM architecture is an innovative approach to powerful 32-bit RISC architectures in those embedded applications that demand code compactness. The achievement is a 16-bit instruction set added on the top of the 32-bit ARM architecture. It results in an embedded control processor that is a small, inexpensive, simple, low-power RISC with good code density.
On the other end, multimedia and digital signal processing--with their potential in applications such as digital TV, data highways, video conferencing, ISDN, and ATMs--are calling for new platforms. The Hyperstone RISC/DSP microprocessor solution replaces a conventional DSP that includes full microprocessor capability. The main objective of the approach is to develop a cost-effective microprocessor for cost-sensitive embedded systems with an enhanced DSP functionality for use in telecommunications, multimedia, and automotive applications, as well as a microcontroller in conventional embedded systems.
Once the issue of a proper hardware platform has been addressed and solved, new needs arise such as a real-time operating system architecture and services. This issue of kernels offering better degrees of scalability and less architectural constraints to applications is addressed in the fourth article by G. Ragazzini and myself in which we describe the EOS kernel.
EOS is a scalable real-time kernel designed for deeply embedded real-time applications. It includes a highly tunable, modular real-time operating system and support tools, and is based on work funded by the OMI program. EOS supports both the full ARM 32-bit architecture and the 16-bit instruction set on top of it, among others. The system is well suited for the extensions and developments needed to provide embedded application developers with an open and integrated software modular design and development environment for effectively reducing costs and improving time to market. The resource management in the microkernel separates policies from implementation mechanisms, particularly in the areas of scheduling, communication, and memory management.
Embedded systems are often used in safety-critical applications or as components of more complex systems where reliability is crucial, either from an economic point of view or simply for image aspects, when the customer base constitutes millions of people. M. Tsoukarellas, V. Gerogiannis, and K. Economides offer a comprehensive view of testing approaches in embedded real-time applications and kernels. A well-established methodology tests the functional behavior of a real-time operating system. The systematic strategy followed for testing such systems includes individual function, module, and bottom-up integration testing, using both black-box and white-box disciplines.
The authors adopted this approach because all modules are not available from the beginning of testing. A systematic way of determining test cases satisfies the requirement for a low degree of redundancy (in test case selection) and high reliability (in test results). In addition, it also adopts often-used coverage criteria and software complexity metrics.
The scenario resulting from the articles in this issue is reassuring and challenging at the same time. Approaches to develop embedded systems are more mature and integrated, borrowing from other engineering disciplines. At the same time embedded systems have already become a critical success factor for a wide range of manufacturing industries. The continuous search for new technology, methods, and goals, both in hardware and software, must be managed effectively. Those organizations that do not learn how to cope with this new world will fail in the future.