SAM7S64 PWM Hardware Bug?

Gast #553117
Lesenswert?

Hallo,

ich bastele an einem digital geregelten Schaltnetzteil.

in Kuerze ist das Program so aufgenaut:

PWM interrupt->ADC->PID->PWM Duty update->PWM interrupt exit

Ich habe aber ein Problem, mit dem ich nicht weiter weiss.

Wenn ich Duty Cycle auf fast 0% oder 100% setze, flippt die Polarität 
des PWMs. D.h. bei D=70% habe ich am Ausgang 70% der Periode HIGH und 
30% LOW. Bei D=90% aber 90% LOW und 10% HIGH.

Passiert nicht immer aber fast immer. Errata habe ich angeschaut, die 
haben mir nichts geholfen.

Ich benutze CrossStudio, das Project ist im Anhang.  PWM Channel 1 und 
ADC Channel 6 werden benutzt.

Koennte vielleicht jemand  das Programm anschauen und/oder auf eigenes 
Board Flashen?

Wenn am Board nichts angeschlossen ist, d.h. 0V am ADC6, wird Duty cycle 
am Pin1(PWM1) auf fast 100% gestellt. Das bestätigt auch Debugger durch 
einen korrekten Resisterwert, aber am Oszi erscheint fast 0%.

Wie gesagt, passiert nicht immer aber fast immer, besonders wenn man das 
Board vom Strom trennt und wieder anschließt.

Geschrieben habe ich das fuer Olimex Board, das 48MHZ MCK läuft.


Danke im Vorraus
Angehängte Dateien:

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