¿Diferencia entre UART y RS-232?

71

La mayoría de las veces RS-232 y UART se unen en las teorías de comunicación en serie. ¿Son los dos iguales? De mis lecturas llegué a la conclusión de que UART es una forma de hardware del protocolo RS-232. ¿Estoy en lo correcto?

    
pregunta tollin jose

3 respuestas

75

No, UART y RS-232 no son lo mismo.

UART es responsable de enviar y recibir una secuencia de bits. En la salida de un UART, estos bits generalmente están representados por voltajes de nivel lógico. Estos bits pueden convertirse en RS-232, RS-422, RS-485 o tal vez en alguna especificación de propiedad.

RS-232 especifica niveles de voltaje . Tenga en cuenta que algunos de estos niveles de voltaje son negativos y también pueden alcanzar ± 15V. La mayor oscilación de voltaje hace que el RS-232 sea más resistente a las interferencias (aunque solo en cierta medida).

Un UART de microcontrolador no puede generar tales niveles de voltaje por sí solo. Esto se hace con la ayuda de un componente adicional: controlador de línea RS-232. Un ejemplo clásico de un controlador de línea RS-232 es MAX232 . Si pasa por la hoja de datos, notará que este IC tiene una bomba de carga, que genera ± 10V desde + 5V.

( fuente )

    
respondido por el Nick Alexeev
31

UART (o USART) - Receptor / transmisor asíncrono universal (síncrono)

Esto es, esencialmente, una interfaz de comunicaciones serie. La parte "universal" significa que se puede configurar para admitir muchos protocolos seriales específicos diferentes. El término es genérico, y no representa un estándar específico. Como mínimo, significa que tiene una línea TX y una línea RX , que envía un flujo de datos en serie y recibe un flujo de datos en serie.

RS-232 : un estándar que define las señales entre dos dispositivos, que define los nombres de las señales, su propósito, los niveles de voltaje, los conectores y las conexiones de pines.

Este es un estándar de interfaz específico que permite la interoperabilidad del equipo. Si bien dos piezas de hardware pueden tener UART, no sabe que se conectarán sin daños o se comunicarán correctamente a menos que sepa que tienen los mismos estándares de pines y voltaje, o incluyen un convertidor o un cable especialmente cableado específico para la interconexión de Estos dos dispositivos específicos. Para evitar la necesidad de cables o convertidores especiales, los fabricantes pueden optar por seguir el estándar RS-232. Usted sabe, entonces, que un cable RS-232 estándar conectará los dos.

Sin embargo, ni el UART ni el estándar RS-232 definen lo que se envía en las líneas TX y RX . Generalmente, cuando las personas usan RS-232, usan una codificación NRZ de 8 bits simple con un bit de inicio y un bit de parada. La mayoría de los equipos fabricados hoy utilizan esta codificación, pero no hay ningún requisito para hacerlo. Puede encontrar equipos más antiguos que incluyan bits de paridad o que utilicen 7 o 9 bits. El UART se puede configurar para admitir estos diversos protocolos en sus líneas TX y RX .

Los UART no suelen interactuar directamente con RS-232. Deberá convertir la salida del UART al estándar de +/- 12V que requiere RS-232. Una interfaz RS-232 completa generalmente involucrará tanto un UART como un convertidor de nivel RS-232. Además, el estándar RS-232 incluye la definición de varios otros pines de señalización además de TX y RX , que es posible que deba usar dependiendo del equipo al que necesite conectarse. Estos también deberán ser convertidos a nivel, y su UART puede, o no, admitir estas señales. Si no lo hace, tendrá que controlarlos directamente con su software / firmware.

Entonces, si bien un UART puede ayudarlo a implementar una interfaz RS-232, no es una interfaz RS-232 en sí misma.

    
respondido por el Adam Davis
13

Las funciones de UART para convertir datos paralelos de líneas de bus de PC a datos en serie para transmisión a través de controladores de línea a RS-232, RS -422 y dispositivos RS-485 . El pin del reloj del chip UART es alimentado por una fuente de reloj programable. La velocidad del reloj está determinada por la configuración de velocidad en baudios que utilizará el dispositivo. La velocidad de reloj es 16 X la velocidad en baudios. Colocar una sonda de osciloscopio en el pin del reloj de un chip UART y determinar la frecuencia, luego dividir por 16 es una forma de determinar una velocidad de transmisión desconocida.

    
respondido por el Don Slade

Lea otras preguntas en las etiquetas

Comentarios Recientes

Un buen ejemplo de estas dos características. No hay conexión entre ellos. UART usa solo una interfaz, analogWrite. El RS-232 utiliza cuatro interfaces: entrada en serie, salida de pantalla LCD, puerto serie pin-1 y pin analógico 1, algún software en el Arduino e incluso software en el dispositivo Mega 3500. Puede usar este lector de píxeles de pantalla LCD desde cero con Reant Sketch and Processing y recibir datos de proyectos ya preparados de UART. ¡El cable de interfaz único no se pierde! RS-232 puede comunicarse... Lees verder