Titelbild Mikrocontroller

13.8.2. Clear Timer on Compare Match (CTC) Modus

Im Clear Timer on Compare Modus (CTC) (WGM21 und WGM20 = 2) wird das Register OCR2 dazu verwendet, die Auflösung des Timers zu manipulieren. Im CTC Modus wird der Zähler gelöscht, wenn der Wert des Zählers (TNCT2) mit dem des OCR2 Registers übereinstimmt. Das Register OCR2 bestimmen also den Maximalwert des Zählers und somit seine Auflösung. Dieser Modus erlaubt eine größere Kontrolle der Compare Match Ausgangsfrequenz. Er vereinfacht auch das Zählen externer Ereignisse.

Das Zeitdiagramm des CTC Modus ist nachfolgend abgebildet. Der Wert des Zählers (TCNT2) wächst so lange bis eine Vergleichsgleichheit mit dem OCR2 auftritt, dann wird der Zähler (TCNT2) gelöscht.
Clear Timer on Compare Match (CTC)

Clear Timer on Compare Match (CTC)


Durch das OCF2 Flag kann ein Interrupt generiert werden, zu jedem Zeitpunkt, wenn der Wert des Zählers den TOP Wert erreicht, der durch das OCR2 Register vorgegeben ist. Wenn der Interrupt freigegeben ist, kann die Interruptroutine dazu verwendet werden, um den TOP Wert zu verändern. Das Einstellen des TOP Wertes in die Nähe des BOTTOM Wertes muss mit Vorsicht geschehen, wenn der Zähler ohne oder mit einem geringen Vorteiler betrieben wird, da der CTC Modus keine Zweifachbuffer Eigenschaft hat. Wenn ein neuer Wert in das OCR2 Register geschrieben wird, der kleiner als der aktuelle Wert des TCNT2 ist, so wird zunächst keine Vergleichsübereinstimmung erkannt. Der Zähler wird dann zunächst bis zu seinem maximalen Wert (FFh) laufen und von 00h erneut starten, erst dann kann eine Vergleichsübereinstimmung erkannt werden.

Beim Generieren einer Ausgangsfrequenz im CTC Modus kann der OC2 Ausgang so eingestellt werden, dass er seinen Zustand bei jeder Vergleichsübereinstimmung wechselt, indem die COM21 und COM20 Bits auf 1 gesetzt werden. Der OC2 Wert wird nicht am Port Pin erscheinen, wenn die Datenrichtung nicht auf Ausgang (DDR_OC2 = 1) eingestellt ist. Die erzeugte Ausgangswelle kann eine maximale Frequenz von fOC2 = fclk_I/O/2 haben, wenn OCR2 auf 00 gesetzt wird. Allgemein wird die Ausgangsfrequenz mit folgender Gleichung bestimmt:
Berechnung Ausgangsfrequenz

Berechnung Ausgangsfrequenz


Die Variable N steht für den Faktor des Vorteilers (1, 8, 32, 64, 128, 256 oder 1024).

Im normalen Modus wird das TOV2 Flag in dem selben Taktzyklus gesetzt, in dem der Zähler von seinem MAX Wert auf 00h wechselt.
Impressum