Hallo,
ich möchte einen ADC über USB auslesen. Wie gehe ich da am besten vor ?
Viele ADCs bieten ja eine SPI-Schnittstelle an. Bei SPI ist die
Datenübertragungsrate jedoch zu gering für meine Anwendung. Was für
einen Chip empfehlt ihr mir um die Daten direkt vom ADC in meinen PC
einzulesen.
Danke!
Schreib mal, was Du realisieren möchtest. Was soll gemessen werden,
Abtastrate, Auflösung? Was steht fest? Hast Du schon einen konkreten ADC
im Blick?
Sonst wird das hier zu unkonkret.
Ich will mein Eingangssignal mit nem 16Bit ADC und 100 MHz abtasten. Der
Eingangsspannungsbereich ist 2V, will also eine Auflösung von ca. 30µV.
Die Daten sollen direkt auf den PC.
Einen ADC den ich ins Auge gefasst habe ist zum Beispiel:
http://www.ti.com/lit/ds/symlink/ads42lb69.pdf
Hm gibts da keine preiswertere Lösung. Was ich mir vorgestellt habe ist
einfach einen Chip zu benutzen über den ich vom PC aus den ADC ansteuern
kann.
Vllt könnte das interessant sein z.B.
http://www.ftdichip.com/Products/ICs/FT600.html
Michael2x3 schrieb:> Hm gibts da keine preiswertere Lösung. Was ich mir vorgestellt habe ist> einfach einen Chip zu benutzen über den ich vom PC aus den ADC ansteuern> kann.> Vllt könnte das interessant sein z.B.> http://www.ftdichip.com/Products/ICs/FT600.html
1.
Auch mit diesem Chip benötigst du ein zusätzliches FPGA und zumindest
internes BRAM um ein FIFO zu realisieren.
2.
Die nächste Frage ist dann wie muss denn eine Software auf dem PC
aussehen um so schnell die Daten einzulesen. Erst wenn dieser Frage
geklärt ist würde ich mit Punkt 1 weitermachen.
Michael2x3 schrieb:> Was ich mir vorgestellt habe ist> einfach einen Chip zu benutzen über den ich vom PC aus den ADC ansteuern> kann.
Das stellst du dir zu einfach vor. Der ADC ist nur ein Teilaspekt, das
ganze Drumherum muss ebenfalls stimmen.
Selbst der von dir herausgesuchte 16 Bit ADC liefert übrigens nur
effktive 12 Bit (gut 74 dB SNR), die niederwertigsten 4 Bit zeigen also
ganz offiziell nichts anderes als Rauschen. Und auch das erreichst du
nur, wenn Drumherum alles annähernd perfekt läuft (der CLK-Jitter also
z.B. nicht größer als ~200ps wird....).
Meine Empfehlung:
- wenn du wirklich glaubst, diese Performance zu brauchen, dann kaufe
eine fertige Lösung und zahle den dafür verlangten Preis (selbst bauen
ohne viel Erfahrung kannst du diese Performance nicht). Es kann durchaus
günstigere Produkte geben als die von NI, aber für wirklich wenig Geld
bekommst du das nicht gekauft.
- ansonsten überlege, ob deine Anforderungen nicht einfach überzogen
sind und kauf z.B. ein (wesentlich günstigeres) 12 Bit
Datenerfassungssytem.
okay nehmen wir mal an ich komme mit 12 Bit aus. Die 100 MHz sind aber
trotzdem Pflicht. Was wäre die geschickteste Lösung ? Ist es
realisierbar so eine Schaltung zu entwerfen ohne große Erfahrung ?
Michael2x3 schrieb:> 12 Bit 100 MHz> Ist es> realisierbar so eine Schaltung zu entwerfen ohne große Erfahrung ?
Nein.
Michael2x3 schrieb:> Was wäre die geschickteste Lösung ?
Fertige DAQ kaufen, oder wenn kein Streaming benötigt wird ein DSO als
Frontend verwenden.
Hallo, muss es ein PC sein? Also müssen alle Daten dort hin? Gibt einige
Boards mit ADC und FPGA. Da könntest du dann im FPGA schon filtern und
so Zeug um dann nur noch weniger Daten zum PC zu schicken.
Ja das ist sportlich 16bit bei 100msps sind 200mbytes/s dann ein board
mit ADC und FPGA und Gigabit? Sowas gibt es fertig. Willst du das dann
nur wegschreiben oder damit viel rechnen? Schafft das der PC?
Helmut S. schrieb:> Sicher ein Tippfehler - eher 200fs.
genau so ist es natürlich ;-)
Michael2x3 schrieb:> ja doch die Daten sollen auf den PC ohne vorher irgendwie verarbeitet> geworden zu sein
müssten die Daten kontinuierlich über lange Zeiten übertragen werden?
Oder reicht es, einige MB am Stück aufzunehmen und kann man sich dann
Zeit für die Datenübertragung machen.
Marian B. schrieb:> oder wenn kein Streaming benötigt wird ein DSO als> Frontend verwenden.
Ohne Streaming wäre ein DSO natürlich eine preisgünstige Möglichkeit.
Nur ist man da leider weit von 12 Bit echter Auflösung weg (von 16 Bit
ganz zu schweigen). Ich bin wahrscheinlich nicht auf dem laufenden, aber
ich weiß eigentlich nur von LeCroy-DSOs, die über 8Bit ADCs hinausgehen
(und ich habe mir noch nie selbst angeschaut, was von der nominellen
Auflösung dann beim Messen wirklich übrig bleibt und was im Rauschen
untergeht).
Naja die zu übertragende Datenmenge wäre dann mit overhead so 2,0
Gbit/s. Eine Messung dauert ca. 200s. Genau die Daten sollen erst einmal
nur weggeschrieben werden. Der PC dafür wird auch erst noch angeschafft.
Michael2x3 schrieb:> 2,0> Gbit/s. Eine Messung dauert ca. 200s.
dann geht's halt kaum für kleines Geld ;-)
Diese Jungs hier sind in der schnellen Erfassung großer
Analogdatenmengen nicht übel:
www.4dsp.com/solution_configurator.php?ad_samplingFreq=100&ad_channels=&
function1[]=ad_1&form_factor=PCIe&find=
200 sec * 200MByte waeren 40GByte... Vergiss das mal. Der PC kann das
nicht. Windows kann das nicht, und etwas anderes auch nicht. Das
Einzige, was das kann ist einen ADC direkt an eine Festplatte
anzuschliessen mit einem FPGA dazwischen. Ich wuerd eine solid state
disk verwenden. Eine drehende Platte kann das auch nicht.
Jetzt Nicht schrieb:> 200 sec * 200MByte waeren 40GByte... Vergiss das mal. Der PC kann das> nicht. Windows kann das nicht, und etwas anderes auch nicht. Das> Einzige, was das kann ist einen ADC direkt an eine Festplatte> anzuschliessen mit einem FPGA dazwischen. Ich wuerd eine solid state> disk verwenden. Eine drehende Platte kann das auch nicht.>200 MB/s konstant halten ist auf einem PC schon länger kein Problem mehr - man
braucht natürlich einen anständigen Controller, Platten und Dateisystem. Mit
Windows wird das allerdings, in der Tat, schwierig.
Michael2x3 schrieb:> Hm gibts da keine preiswertere Lösung. Was ich mir vorgestellt habe ist> einfach einen Chip zu benutzen über den ich vom PC aus den ADC ansteuern> kann.
Vergiss das. Aus dem "einfach einen Chip zu benutzen" wird dann sowas
hier:
http://spectrum-instrumentation.com/de/m4i4410-x8
Schau Dir diese Karte genau an und überlege, ob Du die nachbauen
könntest.
fchk