GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué es UART (receptor/transmisor asíncrono universal)?

Público objetivo

Este artículo asume que el lector tiene una comprensión básica de los dispositivos electrónicos, los circuitos y la terminología.

Introducción

En el mundo de las comunicaciones de dispositivos integrados, hay un pequeño puñado de protocolos que se utilizan para muchas aplicaciones diferentes. A menudo sucede que los protocolos más comunes que se usan comúnmente para las operaciones diarias, como FTP y TCP, no funcionan con dispositivos integrados pequeños o no son adecuados (a menudo debido a requisitos de energía o espacio). Es en casos como estos que los estándares de comunicaciones más básicos, 'minuciosos', como UART, son muy útiles.

¿Qué es UART?

Imagen Exar16550onItronixPCB del usuario de Wikipedia Myself248 / Licenciado bajo CC BY-SA 3.0

UART (Universal Asynchronous Receiver/Transmitter) es un dispositivo de comunicaciones pequeño y eficiente, similar a I2C. UART se instala con mayor frecuencia en una pieza de hardware, integrada en un IC (circuito integrado), que traduce los datos comunicados entre formas seriales y paralelas. En otras palabras, un dispositivo UART toma un flujo de bits de datos (generalmente diseñados para comunicación paralela), los convierte en bits de datos en serie para transmitirlos por un solo cable o bus y luego los transmite. En el otro extremo del cable, otro dispositivo UART recibe los bits en serie y los vuelve a convertir en paquetes paralelos de datos. La parte "Universal" del nombre se refiere a la capacidad de configuración tanto del formato de datos como de las velocidades a las que se transmiten/reciben.
.
UART es uno de los dispositivos de comunicación más antiguos utilizados por las computadoras, que data sus orígenes se remontan a la década de 1960 cuando se usaba para conectar computadoras a teclados de teletipo o "teletipos". En la década de 1970, era el protocolo que se usaba para leer y escribir datos en cintas de casete, y más tarde se usó para comunicarse con módems durante los primeros días de acceso telefónico de los servicios BBS (Sistema de tablón de anuncios) e Internet. Desde entonces, ha sido reemplazado por dispositivos más complejos que utilizan protocolos como TCP e IP, pero su diseño sigue siendo útil con dispositivos integrados.
.

Cómo se comunican los UART

Como se mencionó anteriormente, UART funciona al traducir entre comunicación paralela y comunicación en serie. ¿Por qué hacer esto, ya que la comunicación paralela es mucho más rápida? Si bien la comunicación paralela es más rápida, también es mucho más costosa en términos de potencia y medio de transmisión. Puede enviar el mismo lote de datos en bits seriales secuenciales, uno por uno, por un solo cable, en lugar de bits paralelos sincronizados, simultáneamente, por un montón de cables. Si su aplicación tiene hambre de espacio, por ejemplo, puede tener mucho más sentido usar solo un cable. Por esta razón, los dispositivos UART son muy útiles en situaciones de bajo consumo y bajo perfil, como los sistemas integrados.
.
Entonces, ¿cómo funciona exactamente? Lo bueno de la transmisión asíncrona es que los datos se pueden transmitir sin que el emisor y el receptor tengan que compartir una señal de reloj, una señal que puede ocupar un valioso espacio de datos. En cambio, el tiempo se acuerda de antemano entre ambas unidades y se agregan bits especiales a cada paquete de datos, cada "palabra". Los UART usan estos bits para sincronizarse entre sí. Cuando el transmisor se prepara para enviar una palabra, agrega un bit especial de INICIO al comienzo del paquete. Este bit alerta al receptor de que se acerca un paquete de datos y sincroniza el reloj interno del receptor con el del transmisor. (Normalmente, para otros emparejamientos de transmisor/receptor, todo lo que se necesita para sincronizar los relojes de los dos dispositivos es que acuerden una velocidad de transmisión en bits por segundo, o "baudios".)
.
Después de la Bit START, el transmisor envía la palabra. La mayoría de los sistemas UART utilizan longitudes de palabra de cinco a diez bits. La transmisión de bits ocurre durante un tiempo de reloj consistente, y el receptor sincronizado en el tiempo mira el bus exactamente a la mitad de un tiempo de 'envío' designado para determinar si se está enviando un 1 o un 0 (si el bus está en ALTO, un '1'). se está enviando; de lo contrario, es un '0'). Finalmente, el transmisor envía un bit de paridad (si así se ha configurado el sistema) y un bit de FIN. Luego comienza otra palabra con otro bit START y el proceso continúa. Mientras tanto, el receptor descarta los bits START y STOP, usa el bit de paridad si es necesario, registra la palabra y continúa escuchando más datos. Si el circuito es una configuración dúplex (comunicación bidireccional), entonces el mismo proceso puede repetirse en la dirección opuesta. En algunos sistemas UART, los cables ni siquiera son necesarios; Los dispositivos infrarrojos (IR) y Bluetooth a menudo se configuran para transmitir y recibir a través del esquema de señalización UART.

Punto histórico de trivia :Cuando no se transmite nada, ambos dispositivos mantienen la línea ALTA, en lugar de BAJA (sin alimentación). intacto.

.

Persisten los usos de los UART

Los dispositivos UART han existido durante mucho tiempo y han demostrado ser útiles, incluso junto con dispositivos capaces de comunicaciones de mayor velocidad y velocidades de transferencia de gigabits que son posibles hoy en día con servidores de alojamiento VPS rápidos y alojamiento de servidor administrado.
.
La mayoría de los microcontroladores modernos contienen un dispositivo UART; los circuitos integrados individuales pueden contener uno, dos o incluso 8 UART en un chip (estos dos últimos diseños se denominan DUART y OCTART, respectivamente). Arduino, el popular microcontrolador IDE para aficionados, tiene una interfaz UART incorporada en cada una de sus placas, incluso en las más pequeñas. El Raspberry Pi, otro dispositivo popular para aficionados, también puede interactuar con dispositivos UART. Para cualquier persona interesada en trabajar con pequeños dispositivos integrados, es un dispositivo que vale la pena aprender a usar.

.


Linux
  1. ¿Qué es una base de datos relacional?

  2. ¿Qué son los modelos sin estado y con estado de desarrollo web?

  3. Base de datos NoSQL distribuida de Elasticsearch:¿qué es y debería usarla?

  4. ¿Cómo funciona Rm? ¿Qué hace Rm?

  5. ¿En qué directorio debo implementar las aplicaciones de Rails?

¿Qué es una base de datos OLTP?

¿Qué es la desnormalización de la base de datos?

¿Qué es una base de datos?

¿Qué es una base de datos distribuida y para qué sirven los sistemas de datos distribuidos?

¿Cuál es la diferencia entre DMA y E/S mapeada en memoria?

¿Cuál es la forma más fácil de visualizar datos de stdout como un gráfico?