Ich hab hier ein STM32 Nucleo WB55. Ich möchte mit einem Timer einer Frequenz durchstepen im Bereich von 130kHz. Dabei wollte ich mal Prüfen was die Grundtakt des Timer ist. Bisher bin ich von der SYSCLK als Grundtakt des Timers ausgegangen, leider messe ich am PWM Timer aber was anderes. Was mache ich falsch? Die SYSCLK hab ich auf 64 MHz eingestellt ursprünglich von der HSE versorgt mittlerweile über die HSI um die HSE als Fehlerquelle auszuschließen. So wie das Verstehe müssten 64Mhz beim Timer ankommen. Den Timer hab ich anschließen so eingestellt das er PWM ausgibt. Dabei Prescaler auf 1 Autoreload auf 2 und Pulse auf 1. Ich bin davon ausgegangen das jetzt ein Signal erzeugt wird das um die Hälfte kleiner ist als der Timertakt. Erwartet hätte ich 32MHz, ich bekomme aber nur 10,7 MHz.
Julian M. schrieb: > Den Timer hab ich anschließen so eingestellt das er PWM ausgibt. > Dabei Prescaler auf 1 Autoreload auf 2 und Pulse auf 1. > Ich bin davon ausgegangen das jetzt ein Signal erzeugt wird das um die > Hälfte kleiner ist als der Timertakt. Erwartet hätte ich 32MHz, ich > bekomme aber nur 10,7 MHz. Wenn 2 im Register stehen zählt er bis 3 (0 - 1 - 2 sind 3 Werte). Der Rest ist ein Faktor 2, das wird sich vermutlich im ClockTree finden lassen.
Danke das Hilft doch gleich. Hab jetzt mal Prescaler auf 0 und Autoreload 1 und Pulse 1. Mit den Werten komme ich auf 32Mhz, meinen erwarteten Wert. Wenn ich jetzt Prescaler auf 0. Dabei Autoreload und Pulse langsam steiger habe ich das Problem das sich eine Schrittgröße von ca. 500 Hz einstellt. z.B. ARR=450 Pulse=225 => PWM=142,4kHz ARR=452 Pulse=226=> PWM=141,8kHz => delta PWM =600Hz wünschen würde ich mir aber eher ein Schrittgröße von 100Hz. Kann ich mit PWM eine solche Schrittgröße gar nicht erreichen? Oder kennt jemand eine Alternative Konfigurationsmöglichkeit des Timers mit dem ich das umsetzen könnte? Der STM32WB hat leider keinen DAC.
Julian M. schrieb: > wünschen würde ich mir aber eher ein Schrittgröße von 100Hz. > Kann ich mit PWM eine solche Schrittgröße gar nicht erreichen? Ein Zähler der mit 64MHz zählt macht Perioden die ein Vielfaches von 1/64MHz = 15,625ns sind, und das ergibt bei 142kHz halt eine Differenz von ca. 315Hz. Für höhere Auflösungen gäbs schnellere STMs die teilweise dann Timer mit doppeltem Takt oder überhaupt high-resolution Timer haben, wo man die Periode mit 100ps-Schritten verlängern kann. Was der DAC damit zu tun hat ist mir unklar.
Ein STM32 mit 202 MHz liefert die 100 Hz Auflösung. Dafür reicht ein STM32F7xx oder auch ein übertakteter F407.
Mhhh den WB hab ich mir mit Absicht wegen dem BLE Modul ausgesucht. Wenn der aber hier nicht passt muss ich mir wohl noch den BLE NRG Chip von ST anschauen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.


