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.

TXS0202: Compatibility with regular USB / alternatives

Part Number: TXS0202
Other Parts Discussed in Thread: LSF0102

Here is my problem:

I would like to use a STM32F2 CPU at 1.8v vcore, but for my chosen CPU, the USB core operates at the same voltage. I cannot chose a CPU with an independent USB voltage domain because of the other peripherals I need to use.

I thought it would be a simple matter of finding  "some chip" to translate 1.8v to 3.3v, and I happened across the txs0202 which seemed to be exactly what I wanted. I did not understand at the time that the physical interface for "IC-USB" is different than regular USB 2.0. 

I have now read the spec and I think I understand that this is why I cant get the TXS0202 chip to work despite trying everything.

I am kind of surprised that although every major manufacturer offers specific level shifting ICs for every protocol under the sun (I2C, SPI, etc, etc), The TXS0202 is the only I can find on the internet that mentions "USB" anywhere. Am I doing something wrong in my search? Is there another word for this type of thing?

My main question is multipart:
a) Am I correct that the TXS0202 is not compatible with regular USB, since it implements the "IC-USB" interface which has different value reistors?
b) Is there any way I could "hack" something together with this part? I tried adding my own 15k pull-down resistors on the device-facing side but it didnt really help anything.
c) is there any similar product designed for /regular/ USB from any manufacturer anywhere, or could I just use a standard "vanilla" LSF0102, with or without some extra resistors?


  • Hi Tim,
    I will ask our local expert on translation to take a look into this. Can you expand on why you think it won't work? I'm far from an expert on the USB spec -- typically I try to break things down into voltage, current, and bit rates and it makes my life a bit easier.
  • Well for starters, it puts a 3k pullup on the D+ line during "attach" mode, rather than the 1.5K pullup used in the "regular" spec. This results in a lower voltage seen at the CPU than expected for the device detection process, (3//15 instead of 1.5//15) which I can measure with my multimeter and calculate easily with voltage divier math. It does seem like it is trying to pass the D+ pullup signal for "attach mode" correctly though, and my CPU does get as far as saying "device attached" before quitting.

    Since all the other resistors are also different, I expect other parts of the spec might be violated enough to break things. It looks like the pull-downs are an order of mangitude higher ( >100k instead of 15k).

    The pullup / pulldown resistors for IC-USB are clearly outlined in the specification extension for IC-USB, and it seems from the brief, vague datasheet that the TXS0202 complies with these values.

    I soldered this chip down onto a PCB and tired to use it, and my CPU always just says "USB device attached" and then "USB device detached" over and over

    I soldered the chip right off, raised the core voltage to 3.3v, and bypassed the TXS0202 footprint with air wires and it worked flawlessly.

    Then I soldered a new chip back on, and its back to acting wonky and not really working.

    There's a small chance Im soldering these things down poorly, as I am doing it by hand, and its a microscopic wafer-scale package. I dont have any xrays but I usually succeed in soldering similar sized parts with other functions, and after 3 tries Im starting to think its the IC, not my soldering.

    Another thing that raises my suspicions is that this product exists in the first place, and USB is mentioned in no other part's documentation implying that USB level shifting does require special handling, perhaps because of these resistors, but Im not sure.
  • Hi Tim,

    There are couple of devices which supports the IC-USB requirements from our portfolio listed below :

    www.ti.com/.../products.html

    The other one you could try is the SN74AVC2T872 which provides the drive stregth of up to 12mA unlike the TXS which doesnt provide any DC drive of its own.
  • Since the SN74AVC2T672 is a buffered device, it also requires direction control to determine the signal flow.
  • Thank you for taking a look at this issue.

    I think you meant SN74AVC2T872 , not  "SN74AVC2T672"? I had looked at this part before as well, but I didn't like the idea of a "direction control" signal, as I am pretty unclear on USB low-level stuff and I don't know how to generate such a signal from my CPU. I just did a quick search, and could not find any obvious "just use this bit here" type of answer. Is there anywhere where I can find information on how set up a hardware direction signal on an STM32F CPU? or for USB in general? For a beginner?

    I did not realize that the txs0202 does "not provide any dc drive of its own". I'm also not sure if that is a problem or not. Does that mean it has internal pull-up resistors to provide high-level drive voltage, much like an LSF0102, except the pull up resistors are internal? 

    Since the SN74AVC2T872 is meant for the IC-USB standard, Im not sure if i see what advantage it has over a "plain old" LSF0102? Neither of them work with the standard I am using (I want regular USB, NOT IC-USB), but both of them do work with similar standards. This is from the LSF0102 datasheet:

    "If either output is push-pull, data must be unidirectional or the outputs must be tri-state and be controlled by some direction-control mechanism to prevent HIGH-to-LOW contentions in either direction. If both outputs are open-drain, no direction control is needed."

    And it goes on to detail an application for level shifting a "MDIO" signal, which seems to have a similar PHY to USB.. Much like MDIO I believe that the USB drivers themselves will automatically tristate depending on the direction, so it seems like the datasheet is telling me that this LSF part will do automatic bi-directional USB level shifting just fine, up to 100MHz.

    Honestly Im still pretty confused as to why something like the txs0202 wouldn't work, or why the SN74AVC2T872 might if they implement exactly the same standard, but since the SN74AVC2T872  has a very tiny package and I dont have an x-ray machine, and since I cant find an easy way to generate a direction control signal, Im tempted to just try the LSF0102 part to see if I can get anything working.

  • Hi Tim,

    Sorry , yes , I meant the SN74AVC2T872 device.
    The LSF is a generic level shifting device for voltage translation through pullup resistors, the speed limited by the R pullup and the output load capacitance.

    The TXS architecture has the internal pullup resistors for translation. I am sure that they would work for the USB as the datasheet claims. I also wanted to highlight our other device for USB and hence suggested the 'buffered' SN74AVC2T872 to overcome parasitics and acheive the necessary datarates.