PWM mit 125kHz mit Tiny13

Gast #160310
Hallo,

ich hab jetzt schon einiges im Forum nachgeschlagen komme aber nicht so
recht weiter.

Kann ich mit einem Tiny13 bei 4MHz Takt eine Hardwaremäßig ohne
irgendwelche Interrupts FastPWM mit 125kHz erzeugen?

Wenn nein geht dann folgender Gedanke Softwaremäßig.
1. Timer Interrupt alle 32 Takte und Pin auf 0
2. In der Main-Schleife Timer-Zähler mit Wert (zwischen 0 und 32)
vergleichen bei Gleichstand Pin auf 1

Gruß Jörg
Gast #160311
Im Datenblatt des Tiny13 habe ich auf die Schnelle nix zum Thema
Fast-PWM gefunden (jedenfalls nix, was auf Erhöhung des Timertaktes
mittels PLL hinweist).
Der Tiny15 bietet aber Fast-PWM in Hardware (Timertakt wird per PLL
hochgeschraubt).

Die Software-Version mit Timer lässt sich ja ausrechnen:

Tiny13 mit 9,6MHz internem RC-Oszillator:
Bei 9,6MHz Takt und Int alle 32 Takte ergibt sich 300kHz Timertakt.
Bei Zählumfang 32 ergibt sich 9,375kHz PWM-Frequenz.

...
Gast #160312
Ich glaube ich hab's. Zumindest im AVR-Studio sieht es gut aus.

;**********************************************************
start:
; FastPWM einstellen
; Lösche OC0B bei Compare Match und setze OC0B by TOP
ldi  tmp, (1<<COM0B1)|(1<<WGM00)|(1<<WGM01)
out  TCCR0A, tmp

; Kein Vorteiler und TOP = OCR0A
ldi  tmp, (1<<CS00)|(1<<WGM02)
out  TCCR0B, tmp

; OCR0A setzen für TOP 4MHz/32 125kHz PMW an OC0B
ldi  tmp, 0x1F
out  OCR0A, tmp

; OCR0B mit Vergleichswert laden
ldi  tmp, 0x4
out  OCR0B, tmp

; Port B als Ausgang definieren
ser  tmp
out  DDRB, tmp

loop:
rjmp  loop
;**********************************************************

Läuft die PWM komplett in Hardware?
Oder wird diese durch den normalen Programmablauf oder durch Interrupts
gestört?

Wie schließe ich denn einen Quarz an den Tiny13 an. Bei den anderen
gibt es XTAL1/2 aber hier nur einen Eingang CLKI?

Gruß Jörg

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 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.