Forum: Mikrocontroller und Digitale Elektronik Prescaler-Grenzen beim STM-Board


von johnks (Gast)


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

von Stefan F. (Gast)


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.

von johnks (Gast)


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

von Stefan F. (Gast)


Lesenswert?

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

von John Doe (Gast)


Lesenswert?

Stefanus F. schrieb:
> 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.

Und teilweise 180MHz.

von Gerd E. (robberknight)


Lesenswert?

johnks schrieb:
> 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.

Was genau meinst Du mit "Delay"?

Von welchem Ereignis aus wird dieser Delay gemessen und wo endet er?

von Pieter (Gast)


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.

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
Noch kein Account? Hier anmelden.