Page 338 - Embedded Microprocessor Systems Real World Design
P. 338
Note that this is the same as the logic for the original OR gate. Negative logic reverses
the function of the gates. A low/true AND function is implemented with an OR gate, and
the low/true OR function is implemented with an AND gate.
Tristate
One more basic logic function needs to be described: tristute. In the tristated (sometimes
called high-impedance) condition, the driver does not drive the signal-it neither sinks nor
sources current. The voltage floats to some unknown level, or if the signal is pulled up with
a resistor, the signal will go to a high state. A tristate output has three states: high, low, and
tristated.
Tristate is essential to microprocessor designs. A typical microprocessor will have a
common group of 8, 16, 32, or 64 signals for reading and writing data. When signals are
grouped this way, they are referred to collectively as a bus. When the processor wants to write
data, it drives the data bus with the data it wants to write, and all other devices connected
to the bus are expected to tristate their drivers so there is no conflict. When the micro-
processor wants to read data from the bus, it tristates its own signals, and the device that it
wants to read from is expected to drive the bus with the requested data. Tristate signals allow
many digital outputs to be tied together, but the basic rule still appliemnly one device at
a time can drive the signal.
Tristate devices come in two flavors: unidirectional and bidirectional. A unidirectional
device can send data in only one direction-to the output. The output can be either high,
low, or tristated, but it is never an input. The outputs of a bidirectional device can also be
tristated, but they double as inputs, allowing data back into the device. Again, when the
outputs of a bidirectional device are tristated, they also act as inputs and can receive signals
from another device that is driving the shared signal. Microprocessor data buses always
are bidirectional since they are used for both reading and writing. Most microprocessor
peripheral integrated circuits (ICs) are bidirectional as well.
A common use of bidirectional ICs in microprocessor circuits is as bus buffers. A
microprocessor data bus will be connected to one side of a bidirectional driver IC (called a
transceiver). Call that side A. Some other device will be connected to the other side of the
transceiver, side B. When the transceiver is off, it drives neither bus. When side A (connected
to the microprocessor) is enabled, the signals on side B appear on the microprocessor data
bus and the microprocessor can read them. When the side B outputs are enabled, data from
the microprocessor bus is passed to side B. Transceivers typically are available in 8- or 16bit
widths to accommodate common microprocessor buses.
True/False Notation
As already mentioned, we can define the input and output as true and false instead of high
and low. If we do this with the basic AND and OR gates, we get the following (table on page
320) :
Appendix C 319