Prescaler-Grenzen beim STM-Board

Gast #5800367
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
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
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
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?
Gast
>>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

Eine eigene Frage? Dieser Thread ist über 7 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.