Electronic – Interfacing tri-state logic across 3v3/5v. Do buffers mirror all three logic states

3.3v5vbuffertransceivertri-state

(This is just learning/hobby stuff…)

I have a 5v (tri-state TTL, ZX Spectrum) bus and I want to interface some non-5v tolerant 3v3 chips to it.

I think I need buffers or transceivers for the level conversion. (Is a buffer just a latching transceiver?)

Will a buffer or transceiver send all three logic states (high, low and tristate/high-Z) across the level change?

Could anyone recommend suitable ICs, either 8 or 16 bits wide, in DIP or DIY-solderable surface mount packages?

Best Answer

The 5V-to-3V conversion problem is pretty easy to solve. There are lots of buffer chips that can be powered with 3.3V, but have 5V tolerant inputs. There is a de facto standard for various types of logic chips called the 7400 series. Many IC manufacturer makes chips that use similar part numbering conventions (and are usually pin compatible with each other). The part number convention is: $$\color{black}{74}\color{red}{XXX}\color{green}{nnn}$$ where,
\$\color{red}{XXX}\$ - one, two, or three letters representing the technology used
\$\color{green}{nnn}\$ - numbers representing type of logic

Conveniently, wikipedia's page on the 7400 series details which technologies are 5V tolerant. So, for example, any logic chip with a part number that contains "74LV" should work for you. Use digikey or mouser (or similar) to filter on DIP packages and cost. Of course, always check the datasheet to verify voltage tolerances.

Digital buffers can not detect high impedance inputs. Stray electric fields in the local proximity to the input pin will cause the input to swing high and/or low, which will erroneously drive the buffer's output. It may even flicker between high and low rapidly, which can cause all kinds of bad things to happen downstream in your circuit. This is the same reason you can never leave the input pins of a buffer unconnected (floating).

Many buffer chips include Output Enable (OE) pins that allow you to individually turn off buffer circuits on the chip. If you know the input is going high-impedance, you can disable the buffer which effectively causes its output to go high-impedance as well.