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
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.
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
Bei 90Mhz Taktfrequenz wäre der kleinste Zählschritt 1s/90.000.000, also knapp über 0,1µs.
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.
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?
>>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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.