Hallo zusammen, ich bin auf der Suche nach einer besseren Lösung für mein Datenübertragungsproblem: Folgende Übertragungsstrecke ist gegeben: Sender->PCB->Stecker->Koaxkabel->Stecker->PCB->Empfänger Prinzipiell handelt es sich um ein Kundengerät, welches Daten an mein Gerät sendet. Zu den Details der einzelnen Komponenten: Das Kundengerät beeinhaltet ein Device (ASIC/FPGA/MCU/...) welches Daten (1-32bit parallel Bus + Clock, 0.9-3.3V, single-ended, DDR oder SDR, 0-700MT) ausgibt. Das Layout der Kundenplatine ist häufig unbekannt, oft wird meiner/der Empfehlung (50Ohm-Layout) gefolgt. Kabel: 50Ohm, 10cm, coax für jedes Signal separat Stecker/Buchse: 50Ohm Mein Gerät ist auf 50Ohm geroutet und mit einer schaltbaren 50Ohm-Terminierung auf VCC/2 versehen. Das Empfänger-FPGA hat eine Eingangslast von 10pF (Clock) bzw. 5pF (Daten). Ein Problem was vorhanden ist, die Kapazität der bekannten Signalstrecke (Kabel/stecker/Empfänger/PCB) ist ziemhlich hoch (~30pF). Bei 350MHz wird das schon ziehmlich viel, allerdings ergibt sich die Kapazität einfach aus der Physik (Coaxkabel 95pF/m, PCB 8.5pF). Würde ich die Schirmung weglassen, haben ich Übersprechen und mehr Leiterabstand ist aus Platzmangel (BGA/Stecker) nicht möglich. Also meiner Meinung nach kommt man um 50Ohm-Treiber evtl. noch 100Ohm nicht drum herum. Die Vergangenheit hat gezeigt, das im Digitalbereich 50Ohm-Designs nicht gern gesehen werden. Verständlich, da bei 3.3V und 32 Signalen die Stromversorgung der Kundenhardware stark belastet wird. Aber, es hat sich gezeigt, dass das aktuelle Design bei der breiten Masse der Kunden die bessten Ergebnisse liefert. Vorteile sind, das einerseits unsere Hardware in der Lage ist, den Input-Threshold frei zu programmieren und das unsere Empfänger auch noch mit 500mV-Signalsamplitude etwas anfangen können. D.h. das zusammenbrechen der Amplitude bei schwachbrünstige Kundendesigns, ist kein Problem. In der Analog-Technik würde jeder bei der Signalqualität weinend zusammenbrechen, aber in der Digitaltechnik muss nur eine gewisse Schwelle überschritten werden, dann funktioniert es. Das hilft uns. Gut ich hoffe, ich konnte meine Situation soweit darstellen. Jetzt die Frage: Welche Alternativen für das Streckendesign gibt es, um die Signalqualität auch für schwache Sender-Treiber zu verbessern? Gedanken: Mir sind DDR3-Interfaces eingefallen. Das würde die externen Switches und Widerstände auf der Empfängerseite einsparen und -8pF bringen. Mit DDR3-Interfaces sind zumindest auf PCB-Ebene 900MHz möglich. Allerdings setzt das für mich voraus, das jede Kunden-Hardware sauber impedanzkontroliert baut ist (was leider nicht der Fall). Da wir eben nicht die Situation einer reinen Chip-Chip-Verbindung auf dem gleichen Board haben, befürchte ich, das ein DDR3-Interface einfach nur andere Probleme bringen wird und nicht wirklich eine Verbesserung. Es ist die ewige suche nach der eierlegenden Wollmilchsau, die ich praktisch schon gefunden habe. Allerdings werden jetzt größere Eier bei mehr Milch und Wolle gefordert und ich frage mich ob ich noch irgendeine Schraube zum optimieren übersehen habe. Danke für jeden hilfreichen Tip, TBO
@ Dirk L. (tbo) >Das Kundengerät beeinhaltet ein Device (ASIC/FPGA/MCU/...) welches Daten >(1-32bit parallel Bus + Clock, 0.9-3.3V, single-ended, DDR oder SDR, >0-700MT) Was oll das sein? 0-700 Mbit/s? >Kabel: 50Ohm, 10cm, coax für jedes Signal separat >Stecker/Buchse: 50Ohm Für 32 Bit? Warum? >Ein Problem was vorhanden ist, die Kapazität der bekannten Signalstrecke >(Kabel/stecker/Empfänger/PCB) ist ziemhlich hoch (~30pF). Bei 350MHz >wird das schon ziehmlich viel, allerdings ergibt sich die Kapazität >einfach aus der Physik (Coaxkabel 95pF/m, PCB 8.5pF). Nö. Das ist keine zusammgefasste Kapazität (lumped capacitance) sondern eine HF-Leitung, siehe Wellenwiderstand. Die kann man NICHT gleich betrachten. >Die Vergangenheit hat gezeigt, das im Digitalbereich 50Ohm-Designs nicht >gern gesehen werden. Verständlich, da bei 3.3V und 32 Signalen die >Stromversorgung der Kundenhardware stark belastet wird. Jain. Mit AC-Terminierung geht das schon. Aber 700 Mbit/s schiebt man sowieso nicht über 3,3V CMOS Pegel ;-) >Frage: Welche Alternativen für das Streckendesign gibt es, um die >Signalqualität auch für schwache Sender-Treiber zu verbessern? Ein aktiver Mehrkanal-Tastkopf, wie ihn z.B. Logicanalyzer benutzen. Dahinter hat man dann seine definierte Leitung + Empfänger. >dem gleichen Board haben, befürchte ich, das ein DDR3-Interface einfach >nur andere Probleme bringen wird und nicht wirklich eine Verbesserung. DDR3 ist ja eher die Bezeichung für das SDRAM Timing, welches physikalisch über SSTL1,8 oder so läuft.
Hallo Falk, > Was oll das sein? 0-700 Mbit/s? bei variable Busbreiten kann man eben nicht ohne weitere Angaben sagen, wieviel Bit pro Sekunde übertragen werden. Deshalb verwendet man die einheit "Transfers" (1 Million Transfers = 1 MT), alternativ ist auch die Einheit "Baud" möglich. Wird die Transferzahl mit der Busbreite multipliziert, erhält man die Datenrate z.B. 700MT*32bit = 22,4Gbit/s. > Für 32 Bit? Warum? Weil der Bus als paralleler Bus so spezifiziert ist. Schlagwort: Trace-interface. Es gab Zeiten da war die serielle Übertragung mit mehreren Megabyte pro Sekunde noch nicht üblich. Aus dieser Zeit stammt der Bus und Chipdesigner von heute bohren ihn halt immer weiter auf. Alternativen sind da, werden aber oft aus Kostengründen/Platzgründen nicht eingesetzt. > Nö. Das ist keine zusammgefasste Kapazität (lumped capacitance) sondern > eine HF-Leitung, siehe Wellenwiderstand. Die kann man NICHT gleich > betrachten. Ok, ich denke hier können wir tiefer gehen. Wie kann ich dann mein Szenario modellieren, wenn das Kabel 95pF/m und 1.9Ohm/m (L=unbekannt) hat. PCB-Track hat 8.5pF, Input-Buffer hat 10pF? Welche kapazitive Last kann der Sender erwarten? > Jain. Mit AC-Terminierung geht das schon. Aber 700 Mbit/s schiebt man > sowieso nicht über 3,3V CMOS Pegel ;-) Wem sagst Du das wobei bei den höheren Dataneraten eher 1.8V Verwendung finden. Das ist für eine Low-Power-MCU aber immernoch ziehmlich viel. AC-Terminierung,...hm, habe ich in der Vergangenheit nicht so gute Erfahrungen gemacht und deshalb eher aus den Möglichkeiten herausgenommen. > Ein aktiver Mehrkanal-Tastkopf, wie ihn z.B. Logicanalyzer benutzen. > Dahinter hat man dann seine definierte Leitung + Empfänger. Habe ich auch schon überlegt, allerdings wie sind die Eingangsstufen aufgebaut? Da ich eben ziehmmlich viele Signale zu empfangen habe, fällt eine diskrete Lösung aus und irgendwelche teuren Agilent-Spezialchips gibt es vermutlich nicht so auf dem freien Markt. > DDR3 ist ja eher die Bezeichung für das SDRAM Timing, welches > physikalisch über SSTL1,8 oder so läuft. Richtig, ich bezog mich eher auf die Ausgänge der CPU, welche verschiedene Serienwiderstände zuschalten können, um sich an die externe Welt anpassen zu können. Gruß
@Dirk L. (Gast) >bei variable Busbreiten kann man eben nicht ohne weitere Angaben sagen, >wieviel Bit pro Sekunde übertragen werden. Pro Leitung schon, denn das ist der wesentliche Parameter für die HF-Eigenschaften. Ob dann 5 oder 32 Bit parallel liegen, ist zweitrangig. >einheit "Transfers" (1 Million Transfers = 1 MT), alternativ ist auch Ich hätte noch auf Transitions getippt. >die Einheit "Baud" möglich. Da wird es dann wieder schön mehrdeutig, denn dann könnte man auf eine Multilevelsignalisierung tippen ;-) >Weil der Bus als paralleler Bus so spezifiziert ist. Schlagwort: >Trace-interface. Es gab Zeiten da war die serielle Übertragung mit >mehreren Megabyte pro Sekunde noch nicht üblich. Aus dieser Zeit stammt >der Bus und Chipdesigner von heute bohren ihn halt immer weiter auf. Klar. >Alternativen sind da, werden aber oft aus Kostengründen/Platzgründen >nicht eingesetzt. Platz? Für 32x Koaxkabel? Größer geht es wohl kaum. Ausserdem, was für ein Pegel läuft dort WIRKLICH? 3,3V und 700 Mbit/s / Leitung paasen nicht zusammen. >Wie kann ich dann mein Szenario modellieren, wenn >das Kabel 95pF/m und 1.9Ohm/m (L=unbekannt) hat. PCB-Track hat 8.5pF, >Input-Buffer hat 10pF? Als HF-Leitung, neudeutsch transmission line. >Welche kapazitive Last kann der Sender erwarten? 0pF, denn eine transmission line sieht vom Sender her ohmsch aus! >Wem sagst Du das wobei bei den höheren Dataneraten eher 1.8V Verwendung >finden. Das ist für eine Low-Power-MCU aber immernoch ziehmlich viel. Was ist denn das für ein Mischmasch? >AC-Terminierung,...hm, habe ich in der Vergangenheit nicht so gute >Erfahrungen gemacht und deshalb eher aus den Möglichkeiten >herausgenommen. Sie hat ihre Problemchen, wenn die Terminierung eine ungünstige Zeitkonstante hat. Dann ist Theveninterminierung besser, weil direkt DC-tauglich. >> Ein aktiver Mehrkanal-Tastkopf, wie ihn z.B. Logicanalyzer benutzen. >> Dahinter hat man dann seine definierte Leitung + Empfänger. >Habe ich auch schon überlegt, allerdings wie sind die Eingangsstufen >aufgebaut? So wie jeder Digitaleingang von schnellen ICs. > Da ich eben ziehmmlich viele Signale zu empfangen habe, fällt >eine diskrete Lösung aus Das halte ich für eine vorschnelle Entscheidung. Du weißt doch gar nicht, was verfügbar ist. Und es gibt auch diskrete Mehrkanalpuffer in SMD. >und irgendwelche teuren Agilent-Spezialchips >gibt es vermutlich nicht so auf dem freien Markt. Dafür sehe ich wenig Notwendigkeit. Dann eher noch ein FPGA.
Hi Falk, > Pro Leitung schon, denn das ist der wesentliche Parameter für die > HF-Eigenschaften. Ob dann 5 oder 32 Bit parallel liegen, ist > zweitrangig. ich habe den Eindruck Du denkst noch zu getrennt von Analog/Digital-Technik. Die Digitaltechnik in der Embedded-Branche ist noch lange nicht weg vom parallelen Bus, wobei die Frequenzen schon lange die 300MHz überschritten haben (also HF sind). Weiterhin ist die Frage, ob 5 oder 32 Leitungen mit 50Ohm bei 3.3V terminiert sind, nicht egal, denn sie lassen ganz schön viel Strom fliessen. Womit man wiederum ziehmlich mit Crosstalk auf der Platine zu kämpfen hat. >>die Einheit "Baud" möglich. > > Da wird es dann wieder schön mehrdeutig, denn dann könnte man auf eine > Multilevelsignalisierung tippen ;-) ...deswegen die Einheit Transfers. :-) > Platz? Für 32x Koaxkabel? Größer geht es wohl kaum. Ausserdem, was für > ein Pegel läuft dort WIRKLICH? 3,3V und 700 Mbit/s / Leitung paasen > nicht zusammen. Bist Du Amateurfunker? ....Hoin, denk digitol... Meine Coax-Kabel sind AWG38 und die gibt's als Flachbandkabel. Da sind 20 Leitungen zusammen keine 13mm breit. > Als HF-Leitung, neudeutsch transmission line. Hm auch unter Beachtung von digitalen Gesichtspunkten? ;-) >>Welche kapazitive Last kann der Sender erwarten? > 0pF, denn eine transmission line sieht vom Sender her ohmsch aus! Da würde ich jetzt einwenden, das der Treiber bei einem einfachen Low/High-Wechsel die Leitung einmal umladen muss und damit schon die Leitung+PCB+Input als Kapazität "sieht". Zur Erinnerung, es geht um 0-700MT bzw. 0-350MHz. >>Wem sagst Du das wobei bei den höheren Dataneraten eher 1.8V Verwendung >>finden. Das ist für eine Low-Power-MCU aber immernoch ziehmlich viel. > Was ist denn das für ein Mischmasch? Eben Digitaltechnik/Busse im Bereich von MCUs und CPUs. Der LVTTL-Standart deckt 1.8/2.5 und 3.3V ab. Die cleveren Designer gehen auch mal auf 1.2V oder 1V runter. ...that's my life! > Sie hat ihre Problemchen, wenn die Terminierung eine ungünstige > Zeitkonstante hat. Dann ist Theveninterminierung besser, weil direkt > DC-tauglich. Mein Reden, deshalb ist dezeit auch eine modifizierte Thevenin im Einsatz (50Ohm auf Vcc/2). :-) >>> Ein aktiver Mehrkanal-Tastkopf, wie ihn z.B. Logicanalyzer benutzen. >>> Dahinter hat man dann seine definierte Leitung + Empfänger. > >>Habe ich auch schon überlegt, allerdings wie sind die Eingangsstufen >>aufgebaut? > So wie jeder Digitaleingang von schnellen ICs. ...dann habe ich das schon. > Das halte ich für eine vorschnelle Entscheidung. Du weißt doch gar > nicht, was verfügbar ist. Und es gibt auch diskrete Mehrkanalpuffer in > SMD. Es stehen halt immernoch die 32bit im Raum, da wird diskret schnell aufdringlich. ;-) Bekannte Mehrkanalpuffer haben aber auch das Problem des Leitungs Abschlusses. Das bringt also nicht wirklich weiter. >>und irgendwelche teuren Agilent-Spezialchips >>gibt es vermutlich nicht so auf dem freien Markt. > > Dafür sehe ich wenig Notwendigkeit. Dann eher noch ein FPGA. Wird bereits verwendet. Letztendlich besteht das Problem in der Erfassung des schnellen Datenstromes (FPGA, ist schon gelöst) und im Finden eines flexiblen Terminierungsschemas (geringe Verlustleistung, hohe Übertragungsrate, Übersprech-Unempfindlichkeit, weiter Spannungsbereich) oder Übertragungsstreckendesigns. Gruss,
@ Dirk L. (Gast) >> Pro Leitung schon, denn das ist der wesentliche Parameter für die >> HF-Eigenschaften. Ob dann 5 oder 32 Bit parallel liegen, ist >> zweitrangig. >ich habe den Eindruck Du denkst noch zu getrennt von >Analog/Digital-Technik. Ich nicht ;-) >Die Digitaltechnik in der Embedded-Branche ist noch lange nicht weg vom >parallelen Bus, Mag sein. > wobei die Frequenzen schon lange die 300MHz >überschritten haben (also HF sind). Sicher. >Weiterhin ist die Frage, ob 5 oder 32 Leitungen mit 50Ohm bei 3.3V >terminiert sind, nicht egal, denn sie lassen ganz schön viel Strom >fliessen. Auch klar. >Womit man wiederum ziehmlich mit Crosstalk auf der Platine zu >kämpfen hat. Jain. >Bist Du Amateurfunker? Nein. > ....Hoin, denk digitol... >Meine Coax-Kabel sind AWG38 und die gibt's als Flachbandkabel. Da sind >20 Leitungen zusammen keine 13mm breit. Ohh, das klingt ja schon recht kompakt ;-) >> Als HF-Leitung, neudeutsch transmission line. >Hm auch unter Beachtung von digitalen Gesichtspunkten? ;-) ??? >>Welche kapazitive Last kann der Sender erwarten? > 0pF, denn eine transmission line sieht vom Sender her ohmsch aus! >Da würde ich jetzt einwenden, das der Treiber bei einem einfachen >Low/High-Wechsel die Leitung einmal umladen muss und damit schon die >Leitung+PCB+Input als Kapazität "sieht". Aber nicht sofort. Die "Ladewelle" läuft mit ~ 2/3 Lichtgeschwindigkeit durch Kabel. >Zur Erinnerung, es geht um 0-700MT bzw. 0-350MHz. Schon klar. Ändert an meiner Aussage rein gar nichts. http://www.signalintegrity.com/ Der HF-Pabst und die Bibel (wobei es hier meist nur um Digitalsignale geht). http://www.signalintegrity.com/Pubs/edn/TransmissionLine.htm In seinem Buch ist das alles deutlich umfangreicher und besser dargestellt. http://www.signalintegrity.com/Pubs/news/1_19.htm >Mein Reden, deshalb ist dezeit auch eine modifizierte Thevenin im >Einsatz (50Ohm auf Vcc/2). :-) Auch nicht wirklich neues. >Es stehen halt immernoch die 32bit im Raum, da wird diskret schnell >aufdringlich. ;-) Naja, NULL Ausdehnung wird eng. >Bekannte Mehrkanalpuffer haben aber auch das Problem des Leitungs >Abschlusses. Das bringt also nicht wirklich weiter. Doch. Weil du nämlich HINTER deinem Puffer DEFINIERTE Verhältnisse hast und mit stromsparender Serienterminierung bis zu deinem Ziel gehen kannst. So wie jeder Oszitastkop es quasi macht. upps, da fällt mir ein Trick ein. Ein Z0-Tastkop ist relativ stromsparend und breitbandig, den önnte man in 32 Bit sehr einfach und kompakt aufbauen. Einziger Nachteil ist die Dämpfung. Da braucht man besondere Empfänger, welche mit dem kleinen Pegel klarkommen. Nur so ne Idee. http://www.signalintegrity.com/Pubs/straight/probes.htm
Hai! Falk Brunner schrieb: > Ein Z0-Tastkop ist relativ stromsparend und breitbandig, > den könnte man in 32 Bit sehr einfach und kompakt > aufbauen. Einziger Nachteil ist die Dämpfung. Da braucht > man besondere Empfänger, welche mit dem kleinen Pegel > klarkommen. Sender Jerewan: "Im Prinzip ja, aber erstens muss man keine 50Ohm-(Streifen)Leitung verwenden (sondern kann evtl. eine hoehere Impedanz verwenden), und zweitens muss man nicht unbedingt 1:20 teilen." So aus der Ferne (und ohne tiefergehende Sachkenntnis) sieht z.B. 330 Ohm / 70 Ohm ganz passend aus - aber ich weiss natuerlich nicht, ob eine 70-Ohm-Streifenleitung von der Geometrie her brauchbar ist. Bei 3.3V Input hat man dann einen High-Pegel von ca. 550mV. Hmmm... sag mal... kann man nicht eigentlich den Z0-Tastkopf mit einer Serienterminierung kombinieren? Also z.B. einen Spannungsteiler 150 Ohm / 150 Ohm am Eingang der Leitung; Wellenwiderstand der Leitung 75 Ohm, Ende offen. Geht das? Grusz, Rainer
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.