The following review of my first professionally published book, The Handbook of Microcomputer Interfacing, appeared in Byte Magazine late in 1984. The review was written by the late Petr Beckmann, a professor of electrical engineering at CU Boulder.
THE HANDBOOK OF MICROCOMPUTER INTERFACING
Blue Ridge Summit. PA: 1983
272 pages. $14.95
The Handbook of Microcomputer Interfacing
Reviewed by Petr Beckmann
Though there are several books available on interfacing to microcomputers, they all seem to fall short when explaining the practical workings. For example, why is it so difficult to connect two devices using an RS-2 32C connection? Many books written about interfacing tell you about the RS-232C standard interface conceptually, but they ignore the problems encountered when using it.
I am happy to report that Steve Leibson's The Handbook of Microcomputer Interfacing does not shortchange the reader. Based on a series of six articles that appeared in BYTE in 1982, this book does indeed answer the preceding question about RS-232C connection, as well as many more about interfacing. It is clear that the author feels at home with this subject. In the introduction to the book he writes, "Welcome to the world of microcomputer interfacing! It is a place full of mysteries much like a computerized Adventure game. . . . This book is a set of guidelines on how to play the Interfacing game." Throughout the book Mr. Leibson mixes facts, history of technology, and opinion into an easy-to-read introduction to this field.
The first chapter, "Bits, Bytes and Buses," serves as a preface for the hardware novice. It presents clearly and simply the basic concepts of Boolean mathematics, gates, flip-flops, computer number systems, and buses. Chapter 1 also includes a complete explanation of the ASCII (American Standard Code for Information Interchange) code. The author covers each ASCII control code in a short paragraph, lifting the veil on a somewhat cryptic subject.
In chapter 2, titled "Component-Level Buses," Mr. Leibson discusses the first port of access to the microprocessor. All data flows into or out of the microprocessor over its component-level bus. The chapter starts by defining the parts of a generic microprocessor bus, which is composed of address, data, and control buses. The author then progresses to specific microprocessor buses; the 6800, 8080, Z80, 8086, Z8000, and 68000 microprocessors are covered in depth. The read and write cycles of each bus are detailed, and special features of each microprocessor bus are described. Throughout this chapter, Mr. Leibson specifically calls attention to aspects he feels are particularly interesting, rather than simply reciting "the way things work."
Backplane buses are described in chapter 3. Several of the better-known buses are covered, including the STD, S-100, Multibus, and IBM Personal Computer bus. I did not find the same level of description in this chapter, which is more like a handbook of the various buses; the interesting and readable prose found in the rest of the book is missing. However, the material is still handled well technically Some humor did find its way into the chapter: Did you ever hear about the "MOTEL" circuit?
Chapter 4 is the first to cover an actual interface, the parallel type. The author classifies parallel interfaces into zero-, one-, two-, and three-wire handshakes. I have seen several of these types before, but the classifications seemed new to me, and I found it easier to sort things out thinking of parallel interfaces in this manner. Simple latched outputs are an example of a zero-wire handshake interface, while the IEEE-488 (HPIB) is an example of a three-wire handshake interface. The author details another well-known parallel interface, the Centronics.
The last part of chapter 4 covers integrated circuits (ICs) used to implement parallel interfaces and how these ICs are applied. Many of the illustrations are apparently taken from manufacturer data sheets. I found this to be quite unusual for an interfacing book; the "real world" details are usually left as an exercise for the reader. The approach used in this chapter sets the tone for the rest of the book.
Mr. Leibson tackles serial interfaces in chapter 5. He starts out by showing how Morse code and telegraphy evolved into today's computerized serial interface, then he follows with descriptions of simplex, half-duplex, and full-duplex connections, and synchronous and asynchronous communications.
When discussing serial-interfacing standards, Mr. Leibson pays special attention to RS-232C. He has tried very hard to give the reader a personal perspective on this, the most pervasive of the interfacing standards, and he describes the "basic eight" signals in the RS-232C standard. As in the previous chapter, a substantial part of chapter 5 is devoted to the ICs used, to implement a serial interface, including level translators, receiver/transmitters, and baud-rate generators.
Chapter 6 covers analog interfacing, both digital-to-analog (D/A) and analog-to-digital (A/D). This chapter includes a smattering of operational amplifier theory and the only math in the book. Many pages are used to describe resistor ladders and how they are used to convert digital signals to analog voltages. Various A/D conversion techniques are illustrated, but the author unfortunately does not mention any real devices as examples, as he did in the previous two chapters.
A unique concept, interfacing to time, is discussed in chapter 7. The author covers both interval timers and time-of-day clock circuits and provides some actual 1C descriptions, which makes the chapter seem less esoteric.
Chapters 8 and 9 are not about specific interfaces but about the interfacing techniques of interrupts and direct memory access (DMA). In the chapter on interrupts, the author discusses the subject generally. He then returns to four of the microprocessors described in chapter 2 to discuss their interrupt capabilities. The chapter on DMA is quite short, and I was left feeling that there is probably a lot more to be said on the subject.
The Handbook of Microcomputer Interfacing is an excellent introduction to microcomputer hardware. It is easy to read, yet it contains a wealth of information needed by anyone working closely with microcomputers. The book seems to be targeted at hobbyists, technicians, engineers, and scientists.
If you have been a victim of books that promise a lot and deliver even more, but most of it over your head, this is the one you need for interfacing microcomputers with other devices.