Für eine allgemeine Beschreibung des Komparators siehe Artikel Analog-Komparator.
Die meisten AVRs haben einen Komparator integriert. Dieser Komparator besitzt zwei Eingänge – einen normalen und einen invertierten. Wie in Analog-Komparator beschrieben vergleicht der Komparator zwei Spannungen und gibt dann aus welche größer ist. Der Komparator der AVRs lässt sich weiter konfigurieren, siehe dazu die Registerübersicht.
Inhaltsverzeichnis
Funktionsweise
Der Analoge-Komparator vergleicht die Eingangsspannungen der Pins AIN0 (+, Eingang für nicht invertierte Spannung) und AIN1 (-, Eingang für invertierte Spannung). Ist die Spannung an AIN0 höher ist als an AIN1 wird ACO gesetzt. Dieses Verhalten lässt sich natürlich verändern, so dass ACO z.B. auch gesetzt wird, wenn AIN1 höher als AIN0 ist. Siehe dazu die Registerübersicht
Kanäle
Muss man mehrere Größen „gleichzeitig“ (ich schreibe das in Anführungszeichen, weil ein Controller Aufgaben nicht parallel verarbeiten kann wohl aber sehr schnell hintereinander) vergleichen, gibt es (wie beim Analog-Digital-Wandler, kurz ADC) einen Multiplexer mit dessen Hilfe man die Kanäle des Multiplexers auf den Komparator schalten kann. Man kann (natürlich abhängig vom Modell, ich orientiere mich an einem ATmega32) die Pins ADC0..7 über dem Multiplexer mit dem Komparator verbinden und zwar mit dem invertierten Eingang des Komparators. Verwendet man den Multiplexer, muss der ADC allerdings deaktiviert sein.
Folgende Pins sind als Eingänge wählbar.
ACME | ADEN | MUX2..0 | Pin des invertierten Eingangs |
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 |
Registerübersicht
Hinweis: Diese Registertabellen wurden für den aktuellen Atmel Controller Mega16 und Mega32 erstellt. Wenn Sie ein anderes Modell verwenden kann es sein, dass ein oder mehrere Register nicht existieren, oder sie eine andere Bezeichnung haben.
ACSR (Analog Comparator Control And Status Register) | ||||||||||||||||||
Mit diesem Register wird der Komparator des AVR gesteuert.
| ||||||||||||||||||
|
SFIOR (Special Function IO Register) | ||||||||||||||||||
Mit diesem Register lässt sich u.a. der Multiplexer des Komparators aktivieren bzw. deaktivieren.
| ||||||||||||||||||
|
Siehe auch