Ich benötige eine genau einstellbare Pulsfolge vom Typ 0101010... mit bis zu 18 bit, bei denen die Länge der Nullen und Einsen sehr genau einstellbar sein muss. Die Pulslängen betragen 1,2ns bis 2,4ns, einstellbar möglichst fein und reproduzierbar. Die Bits sind mindestens 4. Denkbar wäre eine solche Konstellation: 1,35 ns 1 1,72 ns 0 1,84 ns 1 1,93 ns 0 und wieder von vorne. Oder z.B. auch die 18bit. Eine Periode kann 2,4x2x18 ns lang sein. Lässt sich das mit einem FPGA bauen? Aktuell benutze ich verkettete MonoFlops, deren Einstellung per digital programmiertem R erfolgen.
Nach 2maligem durchlesen bin ich immer noch nicht schlau geworden. Die ersten 2 Sätze verstehe ich, den Rest nicht. Entweder liegt es um diese Uhrzeit an deinem Bier oder an meinem...
Ich denke ich verstehe einigermaßen was du vor hast. Wenn du das ganze wirklich genau und einfach einstellbar machen willst nimm einen µC mit Timer der PWM Erzeugung unterstützt. Beispielsweise einen STM32 hier kannst du über den DMA und die vorhanden 16 bzw. 32 Bit Timer ein PWM mit verschiedenen Pulsbreiten ausgeben. eine ähnliche Anwendung findest du hier: https://www.mikrocontroller.net/articles/WS2812_Ansteuerung Dort wird das ganze benutzt um das Signal für WS2812 zu erzeugen. Im Prinzip berechnest du dir die nötigen DC vor, die für die entsprechenden Zeiten gebraucht werden und speicherts sie in einem Array. Der DMA gibt diese dann an die Timer-Hardware weiter. Da du die Periodendauer ebenfalls ändern willst, musst du das etwas ändern, das ist nicht ganz so wie es für die WS2812 gebraucht wird aber in jedem Fall umsetzbar. Da der µC vermutlich sonst nichts zu tun hat geht das aber auch locker ohne DMA rein in Software wenn man die entsprechenden Timer Register beschreibt.
> 1,35 ns 1 > 1,72 ns 0 > 1,84 ns 1 > 1,93 ns 0 Du möchtest also eine Auflösung von ca 10ps?
Maxim schrieb: > Dort wird das ganze benutzt um das Signal für WS2812 zu erzeugen. Dort sind es µs, er will aber ns.
Es gibt STMs mit High Resolution Timern die im ps Bereich auflösen. https://www.st.com/en/microcontrollers-microprocessors/stm32f334.html Ob das ganze genau genug ist müsste man mal probieren bzw. mal genau nachrechnen, aber ich denke mal, dass ein STM eventuell billiger als ein FPGA ist und je nach Kenntnisstand auch einfacher zu Programmieren. Zumal ein FPGA je nach Systemtakt vermutlich auch schon an seine Grenzen kommt.
Der Titel passt irgendwie überhaupt nicht zur Frage. Du willst eine Pulsfolge erzeugen, da wird doch nichts moduliert? Mit einem FPGA mit schnellem SerDes kannst du vielleicht etwa 0.1ns Auflösung erreichen (10 GHz SerDes). Ob das aber einfacher wird, als die 18 Monoflops bezweifle ich.
Hamburger schrieb: > Ich benötige eine genau einstellbare Pulsfolge vom Typ 0101010... mit > bis zu 18 bit, bei denen die Länge der Nullen und Einsen sehr genau > einstellbar sein muss. Meinst du sowas wie einen extrem flinken Arbiträrgenerator? Hamburger schrieb: > Die Pulslängen betragen 1,2ns bis 2,4ns, einstellbar möglichst fein Wie fein müssen die verbleibenden 1,2ns unterteilt werden können? > Aktuell benutze ich verkettete MonoFlops, deren Einstellung per digital > programmiertem R erfolgen. Demnach dürften da etwa 6 Bits (64 Stufen) drin sein. > Denkbar wäre eine solche Konstellation: > 1,35 ns 1 > 1,72 ns 0 Mit welchen Monoflops kommst du in den 10ps/100GHz-Bereich? Und wie geht das mit einem schnarchlangsamen Digitalpoti (aus der Werbung: "Wide bandwidth: 3 MHz") als zeitbestimmendes Glied?
Hamburger schrieb: > Lässt sich das mit einem FPGA bauen? Ohne spezielle Timer geht das nicht. Du willst Auflösungen im ps-Bereich, und 10GHz kann kein FPGA. Du wirst einen Chip (sei es FPGA oder µC) suchen müssen, der einen speziellen PWM-Block bietet, der das kann. Es wurde ja schon ein STM32 genannt, ob der das kann, kann ich auch nicht beurteilen. Eventuell wirst du auch mit externen Timern glücklich. Es wird nicht sehr einfach und billig werden. Rechne dir die Auflösung / Frequenz aus, die du benötigst und mach dich auf die Suche. Ich sag mal, du wirst Kompromisse eingehen müssen. 10GHz und mehr ist kein Pappenstiel. Wenn so wenige Details zur Anwendung genannt werden, habe ich immer keine Lust viel Zeit in Suche nach Lösungen zu investieren. Nachher stellt sich noch heraus, dass das Problem mit einem anderen Konzept viel einfacher zu lösen wäre.
Maxim schrieb: > Es gibt STMs mit High Resolution Timern die im ps Bereich auflösen. Das ist leider völlig utopisch. Die Auflösung wird durch den maximalen Clock an dem jeweilige Timer bestimmt und ist besitmmt nicht im GHz-Bereich.
Hamburger schrieb: > 1,35 ns 1 > 1,72 ns 0 > 1,84 ns 1 > 1,93 ns 0 Mit der Delfino-Serie von TI kannst Du über die High Resolution-PWMs auch Einzelimpule ereugen. In Verbindung mit den internen logischen Verknüpfungsmöglichkeiten von bis zu sechs PWM-Signalen sind damit auch sehr komplexe Ausgangssignale hestellbar. Allerdings beträgt die Auflösung 150ps!
Wollen wir wetten, daß das alles nur wieder eine Spinnerei ohne Substanz ist?
Falk B. schrieb: > Wollen wir wetten, daß das alles ... ohne Substanz ist? Ich halte nicht dagegen. Oder da ist wer um ein paar Zehnerpotenzen verrutscht...
Hamburger schrieb: > Aktuell benutze ich verkettete MonoFlops, deren Einstellung per digital > programmiertem R erfolgen. Zeig mal her, das fördert das Gruppenverständniss. Also bitte schaltplan anhängen aber mindestens ein Foto vom Aufbau.
jemand schrieb: > Ohne spezielle Timer geht das nicht. Du willst Auflösungen im > ps-Bereich, und 10GHz kann kein FPGA. Was ist mit den Giga-Bit-Transceivern?
Leider gibt es da auch noch gewissse geometrische Einschränkungen. Die elektrische Welle macht in: 1ns 30cm 100ps 3cm 10ps 3mm Wenn du mit FR4 arbeitest eher nur 2/3 davon. Da muss man beim Aufbau ziemlich wissen was man tut. Reflektionen, Gruppenlaufzeit & Co lassen grüssen. Für einen Rechteck mit derart genau definierter Dauer sind Anstiegszeit und die dafür nötigen Oberwellen nicht zu verachten bzw. nicht immer so ganz leicht zu realisieren. viel Erfolg hauspapa
>Das ist leider völlig utopisch. Die Auflösung wird durch den maximalen >Clock an dem jeweilige Timer bestimmt und ist besitmmt nicht im >GHz-Bereich. Nein.
Nanno schrieb: >> Das ist leider völlig utopisch. Die Auflösung wird durch den maximalen >>>Clock an dem jeweilige Timer bestimmt und ist besitmmt nicht im >>>GHz-Bereich. > Nein. Danke Nanno nein ist da die einzig sinnvolle Antwort. Natürlich ist es so das normale Timer begrenzt durch ihren Takt sind. Die HR Timer haben allerdings einen anderen internen Aufbau. also @Ulf L. erst richtig informieren und dann seinen Senf dazu geben. Wenn ST angibt das sie 217ps Auflösung haben dann ist das auch so. Ich selbst benutze den Timer für einen Hochfrequenz Schaltregler und habe als altes Spielkind auch mal etwas mit dem Timer gespielt und Signale im ns Bereich sind locker machbar. Ob die Flankensteilheit ausreicht hängt wie bereits weiter oben erwähnt vom restlichen Aufbau ab und daher habe ich auch gesagt das man es einfach mal probieren muss was bei einem mucleo Board für rund 10€ wohl drin sein wird.
hauspapa schrieb: > Die elektrische Welle macht in: > > 1ns 30cm > 100ps 3cm > 10ps 3mm Die Wellenausbreitung ist aber konstant und ein am Ausgang eines Chips geformte Welle bleibt somit erhalten. Reflektionen sind noch ein anderes Thema. Die können einen aber auch im kHz-Bereich erwischen.
Hier ist ein Ansatz mit FPGA beschrieben: https://www.researchgate.net/publication/279205726_Design_and_Implementation_of_FPGA_based_High_Resolution_Digital_Pulse_Width_Modulator
Zynq-Entwickler schrieb: > Die Wellenausbreitung ist aber konstant und ein am Ausgang eines Chips > geformte Welle bleibt somit erhalten. Schön wär's. Wenn nicht der komplette Frequenzbereich eine homogene Impedanz sieht, was fast immer der Fall ist, dann verschmiert es den Impuls komplett. Die parasitären Effekte von z.B. Pins an Bauteilen, Bonddrähten, Leiterbahnecken... Das alles macht einem die schöne Idee einer konstanten Gruppenlaufzeit komplett kaputt. Außerdem sind beispielsweise Microstrip-Ausbreitungsmoden nur in Näherung TEM Moden. Was zu einer unvermeidbaren Frequenzabhängigkeit der Ausbreitungsgeschwindigkeit führt.
Geht schon, schau Dir mal Advantest pin scale sl an: http://www.gosemiandbeyond.com/pin-scale-sl-testing-high-speed-io-links/ Die Testersoftware kann Pulszüge im sub Picosekundenbereich erzeugen. Dank trace length calibrierung kommt das dann auch so am Prüfling an. Das geht alles sehr komfortabel out of the box, aber Preis dafür wird Dir nicht gefallen .... Intern werkelt da für das Timing ein Asic, der mit so 10 GHz das grobe Timing macht, danach kommt dann eine analoge Verzögerungsleitung - mit Auflösung in Femtosekundenbereich. So ähnlich sollte man das auch im FPGA hinbekommen, als Verzögerungsleitung kann man hier eine Gatterkette nehmen, dann ist die kleinste Auflösung die Gatterschaltzeit. Viel Vergnügen .... Monoflops sind einfacher .....
Nanno schrieb: > Hier ist ein Ansatz mit FPGA beschrieben: https://www.researchgate.net/publication/279205726_Design_and_Implementation_of_FPGA_based_High_Resolution_Digital_Pulse_Width_Modulator Cool, was die Inder so alles entwickeln und papers davon machen! Und komisch, dass es das immer irgendwie schon alles gibt. Vor ziemlich genau 10 Jahren habe ich das mit einem Stratix GX gebaut (ist von Siemens auch patentiert worden). Und es wurde ebenfalls ein grobes tuning mit den 8 Takten aus den PLLs, ein Schieben mit den IO-Delays sowie ein Feintuning mit den LUTs vollzogen, teilweise mit AHDL, dem Chipeditor und Scripten unter Einbindung des Altera FAE. Super interessant ist, dass sie mit 19,5ps Präzision fast genau denselben Wert herausbekommen, wie ich in meiner Applikation (20ps). Diese resultierten primär aus der Messunsicherheit und der Messdauer beim Kalibieren der Schleife. Die LUTs selber addieren Verzögerungen im Bereich von 12ps ... 15ps und gestatten bei entsprechender Verschaltung mit unterschiedlichen Wegen durchaus Werte im Bereich von 10ps. Das driftet nur binnen Minuten durch Erwärmung weg und unterliegt noch Jittereffekten infolge des Schaltens des Restdesigns, bzw der Spannungsversorgung der Platine. Genauer kriegt man das nicht hin, ohne ständig nachzukalibrieren. Und es braucht auch eine entsprechende Signalaufbereitung am Ausgang des FPGA-Pins mit einem schnellen Schalttransistor (GaAs z.b) samt kalibierfähiger Messschleife um die von "Bambel" beschriebenen Effekte leitungsweise zu kompensieren. Bastler_ps schrieb: > Monoflops sind einfacher ..... kriegst du aber nicht in den Griff, wenn es programmierbar sein soll und stabil über mehrere in einer Kette.
Jürgen S. schrieb: > Vor ziemlich > genau 10 Jahren habe ich das mit einem Stratix GX gebaut Wofür braucht man denn so kurze und genaue Impulsfolgen?
Zynq-Entwickler schrieb: > jemand schrieb: >> Ohne spezielle Timer geht das nicht. Du willst Auflösungen im >> ps-Bereich, und 10GHz kann kein FPGA. > > Was ist mit den Giga-Bit-Transceivern? Die machen keine harten Pulse, das ist ein ziemlich wackliger Sinus und wie der TO seine Anforderungen umschreibt, erwartet er ein knackiges Rechteck "Länge der Nullen und Einsen sehr genau einstellbar sein muss." Bei Hispeed signalen ist aber der grösstes Teil weder 0 noch 1 sondern Übergang. Und nicht selten wird kein binäres sondern ein mehrwertiges signal (bspw 256 QAM) übertragen, das bringt hinsichtlich Fehlerkorrektur einige Vorteile. (simples Beispiel automotive Ethernet: https://pbs.twimg.com/media/Ddz0k_oV0AEWQ1q.jpg ) Und abgesehen davon, wird das bei den Hispeed-Treibern über Trainingssequenzen erreicht, es werden zu beginn keine Nutz- sondern Trainingsdaten übermittelt, anhand dessen der ganze Analogkram (Lange Filter, Preemphasis) nachgeregelt wird. Und dieses "trainieren" muss auch immer mal wieder neu gestartet werden. Das mag eine PWM nicht. Auch ja Fehlerkorektur ist auch noch, da stört eine verpasste Flanke nicht, bei ner PWM dagegen schon. Man darf nicht denken in den Hispeed Treiber werkelöt die gleiche simple Schaltstufe wie in den GPIO's für TTL und Co. Nicht umsonst umfasst das Manual für Hispeed Treiber über 500 Seiten: https://www.xilinx.com/support/documentation/user_guides/ug476_7Series_Transceivers.pdf während die Beschreibung für die normalen mit ca. einem Drittel abgefrühstückt ist: https://www.xilinx.com/support/documentation/user_guides/ug471_7Series_SelectIO.pdf
Wie schon angesprochen gibt es ein High Resolution Timer in Microcontrollern z.B. dem XMC4400 von Infineon. Damit kann man PWM Pulse mit einer Auflösung von 15ps verlängern bzw. verkürzen. Soweit ich weiß funktioniert das mit einer DLL (Delay Locked Loop). Wir haben das mal versucht in einem Projekt zu r genauen Stromregelung von Laserdioden zu verwenden. Aber leider mussten wir dann davon weg, weil der Jitter einfach viel zu stark war, was zu ziemlich üblem rauschen geführt hat. Das könnte bei deiner Anwendung auch stören
moep schrieb: > z.B. dem XMC4400 von Infineon. Damit kann man PWM Pulse mit einer > Auflösung von 15ps verlängern bzw. verkürzen. Auch beim XMC4400 sind es wie beim oben genannten Delfino von TI 150ps.
Zynq-Entwickler schrieb: > jemand schrieb: >> Ohne spezielle Timer geht das nicht. Du willst Auflösungen im >> ps-Bereich, und 10GHz kann kein FPGA. > > Was ist mit den Giga-Bit-Transceivern? Sind das solche LVDS Serializer? Also diese Dinger, mit denen man HDMI und dergleichen macht? Sowas: http://www.ti.com/lit/ug/snla201/snla201.pdf Nur halt im FPGA? Ich kenn die Dinge selber nur vom Ansteuern von Flatpanels (und da auch nur von diskreten IC), aber anscheinen können das sogar einige bezahlbare FPGAs. Die Dinger erzeugen ja intern einen höheren Takt mittels einer PLL, und takten parallele Daten seriell heraus. Man ist also nicht auf den erreichbaren Systemtakt des FPGAs begrenzt (nehme ich an - zumindest bei den diskreten Serializern ist das ja so). Das ginge. Der oben geäußerte Einwand, dass da ein Sinus herauskäme ist nicht korrekt. Das sind schon richtige Logikpegel, nur eben LVDS. TTL-Pegel kann man daraus auch erzeugen, ein schneller LVDS-Receiver vorausgesetzt. Ein Interessanter Vorschlag! Allerdings werden auch damit nicht 100ps Zeitauflösung auch nicht erreicht. Außer man hat 10GHz Serializer, was ich nicht glauben kann.
jemand schrieb: > Zynq-Entwickler schrieb: >> jemand schrieb: >>> Ohne spezielle Timer geht das nicht. Du willst Auflösungen im >>> ps-Bereich, und 10GHz kann kein FPGA. >> >> Was ist mit den Giga-Bit-Transceivern? > > Sind das solche LVDS Serializer? Also diese Dinger, mit denen man HDMI > und dergleichen macht? Nein, die dummen LVDS schleudern findest Du unter Select-IO in dem kleinen verlinkten Manual. Einfach mal nachlesen, deshalb hab ich ja die Dokumente verlinkt ... > Ich kenn die Dinge selber nur vom Ansteuern von Flatpanels (und da auch > nur von diskreten IC), aber anscheinen können das sogar einige > bezahlbare FPGAs. Die Dinger erzeugen ja intern einen höheren Takt > mittels einer PLL, und takten parallele Daten seriell heraus. Man ist > also nicht auf den erreichbaren Systemtakt des FPGAs begrenzt (nehme ich > an - zumindest bei den diskreten Serializern ist das ja so). > Das ginge. > > Der oben geäußerte Einwand, dass da ein Sinus herauskäme ist nicht > korrekt. Das sind schon richtige Logikpegel, nur eben LVDS. TTL-Pegel > kann man daraus auch erzeugen, ein schneller LVDS-Receiver > vorausgesetzt. Wie bereits gesagt, die erwähnten Hispeed MGT sind nicht dasselbe wie das LVDS Gedöhns. Und dieser LVDS Receiver, den du da meinst, ist whrscheinlich ein Deserializer, der die Bitdauer verlängert aber wegen der parallelen Daten dennoch auf die hohe Bitrate kommt. Das sind dann aber nicht die picosekunden die der TO verlängt. Hoher Speed ist eben ein Grund warum TTL durch LVDS abgelöst würde, Ärger mit Reflexionen, EMV etc. ein anderer. > Ein Interessanter Vorschlag! Allerdings werden auch damit nicht 100ps > Zeitauflösung auch nicht erreicht. Außer man hat 10GHz Serializer, was > ich nicht glauben kann. Doch die hat man im FPGA, einfach mal das Datenblatt lesen, das sind allerdings dann Die MGT mit den erwähnten Mali bzgl PWM. Allerdings nicjt im jeden, s. UG476 S.4 Was so ein LVDS-Pin bei Bastler-FPGA's wie Artix-7 speedmäßig kann, steht dort ab seite 15 https://www.xilinx.com/support/documentation/data_sheets/ds181_Artix_7_Data_Sheet.pdf
C. A. Rotwang schrieb: > Was so ein LVDS-Pin bei Bastler-FPGA's wie Artix-7 speedmäßig kann, > steht dort ab seite 15 > https://www.xilinx.com/support/documentation/data_sheets/ds181_Artix_7_Data_Sheet.pdf Die genannten Zeiten liegen aber immer noch deutlich über den 150ps, die mit den oben genannten µCs ohne nennenswerte Klimmzüge erreicht werden. Gibt es FPGAs, die ebenfalls 150ps erreichen?
ssss schrieb: > Die genannten Zeiten liegen aber immer noch deutlich über den 150ps, die > mit den oben genannten µCs ohne nennenswerte Klimmzüge erreicht werden. > > Gibt es FPGAs, die ebenfalls 150ps erreichen? Bist Du bereit dafür zu bezahlen? Und warun nach einem FPGA schielen, wenn es auch ein µC macht, den Hinz und Kunz von der Baumschule programmieren können ??? Ansosnte mal bei den HighEnd-Serien schauen oder einfach mal einen FAE eines FPGA-Distri anrufen und um Beratung bitten. https://www.xilinx.com/support/documentation/data_sheets/ds892-kintex-ultrascale-data-sheet.pdf
ssss schrieb: > Die genannten Zeiten liegen aber immer noch deutlich über den 150ps, die > mit den oben genannten µCs ohne nennenswerte Klimmzüge erreicht werden. Die 150ps liegen aber Faktor 15 über den 10ps Auflösung die da nötig wären. Und wie kann so ein µC mit schneller PWM eine Pulsfolge, wie beschrieben erzeugen, ohne Pausen dazwischen. Dazu müsste dauern das Periodendauer und Pulsweitenregister neu geschrieben werden, etwa alle 3 ns und synchron zu den Pulsdauern.
Andi schrieb: > Und wie kann so ein µC mit schneller PWM eine Pulsfolge, wie beschrieben > erzeugen, ohne Pausen dazwischen. Dazu müsste dauern das Periodendauer > und Pulsweitenregister neu geschrieben werden, etwa alle 3 ns und > synchron zu den Pulsdauern. Es können z.B. beim Delfino mehrere synchron arbeitende HiRes-PWM-Ausgangssignale intern logisch verknüpft werden. Damit können schnelle komplexe Signalfolgen erzeugt werden, die kaum noch Ähnlichkeit mit einem reinen PWM-Signal haben.
Maxim schrieb: > Nanno schrieb: >>> Das ist leider völlig utopisch. Die Auflösung wird durch den maximalen >>>>Clock an dem jeweilige Timer bestimmt und ist besitmmt nicht im >>>>GHz-Bereich. >> Nein. > > Danke Nanno nein ist da die einzig sinnvolle Antwort. > > Natürlich ist es so das normale Timer begrenzt durch ihren Takt sind. > Die HR Timer haben allerdings einen anderen internen Aufbau. also @Ulf > L. erst richtig informieren und dann seinen Senf dazu geben. Wenn ST > angibt das sie 217ps Auflösung haben dann ist das auch so. Ich selbst > benutze den Timer für einen Hochfrequenz Schaltregler und habe als altes > Spielkind auch mal etwas mit dem Timer gespielt und Signale im ns > Bereich sind locker machbar. Ob die Flankensteilheit ausreicht hängt wie > bereits weiter oben erwähnt vom restlichen Aufbau ab und daher habe ich > auch gesagt das man es einfach mal probieren muss was bei einem mucleo > Board für rund 10€ wohl drin sein wird. Hallo Da habe ich dann wohl die Eingangsfrage falsch verstanden. Ich dachte da soll eine (bis 18Bit) Pulsfolge erstellt werden, bei der jedes einzelne Bit in einer Ausflösung von 10 ps unterschiedlich eingestellt werden können soll. 217ps sind halt keine 10 ps. Die Mindestdauer eines Bits liegt bei 1,2 ns. Das heißt aber auch, daß der PWM-Wert des HRTIM-Registers alle 1,2ns aktualisiert werden müßte. Aber Du hast recht, daß die mittels PLL intern den Clock der PWM-Einheit bis in den einstelligen GHz-Bereich treiben, hätte ich echt nicht gedacht :-). Gruß Ulf
C. A. Rotwang schrieb: > Bei Hispeed signalen ist aber der grösstes Teil weder 0 noch 1 sondern > Übergang. Stimmt! Das hatte ich übersehen. Man könnte zwar einen beliebigen Code auf die Transceiver geben, kriegt es aber nicht gleichstromfrei hin und hat dann Probleme auf der Gegenstelle.
Maxim schrieb: > Wenn du das ganze wirklich genau und einfach einstellbar machen willst > nimm einen µC mit Timer der PWM Erzeugung unterstützt. Bist du dir sicher, dass du dich nicht um einen Faktor 100 oder mehr vertan hast Hamburger schrieb: > ... sehr genau ... ... ist immer eine Frage des Maßstabs.
C. A. Rotwang schrieb: > Zeig mal her, das fördert das Gruppenverständniss. Es sind 16 in Reihe geschaltete MF, die sich nacheinander anschieben. Abgriff per Analogmultiplexer. So wie im Bild soll das Timing in etwa aussehen. Man könnte die Pakete als PWM-Abschnitte auffassen, die aneinander gereiht werden, aber nur einmal vorkommen und ständig wechseln. Es sind pulse codes. Auflösung 50ps wäre schon ausreichend, schätze ich.
Schau dir mal den AD9500 Digitally Programmable Delay Generator an: https://www.analog.com/media/en/technical-documentation/data-sheets/AD9500.pdf FEATURES 10 ps Delay Resolution 2.5 ns to 10 ms Full-Scale Range vielleicht kannst mir dem etwas anfangen...
Hans-Georg L. schrieb: > Schau dir mal den AD9500 Digitally Programmable Delay Generator an AD sagt, dieser Baustein ist "Obsolete"
Hamburger schrieb: > C. A. Rotwang schrieb: >> Zeig mal her, das fördert das Gruppenverständniss. > > Es sind 16 in Reihe geschaltete MF, die sich nacheinander anschieben. > Abgriff per Analogmultiplexer. Hm, ich hatte gedacht du hast schon einen Aufbau, den du in einen FPGA nachstellen willst -> >> Aktuell benutze ich verkettete MonoFlops, deren Einstellung per digital >> programmiertem R erfolgen. Aus der typbezeichenung von DigPoti Und MonoFlops kann man sich die timing parameter fürs FPGA ableiten und dann gezielt schauen, wie man es realisieren könnte > So wie im Bild soll das Timing in etwa aussehen. Man könnte die Pakete > als PWM-Abschnitte auffassen, die aneinander gereiht werden, aber nur > einmal vorkommen und ständig wechseln. Es sind pulse codes. Du meinst wohl PCM pulse Code Modulation, also digitale Nachrichtenübertragung?! Für mich ist das nicht das gleiche wie PWM (Pulse Width Modulation), PWM impliziert heutzutage (zumindest bei mir) Schalten von elektrischen Lasten wie Motoren aber Speicher-Induktivitäten. In der schnellen Datenübertragung kann man andere Signalstandards wählen als zum Schalten von (induktiven, kapazitiven) Lasten, muss aberer auch andere Parameter (Terminierung aktiv/Passiv) im Auge behalten. Falls Du PCM haben willst, dann wären die High speed Treiber wieder interessant, wenn es Pakete sind dann könnte man auch zwischendurch Trainingsphasen wie oben beschrieben einschieben. Natürlich wäre auch wichtig wie weit die Verbindung reicht und ob Leitungstreiber (cable driver) involviert sind. Einige FPGA's sind speziell für solche highspeed-Übertragungen "ausgerüstet" und man kann da auch einiges am Protokoll drehen, ist also nicht darauf angewiesen 10G Ethernet o.ä darauf laufen zu lassen. Allerdings hat man auch nicht völlige Freiheit sich selbst einen Leitungscode zu spezifizieren und zu implementieren. PS: Ich seh grad die engl. WP schränkt PCM auf Audio ein, hat aber einen schönen Kasten "Passband modulation", wo sich bestimmt etwas findet, was deine Anwendung besser beschreibt als PWM https://en.wikipedia.org/wiki/Pulse-code_modulation
Hamburger schrieb: > Es sind 16 in Reihe geschaltete MF, die sich nacheinander anschieben. Was für Bauteile sind da verbaut? Und was genau macht das langsame Poti da drin? > Auflösung 50ps wäre schon ausreichend, schätze ich. Du hast doch einen funktionierenden Aufbau. Warum musst du dann noch schätzen?
Andi schrieb: > Wofür braucht man denn so kurze und genaue Impulsfolgen? Präzise Ansteuerung von Leistungstransistoren
Jürgen S. schrieb: > Andi schrieb: >> Wofür braucht man denn so kurze und genaue Impulsfolgen? > Präzise Ansteuerung von Leistungstransistoren Und was schalten diese Leistungtransistoren? Und in was für Maschinen/Geräten befinden sich die Leistungstransistoren und das, das damit angesteuert wird?
Z. B. Laser die gepulst für sehr kurze Zeit eine sehr große Leistung abgeben.
Jürgen S. schrieb: > Andi schrieb: >> Wofür braucht man denn so kurze und genaue Impulsfolgen? > Präzise Ansteuerung von Leistungstransistoren Mit 50ps Auflösung. Jaja . . .
Andi schrieb: > Und was schalten diese Leistungtransistoren? Leistung in der Regel, lieber Andi, Leistung schalten die, daher heißen sie so:-) Praktisch schalten sie Strom ohne etwas von der Spannung zu wissen. Die sieht aber der Verbraucher. Wie genau so etwas sein muss, hängt von der Anwendung ab: Ein massiger Mehrphasenmotor dreht sein Feld mit maximal 3000 UPM, sind 1Mio Winkelgrade, bei einer Auflösung von 1:100 (es werden 3600 PWM-Pulse je Winkelgrad fällig). Also 100MHz Auflösung. Somit müssen die Pulse also mit 10ns gerastert werden. Wenn die Ansteuerung Sinn machen soll, sollten die jeweils auf 1% genau sein -> 100ps Auflösung. Die sind aber mit einem IC und einem Oszillator eigenlich leicht hinzubekommen.
Okay, ich geb's auf, ist ja auch eine Zumutung einen Fragesteller nach der Anwendung zu fragen, bei der man ihm mit einer Lösung helfen soll.
Robotix schrieb: > Ein massiger Mehrphasenmotor dreht sein Feld mit maximal 3000 UPM, sind > 1Mio Winkelgrade, bei einer Auflösung von 1:100 (es werden 3600 > PWM-Pulse je Winkelgrad fällig). Also 100MHz Auflösung. Somit müssen die > Pulse also mit 10ns gerastert werden. Wenn die Ansteuerung Sinn machen > soll, sollten die jeweils auf 1% genau sein -> 100ps Auflösung. Nein, nicht Aufllösung sondern jitter (des Taktgenerators). Und natürlich macht eine Motorsteuerung allein mit 10 ns schon "Sinn". Kürzer zu fordern ist Unsinn. >Z. B. Laser die gepulst für sehr kurze Zeit eine sehr große Leistung >abgeben. Nein, die ultrakurzen Laserimpulse (fs) entsehen nicht durch An/Ausausschalten einer Laserquelle, sondern sind in der jeweiligen Laserquelle inherent. Geschaltet wird lediglich die Impulsfolgefrequenz (PRF - pulse repitition -ratio) und das optisch (AOM)), nicht elektrisch. https://de.wikipedia.org/wiki/Akustooptischer_Modulator https://de.wikipedia.org/wiki/Femtosekundenlaser >> Andi schrieb: >>> Wofür braucht man denn so kurze und genaue Impulsfolgen? >> Präzise Ansteuerung von Leistungstransistoren >Mit 50ps Auflösung. Jaja . . . Wer mit 50ps irgendwas schalten will, sollte mal mit den Grundgleichungen (bspw. (für Kapazität C = Q/U, strom I = Q/t, etc. pp) mal durchrechnen mit welcher Power er die parasitenkapazitäten überschwemmen muss um bspw. feldmäßig den Drain Source Kanal umgeschaltet zu kriegen. Wenn das nicht überzeugt, dann nochmal aber mit den Differentialgleichungen. Dann wird schon klar warum steile, hohe Flanken technisch schwer realisierbar sind.
C. A. Rotwang schrieb: > Wer mit 50ps irgendwas schalten will, sollte mal mit den > Grundgleichungen (bspw. (für Kapazität C = Q/U, strom I = Q/t, etc. pp) > mal durchrechnen mit welcher Power er die parasitenkapazitäten > überschwemmen muss um bspw. feldmäßig den Drain Source Kanal > umgeschaltet zu kriegen. Wenn das nicht überzeugt, dann nochmal aber mit > den Differentialgleichungen. Dann wird schon klar warum steile, hohe > Flanken technisch schwer realisierbar sind. Das ist ein sehr guter Einwand. Wir haben eine Anwendung, bei der ein Leistungs-FET mit zweistelligen MHz geschaltet wird. Dazu ist ein Gatetreiber nötig, der satte 19A liefern kann. Der Strom in das Gate ist kleiner als der Drain-Source-Strom, und der Gatetreiber hat so hohe Verluste, dass er einen Kühlkörper benötigt. Und da reden wir von Timings im Bereich von - villeicht - 5ns. Es braucht viel Know-How, um da 1ns reproduzierbares Timing hinzubekommen, und ps mit Leistungs-MOSFET halte ich für sehr schwierig. Das stecken eine Menge Abhängigkeiten wie die Temperatur und die Spannung mit drin. Natürlich ist das umso leichter, umso kleiner der FET ist, andererseits darf man bei kleineren FET auch nicht mit 19A ins Gate fahren.
foobar schrieb: > Du möchtest also eine Auflösung von ca 10ps? Andi schrieb: > Der Titel passt irgendwie überhaupt nicht zur Frage. Lothar M. schrieb: > Mit welchen Monoflops kommst du in den 10ps/100GHz-Bereich? hauspapa schrieb: > Leider gibt es da auch noch gewissse geometrische Einschränkungen. Robotix schrieb: > Andi schrieb: >> Und was schalten diese Leistungtransistoren? > Leistung in der Regel, lieber Andi, Leistung schalten die, daher heißen > sie so:-) Praktisch schalten sie Strom ohne etwas von der Spannung zu > wissen. Die sieht aber der Verbraucher. Schätze, der Ärmste hängt in einem Nebenmaximum fest, was immer er auch vor hat.
Er ist kopflos in den Sumpf der unbegrenzten Möglichkeiten der modernen Technik gerannt und weiß jetzt selber nicht was er vor hat.
Andi schrieb: > Jürgen S. schrieb: >> Andi schrieb: >>> Wofür braucht man denn so kurze und genaue Impulsfolgen? >> Präzise Ansteuerung von Leistungstransistoren > Und was schalten diese Leistungtransistoren? Würde ich auch fragen wollen. In so kurzen Zeiten kann kein Transistor durchschalten. C. A. Rotwang schrieb: > Nein, die ultrakurzen Laserimpulse (fs) entsehen nicht durch > An/Ausausschalten einer Laserquelle, sondern sind in der jeweiligen > Laserquelle inherent. Wie kurz sind solche Pulse minimal? Welche Anwendung benötigt so kleine Leistungspakete?
Einwand schrieb: > In so kurzen Zeiten kann kein Transistor > durchschalten. Will das der Threadersteller überhaupt? Also er will eine hohe zeitliche Auflösung, aber keine so irre kurzen Pulse. Da will er zwar auch sehr kurze Pulse, aber deutlich länger als 1 ns und vor allem sehr viel länger als die Auflösung. Ich würde mal behaupten, dass auch wenn der Transistor mehrere ns zum Schalten braucht, das einigermaßen konstant ist. Also die Zeit zwischen dem digitalen Signal und bis der Transistor einen bestimmten Widerstandswert erreicht hat. Wenn man da also digital eine kleine Verzögerung hat, dann sollte sich das direkt auf den Ausgang und somit die Pulslänge auswirken.
Gustl B. schrieb: > Einwand schrieb: >> In so kurzen Zeiten kann kein Transistor >> durchschalten. > > Will das der Threadersteller überhaupt? > > Also er will eine hohe zeitliche Auflösung, aber keine so irre kurzen > Pulse. Da will er zwar auch sehr kurze Pulse, aber deutlich länger als 1 > ns und vor allem sehr viel länger als die Auflösung. ...und trotzdem geht das nicht so einfach. Nimm die Miller-Ladung. Die ist Spannungsabhängig. Schon ein paar mV mehr, schon dauert das Einschalten ein bischen länger. 50ps Genauigkeit erreichst du damit nie. Oder nimm den Gatewiderstand. Der ist Temperaturabhängig, und beeinflusst die Schaltgeschwindigkeit. Gatetreiber sind auch keine Präzisionsbauteile und haben auch temperaturabhängige Schaltzeiten. Die liegen außerdem im zweistelligen ns-Bereich, mithin >Faktor 100 über den 50ps. Nein, 50ps reproduzierbar zusammnzubekommen ist nicht so einfach, wie sich das einige hier vorstellen ;-) Ich kann mir höchstens vorstellen, dass man das in einem geschlossenen Regelkreis irgendwie die Auflösung benötigen könnte. --> Es wäre mal toll, wenn Details zur Anwendung kommen würden.
Klar, 50 ps sind schon extrem. Ich wollte nur darauf hinweisen, dass wenn er hohe Auflösung will, das nicht bedeutet, dass es kurze Pulse sind. Wobei die 1 ... 2 ns Pulse auch schon sehr kurz sind.
Andi schrieb: > Und was schalten diese Leistungtransistoren? Und in was für > Maschinen/Geräten befinden sich die Leistungstransistoren und das, das > damit angesteuert wird? Teilchenbeschleuniger-Kavitäten. In meinem Fall ging es darum, dass die Pulse sehr genau übereinander liegen mussten, weil mehrere Transistoren gleichzeitig schalten sollten. Geschieht dies nicht voll synchron, kriegt man die Leistung nicht hin. In der Betrachtung von Picosekunden, sind das alles sehr flache Flanken, wie oben schon erwähnt, die aber bei hohen Spannungen dennoch zu Spannungsdifferenzen führen. Anders, als bei der klassischen Motorentechnik kann man aber nicht einfach zusätzliche Induktivitäten in die Pfade schalten um Querströme zu begrenzen.
:
Bearbeitet durch User
Hamburger schrieb > Aktuell benutze ich verkettete MonoFlops, deren Einstellung per digital programmiertem R erfolgen. Er arbeitet mit 74HC123 Monoflops und das kann man in jedem FPGA machen. Entweder kennt er die Bedeutung von n für nano nicht oder es war ein voll gelungener Trollversuch.
Einwand schrieb: > C. A. Rotwang schrieb: >> Nein, die ultrakurzen Laserimpulse (fs) entsehen nicht durch >> An/Ausausschalten einer Laserquelle, sondern sind in der jeweiligen >> Laserquelle inherent. > Wie kurz sind solche Pulse minimal? Da wird heutzutage auch von Atto-sekundenlaser gesprochen (10^-18), da frag mal einen Quantenphysiker wie kurz es theoretisch geht. > Welche Anwendung benötigt so kleine > Leistungspakete? Femtosekundenlaser werden in der Ophthalmologie eingesetzt, siehe auch Laser-in-situ-Keratomileusis (Lasik (augen lasern)). Falls ich es nicht mit einer anderen Laseranwendung verwechsle dann auch in der Fluoreszenzmikroskopie/STED/Photoactivated Localization Microscopy, für die es 2014 den Nobelpreis in Chemie gab. Ansonsten mal in die Wikipedia schauen, die ist beim stupiden Auflisten von populärwissenschaftlichen Errungenschaften wie diese noch brauchbar: https://de.wikipedia.org/wiki/Femtosekundenlaser
Helmut S. schrieb: > Entweder kennt er die Bedeutung von n für nano nicht oder es war ein > voll gelungener Trollversuch. Er hat ein Problem mit seinem FPGA. Das ist der Sumpf der unbegrenzten Möglichkeiten mit Fallstricken und Solperdrähten.
Die kommen auf dem LHC nicht weiter und versuchen nun während der Ereignisse Resonanzen zu erzeugen. Wahrscheinlich geht es darum einen stringtheoretischen Ansatz zu finden.
Helmut S. schrieb: > Er arbeitet mit 74HC123 Monoflops und das kann man in jedem FPGA machen. Mit denen lassen sich Zeiten aber durchaus feiner einstellen, als mit einem hochgetakteten FPGA. Nur nicht so reproduzierbar. Man darf den Jitter im FPGA nicht vergessen. FPGA-Ausgänge sind keine Wunder, was analoge Qualitäten angeht.
Ein vernuenftiges Monoflop, etwas schneller wie das 74LS123 ist das 100EP196, das kann in 10ps Aufloesungs Schritten delayen.
Joggel E. schrieb: > 100EP196, das kann in 10ps Aufloesungs Schritten delayen. Das scheint dein Lieblingschip zu sein :-) Beitrag "Re: Delay Time Measurement" Bei der Dynamik, die der TE möchte, muss er aber trotzdem einen Umschaltbaren Takt aus einer PLL nehmen, um die groben Stufen hinzubekommen, dann kann er auch gleich den FPGA-Ausgang nehmen. Die Anforderung scheinen aber viele zu haben: https://forums.xilinx.com/t5/Other-FPGA-Architectures/Adjustable-Clock-Delay-with-min-10ps-delay/td-p/747429
Beitrag #5989273 wurde von einem Moderator gelöscht.
Beitrag #5989282 wurde von einem Moderator gelöscht.
C. A. Rotwang schrieb: > Femtosekundenlaser werden in der Ophthalmologie eingesetzt, Die pulsen aber von selber so kurz und müssen nicht digital gefenstert werden, oder? Laser mit solchen Energien können sicher auch nicht so lang pulsen?
Die Pulsen von selbst so kurz. Allerdings mit einem Trick, welcher die Pulse von selbst verkuerzt. Zutat 1 : Ein Element, welches seine Verluste mit zunehmender Peakleistung verkleinert. Zutat 2 : Dispersionskompensator, welcher einen wellenlaengenabhaengigen Delay macht. Femtosekunden Laser laufen kuntinuierlich als Pulslaser. zB mit repetitionsraten von 100MHz. Man kann davon Einzelpulse, zB mit 10Hz verstaerken und die laufen dann eben mit 10Hz.
:
Bearbeitet durch User
Superhochaufloesenden PWM sind in den meisten Faellen phantasieloser Quatsch. Ich verwende in solchen Faellen bevorzugt Submodulation. Beispiel. Ich moechte einen 16bit PWM mit 60kHz. Kein Problem. Ein 8 Bit Zaehler laeuft mit 16 MHz, ergibt mein 60kHz PWM. Nun werden eben die 60kHz noch mit 8 bit moduliert. zB 94 mal der eine Wert, und 162 mal der andere Wert. Also PWM Wert = 0x2312 bedeuten : 8 Bit Divider = 0x23 Modulation : 0x12 mal den Wert 0x24 und 0xDE mal den Wert 0x23 laden Fertig.
Joggel E. schrieb: > Ich moechte einen 16bit PWM mit 60kHz. Kein Problem. Ein 8 Bit Zaehler > laeuft mit 16 MHz, ergibt mein 60kHz PWM. Mal abgesehen davon, dass das so nicht stimmt, sondern es 66kHz sein müssten und die auch nicht zu den geplanten 16 Bit passen, ist deine zweistufige Lösung nicht vergleichbar mit einer hochaufgelösten PWM. Die Aussage, dass diese in den meisten Fällen Quatsch sei, ist nicht nachvollziehbar.
Also eigentlich ist die PWM Frequenz bei Joggel E.s Verfahren 62.5 kHz für primäre 8 Bit Auflösung, und 244 Hz für 16 Bit Sub-modulierte Auflösung. Es gibt natürlich Anwendungen da reicht es, wenn man schnell den ungefähren Wert erhält und dann langsam den genaueren, aber das ist trotzdem keine 16bit PWM bei 60 kHz.
Ich plädiere ohnehin für eine PDM, wenn es um ein schnelles Nachführen des Wertes geht. Joggel E. schrieb: > Ein 8 Bit Zaehler laeuft mit 16 MHz, Schon mit 6MHz statt 16 kriegt man damit gutes Audio hin.
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.