Bus Interfacing

In this section, I’ll show you how to expand the capabilities of your processor by interfacing it to bus-based memories and peripherals. Before we do anything else, let’s take a quick tour of those mysterious timing diagrams found in datasheets and understand what they all mean.


A timing diagram is a representation of the input and output signals of a device and how they relate to one another. In essence, it indicates when a signal needs to be asserted and when you can expect a response from the device. For two devices to interact, the timing of signals between the two must be compatible, or you must provide additional circuitry to make them compatible.

Timing diagrams scare and confuse many people and are often ignored completely. Ignoring device timing is a sure way of guaranteeing that your system will not work! However, they are not that hard to understand and use. If you want to design and build reliable systems, remember that timing is everything!

Digital signals may be in one of three states, high, low, or high impedance (tristate). On timing diagrams for digital devices, these states are represented as shown in Figure 6-11.

Digital states

Figure 6-11. Digital states

Transitions from one state to another are shown in Figure 6-12.


Figure 6-12. Transitions

The last waveform ...

Get Designing Embedded Hardware now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.