SLUUBD4A April 2016 – November 2022 BQ27220
If the application requires different configuration data for the fuel gauge, the system processor can update RAM-based data memory parameters using the Control()SET_CFGUPDATE subcommand to enter the CONFIG UPDATE mode.
To ensure that the fuel gauge has entered CONFIG UPDATE mode correctly, there needs to be at least an 1100-ms delay after sending the SET_CFGUPDATE. Operation in this mode is indicated by the Flags()[CFGUPMODE] status bit.
In this mode, fuel gauging is suspended while the host uses the extended data commands to modify the configuration data blocks. To resume fuel gauging, the host must send a Control()SOFT_RESET subcommand to exit the CONFIG UPDATE mode, which clears both Flags()[ITPOR] and [CFGUPMODE] bits. After a timeout of approximately 240 seconds (4 minutes), the gauge automatically exits the CONFIG UPDATE mode if it has not received a SOFT_RESET subcommand from the host.
The memory of the BQ27220 device is separated into memory subclasses defined in this document. The memory cannot be directly addressed, but is updated through a sequence of extended commands that can access each block of memory indirectly. The gm.fs file updates these blocks to write the proper configuration so the BQ27220 device can have proper gauging performance and match the system characteristics. These updates are stored in RAM and need to be re-programmed any time the device loses power. (The [ITPOR] bit in the Flags() register indicates that the RAM configuration has been reset to the defaults, and is in need of updating using the gm.fs file.)