Thursday, 17 July 2014

AVR 1.1V Internal ADC Reference Over-Voltage


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.


enter image description here



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

arduino - Can I use TI's cc2541 BLE as micro controller to perform operations/ processing instead of ATmega328P AU to save cost?

I am using arduino pro mini (which contains Atmega328p AU ) along with cc2541(HM-10) to process and transfer data over BLE to smartphone. I...