¿Cuáles son las diferencias entre USB y RS232?


29

¿Alguien puede decirme por qué las personas usan USB o RS232? Ambos son puertos serie, ¿verdad? Y entiendo que USB es mucho más rápido (especialmente USB3.0), pero si la gente también lo quisiera, estoy seguro de que podrían hacer un sucesor a RS232 que es igual de rápido.

Entonces, ¿cuáles son las ventajas y desventajas de ambos?


44
RS232 fue realmente diseñado para ser una interfaz para un módem. Eso está bastante claro con las señales llamadas 'indicador de anillo', etc. Se ha usurpado para proporcionar una comunicación bidireccional simple de 3 hilos (GND, TX, RX) a muchos dispositivos. USB fue diseñado como un sistema de interfaz de dispositivo extensible de protocolo. Dado lo extensible, es mucho más complicado y requiere una pila de software tanto en el dispositivo como en el host para implementar. USB incluso tiene un reemplazo para RS232 llamado CDC.
kenny

Respuestas:


20

¿Cuáles son las diferencias entre USB y RS232?

Encontrará mucho más de lo que puedo decir aquí acerca de las habilidades y desventajas de RS232 comenzando con una búsqueda de RS232 y luego 'deambulando por la web' y siguiendo el hilo hacia donde conduce. Ninguna página le dirá todo, pero 10 o 20 desnates rápidos le mostrarán cuán útil fue y cuán terriblemente terrible, todo al mismo tiempo.

  • El USB está diseñado como una interfaz completamente estandarizada y extensible de alta velocidad entre 1 dispositivo informático que utiliza un solo puerto y N periféricos que utilizan un puerto, cada uno con todo el control realizado por señales dentro del flujo de datos. USB es formidablemente difícil de proporcionar interfaces de bajo nivel. Las interfaces "simples" son comunes pero proporcionan y ocultan un grado muy alto de complejidad relacionada.

  • RS232 fue concebido como una interfaz semi-estandarizada de velocidad relativamente baja 1: 1 entre 1 dispositivo informático y 1 periférico por puerto con el control de hardware como parte integral de la operación. RS232 es relativamente fácil de proporcionar interfaces físicas de bajo nivel.


RS232

era (y hasta cierto punto sigue siendo) una forma flexible, muy útil y poderosa de conectar dispositivos informáticos a periféricos.

Sin embargo, [tm] [!!!] RS232 se concibió como una distancia corta (unos pocos metros como máximo) de velocidad moderadamente baja (9600 bps habituales, hasta aproximadamente 100 kbps en algunos casos, más rápido en situaciones muy especializadas), un dispositivo por puerto ( excepciones que prueban la regla).

La señalización fue desequilibrada con respecto a tierra usando aproximadamente +/- 12V con uno lógico en dfata = -V y uno lógico en control = + V. Había muchas, muchas, muchas señales de control en el conector original de 25 pines, lo que condujo a una amplia gama de usos e incompatibilidades no estándar. La versión posterior redujo el conector a 9 pines con todavía suficientes señales de control para permitir a las personas desestandarizar completamente las configuraciones.

Hacer que RS232 funcione entre un dispositivo terminal elegido aleatoriamente y una computadora o similar PUEDE haber sido una cuestión de enchufar y listo, o necesitar minutos minutos o días de juego y en algunos casos simplemente no funcionaría.

RS232 NO proporciona alimentación per se, aunque muchas personas lo utilizaron para alimentar equipos de muchas maneras diferentes, ninguna de ellas estándar. La observación de las líneas de datos permitirá identificar las señales de datos. (Los ojos rápidos y un cerebro que funciona a una cantidad adecuada de kbps ayudaría).

La transferencia de datos es unidireccional en una línea de transmisión y recepción y utiliza un marco asíncrono.

El diseño es para una conexión 1: 1 sin forma de multipunto en una configuración 1: N sin arreglos no estándar.

USB

hasta USB2 es un sistema de 4 cables físicos con dos líneas de alimentación y dos líneas de datos. No hay líneas de control físico. USB3 usa más líneas y es mejor dejar los detalles para otra pregunta y respuesta.

La velocidad inicial fue de 12 Mbps, aumentó a 480 Mbps con USB2 y el modo "Supevelocidad" de hasta 5 Gbps con USB3.

El control y la configuración se realizan con software utilizando señales de datos que son una parte completamente inseparable de la interfaz. Observar el flujo de datos con un osciloscopio no revelará el componente de datos real del sistema.

La transferencia de datos utiliza señalización de voltaje diferencial balanceado 0 / + 5.

La transferencia de datos es bidireccional y la propiedad del "bus" es una parte integral del protocolo.

La conexión es casi siempre en una base 1: 1 físicamente, pero se pueden acomodar varios dispositivos lógicos en un puerto. La conexión de N dispositivos físicos a un puerto ascendente generalmente se logra mediante el uso de un "hub", pero esto es esencialmente una manifestación visible de una disposición interna 1: N que es una parte integral del diseño.


Habrá algunos problemas de conector interesantes :-):

USB2 / USB3 desde aquí

ingrese la descripción de la imagen aquí

Microconector de supervelocidad USB3 con compatibilidad con USB 2 desde aquí

ingrese la descripción de la imagen aquí

USB3.COM: conectores de cable de supervelocidad USB3 desde aquí

ingrese la descripción de la imagen aquí


Wikipedia RS232

USB versus serie

Wikipedia USB

Preguntas frecuentes sobre USB3 Superspeed

Wikipedia USB3

USB.ORG - supervelocidad


1
Vale la pena señalar que RS232 es muy superior al USB cuando la fluctuación y la latencia son importantes. No puede alimentar de manera confiable una señal de pulso por segundo a una computadora a través de USB. Puede hacerlo con RS232
dfc

18

Un puerto USB es mucho más sofisticado que un puerto serie RS-232.

Básicamente, un RS-232 tiene un pin TX y un pin RX en el que un lado dado transmite y recibe datos (respectivamente), y el otro lado tiene los mismos dos cruzados, por lo que un TX se conecta al otro RX y viceversa (obviamente).

Hay otros pines para el control, pero no se usan necesariamente. Su función principal es el control de la retención del búfer El protocolo en RS-232 es bastante simple. Se supone que ambos lados están inicialmente en silencio (cada TX es baja), y luego, cuando un lado quiere transmitir un byte, hace uno o más pulsos altos (los "bits de inicio"), envía cada bit del byte transmitido secuencialmente y luego termina con algunos pulsos más ("bits de parada"). Opcionalmente, puede haber un bit de paridad. Se supone que ambos lados tienen previamente la misma configuración para iniciar y detener bits y el tiempo para enviar cada bit (la velocidad en baudios).

Puede haber más señalización para la corrección de errores, pero eso no es necesario. Entonces, un puerto RS-232 se puede hacer fácilmente usando pines de E / S en cualquier microcontrolador, lo único que necesitará es la conversión de voltaje ya que las líneas RS-232 son de 12V y los microcontroladores generalmente funcionan a 3.3V.

USB usa un par de líneas diferenciales, en las cuales un bit se hace alto al colocar una diferencia de voltaje entre ellos en una dirección, y bajo al colocar la misma diferencia en la otra dirección. Esto es mucho más efectivo para amortiguar el ruido, por eso el USB puede recorrer distancias más largas y tener anchos de banda mucho más altos. Ambas partes transmiten y reciben sobre el mismo par, y hay un protocolo de datos complejo para detectar colisiones, corregir errores, descubrir características del dispositivo, etc., sin mencionar el soporte en la especificación para protocolos estándar específicos del dispositivo como ratones, teclados, En resumen, para tener un puerto USB, necesita un IC dedicado para él o un firmware en su microcontrolador que no sea absolutamente trivial de escribir, especialmente si desea admitir capacidades específicas del dispositivo.


2
Buena respuesta, pero probablemente debería eliminar la palabra 'par' de la descripción de RS232 ya que tiende a usarse más en el contexto de la señalización diferencial (es decir, "par trenzado").
Chris Stratton
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.