|
Prescaler - Berechnung für AVR - Timer
Um einen Timer bei einem AVR so einzurichten, dass er genau in einer bestimmten Frequenz aufgerufen wird, ist es nötig, 4 Voreinstellungen zu treffen. Wichtigste Einstellung ist die Grundfrequenz des AVR, optimalerweise durch einen von extern angelegten Quarz definiert. Zweite Einstellung ist die Entscheidung, ob man einen 8 - oder 16 - Bit - Timer benutzen möchte.
Um nun genau die Periodendauer einstellen zu können, in der der Interrupt aufgerufen werden soll, benötigt man zwei Werte, welche man mit folgendem Tool berechnen kann.
Der sogenannte Prescaler teilt die CPU - Frequenz direkt, ist die Frequenz des Quarzes also z.B. 16 MHz und ein Prescaler von 16 festgelegt, so wird der Interrupt mit 1 MHz ausgeführt. Der Prescaler kann nur einen Wert von 2 hoch x annehmen, wobei x von 0 bis Timergröße (z.B. 16 Bit) geht. Da er nur eine bestimmte Auswahl von Werten annehmen kann, ist die Einstellung einer bestimmten Frequenz jedoch sehr ungenau.
Um dieses Problem zu beheben, gibt es den Preload: Er ist wie der Prescaler nur eine Zahl, bis zu der die CPU intern zählt, bis er zur maximalen Größe des Timerregisters kommt, erst dann wird der Interrupt ausgelöst.
Umso höher diese Zahl liegt, desto schneller wird das Ende der Schleife erreicht und der Interrupt aufgerufen.
In der folgenden Maske sollte kein Komma, sondern ein Punkt eingegeben werden.
|