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.

TPS65986: I2C Read Response & Test Equipment

Part Number: TPS65986

Hi,

I have two questions regarding the TPS65986.

1) The spec seems to indicate that an I2C read response would start with a byte indicating the number of bytes read. However, I'm seeing this byte indicate the total size of that register. For example, if I read 2 bytes from a 4 byte register, the 1st byte would be a 4 instead of a 2. Is that expected?

2) Are you aware of any test equipment which allows you to easily configure it to present itself as all of the possible USB Type C detection cases? For example, if I wanted to easily verify that a BC1.2 SDP cable or a 20V 3A cable is being detected, do you know of 1 device which can be setup to cover them both? Or, do we just need to start a collection of a wide number of cables/chargers?

Appreciate your help!

  • Hi Bravos,

    1. The first Byte of the I2C read is the register length, the second byte is the I2C address and the bytes afterwards are all data. So even if you are wanting to read 2 bytes of a 4 byte register, the first byte will be the register length, in this case 4, the second will be the I2C address, and then the data bytes will be after.

    2. I am personally not aware of any test equipment that would meet those specific requirements. I would recommend testing with various cables/ chargers. Please note that an active cable is not required for 20V/3A contracts, these can be done with passive cables.

    Thank you,
    Eric
  • Hi Eric,
    Thank you. Are active cables only for boosting USB 3.1 SS data rates up to 20GBps or is there more to it (i.e. some kind of PD negotiation)?
  • Hi Bravos,

    An E-Marker cable contains a simple USB PD controller inside of it allowing it to respond to USB PD Commands from a DFP/Source. It contains information that provides the controller with the cable characteristics such as current carrying capability, performance, vendor identification, specific alternate mode support, etc. E-Marked cables are typically powered by VCONN.
    E-Marked cables are needed when you need to support more than 3A of current are required or if you need a USB Type-C fully featured cable with USB 3.1 or alternate mode signaling.

    Thank you,
    Eric
  • Hi Eric,

    Regarding #1, are you 100% sure about the I2C transactions containing the I2C address in the 2nd byte of the response? I'm not seeing that, but I do see the size byte being returned.

    Some new questions:
    #3 In the '0x28 System Configuration' register, there is a 'ReceptacleType' field. We currently have it set to 'Standard fully-featured USB-C receptacle.'. I tried to change it to 'Standard USB2-only USB-C receptacle.', but USB stops working. What is the difference between the two?

    Since our SOC only supports USB 2, was thinking that would be the correct choice. I did also notice there is a 'USB3Rate' field in register 0x28 which has a 'USB3 not supported' option. So maybe using 'Standard fully-featured USB-C receptacle.' with 'USB3 not supported' is the correct choice?

    #4 - For BC1.2 detection, wanted to confirm how SDP detection works. I know BC1.2 defines different max current drain depending on USB state (2.5 mA if suspended, 100 mA if connected and NOT configured, 500mA if configured). My understanding is TPS65986 just detects if SDP is being used, and not the differences between the 2.5mA, 100mA & 500mA cases. It would be up to our SOC to determine the USB state to determine if 2.5mA, 100mA or 500mA should be used. Is that correct?

    Thank you.

  • Hi Bravos,

    #1 sorry for the confusion, I was mistaken with another function on the device. You are correct, when you read an I2C register the first byte will be the register length immediately followed by data.

    #2/#3 In most applications, this should be set to "Standard fully-featured USB-C Receptacle". The correct choice for your application would be "Standard fully-featured USB-C receptacle" with "USB3 not supported"

    #4 A device can recognize a SDP with hardware by detecting that the USB data lines, D+ and D-, are separately grounded through 15k ohm, but it still needs to enumerate to be USB compliant. The SOC will determine how much current is to be used.

    Thank you,
    Eric