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.

TPS40425: TPS40428 compatibility with TPS40425

Part Number: TPS40425
Other Parts Discussed in Thread: TPS40428

Hi TI team,

1). We are planning to use the TPS40428 in place of TPS40425 and TI provided the list of changes in TPS40425 programming file to use for TPS40428.

As the PEC is true in the TPS40425, I don’t need to change the ending 70, B4 and EC for TPS40428? Only change the 0x133070 to 0x130170?

For example:

108 WriteWord,0xE0,0x133070      >>>>>>>>>  WriteWord,0xE0,0x130170

108 WriteWord,0xE0,0x1330B4      >>>>>>>>>  WriteWord,0xE0,0x1301B4

108 WriteWord,0xE0,0x1330EC     >>>>>>>>>  WriteWord,0xE0,0x1301EC

2). Is there a way to differentiate between TPS40425 and TPS40428 by software?






Amit Kumar

  • Hi Amit, 

    1- The PEC byte includes the data, the register address, and the device address. So if you change any of these, you would need to update the PEC byte as well. These CSV files do not have embedded addresses, so I would need you to tell me the target address of the TPS40425/8 in your system in order to calculate the correct one. 

    For example, with address 56d, the bytes to write this command are 

    <Addr + W><Cmd Addr><Low Byte><High Byte> = 

    <0x70><0xE0><0x13><0x30> ... and the PEC byte is 0x70

    Repeating this exercise with 0x1301 

    <Addr + W><Cmd Addr><Low Byte><High Byte> = 

    <0x70><0xE0><0x13><0x01> ... and the PEC byte is 0x93

    2- You can read the 0xFC command to differentiate them. 

    TPS40425: 0x00C3 <msb, lsb>

    TPS40428:  0x01E0 <msb, lsb>

  • Hi Matt,


    Please find the address for the TPS40425 in our board:

    108 WriteWord,0xE0,0x133070      >>>>>>>>>  WriteWord,0xE0,0x130170  --> Address: 0x3B

    108 WriteWord,0xE0,0x1330B4      >>>>>>>>>  WriteWord,0xE0,0x1301B4 --> Address: 0x3C

    108 WriteWord,0xE0,0x1330EC     >>>>>>>>>  WriteWord,0xE0,0x1301EC --> Address: 0x3E

    Do you have PEC calculator on TI website so that we can do this ourself?


    Amit Kumar

  • There is not one on, but there is a good calculator online here. 

    For PEC bytes, use: CRC8, Pre-defined CRC8 (polynomial 0x7, initial value 0x0, Final Xor value 0x0), and Input CRC data as bytes. I pasted screenshots of the first example below. The site also has an in-depth article about writing code for PEC calculations as well. 

    108 WriteWord,0xE0,0x133070      >>>>>>>>>  WriteWord,0xE0,0x1301E7  --> Address: 0x3B

    108 WriteWord,0xE0,0x1330B4      >>>>>>>>>  WriteWord,0xE0,0x130123 --> Address: 0x3C

    108 WriteWord,0xE0,0x1330EC     >>>>>>>>>  WriteWord,0xE0,0x13017B --> Address: 0x3E



  • Hi Matt,

    Thanks for quick response!!


    Amit Kumar