Frage:
Warum verwendet USB nur 2 Leitungen für RX, TX anstelle mehrerer Datenleitungen?
mhashim6
2018-11-16 18:14:52 UTC
view on stackexchange narkive permalink

Wäre es nicht schneller, wenn mehrere Datenleitungen (z. B. 8) zum Senden / Empfangen von Daten (z. B. sequentielle Bytes) vorhanden wären, anstatt eine einzelne Zeile zum Senden sequentieller Bits zu verwenden?

Es wäre weitaus schwieriger, es mit mehreren Drähten mit hoher Geschwindigkeit laufen zu lassen.Es gibt einen guten Grund dafür, aber eine Antwort zu schreiben, die erklärt, warum es zu lange dauern würde - und ich bin wahrscheinlich nicht die beste Person, um es zu erklären.
dupe: [Warum wird überall digitale serielle Übertragung verwendet?] (https://electronics.stackexchange.com/q/393462/50736)
So wird USB Typ C eingerichtet.Mit mehreren Datenleitungen.
@ratchetfreak Ich glaube, Sie müssen nicht einmal so weit gehen, USB 3.0 hat 4 Datenleitungen anstelle von 2.
Ich habe das Gefühl, dass viele dieser Antworten so reagieren, als ob USB 1 Sendekabel und 1 Empfangskabel hat, wenn es stattdessen ein einzelnes Differentialpaar hat.Beide Seiten, sowohl Senden als auch Empfangen, befinden sich auf diesem Differenzpaar.Das unterscheidet es zumindest von SATA.
Sie sollten nicht den Unterschied zwischen serieller und paralleler Kommunikation erkennen, der Ihnen eine einfachere Antwort gibt.
Weil es seriell ist, was Sinn macht, wenn der USB universell ist.Es funktioniert in 16, 32, 64 Bit usw.
@PSyLoCKe das hat nichts damit zu tun.Die Übertragungsgröße kann auch in einer parallelen Schnittstelle beliebig sein.
Fünf antworten:
#1
+33
Marcus Müller
2018-11-16 18:20:03 UTC
view on stackexchange narkive permalink

Es wäre in der Tat schneller, wenn Sie anstelle einer Zeile mehrere Zeilen mit derselben Symboluhr füttern würden.

Das Hauptziel von USB ist es jedoch, eine einfache serielle Schnittstelle (daher das S in USB) zwischen kostengünstigen Geräten (daher das U in USB) mit kostengünstiger, leichter Verkabelung bereitzustellen.

Deshalb führt USB keine parallelen Datenleitungen durch: Es ist einfach nicht die Nische, die es füllen soll.

Vernachlässigen Sie auch nicht, dass das Transceiver-System bei mehreren parallelen Hochgeschwindigkeitsspuren einen relativ hohen Aufwand erfordert, um unterschiedliche Schräglagen auf verschiedenen Leitungen zu kompensieren, die bei hohen Raten unvermeidlich sind.

Es ist oft billiger geworden, etwas doppelt so schnell zum Laufen zu bringen, als zwei der langsameren Varianten zu erstellen, es sei denn, Sie sprechen wirklich direkt mit Hardware, die im Prinzip bitparallel ist (z. B. DDR-Speicherchips).

Können Sie erklären, wie U in USB mit "kostengünstigen Geräten" zusammenhängt?
USB = ** universeller ** serieller Bus.Mit "universal" war gemeint, dass es als kostengünstiger Bus für alle Arten von kostengünstigen Computerperipheriegeräten konzipiert wurde.
#2
+14
Chris Fernandez
2018-11-16 20:24:54 UTC
view on stackexchange narkive permalink

Eine der Haupthürden bei jeder Art von Parallelbus ist Skew. Wenn Sie 8 separate Drähte haben, die alle Daten übertragen, ist es wichtig, dass alle Bits ungefähr zur gleichen Zeit ankommen. Andernfalls könnten die Bits von Byte A mit den Bits von Byte B verwechselt werden. Dies bedeutet, dass die Länge dieser parallelen Drähte innerhalb eines bestimmten Prozentsatzes der Taktrate angepasst werden muss, damit die Laufzeit des Signals den Draht hinunter verläuft ist ungefähr das gleiche. Je schneller die Taktrate ist, desto enger ist die Toleranz für die Länge zwischen parallelen Drähten.

Bei einem PCB-Design für so etwas wie ein Motherboard sind sehr strenge Designbeschränkungen üblich. PCB-Leiterbahnen können eine Längenanpassung von 1 mil oder besser erreichen, was gut genug ist, um parallele Hochgeschwindigkeitsschnittstellen zu implementieren. Ein häufiges Beispiel hierfür ist die DDR-Speicherschnittstelle. Diese Schnittstelle basiert auf paralleler Kommunikation, um Daten mit sehr hohen Raten zu verschieben. Es ist jedoch nur möglich, diese Schnittstellen (kostengünstig) intern zu implementieren.

Stellen Sie sich vor, Sie möchten ein externes Computerkabel mit mehr als 30 Kabelverbindungen bauen, deren Länge innerhalb eines Tausendstel Zolls übereinstimmt! Diese Kabel wären im Vergleich zu USB-Kabeln sehr teuer.

Ältere Computer verwendeten einen parallelen Port, der 8 Datenleitungen hatte, aber nur eine Datenrate von etwa 2,5 MB / s erreichen konnte. Vergleichen Sie das mit den 60 MB / s von USB 2.0, geschweige denn mit den neueren USB-Varianten.

Sie können dies tatsächlich mit Link-Training über mehrere Spuren hinweg umgehen, und dies geschieht sogar bei typischen PCB-gebundenen Links wie PCIe - aber es lohnt sich wirklich nur, dies zu tun, wenn Sie sich viel Mühe sparen, indem Sie diesen Betrag durchlaufenvon Ärger.
PCIe ist eigentlich eine serielle Verbindung, die nur ein differentielles Leitungspaar für Rx und ein anderes Paar für Tx verwendet.Die mehreren PCIe * Spuren * sind * nicht * parallele Signalleitungen.Sie müssen nur anhand der darauf übertragenen Frames synchronisiert werden, nicht anhand der digitalen Signale.Vor ein paar Wochen gab es eine Diskussion über diese Frage auf [electronic.se].
guter Fang, aktualisiert
https://electronics.stackexchange.com/a/393469/87770
#3
+13
Manu3l0us
2018-11-16 18:26:59 UTC
view on stackexchange narkive permalink

Während die Antwort von Marcus zu 100% richtig ist, möchte ich hinzufügen, dass USB 3.2 Gen 1x2 und Gen 2x2 zwei Datenspuren in jede Richtung verwenden, während die Spuren noch mit 5 Gbit / s bzw. laufen.Jeweils 10 Gbit / s.

#4
+10
CrossRoads
2018-11-16 21:52:46 UTC
view on stackexchange narkive permalink

USB hat keine Rx & Tx-Leitungen.Es hat ein Paar von Differenzleitungen, ähnlich wie RS485, wobei das Daten-&-Taktsignal zusammen codiert ist.Der Sender sendet Daten über beide Leitungen in eine Richtung, und der Empfänger sendet Daten über beide Leitungen in die andere Richtung zurück.

Andernfalls kann ein paralleler Signalbus sehr schnell sein.Am besten für kurze Strecken aus den bereits genannten Gründen.

Beispiel für eine USB-Datenübertragung:

enter image description here

#5
+2
mic_e
2018-11-17 00:16:39 UTC
view on stackexchange narkive permalink

Wie in anderen Antworten ausgeführt,

  • Sie haben Recht. Wenn Sie doppelt so viele Fahrspuren verwenden, erhalten Sie die doppelte Geschwindigkeit.
  • Früher waren parallele Busse (mit vielen Datenspuren) weit verbreitet. Beispiele sind die parallele Druckerschnittstelle, PATA und PCI. Es ist jedoch schwierig, schnelle parallele Busse zu bauen, da Unterschiede in der Länge der einzelnen Drähte zu Zeitunterschieden führen. Parallele Busse sind auf Leiterplatten (DRAM, QSPI, GMII, ...) und auf Chips (AXI, AHB, QPI, ...) immer noch weit verbreitet, aber für größere Entfernungen ist es tatsächlich viel billiger, einen Hochleistungsbus zu bauen. serielle Verbindung als eine parallele Verbindung mit niedrigerer Geschwindigkeit bei gleichem Datendurchsatz. Moderne Superhochgeschwindigkeits-Datenverbindungen mit größerer Entfernung wie Gigabit-Ethernet, PCIe und USB3 verfügen zwar über mehrere Datenspuren, aber jede dieser Spuren ist eine völlig unabhängige serielle Hochgeschwindigkeitsverbindung. Die Datenströme der einzelnen Links werden zu einem späteren Zeitpunkt wieder zusammengeführt. Aus diesem Grund können Sie eine PCIe x16-Grafikkarte mit einem passenden Adapter (oder ausreichender Gewalt) in einen PCIe x1-Steckplatz stecken.
  • Parallele Busse haben mehr Drähte (duh), sodass das Kabel dicker und schwerer und teurer wird, ebenso wie der Stecker.

In der Vergangenheit stand bei der Entwicklung von USB die Hochgeschwindigkeitsdatenübertragung nicht im Vordergrund. Das Hauptaugenmerk lag auf der Schaffung eines universellen und kostengünstigen Bussystems zum Anschluss von Peripheriegeräten wie Tastaturen, Mäusen und Druckern. Ein paralleles Design wäre eine schlechte Wahl gewesen; Dies hätte die revolutionäre Größe kleiner Steckverbinder ruiniert und wahrscheinlich die Kosten für USB so weit erhöht, dass eine weit verbreitete Anpassung verhindert wird.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 4.0-Lizenz, unter der er vertrieben wird.
Loading...