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.

TPS65982: Firmware User Guide Questions

Part Number: TPS65982
Other Parts Discussed in Thread: TPS65981

1) TPS65981, TPS65982, and TPS65986 Firmware User’s Guide (SLVUAH7B) section 4.4.1 step 3 recommends issuing 'FLer' command. This does not appear in the example code in Application report SLVA783 TPS65982 FW Update From Embedded Controller Over I2C. What does 'FLer' command do that is different from 'FLem' command, and why would I want to use or not use this command during software update?

 

2) SLVA783 example code disables the USB port by setting SystemConfig register PortDisabled bit. This prevents us from updating firmware while powered over USB. Why do you do this, and is it necessary?

 

3) I found that I require some explicit delays during software update or the update may fail - either with verify failures or I2C errors. I have 1 second delay after sending 'FLem' command, 1 second delay between updating the first and second region, and 1 second delay after sending 'GAID' command. Is this expected? (I am polling the Cmd1 register for command completion, as well as reading command result in Data1 register. I would expect that to be enough  to avoid the need for explicit delay loops.) 

 

4) The 'GAID' command (Cold Reset Request) does not appear to reload the firmware. I do a software update from version A to version B and then issue Cold Reset command. Version A is still running after Cold Reset. Then I power cycle and confirm that version B is running. Is this expected? Is there a way to force TPS65982 to reload new firmware without removing power?

 

5) In order for command interface to be stable, I have found that I have to read all 64 bytes of Data1 register. If I only read 1 or 4 bytes, I get I2C errors. Is this a known issue?

 

I am using 1105.01.00 firmware version, and the controller chip is STM32F427.

 

I also have a question concerning ADC:

 

6) I would like to access the most recent current sense values from ADC. 'ADCs' command returns values that do not seem to be correct, and I would prefer to get the values used by TI firmware without starting a new conversion. Documentation mentions "ADC Result" register at address 0x6A, but elsewhere 0x6A-0x6D are shown as Reserved.

 

 

Versus:

 

Thanks,

Siby 

1) TPS65981, TPS65982, and TPS65986 Firmware User’s Guide (SLVUAH7B) section 4.4.1 step 3 recommends issuing 'FLer' command. This does not appear in the example code in Application report SLVA783 TPS65982 FW Update From Embedded Controller Over I2C. What does 'FLer' command do that is different from 'FLem' command, and why would I want to use or not use this command during software update?
 
2) SLVA783 example code disables the USB port by setting SystemConfig register PortDisabled bit. This prevents us from updating firmware while powered over USB. Why do you do this, and is it necessary?
 
3) I found that I require some explicit delays during software update or the update may fail - either with verify failures or I2C errors. I have 1 second delay after sending 'FLem' command, 1 second delay between updating the first and second region, and 1 second delay after sending 'GAID' command. Is this expected? (I am polling the Cmd1 register for command completion, as well as reading command result in Data1 register. I would expect that to be enough  to avoid the need for explicit delay loops.) 
 
4) The 'GAID' command (Cold Reset Request) does not appear to reload the firmware. I do a software update from version A to version B and then issue Cold Reset command. Version A is still running after Cold Reset. Then I power cycle and confirm that version B is running. Is this expected? Is there a way to force TPS65982 to reload new firmware without removing power?
 
5) In order for command interface to be stable, I have found that I have to read all 64 bytes of Data1 register. If I only read 1 or 4 bytes, I get I2C errors. Is this a known issue?
 
I am using 1105.01.00 firmware version, and the controller chip is STM32F427.
 
I also have a question concerning ADC:
 
6) I would like to access the most recent current sense values from ADC. 'ADCs' command returns values that do not seem to be correct, and I would prefer to get the values used by TI firmware without starting a new conversion. Documentation mentions "ADC Result" register at address 0x6A, but elsewhere 0x6A-0x6D are shown as Reserved.
 
Inline image 1
 
Versus:
 
Inline image 2
  • Hi Siby,

    1. In short, the FLer command will erase a certain part of the Flash while the FLem can be used to erase the entire Flash. I would recommend using the FLem command during FW updates.

    2. It is not necessary to do this. You are correct, power would be lost in buspowered applications. This was done in the example code with the expectation that most applications would be externally powered. Disabling the port would avoid any strange behavior with the connected device during a FW update.

    3. Yes, some delay is required when updating the different regions on the part. 1 sec. should be more than enough to avoid write errors.

    4. Are you using the latest low region on your TPS65982? This was a known issue that has been resolved.

    5. I believe this is expected behavior but I am looking into it.

    6. The ADCs command returns 3 bytes. The first byte is the channel number followed by 2 bytes of data. The documentation is not entirely clear on this and we are working on updating it to clarify.

    Thank you,
    Eric