nochmal PWM erzeugung

OP #1214857
Für die Erzeugung eines PWM Sigmals gibt es ja beim AVR mehrere 
Möglichkeiten
Der Phase Correct PWM Mode...
...wobei hier der Zähler immer wieder von 0 nach MAX und dann von MAX 
nach 0 zählt.

Im noninverting Compare Output mode, wird beim heraufzählen der Output 
Compare (OC) gelöscht, und beim herunterzählen wird Output Compare 
gesetzt. Ausschlaggebend ist der Vergleich (Compare-Match) zwischen 
TCNTn-Register (hier ist der aktuelle Zählerstand der Timers)  und 
OCRn-Register (hier kommt der PWM-Wert rein).

Im inverting Compare Output-Modus, wird der Vorgang umgekehrt, also beim 
heraufzählen wird das Output Compare (OC) bei Übereinstimmung von 
TCNTn-Register und OCRn-Register (Compare-Match) gesetzt und beim 
herunterzählen (beim Compare-Match) gelöscht.


...und der Fast PWM Mode

Hierbei zählt der Timer immer von Null an aufwärts, bis der Maximalwert 
erreicht ist. Danach fängt er wieder von vorne bei Null an.
Den gewünschten  PWM-Ausgangswert lege ich wieder im OCRn-Register ab.
Beim Compare-Match wird wieder der OC je nach Einstellung gelöscht oder 
gesetzt.

Welche Betriebsart nehme ich jetzt für die Erzeugung einer Wave am 
entsprechendem Ausgang.
Persönliche Seite
Du hast das Prinzip schon richtig verstanden, aber deine Frage macht 
keinen Sinn.

Es kommt auf den Anwendungszweck an, denn der Phase Correct mode 
erzeugte (wie der Name halt sagt) IMMER ein Phasenkorrektes Signal, 
AUCH, wenn man den PWM Wert ändert, ändert sich nicht der Phasenwinkel 
und somit ist die Frequenz dauerhaft konstant.

Beim Fast Mode hast du halt eine höhere Ausgangsfrequenz, aber bei jeder 
PWM Änderung hat man unter Umständen eine Periodendauer lang eine andere 
Frequenz am Ausgang oder sogar starke glitches/spikes.

Ich finde das im Datenblatt eigentlich recht gut erklärt. Muss man halt 
auch mal das Gehirn anschalten und darüber nachdenken ;)

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.