Probar CircuitLens

Fichas de referencia

Baudios y tramas UART

Chuleta de baudios y tramas UART

UART (receptor-transmisor asíncrono universal) no tiene un cable de reloj compartido, así que los dos extremos tienen que acordar de antemano a qué velocidad llegan los bits y cómo se empaqueta cada byte. La velocidad en baudios es solo uno de los varios ajustes que ambos lados deben compartir, no toda la historia. Si aciertas con los baudios pero te equivocas en la trama, el resultado no suele ser un fallo limpio: es un flujo de caracteres basura, porque el receptor acaba muestreando la línea en los momentos equivocados.

Una trama UART parte de una línea en reposo mantenida en alto; luego un bit de inicio la pone en bajo durante un tiempo de bit para marcar el comienzo de un byte y permitir que el receptor se sincronice. Después vienen los bits de datos, normalmente 8, aunque algunos dispositivos usan de 5 a 9, enviados con el bit menos significativo primero. Puede seguir un bit de paridad opcional (ninguna, par o impar) para una comprobación de errores básica, y luego uno u, ocasionalmente, dos bits de parada (en algún hardware antiguo aparecen 1.5 bits de parada) devuelven la línea al reposo en alto para marcar el final de la trama.

Ambos extremos deben coincidir en los cuatro ajustes a la vez (baudios, número de bits de datos, paridad y número de bits de parada), por eso se suelen escribir en forma abreviada como '8N1' (8 bits de datos, sin paridad, 1 bit de parada), con diferencia la configuración más común hoy. Si fallas en uno solo de ellos, aunque los baudios coincidan, verás bytes corruptos o errores de trama en lugar de un enlace que funcione.

Al sondear una placa desconocida, 8N1 es casi siempre una suposición segura para la trama: la verdadera incógnita suele ser solo la velocidad en baudios. Prueba primero 115200 y 9600, que cubren la mayoría de dispositivos, y si el registro de arranque de un ESP8266 sale ilegible a 115200, prueba 74880 antes de dar el puerto por muerto. El auto-baud o el decodificador de protocolo de un analizador lógico (o medir el pulso más corto del flujo de datos con un osciloscopio) identificará rápido una velocidad desconocida. La regla tan citada de "debe coincidir dentro de ~2-3%" para desajustes de baudios es una guía aproximada, no una especificación estricta: el error tolerable real depende del sobremuestreo de cada UART y del número de bits de cada trama, así que tómala como un orden de magnitud y no como un umbral de diseño.

Más fichas