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.

TPS26750: System hardware design for EEPROM update over i2c (i2cc or i2ct)

Part Number: TPS26750
Other Parts Discussed in Thread: TPS25751,

Tool/software:

Hi I'm working with a TPS26750 system, trying to follow along with AN slvafl1 "TPS25751 and TPS26750 EEPROM Update Over I2C". Could you help me confirm how my system architecture should be configured so that my external host mcu can update the eeprom and do the initial eeprom programming ?

In the TPS26750 ds, fig 8-1 shows the system block diagram with the eeprom connected only to the TPS i2cc bus, and the external host mcu i2c_master is connected to TPS i2ct (ie there is no direction connection from external host mcu i2c to the eeprom). Is that connection scheme all that is required to let the external mcu write to the eeprom ? So that would mean that the FLrd, FLad, FLwd, etc commands are driven from the external host mcu on the host_mcu_i2c_master to TPS_i2ct bus, and then the TPS bridges its i2ct to i2cc busses to allow the external host mcu to access the eeprom ? 

But in the TPS26750 EVM, from the schematic in the EVM UG slvucp8 in fig 5-10, it looks like the Tiva host mcu is connected to both the TPS i2cc and i2ct. So that would mean the Tiva mcu is directly connected to the eeprom i2c. Is that required for either initial eeprom programming or updating an image that is already present on the EEPROM ? If so then does i2c traffic from the Tiva mcu on the i2cc bus to the eeprom interfere with the TPS since then there would technically be two masters on i2cc ? In that case would you need to hold the TPS in reset ? If so then how? Or are you supposed to mux eeprom i2c to either TPS i2cc OR ext_mcu_i2c_master ? 

In summary, is the fig 8-1 system arch from the TPS ds correct and complete or do I have to follow the EVM schematic which has a material difference ? Please help thanks. -Steve 

  • Hi Steve, 

    In the TPS26750 ds, fig 8-1 shows the system block diagram with the eeprom connected only to the TPS i2cc bus, and the external host mcu i2c_master is connected to TPS i2ct (ie there is no direction connection from external host mcu i2c to the eeprom). Is that connection scheme all that is required to let the external mcu write to the eeprom ? So that would mean that the FLrd, FLad, FLwd, etc commands are driven from the external host mcu on the host_mcu_i2c_master to TPS_i2ct bus, and then the TPS bridges its i2ct to i2cc busses to allow the external host mcu to access the eeprom ? 

    The ordering is:

    External Host MCU (I2C controller) connected to TPS26750 I2Ct (I2C target) pins -> TPS26750 I2Cc (I2C controller) pins connected to EEPROM (I2C target). The external MCU sends the FLxx commands to TPS26750 to instruct the PD to write to the EEPROM. Once the FLxx sequence is complete, the EEPROM will have a new PD image loaded. 

    But in the TPS26750 EVM, from the schematic in the EVM UG slvucp8 in fig 5-10, it looks like the Tiva host mcu is connected to both the TPS i2cc and i2ct. So that would mean the Tiva mcu is directly connected to the eeprom i2c. Is that required for either initial eeprom programming or updating an image that is already present on the EEPROM ? If so then does i2c traffic from the Tiva mcu on the i2cc bus to the eeprom interfere with the TPS since then there would technically be two masters on i2cc ? In that case would you need to hold the TPS in reset ? If so then how? Or are you supposed to mux eeprom i2c to either TPS i2cc OR ext_mcu_i2c_master ? 

    The on-board TIVA is intended to only flash the EEPROM which is also connected to TPS26750 I2Cc lines, the TIVA is technically "connected directly" to the EEPROM. Whenever you need to load a new configuration from the GUI onto the EVM, the GUI will instruct the TIVA to load a new configuration to the EEPROM via I2C. During the flashing from current configuration, I highly recommend to not connect/disconnect anything or perform any PD related actions so that the I2C bus line remains free for the TIVA to write to the EEPROM. As long as TPS26750 and TIVA are not using the I2C lines simultaneously, there should be no issues with the EVM setup for loading a new configuration. 

    Let us know if you have any further questions or concerns! 

    Thanks and Regards,

    Raymond Lin

  • Hi Raymond thanks for the reply. It sounds like you are saying 'yes' the datasheet block diagram is right and 'yes' the evm design is right. 

    Just to double confirm, has your team successfully exercised the FLxx commands from external TIVA host mcu i2c master to TPS26750 i2ct pins to write a new configuration to the eeprom and initially program the eeprom ? Do you have a demo showing that it is possible ? 

    In my end product I don't think I can guarantee that no usb connection or PD operation will happen when I'm trying to re-flash the eeprom, so I would prefer to follow the datasheet block diagram with Tiva mcu only connected to TPS_i2ct and TPS_i2cc to eeprom (Tiva mcu not connected directly to eeprom). But it sounds like your gui and evm takes the shortcut of letting the Tiva connect straight to the eeprom i2c.So I'd like to make sure I'm covered if I follow the datasheet system example.

    Thanks,

    Steve 

  • Hi Steve, 

    Let me check with the team for example/demos on FLxx. 

    The TIVA on the EVM, like you said is a shortcut to directly flash the EEPROM through the GUI. For a more accurate representation of the overall system (MCU, PD, EEPROM and other I2C devices) refer to this block diagram below: 

    Thanks and Regards,
    Raymond Lin

  • Hi Steve, 

    Apologies for the delay in response, still working on getting the demo scope. Will update you tomorrow. 

    Thanks and Regards,

    Raymond Lin

  • Hi Raymond thanks. I was mainly looking for more of an assurance that the EC --> tps i2ct --> eeprom update flow has been validated so that I can have confidence in our hw architecture. My colleagues may be interested to see the demo in the future but the need isn't as urgent as just knowing that the concept works. 

  • Hi Steve,

    Please find attached below a demo using TPS26750EVM and switching the EEPROM config using the FLxx flow. The only changes between the original config to the updated one is read through the Customer Use register 0x06 (0x00001111 in the original, 0x00002222 in the updated). Let me know if there's any further questions or concerns! 

    Thanks and Regards,

    Raymond Lin

    FLxx Demo: https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/196/FLxx-Demo.sal