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.

TXB0108 problem with opto-coupler

Other Parts Discussed in Thread: TXB0108, TXS0108E

Dear Ti,

We are using the bi-directional level shifter TXB0108 to convert GPIO from/to a 1.8v device to/from 5v. 4 of the 8 channels are used in the direction from the 1.8V device to 5V to opto-couplers [OUTPUTS]. The other 4 channels are going from opto-couplers (emitter side 5V and pulled down) to the level shifter, to the 1.8V device [INPUTS].

When testing the input direction we noticed a strange behavior. When an input is given to the opto-coupler and it switches, the GPIO on the 1.8V device goes high as intended. However, when releasing the input signal on the opto-coupler, the signal line on the 1.8V side stays high. We removed the opto-coupler and replaced it with a plain switch. When the switch is closed the signal on the 1.8V side goes high. When opening the switch it stays high unless I touch the signal line (5V side) with a conductor (an unconnected wire of 20cm (acting maybe as antenna)). As the datascheet mentions not to use pull downs with resistors smaller than 50k we have replaced our 10k with both 60k and no pull down at all. Both options did not solve the problem.

The outputs are working except for 1 channel (A5<->B5). When modifying the channel signal on (A6 <> B6) the signal on A5<-> B5 drops. As we have 16 I/Os in total we use two of these TXB0108 and both are showing exactly the same behavior.

The used opto-couplers are: SFH6156

Schematics are attached.

Any help would be appreciated.

3681.sch.pdf

  • Tim,

    My feedback is below. Let me know what you think. Thanks.

    Tim Waegeman said:

    When testing the input direction we noticed a strange behavior. When an input is given to the opto-coupler and it switches, the GPIO on the 1.8V device goes high as intended. However, when releasing the input signal on the opto-coupler, the signal line on the 1.8V side stays high. We removed the opto-coupler and replaced it with a plain switch. When the switch is closed the signal on the 1.8V side goes high. When opening the switch it stays high unless I touch the signal line (5V side) with a conductor (an unconnected wire of 20cm (acting maybe as antenna)). As the datascheet mentions not to use pull downs with resistors smaller than 50k we have replaced our 10k with both 60k and no pull down at all. Both options did not solve the problem.

    I think I have one possible explaination to explain the results on the 1.8V input path:

    Section 8.3.2. of the datasheet describes the drive strength that is needed to properly toggle the TXB0108 outputs.

    To force an output pin low, the corresponding input pin must be driven to at least -2 mA. In other words, you need to pull/sink current from the TXB0108 input pin.

    The TXB0108 inputs are connected to the emitter output of the opto-coupler. If the opto-coupler input changes from high-to-low (or high-to-floating), then its BJT output is in the cutoff state. There is no current sink from the TXB0108 input, so the TXB0108 output remains unchanged (high in this case). Perhaps I am mistaken, but that is what it looks like to me. Let me think of possible work-arounds.

    This would also explain why the 1.8V output path does work. In that path, the TXB0108 inputs are directly connected to the 1.8V GPIO outputs, which I am sure are capable of sourcing and sinking the required 2 mA.

    Tim Waegeman said:

    The outputs are working except for 1 channel (A5<->B5). When modifying the channel signal on (A6 <> B6) the signal on A5<-> B5 drops. As we have 16 I/Os in total we use two of these TXB0108 and both are showing exactly the same behavior.

    Perhaps this is due to crosstalk between the two pins. Do you have an oscilloscope waveform capture that I could refer to?

    Best Regards,
    Nirav

  • Dear Nirav,

    Thanks for your fast reply. Would it be possible to replace the TXB0108 with the TXS0108 or wouldn't it solve the problems we are experiencing?

    I'm connecting a scope now and will send the waveforms when I have them.

    Best Regards,

    Tim

  • Dear Nirav,

    It took a little bit longer than expected to hook up a scope (only one scope here).

    Attached you can see the screenshots of the different states of 2 channels. At first I measured the signal on two channels when the opto-coupler is attached. The signal in high state was really bad. It filled the screen of the scope between 0 and 5V (like a very noisy signal). So to evaluate the output of the TXB0108 I removed the resistor at pin 2 of the opto-coupler (disabeling it). As shown, the level is not a constant value but it seems that the effect between the signals (that I described before) is no longer present. So just attaching the opto-coupler causes the cross-talk effect.

    Do you know if the TXS0108 would help?

    Best Regards,

    Tim

    Both low

    Both High

    Putting Channel 2 to low should affect channel 1 as it was before. However, it looks like when removing the opto-couplers, the effect is not present.

  • Tim,

    I do not think the TXS0108 would help. To me, the problem to overcome is that the opto-coupler output disconnects.

    - If the opto-coupler input changes from high-to-low (or high-to-floating), then its BJT output is in the cutoff state.
    - Nothing is externally driving the TXS0108 input high or low, so the TXS0108 input will be kept high due to its internal pullup resistor.
    - The TXS0108 output would then also be kept high. From what I understand, you need the outputs to be low in this case.

    I am still thinking of possible workarounds, and will try to let you know within the next few days.

    Best Regards,
    Nirav
  • Tim,

    Sorry for this oversight - I neglected to consider the 10k external pulldown resistors in your schematic and that the signal flow is uni-directional. I think the TXS0108E might work, but I will try to prove it out in the lab first. Here is my *revised* thought process:

    To produce a low:

    VIL must be 0.15V or less

    - If the opto-coupler input changes from high-to-low (or high-to-floating), then its BJT output is in the cutoff state.
    - Each TXS0108E input, with its 10k external pulldown resitor, will create a voltage divider with the 40k internal pullup resistor on each TXS0108E input
    - So VIL = 1.80*(10k)/(10K+40k) = 0.36V, which is not sufficiently low
    - You would need to adjust from 10k to no larger than 3.6k
    - The TXS0108 output would then be kept low

    To produce a high:

    - If the opto-coupler input changes from low-to-high (or floating-to-high), then its BJT output will conduct.
    - This current will create a IR voltage across the 10k resistor.
    - As long as there is sufficient current to meet the VIH requirement of the TXS0108E input, the TXS0108E outputs should switch high

    I will have lab results in a few days.

    Best Regards,
    Nirav

  • Tim,

    I did not have an opto-coupler, so I used a current source (Keithley 2400 Sourcemeter). When enabled, it would source current through the pulldown resistor, creating a valid VIH. When disabled, it will Hi-Z, allowing the pulldown resistor to divide the pin voltage (through its internal PU resistor) to a valid VIL. With this setup, the outputs toggled.

    I would try to use the TXS0108E.

    Best Regards,
    Nirav

  • Dear Nirav,

    thanks for your reply. I'm currently out of office this week. However, next week I will try the TXS and keep you posted.

    Best regards,
    Tim
  • Dear Nirav,

    By changing the pull down resistor from 10k to 1k I was able to successfully read the input with the TXS0108E on the A side. However, for my outputs there is still cross-talk between them. So when setting a pin high on the A side of the TXS0108E it will bring it high on the corresponding B side but it affects the state on the B side of other channels (sometimes dropping them to low). There is no particular pattern in how they are affected. Sometimes they drop, sometimes they do not.

    Best Regards,

    Tim

  • Tim,

    At the moment, I can't priortize lab eval until next week, but I have a suggestion for you.

    We've considered potential crosstalk from pin B6 (aggressor) to pin B5 (victim). Please probe the correpsonding input pins A6 and A5. I am wondering if the signal into pin A6 is actually the aggressor and pin A5 is actually the victim.

    Ideally I'd like to see a waveform capture of pins A5, A6, B5, and B6 in one picture.

    Best Regards,
    Nirav
  • Dear Nirav,

    Attached you will find two screenshots. The first one shows the effect on A6/B6 when A5/B5 is becoming high while the second picture is showing the effect on A5/B5 when A6/B6 is becoming high. This means that both can be victim/aggressor. I find the output signal of the 1.8V device to be really noisy but this is only the case when connected to the TXS0108E. Other pins that are not connected to the TXS0108E are having a nice constant signal (both high and low). It looks like there is some strange interaction going on between the GPIO of the device and the TXS0108E.

    The effect is not only present when changing an output from low to high but also from high to low. The only thing that never happens is a signal becoming high by changing another GPIO. So when an output is low it will stay low even when changing the neighboring  signals.

    A5: yellow

    B5: blue

    A6: purple

    B6: green

    A5 to high while A6 is high.

    A6 to high while A5 is high

    PS: The effect is not consistent. It can take a few times before it happens.

    Best Regards,

    Tim

  • Tim,

    I don't see the xtalk in any of the screenshots. When either Ax pin is toglling, the adjacent Ax pin is idle. When either Bx pin is toggling, the adjacent Bx pin is idle. Are you sure that you have the pin colours labelled right?

    Best Regards,
    Nirav
  • Dear Nirav,

    No the colours are correct. I have the impression that the TXS0108 switching is affecting the output of the 1.8V device. The output should be constant (when not connected to the TXS it is) rather than fluctuating so mutch....

    Best Regards,

    Tim