Hallo,
ich habe hier den AD9826. Dieser besitzt 2 Pins:
CAPB = ADC Bottom Reference Voltage Decoupling
und
CAPT = ADC Top Reference Volatge Decoupling
Diese sind über einen 0.1µF-Kondesator an GND angeschlossen.
An diesen Pins stellen sich 2 versch. Spannunugen ein:
CAPT=3.5V
CAPB=1.45V
Frage: Der ADC wird im 1-channel SHA-Mode betrieben, es wird also nur
ein Eingang (blue) gesampled und ausgegeben (ohne CDS etc) Wenn ich
jetzt an
VINB (blue) eine konstante Spannung=2.5V anlege, wie berechne ich den
digitalen Wert am Ausgang?
Hallo,
der der angelegten Spannung entsprechende digitale Wert berechnet sich,
bei Nutzung der internen Referenzspannung ganz einfach: Vin*2^14 =
2,5V*2^14 = 40960digits.
Ich bin jetzt einfach mal davon ausgegangen dass du die interne
Referenzspannung auf 4V und nicht auf 2V gestellt hast, da deine
Eingangsspannung >2V ist.
Sorry, ist bei mir so drinn...
4V werden mit 16bit aufgelöst, also 4/2^16 = ca. 61µV/digit
2,5V / 61µV/digit = 40960digits. --> Also 2,5*2^16/4
--> 2^16/4 ist aber das gleiche wie 2^14, also nur eine kleine
Vereinfachung der Rechnung, mehr nicht ;)
OK verstanden :)
Aber für was ist dann eigendlich
CAPB und CAPT?
ich dachte ja das wäre der untere und der obere Referenzpunkt für den
ADC...
deswegen hätte ich eigendlich (3.5V-1.45V)/2^16 gerechnet...
Mit dem ADC sollen Signale gesampled werden die zwischen 1.2V (OFFSET)
und 3.2V liegen...ich verstehe aber immer noch nicht wie ich den AD9826
dann korrekt konfiguriere?!
An CapB und CapT werden Decouplingkondensatoren für die Referenzspannung
angeschlossen. Die Differenzspannung zwischen den beiden Anschlüssen
sollte bei 2V liegen.
Ich meine mal irgendwo gelesen zu haben, dass man hier auch eine externe
Referenzspannung anlegen kann, die dann aber auch nur eine max.
Differenzspannung von 2V haben darf. Ich weiß leider überhaupt nicht
mehr wo ich das gefunden habe und würde mich deshalb auf diese Aussage
auch nicht wirklich verlassen...Ich habe es zumindest nie gebraucht.
In deinem Fall würde ich die Konfiguration wie folgt zusammenbauen:
1 Kanal SHA, 4V Referenz, wenn du deinen Messwert an VinB hast die MUX
Config auf BGR (D7) stellen und den Blue Kanal freigeben (D4), alle
anderen Kanäle auf 0.
Das sollte als Konfiguration eigentlich schon alles sein.
Bei Eingangsspannungen von 1,2V...3,2V erhälst du somit Digitalwerte
zwischen 19660...52428
PS: Deine Rechnung (3.5V-1.45V)/2^16 ist garnicht so falsch, du rechnest
halt mit einer Referenzspannung von 2V. Genau das ist ja auch die
Referenzspannung des ADC, in deinem Fall musst du halt den glücklichen
Umstand sehen, dass sich diese intern noch verdoppeln lässt.
Hey M.D.
das würde aber auch bedeuten das ich nur 15bit Auflösung habe
[19660...52428] oder?!
Gibt es keine Möglichkeit die volle 16bit-Auflösung des ADC zu nutzen?
Außerdem brauchst Du eine sehr gute analoge rauscharme Beschaltung. Zum
anderen sind das nur 16-bit "brutto". Man hat ja noch die "üblichen"
AD-Wandler Fehler.
Hm,
also ich hab jetzt mal ein demoboard mit dem AD9826 aufgebaut.
-CDSCLK2 und ADCCLK liegen an.
-konstante 2.5V an VINB
-ich habe CAPT, CABB und OFFSET nur an die Decoupling Kondensatoren
angeschlossen.
Es stellen sich ein:
CAPT=3.5V
CAPB=1.459V
OFFSET=1.33V
Am Ausgang liegen allerdings nicht die von M.D. errechneten 40960digits,
sondern 18700digits (+- ca.200counts)
Erste Frage: Wieso stellen sich eigendlich am OFFSET-Pin verschiedene
Spannungen ein, je nachdem was ich an VINB anlege?
Zweite Frage: Wie kommt der ADC auf die ca. 18700counts. Ich peile immer
noch nicht wie der ADC die verschiedenen Referenzspannungen als Bezug
nimmt um aus 2.5V ca. 18700digits zu machen?!
THX for RE!
> Erste Frage: Wieso stellen sich eigentlich am OFFSET-Pin verschiedene> Spannungen ein, je nachdem was ich an VINB anlege?
Der OFFSET-Pin ist vom AD9826 aus gesehen ein Eingang, d.h. deine äußere
Beschaltung des ADC hat dort eine Spannung (oder GND) anzuliefern. Wenn
du nix angeschlossen hast, floatet der Pin. Es ist "Zufall" bzw. von der
Blackbox des internen Aufbaus abhängig, was du dann dort misst.
> Zweite Frage: Wie kommt der ADC auf die ca. 18700 counts.
Weil z.B. der ADC einen illegalen OFFSET in die Messung (und Berechnung)
einkalkuliert?
IMHO sind CAPT und CAPB bei interner VREF keine Werte mit denen du
rechnen sollst. Es sind analoge Spannungswerte, die sich aus dem
internen Schaltbild des ADC ergeben.
Der ADC hat in der Grundeinstellung einen Messbereich von 0..4V. Der
Bereich kann in 2^16 Werte digitalisiert werden. Dein 2.5 V Signal wären
also ~41000 digitale Einheiten. Du hast aber mit dem
Entkoppelkondensator am OFFSET-Pin einen OFFSET von 1.3 V stabilisiert,
d.h. nur noch ein effektives Signal von 2.5 V - 1.3 V = 1.2 V. Daraus
digitalisiert der ADC ~19000 Einheiten.
OK, also das mit dem Offset und der referenzspannung ist jetzt soweit
verstanden...Danke dafür!
Jetzt habe ich allerdings einen anderen Effekt, der mir unklar ist.
Mein Konfiguration:
1-channel-SHA, Blue-Channel, 4V Input Range, 4V Input Clamp Bias, 0V
internal Offset, gain=1
Wenn ich nun konstante 3.3V an VINB anlege und extern eine
OFFSET-Spannung von 3.34V anlege, sollten ja eigendlich alle Bits auf
ZERO springen.
Das tun sie nicht. O.K. könnte man auf eine verrauschte Eingangsspannung
etc. zurückführen, das Seltsame ist aber das dies immer nur bei dem 4.
ADCCLK-cycle auftritt...Ich habe jeweils 51 ADCCLK cycles (5MHZ) und
dann eine Pause von ein paar µs...sobald ADCCLK startet sind jeweils auf
ADCCLK cycle nr. 4 ein paar counts drauf (5-160 counts) Alle anderen
ADCCLK-cycles schieben am Ausgang "0"-er raus.
Hätte es mit Rauschen zu tun, müsste ich diesen Effekt doch auf allen
ADCCLK-cycles haben oder nicht. Oder zmd. auf verschiedenen. Aber es ist
wie gesagt immer nur ADCCLK no. 4.
Der Effekt verschwindet erst wenn ich mind. 3.5V am OFFSET-pin anlege...
Womit kann das zusammen hängen?
Nur ein Verdacht...
Im Datenblatt steht bei DATA OUTPUTS "Latency (Pipeline Delay) 3 (Fixed)
Cycles"
Es ist bei ADCs nicht unüblich, das der erste akute Messwert (= 4.
Ausgabe bei diesem ADC) nach dem Anstoßen einer Dauermessung daneben
liegt.
Ich würde da pragmatisch vorgehen und die erste Messung verwerfen.
das würde aber bedeuten das ich immer den ersten Pixel jeder Zeile
verwerfe. Wie gesagt, ich messe kontiniurlich und bei jeder Messung ist
auf ADCCLK No. 4 (der Output des ersten Pixels, wie du richtig erwähnst)
kommt nur müll raus...Das werden meine Chefs nicht akzeptieren :/
Gibt es keine Möglichkeit soetwas zu fixen?
Kannst du den ADC kontinuierlich messen lassen und z.B. per Software ein
Fenster auf die digitale Ausgabe setzen oder muss dein 'System'
diskontinuierliche ADC-Messungen triggern (Burst-Mode)?
theoretisch könnte ich auch kontinuirlich messen, alle
Informationen/Synchronisationstake sind im FPGA enthalten und liefern
die Information, mit welchem Takt und welcher Flanke welche Daten am
Ausgang der ADCs liegen. Könnte das mein Problem lösen?