Sometimes not all 6 LEDs supported by the BQ40Z80 are needed in your application. If the data flash is not configured correctly for any configuration other than 6 LEDs, it can cause a dim blinking for some of the LEDs due to the charlieplexing used to drive the LEDs.
In order to avoid the dim blinking behavior, the CHG Thresh 6 needs to be changed to 101% so LED 6 never blinks during charging if the button is pressed or LEDCHG is enabled. Since the default BQZ file will not allow the data flash location for CHG Thresh 6 to be changed to a value over 100% it must be done manually in the advanced communication tab of BQStudio.
First make sure scanning and auto refresh are off in BQStudio, then follow the steps below to change the CHG Thresh 6 to 101%:
- Block write starting address 0x44, data 0x4F4C (address in little endian)
- Block read starting address 0x44, returned data should be the memory address, then the present data. 0x50 in this example indicates an 80% threshold.
- Block write starting address 0x44, data 0x4F4C65 (address in little endian and new data of 101%)
- Block read starting address 0x44, returned data should be the memory address, then the present data. 0x65 in this example indicates an 101% threshold.
The same procedure must be followed with the DSG Thresh 6 in order to prevent dim blinking during discharge when the LEDs are displayed using the midpoint blink (BLINKMIDPT) feature, or having 2 dim LEDs when the BLINKMIDPT feature is not used and all 6 LEDs the gauge is trying to display all 6 LEDs.
Make sure to check the data flash address of the thresholds in the TRM or BQStudio to verify they are correct, in the example above the BQ40Z50-R4 was used. The BQ40Z80 will have different addresses, but procedure will be the same.