Mejor respuesta
UART es un protocolo para transferir datos en serie de un nodo a otro. El protocolo no es más que un conjunto de reglas regidas por todas las partes que participan en la comunicación para lograr una comunicación libre de errores.
Especialmente en la comunicación en serie, el protocolo es obligatorio. en la comunicación en paralelo, en un solo pulso, todos los bits se transfieren a otro nodo, pero en la comunicación en serie, los bits se transfieren uno por uno, por lo que se necesitan múltiples pulsos. por lo tanto, debemos decirle al sistema cuando comience a transmitir datos, cuántos bits habrá y cómo terminará su transferencia de datos. también debería integrar alguna técnica de comprobación de errores. todas esas reglas están incluidas en el protocolo. UART es un protocolo TTL que es compatible con la mayoría de los microcontroladores.
Pero cuando queremos mostrar nuestros datos en la pantalla de medios hiperterminales de la PC (computadora), debemos transferirlos a la PC a través del PUERTO COM disponible en el panel trasero. aquí viene el concepto de estándares que no es más que una capa física para transferir los datos.
La PC tiene COM PORT que sigue el estándar RS 232 para aceptar los datos. El diagrama de pines de DB9 es muy famoso y está fácilmente disponible en Internet. Pero los niveles lógicos de este PUERTO se decidieron mucho antes cuando TTL no estaba solo en la imagen.
Según el estándar RS 232: lógica 1 significa -3V a -25V
y lógica 0 significa + 3V a + 25V
donde nuestro protocolo UART genera datos según la lógica TTL.
donde lógica 1 significa 2.4V a 5V
lógica 0 significa 0 a 0.4V
por lo tanto, los datos del protocolo UART no se pueden transferir directamente al puerto RS 232. puede malinterpretarlo. por lo tanto, se usa un controlador de línea llamado MAX232 para convertir los niveles TTL en niveles RS 232.
De la misma manera, también tenemos otros estándares que son perfectamente compatibles con el protocolo UART a saber. Estándar RS 485 y estándar RS 422 (ambos son adecuados para topología de bus)
Respuesta
No . RS-232 es un estándar que define qué tipo de señales existen en un tipo de conexión en serie para dispositivos como módems. Originalmente se diseñó específicamente para módems y entre equipos terminales de datos (computadoras y módems DTE) y equipos de comunicaciones de datos (DCE, módems). También se ha utilizado para muchos otros dispositivos.
Si bien RS-232 define qué señal está en qué pin, los niveles de voltaje utilizados y algunas cosas por el estilo, * no * define el contenido real de esas señales.
Por lo tanto, un dispositivo síncrono que se conecta a un módem coloca tramas de datos muy diferentes en el cable que un dispositivo asíncrono. El puerto serie típico en una PC (o al menos lo que solía ser típico, los puertos serie son bastante raros en estos días), es un puerto asíncrono. Los sistemas más grandes a menudo usaban protocolos síncronos, bisync, SDLC y HDLC eran nombres comunes. La mayor diferencia entre los protocolos aysnc y sync es que la trama para el protocolo async cubre un solo carácter y el receptor no se sincroniza con los bits de datos a medida que pasan. La trama de los protocolos síncronos es la trama de datos completa (al igual que los protocolos de red modernos), y el receptor extrae la información de reloj de la señal para ajustar su tiempo y permanecer sincronizado en el transcurso de miles de bits. El primero es considerablemente más fácil de implementar, pero es menos eficiente (por lo general conduce a aproximadamente un 25\% de sobrecarga adicional para los bits de inicio y parada asociados con cada carácter), y a menudo se limita a velocidades de datos más bajas.
De todos modos , los dispositivos iniciales que implementaron estos protocolos se construyeron a partir de componentes discretos y SSI, con diferentes circuitos para async y sync, así como los diferentes tipos de protocolos de sincronización. A medida que los circuitos integrados se hicieron más grandes, la gente comenzó a integrarse. En los primeros días, era posible que tuviera un receptor de un chip y un transmisor de un chip, pero a menudo todavía tenía chips adicionales para la sincronización y el control, y todo eso. Pero eso fue una gran mejora.
A medida que las cosas mejoraron, la mayoría de las funciones se integraron en un solo chip. Por lo tanto, un UART es un Receptor / Transmisor Asíncrono Universal, integrado esencialmente todas las funciones que necesita para un lado de una conexión en serie a través de un enlace RS-232: la lógica de control, un receptor y un transmisor. Un soporte implementado por USART (generalmente) tanto para los protocolos Aysnc como para los protocolos de sincronización. Tenga en cuenta que los controladores de línea reales a menudo todavía están separados.
Entonces, un puerto serie en una PC * tiene * un UART, es lo que coloca la señal en la conexión RS-232, donde un dispositivo en el el otro extremo tiene un UART que recibe esa señal enviada, y esos también brindan el mismo servicio en la otra dirección. El UART es el hardware que ve el programador que escribe el controlador del dispositivo. Existen muchos UART diferentes, con diferentes interfaces de programación, pero en general todos pueden comunicarse (suponiendo que se puedan configurar con los mismos parámetros), a pesar de necesitar una programación diferente.
Entonces, RS-232 define lo que está físicamente en los cables, async o sync define cómo se enmarcan los datos, y un UART (o USART) suele ser la implementación de la lógica necesaria para controlar ese puerto en el dispositivo en cada extremo del cable.
Dicho esto, los puertos serie síncronos son raros en las PC, y los cuatro términos (puerto RS-232, puerto asíncrono, puerto serie y UART) a menudo se usan indistintamente. No es realmente correcto, pero nuevamente, los puertos serie no asíncronos son raros.