This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

SN74LVC8T245: 5VTTL to 3.3VTTL bidirectional level shifter: What's the Best choice

Part Number: SN74LVC8T245
Other Parts Discussed in Thread: SN74LVC4245A, TXB0108, SN74CB3T3245, SN74LVC16T245, SN74LV4T125

Hello,

I have to level shift a local bus from a legacy PLX technologies (Broadcom) to an Altera FPGA, and am looking for the best TI Family of level shifters.

I'm considering the SN74CB3T3245 (Fet bus switch) , SN74LVC4245A, SN74LVC8T245 (has been recommended on this forum for similar applications) or possibly the TXB0108.

Auto-sense vs, direction controlled is a secondary consideration, so long as there are no problems otherwise.

33MHz bidirectional, 32 bit address and data lines, and 8 bits of Byte enables / parity.

on the one side is a Broadcom PCI9080, 5V TTL only, standard 5VTTl voltage thresholds for Vout and Vin.  capacitance 10pF, but the PCI9080 datasheet requires 3k-10k Ohm pullups on all of these local bus lines(address and data lines). 8mA current output

On the other side is an Alter FPGA, which is 3.3V TTL (3.3V CMOS also available among others) with a maximum Vio of 3.6v.  Capacitance is 8pF.  4mA current output at 3.3VTTL.

Thanks for your help,

Dan

  • Hi Daniel,
    Welcome to the forums - and thanks for the detailed post.

    I would recommend going with a direction controlled solution if that will work for your system -- it improves signal integrity and reduces possible problems.

    I would go with the SN74LVC16T245 -- it's the largest bit-width 3.3V to 5V dual-supply translator we have, and it supports speeds up to 200 MHz. A couple of those should cover all your requirements.

    A bus switch used as a clamp can also work -- the high-side capacitance becomes a big factor and external pull-ups are required. If it were me, I'd just go with the active solution since it uses less power and has fewer chances for design bugs.
  • Thank you for your quick response, Emrys. Out of curiousity, and for future options, are you speaking of the SN74CB3T3245 (FET Type Bus Switch) when you refered to "A bus switch used as a clamp"? The High side would require External pull-ups to get up to 5VTTL levels (Vin is minimum 2.0v, I believe for 5VTTL)? And a igh side capacitance of 10pF, would be an issue? Thanks for your help, Daniel
  • At 33MHz a 10pF load is likely to be low enough enough to avoid problems, but it will depend on the driver's output impedance.

    We have a pretty good video series that explains how all this works for the LSF family of translators (they operate very similarly to voltage clamps). training.ti.com/LogicMinute
  • Thank you Emrys,
    After reading the datasheet for the SN74LVC16T245, I had a new concern on the high side. The datasheet on p. 7 states that the VIH for 4.5-5.5V supply is minimum VCCi * 0.7. This works out to a VIH minimum of 3.5V. On the high side my PCI9080 with a 5VTTL standard has a Minumum VOH of 2.4V. So feasible the PCI9080 could output a 3.0V level Logic high. This is within the range for 5VTTL, but the SN74LVC16T245 would not see it as a high as it's less than the 3.5V VIH minimum.
    Any ideas?
    Thanks for your help,

    Daniel
  • Hi Daniel,

    AS i understand, the requirement is for a 32 bit translation device to do 3.3 to 5.5V , bidirectional with 5.5V input being TTL output with 2.4V high level.
    3.3V to 5.5V can be done with SN74LVC16T245. However, the other direction from 5.5V to 3.3V is not possible given the Vih level as you have pointed out.
    You could consider using SN74LV4T125 which is overvoltage tolerant unidirectional translator.
    For 3.3V to 5.5V, the inputs are TTL compatible, so 3.3V input can translate to 5.5V.
    For 5.5V to 3.3V, having the supply at 3.3V, the input being 2.4V (Voh for 5V TTL) will be translated to 3.3V.

    The challenge now is that the device is unidirectional and hence cannot change direction dynamically.
    LEt me know if this works for you.