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.

TPS549D22: Some Usage Questions

Part Number: TPS549D22

POINT 1

Customer wants to change the voltage setting in the internal NVM.

The DS states:

It is permitted to use the STORE_DEFAULT_ALL command while the device is operating.
However, the device may be unresponsive during the write operation with unpredictable memory storage results.
TI recommends to turn the device output off before issuing this command.

It will be difficult for my customer to turn the output off while device is operating to use STORE_DEFAULT_ALL, as they would end up violating their power startup sequencing.

 1) What is the fail rate for writing change to NVM with Output OFF vs ON?

2) If the NVM write fails, is there any impact to info stored on RAM? (= device operational conditions) 

3) After a fail, can NVM be written again?

4) Is there any way to write NVM without applying voltage to PVIN pin? (ex: Can PMBus features operate with voltage only on BP or VDD?)

POINT 2

It seems we need to set R_VSEL=OPEN0Ω/1.78K187K in order to set VOUT_COMMAND with NVM.
I understand this sets InitialBootVoltage to 0.975V.

Is there any chance the InitialBootVoltage is actually used for an operation condition?
If so, is 0.975V the only InitialBootVoltage that can be set?
If so, at what timing does the change from InitialBootVoltage to the NVM setting happen?

Regards,

Darren

  •  

    Point 1) NVM write

    The Non-volatile memory (NVM) used in the TPS549D22 uses a full bank parallel erase and write, where every command value is written as the same time.  The write process requires about 20 milliseconds.  During that 20ms, the active command values are directly connected to the NVM cells and any chance to active values during the write process can result in unreliable data storage in the NVM cell.  Additionally, if operating results in a loss of VDD or BP power during the NVM write, the stored NVM results could also be unreliable.  As such, we do not recommend storing data to the NVM while conversion is enabled.

    1) There is no specific NVM storage failure rate that has been observed when writing the NVM with the output voltage enabled provided it does not result in a disturbance to VDD or BP during the write operation and no additional PMBus communication is attempted.

    2) A failed NVM write using STORE_DEFAULT_ALL does not alter the active command values unless there is an attempt to change the active command values during the NVM write process.

    If NVM failure is a result of loss of VDD or BP during the NVM write, it could result in a reset of active values to default values, or a restore of NVM values to non-default values due to partial data-storage.

    3) After a failed NVM, the NVM should remain writable.

    4) Yes.  Writing NVM does not require power to be applied to PVIN.  VDD must be powered to it's UVLO level, which will internally power BP through the internal LDO.

    POINT2: V_SEL

    TI ships the TPS549D22 with 0.975V prestored in the NVM command value for VOUT_COMMAND.  Selecting any one of the 4 Vref = 0.975 options from the VSEL resistor table will direct the TPS549D22 to boot to the last voltage stored in NVM.  All other VSEL resistor options override the value stored in NVM and boot to the VSEL defined reference voltage regardless of the last value stored in NVM.

    If R_VSEL is set to Open, Short, 1.78k or 187k and VOUT_COMMAND is changed from 0.975V to any value from 0.6V to 1.2V, and that VOUT_COMMAND value is stored to NVM, the TPS549D22 will power-up and enable with the reference voltage defined by the VOUT_COMMAND stored in NVM.

  • Thanks for the clear answer! Quick follow-up.

    It is understandable to see how issues with VDD / BP could cause wrong data in NVM.
    But it is a little hard to understand this comment- could you clarify just a bit more, please?

     "and any chance to active values during the write process can result in unreliable data storage in the NVM cell. "

    Also,

    - Is there any way to verify NVM data vs some external data? To see if the written data is as expected, etc?

    - If NVM is written when PVIN is not powered, is it possible to supply power to BP directly, and not internally via VDD? 

    Thanks!

  •  

    Please pardon my typo.  That should be "Any change to active values" not "any chance to active values"

    Because the active command value registers are connected to the NVM cells during the STORE process, a change to the active values, such as writing a PMBus command, can result in unreliable data storage since the value stored in the NVM cell could represent the prior value, the new value, or an intermediate storage state.

    1) Is there any way to verify NVM data versus some external data?

    There is no way to directly read the NVM data separate from the active command data, using the RESTORE_DEFAULT_ALL command or cycling VDD below it's UVLO and then back above will reset the active registers to the last value stored in NVM.  After that, the PMBus commands can be read back from active memory to confirm they match the desired configuration.

    2) No, it is not possible to power BP alone.

    First, the UVLO that controls the PMBus communication, Pin Strap detection, and NVM memory access is based on the VDD voltage and BP voltage, not just the BP voltage

    Second, the Low-Drop Out linear regulator (LDO) that powers BP from VDD includes a parasitic "body" diode from BP back to VDD, to powering BP will also power VDD.

    However, there is no direct requirement that PVIN and VDD are powered from the same source or held at the same potential.  You could include a diode from PVIN to VDD to power VDD normally, and a second diode from an external source to VDD so that VDD can be powered externally during NVM programming and from PVIN once PVIN is present.

  • Hi Peter,

    Things have gotten a little off-track I think - some of this is due to the fact I have limited working knowledge about this part.

    The customer is planning to use PMBUS to update the output voltage (updates value in Operating Memory = RAM)
    But now they want to use STORE_DEFAULT_ALL to save that updated register setting into NVM too.
    Can this "dump from RAM to NVM" be done with Output ON? 

    From the DS:

    ""It is permitted to use the STORE_DEFAULT_ALL command while the device is operating. However, the device may be unresponsive during the write operation with unpredictable memory storage results. TI recommends to turn the device output off before issuing this command."" 

    What does "may be unresponsive" mean? Will the device still be operating, but just be unresponsive to PMBus commands during the write operation, or will it not properly regulate the output voltage, etc?

    What does unpredictable memory storage results mean? Does this just mean the device keeps operating as usual according to the values in RAM for register settings, but that the "dump to NVM" might result in incorrectly copied values to NVM? In this specific case, the customer is only updating the output voltage, so the only difference in "old" NVM and "new" NVM is just this output voltage setting. Would the STORE_DEFAULT_ALL dump not correctly copy this value from Operating Memory (RAM) to NVM?

    Could something like running STORE_DEFAULT_ALL, then reading back values in NVM to see if they were properly updated, and if not, re-running STORE_DEFAULT_ALL until they were, be viable?

  •  

    My apologies for the confusion if I have caused any.

    1) "Device may become unresponsive" refers to the TPS549D22's response to the PMBus command reads and writes.

    2) "Unpredictable memory storage results" means that any command value that changes during the STORE_DEFAULT_ALL process may not have the correct value after the STORE_DEFAULT_ALL process completes.  The resulting value could be the start value, the end value, or even something between.

    3) Yes, it is possible to use STORE_DEFAULT_ALL, allow the store command to completed, then cycle the VDD power or use the RESTORE_DEFAULT_ALL (Command Code 12h) command then read back all of the register values to confirm proper programming.

    Note:  RESTORE can change the live command values used while the TPS549D22 is operating, which can produce undesirable results.  Conversion should be disabled before issuing the RESTORE_DEFAULT_ALL command.