Hallo Ich habe die Aufgabe eine ziehbare Frequenz möglichst Jitterfrei zu generieren. DDS wird vermutlich nicht ideal sein, da max ca. 600MHZ im FPGA realisierbar sind. Meine Idee ist nun einen 2. Oszillator an FPGA anzuschliessen und diesen differentiellen Clock Input im PLL vom FPGA zu verarbeiten. Über das FPGA wird dann mittels SPI/I2C die Frequenz des Oszillators verändert. Die Frage ist nun, wie reagiert der Intel PLL (MAX10 oder CycV) auf diese Frequenzänderung? (Selbst SITIME gibt im DB lediglich eine transition time an ohne Angabe wie smooth dies geschieht). Kann davon ausgegangen werden, dass ein smoother Frequenzübergang stattfindet?
Die Anforderungen "jitterfrei" und "PLL im FPGA" agieren ein wenig gegeneinander. Wozu soll denn der Takt im FPGA benutzt werden? Und wo wird "jitterfrei" benötigt? FPGA-PLLn sind nicht unbedingt die Olympiasieger unter den Taktgeneratoren aber auf der anderen Seite derart tolerant, dass sie mit so ziemlich allem gefüttert werden können, was als Takt gilt und dann immer noch genug Filterung zusammenbringen, um einen intern nutzbaren Takt zu erzeugen. Es müsste also erstmal das REQ herausgestellt werden, wo der jitterarme Takt benötigt wird. Soll der als REF-Takt irgendwo hin, muss die Ziel-PLL entsprechend arbeiten. Das gilt auch für DACs in typischen Anwendungen. Beispiel Audio-DAC: Eine externe Schaltung liefert einen Quarz-gefilterten Takt auf den DAC, der nutzt seine interne ("harte") PLL und ist damit innen super clean. An dessen Ausgangs- oder alternativ dessen Eingangstakt nuckelt der FPGA und macht seinen internen Takt. Der ist schlechter, jittert aber immer noch wenig genug, um die Daten an den DAC zu übergeben. In einigen Fällen hat der DAC keine eigene PLL, dann hängt es wirklich an dem primären Takt. Den dann über Takttreiber parallel an FPGA und DAC. Auch dann kommt der jitter im FPGA nicht an den DAC durch. Für ADC-Schaltungen gilt das gleiche. Zu der anderen Frage, was die PLL macht, wenn du die Frequenz einfach unschaltest, müsste man den Chip genauer ansehen. Du wirst davon ausgehen müssen, dass du auch beim Umschalten im Bereich der Taktflanken einen Schwinger bekommen wirst - zumindest wenn die Frequenzen stark springen. In Synthesizern machen wir das mit weichem, kriechenden Umschalten der Frequenzen zu den richtigen Zeitpunkten und einem Verstellen der Resonanzfrequenz der PLL-Schaltung. Diese widerum muss dann diskret gebaut werden und kann auch kein allzugroßes Q haben. Ich hätte so eine Schaltung bis ca 6 MHz. Komplett aus dem FPGA gesteuert. Das Umschalten der Frequenzen ist einstellbar, sie schwingt S-förmig auf den neuen Wert und agiert mit den programmierbaren IOs um die Phasen perfekt zu schieben. Gibt es für Virtex 6, Artix 7 und Kintex-Ultrascale.
:
Bearbeitet durch User
Hallo Danke für die Antwort Etwas ausführlicher zu meiner Problemstellung: Benötigt wird eine Frequenz welche im Bereich 1-5 MHz um ca. +/- 70kHz "smooth" ziehbar ist. (Das Festlegen der "Grundfrequenz" im Bereich 1-5MHz darf zu einem Unterbruch des Outputs führen). Duty sollte genau 50% sein, der Jitter weitestgehend minimal sowie kein "komisches" Verhalten beim Ziehen der Frequenz. Der Frequenzzug sollte im ms Bereich erfolgen können. Meine Lösungsidee war/ist ein ziehbarer SiTime in Kombination mit einem PLL (FPGA intern). Durch den FPGA PLL wird die Grundfrequenz (u.U. relativ grob) gewählt und danach lediglich über den Sitime während des Betriebes gezogen (Je nach PLL Einstellungsmöglichkeit relativ stark). J. S. schrieb: > Ich hätte so eine Schaltung bis ca 6 MHz. Komplett aus dem FPGA > gesteuert. Das Umschalten der Frequenzen ist einstellbar, sie schwingt > S-förmig auf den neuen Wert und agiert mit den programmierbaren IOs um > die Phasen perfekt zu schieben. Perfekt! J. S. schrieb: > In Synthesizern machen wir das mit weichem, kriechenden Umschalten der > Frequenzen zu den richtigen Zeitpunkten und einem Verstellen der > Resonanzfrequenz der PLL-Schaltung. Diese widerum muss dann diskret > gebaut werden und kann auch kein allzugroßes Q haben. Also eine externe analoge Schaltung agiert mit einem ebenfalls externen PLL? Ich vermute, ich habe da was missverstanden denn dies widerspricht: J. S. schrieb: > Gibt es für Virtex 6, Artix 7 und > Kintex-Ultrascale.
Max M. schrieb: > Hallo > > Ich habe die Aufgabe eine ziehbare Frequenz möglichst Jitterfrei zu > generieren. DDS wird vermutlich nicht ideal sein, da max ca. 600MHZ im > FPGA realisierbar sind. Schwammiger geht es wohl wieder nicht. Wie soll den "gezogen" werden? Analog oder digital mit welcher Aufloesung? Etwas spaeter erfaehrt man dann, dass ein 50 % Duty reicht. Was wohl ein Rechteck ist. Am besten kauft ihr einen alten HP 3325A. Der kann ganz "smooth" in Schritten von 1 µHz "gezogen" werden. Alternativ kann man sich davon auch gedanklich inspirieren lassen. Abseits von DDS kann man das bei nur wenigen MHz auch in einem FPGA selbst erledigen. > Die Frage ist nun, wie reagiert der Intel PLL (MAX10 oder CycV) auf > diese Frequenzänderung? (Selbst SITIME gibt im DB lediglich eine > transition time an ohne Angabe wie smooth dies geschieht). > Kann davon ausgegangen werden, dass ein smoother Frequenzübergang > stattfindet? Wohl am besten, in dem ihn nicht benutzt, und den FPGA mit einem jitterarmen Taktsignal entsprechender Frequenz versorgt.
Max M. schrieb: > Also eine externe analoge Schaltung agiert mit einem ebenfalls externen > PLL? > Ich vermute, ich habe da was missverstanden denn dies widerspricht: > J. S. schrieb: >> Gibt es für Virtex 6, Artix 7 und >> Kintex-Ultrascale. die externe analoge Schaltung IST die PLL. Deren Resonanzfrequenz muss ja einstellbar sein. Praktisch ist es ein Bandbass. Sowas gibt es in den FPGAs zwar auch, aber nur grob. Bei Altera z.B. konnte man früher noch den Frequenzbereich einstellen, bei Xilinx geht es indirekt über die Vorwahl der Methode der Jitter-Unterdrückung.
Motopick schrieb: > Am besten kauft ihr einen alten HP 3325A. Der kann ganz "smooth" > in Schritten von 1 µHz "gezogen" werden. Nun der Änderungsvorgang ist meines wissens alles andere als smooth. (Zumindest bei meinem etwas modereneren Modell). J. S. schrieb: > die externe analoge Schaltung IST die PLL. Deren Resonanzfrequenz muss > ja einstellbar sein. Praktisch ist es ein Bandbass. > > Sowas gibt es in den FPGAs zwar auch, aber nur grob. Bei Altera z.B. > konnte man früher noch den Frequenzbereich einstellen, bei Xilinx geht > es indirekt über die Vorwahl der Methode der Jitter-Unterdrückung. Also ein exterenes PLL ASIC, welches noch zusätzlich eine Analoge beschaltung benötigt? Kannst du mir evtl. den entsprechenden Typ? Dessen konfiguration erfolgt dann über I2C/SPI vom FPGA her? Motopick schrieb: > Etwas spaeter erfaehrt man dann, dass ein 50 % Duty reicht. > Was wohl ein Rechteck ist. Ja ist Rechteck mit 50% Duty, Frequenzbereich 1-5MHz, dabei um +/-70 kHz ziehbar. Dies "smooth" also z.b. S-Shape, einfach keine phasensprünge, glitches etc.
Bin soeben auf die ASICS: Si5351A/B/C sowie Si570/Si571 aufmerksam geworden. Aud dem DB des Si570 As shown in Figure 3, the device allows reprogramming of the DCO frequency up to ±3500 ppm from the center frequency configuration without interruption to the output clock. Changes greater than the ±3500 ppm window will cause the device to recalibrate its internal tuning circuitry, forcing the output clock to momentarily stop and start at any arbitrary point during a clock cycle. This re-calibration process establishes a new center frequency and can take up to 10 ms. Circuitry receiving a clock from the Si57x device that is sensitive to glitches or runt pulses may have to be reset once the recalibration process is complete. Also wenn ich dies korrekt verstehe, geht +/-3500ppm smooth (kein glitch/runt pulse etc)? Diese Lösung wäre einfach, wie vergleichst sich die performance zu deiner Lösung?
Max M. schrieb: > Also ein exterenes PLL ASIC, welches noch zusätzlich eine Analoge > beschaltung benötigt? Kannst du mir evtl. den entsprechenden Typ? > Dessen konfiguration erfolgt dann über I2C/SPI vom FPGA her? Nee, eine "richtige" analoge Schaltung mit Filtern, die aus Bauteilen aufgebaut ist, deren Verhalten beeinflusst wird, wie z.B. der Widerstand einer CE-Bahn in einem Transistor durch dessen Basis-Spannung. SPI-programmierbar ist da nichts. Im konkreten Fall steuert eine stark gefilterte PDM-Spannung, die sich praktisch im Audioband ändert, besagte Filterschaltung. Ob und was es da an ASICs gibt, die das fix und fertig genau so können, kann ich nicht sagen. Einer meiner Kunden hat mir einen HF-ASIC vorgestellt, der Frequenzen sehr microgranular shapen kann. Da stecken wahrscheilich solche Schaltungsteile drin, würde ich sagen. Die sind aber ein ganz klitzekleines bischen zu teuer für deinen Zweck und die von mir beschriebene Methode wäre auch nur für den Fall interessant, dass man full range continous arbeiten muss.
Ich würde in deinem Fall zu einer programmierbaren PLL raten, wie eben jene: Max M. schrieb: > Bin soeben auf die ASICS ... aufmerksam geworden. ... wobei ich da nicht sehe, dass die range von 0,3% für deine 70kHz reicht. Solche Schaltungen nutzt man auch eher zur aktiven Phasenregelung auf der Basis einer bekannten Frequenz. Mit DEM range (schön dass du uns den nun veraten hast) wird das auf eine mehrstufige DDS hinauslaufen. Dazu fehlt noch das REQ in welchen Stufen = Zentralfrequenzen die PLL arbeiten muss. Die müssen mit einer DDS abbildbar sein. Eventuell schaffst du es, umschaltbare DDS-Frequenzen zu erzeugen, die den 1-7 M range genügend fein abbilden, damit die 0,3% reichen. Das wären ja minimal 20kHz. Daraus lese ich rund 300 Frequenzen ab, die die DDS liefern müsste - wenn man alle Frequenzen braucht. Frage: ist das so? Dann brauchst du entweder doch programmierbare Filter oder eine Kaskade an Bauteilen. Das wird sportlich - ginge aber und das sogar mit einer fließenden Übergabe der Frequenzbereiche: Du brauchst eine schlaue EXCEL Tabelle, die diese Frequenzen berechnet, die Ganzzahlkoeffizienten und die benötigte Taktfrequenz ermittelt und kannst dich dann daran machen, ein paar Quarze samt programmierbaren Taktgeneratoren mit umschaltbaren Eingängen auf das PCB zu pappen, welche dir die Frequenzen machen. Ich sehe da so 4-5 Stufen je nach Frequenzdichte. Das Ganze braucht es zweimal, um beim Umschalten der Zentralfrequenz, wenn die 10ms Totzeit zuschlagen, von einem Chip-Pfad auf den anderen per Analogschalter zu wechseln. Im Prinzip ist das das Doppelkupplungsgetriebe in Elektronik. Mit FPGAs habe ich Ähnliches schon gemacht, aber deren PLLs dürften mit Bezug zu meinem Beitrag oben in der Qualität hier eventuell nicht reichen. Dazu müsstest du wirklich mal vollständig deine Anforderungen beschreiben, z.B. was "möglichst wenig Jitter" auf ingeniörisch (-> dedizierte Zahlen) heißen soll und wie schnell man umschalten möchte. Hier fehlen wieder mal die Anforderungen und es spannen sich mehrere Lösungen auf, die nicht unbedingt alle zielführend sind. Ich glaube ohnehin, dass dieses hier angedachte ziehbare System wieder mal eine der superspeziellen Lösungen ist, die nur deshalb auftauchen, weil die eigentliche Funktion, die wirklich benötigt wird, in einen ungeschickten Lösungsansatz umgesetzt wurde, weil keine klaren Vorstellungen über "wenig", "genau", "schnell" und die wirklichen Ziele vorliegen und zu wenig Wissen über die Qualitäten von Chips und deren Möglichkeiten bekannt sind und man deshalb nach der Methode von Prof. Haudrauf arbeitet. Das mündet dann meistens in eine große, umständliche Schaltung, die unötig teuer ist, lange zur Fertigstellung braucht, zu 90% aus überdesignten Komponenten besteht und daher äußerlich nach rocket science ausschaut, dann aber irgend eins der anderen 10% Restbauteile infolge von Fehlplanung und nichtdurchdachtem Konzept die Qualität in die Kreisklasse runterzieht. Ich habe nämlich den Verdacht, dass man hier auch mit einem abstimmbaren Analogschwingschaltkreis arbeiten könnte, welche einen gut filterbaren Sinus von z.B. 8-60 MHz erzeugt, den man in ein Rechteck kompariert, auf 4 -30MHz runterteilt, vermisst und per lock-in-Funktion langsam in der Frequenz ins Ziel regelt - von mir aus digital. Dann geht das Ganze nochmal durch 2 oder 4 und man hat seine 1-7MHz. So macht man das heute in modernen Analogsynthesizern, damit die Frequenzen beim Warmlaufen nicht wegwandern.
Danke JS J. S. schrieb: > Dazu fehlt noch das REQ in welchen Stufen > = Zentralfrequenzen die PLL arbeiten muss. Die müssen mit einer DDS > abbildbar sein. Angedacht war dies ursprünglich aufs kHz genau einstellbar. Nun dies könnte natürlich auch auf 10kHz genau erhöht werden, aber das löst das Problem, so wie ich das sehe noch nicht? J. S. schrieb: > Die sind aber ein ganz klitzekleines bischen zu teuer für deinen Zweck > und die von mir beschriebene Methode wäre auch nur für den Fall > interessant, dass man full range continous arbeiten muss. Also ca. 4-6 stelling EUR/pcs? J. S. schrieb: > Dazu müsstest du wirklich mal vollständig deine Anforderungen > beschreiben, z.B. was "möglichst wenig Jitter" auf ingeniörisch (-> > dedizierte Zahlen) heißen soll und wie schnell man umschalten möchte. > > Hier fehlen wieder mal die Anforderungen und es spannen sich mehrere > Lösungen auf, die nicht unbedingt alle zielführend sind. > > Ich glaube ohnehin, dass dieses hier angedachte ziehbare System wieder > mal eine der superspeziellen Lösungen ist, die nur deshalb auftauchen, > weil die eigentliche Funktion, die wirklich benötigt wird, in einen > ungeschickten Lösungsansatz umgesetzt wurde, weil keine klaren > Vorstellungen über "wenig", "genau", "schnell" und die wirklichen Ziele > vorliegen und zu wenig Wissen über die Qualitäten von Chips und deren > Möglichkeiten bekannt sind und man deshalb nach der Methode von Prof. > Haudrauf arbeitet. Ja gebe dir recht. Es besteht aktuell eine analoge Lösung, welche das Ziehen über eine analoge Spannung aus der SPS macht. Die Physiker einer anderen Abteilung haben sich darüber beschwert, dass wir mit unserer unkonstannten Frequenz ihre Messungen negativ beeinflussen und dies besser gemacht werden soll. Da weder die Spezifikation der aktuellen Lösung vorhanden, noch Motivation diesbezüglich vom direkten Kunden wirklich vorhanden ist, wurde dies einfach so an uns weitergeleitet: Könnt ihr da was machen? J. S. schrieb: > um beim Umschalten der > Zentralfrequenz Das kann Minuten dauern ohne Output- kein problem. Betrieb ist bei einer ZF Wahl dann +/-70kHz. J. S. schrieb: > Das > wären ja minimal 20kHz. Daraus lese ich rund 300 Frequenzen ab, die die > DDS liefern müsste - wenn man alle Frequenzen braucht. Frage: ist das > so? Nein war nicht so gedacht. Die Idee war eine beliebige Wahl der ZF (im Bereich 1-5MHz) und von dieser +/-70kHz ziehbar. Einschränkungen in der ZF Wahl könnten natürlich durch die Vergrösserung des Ziehbereiches erreicht werden. Dies ist, was die aktuelle Implementierung kann- wird aber nicht vollständig genutzt- könnte mit Kunde diskutiert werden. J. S. schrieb: > Ich habe nämlich den Verdacht, dass man hier auch mit einem abstimmbaren > Analogschwingschaltkreis arbeiten könnte, welche einen gut filterbaren > Sinus von z.B. 8-60 MHz erzeugt, den man in ein Rechteck kompariert, auf > 4 -30MHz runterteilt, vermisst und per lock-in-Funktion langsam in der > Frequenz ins Ziel regelt - von mir aus digital. Dann geht das Ganze > nochmal durch 2 oder 4 und man hat seine 1-7MHz. Also ein VCO mit Filter und Regelschleife? Klingt mir relativ ähnlich zu PLL :P Edit: J. S. schrieb: > Daraus lese ich rund 300 Frequenzen ab, die die > DDS liefern müsste - wenn man alle Frequenzen braucht Hier besteht evtl. ein Missverständniss: Ziel ist nicht alle Frequenzen abbilden zu können sondern bei einer wählbaren ZF smooth über einen Bereich ziehen zu können. Mit smooth meine ich hier = Keine Glitches, abnormalen Phasen/Frequenzsprünge, Unterbrüche etc., sondern über etliche Perioden sich allmählich an der neuen Frequenz annähern. Linear oder S-Shape Rampe.
:
Bearbeitet durch User
Oder halt doch sowas analoges wie z.b. aus dem DB vom guten alten AD9851. Existiert hier eine etwas modernere/bessere alternative?
:
Bearbeitet durch User
Max M. schrieb: > Oder halt doch sowas analoges wie z.b. aus dem DB vom guten alten > AD9851. Dann hast du aber doch eine klassische einstufige DDS mit eben jenen nicht gewünschten Phasensprüngen. Gegenüber einer einfachen FPGA-Lösung ist der Chip nur dahingehend besser, dass er mit einer größeren Tabelle und erheblich höherer Frequenz arbeitet. Als Beispiel 2GHz gegen evtl 400 MHz im FPGA. Daher sind die Phasenfehler entsprechend kleiner. Will man das toppen braucht es eine 2/3-stufige DDS, d.h. die erste erzeugt eine Frequenz die ein exaktes Vielfaches der Zielfreuenz ist. Die Vervielfachung wird so angepasst, dass sie in ein möglichst enges Frequenzband fällt. Dort wird gedithert und gefiltert. Das passiert mit einem Bandbass und nicht nur einem Tiefpass, wie bei einer klassischen DDS und arbietet entsprechend wirksamer. Ab da hat man eine passende Frequenz mit noch etwas Jitter, um eine weitere DDS anzutreiben, die aber ganzzahlig läuft. Auch da wird wieder gedithert und gefiltert, um die Artefakte in den Spektralbereich jenseits der Filterfrequenz zu bringen. In deinem Fall würde ich auch für die erste DDS Ganzzahlen definieren und die entstehenden Frequenzen nehmen, wie sie kommen.
Anstelle der mehrstufigen DDS oder analogen Filterung kannst du auch einfach einige jitter cleaner verwenden. 2-3x Si5326 und der DDS jitter verschwindet im phasenoise. Ob der 5326 aber mit dem Clock vom 9851 stabil läuft oder ob der PLL ausser tritt gerät kann ich nicht sagen. Der 9914 oder wenn zu teuer der 9912 ist die bessere Wahl als der 9851.
:
Bearbeitet durch User
> Bin soeben auf die ASICS: > Si5351A/B/C > sowie > Si570/Si571 > aufmerksam geworden. Beim Si5351 hab ich festgestellt dass auf der Frequenz ein leichter Wobbel drauf ist, der sich störend bemerkbar macht wenn man SSB auf höheren Frequenzen (433MHz oder höher) machen will (der SI5351 war die Referenz für einen ADF4351). Ich hab dem Si5351 schon für SSB auf Kurzwelle gesehen, bei den niedrigen Frequenzen stört der Effekt weniger.
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.