Titelbild Mikrocontroller

13.8.3. Fast PWM Modus

Der Fast PWM Modus (WGM21 bis WGM20 = 3) bietet eine hochfrequente Ausgangswelle. Der Fast PWM Modus unterscheidet sich von den anderen PWM Modi durch seine einfache Impulsflanke. Der Zähler zählt vom BOTTOM Wert bis zum TOP Wert und beginnt danach wieder mit dem BOTTOM Wert. Im nicht invertierenden Compare Output Mode wird der Output Compare (OC2) gelöscht, wenn eine Vergleichsübereinstimmung zwischen dem TCNT2 und OCR2 auftritt und wird gesetzt, wenn der BOTTOM Wert erreicht ist. Im invertierenden Output Compare Modus ist es genau umgekehrt. Durch die einfache Impulsflanke kann die Frequenz im Fast PWM Modus doppelt so hoch sein wie in den anderen PWM Modi, die mit einer doppelten Impulsflanke arbeiten. Die hohe Frequenz des PWM Signals ist günstig bei der Verwendung als Spannungsregulierung, Gleichrichtung und ähnlichen Digital-Analogwandler Anwendungen. Hohe Frequenzen erlauben kleine externe Komponenten (Spulen, Kondensatoren) wodurch die Systemkosten reduziert werden können.

Im Fast PWM Modus wird der Zähler so lange inkrementiert, bis der Zähler den MAX Wert erreicht. Der Zähler wird dann mit dem folgenden Zyklus des Timertaktes gelöscht. Das Zeitdiagramm des Fast PWM Modus ist im nachfolgenden Bild zu sehen. Der Wert des TCNT2 ist als Histogramm um die einfache Impulsflanke darzustellen. Auch der invertierende und der nicht invertierende Ausgang sind dargestellt. Die kleinen horizontalen Linien an der TCNT2 Flanke kennzeichnen die Vergleichsübereinstimmung zwischen OCR2 und TCNT2.
Zeitdiagramm Fast PWM

Zeitdiagramm Fast PWM


Das Timer/Counter Overflow Flag (TOV2) wird jedes Mal gesetzt, wenn der Zähler seinen MAX Wert erreicht. Wenn der Interrupt freigegeben ist, kann die Interruptroutine dazu verwendet werden, um den Vergleichswerte zu aktualisieren.

Im Fast PWM Modus erlauben die Vergleichseinheiten das Erzeugen von PWM Signalen an dem OC2 Pins. Durch Setzen der COM21 und COM20 Bits auf 2 wird ein nicht invertiertes PWM-Signal erzeugt. Ein invertiertes PWM-Signal kann erzeugt werden, indem COM21 und COM20 auf 3 gesetzt werden. Um das PWM Signal am Port Pin sichtbar zu machen muss dieser als Ausgang konfiguriert werden (DDR_OC2 = 1). Das PWM Signal wird erzeugt indem das OC2 Register gesetzt (gelöscht) wird, wenn eine Vergleichsübereinstimmung zwischen OCR2 und TCNT2 besteht und das OC2 Register in dem Taktzyklus gelöscht (gesetzt) wird, in dem der Zähler durch den Wechsel von MAX zu BOTTOM gelöscht wird.

Die Frequenz des Ausgangssignals kann mit folgender Formel berechnet werden:
Frequenz Fast PWM Modus

Frequenz Fast PWM Modus


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

Extreme Werte des OCR2 Register stellen spezielle Fälle bei der Erzeugung des PWM Signals im Fast PWM Modus dar. Wenn das OCR2 Register auf den gleichen Wert wie BOTTOM (also 00h) eingestellt wird, wird eine schmale Spitze am Ausgang erzeugt, die mit jedem MAX+1 Takt auftritt. Das Setzen des OCR2 Registers auf den MAX Wert wird zu einem konstanten High- oder Low-Pegel am Ausgang führen (abhängig ob invertierender oder nicht invertierender Ausgang eingestellt).

Eine Frequenz mit einem Tastverhältnis von 50% kann im Fast PWM Modus dadurch erreicht werden, indem man OC2 so einstellt, dass es seinen Pegel bei jeder Vergleichsübereinstimmung wechselt (COM21 und COM20 Bits auf 1). Die erzeugte Ausgangswelle kann eine maximale Frequenz von fOC2 = fclk_I/O/2 haben, wenn OCR2 auf 00 gesetzt wird. Diese Eigenschaft ist gleich dem OC2 Toggel im CTC Modus, mit der Ausnahme, dass die zweifach gebufferte Output Compare Einheit im Fast PWM Modus zur Verfügung steht.
Impressum