Forum: Analoge Elektronik und Schaltungstechnik LTC2468 4CH 16BIT ADC - overrange indication - Beschaltung falsch?


von Alex V. (bastel_alex) Benutzerseite


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich (hier gerade "leider" ziemlich aktiv) sitze gerade an einem von mir 
entwickelten Board mit AtMega644, UART Schnittstelle/Bluetooth zum PC 
und einem SPI 16Bit 4 Channel ADC: Dem LTC2486. 
(http://cds.linear.com/docs/en/datasheet/2486fd.pdf )

Nun habe ich die SPI schnittstelle eingerichtet und getestet - und sie 
funktioniert auch. Verifiziert habe ich es durch die Abfrage des 
Temperaturwertes (die der LTC messen und ausgeben kann) - 22°C klang 
glaubhaft.

Mein Problem ist nun: wenn ich die einzelnen Channel abfrage, bekomme 
ich nur eine over-range-indication und Nullen als ADC-Werte. Und das, 
obwohl alle Channel "in der Luft hängen" (ich würde also mal einiges an 
LSB-geflimmer erwarten). Ich konfiguriere den ADC im 
Single-Channel-Mode, die Kanäle Ch0-Ch3 sollten also gegen COM (=GND) 
gemessen werden.

Das Output-Data-Format des ADC ist im Datenblatt ab S.15 angegeben als 
24Bit-Wort mit
|EOC|0|SIG|MSB|..16Bit_ADC..|0|0|0|0|

Wobei
EOC: End of conversion Indicator (low wenn gelesen werden kann)

SIG: "If the selected input (VIN = IN+ – IN–) is
greater than or equal to 0V, this bit is HIGH. If VIN < 0,
this bit is LOW."

MSB: B"it 20 (fourth output bit) is the most significant bit (MSB)
of the result. This bit in conjunction with Bit 21 also provides
underrange and overrange indication. If both Bit 21
and Bit 20 are HIGH, the differential input voltage is above +FS. If 
both Bit 21 and Bit 20 are LOW, the differential input voltage is below 
–FS."

gefolgt vom 16Bit ADC wert.

Sogar auf dem Oszi nachgemessen sehe ich (siehe anhang), dass das erste 
Byte eine 0x30 ist und damit MSB sowie SIG eine overrange indiziert.
Das verstehe ich nun nicht, mein Multimeter sagt mir nämlich 0V am 
Channeleingang.

Nun frage ich mich, ob die Beschaltung stimmt, insbesondere +Ref und 
-Ref, sehe aber noch nicht, wieso sie falsch sein sollte!

Kann mir da vielleicht jemand auf die Sprünge helfen?

von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

Gerade getestet: wenn ich auf differenziellen Modus gehe (also zwei CH 
gegeneinander wandle) bekomme ich ein schwankendes Signal != 0.
Interessant: der Unterschied im 16Bit-Config-Wort liegt bei nur um einem 
Bit (SGL).

von Ulrich (Gast)


Lesenswert?

Ein offener Eingang ist keine gute Idee - der kann auch schon mal als 
Overrange interpretiert werden, etwa durch den Bias Strom vom A/D.

Für einen Test besser eine kleine Spannung (etwa Diode und Widerstand), 
Spannungsteiler oder auch einfach die Eingänge an GND.

von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

Ulrich schrieb:
> Ein offener Eingang ist keine gute Idee - der kann auch schon mal als
> Overrange interpretiert werden, etwa durch den Bias Strom vom A/D.

ich werds grade mal ausprobieren - aber dumm wärs. wie wahrscheinlich 
ist denn sowas? Dumm wärs weil: Das ganze als board ausgelegt ist, an 
dessen vier eval-eingänge eben jeweils etwas angesteckt sein soll oder 
auch nicht, je nachdem wie viel kanäle man benötigt.

von Alex V. (bastel_alex) Benutzerseite


Lesenswert?

Du scheinst recht gehabt zu haben. Danke!

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.