Electronic – How to find a truly bi-directional level shifter

bidirectionallevel-shifting

I'm trying to create an interface PCB to a 32 channel USB GPIO device which has 3.3v IO, and I want the flexibility to use 1.8, 3.3 or 5v – across all pins, or at most in 2x banks of 16 – I don't need different voltages on a per-pin basis.

Speed-wise I'd be looking for at most 1MHz switching frequency, but as low as 200kHz would probably be fine.

When searching through Farnell (UK version) I've found lots of 16-channel level shifters that are technically bi-directional, but only with a switchable direction using a DIR pin handling an 8 channel bank. I need something that will give true bi-directionality on each pin without having to set the direction.

As an example, what I currently use for level shifting is this SparkFun board: SparkFun Logic Level Converter – Bi-Directional but this requires a 'low' side and a 'high' side. I suppose I could shift everything to 5v and then back down to 3.3v, but I'd prefer a simpler packaged solution.

Is there some terminology I'm missing that would help me narrow down my search to find what I need? If it even exists, that is.

Best Answer

There are bidirectional level shifters with automatic direction sensing, but that ability requires compromises in other electrical parameters.

There are two widespread architectures for automatic direction sensing:

  • TI's TXB010x (and equivalent chips from other manufacturers) have the outputs in both directions active at all times:

    TXB architecture
    source: A Guide to Voltage Translation With TXB-Type Translators

    The output drivers have a high impedance to allow other devices to override the voltage level. This means that those other devices need to have enough drive strength (at least 2 mA), and that the TXB's outputs have a very low drive strength (only 20 µA guaranteed).

  • TI's TXS010x (and equivalent chips from other manufacturers) use passive switches to pass low voltage levels, and rely on pull-up resistors to generate high voltage levels:

    TXS architecture
    source: A Guide to Voltage Translation With TXS-Type Translators

    For a low signal, other devices must have enough drive strength to sink the current from the pull-up resistors and to drive the input(s) on the other side of the translator. A high signal is generated by the pullups.

    There are level translators based on discrete MOSFETs; their architecture is essentially the same (without the one-shot edge accelerators).

TXB-type translators are appropriate only when connecting directly to CMOS outputs and inputs; pull-up/-down resistors will not work (except when extremely weak), neither will any load, such as a LED.
TXS-type translators are appropriate only when an open-drain signal is possible.

In the general case, you should use unidirectional or direction-controlled (with DIR) translators, if possible. (And for the same reasons, most GPIO pins are designed so that they must be explicitly configured as input or output.)