Der Analogvergleicher vergleicht die Spannungen am positiven Eingang Pin AIN0
und am negativen Eingang Pin AIN1 miteinander.
Wenn die Spannung am positiven Eingang größer als die am negativen Eingang ist,
wird der Komparator-Ausgang auf 1 gesetzt.
Der Ausgang kann den Zähler-Zeitgeber-Interrupt
oder einen eigenen Interrupt triggern,
der nur für den Analogvergleicher vorgesehen ist.
Der Anwender kann auswählen, ob der Interrupt mit der steigenden
oder fallenden Flanke des Komparator-Ausgang
oder durch einen Zustandswechsel getriggert wird.
Das Blockdiagramm mit der dazugehörigen Logik
zeigt das nachfolgende Bild.
Das Leistungsreduktionsbit PRADC, siehe „Leistungsreduktion“,
muss deaktiviert werden, um den Multiplexer des A/D-Wandlers zu nutzen.
23.2. Vielfacher Komparator-Eingang
Es ist möglich jeden der ADC7 bis ADC0 Pins
als negativen Eingang für den Komparator zu verwenden.
Für die Auswahl wird der Multiplexer des A/D-Wandlers (ADU) verwendet,
so dass der ADU konsequenterweise ausgeschaltet sein muss,
um diese Möglichkeit zu nutzen.
Wenn das Analogvergleicher-Multiplex-Bit (ACME im ADCSRB) gesetzt ist
und der ADU ausgeschaltet ist (ADEN in ADCSRA ist Null),
wählen die MUX2- bis MUX0-Bits im ADMUX-Register den Pin aus,
der als negativer Eingang für den Komparator verwendet wird.
Wenn ACME gelöscht ist oder ADEN gesetzt ist,
wird immer der AIN1-Pin als negativer Eingang für den Komparator verwendet.
Vielfacher Komparator-Eingang
ACME
ADEN
MUX2..0
Negativer Komparator-Eingang
0
x
xxx
AIN1
1
1
xxx
AIN1
1
0
000
ADC0
1
0
001
ADC1
1
0
010
ADC2
1
0
011
ADC3
1
0
100
ADC4
1
0
101
ADC5
1
0
110
ADC6
1
0
111
ADC7
23.3 Registerbeschreibung
23.3.1 ADCSRB – ADC Steuer- und Statusregister B
Bit
7
6
5
4
3
2
1
0
(0x7B)
-
ACME
-
-
-
ADTS2
ADTS1
ADTS0
ADCSRB
Zugriff
R
R/W
R
R
R
R/W
R/W
R/W
Startwert
0
0
0
0
0
0
0
0
Bit 6 – ACME: Freigabe des Vielfachen Komparator-Eingangs
Wenn dieses Bit logicsch Eins ist und der A/D-Wandler ausgeschaltet ist
(ADEN in ADCSRA ist Null),
wählt der A/D-Multiplexer den negativen Eingang des Komparators aus.
Wenn Null, liegt AIN1 am negativen Eingang an.
Eine genaue Beschreibung steht bei Vielfacher Komparator-Eingang.
23.3.2 ACSR — Analogvergleicher: Kontroll- und Statusregister
Bit
7
6
5
4
3
2
1
0
(0x50)
ACD
ACBG
ACO
ACI
ACIE
ACIC
ACIS1
ACIS0
ACSR
Zugriff
R/W
R/W
R
R/W
R/W
R/W
R/W
R/W
Startwert
0
0
-
0
0
0
0
0
Bit 7 — ACD: Analogvergleicher abschalten
Wenn dieses Bit gesetzt wird, wird die Versorgung des Analogvergleichers abgeschaltet.
Diese Bit kann jederzeit gesetzt werden.
Damit kann der Stromverbrauch im aktiven oder Idle-Modus reduziert werden.
Wenn das ACD-Bit verändert wird, sollte vorher das ACIE-Bit
(Analogvergleicher Interruptfreigabe) gelöscht werden,
da sonst versehentlich ein Interrupt
durch das Ändern des ACD-Bits ausgelöst werden kann.
Bit 6 — ACBG: Analogvergleicher: Bandgap-Auswahl
Wenn diese Bit gesetzt wird, wird die positive Eingangsspannung von AIN0
durch eine interne Bandgap-Spannung am Eingang des Komparators ersetzt.
Wenn das Bit gelöscht ist, liegt die Spannung von AIN0
am positiven Eingang des Komparators.
Siehe Interne Spannungsreferenz.
Bit 5 — ACO: Komparator-Ausgang
Dieses Bit ist taktsynchronisiert und direkt mit dem Ausgang des Vergleichers verbunden.
Die Synchronisation beinhaltet eine Verzögerung von 1 bis 2 Taktzyklen.
Bit 4 — ACI: Analogvergleicher: Interrupt-Flag
Dieses Bit wird durch die Hardware gesetzt,
wenn ein Ereignis am Ausgang des ACO einen Interrupt auslöst,
der mit ACI1 und ACI0 eingestellt wurde.
Die Analogvergleicher-Interrupt-Routine wird ausgeführt,
wenn das ACIE-Bit und das globale Interrupt-Bit (I-Bit im SREG) gesetzt sind.
Das ACI-Bit wird durch die Hardware gelöscht,
wenn die dazugehörige Interrupt-Routine ausgeführt wird.
Alternativ kann das Bit auch gelöscht werden,
indem man eine logische 1 in das Flag schreibt.
Bit 3 — ACIE: Analogvergleicher: Interruptfreigabe
Wenn das ACIE-Bit und das globale Interrupt-Bit gesetzt sind,
ist der Analogvergleicher-Interrupt freigegeben.
Wenn das Bit gelöscht ist, ist der Interrupt gesperrt.
Bit 2 — ACIC: Analogvergleicher: Freigabe des Input Capture
Wenn dieses Bit mit einer logischen 1 beschrieben wird,
gibt das Bit die Input-Capture-Funktion für Zähler/Zeitgeber1 frei,
die durch den Analogvergleicher getriggert wird.
Der Ausgang des Komparators ist in diesem Fall direkt mit der
Input-Capture-Eingangs-Logik verbunden,
so dass auch die Störungsunterdrückung und die
Flanken-Einstellmöglichkeiten des Zähler/Zeitgeber1-Interrupts verwendet werden.
Wenn das Bit auf 0 gesetzt ist, besteht keine Verbindung
zwischen dem ACO und der Input-Capture-Funktion.
Um den ACO zum Triggern des Zähler/Zeitgeber1 Interrupts zu verwenden,
muss das TICIE1-Bit im Register TIMSK gesetzt sein.
Bit 1, 0 — ACIS1, ACIS0: Analogvergleicher Interrupt-Mode-Auswahl
Mit diesen Bits wird vorgegeben,
bei welchem Zustand des Komparators ein Interrupt ausgelöst werden soll.
Die verschiedenen Möglichkeiten stehen in folgender Tabelle.
Tabelle 23-2: Einstellungen ACIS1/ACIS0
ACIS1
ACIS0
Interrupt-Modus
0
0
Wechsel am ACO-Ausgang löst einen Interrupt aus
0
1
Reserviert
1
0
Eine fallende Flanke am ACO-Ausgang löst einen Interrupt aus
1
1
Eine steigende Flanke am ACO-Ausgang löst einen Interrupt aus
Wenn diese Bits verändert werden,
sollte vorher das ACIE-Bit (Analogvergleicher-Interruptfreigabe)
im ACSR Register gelöscht werden,
da sonst versehentlich ein Interrupt ausgelöst werden kann.
Diese Bits sind unbenutzt und liefern beim Lesen Null.
Bit 1, 0 – AIN1D, AIN0D: Deaktivierung des digitalen Eingangs für AIN1, AIN0
Diese Bits deaktivieren den digitalen Eingangspuffer
der Eingänge AIN1 bzw. AIN0, wenn auf logisch Eins gesetzt.
Das entsprechende PIN-Register-Bit liefert dann stets Null.
Wenn analoge Signale an AIN1/0 angelegt werden,
sollten diese Bits gesetzt werden,
um den Stromverbrauch des digitalen Eingangs zu senken.
Ansonsten praktisch ruhestromfreie CMOS-Gatter
nehmen bekanntermaßen einen merklichen Strom auf,
wenn das Eingangssignal nicht nahe den Betriebsspannungsgrenzen liegt.