Ich habe ein FPGA-System, das nur über wenige Pins nach Aussen verfügt (alles belegt :-( ausser 3-4 pins). Ich muss möglichst viele Signale aussen tracen. Da dachte ich an eine serielle Verbindung, die mit einem anderen FPGa dekodiert wird. Dort könnte dann Signal TAP laufen oder so, Wie mache ich das? Kann ich LVDS über 2 Boards ziehen?
SPI,I2C,USART? >>Kann ich LVDS über 2 Boards ziehen? Was meinst du damit? Kabel legen? Auf der Platine kannst du natürlich LVDS zwischen zwei FPGA's verwenden (vorausgesetzt due schließt richtig ab). Sonst, kannst wenn du zwei getrennten Boards hast beide mit SM(A/B) Kabeln verbinden und damit direkt über die Buchse an LVDS Pins rangehen.
Bei Kabeln über Boardgrenzen hinweg braucht man da noch irgendwelche Treiber ? Oder reicht ein richtiger Abschluss / Wellenwiderstand ?
Ich würde eine 100Ohm- Verbindung nehmen - Siehe das R-Tripel, um eine LVDS-Verbindung aufzubauen. Habe ich aber noch nir gemacht sowas. Bitte mal Ergebnisse bereichten.
Was geht oder nicht geht, häng auch von der Speed ab. Darüber hast du noch nichts gesagt. Bis einige 10 MBit/s sind auch Single-Ended-Verbindungen von Board-zu-Board kein Problem. Quellwiderstand nicht vergessen. Schneller Signale über irgendeinen differntiellen Standard verbinden. LVDS braucht, glaube ich, keinen extra Quellwiderstand, aber einen Abschluss am Ende. 100 Ohm. Es gibt auch PECL, CML usw. Mit spezielle Serdes gehen auch 1Gbit/s und mehr über einige 10cm (Backplane incl. Steckverbinder). Wir haben vor etlichen Jahren 100 MBit/s-Verbindungen mit ECL und verdrillten Kabeln (2 Meter, kein Koax!) erfolgreich eingesetzt.
Ich musste letztens auch mal zwei FPGAs verbinden. Frei waren noch ein paar normale IOs. Hab eine Leitung als Clock genommen und vier weitere als Daten. Das ganze lief bei 40Mhz Clock und 15cm Flachbandkabel relativ stabil. War aber ohne jegliche Anpassung etc. Hand drüber halten brachten schon bitfehler (waren videodaten, konnte man dann gut sehen :) ) Das ganze diente aber nur zum kurzen testen, wurde nachher durch was sauberes ersetzt ;)
>Hab eine Leitung als Clock genommen und vier weitere als Daten. >Das ganze lief bei 40Mhz Clock und 15cm Flachbandkabel relativ stabil. >War aber ohne jegliche Anpassung etc. Hand drüber halten brachten schon >bitfehler (waren videodaten, konnte man dann gut sehen :) ) Bei single-ended-Verbindungen sind Quellwiderstände zur Anpassung sehr empfehlenswert. Außerdem muss eine perfekte Masseverbindung vorhanden sein - am besten jede zweite Ader! Sonst scheitert das schon bei 5cm, wie erlebt von einem Motherboard zu einem Daughterboard. 40 MHz Clock und 4x40MBit/s Daten über 15cm Flachbandkabel - da habe ich heute keine Furcht mehr! Meine 100MBit/s ECL differentiell waren auch Videosignale ...
Es ist nicht unbedingt nötig, würde ich sagen, die GNDs zu koppeln, wenn man das rein differentiell macht, oder?
Nobbi schrieb: > Es ist nicht unbedingt nötig, würde ich sagen, die GNDs zu koppeln, wenn > man das rein differentiell macht, oder? Lies mal im Datenblatt unter dem Abschnitt "Gleichtaktbereich der Eingänge" nach. Dann findest du raus, dass LVDS natürlich eine GND Verbindung braucht. Erst bei Trafo-getrennter Signalübertragung (Ethernet) kannst du dir die Masse sparen.
Lothar Miller schrieb: > Erst bei Trafo-getrennter Signalübertragung > > (Ethernet) kannst du dir die Masse sparen Stimmt, das hatte ich auch vor Augen.
Es braucht aber eigentlich nur eine Bezugsmasse für alle LVDS und nach all meinen Erfahrungen ist es zweckmässiger immer LVDS Paare zu verwenden, statt ein single ended Signal und eine dazu alterniered gelegte Masse im FBK. In einem hiesigen System verlaufen mehrere flexis bei 40MHz mehr oder weniger ungeschirmt bis zu 1m durchs Gehäuse.
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.