Hallo,
ich möchte einen digitalen USB-Funktionsgenerator bauen. Um kurz einen
Überblick zu geben. Ein LPC1758 kommuniziert mit dem PC über USB und
bekommt von ihm die Daten für das Signal, Frequenz,....
Dieser schickt dann die Daten zu einem FPGA (CYCLONE III) weiter und
steuert außerdem noch die Verstärkerschaltung. Der FPGA schickt die
Daten dann mit 400MHz weiter zu einem 16Bit DAC.
Und jetzt kommt mein eigentliches Problem. Ich möchte den DAC immer voll
aussteuern, und die Amplitude und den Offset erst danach einstellen.
Zuerst habe ich an 3 OP (AD8000) Schaltungen gedacht:
die erste macht das Signal Offset frei
die zweite regelt die Amplitude
und die 3 addiert den Offset dazu
Eingestellt hätte ich die Amplitude und den Offset mit 10Bit
Digitalpotis.
Nun sind 10 Bit aber nicht gerade sehr viel für einen Spannungsbereich
von 10V. Außerdem sind die genauesten Digitalpotis die ich gefunden habe
auf 1% genau, lieber wären mir 0.5% oder 0.1%.
Was gibt es sonst noch für Möglichkeiten? Wie wird dies bei
Handelsüblichen Funktionsgeneratoren aufgebaut?
LG Alex
Welches Digitalpoti hat denn 100MHz Bandbreite?
Ich kenne nur welche die bei 100kHz schon überfordert sind.
Es gibt natürlich breitbandige Abschwächer aber die haben mit den
Digitalpotis nichts zu tun.
Ok, noch etwas, was ich nicht beachtet habe.
Sonst gibt es keine Möglichkeit die Verstärkung einer OP-Schaltung
(invertierender Verstärker, Subtrahierer und Addierer) digital zu
verstellen?
Alex schrieb:> Der FPGA schickt die Daten dann mit 400MHz weiter zu> einem 16Bit DAC.
Du kannst mir zweifellos mal eben kurz ein Beispiel für
einen DAC zeigen, der bei 400MHz effektiv 16Bit (ENOB)
hat, nicht wahr?
Alex schrieb:> Ich werde einen MAX5888 verwenden.
Welcher Optimismus.
Farnell: 0 Treffer
RS-Components: 0 Treffer
Bürklin: 0 Treffer
Arrow: 0 Treffer
Digikey: 4 Treffer; günstigster Preis bei 1 Stück: 59,17 Euro.
> Ist relativ billig
Na denn man tau...
> und sollte für 20MHz locker reichen.
Hmm. Für 25MHz langt bei mir ein NE521 und 6 Transistoren.
Aber jeder wie er mag... :-)
Ich habe schon 2 MAX5888 bei mir zu Hause, als samples ;)
Naja, ich will aber jedes beliebige Signal erzeugen können und dies über
den PC steuern. Also der eigentliche Funktionsgenerator hat keine Knöpfe
und keine Potis...
Alex schrieb:> Was gibt es sonst noch für Möglichkeiten?
10V Ausgamgssignal mit 400MHz oder sagen wir zumindest 20MHz? Das ist
ein leistungsstarker Sender, kein OpAmp.
Du brauchst eine slew rate von 1300V/us und einen Ausgangsstrom von
200mA.
Hier ein Beitrag von Leuten die sich mehr Gedanken gemacht haben:
http://seti.harvard.edu/synth/system.htm
Alex schrieb:> Ich habe schon 2 MAX5888 bei mir zu Hause, als samples ;)
Irgendsoetwas hatte ich schon vermutet...
> Naja, ich will aber jedes beliebige Signal erzeugen können
Naja. "Ich will jeden beliebigen Punkt in Deutschland erreichen
können. Von meinem Kumpel bei der Roten Armee habe ich eine MIG29
als Sample bekommen. Wie kann ich das Ding im Garten starten?
Schadet der Abgasstrahl etwa den Rosen? Ich will keinen Ärger
mit meiner Freundin bekommen... "
Entschuldige meinen Spott. Ist nicht böse gemeint. 400MHz/16Bit
ist kein Anfängerprojekt. Wirklich nicht.
Es gibt DDS-Chips in großer Zahl. Wenn Du aus denen zuverlässig
ein gutes Signal herausbekommst, kann man weitersehen.
Du solltest dir deinen Ansatz nochmals überlegen.
Ein 16bit DAC hat bei +-10V Ausgang eine Auflösung von 0,3 mV.
Wenn du die Amplitude im FPGA einstellst, sprich einen HW-Multiplikator
dafür opferst, kann du theoretisch die Amplitude in 0,3 mV Schritten
variieren.
Wenn du die Verstärkung nachträglich über Digitalpot oder ähnlichem mit
10 bit Auflösung veränderst kannst du die Amplitude lediglich in 20mV
Schritten variieren. Reicht dir das wirklich.
Den einzigen Vorteil deiner Variante sehe ich, dass du die Stufen des
Ausgangs mit kleinerer Amplitude auch verkleinerst. Aber ohne einen
entsprechend guten Tiefpass kommst du sowieso nicht aus.
Falls dir die Stufen bei kleiner Amplitude zu gross sind, könntest du
auch im Ausgangsverstärker einen 2. Bereich mit 1:8, 1:10 oder 1:16
Abschwächer einbauen. Lässt sich wesentlich leichter realisieren und ist
in der Genauigkeit per Präzisionsteiler oder digitalem Abgleich nahezu
beliebig genau zu realisieren.
Die groben Stufen macht man am besten nach dem DAC und Filter mit einem
variablen Abschwächer. Das kann ggf. auch nach dem letzten Verstärker
mit 50 Ohm Impedanz sein. Da braucht man auch nicht so viele Stufen: so
etwa 3 , 6 , 10 und 20 dB könnte schon reichen. Die feinen Abstufungen
(bis etwa 3 dB) kann man z.B. über die Ref. Spannung zum DAC machen - da
kann es auch sehr fein gestuft sein.
Bei 200 MHz wird man kaum mit +-10 V Amplitude arbeiten - eher mit rund
1 V.
Alex schrieb:> ich möchte einen digitalen USB-Funktionsgenerator bauen.
Wieder so ein grandioses Troll-Projekt. Du hast noch keine Ahnung davon,
was dich schaltungstechnisch erwartet, aber du weißt schon felsenfest,
daß das ganze mit einem LPC1758 und einem Cyclone III vonstatten gehen
muß. Dann kommst du zur genialen Schlußfolgerung, daß es 3 Stück AD8000
sein sollten, je einen zum DC-Pegel umsetzen, Amplitude verändern (womit
bloß?) und nochmal DC-Pegel umsetzen.
Offenbar hast du dir 1x LPC1758, 1x Cyclone 3, 2x MAX5888 und 3x AD8000
als Samples geschnorrt.
Junge, begnüge dich für's erste mit einem eher praktischen Projekt:
Gönne deinem Produkt einen Drehgeber für die Frequenz, einem 100 Ohm
Poti für die Amplitude und einem weiteren 100 Ohm Poti für das Offset
und einem einfachen LCD zum Anzeigen und laß den ganzen PC weg.
W.S.
Mit reinen OPVs würde ich bei den Frequenzen nicht hantieren, besonders
nicht wenn was eingestellt werden muss. Zum Einstellen der Verstärkung
empfiehlt sich ein VGA, z.B. AD833x, der hat einen analogen oder
digitalen Steuereingang. Manche lassen sich auch als AGC betreiben, die
sorgen dann automatisch für fullscale Aussteuerung des ADC.