Guten Tag,
ich habe auf eine Platine einen LTC2372 gesetzt. Das ist ein 8-Kanal ADC
mit MUX.
https://www.analog.com/media/en/technical-documentation/data-sheets/237218f.pdf
Ich habe mich an der Schaltung wie im Datenblatt (Anhang) orientiert.
Statt LT6236 habe ich zwei ADA4062-4 verwendet und statt LT6237 habe ich
einen ADA4896-2 verwendet.
So, jetzt hatte ich zuerst folgenden Fehler gemacht:
Ich hatte COM vom ADC (MUX im ADC) mit Masse verbunden. Zum Glück nur
über einen 0R Widerstand. Bemerkt habe ich den Fehler an sehr falschen
ADC Werten. Dann habe ich die Schaltung in Multisim mal simuliert,
Fehler gefunden, den 0R ausgelötet und ab dann habe ich ein anderes
Fehlerbild.
Aber bis ich den 0R ausgelötet habe könnte durch den und somit auch
durch den MUX ein recht großer Strom nach Masse geflossen sein. Ich
messe auf der Platine auch den Strom von der 5V USB Versorgung und hatte
mit 0R grob 250 mA und ohne die 0R grob 200 mA, macht also 50 mA Strom
durch den MUX nach Masse.
Kann das den MUX geschädigt haben?
Meine aktuellen Fehlerbilder sind so (immer ohne die 0R nach Masse, also
mit korrekter Schaltung):
1. Ein Kanal, und zwar immer der Kanal 5 (im Anhang Braun) liefert sehr
verrauschte Werte - ausser ich drücke von oben auf den ADC.
Ich hatte die Vermutung, das Massepad des ADCs sei vielleicht nicht
richtig verlötet, aber dann müsste das ja auch andere Kanäle betreffen.
Ich habe den ADC aber schon mehrmals mit Heißluft von der Platine
genommen und wieder drauf gesetzt. Die Lötstellen sehen alle wirklich
sehr schön aus.
2. Wenn ich an jeweils einen Kanal ein Signal anlege, dann sehe ich das
auch auf anderen Kanälen. Nicht mit der gleichen Amplitude, aber
trotzdem deutlich stärker als es seien sollte.
Ich habe schon alles nachgelötet und vermute jetzt tatsächlich, dass der
ADC defekt ist. Oder eben der MUX durch den Fehler am Anfang (COM mit
Masse zu verbinden) geschädigt wurde. Kann das sein? Habe ich irgendeine
andere offensichtliche Dummheit begangen?
So, jetzt habe ich vor dem ADC das RC Filter weggebaut und lege an alle
ADC Eingänge 3,3 V an. Das sieht auch wunderhybsch aus, bis auf den ADC
Kanal 0. Das passt zum oberen Bildchen, denn der ADC Kanal 0 wurde dort
als Linie 5 geplottet (damit wird der PMOD Pin Nummer 5 gemessen).
Tja, meine Vermutung ist jetzt, dass der unkonfigurierte ADC eben beim
MUX den Kanal 0 durchgeschalten hat. Und wegen meinem Fehler am Anfang
floss dann der Strom über diesen Kanal um MUX und hat den wohl
teilzerstört.
Ich werde jetzt einen neuen ADC bestellen.
Aber eine Frage habe ich noch:
Der ADC tastet mit maximal 500 kSample/s ab. Wieso werden dann im
Datenblatt RC Filter mit einer deutlich höheren Grenzfrequenz verwendet?
Ich würde mir das so erklären:
Bei 500 kS/s hat man also 2 us/Sample. Laut Datenblatt ist die
Acquisition Time minimal 1.46 us. Während dieser Zeit soll aber die
Spannung am ADC möglichst stabil anliegen. Nach dem Umschalten vom MUX
bleiben also nur 540 ns bis die Spannung vom ausgewählten MUX Kanal am
ADC anliegt. Und das entspricht dann 1.85 MHz.
Allerdings erklärt das noch nicht die Werte des RC Filters vor dem MUX
Eingang mit 10 Ohm und 1.2 nF.
Das Problem mit dem Übersprechen könnte am Flussmittel liegen das noch
auf der Platine ist. Vielleicht leitet das ja minimal wenn es
verunreinigt ist.
So, neuer ADC ist da und draufgelötet und siehe da, alle Kanäle
funktionieren fehlerfrei. Aber die Schaltung vor dem ADC macht wohl
Ärger.
Es ist also das Problem mit dem einen fehlerhaften Kanal gelöst das
Problem mit dem Übersprechen aber leider nicht.
Und zwar ist das ja ein 8-Kabal ADC und da habe ich zwei 4fach OPVs
https://www.analog.com/media/en/technical-documentation/data-sheets/ADA4062-2_4062-4.pdf
als Buffer davor gesetzt. Und weil der ADC die 8 Ein/Ausgänge einens
PMODs anguckt, sind die Eingänge also auch mit dem FPGA verbunden und
dazwischen sitzen zwei ESD-Schutz Arrays
https://www.mouser.de/datasheet/2/916/PUSB2X4D-1600541.pdf .
Wenn ich im FPGA einen Pulldown für die IOs einstelle, dann sieht alles
wunderbar aus. Wenn ich aber statt Pulldown nur ein hochohmiges 'Z'
einstelle, dann bekomme ich ein Übersprechen.
Liegt das Problem an meiner externen Beschaltung oder ist das etwas was
vom FPGA kommt?
Die Signale PMOD_0 bis PMOD_7 sind direkt mit FPGA IOs verbunden.
Gustl B. schrieb:> Wenn ich im FPGA einen Pulldown für die IOs einstelle, dann sieht alles> wunderbar aus. Wenn ich aber statt Pulldown nur ein hochohmiges 'Z'> einstelle, dann bekomme ich ein Übersprechen.
High Z entspricht floatender Leitung, wenn die nun unter Umständen
parallel und nahe zu der mit Signal verläuft, ist Übersprechen eher das
erwartete Verhalten.
K. S. schrieb:> High Z entspricht floatender Leitung,
Ja, verstanden. Übersprechen bei schnellen Signalen durch Wechselfelder
verstehe ich auch, aber ich kann hier Übersprechen bei wenigen Hz
beobachten und zwar recht deutlich. Wenn ich also an einen Kanal 1 Vpp
anlege sehe ich auf einem anderen Kanal noch mehrere 10 mVpp. Und das
ist schon ziemlich viel wie ich finde.
Kann das an dem Schutzdiodenarray liegen?
Aber gut, mit Pulldown kann ich leben wobei ich den gerne nur dann
aktiviren würde, wenn ich mit mit dem ADC messe.
Ich würde also gerne im FPGA den Pin als inout beschreiben und dann den
Pulldown dazuschalten wenn ich das will. Geht das irgendwie in VHDL
einen Pulldown zu beschreiben der nur dann verwendet wird wenn eine
Bedingung zutrifft? Ich habe bisher Pulldowns nur in den Constrains
.ucf/.xdc beschrieben oder die Component
PULLDOWN_PMOD_0: PULLDOWN port map(O => PMOD_0);
aus
Library UNISIM;
use UNISIM.vcomponents.all;
verwendet.
Dann gibt es noch das 'L' in VHDL. Aber das baut leider keinen Pulldown.
Wenn man sich die Schaltung in den IO Blöcken anguckt, dann sieht das
auch so aus als könnte man die Pullup/down Widerstände nicht schalten.
Gustl B. schrieb:> Ja, verstanden. Übersprechen bei schnellen Signalen durch Wechselfelder> verstehe ich auch, aber ich kann hier Übersprechen bei wenigen Hz> beobachten und zwar recht deutlich.
Was kommt denn aus deinem FPGA raus? Hat der DACs oder ist das ein
PWM/PFM Signal?
Ja das ist vielleicht der Punkt, in werde wohl sowieso nie einen FPGA IO
gleichzeitig als IO verwendet und analog die Spannung messen.
Mir ging es darum auf meiner Platine etwas Platz zu sparen, also habe
ich die 8 FPGA IOs auf einen Pfostenstecker wie PMOD gelegt und diese 8
IOs vom Pfostenstecker gleichzeitig mit dem ADC verbunden. Damit kann
ich jetzt diese 8 IOs frei verwenden und unterteilen in Eingänge zum
FPGA und ADC und Ausgänge vom FPGA.
Nein, FPGAs haben keine DACs eingebaut. Zumindest wäre das sehr
untypisch wobei es von Xilinx tatsächlich welche mit DAC gibt.
Eine eigene Frage?
Dieser Thread ist über 6 Jahre alt.
Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.