Hello
I am designing a USB-PD Sink circuit using TPS25750.
I'm looking for a way to write configuration data from TPS25750 to EEPROM.
Is there a way to write to EEPROM using the TPS25750's USB 2.0 or I2Cs port.
Regrads
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.
Hello
I am designing a USB-PD Sink circuit using TPS25750.
I'm looking for a way to write configuration data from TPS25750 to EEPROM.
Is there a way to write to EEPROM using the TPS25750's USB 2.0 or I2Cs port.
Regrads
There is not a method to write the EERPOM over USB2.0 or via the I2Cs port.
Most customers add in a 100mil or 50mil 3 pin header with SCLm, SDAm, and GND to support programming during board bringup and then have their PCB manufacture preprogram the eeprom once they enter volume production.
Hi,
Do you have an example of how in circuit programming works, how to connect up an I2C programming board, etc.? Is there a document you can point to? Can the EVM board be used for this? Do you keep the target board powered off while programming? If so, how do you recommend powering the EEPROM?
Thks,
Chris
Chris,
If you have your board configured to come up in SafeMode, then the TPS25750 will provide power on LDO_3V3 to power the eeprom during programming if a type C source is applied. This is done to support EEPROM update as well as provide power to the internal logic and analog circuitry of the TPS25750.
We use the TotalPhase Aadrvark extensively as an I2C programmer/observation tool. When purchased new, it comes with a breakout cable that allows you to connect to 100mil headers easily. You need to connect that aardvark up to SCLm. SDAm, and GND on your board to allow you to program the eeprom.
TotalPhase also supplies a tool Flash Center. This tool allows you to enter the EEPROM type that you are using and will configure and program the eeprom for you. The binary file that is output from the configuration gui can be directly used in Flash Center.
Thank you for your answer.
There is a need to write using I2C from the outside
understood.
This is clear, thank you. What if the board is setup for NegotiateHighVoltage mode, will it still work?
Per the instructions above we will include a 3pin 50mil header on the PCB to connect in an Aardvark board.
Thks,
Chris
NegotiateHighVoltage will negotiate up to a 20V contract by default with no firmware loaded. The 3 pin header will allow you to use an external flash programmer to program your eeprom with a different device configuration
Hi Chuck,
I just realized this Q wasn't answered - can the TPS25750 EVM board be used to program the I2C? It has I2C on the PCB.
Thks,
Chris
Chris,
The EVM does not have the I2C port from the MCU that is used to program the EEPROM exposed on a connector that would allow you to program the EEPROM on an external device.
Almost any external EEPROM programmer can be used to program you EEPROM. We use the TotalPhase Aardvark a lot within my team, but there are many cheaper EEPROM programmers available on the marketplace. As long as it supports 24C eeprom format, it can be used to program the EEPROM. There are even variants that can clip onto the EEPROM that is already soldered down to a board.
Hi,
Another Q, once I've programmed the EEPROM, do I have to change the ADCIN=NegotiateHighVoltage mode? Or when I reboot will it simply boot in that mode and load the EEPROM configuration.
Thks,
Chris
If you have a programmed EEPROM, then you should change the boot mode to SafeMode permanently. This will allow the TPS25750 to boot and configure itself before power is applied to the rest of the system.