Hallo alle zusammen,
ich bin gerade auf der Suche nach einem passenden AD-Wandler für mein
Projekt und wollte fragen, ob sich hier jemand damit auskennt und mir
ein paar Tipps geben kann, auf was ich achten sollte.
Was meine Anforderungen sind: 2 Kanäle simultan, 320kSpS, Auflösung
12bit
Ich habe gesehen, dass die meisten AD-Wandler ein eigenes Businterface
zum Anschließen haben. Muss ich dort irgendwie bei der Samplerate
aufpassen, dass die zu gewandelten Werte im Schluss mit weggeschickt
sind?
Oder reicht mir rein die Suche nach einem Wandler, der meine drei
Anforderungen erfüllt.
Welche Antwort erwartest Du?
Irgendein Interface werden die wohl haben müssen und irgendwas wirst Du
dabei wohl oder übel beachten müssen.
Datenblatt lesen hilft da ganz ungemein.
2x12x320.000 = 8Mbit muss das Interface packen.
Also Temperaturbereich ist eigentlich egal.
Die Spannung die ich abtasten will liegt bei +-12V. Wobei mit einem
invertierenden Addierer dürfte das ja auch kein Problem mehr darstellen.
Und vom Interface bin ich auch sehr frei.
Also die oben geschriebenen Anforderungen sind fix. Beim Rest bin ich
egl sehr flexibel
Danke fürs Mithelfen!
Viele der STM32-Controller (und bestimmt andere auch) haben ADCs mit
diesen Anforderungen integriert. Wenn du so einen für das Projekt nimmst
sparst du dir ein IC und die Bastelei mit dem Interface.
Dr. Sommer schrieb:> Viele der STM32-Controller (und bestimmt andere auch) haben ADCs mit> diesen Anforderungen integriert. Wenn du so einen für das Projekt nimmst> sparst du dir ein IC und die Bastelei mit dem Interface.
Wenn Du keine galvanische Trennung benötigst, dann wäre das eine recht
einfache Lösung.
Benötigst Du aber eine galvanische Trennung, dann ist es meistens
einfacher, digitale statt analoge Signale galvanisch zu trennen. Damit
benötigst Du einen separaten ADC.
Es ist ueblich, dass ADC zwischen 0 und der Betriebsspannung, zB 3.3V,
oder 5V wandeln, und es daher dem Anwender ueberlassen ist, die signale
dahin zu bekommen. Und 300kSample 12 bit, 2 Kanaele ist eine Menge Holz.
Was soll damit geschehen ?
Vielen Dank für die konstruktiven Antworten!
Würdet ihr dann eher einen Chip mit integriertem ADC wählen, oder ein
externes Bauteil nehmen.
Eine Anforderung an den Chip wäre, dass die Daten (ca. 80000*12bit=ca
12MByte) abgespeichert werden können und zu einem kontinuierlichen
Sampling eine Weitergabe über serielle Schnittstelle (parallel) möglich
ist.
VG
FrageÜberFrage schrieb:> Eine Anforderung an den Chip wäre, dass die Daten (ca. 80000*12bit=ca> 12MByte) abgespeichert werden können und zu einem kontinuierlichen> Sampling eine Weitergabe über serielle Schnittstelle (parallel) möglich> ist.
Hä?
Kein ADC hat einen 12 MB Buffer. Die haben typischerweise einen Buffer
für genau 1 Samplewert pro Kanal, und wenn du den nicht in (in diesem
Fall) 3 µs abholst, hast du Pech gehabt. Der typische µC für eine
Anwendung dieser Größenordnung auch nicht. Wo sollen die Daten denn im
Endeffekt hin?
Hi.
Also die Anforderungen sind nicht direkt an einen AD-Baustein gestellt
gewesen, sondern an einen Chip (wie zum Beispiel der STM32, mit
integriertem ADC).
Sollte ich nur einen einfachen ADC-Baustein nehmen, würde ich einen FPGA
oder einen keinen uC, der schnell genug arbeitet und die Speicherung bis
zum Weitersenden macht, zwischen hängen.
Die ganzen Daten gehen dann an einen Rasp.
FrageÜberFrage schrieb:> Die ganzen Daten gehen dann an einen Rasp.
Wozu brauchst du dann den riesigen Zwischenspeicher? Übertrage die Daten
doch schneller per USB an den R-PI. So viel Speicher geht sinnvoll nur
per SDRAM, und das macht alles komplizierter, egal ob uC oder FPGA.
80000×12bit sind übrigens 120kByte, nicht 12 MByte.
Falls also 120kByte reichen ginge u.a. ein STM32F407VG; der hat USB,
schnelle ADC und 192kByte SRAM. Da bräuchtest du praktisch nichts mehr
an externen Komponenten außer Quarz, Stützkondensatoren und USB-Buchse
(und OPAMP?). Falls es doch 12 MB sind, könnte es klappen die Daten live
per USB zu streamen; falls nicht braucht man noch einen USB HS (ULPI)
Transceiver, damit geht es. Vermutlich immer noch einfacher als SDRAM.
Vielleicht gibt es auch eine Möglichkeit so einen ADC direkt am dem PI
anzubinden per QSPI oder so, die Frage wäre ob man das Echtzeit
technisch mit Linux hinbekommt.