Forum: FPGA, VHDL & Co. XADC mit bipolar Eingängen funktioniert nicht


von derFragende (Gast)


Lesenswert?

Moin zusammen,
ich verwende das Zybo Z7-20 Board mit Vivado 2017.4.
Ich will zwei analoge Spannungswerte im bipolar Modus simultan auslesen.

Hierfür habe ich im Blockdiagramm des XADCs den simultan Modus aktiviert 
und meine zwei Eingänge VAUX6 und VAUX14 enabled und bipolar-Modus 
aktiviert.

Ich will bare-metal arbeiten und verwende bei Vivado SDK nur die 
Initialisierungssdateien LookupConfig und CfgInitialize
(Konfiguration habe ich keine, da ja alles was ich brauche in der HW 
hinterlegt sein müsste)

Wenn ich jetzt aber eine Test-DC-Spannung von 330mV anschließe. Bekomme 
ich den Raw-Wert ~480. Dreh ich die Polung im bleibt der Wert gleich.

Kann mir jemand sagen, woran das liegt, und was ich falsch mache??

von derFragende (Gast)


Lesenswert?

kurze Ergänzung: ich schließe nichts an. Also Eingänge sind leer und es 
bleibt bei ~480 Raw-Spannung

von soso... (Gast)


Lesenswert?

Ich kenne weder dein FPGA, noch deinen ADC.

Es gibt aber eine Eigenschaft, die alle SAR-ADC haben: Sie ziehen Strom 
am Eingang, weil sie ihren Samplekondensator laden müsssen. Wenn du 
einen ADC an einen offenen Eingang samplen lässt, erzeugst du eine 
Spannung, die du dann misst.
Funktioniert auch bei µC...

Um das auszuschließen, häng doch mal den + und - Eingang mit 1k zusammen 
und auf VREF/2 (kannst da 2x 10k als Teiler nehmen). Kuck dazu ins 
Datenblatt, was denn die Spannung sein muss.

Dann solltest du 0 messen.

von Gustl B. (-gb-)


Lesenswert?

Hier 
https://www.xilinx.com/support/documentation/user_guides/ug480_7Series_XADC.pdf 
ab Seite 25 solltest Du mal gucken.

Unipolar heißt, dass an Vp immer eine höhere Spannung als an Vn anliegt.

Bipolar heißt, dass Obiges nicht zutreffen muss. Aber auch im Bipolar 
Modus darf keine Spannung kleiner als GND sein.
Sinnvoll kann man bipolar machen indem man Vn auf +0,5V legt und Vp darf 
dann von 0 ... +1V schwingen. Also auch unter Vn sein, aber nicht unter 
0V bezüglich GND. Und dann kann man noch differentiell machen, also dass 
Vn und Vp schwingen. Ich habe da einen AD8138 verwendet und V_cm auf 
0,5V gelegt. Dann dürfen Vn und Vp jeweils von 0,25V bis 0,75V 
schwingen. Also jeder einzeln um 0,5V und zusammen differentiell also 
wieder um 1V.

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.