Warum nicht 1 Gbit / s implementieren, wenn ich nur 20 Mbit / s benötige?

27

Hintergrund

Ich arbeite mit einem Kunden an einem großen Projekt, für das ein kundenspezifischer Netzwerkchip entwickelt werden muss, um die Datenübertragungsanforderungen innerhalb des Projekts zu lösen. Das Netzwerk soll kleine Pakete über ein einzelnes Twisted-Pair-Kabel einige Zoll von einer Leiterplatte zur anderen senden. Wir werden das Netzwerkprotokoll entwerfen und spezifizieren, und ein anderes Unternehmen wird für die Siliziumimplementierung verantwortlich sein.

Ich schätze, dass eine Datenrate von 20 Mbit / s zwischen den Knoten problemlos mit der zu sendenden Datenmenge zurechtkommt, mit viel Headroom, falls die Datenmenge in Zukunft zunimmt.

Problem

Der Client fragt mich, warum ich nur 20 Mbit / s spezifiziere. Warum nicht so etwas wie 1 Gbit / s? Wäre das nicht besser? Intuitiv halte ich es für eine schlechte Idee, die Datenrate massiv über das Nötigste anzuheben. Ursprünglich dachte ich, dass die Verkabelung abgeschirmt sein müsste (was ich nicht will), aber wenn ich mir die Kategorien der Ethernet-Kabel anschaue, sehe ich, dass Gigabit-Ethernet mit Cat 6-Kabeln betrieben werden kann, die nicht abgeschirmt sein müssen.

Andere Einschränkungen

  • Das Projekt ist extrem räumlich begrenzt, und wir haben keinen Platz für Dinge wie Magnetics, es sei denn, es handelt sich um eine sehr kleine Komponente (max. 0603).
  • Die Kabel müssen so schlank und flexibel wie möglich sein.
  • Das Gerät wird über eine Steckdose betrieben, sodass kein besonderer Stromverbrauch besteht.

Frage

Was sind die Probleme in Bezug auf Siliziumdesign, Verkabelung und alles andere, die bei 1 Gbit / s auftreten können, die bei 20 Mbit / s nicht annähernd so schlimm wären? Sollte ich dem Vorschlag meines Kunden folgen, das Netzwerk mit 1 Gbit / s zu implementieren, oder sollte ich darauf bestehen, nur das zu implementieren, was erforderlich ist?

Wir sind unter strenger NDA, daher kann ich nicht zu viele Details über unsere Anforderungen geben. Bitte hinterlassen Sie jedoch einen Kommentar, wenn eine Klärung erforderlich ist.

Raketenmagnet
quelle
3
Wenn die Anwendung einen Durchsatz von 20 Mbit / s benötigt, ist wahrscheinlich ein 100 Mbit / s älterer Standard unter Berücksichtigung des gesamten Overheads und dergleichen ausreichend. Die Frage ist also, welche Kosten für die Implementierung anfallen und welche Teile zukünftig verfügbar sind. Haben Sie die entsprechenden Kosten überprüft? Und was meinst du mit "in Bezug auf Siliziumdesign"? Planen Sie, Ihr eigenes Silizium zu entwerfen?
Ale..chenski
9
1 Gbit / s kann ein Overkill sein ... 100 Mbit / s können ein geeigneterer nächster Schritt in der Geschwindigkeit sein .... wenn der Kunde mit der Zukunftssicherheit des Geräts befasst ist, kann er die Verwendung der Datenkomprimierung untersuchen ...... möglicherweise demonstrieren der Kunde, wie viel Datendurchsatz mit 20 Mbit / s erreicht wird ... zeigen sie ihnen ein HD-Youtube-Video und erklären, dass die Bandbreite nur 8 Mbit / s oder so ist
jsotola
12
Warum möchten Sie ein "Netzwerk" -Protokoll für eine Punkt-zu-Punkt-Verbindung?
Das Photon
20
Das Entwickeln eines "Netzwerkprotokolls" von Grund auf scheint keine besonders kluge Idee zu sein. Der Entwurf, die Implementierung der physischen Schicht, die Validierung der physischen Schicht, dann der Protokollschicht, die gesamte zugehörige Software und deren Validierung usw. usw. können recht kostspielig sein. Haben Sie schon von HSIC gehört, einer Art USB über 1.2VLVCMOS?
Ale..chenski
20
Stellen Sie bitte eine Demo mit 100M Ethernet-ICs ohne Magnetics zusammen, um dem Benutzer und Ihnen selbst zu demonstrieren, was mit handelsüblichen Teilen möglich ist. Machen Sie keine benutzerdefinierten Silizium-Protokolle, ohne zu verstehen, warum Standardprotokolle nicht funktionieren.
Neil_UK

Antworten:

24

Ein paar Gründe:

Leistung

Schnellere Geschwindigkeit bedeutet mehr Leistung. Sie brauchen nicht nur schnellere analoge Schaltkreise, die mehr Strom verbrauchen, sondern Ihre gesamte Elektronik, die sie umgibt, muss auch schneller sein. Ihre digitalen Systeme, Ihre Latches, Ihre Taktverwaltung usw. Wenn Sie diese 1 Gbit / s durch die Verwendung von Multilevel-Signalen erzielen, benötigen Sie jetzt bessere ADCs und DACs. Möglicherweise müssen Sie sich mit komplexeren Filtern befassen. Sie könnten anfangen, FEC zu benötigen, die auch Schritt halten muss.

Chipgröße

Schneller bedeutet mehr los. Sie benötigen eine bessere Taktstabilität, was größere Schaltkreise bedeutet. Sie benötigen ein besseres Timing, was ein komplexeres Taktwiederherstellungssystem bedeutet. Möglicherweise müssen Sie zur Verwendung von DSP wechseln, um die Kanalentzerrung durchzuführen. Ihre potenziell benötigte FEC benötigt Speicherplatz.

Umgebungsempfindlichkeit

Wenn Sie von einigen zehn Megabaud auf das umstellen, was für Gigabit erforderlich ist, werden Sie wesentlich empfindlicher für die Umwelt. Kleine Fehlpaarungen, die bei einigen zehn MHz möglicherweise nicht bemerkt werden, werden bei höheren Frequenzen zu Resonanzstummeln. Reflexionen können zu zeitweiligen Störungen führen. Ein gekerbtes Kabel, das im Laufe der Jahre aufgrund von Missbrauch beschädigt wurde (ich kenne die Anwendungsumgebung für Ihr Produkt nicht), ist möglicherweise in Ordnung für niedrigere Geschwindigkeiten, führt jedoch zu einer schlechten Leistung, wenn Sie höher gehen.

Designaufwand

Ich denke, aus all den zusätzlichen Themen, die ich oben besprochen habe, ist ersichtlich, dass der Zeit- und Arbeitsaufwand für das Entwerfen einer schnelleren Kommunikationsverbindung erheblich ist. Das allein sollte Grund genug sein.

EMI

Schneller bedeutet, dass die Erfüllung der EMI-Anforderungen schwieriger sein könnte.

Joren Vaes
quelle
5
@Rocketmagnet: Beachten Sie auch, dass der aktuelle 802.3 1000Base-T Gig-E über Cat5e Signale in beide Richtungen gleichzeitig über 4 Adernpaare sendet und eine mehrstufige Codierung verwendet, um die Frequenzen auf denselben 125 MHz zu halten als 100Base-T . Jeder Empfänger muss also subtrahieren, was sein eigener Sender sendet, um nur das vom anderen Ende gesendete Signal zu erhalten.
Peter Cordes
2
@PeterCordes - Das ist sehr interessant, ich werde das untersuchen. Es klingt jedoch nach einer wesentlich höheren Komplexität als bei einfachem LVDS.
Rocketmagnet
2
@Rocketmagnet: Ja, GigE klingt nach einer sehr schlechten Wahl. Es gibt einen Grund, warum GigE-Transceiver mehr als 100 MB Strom verbrauchen.
Peter Cordes
24

TTL-Signale (Single-Ended, Unminated) können problemlos 20 Mbit / s oder mehr verarbeiten - siehe beispielsweise SPI. Wenn Sie nur ein paar Zentimeter weit fahren, werden Sie mit Flachbandkabel und IDC-Steckern (oder einer Art Rückwandplatine) von Board zu Board geführt.

Mit 1 Gbit / s müssen Sie sich mit impedanzgesteuerten Leiterbahnen, Steckverbindern und Kabeln auseinandersetzen. Die Empfänger müssen PLL / DLL-Techniken verwenden, um die Synchronisation aufrechtzuerhalten und Takt / Daten zu trennen, wohingegen bei der langsameren Geschwindigkeit normale synchrone Logik ausreicht. Der 50-fache Overkill und die zusätzlichen Kopfschmerzen sind es einfach nicht wert, wenn Sie sicher sind, dass 20 Mbit / s auf absehbare Zeit ausreichen werden.


Ich habe vor etwa 25 Jahren ein benutzerdefiniertes serielles Busprotokoll für die Board-to-Board-Steuerung und den Status zwischen Boards in einem Telekommunikations-Rack entworfen. Eine Art Kreuzung zwischen I 2 C und SPI - unidirektionale Signale wie SPI, aber eingebettete Geräteadressen wie I 2 C.

Dave Tweed
quelle
Wenn wir davon ausgehen, dass wir bereits Impedanz-gesteuerte Leiterbahnen, Kabel und Steckverbinder verwenden möchten, gibt es noch weitere Probleme?
Rocketmagnet
1
Die Empfänger müssen PLL / DLL-Techniken verwenden, um die Synchronisation aufrechtzuerhalten und Uhr / Daten zu trennen. Bei der langsameren Geschwindigkeit reicht die normale Synchronlogik aus.
Dave Tweed
10
Dies hängt von Details zu Ihrer Implementierungstechnologie ab, die Sie wahrscheinlich nicht offenlegen können. Wenn Sie FPGAs verwenden (wie dies durch die Verwendung des Tags impliziert wird), beachten Sie, dass alle wichtigen Anbieter über Lösungen für die Chip-zu-Chip-Kommunikation mit unterschiedlichen Geschwindigkeiten verfügen. Es ist ratsam, dies für Ihre physische Schicht zu verwenden und darüber hinaus Ihr benutzerdefiniertes Protokoll zu implementieren.
Dave Tweed
1
Das Entwerfen eines PLL-Blocks ist nicht trivial und der Kauf der IP kann Sie leicht auf 50-100.000 USD zurücksetzen
Mike,
1
@Tustique Sie finden es trivial, eine eigene PLL auf Silizium zu entwerfen?
user253751
14

Die naheliegende Frage lautet: "Bedeutet 1 Gbit / s 1000BASET Ethernet?" Wenn der Kunde das denkt, schließt Ihre Forderung "Wir haben keinen Platz für Dinge wie Magnete" dies sofort aus. Ethernet verwendet Magnetics auf der physischen Ebene, und als ich vor einigen Jahren eine Schnittstelle entwarf, waren die Magnetics Teil eines Würfels von ungefähr 1 Zoll.

Sie sagen, Sie verwenden FPGAs, aber Sie sagen nicht, wessen. Wenn Sie mit Xilinx arbeiten, sollten Sie sich darüber im Klaren sein, dass die aktuellen Modelle LVDS nativ unterstützen, was für Ihren Zweck ideal zu sein scheint. Frühe LVDS-Systeme (Hi-Def-Fernseher) liefen mit 122 Mbit / s, und die Technologie kann bei Bedarf deutlich über Gbit / s hinausgehen. Da die beiden Boards unterschiedlich sind und keine wild schwebenden Böden verwenden, ist die Störfestigkeit hervorragend.

Was Ihre spezifische Wahl der Taktfrequenzen betrifft, so ist das Hinzufügen von mehr Headroom, als Sie für nötig halten, eine dieser Entscheidungen, die Ihren Speck in Zukunft retten können. Ich würde also nicht ausschließen, etwas wie 100 MHz auszuwählen, aber das liegt bei Ihnen. Sie könnten Ihren Kunden mit Roberges Gesetz vertraut machen (Jim Roberge war vor einigen Jahrzehnten ein bekannter Professor für Elektrotechnik am MIT): "Wer mehr Bandbreite verlangt, als er braucht, verdient, was er bekommt." Zugegeben, er sprach von Servosystemen, aber das Prinzip bleibt in einem bemerkenswert breiten Spektrum von Disziplinen gut.

WhatRoughBeast
quelle
7
Ethernet benötigt keine Magnetics, wenn Sie eine nicht standardmäßige Verbindung herstellen. Es ist ziemlich zuverlässig, wenn es ohne die Isolierung implementiert wird.
Jack Creasey
1
@JackCreasey aber kann man es dann noch Ethernet nennen ?
Mels
2
Es ist sicherlich nicht IEEE 802.3-konform. Es wird keine Verbindung zu einem konformen Endpunkt hergestellt, aber ich habe gesagt, dass es ohne die Magnete nicht konform wäre. Ich bezweifle, dass es die Testsuite für Signale auf der Backplane-Verbindung bestehen würde, aber es sollte alles andere einschließlich Jitter bestehen. Ich würde es immer noch Ethernet nennen, aber Sie können nicht.
Jack Creasey
2
Zu Ihrer Information: Das einzige Google-Ergebnis für "Wer mehr Bandbreite verlangt, als er benötigt, verdient, was er bekommt." ist diese Antwort.
user253751
11

Die von Ihnen beschriebene Anwendung ist nicht sinnvoll, um direkt in eine benutzerdefinierte Siliziumlösung zu springen. Die von Ihnen erwarteten Datenraten können mit der preisgünstigen FPGA-Technologie problemlos verarbeitet werden, und das FPGA kann so programmiert werden, dass es das spezielle Protokoll implementiert, wenn Sie wirklich der Meinung sind, dass ein solches Protokoll erforderlich ist.

Viel häufiger sollten Sie eine physikalische Standardschicht in Betracht ziehen und dann das angepasste Protokoll darauf aufbauen. Bei einer Netto-Kommunikationskanalbandbreite von 20 Mbit / s sollten Sie einen Protokoll-Overhead von einem gewissen Betrag einplanen, da die Framebildung, die Fehlerüberprüfung, die Codierung und die Synchronisierung einen Teil Ihrer Bandbreite aufbrauchen. Ziehen Sie daher möglicherweise eine höhere unformatierte Bandbreite in Betracht, um diesen Mehraufwand auszugleichen.

Sobald Sie Ihr Design unter Beweis gestellt haben, können Sie sich an den FPGA-Anbieter wenden und ihn bitten, ein Hard-Chip-Design aus der FPGA-Programmierung zu erstellen. Dieser Ansatz verringert das Risiko einer frühen Entwicklung und senkt die NRE-Gesamtkosten um einen enormen Betrag im Vergleich zum "Eintauchen in benutzerdefiniertes Silizium, nur weil es cool zu sein scheint".

Michael Karas
quelle
Genau diesen Weg wollen wir gehen.
Rocketmagnet
11

Die eigentliche Frage ist, warum ein Protokoll entworfen werden soll, wenn bereits alles vorhanden ist.

Für Ethenet-Lösungen nehmen Sie 10/100 und nicht 1GbE, da es immer noch etwas billiger und viel einfacher zu planen ist. Ethernet kann übrigens auch ohne Magnetics arbeiten. Dafür ist jedoch ein MAC erforderlich, der ein zusätzlicher IC sein kann. Oder hast du einen in einem Mikrocontroller?

20 Mbit / s passt zu Rs485 oder einer solchen Schicht, die sogar noch billiger und einfacher ist. Twisted Pair-Kabel werden mit mehr oder weniger flexiblen Kabeln geliefert, die über Steckverbinder verfügen oder einfach auf Ihre Leiterplatte gelötet werden.

Ah, am wichtigsten. Es ist einfacher, mit 1 GB Mist zu bauen. Wenn sie aber Raum für weiteres Wachstum brauchen, schränkt dies weniger ein.

Fazit: Sie müssen Ihre Systemanforderungen verstehen.

Gregory Kornblum
quelle
10

Ich würde vorschlagen, dass die einfachste Route mit der besten Erfolgswahrscheinlichkeit und dem geringsten Software-Overhead die Implementierung einer 100-Mbit / s-Ethernet-Verbindung ist. Dies können Sie bei kleinen Abständen ohne Magnetisierung realisieren.

Hier erhalten Sie zunächst Informationen zum Intel 8255 PCI-Ethernet-Controller und einen Anwendungshinweis zu Verbindungen ohne Magnetics.
Ich schlage nicht vor, dass Sie den 8255 verwenden, aber Sie können IP (10/100 / 1000Mbps) für jeden der FPGAs erhalten, die Sie wahrscheinlich sehr einfach verwenden, und es ist gut debuggt.

Vorausgesetzt, Sie haben einen Prozessor im Mix, ist die Unterstützung eines Standard-Ethernet-Controllers eine sehr kostengünstige Methode zur Implementierung von Punkt-zu-Punkt-Netzwerken.
Wir haben eine Menge solcher Punkt-zu-Punkt-Verbindungen auf speziellen Motherboards von Intel verwendet. Sie waren einfach zu debuggen und sehr zuverlässig.

Jack Creasey
quelle
4
Obwohl Ethernet das Protokoll ausführen kann, muss 100 Base Ethernet mindestens 1 Meter entfernt sein (dies hat mich vor einigen Jahren bei der Verwendung einer Ethernet-über-Backplane-Implementierung gestört). Das OP erwähnte, dass der Abstand einige Zoll betrug, was Ethernet auf der physischen Ebene eher ausschließt.
Peter Smith
1
@PeterSmith, der Mindestabstand gilt NICHT für Ethernet ohne Magnetfelder. Dies funktioniert nur bis zu einigen Zentimetern.
Jack Creasey
5

Die Antworten hier sind technisch, ich gebe eine Anforderungs-Engineering-Perspektive:

Meine Ansicht dazu ist einfach

  • Sie benötigen mindestens 20 Mbit / s, damit es funktioniert. Geben Sie also nicht 20, sondern "20 oder mehr" für die Anwendung an.

  • Jede schnellere Hardware erfüllt auch Ihre Anforderungen

  • Wenn die schnellere Hardware aufgrund bestehender Standards günstiger / einfacher zu entwickeln ist, kann Ihre Anforderung auch von diesen erfüllt werden.

  • Wenn der Kunde mehr möchte, versuchen Sie herauszufinden, ob etwas dahintersteckt (es kann sein, dass er bereits Upgrades plant und beim Tauschen zwischen den Boards kompatibel bleiben möchte).

Sascha
quelle
3

Leistung, Signalintegrität und Timing. Ich habe an einem Chip mit einer 25-Gbit / s-Schnittstelle gearbeitet, was eine Taktrate von 1,6 GHz und eine Tonne Leistung bedeutet. Wenn wir mit 19,2 hätten laufen können, wäre die Taktrate 1,2 GHz gewesen. Mehr als 200 ps zusätzliche Marge pro Taktperiode, das wäre eine große Hilfe gewesen.

Ich habe noch nie Boarddesign gemacht, aber ich gehe davon aus, dass 20 Mbit / s kein Problem sind. 1 Gbit / s ist immer noch nicht so schwierig, aber viel schwieriger als 20 Mbit / s.

Matt
quelle