16bit ad wandler

Gast #29989
Lesenswert?

hallo

ich steuere einen 16bit ad wandler ad677 von analog device
an. die zwei dafür notwendigen funktionen habe ich als text
file angehängt.
die ganze wandlung läuft leider nicht stabil. das heisst jedes zweite 
mal lese ich einen falschen wert vom wandler.
zwischendurch funktioniert es wieder.
ich habe das ganze erst testhalber auf einem steckbrett fliegend 
aufgebaut. jetzt bin ich mir nicht sicher ob es sich um ein 
hardwareprolem oder software problem handelt.

vieleicht sieht jemand einen fehler oder könnte mir einen typ
geben wie ich das besser programieren kann.

gruss tobias
Angehängte Dateien:
Gast #29992
Lesenswert?

Hallo Tobias,

sieht ganz nach einem Timing-Problem aus. Bei dem C-Code ist natürlich 
die Frage, was der Compiler daraus macht ...

Zwei Dinge die mir spontan auffallen:
- die Daten sind nicht unmittelbar nach der fallenden CLK-Flanke gültig.
- ich würde mich beim Auslesen nicht auf das BUSY-Signal verlassen, 
sondern die CLKs zählen.

Gruß,
Olaf
Gast #29994
Lesenswert?

nun habe ich das programm umgeschrieben.

ich kann kontinuierlich werte lesen. es sind auch nicht
zufällige wert. nur sind sie falsch, immer negativ.

das negative könnte von meiner sprintf(,"%d",)funktion kommen.
die wandelt ja eine int zahl in einen string. alles was
über 32768 ist wird dann mit einem vorzeichen in meinen string kopiert.
nur dürfte der gelesene wert schon gar nicht über 32738 sein.
ich arbeite mit einer 10V referenz spannung. und die eingangsspannung 
ist immer kleiner als 5V.

vieleicht hat ja noch jemand einen tip.
sonst kann ich mir nur noch vorstellen das es am aufbau liegt.

gruss tobias
Angehängte Dateien:
Gast #30000
Lesenswert?

das ganze funktioniert immer noch nicht.

ich möchte ja nur possitive zahlen darstellen. dann brauche ich ja nicht 
umzurechnen.
aber mein gewandelter wert bewegt sich bei einer eingangsspannung von 
0.5-5V nur im bereich von ca.9000-12000.
es wird also ein viel zu kleiner bereich gewandelt.

könnte dieser fehler nun noch ein hardware problem sein?

tobias
Gast #30001
Lesenswert?

Hallo Tobias,

im 2er-Komplement werden Zahlen mit Vorzeichen dargestellt. Das MSB 
repräsentiert das Vorzeichen, die restlichen Bits die eigentliche Zahl.

Bsp. (nur mit 8-Bit):

0111 1111 ->  127
0111 1110 ->  126
0000 0000 ->    0
1111 1111 ->   -1
1111 1110 ->   -2
1000 0000 -> -128

Betreibst du den ad677 eigentlich symmetrisch (+/-12V oder +/-15V)?

Gruß
Olaf
Gast #30002
Lesenswert?

hallo olaf

ich betreibe den ad677 mit +-12V
und 5V für den ganzen digitalteil des wandlers.

ich muss mal schauen ob vieleicht ein fehler beim calibrieren des 
wandlers passiert. dann könnte natürlich die 16bit auflösung im arsch 
sein.

komisch ist nur wenn ich vin auf gnd lege lese ich immer noch einen wert 
vom wandler.
und das dürfte nun unter keinen umständen sein.

vieleicht ist der wandler selbst auch defekt.
ich bekomme nächste woche wieder 2 samples.

ich versuche dann mal die initialisierung wegzulassen.
mal schauen wie dann die werte aussehen.

gruss tobias

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren