Was sind die Unterschiede zwischen USB und RS232?

29

Kann mir jemand sagen, warum die Leute entweder USB oder RS232 verwenden. Sie sind beide serielle Schnittstellen, oder? Und ich verstehe, dass USB viel schneller ist (insbesondere USB3.0), aber wenn die Leute es auch wollten, könnten sie sicher einen genauso schnellen Nachfolger für RS232 machen.

Also, was sind die Vor- und Nachteile für beide?

Sponge Bob
quelle
4
RS232 wurde wirklich als Schnittstelle zu einem Modem entwickelt. Bei Signalen mit dem Namen "Ring Indicator" usw. ist dies ziemlich klar. Es wurde verwendet, um eine einfache bidirektionale 3-Draht-Kommunikation (GND, TX, RX) für viele Geräte bereitzustellen. USB wurde als protokollverlängerbares Geräteschnittstellensystem entwickelt. Angesichts der Erweiterbarkeit ist es viel komplizierter und erfordert einen Software-Stack für die Implementierung sowohl auf der Geräte- als auch auf der Host-Seite. USB hat sogar einen Ersatz für RS232 namens CDC.
Kenny

Antworten:

20

Was sind die Unterschiede zwischen USB und RS232?

Sie werden viel mehr finden, als ich Ihnen hier über die Fähigkeiten und Nachteile von RS232 erzählen kann, indem Sie mit der Suche nach RS232 beginnen, dann im Web "herumwandern" und dem Thread folgen, in den er führt. Auf keiner Seite erfahren Sie alles, außer 10 oder 20 schnellen Blättern, die Ihnen zeigen, wie nützlich es war und wie schrecklich es gleichzeitig war.

  • USB ist als aufwärts erweiterbare, vollständig standardisierte Hochgeschwindigkeitsschnittstelle zwischen 1 Computergerät unter Verwendung eines einzelnen Ports und N Peripheriegeräten unter Verwendung von jeweils einem Port gedacht, wobei die gesamte Steuerung durch Signale innerhalb des Datenstroms erfolgt. USB ist für die Bereitstellung von Low-Level-Schnittstellen äußerst schwierig. "Einfache" Schnittstellen sind üblich, aber diese bieten und verbergen ein sehr hohes Maß an Komplexität.

  • RS232 war als halbstandardisierte 1: 1-Schnittstelle mit relativ niedriger Geschwindigkeit zwischen 1 Computergerät und 1 Peripheriegerät pro Port gedacht, wobei die Hardwaresteuerung ein wesentlicher Bestandteil des Betriebs ist. RS232 bietet relativ einfach physikalische Schnittstellen auf niedriger Ebene für.


RS232

war (und ist bis zu einem gewissen Grad immer noch) eine sehr nützliche, leistungsstarke und flexible Möglichkeit, Computergeräte an Peripheriegeräte anzuschließen.

Jedoch RS232 [tm] [!!!] sollte als eine kurze Strecke (wenige Meter max) mäßig niedrige Geschwindigkeit (9600 bps üblich, bis zu etwa 100 kbps in einigen Fällen schneller in sehr Fachsituationen), ein Gerät pro Port ( Ausnahmen, die die Regel bestätigen).

Die Signalisierung war relativ zur Masse unsymmetrisch, wobei etwa +/- 12 V mit einer logischen Eins an dfata = -V und einer logischen Eins an control = + V verwendet wurden. Es gab viele, viele Steuersignale auf dem ursprünglichen 25-poligen Steckverbinder, die zu einer äußerst großen Bandbreite von nicht standardmäßigen Verwendungen und Inkompatibilitäten führten. Die spätere Version reduzierte den Stecker auf 9-polig, wobei immer noch genügend Steuersignale vorhanden waren, damit die Benutzer die Konfigurationen vollständig destandardisieren konnten.

Das Funktionieren von RS232 zwischen einem zufällig ausgewählten Endgerät und einem Computer oder Ähnlichem war möglicherweise eine Frage des Plug-and-Go-Vorgangs oder der Spieldauer von Minuten, Stunden oder Tagen und würde in einigen Fällen einfach nicht funktionieren.

RS232 stellt KEINE Stromversorgung per se zur Verfügung, obwohl viele Leute es zur Stromversorgung von Geräten auf viele verschiedene Arten verwendeten, von denen keine Standard ist. Durch Beobachtung der Datenleitungen können Datensignale identifiziert werden. (Schnelle Augen und ein Gehirn, das mit einer geeigneten Anzahl von KBit / s arbeitet, würden helfen).

Die Datenübertragung ist auf einer Sende- und Empfangsleitung unidirektional und verwendet asynchrones Framing.

Das Design ist für eine 1: 1-Verbindung ohne Multidropping in einer 1: N-Anordnung ohne nicht standardmäßige Vorkehrungen ausgelegt.

USB

bis zu USB2 ist ein 4-Draht-System mit zwei Stromleitungen und zwei Datenleitungen. Es gibt keine physischen Steuerleitungen. USB3 verwendet mehr Leitungen und Details lassen sich am besten für eine andere Frage und Antwort.

Die anfängliche Geschwindigkeit betrug 12 Mbit / s, wurde mit USB2 auf 480 Mbit / s und mit USB3 auf 5 Gbit / s im "Superspeed" -Modus erhöht.

Die Steuerung und Konfiguration erfolgt über Software unter Verwendung von Datensignalen, die ein untrennbarer Bestandteil der Schnittstelle sind. Das Beobachten des Datenstroms mit einem Oszilloskop zeigt nicht die tatsächliche Datenkomponente des Systems an.

Bei der Datenübertragung wird eine symmetrische Differenzspannungssignalisierung von 0 / + 5 verwendet.

Die Datenübertragung erfolgt bidirektional, wobei der Besitz des "Busses" ein wesentlicher Bestandteil des Protokolls ist.

Die Verbindung erfolgt physisch fast immer 1: 1, es können jedoch mehrere logische Geräte an einem Port untergebracht werden. Der Anschluss von N physischen Geräten an einen Upstream-Port erfolgt normalerweise über einen "Hub". Dies ist jedoch im Wesentlichen eine sichtbare Manifestation einer internen 1: N-Anordnung, die integraler Bestandteil des Designs ist.


Es wird einige interessante Verbindungsprobleme geben :-):

USB2 / USB3 Von hier aus

Bildbeschreibung hier eingeben

USB3-Superspeed-Mikroconnector mit USB 2-Abwärtskompatibilität von hier aus

Bildbeschreibung hier eingeben

USB3.COM - USB3-Superspeed-Kabelanschlüsse von hier

Bildbeschreibung hier eingeben


Wikipedia RS232

USB versus seriell

Wikipedia USB

Häufig gestellte Fragen zu USB3 Superspeed

Wikipedia USB3

USB.ORG - Superspeed

Russell McMahon
quelle
1
Es sei darauf hingewiesen, dass RS232 USB weit überlegen ist, wenn es auf Jitter und Latenz ankommt. Sie können ein Pulse Per Second-Signal nicht zuverlässig über USB an einen Computer senden. Sie können dies mit RS232
dfc tun
18

Ein USB-Anschluss ist wesentlich ausgefeilter als ein serieller RS-232-Anschluss.

Grundsätzlich verfügt ein RS-232 über einen TX-Pin und einen RX-Pin, an denen eine bestimmte Seite Daten sendet und empfängt, und auf der anderen Seite sind dieselben beiden gekreuzt, sodass ein TX mit dem anderen RX verbunden ist und umgekehrt (offensichtlich).

Es gibt andere Stifte zur Steuerung, die jedoch nicht unbedingt verwendet werden müssen. Ihre Hauptfunktion ist die Kontrolle der Pufferretention. Das Protokoll in RS-232 ist recht einfach. Es wird angenommen, dass beide Seiten anfänglich still sind (jeder TX ist niedrig) und dann, wenn eine Seite ein Byte senden möchte, sie einen oder mehrere hohe Impulse (die "Startbits") ausführt, jedes Bit des Bytes nacheinander sendet und sendet endet dann mit einigen weiteren Impulsen ("Stoppbits"). Optional kann ein Paritätsbit vorhanden sein. Es wird vorausgesetzt, dass beide Seiten zuvor die gleiche Konfiguration für Start- und Stoppbits und das Timing für das Senden jedes Bits (die Baudrate) haben.

Möglicherweise gibt es mehr Signale für die Fehlerkorrektur, dies ist jedoch nicht erforderlich. Ein RS-232-Anschluss kann also problemlos mit E / A-Pins in jedem Mikrocontroller hergestellt werden. Sie müssen lediglich die Spannung umwandeln, da die RS-232-Leitungen 12 V betragen und die Mikrocontroller normalerweise mit 3,3 V arbeiten.

USB verwendet ein Paar differentieller Leitungen, bei denen ein Bit hoch gemacht wird, indem eine Spannungsdifferenz zwischen ihnen in eine Richtung gelegt wird, und niedrig, indem dieselbe Differenz in die andere Richtung gelegt wird. Dies ist viel effektiver, um Rauschen zu dämpfen. Daher kann USB längere Strecken zurücklegen und eine viel höhere Bandbreite aufweisen. Beide Seiten senden und empfangen über dasselbe Paar, und es gibt ein komplexes Datenprotokoll zum Erkennen von Kollisionen, zur Fehlerkorrektur, zum Erkennen von Geräteeigenschaften usw., ganz zu schweigen von der Unterstützung in der Spezifikation für gerätespezifische Standardprotokolle wie Mäuse, Tastaturen, usw. Kurz gesagt, um einen USB-Anschluss zu haben, benötigen Sie entweder einen dedizierten IC oder eine Firmware in Ihrem Mikrocontroller, die nicht einfach zu schreiben ist, insbesondere, wenn Sie bestimmte Gerätefunktionen unterstützen möchten.

fceconel
quelle
2
Gute Antwort, aber Sie sollten wahrscheinlich das Wort "Paar" aus der RS232-Beschreibung entfernen, da dies eher im Kontext der differentiellen Signalübertragung (dh "Twisted Pair") verwendet wird.
Chris Stratton