Quelles sont les différences entre USB et RS232?

29

Quelqu'un peut-il me dire pourquoi les gens utilisent USB ou RS232. Ce sont deux ports série, non? Et je comprends que l'USB est beaucoup plus rapide (en particulier USB3.0) mais si les gens le voulaient aussi, je suis sûr qu'ils pourraient faire un successeur de RS232 qui est tout aussi rapide.

Alors, quels sont les avantages et les inconvénients des deux?

Bob l'éponge
la source
4
RS232 a vraiment été conçu pour être une interface avec un modem. C'est assez clair avec des signaux nommés «indicateur de sonnerie», etc. Il a été usurpé pour fournir une communication bidirectionnelle simple à 3 fils (GND, TX, RX) à de nombreux appareils. L'USB a été conçu comme un système d'interface de périphérique extensible de protocole. Étant donné l'extensible, c'est beaucoup plus compliqué et nécessite une pile logicielle à la fois sur le périphérique et sur l'hôte pour être implémentée. L'USB a même un remplacement pour RS232 appelé CDC.
kenny

Réponses:

20

Quelles sont les différences entre USB et RS232?

Vous trouverez beaucoup plus que ce que je peux vous dire ici sur les capacités et les inconvénients de RS232 en commençant par une recherche de RS232 puis en «errant sur le Web» et en suivant le fil où il mène. Aucune page ne vous dira tout, mais 10 ou 20 survols rapides vous montreront à quel point cela a été utile et terriblement terrible, tout en même temps.

  • L'USB est conçu comme une interface entièrement normalisée extensible vers le haut à grande vitesse entre 1 appareil informatique utilisant un seul port et N périphériques utilisant un port chacun, tout le contrôle étant accompli par des signaux dans le flux de données. L'USB est extrêmement difficile à fournir pour les interfaces de bas niveau. Les interfaces "simples" sont courantes mais elles fournissent et cachent un très grand degré de complexité connexe.

  • RS232 était conçu comme une interface semi-standardisée à vitesse relativement faible 1: 1 entre 1 appareil informatique et 1 périphérique par port, le contrôle matériel faisant partie intégrante du fonctionnement. RS232 est relativement facile à fournir pour les interfaces physiques de bas niveau.


RS232

était (et est encore dans une certaine mesure) un moyen puissant et très flexible de connecter un appareil informatique à des périphériques.

Cependant [tm] [!!!] RS232 était conçu comme une courte distance (quelques mètres max) à vitesse modérément faible (9600 bps habituels, jusqu'à environ 100 kbps dans certains cas, plus rapide dans des situations très spécialisées), un appareil par port ( exceptions prouvant la règle).

La signalisation était déséquilibrée par rapport à la terre en utilisant environ +/- 12V avec une logique sur dfata = -V et une logique sur control = + V. Il y avait beaucoup, beaucoup de signaux de contrôle sur le connecteur 25 broches d'origine, ce qui a conduit à une gamme extrêmement vaste d'utilisations et d'incompatibilités non standard. La dernière version a réduit le connecteur à 9 broches avec encore suffisamment de signaux de contrôle pour permettre aux gens de dénormaliser complètement les configurations.

Faire fonctionner RS232 entre un terminal choisi au hasard et un ordinateur ou similaire PEUT être une question de branchement et de départ, ou nécessiter des minutes, des heures ou des jours de jeu et dans certains cas, cela ne fonctionnerait tout simplement pas.

RS232 ne fournit PAS d'alimentation en soi, bien que de nombreuses personnes l'aient utilisé pour alimenter l'équipement de nombreuses manières différentes, aucune d'entre elles en standard. L'observation des lignes de données permettra d'identifier les signaux de données. (Des yeux rapides et un cerveau qui fonctionne à un nombre approprié de kbps aideraient).

Le transfert de données est unidirectionnel sur une ligne de transmission et de réception et utilise un tramage asynchrone.

La conception est pour une connexion 1: 1 sans aucun moyen de multidropping dans un arrangement 1: N sans dispositions non standard.

USB

jusqu'à USB2 est un système à 4 fils physiques avec deux lignes électriques et deux lignes de données. Il n'y a pas de lignes de contrôle physiques. USB3 utilise plus de lignes et il vaut mieux laisser les détails pour une autre question et réponse.

La vitesse initiale était de 12 Mbps, augmentée à 480 Mbps avec USB2 et jusqu'à 5 Gbps en mode "Superspeed" avec USB3.

Le contrôle et la configuration sont tous effectués avec un logiciel utilisant des signaux de données qui sont une partie totalement inséparable de l'interface. L'observation du flux de données avec un oscilloscope ne révélera pas la composante réelle des données du système.

Le transfert de données utilise une signalisation de tension différentielle équilibrée 0 / + 5.

Le transfert de données est bidirectionnel, la propriété du «bus» faisant partie intégrante du protocole.

La connexion est presque toujours sur une base 1: 1 physiquement mais un certain nombre de périphériques logiques peuvent être hébergés sur le même port. La connexion de N dispositifs physiques à un port en amont est généralement réalisée à l'aide d'un "concentrateur", mais il s'agit essentiellement d'une manifestation visible d'un arrangement interne 1: N qui fait partie intégrante de la conception.


Il va y avoir des problèmes de connecteurs intéressants :-):

USB2 / USB3 d' ici

entrez la description de l'image ici

Microconnecteur ultra-rapide USB3 avec compatibilité ascendante USB 2 d'ici

entrez la description de l'image ici

USB3.COM - Connecteurs de câble ultra-rapides USB3 d'ici

entrez la description de l'image ici


Wikipedia RS232

USB contre série

Wikipedia USB

FAQ USB3 Superspeed

Wikipedia USB3

USB.ORG - super vitesse

Russell McMahon
la source
1
Il convient de souligner que RS232 est de loin supérieur à l'USB lorsque la gigue et la latence sont importantes. Vous ne pouvez pas transmettre de manière fiable un signal d'impulsion par seconde à un ordinateur via USB. Vous pouvez le faire avec RS232
dfc
18

Un port USB est beaucoup plus sophistiqué qu'un port série RS-232.

Fondamentalement, un RS-232 a une broche TX et une broche RX dans laquelle un côté donné transmet et reçoit des données (respectivement), et l'autre côté a les mêmes deux croisés, donc un TX se connecte à l'autre RX et vice-versa (évidemment).

Il existe d'autres broches pour le contrôle, mais elles ne sont pas nécessairement utilisées. Leur fonction principale est de contrôler la rétention du tampon. Le protocole en RS-232 est assez simple. On suppose que les deux côtés sont initialement silencieux (chaque TX est faible), puis lorsqu'un côté veut transmettre un octet, il émet une ou plusieurs impulsions hautes (les "bits de départ"), envoie chaque bit de l'octet transmis séquentiellement et se termine ensuite par quelques impulsions supplémentaires ("bits d'arrêt"). Facultativement, il peut y avoir un bit de parité. Il est supposé que les deux côtés ont précédemment la même configuration pour les bits de démarrage et d'arrêt et la synchronisation pour l'envoi de chaque bit (le débit en bauds).

Il peut y avoir plus de signalisation pour la correction d'erreurs, mais ce n'est pas obligatoire. Ainsi, un port RS-232 peut être facilement créé à l'aide de broches d'E / S dans n'importe quel microcontrôleur, la seule chose dont vous aurez besoin est la conversion de tension car les lignes RS-232 sont de 12V et les microcontrôleurs fonctionnent généralement à 3,3 V.

L'USB utilise une paire de lignes différentielles, dans laquelle un bit est élevé en plaçant une différence de tension entre elles dans un sens et faible en plaçant la même différence dans l'autre sens. C'est beaucoup plus efficace pour amortir le bruit, c'est pourquoi l'USB peut parcourir de plus longues distances et avoir des bandes passantes beaucoup plus élevées. Les deux côtés transmettent et reçoivent sur la même paire, et il existe un protocole de données complexe pour détecter les collisions, effectuer des corrections d'erreurs, découvrir les caractéristiques des appareils, etc., sans parler de la prise en charge dans la spécification des protocoles spécifiques aux appareils standard comme les souris, les claviers, etc. En bref, pour avoir un port USB, vous avez besoin d'un circuit intégré dédié ou d'un micrologiciel dans votre microcontrôleur qui n'est absolument pas trivial à écrire, surtout si vous souhaitez prendre en charge des capacités spécifiques de l'appareil.

fceconel
la source
2
Bonne réponse, mais vous devriez probablement supprimer le mot «paire» de la description RS232 car il a tendance à être utilisé davantage dans le contexte de la signalisation différentielle (c'est-à-dire «paire torsadée»).
Chris Stratton