Mampf F. schrieb:
> Nils H. schrieb:
>> Ich frage mich jetzt jedoch, ob ich die Clock von den Timern schneller
>> laufen kann, als die System CLK. Das geht mir aus der Übersicht nicht
>> ganz hervor.
>
> Nein, schneller ist unmöglich.
So pauschal stimmt das meiner Meinung nach nicht. Bei den F4, stimmt es,
siehe auch die Begründung von Dr. Sommer.
Bei den F3 können die Timer durchaus auch mit doppeltem Systemtakt
laufen, d.h. z.B. die Timer laufen mit 144MHz, während die CPU mit 72MHz
läuft. Welche Timer das können ist unterschiedlich, geht aber immer
direkt aus dem Clocktree hervor. Bei den F303x6/x8/xB/xC sind es nur die
Advanced-Timer, also TIM1 und ggf. TIM8. Bei F303xD/xE können sowohl die
Advanced Timer 1,8 und 20, sowie auch die General Purpose Timer
2,3,4,15,16 und 17 mit jeweils doppeltem Systemtakt laufen.
Damit das möglich ist, muss das entsprechende Bit im RCC_CFGR3 gesetzt
werden, die Taktquelle des Systems muss die PLL sein und ein paar
weitere Einschränkungen gelten, was die APB- und AHB-Clock-Divider
betrifft (die müssen im Prinzip alle minimal, also für maximalen Takt
eingestellt sein). Das steht aber auch in der Beschreibung des RCC_CFGR3
nochmal drin (wenn auch leider etwas unverständlich).
Um die Clock-Config zu verstehen finde ich übrigens CubeMX wirklich sehr
hilfreich. Man kann einzelne Werte verändern und sieht sofort wie sich
das auswirkt und man bekommt auch direkt einen Hinweis, wenn eine
Einstellung so nicht passt. Ob man sich dann daraus auch irgendwelchen
Code generieren lässt ist dann ja jedem selbst überlassen.
Falls dir die 144MHz bei den F303 nicht reichen, gibt es bei den F334
auch noch einen High-Resolution Timer, der durch ein paar Tricksereien
nochmal jeden Taktzyklus in 32 Einzelschritte zerlegt und das Teil somit
eine Auflösung bietet als liefe der Timer mit 4.6 GHz. Allerdings gibt
es da Einschränkungen, weil der eben tatsächlich doch "nur" mit 144MHz
läuft.