If I use the internal 1.1V reference for the ADC, and my Analog input exceeds 1.1V, lets say 2.5V, is that harmful to my microcontroller? Or will ADC value simply clip (to 0x3FF) at 1.1V?
For convenience, I am including an excerpt block diagram from the ATMega328 datasheet.
Answer
The datasheet has your answer in section 24.5.2:
The reference voltage for the ADC (VREF) indicates the conversion range for the ADC. Single ended channels that exceed VREF will result in codes close to 0x3FF. VREF can be selected as either AVCC, internal 1.1V reference, or external AREF pin.
A voltage reference in a microcontroller is not the same as a voltage limit. The voltage reference (in this case) is used by the ADC to perform a comparison, and the microcontroller appears to be designed to allow you to exceed this amount.
You never want to exceed the voltage limit (in this case, that would be AVcc, the ADC's analog power supply). Microcontrollers have built-in protection diodes to save your bacon if that happens, but generally speaking, one should design the external circuit so that it does not exceed the voltage limit. (This is a best practice; in some cases, one may have reasons to ignore it.)
No comments:
Post a Comment