Prescaler-Grenzen beim STM-Board

Gast #5800367
Lesenswert?

Hallo, gibt es beim STM32F4- Board etwas was dagegen spricht, den 
Prescaler eines Timers (externer Quarz aktiviert, Versorgung des Timers 
84 MHz) so auszulegen, dass die einzelnen Zählschritte im 
Nano-Sekundenbereich erfolgen. Also z.B. bei 10 ns müsste ich dann ja 
für den Prescaler 8.4 eintragen (bzw. 7.4).. ist das überhaupt schon 
möglich? Wenn ich dann einen Schritt von 1 ns haben wolle, hätte ich 
nach der Abzugsregel von 1 ja dann schon einen negativen 
Prescaler-Wert...

Mein Problem ist, dass ich eine One-Pulse-PWM habe, die einen möglichst 
geringen Delay haben soll. Also höchstens 10 ns wäre schon ganz gut, 
wobei der Puls selbst eine Länge von 10 Mikrosekunden hat. Das 
16-Bit-Register des ARR ist somit jedenfalls noch nicht ausgeschöpft
Gast #5800377
Lesenswert?

Verrate mir doch mal, wie du Fließkommazahlen in ein Integer-Register 
schreiben willst.

Eine Nanosekunde entspricht einer Taktfrequenz von 1GHz!

Die Timer unterstützen teilweise maximal 45MHz und teilweise maximal 
90MHz.

Falls du noch Frage hast, teile uns mit, um welches Board es geht. Denn 
es gibt viele STM32F4 Modelle.
Gast #5800380
Lesenswert?

also wäre das minimal mögliche tatsächlich ein Zählschritt von 1 
Mikrosekunde, sehe ich das richtig?

nun ja, für die Anwendnung reicht es noch, aber wollte den Delay eben so 
gering wie möglich halten, so beträgt er 1/10 der Pulslänge
Gast #5801251
Lesenswert?

>>Bei 90Mhz Taktfrequenz wäre der kleinste Zählschritt 1s/90.000.000, also
>>knapp über 0,1µs.

nö, 1/84MHz sind ca. 11,9ns, also 0,0119µs

>>Also höchstens 10 ns wäre schon ganz gut,
>> wobei der Puls selbst eine Länge von 10 Mikrosekunden hat.

geht doch.
Pescaller auf 0,
CNT auf 840
Countdown starten
bei Nulldurchgang stopp.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren