Hallo,
gibt es eine vergleichsweise einfache Möglichkeit, 32 (oder max. 256)
Messwerte in Serie zu speichern und zwar so, dass die Messwerte jeweils
in einem Abstand von nur 6ns aufgenommen werden?
Vielleicht gibt es analoge Schieberegister, die das leisten können...
Eine andere Möglichkeit wäre, die einzelnen Messwerte vorher mit einem
sehr schnellen AD-Wandler zu konvertieren.
Hat jemand ein paar Tipps/Schlagwörter, damit ich was zum Googeln habe?
Viele Grüße!
@ dan (Gast)
>gibt es eine vergleichsweise einfache Möglichkeit, 32 (oder max. 256)>Messwerte in Serie zu speichern und zwar so, dass die Messwerte jeweils>in einem Abstand von nur 6ns aufgenommen werden?
Nennt sich DSO, Digitales Speicheroszilloskop.
Falk Brunner schrieb:> Nennt sich DSO, Digitales Speicheroszilloskop.
Danke! Man findet direkt eine Menge Materiel!
Hier z.B.:
http://www.elektronik-projekt.de/thread.php?threadid=3509
Leider haben die meisten Projekte in dieser Richtung Sampling-Raten von
unter 75MSps.
Mir ginge es vor allem darum, Wellenformen von diversen Oszillatoren im
Bereich bis 30MHz auf einfache Weise sichtbar machen zu können.
Die Messwerte sollen "irgendwie" in den Speicher gelangen und der
Speicher soll später über einen µC ausgelesen und die Wellenform auf
einem Display angezeigt werden.
Amplituden- und Frequenzmessungen sollen nicht erfolgen, d.h., es
wären auch keine weiteren Kalibrierungen notwendig.
Es geht also erst mal um die Klärung des "irgendwie" ;O)
Vorne angefangen: wie bzw. wo findet man einen ADC-Typ, der mind.
150MSps schafft (Auflösung mind. 6Bit)?
dan schrieb:> wie bzw. wo findet man
In den "parametric selection tables" der Hersteller von AD-Wandlern.
Analog Devices müsste da was im Programm haben und bei TI sollte man
auch mal vorbeischauen.
Ja. sicher kann man einen ADC mit einem schneller RAM versehen. Mit 160
MSample ist man dabei. Nur das Layout ist dann nicht mehr trivial. Ich
wuerd's mit einem FPGA machen, dh das Timing, die Ansteuerung des ADC,
und das Speichern der Messwerte.
Rufus Τ. Firefly schrieb:> und bei TI sollte man> auch mal vorbeischauen.
Danke für die Info!
Der hier von TI sieht ganz gut aus für mein Vorhaben:
ADC08B200>>Description>>>>The ADC08B200 is a high speed analog-to-digital converter (ADC) with an >>integrated capture buffer. The 8-bit, 200 MSPS A/D core is based upon the proven >>ADC08200 with integrated track-and-hold and is optimized for low power >>consumption. This device contains a selectable size capture buffer of up to >>1,024 bytes that allows fast capture of an input signal with a slower readout >>rate.
Wenn ich es richtig verstehe, kann er bis zu 1kB intern speichern?!!
Damit hätte sich dann auch die Speicherfrage gleich mit erledigt...
Verschickt TI kostenlose Samples?
dan schrieb:> Mir ginge es vor allem darum, Wellenformen von diversen Oszillatoren im> Bereich bis 30MHz auf einfache Weise sichtbar machen zu können.
Wenn sich die Wellenformen nicht schnell ändern, sollte das auch mit
undersampling (Äquivalenzzeitabtastung) gut machbar sein. Das braucht
dann zwar deutlich mehr Messpunkte - die Einzelmessung würde auch mehr
Zeit beanspruchen. Man könnte es allerdings mit überschaubarem Aufwand
noch mit einem schnellen µC lösen ins besonders wenn man noch einen
Zähler mit einbezieht (zur Frequenzbestimmung oder zur Synchronisation
der AD-Wandlung. 50 – 60 MS/s 8 bit ADC's gibt es für < 5 Euro.
OK derADC08B200 ist eigentlich auch eine gute Wahl aber das Layout ist
dann schon noch etwas aufwendiger.
Gruß
Bernhard Troemel schrieb:> OK derADC08B200 ist eigentlich auch eine gute Wahl aber das Layout ist> dann schon noch etwas aufwendiger.
Die Wahl mag gut sein, aber auf die Schnelle finde ich keine Quelle.
Deshalb auch die Frage, ob TI Samples verschickt.
Bernhard Troemel schrieb:> Wenn sich die Wellenformen nicht schnell ändern, sollte das auch mit> undersampling (Äquivalenzzeitabtastung) gut machbar sein. Das braucht> dann zwar deutlich mehr Messpunkte - die Einzelmessung würde auch mehr> Zeit beanspruchen. Man könnte es allerdings mit überschaubarem Aufwand> noch mit einem schnellen µC lösen ins besonders wenn man noch einen> Zähler mit einbezieht (zur Frequenzbestimmung oder zur Synchronisation> der AD-Wandlung. 50 – 60 MS/s 8 bit ADC's gibt es für < 5 Euro.
Interessante Idee! Hatte schon etwas ähnliche als Vorschaltgerät für
einen 20MHz-Oscar überlegt.
Schafft das auch ein AVR-interner ADC (z.B. vom M88 oder M32)?
Im Datenblatt steht was von "Up to 15kSPS at Maximum Resulution"
(wahrscheinlich 10Bit gemeint).
Wenn ja, könnte man ca. alle 67µs ein Sample ziehen. Wobei eine
Auflösung von 6Bit wahrscheinlich völlig ausreichen würde.
Die Frage wäre dann wohl hauptsächlich, wie breit das Sample-Fenster vom
ADC bei einem AVR minimal sein kann?!!
Wenn es eh nicht Echtzeit sein muss und das Signal wirklich stabil ist,
tut's auch nen 166MHz Zähler und nen Komparator mit Latch/Flipflop. Mit
dem Komparator kann man dann nen SAR-ADC bauen.
Lukas K. schrieb:> Wenn es eh nicht Echtzeit sein muss und das Signal wirklich stabil ist,> tut's auch nen 166MHz Zähler und nen Komparator mit Latch/Flipflop. Mit> dem Komparator kann man dann nen SAR-ADC bauen.
Klingt interessant!
Mit ADC vom AVR wäre mir aber lieber, wenn der µC das leistet.
Wenn man mit einer geringeren Genauigkeit leben kann, läßt sich der
AVR-interne ADC ein gutes Stück übertakten. Irgendwo hab ich mal
gelesen, daß er selbst dann noch sehr gute Ergebnisse liefern soll.
Probiert habe ichs aber nicht.
dan schrieb:> Mit ADC vom AVR wäre mir aber lieber, wenn der µC das leistet.
Der ADC vom AVR hat eine Analogbandbreite von ca. 40kHz, du willst
30MHz, finde den Fehler,
Ben _ schrieb:> Wenn man mit einer geringeren Genauigkeit leben kann, läßt sich der> AVR-interne ADC ein gutes Stück übertakten. Irgendwo hab ich mal> gelesen, daß er selbst dann noch sehr gute Ergebnisse liefern soll.> Probiert habe ichs aber nicht.
Geringe Genauigkeit ist natürlich relativ.
Was meinst du genau mit "ADC übertakten"? Den ganzen AVR übertakten und
damit auch den ADC oder wie?
Lukas K. schrieb:> Der ADC vom AVR hat eine Analogbandbreite von ca. 40kHz, du willst> 30MHz, finde den Fehler,
Es geht um Undersampling (Äquivalenzzeitabtastung)!
dan schrieb:> Lukas K. schrieb:>> Der ADC vom AVR hat eine Analogbandbreite von ca. 40kHz, du willst>> 30MHz, finde den Fehler,>> Es geht um Undersampling (Äquivalenzzeitabtastung)!
[ ] Du kennst den Unterschied zwischen Analogbandbreite und Abtastrate.
Nur den ADC durch die Wahl eines zu kleinen Vorteilers übertakten. Der
normale ADC-Takt sollte nicht über 200kHz liegen wenn ich das richtig in
Erinnerung habe. Irgendwo hab ich gelesen, daß ihn jemand im MHz-Bereich
laufen lassen hat, wobei das Ding überraschend gute Ergebnisse
lieferte... Ob das bei allen Typen und bei allen ICs so ist - keine
Ahnung.
Ich denke aber, daß Du an die Leistungsdaten, wo Du hin willst,
keinesfalls mit dem internen ADC rankommst. Da müßtest Du deutlich
Abstriche machen.
Habe beim Googeln einiges gefunden, z.B.
http://www.roboternetz.de/community/threads/18580-ATmega8-ADC-%C3%BCbertakten-!
Beitrag "AVR ADC Übertakten"
Manche behaupten tatsächlich, dass beim Undersamplen im MHz-Bereich die
Ergebnisse überraschend gut sein sollen.
Trotzdem:
Wenn nichts dagegen spricht, würde ich mal einen diskreten ADC
organisieren und an einen AVR klemmen.
Kann man einen von den folgenden Typen besonders empfehlen (oder einen
anderen)?
ADC0820 (8-Bit µP-kompatibler High-Speed-Analog/Digital-Wandler mit
Track/Hold-Funktion DIP20)
ADC0804 (A/D-Wandler 8-Bit ± 1 LSB unadj. 100 µs 1-Kanal DIP20)
ADC0838 (A/D-Wandler 8-Bit ± 1 LSB unadj. 32µs 8-Kanal-Multiplexer
DIP20)