Impedance Track battery gauges use VCT to help determine the full charge of a battery. VCT is used to help determine the range we report for Relative State of Charge (RSoC). The gauge will learn the Depth of Discharge at End of Charge (DoD at EoC) when VCT is triggered. The DoD at EoC is used in conjunction with the DoD point at the termination voltage, the gauge uses the chemistry ID to find both DoD points to determine the 100% to 0% RSoC scale. VCT is used by CEDV gauges to set the FC and TC bits for the host to know the gauge has detected full charge.
The conditions to trigger VCT are outlined in the Technical Reference Manual (TRM) document. An example which shows the most common conditions to set VCT is from the BQ40Z50-R4 TRM:
When the gauge is in charge mode (BatteryStatus()[DSG] = 0) it begins to count in 40 second intervals to check for VCT conditions. In order for the gauge to take an average of the current over this time it will coulomb count and divide by the 40 second period. This means that if the average current for the 40 second window is slightly above the taper current, but many of the AverageCurrent() values in the log are below the taper current, the gauge will not count this period as a qualifying VCT condition. This is why sometimes the gauge will report AverageCurrent() below the taper current for up to 119 seconds, absolute worst case, before it will trigger VCT. This also means VCT could trigger before the full 80 seconds have passed. If the average current for the first whole 40 seconds is below the taper current threshold, but half (or more) of the 40s time period the AverageCurrent() may have been higher than the taper current threshold.
Here is an example when VCT will take longer than 80 seconds to trigger due to the first 40s window being disqualified: