Tool/software:
Hi there,
I am using 2x ADS8674 to measure two batteries as they discharge. Some of the channels are being used to measure current and some are being used to measure battery voltage.
I am using the CS lines to query each ADS8674 sequentially on the same SPI bus. Every minute or two I am getting a voltage reading that is about 20mV above or below the true battery voltage from the ADS8674. The current readings are very stable so it would appear that the SPI communication is working well (at least for the current channels).
I am sampling (getting a new sample every 500uS) at 2KHZ and communicating at 12 mhz. I have tried experimenting with a lower frequency (e.g 6 mhz) but the phenomon still occurs. Also if it were a communication issue I would assume the readings would not only be within the 20mV I am getting.
My question is why I keep getting these sporadic fluctuations? I have checked the SPI signals and CS lines with an oscilloscope and everything seems pretty clean and timing is according to the datasheet. Note that the input to the ADC also has some filtering so that should take care of noisy signals. In the diagram below I am using Ch3 and Ch2 to measure the voltages (at the plus and minus of the battery terminals) and Ch1 and Ch0 to measure the currents at two different points. Below is shown one ADC, there is another identical ADC connected to the same SPI bus.
The below time span recording in CCS is about 10 minutes:
Note that this phenomenon occurs on both ADCs voltage channels only. Current readings are clean.
Thanks in advance for your help.