Hallo allerseits, ich habe folgendes Problemchen: Ich habe einen FPGA (Altera Cyclone III EP3C25F) auf einem Starterboard (Dallas CMCS002). Die IOs werden fest mit 3,3V versorgt. An den FPGA möchte ich nun via LVDS einen ADC (ADS5292) anschließen. Der ADC erwartet einen Eingangsspannungshub von 350 mV. Leider gibt der FPGA aber einen wesentlich größeren Spannungshub aus. Konkret sollte die Spannung 1.1 V +/- 0.35V sein. Gemessen hab ich ca. 1.1 V +/- 1.2V. Dass der Offset passt liegt wohl an der AC Kopplung mittels Kondensatoren. Ich habe in Quartus II zunächst alle Pins auf 3,3V bzw auf LVDS gestellt (je nach Funktion). Quartus hat sich dann geweigert mit der Meldung, dass die Spannungsanforderungen in den einzelnen IO-Bänken nicht konsistent wären. Ich hatte am Anfang schon Befürchtungen, dass das nicht funktionieren könnte, aber im Netz habe ich mehrere Anhaltspunkte gefunden (Links weiß ich leider nicht mehr), dass ich einfach statt 3,3V 2,5V Ausgangsspannung angeben solle. Die Funktion der nicht-LVDS wäre davon nicht eingeschränkt und ich könnte ohne Probleme das Design comilieren. Jetzt fürchte ich, dass ich eben durch die zu hohe Spannung von 3,3 statt der 2,5 V auch die Spannungshübe am LVDS Signal kaputt mache. Ist das korrekt? Oder muss ich eine Einstellung in Quanser ändern (Dort steht LVDS_E_3R bei IO Standard)? Welche Möglichkeit(en) habe ich, dass die Spannungen korrekt ausgegeben werden? Vielen Dank schonmal Christian
Christian Wolf schrieb: > Der ADC erwartet einen Eingangsspannungshub von 350 mV. Leider gibt der > FPGA aber einen wesentlich größeren Spannungshub aus. Irgendwas ist bei Dir komisch. Bei mir gehen die Signale vom ADC zum FPGA und nicht umgekehrt. Der ADC ist Treiber und der FPGA die Senke. Duke
Sind gfs die Taktleitungen zum ADC differentiell? Oder Steuerleitungen? Oder misst du als Eingänge geschaltete Ports durch?
Hallo, also der beschriebene ADC kann seinen Referenztakt (vom FPGA zum ADC) als LVDS oder als 1,8V CMOS Signal bekommen. Damit ich weniger Probleme mit Störungen o.ä. bekomme, habe ich LVDS vorgesehen. Die anderen Leitungen (Datenleitungen, ADC zu FPGA) sind (noch) nicht das Problem. Die gehe ich erst an, wenn der Takt korrekt kommt. Meine erste Idee war (nur für die hinlaufende Zeitbasis) einen Spannungsteiler auf beiden Signalen separat zu schalten, fürchte aber, dass das nicht so toll funktionieren wird bei höheren Geschwindigkeiten. Christian
Hallo, ich bin Xilinx User, jetzt weiß ich nicht, ob auch das alles genau gleich zutrifft. Es ist gut möglich, dass LVDS nicht bei 3,3V "funktionieren", da die Beschaltung nicht dafür ausgelegt ist. Das hört sich für's erste schlimm an, ist es aber nicht unbedingt. Du kannst versuchen deine Bank als 2.5V Bank zu definieren, dann sollte es besser aussehen. Was geschieht, wenn bei der Bank 3,3V anliegen, aber der Synthese 2,5V gesagt wird? In einfachster Näherung kann man sagen, dass die Stromquellen den falschen Strom liefern und die internen Terminierungswiederstande nicht die geforderten 100 Ohm besitzen. Also die LVDS Leitung ist nicht mehr auf 100 Ohm Wellenwiderstand optimiert. Das solltest du im Hinterkopf haben. In deinem Fall bin ich mir fast sicher, dass der große Spannungshub durch nicht-Verwendung der LVDS Schaltung entsteht sondern einfach der CMOS Beschaltung. Somit hast du einen Hub am Pin von 3,3V. Am Rande würde ich dir sowieso empfehlen die Clock für deinen ADC von einer externen PLL zu generieren, da die Jitter-Werte wesentlich besser sind. Natürlich ist das alles immer von den Kosten und vom Design abhängig. Um welche Frequenzen sprechen wir? Gruß
Hallo, wir reden von einigen 10 MHz für den Takt, der zum ADC geht. Zurück kommt natürlich was schnelleres. Ich habe leider das Design schon auf Cu vorliegen. Ein Einbau einer externen PLL ist daher nur mit sehr viel AUfwand möglich (Platine neu machen). Ich habe ja genau das gemacht: Der Synthese 2,5V "vorgegaukelt" wärend in der Realität 3,3V anliegen. Trotzdem ist der positive Ausgang als LVDS Ausgang definiert. Ich sehe es auch daran, dass der entsprechende komplementäre Ausgang sich korrekt (komplementär) verhält, obwohl in der Synthese hier keine explizite logig angegeben wurde (eben als negativer Pin des LVDS Signals definiert). Kurz und gut: Ich treibe ein logisches Signal in VHDL und die Synthese macht daraus ein positives und ein negatives Signal. Das sagt mir aber, dass scheinbar schon eine differentielle Übertragung aktiviert wurde. Wenn gar nichts anderes geht, werde ich einfach auf CMOS Clock umstellen und mit einem Spannungsteiler die anliegende Spannung begrenzen. Christian
PLL oder DCM für einen ADC-Takt ist immer schlecht, denn über den Jitter holst du dir jede Menge digitales Rauschen rein. Auch bei enigen 10MHz schon. Rechne mal mit dem Tool bei Maxim aus, wieviel Jitter du maximal bei deiner maximalen Signalfrequenz und Bitbreite haben darfst, dann wirst du sofort jede PLL oder DCM vergessen. Den ADC aus dem FPGA mit dem CLK zu versorgen war eine schlechte Idee. Für einen Prototypen naja, ok, aber die internen CLK Komponenten haben recht viel Jitter und die Ausgänge erst recht, auch wenn man ein ODDR nimmt.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.