What is the difference between unidirectional buffer and bidirectional buffer?
A bi-directional buffer includes first and second unidirectional
buffers connected for retransmitting signals in opposite directions
between first and second buses. When an external bus driver pulls
the first bus low, the first unidirectional buffer pulls the second
bus low and generates a signal inhibiting the second unidirectional
buffer from actively driving the first bus. When the external bus
driver allows the first bus to return to the high logic level, the
first unidirectional buffer temporarily supplies a high charging
current to the second bus to quickly pull it up. Similarly, when an
external bus driver pulls the second bus low, the second
unidirectional buffer pulls the first bus low and generates a
signal inhibiting the first unidirectional buffer from actively
driving the second bus. When the external bus driver allows the
second bus to return to the high logic level, the second buffer
temporarily supplies a high charging current to the first bus to
quickly pull it up. The bi-directional buffer includes a register
for storing and reading out data representing successive logic
states of a signal on the first bus, thereby providing a history of
data appearing on the bus