When I received this book, with its unassuming title and simple cover graphics, my initial reaction was to dismiss it as yet another PC-inspired cookbook for novice practitioners. What I found was a comprehensive and authoritative discussion of design theory and implementation of microprocessor interfacing. As the author notes in the preface, connections to the real world are often the most difficult to implement as well as being the most common reason systems fail. Although numerous standardized interfaces are available, failure of system designers to adhere to these standards or to devote sufficient time and resources to implementing them properly has resulted in an increasing number of systems compromised by their input-output systems.
This book examines the increasingly important area of real-time and online data acquisition and control systems. Although the public commonly views microprocessors in terms of the single-user system used at home or in the office, microprocessors and microcontrollers (devices that incorporate the microprocessors and other peripheral devices such as RAM, EEPROM, and serial or parallel interfaces on a single chip) used in embedded-system designs represent the largest segment of the microprocessor market. From microwave ovens to video recorders, embedded systems depend on properly designed input-output systems to operate properly. Although the actions these systems perform are typically straightforward, one must understand the basic design theory as well as the established standards in order to implement them properly.
With this motivation, the author guides the reader from basic theory to designs based on the applicable standards. The first chapters present basic material related to collecting nonbinary data (such as temperature, pressure, and flow rates). In order to sample a process properly, one must first understand the factors that compromise or affect the measurements. These chapters discuss such issues as input transducers, sampling techniques, and signal conditioning and conversion in detail. To appreciate this material fully, the reader should have some background in basic analog electronics, but simply reading these sections for general background will give the casual reader a much greater appreciation for the processes involved.
The second portion of the text explores interfacing the data acquisition and control equipment to a computer system. In order for a design to work properly, several issues must be considered. Two chapters cover design issues and appropriate standards for processing data in either a serial or parallel format. Related chapters discuss other design issues, such as environmental constraints (noise, power, and shielding) and output transducers.
The third part of the text examines microprocessor-based control circuits. The additional flexibility of a program-controlled interface enhances the capabilities of the design. In keeping with the general structure of presenting both theory and practice, the section begins with a general discussion of microprocessor-controlled I/O and quickly applies that capability to specific interfaces and microprocessor architectures. The text also examines the system design process and discusses techniques that can be used to increase the reliability of the final product.
In the final chapter, the author uses three design examples to illustrate the various points presented throughout the text. Although the examples present fairly straightforward design problems (a gas plasma display system, an automated greenhouse, and a small mobile vehicle), concepts used to develop these systems are representative of the issues one would encounter when implementing more sophisticated designs.
The preface states that the text is intended for use in an advanced (senior or graduate-level) course in computer interfacing. Although the material is appropriate for such a course, an instructor would find the lack of exercises a significant shortcoming. Likewise, the limited number of references will be noticed by both the student and the practitioner who wish to pursue a topic further. As the author notes, however, formal research in this area is limited, which may have limited the number of references that could be cited.
Overall, the book is a well-written, in-depth discussion that skillfully combines theoretical issues, established standards, and objective analysis. It should be considered required reading for those responsible for the design and development of real-time or embedded data acquisition and control systems.