LTC2944 Noise

From the LTC2944 datasheet:

How does one deal with the above noise in Current and ACR measurements? 

My application is battery monitoring including SoC calculations for a 12V 100Ah Lithium battery with 110A max continuous load with 50mS pulses to 1200A.  This is one battery in a family ranging up to 48V with 60A continuous current but "only" 250A current pulses.  For this battery range, I have the prescaler set to 256.  The sense resistor is 0.00025 ohms. 

I am getting the ADC current value flipping 16 bits or 32 bits which I assume is because 16 = 2^16 / 2^12 due to register size differences and this is 1 - 2 LSBs of the ADC.  For an open battery connection this means "zero current" flips between readings of 0.000A and -0.117A/-0.242.  This is not good!  

My layout is consistent with the recommended PCB layout items in the datasheet and also with all good PCB practices, in general (I have been doing analog design for a long time).  The PCB has an internal ground plane. The schematic is exactly as recommended in the datasheet. A key point is that with a dead short across the SENS+ and SENS- pins on the LTC2944, I am still getting this value flipping.  The graph above and this data indicate the source of the noise is internal to the LTC2944.  

I can't simply smooth the data by averaging, etc. since I need to account for 50mS wide current pulses. I can ignore current values below a certain value so "zero current" reads 0.00A but the error shows up in non-zero current readings as well (e.g. with a 1A load I am getting 1.117A or 1.242A readings).  I am using ADC Manual mode but have the same issue with Automatic mode.  

I've replaced the LTC2944, TVS diode, and changed the prescaler to 4096 as a test and the results are the same.  

I am at a loss as to what to do about this.  Any and all ideas/advice are appreciated.

Thanks

Al Testani



updates
[edited by: atestani at 9:52 PM (GMT 0) on 11 Jan 2020]

Top Replies