2020-05-21 07:51 AM
I have a product that uses the STM32L151. One of our in-house test products was reporting inaccurate measurements on all ADC channels where the reported value is higher than it should be (example - battery voltage range is 0 to 10V. Real voltage is 8V, ADC reports 9V). VREF+ is supplied by a precision 0.1% reference device. We have thousands of this product in the field, so I am interested in knowing root cause to ensure this is just a one-off and not a potential design flaw which could haunt us. What do you suggest for root cause analysis? Should I send the problematic micro to ST for diagnosis? Has anyone else seen this symptom? #ADC_Error
2020-05-21 08:47 AM
I would start with verifying that all relevant pins (mainly VSSA, VDDA, all VSS and VDD, and of course VREF+) are physically well connected (i.e. there's no bad solder joint). I would also verify that precision reference device, again measuring physically against the VSSA pin. I would also verify that all power supplies are in range and noise-free, again, physically pin-to-pin.
JW
2020-05-21 10:57 AM
ADC delivers a dimensionless number between 0 and 4095, the application converts it to a voltage. If the in-house test product has a modified firmware, verify the raw ADC readings and the conversion algorithm separately..