Forum: Mikrocontroller und Digitale Elektronik Allgemeine Frage zu Timern


von Nicolai B. (crazymetal)


Lesenswert?

Hallo zusammen,
ich habe zwei Fragen um meine Verwirrung (ausgelöst durch ein 
Youtube-Video) bezüglich Timer/Counter loszuwerden.

1. Frage
In diesen Video 
(http://www.youtube.com/watch?v=Tj6xGtwOlB4&list=PLE72E4CFE73BD1DE1&index=15 
ab ca. Min. 30:30) wird gesagt, das der Prescaler eine bestimmte Größe 
nicht unterschreiten darf.
Das Beispiel war eine CPU-Frequenz von 1MHz und die Verwendung eines 
16-Bit-Timers. Die Berechung sagte 1000000/65535=15,3 somit sollte der 
Prescaler nicht kleiner als 15,3 sein.
Ist das so und wenn ja weshalb und was passiert wenn der Prescaler 
kleiner ist?
Oder gilt bei einem Prescale von 8 und einer CPU-Frequenz von 16MHz 
würde der Timer mit 2MHz laufen?

2. Frage
Wenn ich einen Mikrocontroller (in diesem Fall ein Atmega128) mit einem 
16MHz Quarz anschließe, dann takten auch alle Timer (0-3) mit der 
Frequenz, richtig?

Viele Grüße,
Crazy

von Joe S. (bubblejoe)


Lesenswert?

Nicolai B. schrieb:
> Das Beispiel war eine CPU-Frequenz von 1MHz und die Verwendung eines
> 16-Bit-Timers. Die Berechung sagte 1000000/65535=15,3 somit sollte der
> Prescaler nicht kleiner als 15,3 sein.

So ein Quatsch, Prescaler wählt man anhand der gewünschten Auflösung und 
erwünschten Zeit, die mit dem Timer erzeugt werden soll.

> Wenn ich einen Mikrocontroller (in diesem Fall ein Atmega128) mit einem
> 16MHz Quarz anschließe, dann takten auch alle Timer (0-3) mit der
> Frequenz, richtig?

Ja, falls der Prescaler auf 1 gestellt ist.

von Karl H. (kbuchegg)


Lesenswert?

Nicolai B. schrieb:

> ab ca. Min. 30:30) wird gesagt, das der Prescaler eine bestimmte Größe
> nicht unterschreiten darf.

Das kann man höchstens im Zusammenhang mit dem Beispiel sehen, welches 
an dieser Stelle im Video gerade durchbesprochen wird. Einen allgemeinen 
technischen Grund gibt es dafür nicht. Ein Timer hat bestimmte Prescaler 
und du kannst den nehmen, der für dich am zweckmässigsten ist.

> Oder gilt bei einem Prescale von 8 und einer CPU-Frequenz von 16MHz
> würde der Timer mit 2MHz laufen?

genau so ist das.

> 2. Frage
> Wenn ich einen Mikrocontroller (in diesem Fall ein Atmega128) mit einem
> 16MHz Quarz anschließe, dann takten auch alle Timer (0-3) mit der
> Frequenz, richtig?

richtig.
Das heisst genauer gesagt: du taktest die Eingangsstufe in der der 
Prescaler sitzt mit diesem Takt. Der eigentliche Takt, mit dem dann der 
Timer tatsächlich läuft, ergibt sich dann aus der Kombination aus diesem 
Systemtakt und dem für den Timer eingestellten Prescaler

FAQ: Timer

von Nicolai B. (crazymetal)


Lesenswert?

Prima, dann hatte ich das mit den Timern doch richtig verinnerlicht. Der 
Typ hatte mich mit der Aussage etwas verwirrt ;-)

Danke für die schnellen Antworten.

von Seano L. (Gast)


Lesenswert?

Oberste Regel: Erst ins Datenblatt schauen, das sind die "amtlichen" 
Infos,
auf youtube würde ich zu so einem Thema zuletzt suchen.

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.