TPS53676 has 256 bytes of internal
EEPROM non-volatile memory (NVM). Each PMBus command with NVM backup is mapped into
the NVM array. For example, if a command supports 16 possible values, there are 4
corresponding bits for that field. The NVM array is designed withstand being
overwritten greater than 1,000 times over the lifetime of the device.
The USER_NVM_INDEX and
USER_NVM_EXECUTE commands provide access to read and write the raw data bytes. These
commands allow the entire configuration data for the device to be read/written with
a minimum number of transactions, to save programming time. The USER_NVM_EXECUTE
command is a 32 byte block which accesses blocks of raw NVM data. The USER_NVM_INDEX
command is an auto-incrementing byte command which which selects which 32 bytes of
memory are being accessed via the USER_NVM_EXECUTE command.
The Fusion Digital Power
Designer software provided for this device is capable of exporting raw
configuration data, as well as XML configuration files containing the value of each
PMBus command.
Configuration validation
The first 9 bytes of data returned by
USER_NVM_EXECUTE with index zero, are identifying information for the configuration.
Bytes 0 to 6 represent the IC_DEVICE_ID. Bytes 7-8 represent the IC_DEVICE_REV. Byte
9 represents the currently configured PMBus slave address.
During the NVM import process, the
controller checks these 9 bytes versus its current configuration, and NACKs the
USER_NVM_EXECUTE (index = 0) command if the data does not match.
Example: Configuration
validation
- Reading the USER_NVM_EXECUTE
(index 0) from a configured device returns value 0x54 49 53 67 60 00
00 04 60 … [NVM bytes 0 to 22]. This
indicates the configuration data was generated from a device with IC_DEVICE_ID
0x54 49 53 67 60 00, IC_DEVICE_REV 00 04 and PMBus address 0x60.
- Writing the USER_NVM_EXECUTE
(index 0) with the value 0x54 49 53 67 60 00
00 04 60 … [NVM bytes 0 to 22] to a new
device causes it to check its IC_DEVICE_ID is equal to 0x54 49 53 67 60 00, check its IC_DEVICE_REV
is equal to 00 04 and check its PMBus address
0x60. If any of these checks fail, the write operation is rejected.
- Writing the USER_NVM_EXECUTE
(index 0) with the value 0xFF FF FF FF FF FF
00 04 60 … [NVM bytes 0 to 22] to a new
device causes it skip the IC_DEVICE_ID check, but still check its IC_DEVICE_REV
is equal to 00 04 and check its PMBus address
0x60. If any of these checks fail, the write operation is rejected.
- Writing the USER_NVM_EXECUTE
(index 0) with the value 0xFF FF FF FF FF FF
FF FF 60 … [NVM bytes 0 to 22] to a new
device causes it skip the IC_DEVICE_ID check, skip its IC_DEVICE_REV check, but
still check its PMBus address 0x60. If any of these checks fail, the write
operation is rejected.
- Writing the USER_NVM_EXECUTE
(index 0) with the value 0xFF FF FF FF FF FF
FF FF FF … [NVM bytes 0 to 22] to a new
device causes it skip the IC_DEVICE_ID check, skip its IC_DEVICE_REV check, and
skip its PMBus address check. No checks were performed, so the data is
accepted.
Procedure: Read all configuration
data
Follow the procedures below to
read-back NVM data for TPS53676 devices.
- Configure the device as desired
through PMBus commands, then issue STORE_USER_ALL. Power cycle the device or
issue RESTORE_USER_ALL with power conversion disabled to ensure operating memory
and non-volatile memory bytes are matching.
- Write the USER_NVM_INDEX command
to 00h.
- Read back and record the
USER_NVM_EXECUTE command (index = 0).
- Read back and record the
USER_NVM_EXECUTE command (index = 1).
- Read back and record the
USER_NVM_EXECUTE command (index = 2).
- Read back and record the
USER_NVM_EXECUTE command (index = 3).
- Read back and record the
USER_NVM_EXECUTE command (index = 4).
- Read back and record the
USER_NVM_EXECUTE command (index = 5).
- Read back and record the
USER_NVM_EXECUTE command (index = 6).
- Read back and record the
USER_NVM_EXECUTE command (index = 7).
- Read back and record the
USER_NVM_EXECUTE command (index = 8). The last 23 bytes of this command are not
used by the device. TI recommends replacing these bytes with 00h for consistency
across different configurations.
Procedure: Write all configuration
data
Follow the procedures below to write
NVM data for TPS53676 devices.
- Apply +3.3V to the VCC pin of
TPS53676
- Ensure power conversion is
disabled for both channels.
- Write the USER_NVM_INDEX command
to 00h.
- Write the previously recorded
USER_NVM_EXECUTE (index = 0). In this example, disable the self-validation
checks by replacing the first 9 bytes with FFh.
- Write the previously recorded
USER_NVM_EXECUTE (index = 1).
- Write the previously recorded
USER_NVM_EXECUTE (index = 2).
- Write the previously recorded
USER_NVM_EXECUTE (index = 3).
- Write the previously recorded
USER_NVM_EXECUTE (index = 4).
- Write the previously recorded
USER_NVM_EXECUTE (index = 5).
- Write the previously recorded
USER_NVM_EXECUTE (index = 6).
- Write the previously recorded
USER_NVM_EXECUTE (index = 7).
- Write the previously recorded
USER_NVM_EXECUTE (index = 8). Replace the last 23 bytes with 00h. An NVM store
operation is automatically performed once the last block is successfully
received.
- Wait 100 ms for non-volatile
memory programming to complete successfully. Ensure that the +3.3V power supply
to the device is not interrupted during this time to guarantee proper memory
storage and retention.
- Do not issue an NVM store
operation at this point. This overwrites the NVM array with the data values in
operating memory.
- Power cycle the device or issue
RESTORE_USER_ALL to continue operation with the newly programmed values.
Multifunction pin configurations require a power cycle to take effect.