mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik PWM mit 125kHz mit Tiny13


Autor: Jörg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: ...HanneS... (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

...

Autor: Jörg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.