Tool/software:
I am using SAC0 (Reference/Counting) and SAC3 (Transimpedance) as a potentiostat circuit. I am using the internal 2V5 reference to drive the ADC conversions and the DAC output, and I am powering the chip with 3V3. I am not using any of the Low Power Modes.
I noticed that I was getting repeated sporadic bursts of ADC conversions failing my "too low" boundary check. I measured the sensor output with my Salae (Analog/Digital Logic Analyzer) and noticed my sensor's output was bottoming out (going to GND) during these periods. I have my bias driven by the DACs connected to each SAC opamp such that my typical baseline (zero gas present) sits around 300mV. The bottom out lasts about 1 second and then the sensor recovers to its normal baseline level.
I was debugging my code to try and figure out what was causing it and while I was stopped at a breakpoint I observed the "bottom out" phenomena. I then left my code at that breakpoint and observed the bottom out phenomena happen again, while the processor should be doing nothing! I have been working with electrochemical sensors and potentiostat circuits for about 10 years, I have good confidence that my configuration is sound and the sensor itself is not the cause of the bottom out.
Image of the dropout phenomena in question:
This repeats itself every 60-180 seconds, and the time frame between repeats seems to be mostly random. The bottom out lasts for around 1sec +/- 250ms. Since my code is in a breakpoint and the bottom out still occurs, and all my other voltage levels seem pretty stable on my board I am having a hard time determining the cause, so here I am.
Things I suspect:
1) 2V5 reference becomes unstable. This is low on my list because I am also using the internal reference to drive the internal temperature sensor, and I do not get errors on that channel.
2) Something SAC related, like I'm violating some criteria for normal operation or there are delays imposed by the SAC which are causing mismatches between my reference, counting, and working electrodes on the sensor.
Beyond that I am really short on ideas, and even those ideas aren't very ironed out. I will continue to measure the other connections on my sensor and the SAC circuitry to try and figure out what may be causing the issue outside of the processor. I'm open to suggestions.