Forum: Mikrocontroller und Digitale Elektronik Takt erzeugen mit uC über Timer


von Sven (Gast)


Lesenswert?

Habe an meinen uC einen Quarz angeschlossen und nun möchte ich ein 
weiteres Bauteil mit einem Takt von meinem uC versorgen. Nur wie sieht 
denn so ein Takt genau aus? Mir ist schon klar dass das immer 1-0-1-0 
usw im gewünschten Takt sein wird aber wie lange muss denn die 1 
anliegen oder spielt das gar nicht so ne Rolle da eh auf die Flanken 
geschaut wird?

von Fabian B. (fabs)


Lesenswert?

meist sollte das Tastverhältnis 50:50 sein.
Wenn du einen neueren Atmel uC benutzt schau mal ins Datenblatt, die 
können nämlich ihren Takt an einem weiteren Pin (auch herunter geteilt) 
wieder ausgeben. Dann läuft das alles in Hardware und keine muss sich 
drum kümmern.

Gruß
Fabian

von Sven (Gast)


Lesenswert?

boah, das wäre natürlich geil! :-) habe einen ATmega8, schaue gleich mal 
nach oder weisst du da gerade mehr?

von AVRFan (Gast)


Lesenswert?

Wie hoch soll denn die Taktfrequenz sein? Langsame Takte kannst Du mit 
geringem Aufwand softwaremäßig erzeugen (als Output konfigurierten Pin 
im Interrupthandler toggeln).  Der Vorteil ist eine höhere Flexibilität. 
Bei hohen Taktfrequenzen bist Du auf die hardwaremäßige Erzeugung 
angewiesen.

von Rolf Magnus (Gast)


Lesenswert?

> habe einen ATmega8, schaue gleich mal nach oder weisst du da gerade
> mehr?

Der Atmega8 hat sowas nicht. Die pinkompatiblen Atmega48/88/168 dagegen 
schon. Die können an PB0 den Takt ausgeben.
Beim Atmega8 könntest du z.B. Timer2 im CTC-Modus benutzen, wenn der 
noch frei ist. Damit kannst du in Hardware ein Taktsignal mit 
konfigurierbarer Frequenz (max. die Hälfte des Prozessortaktes) an PB3 
generieren.

von AVRFan (Gast)


Lesenswert?

Mit Timer1 gehts beim ATmega8 auch, z. B. CTC-Modus mit COM1A1=0, 
COM1A0=1 ==> Toggle OC1A (=PB1) on Compare Match.

von Rolf Magnus (Gast)


Lesenswert?

Ja, Timer1 geht auch, aber damit "verschwendet" man einen 16-Bit-Timer 
mit zwei PWM-Ausgängen statt nur einen 8-Bit-Timer mit einem Ausgang.
Deshalb habe ich Timer2 vorgeschlagen.

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.