Gast
#3393113
Hallo Forum, ich habe gerade einen Knoten im Gehirn... Wie schon geschrieben, möchte ich einen 16 bit Timer auf einem AT90CANxxx @ 16MHz im Mode 15 (OCRnA als TOP) sowohl für PWM (OCnB und OCnC) als auch für den Input Capture an ICPn nutzen. Dabei soll meine PWM Frequenz einstellbar sein (ca. 100 bis 400 Hz). Das bedeutet unter Umständen verschiedene Prescaler und auf jeden Fall unterschiedliche TOP Werte. Das wirkt sich dann ja auch auf den Input Capture aus. Mein gewünschter Duty Cycle kommt aus dem Programm als normierter Wert zwischen 0 und 1000 (=100,0%) und wird dann so umgerechnet:
1 | |
Das heißt mir reicht prinzipiell ein TOP von 1000 aus. Aber was ist jetzt für den Input Capture zu bevorzugen? Ich möchte von 1 Hz bis ca. 7kHz messen können. Die Frequenzauflösung hängt dann doch nur vom Prescaler ab, oder? Also brauche ich einen niedriger Prescaler um möglichst kleine Zeitschritte zu erhalten, richtig? Das heißt dann aber auch viele Interrupts... Wie sieht es mit dem TOP Wert aus? Wenn der zu klein ist, dann bekomme ich viele Overflows, die ich dann bei niedrigen Frequenzen am Input Capture alle zählen muss und bekomme evtl. dann wegen der großen Zahlen auch Überläufe in nachfolgenden Berechnungen. Also irgendwie muss ich da einen Kompromiss eingehen. Mir ist aber gerade nicht klar, was mein Ziel sein sollte. Kleiner Prescaler und großes TOP?