AT91SAM7S256 Interrupt bei PWMC

OP #1094868
Lesenswert?

Hallo,

ich arbeite mit einem AT91SAM7S256 Evaluation Board und der IAR 
Workbench. Im Anhan ist ein Oszi-Bild zu finden, welches mein Problem 
erläutert.

Im aktuellen Fall habe ich den PWM Channel auf 512 von 1024 Schritten, 
also halb an, halb aus. Der PWM Interrupt ist auf Pegel eingestellt. Man 
sieht ein kleines Gezapel im Signal. Die Interrupt-Routine gibt (unter 
anderem) einen kleinen Peak aus um zu prüfen wann er kommt.

1) Man sieht, dass der Interrupt zweimal kommt.
   Warum? Eventuell von dem Gezapel?

2) Warum überhaupt das Gezapel?
   Am Anfang des High-Pegels klar: Einschwingen.
   aber "vor dem runtergehen"?

3) laut Atmel soll man Pegel keine Flanken-Interrupte beim PWM 
verwenden.
   Wieso?


Eventuell hat jemand etwas ähnlich schon mal gesehen bzw. weis 
Antworten?
Angehängte Dateien:
OP #1095108
Lesenswert?

Manchmal steht man wie ein Ochs vor dem Berg.
Ich habe meine Antworten wieder gelöscht, da ich selbst auf die Lösung 
des Problems gekommen bin:

Aufgrund des PWM-Bugs, dass man nicht auf 0 fahren darf habe ich den 
einen PWM immer auf 2 stehen lassen. Das spuckt mir ordentlich in die 
Suppe, daher das Gezappel. Problem ist das meine Last so wenig 
Induktivität hat, als das Sie über diese Mikrosekunden der 
Stromlosigkeit drüber weg bügelt.


Fragen bleiben trotzdem:
1) kennt jemand eine Alternative zum Umgehen des Bugs AUSSER eben den 
Duty Cycle nicht auf Null zu stellen?

2) Es gibt von Atmel eine App-Note die die PWM-Signal Erzeugung mit dem 
TC erläutert. Kann ich ja prinzipiell auch machen. Gibt es dort 
irgendwelche Nachteile


P.S.: Ich liebe Peripherie-Features an Controllern, die nicht richtig 
funktionieren ;)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren