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
   333   334   335   336   337   338   339   340   341   342   343