Forum: Analoge Elektronik und Schaltungstechnik Seltsames ADC Verhalten


von Gustl B. (-gb-)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe hier eine kleine selbst entworfene Platine mit ADC und FPGA. 
Der ADC ist ein 8-Kanal AD7698 
https://www.analog.com/media/en/technical-documentation/data-sheets/AD7682_7689.pdf
Ich habe am FPGA einen 8-Pin Anschluss "PMOD" dessen Pins gleichzeitig 
mit den ADC-Eingängen verbunden sind.

Schalte ich die Leitungen als Ausgang am FPGA auf Masse, gebe also '0' 
aus, dann sieht das ADC-Signal wunderbar aus.
Wenn ich die Pins am FPGA aber floaten lasse ('Z' ausgebe), dann sehe 
ich ein seltsames Übersprechen.

Und zwar speise ich einen 0,01 Hz Sinus von 0 V ... 3.3 V an den PMOD 
Pin 0, das ist auch ADC-Kanal 0. Dann sieht man den auch mit 
unterschiedlichen Amplituden auf den anderen Kanälen. Und zwar nimmt die 
Amplitude ab je weiter die Kanalnummer vom Kanal 0 entfernt ist.

Am ADC sequenze ich die Kanäle der Reihe nach durch. Ich habe auch schon 
eine lange Pause zwischen je zwei Abtastungen eingabeut, weil ich den 
MUX im ADC im Verdacht hatte. Aber selbst wenn ich sehr langsam abtaste 
bleibt das Problem.

Habt ihr Ideen was das seien könnte und was ich ausprobieren sollte?

Vielen Dank!

von Achim S. (Gast)


Lesenswert?

Gustl B. schrieb:
> Am ADC sequenze ich die Kanäle der Reihe nach durch. Ich habe auch schon
> eine lange Pause zwischen je zwei Abtastungen eingabeut, weil ich den
> MUX im ADC im Verdacht hatte. Aber selbst wenn ich sehr langsam abtaste
> bleibt das Problem.
>
> Habt ihr Ideen was das seien könnte und was ich ausprobieren sollte?

Na, ich tippe weiter auf den MUX. Der teilt die Ladung in seinen 
parasitären Kapazitäten halt auf die Kapazität von Leiterbahn und high-Z 
FPGA-IO auf. Deswegen wird mit jedem Weiterschalten des MUX die 
Amplitude etwas kleiner. Dass die lange Pause nichts daran ändert heißt 
einfach nur, dass die Leckströme im Bereich des Sampling-Kondensators 
entsprechend klein sind.

Kannst ja mal einen einzelnen der IOs (z.B. Nr. 4) nicht auf High-Z 
legen sondern auf 0. Dann sollte der die MUX-Kapazität sauber entladen, 
und alle folgenden Kanäle sollten wieder eine Null sehen.

Ansonsten gilt natürlich sowieso: ein floatender Eingang kann 
irgendwelche Werte annehmen.

von Gustl B. (-gb-)


Lesenswert?

Ja, du hast Recht, es ist wohl der MUX. Ich kann mit dem Oszi auch die 
Spannung auf den anderen Leitungen sehen.

Ja ... wie macht man das ohne Übersprechen? Muss ich da echt vor jeden 
ADC-Eingang einen OPV setzen?

Achim S. schrieb:
> dass die Leckströme im Bereich des Sampling-Kondensators
> entsprechend klein sind.

Aber es ist ja dann die Ladung vom Sampling-C. Wenn ich einen ADC nehme 
in Zukunft der den MUX vom ADC-Kern getrennt hat, also auch ein MUX-Out 
hat wie der LTC2372 
https://www.analog.com/media/en/technical-documentation/data-sheets/237218f.pdf 
dann wäre das Problem mit nur einem OPV gelöst?

Oder reichen Dioden zwischen Eingang und ADC?

Achim S. schrieb:
> Ansonsten gilt natürlich sowieso: ein floatender Eingang kann
> irgendwelche Werte annehmen.

Ja, richtig, ist ja auch OK. Ich will den Pin nicht hart auf '0' legen 
im FPGA um mit dem ADC daran zu messen. Denn das ist doch dann ein 
Kurzschluss durch den FPGA nach Masse.
Andererseits ... habe ich jetzt eben auch nur einen Pin bespaßt und das 
meinst du wohl auch. Wenn ich auf jeden Pin von Extern Signale treibe, 
dann müsste das Problem weg sein, man sieht es also nur auf Pins die man 
misst obwohl man da gar nichts angelegt hat.

von Wolfgang (Gast)


Lesenswert?

Gustl B. schrieb:
> Wenn ich auf jeden Pin von Extern Signale treibe,
> dann müsste das Problem weg sein, man sieht es also nur auf Pins die man
> misst obwohl man da gar nichts angelegt hat.

Weg wird es nicht sein. Das Übersprechen hängt sowohl von der Zeit 
zwischen Mux-Umschaltung und Umschaltung auf Hold beim ADC, sowie von 
der Impedanz der Signalquelle ab.

von Achim S. (Gast)


Lesenswert?

Gustl B. schrieb:
> Wenn ich auf jeden Pin von Extern Signale treibe,
> dann müsste das Problem weg sein

genau...

von Achim S. (Gast)


Lesenswert?

Wolfgang schrieb:
> Das Übersprechen hängt sowohl von der Zeit
> zwischen Mux-Umschaltung und Umschaltung auf Hold beim ADC, sowie von
> der Impedanz der Signalquelle ab.

ok, zugegeben: man muss die Anforderungen an die source impedance ernst 
nehmen, um den sampling cap während der acquisition phase vollständig 
umzuladen (bzw. so nahe an den "richtigen Wert" zu bringen, dass es für 
die Messanforderung ausreicht). Das gilt aber eigentlich bei jedem 
sampling ADC, hier fällt es nur wegen der Umschaltung zwischen sehr 
hochohmigen Quellen entsprechend auf.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.