Forum: Mikrocontroller und Digitale Elektronik Fast PWM (TCNT2)


von Bernd B. (benutzer100)


Lesenswert?

Hallo, in dem Datenblatt für den ATmega 328P suche ich die Information 
wann der Ausgang OC2A eingeschaltet wird. Ich verwende den Modus Clear 
on Match, hier wird beim Erreichen des Vergleichswertes ausgeschaltet. 
Nur über das Einschalten finde ich irgendnwie nichts.

VG

von S. L. (sldt)


Angehängte Dateien:

Lesenswert?

Zuerst wäre zu klären, ob es um den 'Fast PWM'-Modus geht, wie im 
Betreff steht, oder um den 'CTC'-Modus, wie im Text. Sodann, was OC2A 
können soll.

von Bernd B. (benutzer100)


Lesenswert?

Es geht um des Fast PWM Mode und den zusätliche Modus
Clear OC0A on compare match, set OC0A at BOTTOM,
(non-inverting mode). Beide Modi werden gesetzt.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

es passiert immer etwas bei TimerCounter Überlauf/Wechsel auf 0 und bei 
erreichen des Compare Match. Also Start und Endbedingung für erste 
"Hälfte" des Duty was der User einstellt. Die "2. Hälfte" vom Duty nach 
Compare Match bis Ende Periodendauer ergibt sich daraus automatisch.

Das heißt für Clear on Compare Match:
Bei Timer Counter == 0 -> OCR Pin geht auf High und bei Compare Match 
auf Low.

Das heißt für Set on Compare Match:
Bei Timer Counter == 0 -> OCR Pin geht auf Low und bei Compare Match auf 
High.

von S. L. (sldt)


Lesenswert?

Dann verstehe ich die Frage nicht - 'clear' heißt ausschalten, 'set' 
heißt einschalten.

Also davon ausgehend, dass der Modus 3, 'Fast PWM' mit TOP=0xFF, gemeint 
ist.

von Veit D. (devil-elec)


Lesenswert?

Bernd B. schrieb:
> Es geht um des Fast PWM Mode und den zusätliche Modus
> Clear OC0A on compare match, set OC0A at BOTTOM,
> (non-inverting mode). Beide Modi werden gesetzt.

Das sind nicht 2 Modi. Das ist ein Modi. Das ist das Verhalten was ich 
beschrieben habe. Mit "set at Bottom" ist gemeint wenn der Timer-Counter 
0 erreicht hat. Der Timer-Counter zählt hoch und fällt wieder runter auf 
0. Bottom.

Clear on Compare Match ist das was man sich so allgemein von PWM 
vorstellt. Erste Phase der Periodendauer ist High und bei Compare Match, 
also Ende der eingestellten Duty-Dauer wechselt das Signal für den Rest 
der Periodendauer auf Low. Danach wiederholt sich der Spass.

von Wastl (hartundweichware)


Lesenswert?

Veit D. schrieb:
> Das ist ein Modi.

Nein! Das ist ein Modus.

von Axel S. (a-za-z0-9)


Lesenswert?

Veit D. schrieb:
> Clear on Compare Match ist das was man sich so allgemein von PWM
> vorstellt. Erste Phase der Periodendauer ist High und bei Compare Match,
> also Ende der eingestellten Duty-Dauer wechselt das Signal für den Rest
> der Periodendauer auf Low

Ähh. Nein. Nicht unbedingt.

"Clear on Compare Match" bezieht sich auf den Timer selber. Wenn der 
Compare-Wert erreicht ist, wird der Timer zurückgesetzt (cleared). Diese 
Option hat man auch im Fast PWM Mode. Es gibt deren nämlich 2: Modus 3 
und 7. Das ist nicht eindeutig.

Es gibt aber auch noch den "Compare Output Mode". Da steht aber 
(genauer) "Clear OC2A on Compare Match" und der Satz geht noch weiter 
"set OC2A at BOTTOM". Ich weiß nicht, was der TO daran nicht versteht.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

ne, dass passt nicht.

Compare Match ist, wenn der eingestellte Duty Wert vom Timer Counter 
erreicht ist. Also wenn Timer Counter den Wert im Compare Register 
erreicht hat.
Der Timer Counter wird erst zurückgesetzt wenn der TOP Wert erreicht 
wurde.

TOP ist je nach Modi fest auf 255 oder mittels OCR2A einstellbar. Das 
wäre die Periodendauer. Für Compare ist OCR2B verfügbar. Die User Duty 
Einstellung.

von Axel S. (a-za-z0-9)


Lesenswert?

Veit D. schrieb:

> ne, dass passt nicht.
>
> Compare Match ist, wenn der eingestellte Duty Wert vom Timer Counter
> erreicht ist. Also wenn Timer Counter den Wert im Compare Register
> erreicht hat.
> Der Timer Counter wird erst zurückgesetzt wenn der TOP Wert erreicht
> wurde.

Und der Wert steht in einem Compare Register und wird mit dem TCNT 
Register verglichen. Deswegen wird ja auch einer der Modi (hier 
Mehrzahl!) CTC-Modus genannt. Clear Timer (On) Compare (Match).

Das Problem ist diese Formulierung des TO:
>> Ich verwende den Modus Clear on Match

Und so heißt keiner der Modi. Zumindest nicht in meinem Datenblatt. Da 
steht: "Clear OC2A on Compare Match set OC2A at BOTTOM". Trotzdem fragt 
er
>> über das Einschalten finde ich irgendnwie nichts

obwohl es da schwarz auf weiß steht. Genauso steht es übrigens im 
Screenshot des ersten(!) Antwortposts.

Da aber sowohl das Wort "mode" als auch die Phrase "clear on compare 
match" in verschiedenen Kontexten auftaucht, ist nicht klar was der TO 
damit im Einzelnen meint.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

Warum redet ihr denn vom CTC Mode?
Für mich ist das Glasklar. Der TO meint Fast PWM mit Timer 2. Welcher 
Fast PWM Mode genau ist für diese Betrachtung und Erklärung egal. 
Tabelle 18.3 beschreibt was bei Compare Match passieren soll. Alles 
andere ergibt sich daraus automatisch wie und wann sich das Signal 
ändert.

von S. L. (sldt)


Lesenswert?

> Der TO meint Fast PWM mit Timer 2. Welcher Fast PWM Mode genau
> ist für diese Betrachtung und Erklärung egal.

Bis auf die kleine Einschränkung, dass der von Bernd Bernd gewünschte 
Ausgang OC2A im Modus 7, 'Fast PWM mit TOP=OCRA', eben nicht brauchbar 
ist.

von Georg M. (g_m)


Angehängte Dateien:

Lesenswert?

Bei aktuellen AVR-Mikrocontrollern gibt es diese Verwirrung nicht mehr, 
und der Ausgang (aber auch der Eingang) kann einfach auf "invertierend" 
umgeschaltet werden.

von Veit D. (devil-elec)


Lesenswert?

S. L. schrieb:
>> Der TO meint Fast PWM mit Timer 2. Welcher Fast PWM Mode genau
>> ist für diese Betrachtung und Erklärung egal.
>
> Bis auf die kleine Einschränkung, dass der von Bernd Bernd gewünschte
> Ausgang OC2A im Modus 7, 'Fast PWM mit TOP=OCRA', eben nicht brauchbar
> ist.

Moin,

ja das stimmt in der Detailbetrachtung. Wenn der TO auf Pin "OC2A" 
festgenagelt ist, dann kann er nur Mode 3 mit fester TOP Einstellung.

von Frank O. (frank_o)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.