Allgemeine Frage zu Timern

OP #3450398
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
#3450403
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.
#3450404
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren