Guten Nachmittag, ich möchte einen Tiny45 als PWM-Erzeuger laufen lassen. Da die Hardware-PWM eingebaut ist würde ich die gerne nutzen. Ich habe mich schon im Datenblatt und im Web informiert, eine Angabe suche ich allerdings vergeblich: In welchem Register stelle ich die Auflösung des Timers im PWM-Modus ein? Oder stellt sich der je nach Prescaler und CPU-Takt automatisch ein? Wenn ja, wo kann ich das nachlesen? Für ein wenig Starthilfe wäre ich dankbar. Grüße
Hallo, was verstehst Du unter "PWM-Auflösung" deine Frage ? Es gibt eine PWM-Frequenz, diese ist im Datenblatt durch eine Formel herleitbar. Also in etwas abhängih bon TIMER-Taktfrequenz, Timervorteiler und max. Timerzähler.
Damit meine ich, ob die PWM als 8, 9 oder 10-bit-PWM läuft. Das bedingt ja auch den max. Timerzähler. Aber wie komme ich an den dran? Die Formel habe ich gefunden.
Ach ja es gibt zwei unterschiedliche TimerN im attiny45. a) 8-bit Timer/Counter0 mit PWM Mode Dann noch verschiedene PWM Modi: Siehe 11.7 Modes of Operation und unter Table 11-5. Waveform Generation Mode Bit Description finden wir eine Aufstellung. Mode: 1, 3, 5 und 7 b) 8-bit Timer/Counter1 mit PWM Mode hier ist es etwas anders: TCCR1 – Timer/Counter1 Control Register TCCR1.PWM1A = 1 *PWM1A: Pulse Width Modulator A Enable* When set (one) this bit enables PWM mode based on comparator OCR1A in Timer/Counter1 and the counter value is reset to $00 in the CPU clock cycle after a compare match with OCR1C register value. GTCCR – General Timer/Counter1 Control Register GTCCR.PWM1B = 1 *PWM1B: Pulse Width Modulator B Enable* When set (one) this bit enables PWM mode based on comparator OCR1B in Timer/Counter1 and the counter value is reset to $00 in the CPU clock cycle after a compare match with OCR1C register value. Welchen Timer in welchem Mod möchtest Du betrachten ?
praktikant schrieb: > Damit meine ich, ob die PWM als 8, 9 oder 10-bit-PWM läuft. > Das bedingt ja auch den max. Timerzähler. Aber wie komme ich an den > dran? > > Die Formel habe ich gefunden. Also beide sind nur 8 bit Zähler, da kann man nichts machen und hätte man selbst aus dem Datenblatt lesen können.
praktikant schrieb: > In welchem Register stelle ich die > Auflösung des Timers im PWM-Modus ein? Für Timer0 Im TCCR0A und TCCR0B wird der PWM Modus und die Frequenz eingestellt In OCR0A und/oder OCR0B wird das Tastverhältnis eingestellt. > Wenn ja, wo kann ich das nachlesen? Im Datenblatt 2586Q–AVR–08/2013 Kapitel 11. 8-bit Timer/Counter0 with PWM
Mir geht es um Timer 1 im PWM-Mode. 8 bit ist mir ganz recht. Die Register zum Timer1 habe ich bereits abgegrast, ich habe nur die Information, dass der Tiny45 nur 8 bit kann, nicht gefunden. Danke für deine Hilfe, mal sehen, ob ich damit weiterkomme.
praktikant schrieb: > Mir geht es um Timer 1 im PWM-Mode. > 8 bit ist mir ganz recht. > Die Register zum Timer1 habe ich bereits abgegrast, ich habe nur die > Information, dass der Tiny45 nur 8 bit kann, nicht gefunden. > > Danke für deine Hilfe, mal sehen, ob ich damit weiterkomme. Sehr eigenartig, was hast Du den als Referenz ? S.83ff 12. 8-bit Timer/Counter1 S.84 Figure 12-2. Timer/Counter 1 Synchronization Register Block Diagram. Oder S.85 Figure 12-3. Timer/Counter1 Block Diagram Da sieht man nur 8 Bit Register! Ich finde die Angaben doch eindeutig. Als wo steht denn etwas anderes ?
Karl M. schrieb: > was verstehst Du unter "PWM-Auflösung" deine Frage ? Bitte antworte noch, dann können wir dir auch eine Beispiel stricken.
Karl M. schrieb: > Hallo, > > was verstehst Du unter "PWM-Auflösung" deine Frage ? praktikant schrieb: > Damit meine ich, ob die PWM als 8, 9 oder 10-bit-PWM läuft. > Das bedingt ja auch den max. Timerzähler. Aber wie komme ich an den > dran? Karl M. schrieb: > Karl M. schrieb: >> was verstehst Du unter "PWM-Auflösung" deine Frage ? > > Bitte antworte noch, dann können wir dir auch eine Beispiel stricken. Bitte nicht und möge der thread in Frieden ruhen.
Karl M. schrieb: > Sehr eigenartig, was hast Du den als Referenz ? > > S.83ff 12. 8-bit Timer/Counter1 > > S.84 Figure 12-2. Timer/Counter 1 Synchronization Register Block > Diagram. > Oder > S.85 Figure 12-3. Timer/Counter1 Block Diagram > Da sieht man nur 8 Bit Register! > > Ich finde die Angaben doch eindeutig. > > Als wo steht denn etwas anderes ? http://www.atmel.com/images/atmel-2586-avr-8-bit-microcontroller-attiny25-attiny45-attiny85_datasheet.pdf Gut, dass man das Nichtfinden von anderen Registern als 8-bit-Registern so interpretieren muss, dass 8-bit der einzig mögliche Wert ist... okay... man lernt nie aus.
praktikant schrieb: > Gut, dass man das Nichtfinden von anderen Registern als 8-bit-Registern > so interpretieren muss, dass 8-bit der einzig mögliche Wert ist... In dem von dir verlinkten Datenblatt steht auf der 1. Seite: • Peripheral Features – 8-bit Timer/Counter with Prescaler and Two PWM Channels – 8-bit High Speed Timer/Counter with Separate Prescaler Was willst du denn noch? Ein Datenblatt, das sich automatisch vorliest?
Mein grosses V. schrieb: > praktikant schrieb: >> Gut, dass man das Nichtfinden von anderen Registern als 8-bit-Registern >> so interpretieren muss, dass 8-bit der einzig mögliche Wert ist... > > In dem von dir verlinkten Datenblatt steht auf der 1. Seite: > > • Peripheral Features > – 8-bit Timer/Counter with Prescaler and Two PWM Channels > – 8-bit High Speed Timer/Counter with Separate Prescaler > > Was willst du denn noch? Ein Datenblatt, das sich automatisch vorliest? Es sollte alles aufgelistet sein was der µC nicht kann.
praktikant, spannender ist doch nun die Frage, ob die gesuchten Informationen nun vorhanden sind und das Verständnis des attiny45 etwas gefördert wurde.
Ja, durchaus. Soweit denke ich sollte ich eine PWM ans Laufen bekommen.
praktikant schrieb: > Ja, durchaus. > Soweit denke ich sollte ich eine PWM ans Laufen bekommen. Super viel Erfolg !
Yogi schrieb: > Es sollte alles aufgelistet sein was der µC nicht kann. Das ist doch Quatsch und zeigt, dass du die Gesetze der Logik nicht verstehst. Die besagen nämlich: Dann würden sämtliche Datenblätter unendlich lang sein müssen. Was unmittelbar dazu führen würde, dass sie weder geschrieben noch gelesen werden könnten. Da gefällt mir die gegenwärtige Situation (wo dokumentiert wird, was das Ding mindestens kann) doch sehr viel besser. Schließlich können dann alle, die zumindest Lesen können, alle Features nutzen, die das Ding sicher kann und die der Hersteller getestet hat. Und das in endlicher Zeit. Sowohl was das Verfassen des DBs betrifft, als auch die Lektüre desselben. Und alle, die obendrein auch noch mit einer gewissen Mindest-Eigenintelligenz begabt sind, können die eine oder andere Anwendung realisieren, deren Voraussetzungen zwar nicht unmittelbar im DB dokumentiert sind, die sich aber aus übergreifenden Vorstellungen von der Funktion der darin beschriebenen Technik als möglich darstellen.
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.