sebulli

GPWM

Verbesserte Erzeugung von PWM-Signalen mit geringen niederfrequenten Frequenzanteilen.


gpwm


Die Abkürzung GPWM kommt aus dem Englischen und bedeutet:
Gerd's Pulse-Width Modulation
Ein PWM Signal kann benutzt werden, um die mittlere Spannung zu reduzieren.
Beispiel: Ansteuerung DC Motor. Oder als DAC Ersatz.
Die Auflösung der PWM wird durch den maximalen Takt des PWM Moduls oder bei einer Software-PWM durch die Taskzeit begrenzt. Je feiner die PWM Schrittweite gewählt wird, desto niedriger wird die PWM Frequenz.
Eine Software-PWM mit 1ms Taskzeit und 16 Schritten führt bei 50% PWM zu einer Grundfrequenz von 1kHz/16 = 62.5Hz.

gpwm


Wird damit ein DC Motor angesteuert, führt die geringe Frequenz von 62.5Hz bereits zu Drehzahlschwankungen.
Durch Vertauschen der einzelnen PWM Pulse kann ein Signal mit gleichem Mittelwert erzeugt werden.
Die Grundfrequenz liegt jetzt bei 1000Hz:

gpwm


Eine PWM wird in Hardware und Software ähnlich realisiert: Ein Zähler zählt kontinuierlich von 0 bis n.
Dieser Wert wird mit dem PWM Sollwert verglichen. Ist er gleich oder größer, wird der PWM Ausgang auf 1 gesetzt.

gpwm


Bei der GPWM wird die Bitposition vertauscht. LSB wird zu MSB und umgekehrt. Das bei allen Bits.

gpwm


Somit ergibt sich für eine GPWM mit 25%, 50% und 75% folgender Signalverlauf:

gpwm