ATtiny461 Problem mit PWM Takt

OP #970142
Hallo Leute!

Ich bin neu hier und hab gleich mal ne Frage:

Ich möchte am ATtiny461 den PWM Output(Counter1) im "Phase and Frequency 
Correct"-Modus benutzen um eine Frequenz zwischen 45kHz bis 100kHz zu 
erzeugen.
Im Datenblatt ist die Formel f_PWM=f_clk/N wobei N der obere Zählerwert 
ist, zu finden.
Daher hab ich die Frequenz per OSCCAL auf 11,5MHz gestellt, sodass für 
eine gute Abstufung gilt: 11,5MHz/2^8=45kHz.

Ich konfiguriere die PWM wie folgt:
1
OCR1A=period/2;//Tastverhaeltnis 0.5
2
OCR1C=period;
3
TCCR1B=0x01;//Prescaler=1
4
TCCR1D=0x01;//Phase and Frequency correct Mode
5
TCCR1A=0xC2;//Compare Match A, PWM auf OCR1A basierend
CKDIV8 ist 0 und CKOUT ist 1.

Nun setze ich period=100 und müsste eigentlich 11,5MHz/100=115kHz PWM 
Frequenz erhalten. Stattdessen erhalte ich aber exakt die Hälfte, 
nämlich 57,5kHz. Messe ich an CKOUT den Takt, so ist der korrekt bei 
11,5MHz.
Was mache ich da falsch? Ich habe keinen weiteren Prescaler gefunden, 
der irgendwie mit Faktor 2 belegt ist.

Für die genauere Abstufung wäre es mir schon wichtig, dass ich mit 
möglichst hohen Werten im OSR1C Register arbeite.

Danke für Eure Hilfe

Andreas

P.S. Diese Register sind ja alle auch 10-Bit beschreibbar. Das würde mir 
aber nur was bringen, wenn ich den schnelleren PLL Takt nehme, da ich 
dann wieder mit 10 Bit besser auflösen kann, ist das soweit richtig? 
Oder irre ich mich da?
Gast
Da stimmt wohl die Angabe im Datenblatt nicht; der Faktor 2 ist der 
Preis
für diesen Modus - man bekommt nichts geschenkt. Der Zähler läuft bis 
100
hoch und wieder runter, macht 200.

Zum P.S.: ja, wenn Sie die Geschwindigkeit brauchen.
Gast
"The N variable represents the number of steps in dual-slope operation." 
Im wörtlichen Sinne ist das richtig.
"The value of N equals to the TOP value." Das ist falsch.

Etwas weiter oben steht ja: "The dual-slope operation has lower maximum 
operation frequency than single-slope operation." - Voilà
Gast
Wobei ich mich jetzt, in der Rückschau, frage, ob Ihnen single-slope 
nicht reicht; wenn Sie nur OCR1C ändern und OCR1A immer halb so groß 
machen, sollten Sie doch immer auf ein Tastverhältnis von 50% kommen 
unabhängig vom Modus, oder?
Gast
Ja, das Tastverhältnis war ja auch nicht das Problem, lediglich die 
Frequenz.
Habe es jetzt mit einem anderen Modus probiert und funzt einwandfrei.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 18 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.