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.

TPS25810: Orientation control not working

Part Number: TPS25810
Other Parts Discussed in Thread: HD3SS3212

Hi,

This thread is result of this:

https://e2e.ti.com/support/interface/f/138/t/818755

and this:

https://e2e.ti.com/support/interface/f/138/p/847565/3135445#3135445 

  • When SEL is connected to POL, straight connection, one of the orientations work, (SEL being low).
  • When SEL is connected to POL, with a 10k pull up resistor, nothing works.

Does TPS25810 recognise USB 3.0? (5Gbps)

If positive, why is this chip not working?

Regards,

Timoteo

  • Hi Timoteo,

    Thanks for posting your question here on the forums. The expert covering this specific portfolio of products has left for the weekend, but will get back to you early next week. Have a nice weekend.

  • Timoteo,

    The TPS25810 can operate as a USB 3.1 port and can work with USB 3.0.

    Try connecting POL and UFP to a pull up resistance of 100k connected to AUX, as suggested in the Table 2 footnote below. A suggested implementation is shown below the table. A resistance of 10k is not enough resistance for these pins.

    The UFP is open drain and that is why it is connected to a pull up. It is an active low pin. The OEn pin is also active low pin so the datasheet implementation in Figure 15 is correct. Both UFP and POL need to be pulled up.

    Thanks,

    Emma

  • Hi Emma,

    Thanks for your reply.

    I tested two different boards.

    In one board, I provide VBUS directly from a regulator (Output of TPS25810 floating), 5V, and OEn is permanently pulled down. SEL is connected as the schematics show, this time using 100k, to 3.3V. It doesn't work in any orientation.

    In the other board, the circuit is like the schematics. Both R119 and R122 100k. None of the orientations work.

    Any ideas?

    Regards,

    Timoteo

  • Hi Timoteo,

    Your implementation with the 100k pullup resistor is correct. The UFP pin will enable the HD3SS3212 (the OEn pin) so please ensure that a UFP is connected. The port being connected to a UFP will assert the UFP pin. This implementation of Figure 15 will not work if the port is not connected.

    The UFP pin also enables the POL pin. If the UFP pin is not asserted (pulled low), the POL pin will always be high and therefore not able to mux the super speed lines for the HD3SS3212. This is explained in the TPS25810 EVM User's Guide http://www.ti.com/lit/ug/slvuai0a/slvuai0a.pdf

    To summarize, ensure that the UFP pin is being pulled low by connecting a UFP to the type c port. 

    Also I checked more into your earlier question and the TPS25810 does not use the data pins (Tx and Rx) so the part will have no effect on the speed. 

    Thanks,

    Emma

  • Hi Emma,

    Thank you.

    As I said, one of the boards follows the schematics, using 100k pull-ups. Would you say it's a faulty hardware?

    I will apply the pull up in the board which has OEn permanently low, so that UFL works as it's supposed to.

    I'll get back with results as soon as I do it.

    Regards,

    Timoteo

  • Timoteo,

    Can you scope the UFP and POL pins during testing and post those?

    Thanks,

    Emma

  • Hi Emma,

    I re-soldered the board, leaving SEL and OEn pulled up with 100k. Not working.
    I've added wires on both signals, and this is what I see:


    Do you think 3V, and not 3.3V is the issue? Other than that, it is working as expected. Why is the USB stick not recognised? If I pull OEn down, and pull SEL down or up manually, it works.

    Regards,

    Timoteo

  • Timoteo,

    I believe I understand your problem now. POL is active low but SEL is active high. To account for this, Figure 15 from the TPS25810 has the data input pins flipped from what the HD3SS3212 recommends. In the HD3SS3212 and in your implementation:

    - The B pins on the HD3SS3212 are connected to SSTX1 and SSRX1 on the USB Type-C port

    - The C pins on the HD3SS3212 are connected to SSTX2 and SSRX2 on the USB Type-C port

    Figure 15 has the following connections: 

    - The B pins on the HD3SS3212 are connected to SSTX2 and SSRX2 on the USB Type-C port

    - The C pins on the HD3SS3212 are connected to SSTX1 and SSRX1 on the USB Type-C port

    So the pins are working correctly in their desired voltage ranges, the mux is simply sending the wrong TX/RX pair to the USB host due to the mismatch in POL and SEL.

    To fix the problem: change your B pins to have the TX2/RX2 and your C pins to have TX1/RX1.

    I hope this fixes your issue!

    Emma

  • Hi Emma,

    Again, thank you for your support. Well spotted.

    Do you think swapping CC1 and CC2 might solve the issue as well? It's probably easier to apply in the board.

    Regards,

    Timoteo

  • Hi Timoteo,

    Switching the CC lines should also work. 

    Thanks,

    Emma

  • Thank you. Swapping CC lines worked.

    Regards,

    Timoteo