Hallo, für ein Treiber brauch ich ein Signal, das soll sowohl für Dauerbetrieb als auch für Impulsbetrieb geeignet sein. Anfangs dachte ich an einem STM32, da kann ich über den Timer die Impulsbreite z.B. 1µs bei einer Periodendauer von 10µs einstellen, oder den Pin einfach auf high schalten. Um alles aus der Schaltung raus zu holen, bräuchte ich allerdings einen ca. 10ns Impuls (tr,tf=1ns) bei 3,3V. Das dürfte der Timer nicht mehr schaffen. Wenn ich da einen VCO nehme und den mit einem Schmidt Tricker auf Rechteck "umwandle" habe ich ja keinen Impuls. Das sollte die Schaltung auch noch können. Also z.B. Ton=50ns PW=100ns. Meine Idee wäre jetzt, ich erzeuge einen 15ns Impuls und lass ein Stück weg filtern und ein Komperator etc. bereitet es wieder auf. Dieser Filter müsste dann per µC zuschaltbar sein. Eine Lösung für FPGA oder MCU wäre super. Kennt jmd eine MCU von STM mit einem IO-Takt von >100MHz bzw, dass ein Timer >100MHz auf den Pin legen kann. Ich bedanke mich schon mal
Sprungfunktion schrieb: > Kennt jmd eine MCU von STM mit > einem IO-Takt von >100MHz bzw, dass ein Timer >100MHz auf den Pin legen > kann. Abhängig vom Anwendungsfall könnte man einen STM32F4xxx nehmen. Die ..407 laufen typisch mit 168 MHz und die ..427 mit 180 MHz. An anderer Stelle gab es Berichte, daß es möglich sei, die µCs ein wenig zu übertakten, wenn man die wait-states fürs Flash höher einstellt. Mit ein wenig Mut könntest Du einen dieser Kandidaten mit 200 MHz laufen lassen und hättest 5 ns Auflösung für die Timer. Wie gesagt, es hängt von Deiner Anwendung ab.
Muss es genau 10ns sein? Wenn nicht, kann man das mit TTL Gattern recht einfach realisieren, indem man deren Signal-Laufzeiten ausnutzt. Im Prinzip so:
1 | _____ |
2 | 100kHz Takt o---+-------------| | |
3 | | ___ | AND |----o Ausgang Nadelimpulse |
4 | +--| 1 |o-----|_____| |
5 | |___| |
Ich hatte diese Schaltung mal genutzt, um Reflexionen in defekten Koax-Kabeln auszumessen.
Statt des TTL-Gatters geht auch ein entsprechend langes Stück Draht.
Ich sehe gerade, 10 ns bekommt man ja schon mit 100 MHz Taktfrequenz und einen passenden Timer gezaubert.
Sprungfunktion schrieb: > Um alles aus der Schaltung raus zu holen, bräuchte ich allerdings einen > ca. 10ns Impuls (tr,tf=1ns) bei 3,3V. Das dürfte der Timer nicht mehr > schaffen. Ob du so ein Flanke hinbekommst, hängt zuallererst vom Layout ab. Denn für eine "halbwegs saubere" 1ns-Flanke brauchst du Oberwellen bis 5GHz... > mit einem Schmidt Tricker Mit was? > Um alles aus der Schaltung raus zu holen, bräuchte ich allerdings einen > ca. 10ns Impuls (tr,tf=1ns) bei 3,3V. Das dürfte der Timer nicht mehr > schaffen. Wie oft brauchst du diesen Impuls?
:
Bearbeitet durch Moderator
> Wie oft brauchst du diesen Impuls? > bei einer Periodendauer von 10µs einstellen Hab ich zumindest so verstanden.
@m.n. Mit dem 407 hab ich schon einiges gemacht, aber ist da nur der Core Takt so hoch und der IO-Takt liegt deutlich drunter? Wobei im Clock Tree würde der APBx timer clocks mit SYSCLK laufen können. @stefan us die Idee ist super, so etwas könnte funktionieren. @Lothar Miller habe ich vergessen sry. Die nachfolgende Schaltung kann momentan nur ca. Ton=10ns PW=30ns. Die Impulse sollen dann periodisch kommen. Also der 10ns Impuls z.B. alle 30ns.
Sprungfunktion schrieb: > Um alles aus der Schaltung raus zu holen, bräuchte ich allerdings einen > ca. 10ns Impuls (tr,tf=1ns) bei 3,3V. Das dürfte der Timer nicht mehr > schaffen. Solche Pulse macht nicht mal der Pin selber mit. Bei einem normalen µC Pin hast Du schon eher 10ns tr und tf wegen RdsOn der Ausgangs-FETs und des parasitären C.
Also sowohl Impulsbreite als auch der Tastgrad sollte eigentlich frei einstellbar sein. Wobei die 10/30ns das Minimum wären und Dauerbetrieb das Maximum.
Sprungfunktion schrieb: > @m.n. Mit dem 407 hab ich schon einiges gemacht, aber ist da nur der > Core Takt so hoch und der IO-Takt liegt deutlich drunter? Dann fehlt Dir wohl noch PWM mit einem Timer. Damit geht das recht einfach.
m.n. schrieb: > Sprungfunktion schrieb: >> @m.n. Mit dem 407 hab ich schon einiges gemacht, aber ist da nur der >> Core Takt so hoch und der IO-Takt liegt deutlich drunter? > > Dann fehlt Dir wohl noch PWM mit einem Timer. Damit geht das recht > einfach. beim STM32F407 ist offiziell bei den fast I/O pins bei 84MHz Schluss. Da hilft auch kein PWM.
@m.n. PWM war ja auch mein Ziel. Ich hatte nur im Hinterkopf, dass da bei ~60MHz am Ausgang Schluss ist. Aber vll verwechsle ich das jetzt mit dem STM32F302, den ich eigentlich dafür einsetzen wollte. Da ich noch einen 407er rumliegen hab, teste ich es einfach demnächst. Das wäre natürlich die beste Lösung.
Sprungfunktion schrieb: > Also sowohl Impulsbreite als auch der Tastgrad sollte eigentlich frei > einstellbar sein. Wobei die 10/30ns das Minimum wären und Dauerbetrieb > das Maximum. Nimm ein FPGA oder eher noch ein CPLD. Aber 1ns ist da immer noch zu eng. Du wirst eher noch einen speziellen Clock-Buffer dafür einsetzen müssen... https://www.google.de/search?q=Clock-Buffer+tr+tf
Sprungfunktion schrieb: > Meine Idee wäre jetzt, ich erzeuge einen 15ns Impuls und lass ein Stück > weg filtern und ein Komperator etc. bereitet es wieder auf. Och nö. Wenn der 10ns Impuls zu kurz ist, um per Ausgangspin erzeugt zu werden, dann erzeuge den Impuls durch ein Mono-Flop. Wenn die 10ns nicht so genau sein müssen, kann es die Durchlaufzeit eines Gatters sein, siehe Schaltung von Stefan us. Genauere 10ns gibt es durch Delay-Schaltkreise wie CDKD5005 oder DS1100L-100 (3.3V) Sprungfunktion schrieb: > mit einem Schmidt Tricker Och nöööööö.
Sprungfunktion schrieb: > Also sowohl Impulsbreite als auch der Tastgrad sollte eigentlich frei > einstellbar sein. Wobei die 10/30ns das Minimum wären und Dauerbetrieb > das Maximum. Na klasse, und so was kommt als Salamischeibe nach dem 10. Beitrag. Lös deine Probleme selber.
man kann doch die Gatterlaufzeit nutzen und eine Flanke auf einen Pin eines XOR mit 2 Eingängen geben und das verzögerte um die Gatterlaufzeit auf den anderen XOR Eingang geben, ergibt einen Peak mit der Breite der Gatterlaufzeit der Verzögerung. Habe ich früher zur Verdopplung vom 8 MHz Systemtakt eines Floppy Controllers zum Betrieb für HD Disketten gemacht. 74/54er Gatter im ns Tempo gibts ja einige von AHC(T) bis F, ich denke da muss man noch nicht mal auf ECL ausweichen.
Wär's recht so? 1ns Flanken bekommt man nicht, aber so etwa 2ns sind mit üblichen LCV Gattern machbar. Ich frage mich allerdings wofür die hohe Anforderung von 1ns gedacht sein soll. Das hat uns der Thread-Ersteller bisher verschwiegen.
MaWin schrieb: > Na klasse, und so was kommt als Salamischeibe nach dem 10. Beitrag. Ging es Dir noch nie so, dass du gewisse Parameter für Dich selbst so klar sind, dass man sie nicht aufschreibt. Besonders, wenn man sich mehrere Monate mit einem Projekt beschäftigt? Ich habe mir den ersten Post durchgelesen und es stimmt, die Angabe fehlt, habe sie aber nach 30 Min, als es zu Unklarheiten kam, sofort nachgereicht. Wenn ich so Perfekt wäre, bräuchte ich das MK.net-Board auch nicht.
@isidor Das Signal sieht gut aus. Danke! Während der Flanke erzeugt die nachfolgende Schaltung Verlustleistung. Die 1ns sind nicht zu 100% Fix, damit hat es nur gut Funktioniert (mit einem Funktionsgenerator). Am Ende muss es realistisch funktionieren, also dann mit weniger Leistung und schneller oder eben mehr Leistung und im 100ns Bereich. Ich will nur Ideen sammeln, mit welchen Methoden ich welche Ergebnisse bekomme, bzw. welcher Ansatz sich lohnt weiter zu verfolgen.
Sprungfunktion schrieb: > (mit einem Funktionsgenerator). Den Generator der das kann (1 ns Trise/Tfall) ... den möchte ich sehen ... den gibt es nicht um die Ecke beim Conrad ... Wo gibt es den?
Sprungfunktion schrieb: > Während der Flanke erzeugt die nachfolgende Schaltung Verlustleistung. Da wage ich mal zu behaupten dass jede nachfolgende Schaltung die du mit einen handelsüblichen schellen (LVC-) Gatter steuerst, deutlich langsamer ist und schon deshalb in den Schaltflanken Leistung verbraucht, aber nicht weil das ansteuernde Gatter zu lange Anstiegs- oder Abfallzeiten hat.
http://s7.images.keysight.com/is/image/Keysight/COLL-1000000193.epsg.pgr-HI?wid=1410 Der ganz rechts. Die genaue Ausführung hab ich gerade nicht da, da ich nicht im Labor bin. Ein Kollege hat den BERT für nen 10GBit Test eingesetzt, das ist so die Grenze in der aktuellen Konfiguration. Nutzen den hauptsächlich für 1GBit Geschichten, da muss das Ding < 2 ns Impulse ausgeben. Die 1ns habe ich selbst nicht gemessen, aber lt. Kollegen packt er die. Und ich denke Conrad hat den nicht.
ul5255 schrieb: > beim STM32F407 ist offiziell bei den fast I/O pins bei 84MHz Schluss. Da > hilft auch kein PWM. In meinen 'inoffiziellen' Datenblättern stehen 100 MHz und auch 200 MHz, wobei sich letztere Angabe wohl auf Ethernet bezieht. Vermutlich meinst Du die APB2 Frequenz. Das ist aber nicht die Taktfrequenz für die Timer.
m.n. schrieb: > Vermutlich meinst Du die APB2 Frequenz. Das ist aber nicht die > Taktfrequenz für die Timer. Hallo m.n., Was ich meine, ist, dass selbst wenn die Timer schneller laufen, Du die Pins zum erzeugen des Impulses trotzdem nur mit max. 84MHz toggeln kannst. Fuer die oben angefragten Pulse bedeutet das dann t_on = 1 / (84MHz / 2) ~ 24ns was schon etwas von den geforderten 10ns weg ist.
Nachtrag: Weiters ist mir nicht klar, wie kraeftig die Treiber der Pins sind. Thema Flankensteilheit, parasitaere Kapazitaeten, Rds_on, ... Aber das wurde weiter oben ja schonmal thematisiert ...
ul5255 schrieb: > > beim STM32F407 ist offiziell bei den fast I/O pins bei 84MHz Schluss. Da > hilft auch kein PWM. F411 kann 100 MHz AHB/APB2 mit entsprechender Einstellung. F3xx kann die Timer mit bis zu 144 MHz Takten.
Uwe Bonnes schrieb: > ul5255 schrieb: >> >> beim STM32F407 ist offiziell bei den fast I/O pins bei 84MHz Schluss. Da >> hilft auch kein PWM. > > F411 kann 100 MHz AHB/APB2 mit entsprechender Einstellung. > F3xx kann die Timer mit bis zu 144 MHz Takten. Interessant, wusste ich noch nicht. Aber auch damit schaffst Du keine 10ns t_on ...
> Solche Pulse macht nicht mal der Pin selber mit.
Aber sicher doch. Ich hab's wie gesagt mit Standard 74xx Gattern
gemacht.
ul5255 schrieb: > Hallo m.n., > Was ich meine, ist, dass selbst wenn die Timer schneller laufen, Du die > Pins zum erzeugen des Impulses trotzdem nur mit max. 84MHz toggeln > kannst. Ich brauche etwas Nachhilfe: Wo steht das? Wenn Du 84 MHz als max. Ausgabefrequenz meinst, dann sind es 5,95 ns für '1' und 5,95 ns für '0'. Ich rede vom STM32F407 und seinen Timern 1, 8, 9, 10 und 11, die ohne Übertaktung mit 168 MHz laufen können.
Habe gerade einen F334 gier rum liegen und der macht sehr brave ~5ns tr & tf wenn die Ausgangstreiber auf schnell eingestellt sind (~10ns bei low speed). Habe allerdings nur ein 200MHz Oszi gerade am Tisch. Denke also mit einem passenden Treiber könnten da schon tr&tf mit ~1ns und ton 10ns machbar sein.
DSPPics können: 1 nS duty cycle resolution PWM http://www.microchip.com/pagehandler/en-us/family/16bit/peripherals.html
uwe schrieb: > DSPPics können: > 1 nS duty cycle resolution PWM > http://www.microchip.com/pagehandler/en-us/family/16bit/peripherals.html Wenn wir hier beim "welcher ist länger" sind: Der HR Timer des F334 schafft 210 ps Auflösung...
Ich bedanke mich erst einmal für die neuen Antworten. Ich werde mir die Chips anschauen, wobei ich gerne bei ARM bleiben würde. Bei einem alten Projekt habe ich den STM32F407IG verbaut und hab da mal PWM auf vollgas laufen lassen. Das Oszi ist nur ein altes Tektronix 100MHz, was besseres habe ich hier nicht rumstehen. Tastkopf ist abgeglichen, aber das Signal geht über ne Pfostenleiste nach außen. Ich werde wohl die nächsten Wochen ein paar Möglichkeiten durch probieren und vll. einen Wikiartikel über das gesamte Projekt schreiben. (sobald ich darf) Das dürfte einige interessieren. Jedenfalls Danke an alle, die konstruktiv mit geholfen haben, wenn jmd noch eine Idee hat, bitte posten.
Sprungfunktion schrieb: > Bei einem alten Projekt habe ich den STM32F407IG verbaut und hab da mal > PWM auf vollgas laufen lassen. Der Impuls ist genau 5,95 ns lang. Das ist doch ganz deutlich zu sehen ;-)
m.n. schrieb: > Sprungfunktion schrieb: >> Bei einem alten Projekt habe ich den STM32F407IG verbaut und hab da mal >> PWM auf vollgas laufen lassen. > > Der Impuls ist genau 5,95 ns lang. > Das ist doch ganz deutlich zu sehen ;-) Laut Cube MX/Datenblatt läuft auch der Timer mit 168MHz. Dann beziehen sich die ~80MHz nur auf GPIO. Rechteck sieht zwar anders aus, da muss ich die Verluste bzw. Tj mal genauer untersuchen. Da bietet sich vll auch die Cortex-M7 an, da steht es sogar im Datenblatt, Max timer clock 200 MHz. Da könnte ich einiges an Layout und Code übernehmen.
Sprungfunktion schrieb: > Da bietet sich vll auch die Cortex-M7 an, da steht es sogar im > Datenblatt, Max timer clock 200 MHz. Da könnte ich einiges an Layout und > Code übernehmen. Geh das mal besser pragmatisch an und lass den 407 mit 100 MHz laufen. Damit bekommst Du genau Deine 10 ns Auflösung. Den M7 würde ich nicht nehmen. Nächstes Jahr kommt der M8 mit 500 MHz und 2017 schon der M9 mit 1 GHz ... und viel billiger und in China und überhaupt.
uwe schrieb: > DSPPics können: > 1 nS duty cycle resolution PWM > http://www.microchip.com/pagehandler/en-us/family/... Obacht.... wir hatten einen Hardwarebug in der F-Serie gefunden und seit dem traue ich den Teilen nicht mehr sonderlich über den Weg. Und 2 Chipfehler in einem Jahr bei dem selben Hersteller DSPIC und MCP1710) lassen uns nun einen weiten Bogen um den Laden machen wenn es um Neudesigns geht. Grüße MiWi
Naja die M7 ist kompatibel mit der M4. Beim vorherigen Projekt kam ich mit dem 407 an die Grenzen. StemWin ist zwar super (auch mit externen RAM) aber ohne 2D-DMA nur halb so schön. Der Speicherbus ist bei der vorgestellten M7 32Bit (bei der 427 auch). Bevor ich die 427 nehme, kann ich direkt die M7 nehmen. Wie die Anforderungen genau werden (10ns oder mehr oder weniger) stellt sich erst in den nächsten Monaten raus. Aber was spricht gegen die M7? Klar für den Preis würde ich vermutlich auch die A20 bekommen. Mit Linux hätte ich Qt, Ethernet, Kernel, ...
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.