mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Sinus Referenz 100 kHz


Autor: Gustl B. (-gb-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, ich werde bald mal einen 16 Bit 1 MSample/s ADC 
verbauen/layouten. Den möchte ich natürlich testen. Dafür habe ich zur 
Verfügung den Signalgenerator im Oszi und der ist naja, nicht so 
sonderlich. Dann habe ich an einem FPGA 14 Bit 125 MHz DACs, da könnte 
ich selber mit DDFS einen Sinus ausgeben, aber auch der rauscht dann 
deutlich mehr als ich möchte.

Gibt es irgendwo günstig zu kaufen oder selber aufbaubar eine 
Hardware/Schaltung die einen sehr sauberen Sinus erzeugt? Als Frequenz 
wäre irgendwas aus dem Bereich 50 bis 200 kHz ganz brauchbar.

: Bearbeitet durch User
Autor: Alexander S. (alesi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Gustl B. (-gb-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank, ist abgespeichert. Ich würde aber irgendwie doch lieber was 
kaufen. Einfach weil ich dann weiß, dass es gut ist. Wenn ich das selber 
aufbaue und dann den ADC teste, wie soll ich feststellen ob meine Quelle 
oder das ADC-Layout schlecht ist?

Autor: Audiomann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gustl B. schrieb:
> Dann habe ich an einem FPGA 14 Bit 125 MHz DACs,
Rauscht er analog oder sind das die Quantisierungen die Du meinst?

Autor: Gustl B. (-gb-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gute Frage, Quantisierungsrauschen ist ja bei DDFS immer dabei, aber 
auch analog rauscht der vermutlich. Ich hab das vor längerer Zeit einmal 
getestet und da war das Rauschen recht hoch, weiß aber nix genaues mehr. 
Aber wäre denn ein 14 Bit DAC überhaupt geeignet einen 16 Bit ADC zu 
testen?

Autor: vorticon (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Ein einfacher Quarzoszillator duerfte beim Rauschen jeden DDS-Chip in 
den Schatten stellen. 100kHz Quarze gibts auf Ebay (die ganz grossen). 
Kaufen kann man natuerlich alles - aber eher nicht billig.

Autor: Harald W. (wilhelms)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gustl B. schrieb:

> irgendwas aus dem Bereich wäre 50 bis 200 kHz ganz brauchbar.

Wie wärs denn mit 77,5 kHz?

Autor: Gustl B. (-gb-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn es rauschfrei ist. Also mir geht es nicht drum, dass die Frequenz 
nicht driftet oder so, sondern dass das Rauschen sehr leise ist.

Autor: vorticon (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Ja, also einen einfachen rauscharmen Oszillator aus der 
Empfaengertechnik. Natuerich geht auch ein normaler Schwingkreis. Ein 
Quarzoszillator hat demgegenueber ein sehr viel geringeres 
Phasenrauschen, denke ich. Beides ist einfacher und besser als DDS.

Autor: Georg (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gustl B. schrieb:
> Ich würde aber irgendwie doch lieber was
> kaufen. Einfach weil ich dann weiß, dass es gut ist.

Dann schau mal hier:

http://www.helmut-singer.de/stock/x26.html

und wähle links Hewlett Packard 3325B

Ist sicher mehr als du erträumen kannst.

Georg

Autor: Kritiker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
vorticon schrieb:
> Phasenrauschen, denke ich. Beides ist einfacher und besser als DDS.

DDS nimmt man nur, bei VERÄNDERLICHEN Frequenzen.

Autor: Gustl B. (-gb-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dass DDFS nicht geeignet ist ist mir auch klar, ich suche auch keine 
veränderliche Frequenz. Ok, scheint also nicht so einfach zu sein, da 
werde ich die Tage mal an der Uni nachfragen was die so dahaben ...
Der HP http://www.helmut-singer.de/pdf/hp3325b.pdf ist schon nicht 
schlecht, aber nun, etwas teuer und hat auch nicht das Rauschverhalten 
das ich suche.
Ich hätte gerne sowas http://www.ti.com/tool/tsw2110evm, nur in etwas 
besser und mit niedrigerer Frequenz.

Autor: Abdul K. (ehydra) Benutzerseite
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Für 150 Öhre kannst du es auch mal mit einer EMU0202 probieren. Die 
hätte dann auch noch weitere Anwendungsmöglichkeiten.

Autor: Arduinoquäler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gustl B. schrieb:
> Hallo, ich werde bald mal einen 16 Bit 1 MSample/s ADC
> verbauen/layouten. Den möchte ich natürlich testen.

Hast du schon dran gedacht dass die Qualität deines ADC
auch davon abhängt wie gut der Takt ist mit dem den
Wandler speist (ich meine den Referenztakt, nicht das
zu messende Objekt)? Sonst hilft das beste Layout nix....
Also die Methode "billiger Digital-Oszillator" funktioniert
hier zum Speisen womöglich nicht.

Eventuell wird dein Wandler deutlich schechter ausfallen
als die Quelle die zu zu vermessen gedenkst.

Gustl B. schrieb:
> Gibt es irgendwo günstig zu kaufen oder selber aufbaubar eine
> Hardware/Schaltung die einen sehr sauberen Sinus erzeugt?

Die meisten stabilen Referenzoszillatoren sind meist keine
sauberen Sinusquellen. Wenn du das haben willst musst du
noch tiefpass-filtern. Ich würde einen QUarzoszillator "guter
Qualität" und niedriger Frequenz nehmen und diesen auf die
gewünschte Frequenz herunterteilen und filtern.

vorticon schrieb:
> Ein
> Quarzoszillator hat demgegenueber ein sehr viel geringeres
> Phasenrauschen,

Yes.

Autor: Gustl B. (-gb-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ähm ich suche die Sinusquelle NICHT um damit den ADC zu takten. Das wird 
ein Wandler mit SPI-Anschluss, da taktet man sowieso nur die Daten raus 
(grob gesagt).

Arduinoquäler schrieb:
> Sonst hilft das beste Layout nix....
> Also die Methode "billiger Digital-Oszillator" funktioniert
> hier zum Speisen womöglich nicht.

Ich will doch gerade mein Layout überprüfen. Und wie sollte ich das 
anders machen als eine sehr saubere Sinusquelle mit dem ADC-Eingang 
verbinden und dann das Spektrum messen. Es geht mir hier nicht um das 
Layout oder wie ich den ADC bespaße, sondern darum wie ich ein fertiges 
Layout teste. Dazu kann ich natürlich selber eine Quelle aufbauen, aber 
wenn das Ergebnis nicht wie gewünscht ist weiß ich nicht ob der Fehler 
an meiner Quelle oder meinem ADC-Layout liegt. Aber gut, es gibt wohl 
nicht Günstiges Einfaches mit dem man einen ADC mit etwas mehr Bits 
testen kann.

@ Abdul K.:
Du meinst so ein USB-Audio-Teil? Davon habe ich selber ein paar ganz 
brauchbare ... naja kann man mal ausprobieren.

: Bearbeitet durch User
Autor: Arduinoquäler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gustl B. schrieb:
> Ähm ich suche die Sinusquelle NICHT um damit den ADC zu takten. Das wird
> ein Wandler mit SPI-Anschluss, da taktet man sowieso nur die Daten raus
> (grob gesagt).

Ähm .... wenn du mal den Wandler nennen würdest könnten wir ja
mal drüber diskutieren ob du einen guten Referenztakt brauchst
oder nicht. Was ein Referenztakt ist hast du offensichtlich
noch nicht verstanden.

Autor: Gustl B. (-gb-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist ein normaler ADC mit SPI Interface, ja der hat auch eine 
Sampleclock (CNV Eingang am Chip). Aber ich habe schon das 
Referenzlayout gesehen und da kommt die auch nur aus einem CPLD. Ich 
werde die Clock in einem FPGA erzeugen.

Mir geht es jetzt auch garnicht um irgendwelche Vorschläge wie ich den 
ADC anschließe oder layoute, sondern nur um die Frage wie ich das dann 
teste. Also generell, klar hab ich schon einen ADC ausgesucht, aber das 
ist noch unklar ob ich den tatsächlich verbauen werde.

In einem anderen Thread habe ich einen 12 Bit 65 MSample/s AD9235 
getestet mit dem hier verlinkten Board von TI. Für einen 16 Bit ADC mit 
niedrigerer Samplerate kann ich das aber leider nichtmehr verwenden und 
bin auf der Suche nach Alternativen.

: Bearbeitet durch User
Autor: Joggel (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Vergiss es den Referenztakt eines ADC mit einem FPFA zu erzeugen.

Der ADC is nur so gut wie der Referenztakt.

Da kannst du als Signalquelle auch gleich einen 555 nehmen und messen 
was mit einem Wuerfel auch rauskommen wuerde.

Autor: Arduinoquäler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Joggel schrieb:
> Vergiss es den Referenztakt eines ADC mit einem FPFA zu erzeugen.
>
> Der ADC is nur so gut wie der Referenztakt.
>
> Da kannst du als Signalquelle auch gleich einen 555 nehmen und messen
> was mit einem Wuerfel auch rauskommen wuerde.

Danke Joggel, gut dass das in anderer Färbung von einem
zweiten Leser kommt. Jetzt fällt mir nur noch das ein:

... denn sie wissen nicht was sie tun.

Autor: Gustl B. (-gb-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Joggel schrieb:
> Vergiss es den Referenztakt eines ADC mit einem FPFA zu erzeugen.

Also nochmal: Das wird im Referenzlayout auch gemacht. Und ausserdem: 
Mir geht es darum wie ich den ADC teste, nicht drum wie ich den 
anschließe oder layoute. Bei dem AD9235 den ich schon verwende kommt der 
Takt auch aus einem FPGA und ich bin zufrieden. Aber wie gesagt, darum 
geht es hier nicht.

Autor: Joggel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Naja, dann kann ja nichts schiefgehen. Mach mal. Zeig uns die Werte und 
wir sehen weiter.

Autor: Joggel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann wuerd ich das Referenzsignal auch gleich mit diesem FPGA erzeugen.

Autor: Gustl B. (-gb-)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Lol anscheinend hast Du immernoch nicht meine Fragestellung im Thread 
verstanden. Welche Werte? Mit was soll ich das testen? Wenn ich den an 
den Signalgenerator vom Oszi hänge ist das Rauschen bei -60 dB und ihr 
werdet mich auslachen. Meine Frage war ja exakt wie ich das teste, mit 
welcher Quelle. Aber gut.

Hier ist sogar ein 18 Bit ADC bei dem der Takt im Demoboard aus einem 
CPLD kommt:
http://www.linear.com/product/LTC2338-18 und hier das Datenblatt zum 
Demoboard mit Schaltplan: 
http://cds.linear.com/docs/en/demo-board-manual/DC1908AF.PDF
Wieso sollte das bei mir nicht funktionieren wenn es beim Hersteller 
passt?

Autor: Arduinoquäler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gustl B. schrieb:
> Wieso sollte das bei mir nicht funktionieren wenn es beim Hersteller
> passt?

Weil der Takt nicht aus dem FPGA kommt sondern von einem
Referenzoszillator dessen Takt im FPGA verwendet wird und
auch zum ADC weitergeleitet wird.

Daher kommt der Takt nicht aus dem FPGA. Auch wenn's
so aussieht. Sobald du mit irgendeiner PLL im FPGA eine
neue Frequenz erzeugt ist diese hundsmiserabel verjittert
und taugt für einen ADC nicht mehr.

Autor: Gustl B. (-gb-)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Das glaubst Du doch selber nicht. Wo ist denn dieser Referenzoszillator 
im Schaltplan? So wie ich das sehe kommt ein schneller Takt ins CPLD 
rein und geht eben NICHT direkt wieder raus. Denn raus kommt ein 1 MHz 
Takt (maximal) für den CNV Eingang am ADC. Die SCK ist schnell, aber das 
ist nur die Clock für das SPI Interface, da ist Jitter egal.

Autor: Arduinoquäler (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Gustl B. schrieb:
> So wie ich das sehe kommt ein schneller Takt ins CPLD rein

... und der muss ja irgendwo herkommen ... auch wenn
"der Oszillator" nicht auf dem Board ist. Und du meinst
also das CPLD erzeugt für sich alleine eine Frequenz
von 1 MHz?

Dir ist wirklich nicht zu helfen, du musst es offensichtlich
auf die harte Tour selbst erfahren.

Autor: Gustl B. (-gb-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Arduinoquäler schrieb:
> Dir ist wirklich nicht zu helfen, du musst es offensichtlich
> auf die harte Tour selbst erfahren.

Ja das werde ich sowieso und suche in diesem Thread nach einem 
Referenzsignal mit dem ich den ADC dann testen kann.

Arduinoquäler schrieb:
> und der muss ja irgendwo herkommen

Klar, kommt er auch, aber wo? Ich kann den nicht finden, helf mir doch 
den zu finden. Im Schaltplan geht der schnelle Takt auf über BNC auf das 
Board und da sowohl in CPLD als auch in ein D-FF. Aus diesem kommt dann 
das Signal für den CNV Eingang am ADC. Also generiert das CPLD ein 
Signal das zusammen mit der schnellen Clock das CNV Signal aus dem FF 
erzeugt.
Während bei dem LTC im Datenblatt noch was von celan and low Jitter für 
die CNV Clock steht, finde ich bei einem anderen ADC gar nix dazu 
http://www.ti.com/lit/ds/symlink/ads8681.pdf Gut kann wichtig sein oder 
auch nicht, ist mir aber erstmal egal, hier im Thread hatte ich was 
anderes gefragt.

: Bearbeitet durch User
Autor: Arduinoquäler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gustl B. schrieb:
> Klar, kommt er auch, aber wo?

Du als Benutzer speist den Takt ein, du als Benutzer bist
dafür verantworlich dass der ADC das bekommt was er braucht
bzw was du an Performance von ihm erwartest.

Die Hersteller die solche Eval Boards anbieten bauen bewusst
keine Oszillatoren drauf da diese wegen kleiner Bauart evtl
schlecht sind oder weil sie keine teueren Oszillatoren
draufbauen wollen.

Gustl B. schrieb:
> Also generiert das CPLD ein
> Signal das zusammen mit der schnellen Clock das CNV Signal aus dem FF
> erzeugt.

Ja aber nicht per PLL in einem FPGA sondern durch Herunterteilen,
das verschlechtert die Signaleigenschaften nur unwesentlich (ab-
hängig von den Rauscheigenschaften des CPLD). Das ist was ganz
anderes als wenn ich einen Takt aus einem FPGA generiere.

Autor: Gustl B. (-gb-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Arduinoquäler schrieb:
> Du als Benutzer speist den Takt ein

Und wo? Da auch dem Demoboard ist nur ein Takteingang für den schnellen 
Takt.

Arduinoquäler schrieb:
> Ja aber nicht per PLL in einem FPGA sondern durch Herunterteilen,

Das kann man auch in einem FPGA herunterteilen ohne PLL, aber ich 
vermute das hat dann eher mehr Jitter weil das Signal dann nichtmehr 
über die extra dafür optimierten Taktnetzwerke im FPGA geroutet wird.

Autor: Joggel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Das kann man auch in einem FPGA herunterteilen ohne PLL, aber ich
vermute das hat dann eher mehr Jitter weil das Signal dann nichtmehr
über die extra dafür optimierten Taktnetzwerke im FPGA geroutet wird.

Du hast einige Details nicht richtig verstanden. Das Clocknetzwerk in 
einem FPGA stellt den Takt global zur Verfuegung. Dies ist speziell so 
ausgelegt weill das ganze (oder Teile davon) Netzwerk synchron laeuft.
Wenn ich aber nur ein Taktsignal runterteilen will benoetige ich ein 
paar Flip-flops. Man kann deren Ausgang immer noch auf das Taktnetzwerk 
legen, wenn man ihn denn intern benoetigt.

Herunterteilen ist extrem jitterarm, solange man unterhalb der 
Grenzfrequenz bleibt.

Autor: Gustl B. (-gb-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok, klingt vernünftig, die FFs haben eben immer die gleiche Laufzeit. 
Aber das mit dem Runterteilen kann ich ja auch in meinem FPGA machen, 
also wo ist damit das Problem? Mir geht es hier weiterhin nicht drum wie 
ich den ADC anspreche oder layoute sondern wie ich das teste. Da weiß 
ich bisher nur, dass das schwer ist und vermutlich teuer wenn man das 
fertig kaufen möchte.

Autor: Alexander S. (alesi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gustl B. schrieb:
> Vielen Dank, ist abgespeichert. Ich würde aber irgendwie doch lieber was
> kaufen. Einfach weil ich dann weiß, dass es gut ist. Wenn ich das selber
> aufbaue und dann den ADC teste, wie soll ich feststellen ob meine Quelle
> oder das ADC-Layout schlecht ist?

Hallo,

auch wenn Du lieber etwas fertiges kaufen möchtest, hier noch ein Link:

  http://www.edn.com/design/analog/4400342/Injection...

  http://m.eet.com/media/1173490/injection-lock%20a%...

Autor: Gustl B. (-gb-)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sieht interessant aus, aber ich finde keinen "Kaufen" Button :-)

Naja noch bin ich in der Planungsphase und hab noch keinen ADC.

Autor: Jürgen S. (engineer) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Joggel schrieb:
> Herunterteilen ist extrem jitterarm, solange man unterhalb der
> Grenzfrequenz bleibt.
Das würde ich etwas anders darstellen: Das Runterteilen selber bringt 
gar keinen Jitter - unterstellt man, dass die Ausgänge getaktet sind. 
Dann zählt in erste Linie der Takt. Darüber hinaus gibt es ein -YSSO 
PRoblem, von daher käme es bei DDS auf den Wandler an. Wenn man das 
richtig anfangt, ist der Jitter der DDS letzlich völlig anabhängig von 
den PLLs im FPGA, was anzustreben ist.

Aber mal was anderes:

Warum nicht einfach einen "digital loop back" und die gerade ausgebenen 
Werte zurücklesen? Wenn Du beides synchronisierst, müsstest Du ohne DDS 
die bits direkt zurücklesen können. Darf hat kein Reko Filter im DAC 
aktiv sein.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.