Last week I observed an interesting behavior in the 12 bit ADC of the MC56F84452. One of the pins that was being measured by the 12 bit ADC was reading a 2.24V signal about 150mV low. My initial thought was that the input was being sampled too fast even though there was very little impedence on the input. So I set the sampling time to the slowest possible time. This did not help. So I made the sample and conversion time faster. This made the sample more accurate. So I made the sample time slower and left the conversion time at the faster level. Accuracy was the same. Slowed the conversion time down and accuracy dropped again. Any ideas on why a faster conversion time would result in a better more accuracy result. The accuracy on the other pins stayed about the same which were good to begin with.
After the sample time, could there be internal leakage on this pin during the conversion time?
This is pin 28 (56F84452VLH) which is GPIOB3/ANB3/VREFLB/CMPC_M0.
For your issue that only the pin 28 (56F84452VLH) which is GPIOB3/ANB3/VREFLB/CMPC_M0 has issue, because the pin is share with ANB3 and VREFLB function, maybe the VrefLB function has impact on the accuracy. But the errata does not mention the issue.
It seems that your issue is different with the issue of Douglas, you observe that all channels have the 20 LSB noise issue, for the case, pls check the ADC_RESULT register format:
As you can see that the 3 low bit are always 0, if you connect AGND to analog channel, the ADC12_RSLTx is 20 LSB, the actual lsb is about 2~3 bits(20>>3), the noise is about 3mV, i think it is okay. If it is not your case, pls check the ADC driving clock, which must be less than 20MHz.
The 20 counts in the ADC was already considering the shift that you talked about above.
Where did you find the information about the ADC driving clock having to be less than 20 MHz?
I have a similar issue with the same part. If I connect the analog input to the VSSA the readings aren't zero but floats around 20 units which translates to (20/4095)*3.3 = 16.1172 mV. I also played a little bit with the sampling time and conversion time but it didn't help.
I can't think of the cause for this since I'm connected to the reference of the ADC and any noise there should be cancelled when sampling.