We are using the K51DN512 on-chip A/D converters to read some conditioned switch inputs. The switches are connected via a voltage divider network and a bypass capacitor, to provide a known non-rail value for the possible switch values.
We scan the A/D lines of interest at 100 Hz. The A/D driver is interrupt-driven. We are doing 16-bit conversions.
With the switch disconnected (open), the normal raw value is about 45100 counts. There is some noise on the line, but it is down in the two bottom digits, so no more than a few bits worth.
With no switch connected, we see OCCASIONAL bad values from the A/D converter. We see values down around 14000. We see typically 10-15 bad values in a 20 MINUTE run.
We considered software corruption, and added logging code designed specifically to cache the values as they were read from the A/D converter. The values are coming directly out of the A/D, and are not modified by software.
If we change the software, we see the bad values "migrate" to a different input pin.
I conjecture that it is a weird noise issue SOMEWHERE, but I have no idea where.
Has anyone else seen anything like this?