Hi, I am coding a project using the LTC2943 for a 2-cell battery.
I have observed that while charging the Accumulated Charge register can reach maximum FFFFh, then roll over to 0000h and keep incrementing! I can deal with this using the ALCC input, but it seems like undesirable behavior in general.
A project from a few years ago used the LTC2942, and I don't remember this happening (i.e., the register would reach FFFF and not roll over).
the ACR will not stop accumulating when decrementing below 0 or incrementing above FFFFh. This behavior is described in the datasheet on page 9, right column:
"The accumulated charge register (ACR) is compared to the charge thresholds every time the analog integrator increments or decrements the prescaler. If the ACR value exceeds the threshold register values, the corresponding bit A or A are set. Bit A is set if the accumulated charge registers (ACR) overflows or underflows. At each overflow or underflow, the ACR rolls over and resumes integration. "
This behavior is usually desired, as it ensures no charge is lost. Still the host MCU has to deal with those over- / under-flow situations by evaluating the "A: Accumulated Charge Overflow/Underflow" bits in the status register. Setting also the Charge Threshold registers to appropriate values, helps to distinguish between over- and under-flow conditions. Knowing which condition happen, the host MCU needs to do the right math to calculate the real charge, e.g. add FFFFh in case of an overflow.
Thank you Patrick.