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