The present invention discloses a method and apparatus for preventing contention
on a common data bus between a CPU and a peripheral device with which the CPU exchanges
data. A transceiver with bus hold is used to connect the bus connections of the
CPU and peripheral. Control logic receives a CPU data strobe signal and generates
control signals for the transceiver and the peripheral. After these control signals
go inactive, the peripheral outputs transition to the high impedance state and
the bus hold circuits maintain the last peripheral output data valid for reading
by the CPU at the end of its read cycle. As soon as the CPU goes to a write cycle
and drives the data bus, the bus hold circuits automatically switch to follow the
new data.