LTC2943 - SOC register

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).

  • Hello,

    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[3] or A[2] are set. Bit A[5] 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[5]: 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.