Was sind die Unterschiede zwischen USB und RS232?

Kann mir jemand sagen, warum Leute entweder USB oder RS232 verwenden. Beides sind serielle Ports, richtig? Und ich verstehe, dass USB viel schneller ist (insbesondere USB3.0), aber wenn die Leute es auch wollten, könnten sie sicher einen Nachfolger von RS232 machen, der genauso schnell ist.

Also, was sind die Vor- und Nachteile beider?

RS232 wurde eigentlich als Schnittstelle zu einem Modem entwickelt. Das ist bei Signalen mit dem Namen "Ring Indicator" usw. ziemlich klar. Es wurde an sich gerissen, um vielen Geräten eine einfache bidirektionale 3-Draht-Kommunikation (GND, TX, RX) bereitzustellen. USB wurde als ein protokollerweiterbares Geräteschnittstellensystem entwickelt. Angesichts der Erweiterbarkeit ist es viel komplizierter und erfordert einen Software-Stack sowohl auf der Geräte- als auch auf der Hostseite, um ihn zu implementieren. USB hat sogar einen Ersatz für RS232 namens CDC.

Antworten (2)

Was sind die Unterschiede zwischen USB und RS232?

Sie werden viel mehr über die Fähigkeiten und Nachteile von RS232 finden, als ich Ihnen hier sagen kann, indem Sie mit einer Suche nach RS232 beginnen und dann im Internet herumwandern und dem Thread folgen, wohin er führt. Keine Seite wird Ihnen alles erzählen, aber 10 oder 20 schnelle Skims werden Ihnen zeigen, wie nützlich es war und wie absolut schrecklich, alles zur gleichen Zeit.

  • USB ist als eine nach oben erweiterbare, vollständig standardisierte Hochgeschwindigkeitsschnittstelle zwischen einem Computergerät mit einem einzigen Port und N Peripheriegeräten mit jeweils einem Port gedacht, wobei die gesamte Steuerung durch Signale innerhalb des Datenstroms erfolgt. Für USB ist es äußerst schwierig, Low-Level-Schnittstellen bereitzustellen. "Einfache" Schnittstellen sind üblich, aber diese bieten und verbergen ein sehr hohes Maß an damit verbundener 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 integraler Bestandteil des Betriebs war. RS232 ist relativ einfach, physikalische Low-Level-Schnittstellen bereitzustellen.


RS232

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

[tm] [!!!] RS232 war jedoch als kurze Entfernung (maximal einige Meter) mit mäßig niedriger Geschwindigkeit (üblicherweise 9600 bps, in einigen Fällen bis zu etwa 100 kbps, schneller in sehr speziellen Situationen), ein Gerät pro Port ( Ausnahmen bestätigen die Regel).

Die Signalisierung war relativ zur Masse unausgeglichen, wobei etwa +/- 12 V mit logisch Eins auf dfata = -V und logisch Eins auf Steuerung = + V verwendet wurden. Es gab viele, viele, viele Steuersignale auf dem ursprünglichen 25-Pin-Anschluss, was zu einer äußerst großen Auswahl an nicht standardmäßigen Verwendungen und Inkompatibilitäten führte. Die spätere Version reduzierte den Stecker auf 9 Pins mit immer noch genügend Steuersignalen, um es den Benutzern zu ermöglichen, Konfigurationen vollständig zu destandardisieren.

RS232 zwischen einem zufällig ausgewählten Endgerät und einem Computer oder ähnlichem zum Laufen zu bringen, KÖNNTE eine Frage des Einsteckens und Loslegens gewesen sein, oder es dauerte Minuten, Stunden oder Tage des Spielens und in einigen Fällen funktionierte es einfach nicht.

RS232 bietet per se KEINE Stromversorgung, obwohl viele Leute es verwendet haben, um Geräte auf viele verschiedene Arten mit Strom zu versorgen, keine davon ist Standard. Die Beobachtung der Datenleitungen ermöglicht die Identifizierung von Datensignalen. (Schnelle Augen und ein Gehirn, das mit einer angemessenen Anzahl von kbps 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-Möglichkeit in einer 1:N-Anordnung ohne nicht standardmäßige Anordnungen vorgesehen.

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 werden am besten einer anderen Frage und Antwort überlassen.

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

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

Die Datenübertragung verwendet eine 0/+5 symmetrische Differenzspannungssignalisierung.

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

Die Verbindung erfolgt physikalisch fast immer 1:1, jedoch können mehrere logische Geräte an einem Port untergebracht werden. Die Verbindung von N physischen Geräten mit einem Upstream-Port wird normalerweise durch die Verwendung eines "Hubs" erreicht, aber dies ist im Wesentlichen eine sichtbare Manifestation einer internen 1:N-Anordnung, die ein integraler Bestandteil des Designs ist.


Es wird einige interessante Verbindungsprobleme geben :-):

USB2 / USB3 Von hier

Geben Sie hier die Bildbeschreibung ein

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

Geben Sie hier die Bildbeschreibung ein

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

Geben Sie hier die Bildbeschreibung ein


Wikipedia RS232

USB versus seriell

Wikipedia-USB

Häufig gestellte Fragen zu USB3 Superspeed

Wikipedia-USB3

USB.ORG - Höchstgeschwindigkeit

Es sei darauf hingewiesen, dass RS232 USB weit überlegen ist, wenn es auf Jitter und Latenz ankommt. Sie können ein Impuls-pro-Sekunde-Signal nicht zuverlässig über USB an einen Computer senden. Sie können dies mit RS232 tun

Ein USB-Anschluss ist viel anspruchsvoller als ein serieller RS-232-Anschluss.

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

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

Es kann mehr Signalisierung für die Fehlerkorrektur geben, aber das ist nicht erforderlich. Ein RS-232-Port kann also einfach mit I/O-Pins in jedem Mikrocontroller hergestellt werden, das einzige, was Sie brauchen, ist eine Spannungswandlung, da RS-232-Leitungen 12 V haben und Mikrocontroller normalerweise mit 3,3 V arbeiten.

USB verwendet ein Paar differentieller Leitungen, bei denen ein Bit hoch 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, weshalb USB größere Entfernungen zurücklegen und viel höhere Bandbreiten haben kann. Beide Seiten senden und empfangen über dasselbe Paar, und es gibt ein komplexes Datenprotokoll, um Kollisionen zu erkennen, Fehler zu korrigieren, Geräteeigenschaften zu erkennen usw., ganz zu schweigen von der Unterstützung in der Spezifikation für standardmäßige gerätespezifische Protokolle wie Mäuse, Tastaturen, usw. Kurz gesagt, um einen USB-Anschluss zu haben, benötigen Sie entweder einen dedizierten IC dafür oder eine Firmware in Ihrem Mikrocontroller, die absolut nicht trivial zu schreiben ist, insbesondere wenn Sie bestimmte Gerätefunktionen unterstützen möchten.

Schöne Antwort, aber Sie sollten wahrscheinlich das Wort "Paar" aus der RS232-Beschreibung entfernen, da dies eher im Zusammenhang mit differenzieller Signalisierung (dh "Twisted Pair") verwendet wird.