Titelbild Mikrocontroller

18.3. Wechsel der Kanäle und Referenzspannung

Die MUXn und REFS1 und 0 Bits im ADMUX Register sind durch ein temporäres Register, auf das die CPU zugreifen kann, einfach gebuffert. Dadurch ist sichergestellt, dass die Kanal- und Referenzauswahl während einer Wandlung nicht verändert werden kann. Die Kanal- und Referenzauswahl wird kontinuierlich aktualisiert, bis eine Wandlung gestartet wird. Mit dem Start einer Wandlung wird die Kanal- und Referenzauswahl übernommen, um eine ausreichende Abtastzeit für den ADC sicherzustellen. Das kontinuierliche Aktualisieren wird im letzten Takt, bevor die Wandlung abgeschlossen ist (ADIF im ADCSRA wird gesetzt), fortgesetzt. Man beachte, dass eine Wandlung mit der ersten fallenden Flanke des ADC Taktes gestartet wird, die nach dem Setzen des ADSC auftritt. Der Anwender muss also darauf bedacht sein, keinen neuen Kanal- oder Referenzwert in das ADMUX zu schreiben, bis ein ADC Taktzyklus nach dem Schreiben des ADSC vorüber ist.

Wenn sowohl ADFR als auch ADEN mit 1 beschrieben sind, kann jederzeit ein Interrupt auftreten. Wenn das ADMUX Register in dieser Zeit verändert wird, kann der User nicht feststellen, ob das nächste Wandlungsergebnis zu den alten oder den neuen Einstellungen gehört. ADMUX kann sicher aktualisiert werden auf folgende Weisen:
  • Wenn ADFR oder ADEN gelöscht sind
  • Während einer Wandlung, mindestens einen ADC Takt nach dem Wandlungsstart
  • Nach einer Wandlung, bevor das Interrupt Flag als Triggerquelle gelöscht wird

Wenn das ADMUX unter einer der Bedingungen verändert wird, gelten die neuen Einstellungen für die nächste Wandlung.

ADC Eingangskanäle

Wenn die Eingangskanäle gewechselt werden, sollte der User folgende Richtlinien beachten, um sicherzustellen, dass der richtige Kanal ausgewählt ist.

Im Einzelwandlungs Modus sollte der Kanal ausgewählt werden, bevor die Wandlung startet. Die Auswahl des Kanals kann einen ADC Taktzyklus nachdem das ADSC Bit gesetzt wurde, wieder verändert werden. Die einfachste Methode ist aber, das Ende einer Wandlung abzuwarten bevor ein anderer Kanal eingestellt wird.

Im Freilaufenden Modus wird der Kanal ausgewählt, bevor die erste Wandlung gestartet wird. Die Auswahl des Kanals kann einen ADC Taktzyklus nachdem das ADSC Bit gesetzt wurde, wieder verändert werden. Die einfachste Methode ist aber, das Ende der ersten Wandlung abzuwarten bevor ein anderer Kanal eingestellt wird. Da die nächste Wandlung dann bereits automatisch begonnen hat, gehört das nächste Wandlungsergebnis noch zu den alten Kanal. Die nachfolgenden Wandlungen gehören dann zu dem neuen Kanal.

ADC Spannungsreferenz

Die Referenzspannung für den ADC (VREF) bestimmt die Wandlungsbandbreite des ADC. Die Einzeleingänge, die VREF erreichen, führen zu einem Ergebniscode von 3Fh. Als VREF können entweder AVCC, die interne 2,56 V Referenz oder der externe AREF Pin ausgewählt werden.

AVCC ist mit dem ADC durch einen passiven Schalter verbunden. Die interne 2,56V Referenz wird durch einen internen Verstärker aus der internen Bandbreiten Referenz (VBG) abgeleitet. In allen Fällen ist der externe AREF Pin direkt mit dem ADC verbunden und kann durch einen externen Kondensator zwischen dem AREF Pin und GND gestützt werden. Mit einem hochohmigen Voltmeter kann VREF am AREF Pin gemessen werden. Man beachte dabei, dass VREF eine Quelle mit hoher Impedanz ist und nur eine Kapazitive Last angeschlossen werden kann.

Wenn der User eine Festspannungsquelle an den AREF Pin angeschlossen hat, darf er die anderen Referenzspannungen in der Applikation nicht verwenden, da sie sonst mit der externen Spannungsquelle kurzgeschlossen werden. Wenn keine externe Referenzspannung angeschlossen wird, kann der User zwischen AVCC und 2,56V als Referenzspannung auswählen. Die erste Wandlung nach dem Umschalten der Referenzspannung kann ungenau sein, weshalb dieses Ergebnis vom User besser nicht verwendet werden sollte.
Impressum