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.

TPS53659: Register Write Example (VOUT_MARGIN_HIGH)

Part Number: TPS53659

Hi Power Experts!

Could you please assist me with an example of how to write a specific register in non-volatile memory via I2C?

  • Register = VOUT_MARGIN_HIGH (25h)
  • Set to 1.26V (VID value CB)

Is this possible with I2C or is PMBus needed for this?

If you could provide the full details (address, page, command, data, PEC) that would be very helpful.

Thanks!
Reed

  • Hi Reed,

    You need to use PMBus command format to read/write register.

    Example are here. You can find the required command associated with register in register map.

    Format Slave Address Register Data (last byte is PEC)
    Comment Write VOUT_MARGIN_HIGH [Rail #1] 0.000 V    
    WriteWord 0x74 0x25 0x000057
    Comment Write VOUT_COMMAND [Rail #1] 1.260 V    
    WriteWord 0x74 0x21 0xCB0086

    Thanks

    Chasel

  • Chasel,

    Thanks for the prompt response.

    VOUT nominal is desired to be 1.20V with VOUT Margin High set to 1.26V. 

    In order to do that do I write:

    VOUT_COMMAND (0x21) to 0xBF0086

    and

    VOUT_MARGIN_HIGH (0x25) to 0xCB0057 

    Is the above correct for VOUT nominal = 1.20V and VOUT margin high = 1.26V?

    Thanks,

    Reed

  • Hi Reed,

    You will need to recalculate PEC for last byte.

    This is the way how to get PEC. For example, if PMBus 7-bits slave address is 74h, then your requirement will be the following cases.

    • VOUT_COMMAND (0x21) to 0xBF0070
    • VOUT_MARGIN_HIGH (0x25) to 0xCB002D

    PEC is calculated by CRC8 with slave address + command + data, so in order to get 70, you need to add write bit as 0 to make slave address as 8-bits, so 74h will become E8h, then you need to put slave address/command/data together and get result by CRC-8, that means calculate "E821BF00" by CRC-8 and will get 70. There are several calculators in internet, you can try to get a one.

    Thanks

    Chasel.