Hallo zusammen, ich möchte gerne eine 560Mbps Übertragungsstrecke aufbauen. Eingang der Strecke ist ein entsprechend schneller FPGA Single-ended Ausgang mit VCCIO = 1.8V (wahlweise auch 1.2V, oder 1.5V). Ausgang der Strecke sind LVDS Signale. Ich habe in Summe 16bit. Die Signale sollen auf ca. 35cm unidirektional übertragen werden. FPGA Ausgang 1.2/1.5/1.8V ==== sichere 560Mbps auf 30cm Kabel ====> LVDS Ich habe leider mangels IOs am FPGA nur single-ended Ausgänge zur Verfügung. Kann also nicht direkt LVDS aus dem FPGA heraus treiben. Meine erste Idee war die SE Signale nah am FPGA in LVDS zu wandeln, da diese robuster sind auf der langen Strecke. Dazu brauche ich aber einen Levelshifter "VCCIO => 3.3V" und dann einen LVDS Treiber "SE => LVDS". Bei den Treibern finde ich entsprechend schnelle ICs, die auch 4-8bit parallel können. Die haben so 600Mbps+. Bei den Levelshiftern wird die Luft schon echt dünn und die besten gehen so bis 380Mbps. Als Board-to-Board würden sich die differentiellen Samtec Highspeed Kabel anbieten, die sind teuer, aber die kann man sich gut konfigurieren. Das Layout wird ein 6-Layer Design mit entsprechend kontrollierter 100-ohm differentieller Impedanz und GND Flächen. Beim Design selber werde ich auf die Kopplungslänge und den Abstand der LVDS Paare zueinander achten, so dass ich keinen Cross-Talk bekomme. Im besten Fall bekomme ich zwischen die Paare immer noch eine Massefläche geflutet. Saturn PCB Design bietet ja im Reiter "Crosstalk Calculator" ganz gute Näherungen an. Die werde ich berücksichtigen und schauen, dass die Coupled voltage bei <50-60mV bleibt. Ist das ausreichend klein für LVDS und seinen 300mV? Habe ich noch etwas anderes übersehen? Wie kann ich bei 600Mbps+ das Levelshiften realisieren? Vielen Dank!
Moin. Ein Treiber verwenden der selber mit 1,8V läuft? Dann brauchst du keinen Level-Shifter.
Moin, lvds_newbie schrieb: > Ich habe leider mangels IOs am FPGA nur single-ended Ausgänge zur > Verfügung. > Kann also nicht direkt LVDS aus dem FPGA heraus treiben. Koennte das FPGA evtl. so Sachen wie doubleDatarate+differentialOutput an den betreffenden IOs? dann koenntest du den Bus halb so dick machen, dafuer die Datenrate verdoppeln und direkt mit differentiellen Signalen aus dem FPGA gehen. Macht die selbe Datenrate und Pinanzahl. Gruss WK
Habe in einem anderen Thread noch diese Idee aufgegriffen und mittels LTSpice simuliert. Idee ist, dass man den INx- auf 0.9V legt (VCCIO FPGA / 2) und dann den INx+ zwischen 1.8V und 0V direkt mit dem FPGA treiben kann, ohne Level-Shifter. Der DS90LV hat 800Mbps, eine Commonvoltage von 0.05V - 3.45V und VCC sind 3.3V. Die +-250mV als differentielle Eingangsspannung sollte sicher zwischen "1" und "0" unterscheiden können (Grenzen des DS90 sind +-100mV). Oder ich mache den Spannungsteiler noch etwas hochohmiger, dann ist der Hub am Eingang nicht so hoch und es wird evtl. noch schneller geschaltet. Auf diese Art und Weise hätte ich theoretisch Level-Shifter und LVDS Treiber in einem. Ist diese Variante erlaubt, oder ist das irgendeine Not-Bastellösung? Hat dieses Prinzip schon mal jemand erfolgreich angewendet und erprobt? Vielen Dank!
Moin, lvds_newbie schrieb: > Ist diese Variante erlaubt, Erlaubt ist, was gefaellt. Aber ich glaub' nicht, dass das was taugt, weil der Witz bei "Differential" ist, dass sich die Felder von Hin- und Rueckleitung um die beiden Strippen rum aufheben, bzw. mit 1/r² sinken und nicht mit 1/r, wie bei einer einzelnen Leitung. Und das wird bei deiner Loesung nicht passieren. Gruss WK
Dergute W. schrieb: > Aber ich glaub' nicht, dass das was taugt, weil der Witz bei > "Differential" ist, dass sich die Felder von Hin- und Rueckleitung um > die beiden Strippen rum aufheben, bzw. mit 1/r² sinken und nicht mit > 1/r, wie bei einer einzelnen Leitung. Und das wird bei deiner Loesung > nicht passieren. Das ist korrekt. Diese "Idee" ist ja nur für die Strecke zwischen FPGA IO und dem LVDS Buffer. Diese Strecke ist sehr kurz und wäre eh single ended (im Falle eines Levelshifters) und dann nochmal single ended zwischen Level-Shifter und LVDS Treiber. Nach dem LVDS Treiber geht es dann differentiell weiter. Die Idee gefällt mir gut, nur geht meine Frage eher in Richtung Robustheit der Lösung, oder ob es nur eine schnelle Lösung aus der Wühlkiste ist, oder man hier auch wochenlang stabil Daten übertragen kann ;) Im Prinzip ist es ja "out of spec" vom LVDS Buffer bzw. zweckentfremdet. Elektrisch gesehen ist es aber "nur" ein Komparator... aber ob der dann auch noch mit 800Mbps läuft, wollte ich nachfragen. Danke!
Moin, lvds_newbie schrieb: > Die Idee gefällt mir gut, nur geht meine Frage eher in Richtung > Robustheit der Lösung, oder ob es nur eine schnelle Lösung aus der > Wühlkiste ist, oder man hier auch wochenlang stabil Daten übertragen > kann ;) Naja, da wirste wohl selbst ins Risiko gehen muessen. Koennte schon funktionieren, so wie du dir's vorstellst. Aber bei sowas waer ich auch misstrauisch, wenn irgendwer in irgendeinem Forum schreibt, dass das irgendwie bei ihm "funktioniert" hat. Da findest du auch Experten, die die Strecke Erde-Mond per I2C ueber 2 nasse Schnuersenkel ueberbrueckt haben wollen ;-) Gruss WK
Warum sollte die Variante mit Spannungsteiler nicht funktionieren? Es gibt explizit Anything-to-LVDS Konverter, die dafür gedacht sind. z.B. MAX9378EUA Solange die Common Mode Voltage am Eingang beachtet wird und die differentielle Spannung zwischen IN+ und IN- ausreicht, klappt das wunderbar.
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.