Wenn ich die interne 1.1V-Referenz für den ADC verwende und mein Analogeingang 1.1V überschreitet, sagen wir 2.5V, ist das schädlich für meinen Mikrocontroller? Oder wird der ADC-Wert einfach bei 1,1 V abgeschnitten (auf 0x3FF)?
Der Einfachheit halber füge ich ein Blockdiagramm aus dem ATMega328-Datenblatt hinzu.
avr
adc
voltage-reference
vicatcu
quelle
quelle
Antworten:
Das Datenblatt hat Ihre Antwort in Abschnitt 24.5.2:
Eine Spannungsreferenz in einem Mikrocontroller ist nicht dasselbe wie eine Spannungsgrenze . Die Spannungsreferenz (in diesem Fall) wird vom ADC verwendet, um einen Vergleich durchzuführen, und der Mikrocontroller scheint so ausgelegt zu sein, dass Sie diesen Wert überschreiten können.
Sie möchten niemals die Spannungsgrenze überschreiten (in diesem Fall wäre dies AVcc, die analoge Stromversorgung des ADC). In Mikrocontrollern sind Schutzdioden eingebaut, um Ihren Speck zu schonen. Im Allgemeinen sollte der externe Schaltkreis so ausgelegt werden, dass die Spannungsgrenze nicht überschritten wird. (Dies ist eine bewährte Methode. In einigen Fällen kann es Gründe geben, sie zu ignorieren.)
quelle
Vcc+0.5V
. Dann heißt es jedoch im Unterabschnitt über ADCADC VinMAX = Vref
. Obwohl ich damit einverstanden bin, scheint es, als ob es in Ordnung wäre, Vref zu übertreffen, ist das Datenblatt in Bezug auf dieses Problem alles andere als klar ...