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.

TPS25730: General operation and I2C programming

Part Number: TPS25730
Other Parts Discussed in Thread: TPS25751EVM, TPS25751

Tool/software:

I am interested in using the TPS25730 in an design update with specific PD requirements:

-- Dead battery start-up condition

-- Power sink only - up to 20V 

-- Highest data speed - USB 2

-- Preferred data role - host (DFP)

-- No battery charging or liquid detection

-- No PD negotiation until commanded to do so via I2C (using a non-TI microcontroller from a legacy design)

I am familiar with the TPS25751EVM and the Application Customization Tool, and have configured the EVM to operate as described above (except for the last requirement).  However, it not clear that the TPS25730 is capable of the same operation based on the I2C register set provided in its data sheet and technical reference manual. 

1)   Does the TPS25730 support the required negotiation messages to establish a host (DFP) preferred data role?  If so, which I2C registers control that?  The UFP needs to see that is connected to a DFP in order to operate properly.

2)   Is there an application tool of any kind for the TPS25730, or any type of programming example?

3)   There are certain situations where the power source will not have the ability to negotiate and will place +20V on VBUS at power up.  Is it possible to control (close) the PPHV switch in either the TPS25730 or TPS25751 via I2C without initiating the PD negotiation?

4)   Can either the TPS25730 or TPS25751 be configured on power up to wait for I2C commands before starting the PD negotiation?

5)   Assuming I end up having to use the TPS25751, is it possible to program it at power up over I2Ct, or will I need to include the configuration EEPROM?   If I need the configuration EEPROM, how do I program it without the application customization tool (which uses the TIVA on the EVM)?  The legacy microcontroller can be used for this.

  • 1. No

    2. No. It is hardware configurable.

    3. No, this feature would violate USB-PD spec.

    4. Yes, the TPS25751. You would configure the DeadBatteryMode to AlwaysEnableSink for an EC to load the config data.

    5. See application note slvafv8 (visible on the TPS25751 page). This shows how to load configuration without needing an EEPROM.

    Regards,

    Conner

  • Thanks for the quick response!

    SLVAFV8 is a great resource, but it doesn't contain any simple examples showing the exact programming sequence needed to set the TPS25751 up as I described above.   In the spirit of getting something up and running quickly off the EVM:

    6)   Is there an app note that describes a typical programming sequence - like the one used by the configuration tool?

    I see that register settings are shown under "advanced configuration" in the configuration tool.  The binary file generated by the customization tool contains these same register settings and the programming sequence, correct?  

    7)   Is there any way to get the exact programming sequence from this file?

    8)   Is there a description of how the TPS25751 reads and executes the information stored in the EEPROM?

  • 6. Section 4 of the aforementioned app note describes how to program the device using an EC.

    The binary file contains the settings you chose in the advanced configuration section, yes.

    7. This file only contains the patch bundle. You would write the code for your chosen EC to send the patch bundle over I2C to the PD controller.

    8.  Section 8.4.1 of the TPS25751 datasheet has the description of this. Additionally, you can sniff the I2C traffic while the device boots.

    Regards,

    Conner

  • Thanks again for the quick response.

    6)   Section 4 gives a flowchart for loading multple PD controllers at the same time.  As the author of SLVAFV8 states, the flow for pushing a patch bundle is  "not intuitive to understand".  He got that right.  Both SLVAFV8 and the data sheet would benefit greatly from a simple, high-level description of what a patch bundle is and the programming flow for loading a single PD controller.  To get that information now, you have to slog your way through all the detailed descriptions.

    7)   What I was hoping for was the format of the patch bundle file so I can see the exact I2C sequence the tool uses for the configuration transfer (i.e., address 00 = the unique address, address 01 = the register number, etc).   It would be easier to have the format and examine the patch file rather than having to sniff around and figure it out.  How do I know where to start sending data from this file without knowing its format, including which address that data actually starts at?

    8)   Section 8.4.1 only provides a description of the required ADCIN strapping and the power states.  Again, I was looking for the file format.

    9)   Just so I am clear...  If I power up in dead battery AlwaysEnableSInk and never load a PD configuration into the device over I2C, the TPS25751 will simply remain idle and continuously present the 5.1K ohm CC resistance to the USB port, regardless of the voltage on VBUS?

  • Thank you for clarifying. Your concerns are valid. I will review each of your points and provide a more helpful response. Please give me until Thursday.

    Regards,

    Conner

  • Hi Conner...   Have you had a chance to look at those concerns/issues yet?

  • I will answer your questions individually, by end of day today. However in the interim, one of my peers recommends the below thread, which has further detail on the patch bundle mode and an example of I2C traffic from implementing it.

    e2e.ti.com/.../tps25750-questions-about-how-to-implement-pbms-and-write-patch-bundle

    Regards,

    Conner

  • Thanks!  I'll check out that other thread in the meantime...

  • 6. There is an application note being worked on right now to address this gap.

    7. I do not have this information available to give you.

    8. I see.

    9. Close. The device would behave as a Type-C sink, or in USB-PD terms, remain in an implicit 5V contract. The device would still follow the Type-C state machine and respond to changes in VBUS voltage accordingly.

    Regards,

    Conner

  • 6.   Good news!   Is that app note going to be ready for release anytime soon?   And, if not, could I get an early copy of it - I'll help you proof it provide feedback.

    7.   I believe I can extract this from the linked excel file in the hyperlink you suggested earlier.

    9.   Good to know.

    Thank you for your help!   I'm going to experiment with the controller a bit.  I'll come back and close this thread if I don't have any further questions.

  • 6. I'll check the state of the app note and see if I can share some of the content with you. I'll get back to you after next week, as I will be out of office for the week of November 25th.

    Kind regards,

    Conner

  • Much appreciated...   enjoy your vacation!

  • Thanks Richard, will do!

  • I misremembered as far as the upcoming app note. The EEPROM boot flow app note that came out in October of this year was the one I was thinking of. My apologies for the misunderstanding.

    Regards,

    Conner

  • No problem...     Thanks for your help!