USB en lugar de RS232

13

RS232 no es popular como solía ser y se reemplaza principalmente por USB [ wikipedia ]. Los problemas como los mencionados en esta pregunta tampoco ayudan a su reputación.

Por lo tanto, en un nuevo diseño de sistema, se podría pensar en usar USB en lugar de puerto serie para la comunicación. Sin embargo, todavía parece que RS232 es el protocolo / puerto de comunicación en serie de elección.

¿Porqué es eso? Entiendo que cambiar maquinaria vieja que funciona con RS232 es costoso, pero ¿qué impide que los nuevos diseñadores de sistemas usen USB en lugar de RS232?

Shahbaz
fuente

Respuestas:

12

Al menos en el nivel de microcontrolador:

  1. Los puertos serie (generalmente TTL o LVTTL) siguen siendo la forma más común de comunicación, ya que la mayoría de los microcontroladores simples no tienen un controlador USB.

    Por ejemplo: la mayoría de los microcontroladores AVR o PIC de 8 bits no tienen USB, algunos microcontroladores ARM de 32 bits sí, pero todos suelen tener puertos serie.

  2. La conversión de la comunicación serie TTL / LVTTL a RS-232 requiere una conversión de nivel lógico "simple", que se puede hacer con circuitos integrados muy baratos (MAX232 / MAX3232)

  3. La conversión de la comunicación en serie TTL / LVTTL a USB cuando su microcontrolador no tiene un controlador USB generalmente requiere el uso de un IC un poco más caro (FTDI) que no tiene opciones de empaque a través de orificios pasantes, solo montaje en superficie.

  4. Hay algunos detalles relativos al protocolo al que hay que prestar atención cuando se utilizan dispositivos USB en general, como el nivel actual que puede solicitar al host USB. Con los puertos serie, solo tiene que preocuparse por 3 a 5 parámetros fijos que deben ser consistentes en su sistema (velocidad de transmisión, número de bits de parada, paridad, etc.).

georgebrindeiro
fuente
9

Simplicidad, supongo. Una implementación USB (chips y software de controlador) suele ser más compleja que la buena RS232, que incluso se puede encontrar en muchos microcontroladores de 8 bits. Si bien el USB tiene muchos mecanismos de protocolo y está diseñado para tratar con muchos participantes a través de un bus, una conexión RS232 no tiene nada de eso. En cambio, es la forma "más cruda" posible de enviar bytes a través de un cable.

Aunque Arduino y la creciente difusión de los adaptadores USB a serie muestran la promesa de que el USB eventualmente se volverá tan dominante como solía ser RS232.

Daniel Eberts
fuente
5

Creo que la razón más importante por la que RS232 se ha mantenido es la simplicidad en la implementación de casos de uso comunes en hardware incorporado, como enviar una secuencia de bytes ASCII entre dos dispositivos para el control. Los casos de uso para enviar información a velocidades mucho más altas disponibles con USB no merecen la compensación en complejidad causada por la implementación de la señalización del protocolo USB .

A medida que aparecen los requisitos para velocidades más altas, no me sorprendería si RS-485 se volviera más común con su interfaz física muy simple y altas velocidades de datos (hasta 10Mb / s).

thisismyrobot
fuente
4
  • Simplicidad para diseñadores de hardware y fácil uso para programadores.
  • Fiabilidad
  • Bien conocido y soportado en muchos sistemas.

Especialmente en robótica cuando nos vimos obligados a usar USB en lugar de RS232 (Nuestras nuevas PC no tenían puertos RS232). Nos enfrentamos a muchos problemas:

  1. Cualquier desconexión de la toma USB necesita tanto esfuerzo para recuperar el sistema. A veces conduce a una falla del sistema incorrecta y tuvimos que reiniciar las PC.

  2. Cualquier choque o peligro lo desenchufa.

  3. Demasiado tiempo de programación

masoud
fuente
2

La latencia de comunicación es otra razón por la cual USB1.1 o USB2.0 no siempre es un buen reemplazo para RS232. Los datos en el bus USB1.1 o USB2.0 se formatean en tramas de 1 ms o 125us respectivamente, lo que fuerza la recepción mínima para transmitir latencia igual a dos períodos de trama (a menudo más en la práctica). Esta es una consideración importante para el hardware de PC moderno, que generalmente no tiene un puerto RS232 incorporado y en su lugar se utiliza el convertidor USB / RS232.

Paul Jurczak
fuente