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

¿Alguien puede decirme por qué la gente usa 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 quisiera, estoy seguro de que podrían hacer un sucesor de RS232 que sea igual de rápido.

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

RS232 fue realmente diseñado para ser una interfaz para un módem. Eso es bastante claro con las señales llamadas 'indicador de timbre', etc. Ha sido 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. Dada la extensión, es mucho más complicado y requiere una pila de software tanto en el dispositivo como en el lado del host para implementar. USB incluso tiene un reemplazo para RS232 llamado CDC.

Respuestas (2)

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

Encontrará mucho más de lo que puedo decirle aquí acerca de las capacidades y desventajas de RS232 al comenzar con una búsqueda de RS232 y luego 'deambular por la web' y seguir el hilo a donde lo lleva. Ninguna página le dirá todo, pero 10 o 20 lecturas rápidas le mostrarán cuán útil fue y cuán absolutamente terrible, todo al mismo tiempo.

  • USB está diseñado como una interfaz completamente estandarizada extensible hacia arriba de alta velocidad entre 1 dispositivo informático que usa un solo puerto y N periféricos que usan un puerto, cada uno con todo el control realizado por señales dentro del flujo de datos. USB es tremendamente 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 pensado como una interfaz semi-estandarizada de velocidad relativamente baja 1:1 entre 1 dispositivo informático y 1 periférico por puerto con 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, potente y muy útil de conectar dispositivos informáticos a periféricos.

Sin embargo , [tm] [!!!] RS232 fue diseñado para 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 especiales), un dispositivo por puerto ( excepciones que confirman la regla).

La señalización estaba desequilibrada en relación con la tierra utilizando aproximadamente +/- 12 V 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 que dieron lugar a una amplia gama de usos e incompatibilidades no estándar. La última versión redujo el conector a 9 pines con suficientes señales de control para permitir que las personas desestandarizaran por completo las configuraciones.

Lograr que RS232 funcione entre un dispositivo terminal elegido al azar y una computadora o similar PUEDE haber sido una cuestión de enchufar y listo, o necesitar minutos, horas 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. (Ojos rápidos y un cerebro que funcione a un número adecuado de kbps ayudaría).

La transferencia de datos es unidireccional en una línea de transmisión y recepción y utiliza tramas asíncronas.

El diseño es para una conexión 1:1 sin posibilidad de conexión múltiple en una disposición 1:N sin disposiciones no estándar.

USB

hasta USB2 es un sistema de 4 hilos 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 era de 12 Mbps, aumentó a 480 Mbps con USB2 y hasta 5 Gbps en modo "Superspeed" con USB3.

El control y la configuración se realizan con software que utiliza señales de datos que son una parte completamente inseparable de la interfaz. La observación del 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 físicamente 1:1, 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 "concentrador", 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 retrocompatibilidad 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í


WikipediaRS232

USB frente a serie

Wikipedia USB

Preguntas frecuentes sobre USB3 de supervelocidad

WikipediaUSB3

USB.ORG - supervelocidad

Vale la pena señalar que RS232 es muy superior a USB cuando el jitter 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. Puedes hacerlo con RS232

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

Básicamente, un RS-232 tiene un pin TX y un pin RX en los que un lado determinado 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 necesariamente se usan. Su función principal es para el control de retención de tampón. El protocolo en RS-232 es bastante simple. Se supone que ambos lados están inicialmente en silencio (cada TX es bajo), 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 ("stop bits"). Opcionalmente, puede haber un bit de paridad. Se supone que ambos lados tienen previamente la misma configuración para los bits de inicio y parada y el tiempo para enviar cada bit (la tasa de 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 conversión de voltaje ya que las líneas RS-232 son de 12V y los microcontroladores generalmente funcionan a 3.3V.

USB utiliza un par de líneas diferenciales, en las que un bit se hace alto colocando una diferencia de voltaje entre ellos en una dirección y bajo colocando 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. Ambos lados 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, etc. En resumen, para tener un puerto USB, necesita un IC dedicado para él o un firmware en su microcontrolador que no sea trivial de escribir, especialmente si desea admitir capacidades específicas del dispositivo.

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").