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


von Mandi Nice (Gast)


Angehängte Dateien:

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

von Michael U. (amiga)


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

von Mandi Nice (Gast)


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

von Bensch (Gast)


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?

von Jadeclaw D. (jadeclaw)


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

von Andreas W. (andreasw) Benutzerseite


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?

von Mandi Nice (Gast)


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

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
Noch kein Account? Hier anmelden.