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.

TPS25750: Patch Burst mode without EEPROM and EV2400

Part Number: TPS25750
Other Parts Discussed in Thread: BQ25792, EV2400

Hello i have 4 questions, 

(1) Configuration of TPS25750 without EEPROM:

Is there a method to configure the TPS25750 without utilizing an EEPROM?

(2) Configuring TPS25750 using STM32 Board and Patch Binary Data:

If the answer to the first question is yes, I am employing an STM32 board with I2C communication to apply patch binary data using 4CC commands for configuration, do I need to perform this configuration every time I power up the device, or is it a one-time setup?

(3) Accessing PD-Related Data through TPS25750 I2C Channels for BQ25792:

I am utilizing the BQ25792 and I am interested in accessing information regarding the PD capabilities such as voltage and current parameters. Can I retrieve this data through the I2C channels of TPS25750, or do I need to connect directly to the I2C channels of the BQ25792?

(4) Pach Burst Mode 

I am interested in patching via I2C communication. However, the Technical Reference Manual has left me confused regarding the steps involving 4CC. Could you provide any source code for reference, or perhaps explain the easiest way to comprehend this process? Or just you simple can tell me easiest way to understand this phenomenan.

Thank you

  • Hi Azad, 

    1. You can use an MCU/Host Controller to load the PD configuration onto TPS25750, this will eliminate the need for an EEPROM. Refer to the Technical Reference Manual on using the PBMx sequence to load a PD config via MCU. 

    2. You will need to load the configuration upon every power up. The PD configuration is stored in RAM memory so upon every power cycle (PD is not powered), it will need a configuration to be loaded in order for the PD controller to operate. To see if the PD needs a configuration to be loaded, the MCU can read into the MODE register (0x03) to see the current mode of the PD controller. If no config has been loaded yet, the mode will read 'PTCH' (Patch mode, waiting for a patch/config to be loaded). If a config has been loaded successfully, the mode should read 'APP' (patch/config has been loaded). 

    3. You can use the PD controller to do I2C pass-through (MCU -> PD -> BQ) by sending 4CC commands "I2Cr" (I2C Read) and "I2Cw" (I2C Write) to the PD controller. These commands instruct the PD to perform an I2C write/read to peripheral devices connected to the PD controller (i.e. BQ25792) to avoid multi-master situation. More information on I2Cw and I2Cr can be found on page 60 of the Technical Reference Manual.

    4. To load the PD configuration you'll need to execute 4CC commands 'PBMx' (this includes PBMs, PBMc, and potentially PBMe). To start the patch bundle flow, execute PBMs (Patch Burst Mode Start) to the start the download sequence. Once started, execute a loop (FOR loop) and write the entirety of the configuration C-array (generated from the GUI) into the I2C address specified in Byte 5 of the 'PBMs' (Start Patch Burst Download Sequence) 4CC command. After the patch loading sequence is complete, execute 'PBMc' (Patch Burst Download Complete). At any point during the download sequence if an error occurs (I2C NAK, CMD1 = !CMD) MCU should issue 'PBMe' (Patch Burst Mode Exit) and implement a method to handle error condition -> restart the patching sequence from 'PBMs'. You can refer to the flow chart on page 53 of the Technical Reference Manual for more detail flow chart and page 48-52 for more details on each Patch Burst 4CC commands. 

    Thanks and Regards,

    Raymond Lin

  • Thanks for the explanation. I also wonder if i could burn necessary c-array data into eeprom with only connecting tps25750. Like ( MCU -> TPS ->EEPROM). Or do i need to use EV2400, Aadvark or USBtoANY modules? I am using your structure in my own board

     

  • Hi Azad, 

    Yes you can do I2C pass-through from MCU -> PD -> EEPROM, however it would be easier to just load the binary config onto the EEPROM directly instead of doing pass-through. The other option is only having MCU and PD (MCU will need to use PBMx sequence to load the configuration) and removing EEPROM entirely. 

    Thanks and Regards,

    Raymond Lin