Hallo ich komme nicht drauf wie man Prescalar bestimmt(Timer 16 Bit; Frequenz 2000HZ; N/fclk= 1 mikroSekunde; Fast PWM). Ich wäre sehr dankbar wenn mir Jemand dabei helfen könnte :) Danke
Gast
#5487363
Lea D. schrieb: > ich komme nicht drauf wie man Prescalar bestimmt Du kommst darau wen du intensiv das Datenblatt (den Abschnitt zu den Timern) liest und verstehst. Prescalar wird Prescaler geschrieben.
Gast
#5487415
Hallo,
je nach Timer gibt es Nebenbedingungen, z.B. den max. Zählwert.
Z.B. 2^8 = 256 oder 2^16 = 65536
Dann gibt es unterschiedliche Prescaler (Vorteiler), z.B. Elemete aus
dieser Menge: {0,1,8,64,256,1024}
Die Auswahlbedingung kann man in eine Formel schreiben:1 | |
Z.B.: es sei gegen: MAX_TIMER_COUNTER = 2⁸ ; ist Abhängig vom Timer und Timermodus! F_CPU = 1*10⁶ Hz DEST_FREQUENCY = 2*10³ Hz Prescaler = 8 Dann fragt man sich, gilt:
1 | |
2 | |
Und berechnet noch den Fehler aus, wir rechnen hier mit Ganzenzahlen aus |N. Der Bruch 500/ 8 = 62,5 und kann also 62 oder 63 als Prescaler wählen. Also teste man noch andere Prescaler auf geringe Fehler aus. Mit Prescaler = 256 folgt:
1 | |
2 | |
Der Bruch 500/ 256 ~ 1,9531 Mit (Auf-)Runden (long)(1.0* 500/ 256 +0.5) = 2 kommt man zu einem besseren Ergebnis.
Gast
#5487520
Einen Prescaler benötigt man, wenn das gewünschte Teilerverhältnis größer ist als es der Timer alleine schafft. Hier gilt 1 MHz / 2 kHz = 500, ein 16-bit-Timer erreicht bis zu 2^16 = 65536, also ist kein Prescaler nötig, bzw. er wird auf 1 gesetzt.
Vielen Vielen dank für die Antwort :) Das hat mein Problem gelöst Grüße Lea
@Auf Gemerkt du erinnerst mich an meinen Professor :D! chill mal .. das war nur ein Tippfehler ;)
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.