Hallo, was ist den der Unterschied zwischen Hardware PWM und Software PWM ? Bzw. braucht man beim Hardware PWM keinen Timer mehr? Wenn ich in BASCOM die Funktion SERVO verwende, verwende ich dann Hardware PWM oder Software PWM??? Wie viele Hardware PWMs hat der ATMEGA 8 bzw. 32 ? Ich wäre für eine Antwort sehr dankbar! lg
Hardware PWM ist anders implementiert als Software PWM. Bei HW konfigurierst du einfach die Frequenz und gibst den Duty Cycle an. Bei SW musst du dich um das gesamte Timing selbst kümmern. HW benutzt einen eigenen oder reservierten Timer. Sorry, mit ATMEGA kenne ich mich nicht aus. virtuPIC /ggadgets for tools & toys
Viel einfacher. Bei Software-PWM läuft ein Programm, das den entsprechenden I/O-Port zur rechten Zeit auf den richtigen Pegel zieht. Timing ist Sache der Software. Bei Hardware-PWM wird einem internen PWM-Schaltkreis nur noch der nötige Satz Parameter eingegeben, den Rest macht der Schaltkreis.
Olaf Stieleke wrote: > Bei Software-PWM läuft ein Programm, das den entsprechenden I/O-Port zur > rechten Zeit auf den richtigen Pegel zieht. Timing ist Sache der > Software. Damit verbunden sicher auch ein gewisser Jitter, vor allem wenn noch irgendwelche Interrupts im Spiel sind.
aber beim HW PWM hab ich keine software timer der im bestimmten intervall in eine routine springt oder? kann das der atmega32?
avr user wrote: > Hallo, > > was ist den der Unterschied zwischen Hardware PWM und Software PWM ? > Bzw. braucht man beim Hardware PWM keinen Timer mehr? Doch, gerade da braucht man den Timer, aber eben sonst nichts. Hardware-PWM bedeutet, dass ein Timer, der die dafür nötige Zusatzhardware besitzt (eine Compare-Einheit) das PWM-Signal komplett autark erzeugt, ohne dass die Software eingreifen muss. Die Software muss nur den Timer initialisieren und die Parameter gegebenenfalls aktualisieren, den Rest macht die Hardware (daher der Name)... > Wenn ich in BASCOM die Funktion SERVO verwende, verwende ich dann > Hardware PWM oder Software PWM??? Das muss die BASCOM-Dokumentation hergeben. > Wie viele Hardware PWMs hat der ATMEGA 8 bzw. 32 ? Steht im Datenblatt... @ Thomas Bremer (Firma Druckerei Beste) (virtupic): Würdest Du vielleicht endlich mal dieses bekloppte > Airspace V - international hangar flying! > http://www.airspace-v.com/ggadgets for tools & toys unterlassen? Das ist hier im Forum bekanntermaßen nicht erwünscht und es nervt gewaltig!
avr user wrote: > aber beim HW PWM hab ich keine software timer der im bestimmten > intervall in eine routine springt oder? > kann das der atmega32? Was bitteschön ist ein Software-Timer ? Timer sind Hardware ... Normalerweise wird eine Soft-PWM dann eingesetzt, wenn die Hardware-PWM-Ausgänge des µC nicht ausreichen. Dann wird eben nicht direkt vom Timer (ohne Beteiligung der Software) ein Pin umgeschaltet, sondern es wird zum entsprechenden Zeitpunkt (z.B. per Interrupt) das Umschalten der Pins im Programm erledigt. Der verwendete Timer ist i.d.R. in beiden Fällen der selbe. Nur wird eben in einem Fall alles per Hardware gemacht (inklusive Setzen bzw. Löschen der Portpins) und im anderen Fall muss eben die Software eingreifen.
avr user wrote: > aber beim HW PWM hab ich keine software timer der im bestimmten > intervall in eine routine springt oder? Das widerspricht sich. Eine Hardware PWM wird nun mal mit einem Hardware Timer erzeugt. Und der ist, wie der Name schon sagt, nun mal kein Software Timer. Allerdings kannst du dich selbstverständlich mit Interrupt Handlern an den Hardware Timer anhängen. Da gibt es keinen Unterschied. Timer ist Timer. PWM bedeutet ja in diesem Zusammenhang nur, dass der Timer neben seiner üblichen Zählerei auch noch einen Hardware-Ausgang bedient. > kann das der atmega32? Ich formuliere es mal freundlich: Wie wäre es, wenn du dir bei Atmel mal das Datenblatt besorgst. Da gibt es einen grossen Abschnitt darüber, was der Timer kann und wie man das ganze konfiguriert. Auch wenn dir BASCOM eine Menge Arbeit abnehmen kann, ist das Studium des Datenblattes noch immer eine wichtige Wissensquelle.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.