Hallo, ich habe einen Atmega644 in Betrieb und schalte mit ihm über einen Timer 15 LED Ausgänge in Software-PWM. Nun sollen zwei Ausgänge für Halogenlampen hinzukommen. Bringt es Vorteile, diese über Hardware PWM laufen zu lassen oder macht es keinen Unterschied mehr, da eh schon ein Software-PWM in Betrieb ist. Ich hätte da auch noch eine andere Frage: Wie verhalten sich zwei Timer, die nebeneinander laufen? Kann ich mir das so vorstellen, dass sie direkt "nebeneinander" laufen können, ohne sich zu beeinflussen oder geht das nur, wenn der eine Timer dann läuft, wenn es der andere nicht macht? Beziehungsweise, wie groß wäre deren verzögernde Beeinflussung? (Hintergrund: Während die Software-PWM gleichmäßig laufen soll, soll eine andere Anwendung mit einer anderen Frequenz ab und zu arbeiten. Wie groß wäre die Beeinflussung auf die PWM?) Gruß, Brian
Die Timer laufen schon nebeneinander ;) ich weis nicht wie oft bei dir der Interrupt ausgelöst wird bei einer Software PWM wird über einen Timer ein Interrupt ausgelöst und dieser wird Abgearbeitet während dessen sind die anderen Interrupts gesperrt. Das heißt wenn der zweite Timer dann einen Interrupt auslöst während der erste noch aktive ist wird er um so viele Befehle verzögert bis der andere Interrupt abgearbeitet wird. Aber glaube das macht nicht so viel aus den die PWM läuft vom Hz bis zum kHz bereich läuft und der µC im MHz bereich also sollte die Beeinflussung minimal sein ;)
Wer programmieren kann, kriegt das ohne gegenseitige Beeinflussung auch in Software hin. Wer es nicht kann, meint halt dafür 17 Hardware-PWM-Kanäle zu benötigen.
@ Brian (Gast) >Bringt es Vorteile, diese über Hardware PWM laufen zu lassen Nein. > oder macht >es keinen Unterschied mehr, da eh schon ein Software-PWM in Betrieb ist. ja. >Wie verhalten sich zwei Timer, die nebeneinander laufen? Laufen parallel. >Kann ich mir das so vorstellen, dass sie direkt "nebeneinander" laufen >können, ohne sich zu beeinflussen Sicher. >oder geht das nur, wenn der eine Timer >dann läuft, wenn es der andere nicht macht? Nö. >Beziehungsweise, wie groß wäre deren verzögernde Beeinflussung? Null. >(Hintergrund: Während die Software-PWM gleichmäßig laufen soll, soll >eine andere Anwendung mit einer anderen Frequenz ab und zu arbeiten. DAS ist was anderes, du willst einen Interrupt mit dem 2. Timer machen. Der spuckt dir dann aber in deine Soft-PWM. Muss man geschickt programmieren, ggf. alles über einen Timer machen. MFG Falk
Richard Treichl schrieb: > also sollte die Beeinflussung minimal sein ;) Sofern Dein Programm richtig läuft. Man beachte aber auch den Störfall wenn alle EIN sind. Ob das Netzteil ausreicht?
Brian schrieb: > Kann ich mir das so vorstellen, dass sie direkt "nebeneinander" laufen > können, ohne sich zu beeinflussen oder geht das nur, wenn der eine Timer > dann läuft, wenn es der andere nicht macht? Ja. Das ist komplett getrennte Hardware. Erst, wenn der gemeinsame Interruptcontroller gebraucht wird, kommen die beiden miteinander in Kontakt. Das ist aber im Datenblatt des uC sicher so eingezeichnet...
Das Netzteil sollte ausreichen. Es ist auf den Worst-Case + Reserve ausgelegt. Gut, dann wird der PWM der letzten zwei Lampen auch in Software realisiert und mit dem zweiten Timer muss ich mal schauen, wie ich diesen Störungsfrei laufen lasse. Vielen Dank! Gruß
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.