Hallo zusammen, ich habe ein FPGA Board mit einer 2x20 poligen 2,54mm Steckerleiste. Mit dem FPGA muss ich ein Signal über ein 1,5m langes Kabel treiben. Der maximale IO-Strom pro Pin liegt bei 16mA. Das Signal hat 2MHz und muss in Sachen Jitter und Flankensteilheit möglichst "hochwertig" sein. Ich kann den Strom pro Pin entsprechend erhöhen, indem ich mehrere Pins kurzschließe und somit den Ausgangsstrom vervielfachen kann. Aber mehr als 100mA kann der FPGA nicht. Daher bin ich nun auf der Suche nach einem Kabel mit einer möglichst geringen Kapazität. Wonach wähle ich sein solches Kabel aus? Gibt es einen Richtwert, wieviel pF/nF so ein Kabel pro cm oder m hat? Wieviel Kapazität hat ein ungeschirmtes Flachbandkabel/IDE? Ich konnte keine Angaben finden... Muss es geschirmt sein, obwohl sich durch den Schirm die Kapazität merklich erhöhen dürfte? Ein Übersprechen von den anderen Leitungen würde ich durch Abstand ausschließen, zumal alle anderen Signale in der Näher eher statisch sind. Oder komme ich um einen Treiber nicht herum und muss auf den Header noch eine Platine stecken? Vielen Dank!
:
Bearbeitet durch User
Marc M. schrieb: > Wieviel Kapazität hat ein ungeschirmtes Flachbandkabel/IDE? Ich konnte > keine Angaben finden... glaube ich nicht: http://www.produktinfo.conrad.com/datenblaetter/600000-624999/602860-da-01-en-FLACHBANDKABEL_10POL_3M_3302_10.pdf
Immer derselbe Murks. Man sollte nicht versuchen mit einem FPGA, resp Logik ein Kabel zu treiben und dabei auch noch Ansprueche zu stellen. Es gibt verschiedene Moeglichkeiten. a) Direkt vom Port weg, einen 100 Ohm in Serie, und dann das Kabel. Dadurch werden die Reflexionen weggemacht, und die Kanten werden verschliffen. Das einfachste. b) LVDS Treiber, die erzeugen ein differentielles Signal passend fuer eine Leitung. Gut fuer 400MHz und hoeher. c) MOS Treiber, wie der 74F3037, ein 20 Ohm Treiber, der 2.5V in 2.5ns, 4.5V un 5ns oder so erreicht, und dabei 100mA treiben kann. Auch gut fuer ein Kabel. d) ECL Treiber wie der 100MC89, der kann auch 50 Ohm treiben, mit 500MHz und mehr.
Was du benötigst ist ein Kabel mit definierter Impedanz und einen auf diese Impedanz abgestimmten Sender und eine darauf abgestimmte Terminierung. Mit 100mA kannst du theoretisch 33 Ohm treiben (angenommen, es ist ein 3.3V Signal), übliche Kabel (Coax, CAT x) haben 50, 75 oder 100 Ohm.
:
Bearbeitet durch User
Joe F. schrieb: > Was du benötigst ist ein Kabel mit definierter Impedanz und einen auf > diese Impedanz abgestimmten Sender und eine darauf abgestimmte > Terminierung. Korrekt, wobei es auch ohne Abschlussimpedanz geht (Serienterminierung). In dem von Joe beschriebenen Fall spielt ein Kapazitätsbelag keine Rolle, denn es ist eine Z-Leitung mit reellem Wellenwiderstand. Die Quelle sieht also keine Kabelkapazität.
Marc M. schrieb: > Das Signal hat 2MHz und muss in Sachen Jitter und Flankensteilheit > möglichst "hochwertig" sein. 2MHz ist vermutlich nicht die Bandbreite deines Signals, oder? "Möglichst hochwertig" auf der nach oben offenen Güteskala kann beliebig teuer werden. "Möglichst geringe Kapazität" bedeutet großer Abstand der Adern. Wenn du allerdings ohne weitere Treiber auch steile Flanken ohne Klingelei am Ausgang haben möchtest, wirst du dich mit Themen wie Leitungsimpedanz und Impedanzanpassung beschäftigen müssen, beides Themen, die mit dem mickrigen Treibersignal des FPGA nicht so richtig vereinbar sind. Damit wäre das Thema Leitungsinduktivität auch auf dem Tisch.
Flankensteilheit kann man auf Empfängerseite auch wieder verbessern... Signalreflexionen sind natürlich Gift.
Ich war davon ausgegangen, dass die Leitungskapazität, die ja vom FPGA umgeladen werden muss, das entscheidende Problem ist. Es handelt sich um ein 3,3V Signal. Nun lese ich etwas von Leitungsreflexionen, Terminierungen usw... Das sind alles gute Stichworte, unter denen ich mal versuche weiter zu recherchieren. Vielen Dank für die gut gemeinten Ratschläge!
:
Bearbeitet durch User
Oh D. schrieb: > LVDS Treiber, die erzeugen ein differentielles Signal passend fuer > eine Leitung. Gut fuer 400MHz und hoeher. Das sieht mir aktuell nach der einfachsten gangbaren Lösung aus. Ich suche mir einen Steckverbinder zum FPGA Board, löte den auf eine Lochrasterplatine, setze darauf einen single-ended-to-LVDS Treiber und am Empfänger muss ich wieder einen LVDS-to-single-ended Baustein verwenden. Wenn ich das richtig verstanden habe, kann ich dann auch ein einfaches Flachbandkabel nehmen, muss für das Clocksignal eben nur zwei Adern vorsehen.
Joe F. schrieb: > Mit 100mA kannst du theoretisch 33 Ohm treiben (angenommen, es ist ein > 3.3V Signal), übliche Kabel (Coax, CAT x) haben 50, 75 oder 100 Ohm. Die Rechnung verstehe ich nicht. Einfaches R=U/I Aber wenn ich das mal mit 100 Ohm Impedanz (Flachbandkabel) rechne, komme ich bei 3,3V auf 33mA, was mir ja wieder entgegen kommt, weil der FPGA weniger Strom treiben muss. Damit könnte ich drei FPGA Pins zu je 16mA parallel schalten und kann damit mein 100Ohm Flachbandkabel treiben? Das klingt irgendwie danach, dass ich auf dem Holzweg bin, denn eine höhere Impedanz ist sicher schlechter und damit denke ich vielleicht falsch herum, als es im GSK nötig ist.
:
Bearbeitet durch User
Marc M. schrieb: > Damit könnte ich drei FPGA Pins zu je > 16mA parallel schalten und kann damit mein 100Ohm Flachbandkabel > treiben? Könntest du. Allerdings hat Flachbandkabel Nachteile: - Impedanz ist nicht wirklich gut definiert. - Empfindlich gegenüber Einstrahlungen Und die möglichen Einstrahlungen verhageln dir dann wieder deine Signalqualität und erhöhen den Jitter. Besser ist daher ein geschirmtes Kabel. Mehrere FPGA Pins parallel birgt die Gefahr, dass die Ausgangstreiber nicht wirklich synchron schalten. Das macht dir die Flanken unnötig schlecht. Besser wäre ein Line-Driver / Transceiver, und dann kann man auch gleich einen nehmen, der das Signal symmetriert - wurde ja schon genannt -> LVDS.
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.