www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATMega88, Takt 134kHz erzeugen - starker Jitter!


Autor: Mandi Nice (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallöchen

Ich möchte mit einem ATMega88 einen konstanten Takt mit 134kHz am 
Ausgang OCR1A erzeugen.
Dazu verwende ich den Timer1 im Fast PWM-Mode mit ICR1 als TOP ( mode 14 
).
Als Quarz kommt einer mit 20 MHz zum Einsatz.
OCR1A wird auf den halben Wert von ICR1 gesetzt.

Es funktioniert auch soweit. Aber leider habe ich auf dem Takt einen 
starken Jitter.
Am beiliegenden Oszibild kann man erkennen, dass ich bereits 10 Takte 
nach den Trigger einen Jitter von 50% habe !!
Der Quarz liefert aber laut Oszi konstant 20.00 MHz.

Ich programmiere mit Bascom und der uC steckt auf einem STK500
( Ich setzte die Konfiguration des Timer händisch, da Bascom den 
benötigten Modus nicht unterstützt )

Konfiguration :
====================
   Ocr1ah = 0
   Ocr1al = 68

   Icr1h = 0
   Icr1l = 136

   Tccr1a = &HF2
   Tccr1b = &H19
   Tccr1c = &H00



Der Timer 1 ist ja in Hardware ausgeführt. Warum habe ich dann auf dem 
Takt so einen starken Jitter ????


hmg
Mandi

Autor: Michael U. (amiga)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

irgendjemand erklärt mir irgendwann mal, warum jeder zum Erzeugen eines 
TAKTES den PWM-Mode benutzt...

Atmel hat doch den CTC-Mode extra für sowas eingebaut.

Sorry, aber ist mir einfach schon zu oft aufgefallen, daß PWM irgendwie 
eine Funktion für alles zu sein scheint.

Versuche es mal im CTC-Mode, geht aber wohl nicht genau auf, 20MHz ist 
durch 134kHz nicht ohne Rest teilbar.

Gruß aus Berlin
Michael

Autor: Mandi Nice (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallöchen

Nehme nicht den CTC weil der duty cycle nicht bei 50% ist.

Ist der CTC_Modus vom Jitter besser als ein PWM-Modus ?

hmg
Mandi

Autor: Bensch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Äh, sieht nach einem typischen Beispiel aus für "Wer viel misst, misst 
viel Mist"....

Trigger doch mal auf den unteren Kanal. Und wieso schlabbert der Takt 
oben im rechten Bereich?

Autor: Jadeclaw Dinosaur (jadeclaw)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Mandi: CTC und keine 50% Duty Cycle?
Der zum Timer gehörende OC-Ausgang wird bei jedem Erreichen des 
Vergleichswertes invertiert. Das ist wie ein nachgeschaltetes FlipFlop. 
Wenn du den Vergleichswert nicht änderst, sollten exakt 50% 
herauskommen. Meine ATMega48 machen das jedenfalls so.

Gruß
Jadeclaw

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bensch wrote:
> Trigger doch mal auf den unteren Kanal. Und wieso schlabbert der Takt
> oben im rechten Bereich?

Der untere Kanal ist eine Vergrößerung des oberen rechten Bereichs.

@ Mandi Nice

Wie sieht denn das Signal aus, wenn Du die Zeit kleiner einstellst und 
nicht vergrößerst?

Autor: Mandi Nice (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallöchen

So wie es aussieht verträgt das STK500 keine 20 MHz.
Auf einen anderen kleinen Board hat es funktioniniert.

Danke für Eure Hilfe.

hmg
Mandu

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.