La mayoría de las veces RS-232 y UART se unen en teorías de comunicación en serie. ¿Ambos son iguales? De mis lecturas concluí que UART es una forma de hardware del protocolo RS-232. ¿Estoy en lo correcto?
La mayoría de las veces RS-232 y UART se unen en teorías de comunicación en serie. ¿Ambos son iguales? De mis lecturas concluí que UART es una forma de hardware del protocolo RS-232. ¿Estoy en lo correcto?
Respuestas:
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 quizás en alguna especificación patentada.
RS-232 especifica niveles de voltaje . Observe que algunos de estos niveles de voltaje son negativos y también pueden alcanzar ± 15V. Una oscilación de voltaje más grande hace que el RS-232 sea más resistente a la interferencia (aunque solo en cierta medida).
Un microcontrolador UART no puede generar dichos niveles de voltaje por sí mismo. Esto se hace con la ayuda de un componente adicional: el controlador de línea RS-232. Un ejemplo clásico de un controlador de línea RS-232 es MAX232 . Si revisa la hoja de datos, notará que este IC tiene una bomba de carga, que genera ± 10V desde + 5V.
( fuente )
UART (o USART) - Receptor / transmisor asíncrono universal (síncrono)
Esto es, esencialmente, una interfaz de comunicaciones en serie. La parte "universal" significa que se puede configurar para admitir muchos protocolos serie específicos diferentes. El término es genérico y no representa un estándar específico. Como mínimo, significa que tiene una TX
y una RX
línea, 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, define los nombres de las señales, su propósito, niveles de voltaje, conectores y clavijas.
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 voltaje y pines, o que incluyen un convertidor o un cable con cable específico para la interconexión de Estos dos dispositivos específicos. Para evitar la necesidad de convertidores o cables especiales, los fabricantes pueden optar por seguir el estándar RS-232. Entonces, sabe que un cable RS-232 estándar conectará los dos.
Sin embargo, ni el estándar UART ni el estándar RS-232 definen lo que se envía en las líneas TX
y RX
. En general, cuando las personas usan RS-232, usan una codificación NRZ simple de 8 bits con un bit de inicio y un bit de parada. La mayoría de los equipos fabricados actualmente usan esta codificación, pero no es necesario hacerlo. Puede encontrar equipos más antiguos que incluyen bits de paridad o que usan 7 o 9 bits. El UART puede ser configurado para soportar estos diversos protocolos en sus TX
y RX
líneas.
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 implicará un convertidor de nivel UART y 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 , TX
y RX
que puede necesitar 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 es así, tendrá que controlarlos directamente con su software / firmware.
Entonces, aunque un UART puede ayudarlo a implementar una interfaz RS-232, no es una interfaz RS-232 en sí misma.
El UART funciona para convertir datos paralelos desde líneas de bus de PC a datos en serie para transmisión a través de controladores de línea a dispositivos RS-232, RS-422 y 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 la velocidad en baudios que usará el dispositivo. La velocidad del 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.