PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Funktionsgenerator mit einem AD9835



Kampi
23.08.2011, 21:08
Hallo,

ich bin gerade dabei mir einen Funktionsgenerator zusammen zu bauen. Als Grundlage wollte ich einen AD9835 nehmen der durch einen XMega angesteuert wird. Soweit ich weiß erzeugt der AD9835 aber nur Sinus-Wellen oder irre ich mich da?
Wie kann man am besten ein Rechteck und ein Dreieck (beide Frequenzen Einstellbar) erzeugen? Sie sollten möglichst Frequenzstabil sein und möglichst genau und das bei Frequenzen von bis 50MHz so wie der Sinus.

Danke für die Hilfe.

Gruß
Daniel

Besserwessi
24.08.2011, 17:16
Das Rechteck macht man beim DDS ohnehin besser aus dem Sinus. Also erst mal mit dem DDS IC und Rekonstruktionsfilter den Sinus herstellen, und dann per Komperator oder Schmidt-trigger daraus ein Rechteck machen. Damit man genau 50% Tastverhältnis bekommt sollte man ggf. einen Trimmer vorsehen, oder halt einen zusätzlichen Teiler :2 für die nicht ganz hohen Frequenzen.

Der AD9835 geht bis 50 MHz Samplingtakt. Theoretisch sind damit knapp 25 MHz drin, praktisch wird die Grenze eher bei 15 MHz liegen, wenn man keinen extremen Aufwand beim Rekonstruktionsfilter betreibt. Die Frequenz für ein Rechtecksignal könnte man ggf. per PLL noch anheben um einen konstanten Faktor, auch über 50 MHz hinaus. Für 50 MHz Sinus sollte es dann schon ein AD9850 oder besser AD9851 sein.

Dreieck ist schon schwieriger - Das Dreieck der DDS Chips selber ist bei hohen Frequenzen nicht mehr gut, sofern der Chip das überhaupt erzeugt. Da müsste man dann einen analogen Rechteck-Dreieck Wandler aufbauen, mit einem Integrator und Kontrollschaltung für den Nullpunkt und die Amplitude. Dazu wird man in der Regel eine Umschaltung je nach Frequenz brauchen, zumindest grob.

Kampi
24.08.2011, 18:44
Hallo,

danke für deine Antwort. An einen Schmitttrigger bzw Komparator hab ich auch schon gedacht, nur ich wusste nicht ob das mit den Frequenzen überhaupt geht. Das der DDS Chip nur max 25MHz schafft hab ich heute morgen auch erfahren als mir das Nyquist-Shannonsche Abtasttheorem nochmal in den Sinn kommt, was ja besagt das man zum erfassen einer Frequenz mind eine Frequenz braucht die mehr als doppelt so groß ist. Umgekehrt heißt das mit einer Frequenz kann man nur eine Frequenz erzeugen die etwas kleiner als halb so groß ist ;)
Soweit ich weiß gibt der AD9835 kein Dreieck raus d.h. ich muss es selbst erzeugen. Da muss ich dann mal schauen wie ich das am sinnvollsten mache. Ich könnte das Dreieck auch per DDS mit einem PSoC erzeugen nur ich weiß nicht wie ich die Frequenz da sauber erhöhen kann.

Besserwessi
24.08.2011, 19:24
Es gibt auch DDS Chips die auch Dreieck ausgeben können, z.B. AD9833. Der geht aber nur bis etwa 10 MHz (praktisch eher 8 MHz) und das Dreiecksignal wird vermutlich nur bis etwa 1 MHz noch den Namen verdienen, denn es fehlen auch alle Oberwellen über etwa 10 MHz.

Das mit dem Komperator geht schon so schnell. Beim AD9850 ist der passende schnelle Komperator auch schon drin.

Mit viel Aufwand kann man auch über die Nyquistgrenze hinaus: Man nutzt dann geziehlt eine Spiegelfrequenz. Als Rekonstruktionsfilter braucht man dann aber einen passenden Bandpass und damit man keine Lücken im Frequenzbereich bekommt, muss man die Taktfrequenz umschalten. Für nur 50 MHz lohnt das aber eher nicht. Da wäre der AD9850 einfacher und wohl auch günstiger.

Für das Dreieck gibt es auch noch die Möglichkeit einen Spannungsgesteuerten Dreieck/Rechteck Generator per PLL an die DDS Frequenz anzubinden. Für Niedrige Frequenzen bis ca. 100 kHz könnte das z.B. auch ein XR2006 sein. Es gibt auch ähnliche Schaltungen einzeln aufgebaut und teils schneller, z.B. für die alten analogen Funktionsgeneratoren. Für die alten HP findet man da zum Teil sogar Schaltpläne im Netz.

Kampi
24.08.2011, 19:56
Die Frequenz des Rechtecks stellt sich dann ja automatisch mit der Frequenz des Sinus ein wenn ich einen Komparator verwende oder? D.h. Frequenz Sinus = Frequenz Rechteckt. Kann man das Tastverhältniss vielleicht regeln indem man einen D/A - Wandler an den 2. Pin vom Komparator anschließt? Und ich denke mehr als die 15MHz brauch ich für den Hobbybereich auch nicht ;)
Es geht mir einfach nur um einen einfachen Frequenzgenerator ohne viel Aufwand. Ich will es nicht mit dem Aufwand übertreiben nur damit ich Frequenzen von 100MHz oder mehr schaffe.

Besserwessi
24.08.2011, 20:27
Mit dem Komperator ist die Frequenz des Rechteck gleich der des Sinus. In Grenze (von vielleicht 10-90%) und nicht linear kann man das Tastverhältnis wie vorgeschlagen per DA Wandler verstellen - am Ende des Bereichs werden die Fehler größer und Jitter nimmt zu. Ein PWM Signal erzeugt man in der Regel besser direkt mit dem Timer im µC. Da kommt es nur selten auf eine fein einstellbare Frequenz an.

Vor allem für die niedrigen Frequenzen (unter 10 kHz ?) könnte es nötig sein das der Komperator etwa Hysterese hat, damit er nicht auf Rauschen oder Überschwinger des Filters reagiert. Notfalls müsste man für die niedrigen Frequenzen (Rechteck) einen zusätzlichen Teiler vorsehen. Und per DDS dann nur Rechteck über ca. 10 kHz erzeugen - das Tastverhältnis kann man dann aber nicht mehr verändern.

Ein gar nicht so einfacher Punkt ist noch der Ausgangsverstärker.

Kampi
24.08.2011, 21:05
mmmh ok. Ich hab nochmal überlegt und ich denke ein AD9850 wäre die bessere Wahl wenn ich auch Rechteck dazu haben will.
Und ja fürs PWM Signal ist die Frequenz egal......ganz vergessen :D da ist nur das Tastverhältniss wichtig und das kriegt der Controller denk ich mal noch gebacken.
Verstärker hab ich mir noch gar keine Gedanken drüber gemacht.....wie macht man den den am besten? Kenn mich in dem Thema auch nicht gerade gut aus.....

Kampi
25.08.2011, 17:26
So ich hab mich heute auf der Arbeit mal mit einem Arbeitskollegen dadrüber unterhalten und er hat mich gefragt warum ich nicht einen AD9837 nehme. Das ist ein Programmable Waveform Generator.
Hat jemand ein paar Infos über den Baustein? Also wie die Wellenform so ist usw, weil laut Datenblatt soll er mit einem Takt von 16MHz betrieben werden, was eine Frequenz von paar 8MHz geben dürfte. Ist zwar weniger als eigentlich geplant aber dafür hab ich Rechteck, Dreieck und Sinus in einem Bauteil was den Aufwand sehr gering hält und das IC ist auch nicht super teuer.

Besserwessi
25.08.2011, 17:39
Nur wegen dem Rechteck braucht man den AD9850 nicht, der Hauptunterschied liegt in der Geschwindigkeit. Schnelle Komperatoren gibt es auch einzeln.

Beim Verstärker ist das übliche einer mit +-10 V als Spannungshub und mit 50 Ohm als Ausgangswiderstand. Der Ausgangswiderstand ist im HF Bereich hilfreich wenn man Koaxkabel anschließen will und sorgt auch gleich für einen Kurzschlussschutz. Die Methode der Wahl ist da ggf. ein Aufbau aus diskreten Transistoren, oder wenn man mit etwa weniger Amplitude auskommt auch ein schneller Operationsverstärker, bzw. ein Videoverstärker.

Für den NF Bereich (bis vielleicht 50 kHz) wäre ggf. noch so etwas wie ein Audioverstärker interessant, niederohmig (z.B. 1 Ohm) und mit Strombegrenzung als Kurzschlussschutz . Für viel höhere Frequenzen geht es aber kaum, da bekommt man Problem mit der Stabilität.

Ganz unwesentlich ist für ein PWM Signal die Frequenz auch nicht, aber es reicht meist die grobe Stufung die der µC hinbekommt.

wkrug
25.08.2011, 20:05
Wir haben kürzlich einen Funktionsgenerator mit nem AD9834CRUZ entwickelt.
Macht bis 20MHz recht saubere Sinus, Dreieck und Rechteck ( TTL ) Wellen.
Als Ausgangstreiber haben wir einen AD8000 verwendet.
Um auch AM realisieren zu können wurde noch ein D/A Wandler vom Typ AD5620 verwendet.
Der D/A Wandler wirkt direkt auf den FS Adjust Pin und steuert somit die Amplitude direkt über den DDS Chip.
Will man das Ausgangssignal allerdings symetrisch AM Moduliert haben ( unsere Version macht das nur einseitig ), müsste man entweder den IOUT und IOUTB Ausgang benutzen und die beiden Siganle über gleiche Filter zu einem Differenzverstärker führen, oder anstatt des AD8000 einen VCA verwenden.
FM und Phasenmodulation wurden per Software im ATMEGA 644 gemacht.
Bei FM geht leider nur Rechteckmodulation - Die Hardware SPI war zu langsam für Sinus oder Rampentabellen.
Mit nem XMEGA sollte aber auch das möglich sein.
Anbei der Schaltplan - Ein paar Bauteilewerte stimmen da noch nicht ( Filter ) und A / K des Displays sind miteinander vertauscht.
Ansonsten läuft das Teil recht gut:
19780

Kampi
25.08.2011, 20:18
Hey supi :)
Dank dir vielmals ich schau da mal drüber.

Edit: Ich kann die Grafik nicht öffnen?

wkrug
25.08.2011, 20:24
Hab die Datei ein paar mal hochgeladen, weil mit 800 Pixel Breite nichts zu erkennen war.
Lösch mal den Cache und probiers noch mal.

Kampi
25.08.2011, 20:28
Gut klappt. Danke!

Kannst du mir vielleicht den Schaltplan als Eagle-Datei schicken? Das Problem an dem Bild ist das man nichts mehr erkennt wenn es größer ist :(

wkrug
26.08.2011, 11:53
Du hast ne E-Mail!