sábado, 5 de abril de 2025

UART: Comunicación Serial Asíncrona

Conexión de dispositivos con UART

📡 UART es uno de los protocolos más simples y comunes para comunicar dispositivos electrónicos.


🔧 ¿Qué es UART?

UART (Universal Asynchronous Receiver-Transmitter) es un protocolo de comunicación serial asíncrona que permite enviar y recibir datos entre dispositivos electrónicos, sin necesidad de compartir una señal de reloj.


📌 Características principales

  • Comunicación punto a punto (un emisor, un receptor)
  • Solo necesita dos pines de datos: TX (transmitir) y RX (recibir)
  • Usa bits de inicio y parada para sincronizar los datos
  • Configurable: velocidad (baud rate), bits, paridad, stop bits

⚙️ Configuración típica

Un enlace UART se configura mediante una serie de parámetros. Ejemplo clásico:

9600 8N1

  • 9600 baudios
  • 8 bits de datos
  • N sin paridad (None)
  • 1 bit de parada

Otros parámetros posibles:

  • Bits de datos: 5 a 9
  • Paridad: ninguna, par, impar
  • Stop bits: 1 o 2

🔄 Estructura de un byte UART

Cada byte enviado se codifica así:

[Start Bit][Data Bits][Parity Bit (opcional)][Stop Bit(s)]
  • Start Bit: 0 (bajo) → señala el inicio del byte
  • Data Bits: generalmente 8 bits
  • Parity: opcional, para detección de errores
  • Stop Bit(s): 1 o 2 bits en alto (1) → marca el final

🧷 Conexión básica de pines

La conexión UART básica implica 4 pines en la práctica:

PinFunción
VCCAlimentación (ej. 3.3V o 5V)
GNDTierra
TXTransmisión de datos
RXRecepción de datos

📌 Importante: TX de un dispositivo debe conectarse al RX del otro, y viceversa.


🧪 ¿Para qué sirve UART?

Algunos usos comunes:

  • Enviar datos desde un microcontrolador a una PC (Arduino → Serial Monitor)
  • Comunicarse con módulos Wi-Fi (ESP8266), GPS, Bluetooth (HC-05)
  • Debuggear sensores, displays u otros periféricos

🛠️ Recomendaciones prácticas

  • Asegurate de que los niveles de tensión coincidan (3.3V ↔ 5V pueden dañar un módulo)
  • Usá adaptadores USB–Serial si tu computadora no tiene puerto COM
  • Si no ves datos, probá invertir los cables TX y RX

🧰 Herramientas útiles

  • Monitor Serial (Arduino IDE, PuTTY, CoolTerm)
  • Adaptadores USB-TTL (FTDI, CH340, CP2102)
  • Analizador lógico (cuando el debug se pone serio)

🧠 Resumen

ElementoValor
TipoComunicación serie asíncrona
Pines de datosTX y RX
VelocidadDefinida en baudios (ej. 9600)
SincronizaciónPor bits de inicio y parada
TopologíaPunto a punto

UART es simple, confiable y esencial en cualquier prototipo con comunicación.


📝 Próximos pasos

En futuras notas: diferencias con SPI e I2C, cómo debuggear con lógica analógica, y cómo hacer múltiples UARTs por software en un microcontrolador.