39. Tema 1.1: Protocolo RS232
¿Qué es el RS-232?
El RS-232 (Recommended Standard 232) es un estándar para comunicación serie asíncrona que se popularizó en los años 60-70. Aunque hoy se usa menos, fue fundamental en computación e industria por décadas.
La comunicación serie RS232 no desaparecerá en poco tiempo. A pesar de las innovaciones en comunicación serie que han introducido otros protocolos como USB, WiFi y Ethernet,
El RS-232 tiene sus raíces en la necesidad de transmitir datos de forma serial entre dispositivos.
¿Qué es el protocolo RS232?
La especificación formal del protocolo RS232 lo define como una interfaz de transmisión de datos binarios en serie entre el equipo DTE y el equipo DCE. Un DTE o equipo de terminal de datos, como un ordenador, se encuentra en un extremo de la conexión serie RS232. El equipo de comunicación de datos (DCE), como un módem, se encuentra en el otro extremo de la conexión.
RS232 es una forma de comunicación en serie, lo que significa que la información se envía entre dispositivos un bit a la vez. Es una forma de comunicación asincrónica, lo que significa que los dispositivos de envío y recepción pueden operar en diferentes momentos.
Ambos (RS-232 y RS-485) son comunicación SERIAL. ✅
Ambos son típicamente ASÍNCRONOS. ✅
Características principales:
1. Comunicación Serie
Los bits se envían uno tras otro por un solo cable
A diferencia del paralelo que envía múltiples bits simultáneamente
2. Transmisión Asíncrona
No requiere señal de reloj compartida
Cada dispositivo tiene su propio reloj interno
Usa bits de inicio y parada para sincronización
3. Características técnicas clave
Velocidad: 75 a 115,200 bps (bits por segundo)
Distancia máxima: ~15 metros (a menor velocidad, mayor distancia)
Niveles de voltaje:
Lógico 1 (MARK): -3V a -15V
Lógico 0 (SPACE): +3V a +15V
Estos niveles protegen contra ruido eléctrico
Conectores típicos:
DB-9 (9 pines) - El más común
Pin 1: DCD - Detección de portadora
Pin 2: RxD - Recepción de datos
Pin 3: TxD - Transmisión de datos
Pin 4: DTR - Terminal lista
Pin 5: GND - Tierra común
Pin 6: DSR - Modem listo
Pin 7: RTS - Solicitud para enviar
Pin 8: CTS - Listo para enviar
Pin 9: RI - Indicador de llamadaDB-25 (25 pines) - Menos común, usado en equipos antiguos
Configuración básica:
Para que dos dispositivos se comuniquen necesitan:
Misma velocidad (baud rate): 9600, 19200, etc.
Mismo formato: 8 bits de datos, sin paridad, 1 bit de parada (8N1)
Mismo control de flujo: hardware, software o ninguno
Tipos de conexión:
DTE ↔ DCE (Ej: computadora ↔ módem)
TxD → RxD
RxD ← TxDConexión directa
DTE ↔ DTE (Ej: computadora ↔ computadora)
Necesita cable cruzado (null modem):
TxD → RxD
RxD ← TxDControl de flujo:
Hardware (RTS/CTS)
El emisor pregunta (RTS) si puede enviar
Receptor responde (CTS) cuando está listo
Software (XON/XOFF)
Receptor envía XOFF (ASCII 19) para pausar
XON (ASCII 17) para reanudar
Ventajas y desventajas:
✅ Ventajas
Simple de implementar
Ampliamente soportado
Robusto en entornos industriales
Distancias razonables para muchas aplicaciones
❌ Desventajas
Velocidad limitada comparada con estándares modernos
Sensible a ruido eléctrico a largas distancias
No permite conexión en red (punto a punto)
Requiere configuración manual
Aplicaciones actuales:
Aunque obsoleto para computación moderna, todavía se usa en:
Equipos industriales (PLC, CNC)
Dispositivos médicos antiguos
Sistemas embebidos simples
Conexión con consolas de equipos de red
Instrumentación científica
Ejemplo práctico:
Si conectas un Arduino a un PC vía RS-232:
PC (TxD) → Arduino (RxD)
PC (RxD) ← Arduino (TxD)
PC (GND) — Arduino (GND)El RS-232 fue reemplazado por USB, Ethernet y otros estándares, pero su simplicidad lo mantiene vigente en aplicaciones específicas donde la robustez es más importante que la velocidad
Protocolo RS-232: Todo lo que necesitas saber para no perder datos (y la paciencia)
Hablemos del primer gran protocolo de comunicación serie: el RS-232.
🔁 ¿Transmisión en serie o en paralelo?
RS-232 envía los datos bit por bit, a través de una sola línea.
Ventaja: Ideal para comunicaciones de larga distancia (metros, no centímetros).
Paralelo: Envía varios bits a la vez, pero necesita muchos cables y es para distancias cortas o velocidades muy altas.
Por eso, la comunicación serie domina en industria y embebidos ✅.
⚙️ Velocidad en baudios (bps) = ¡Configura esto bien!
El RS-232 soporta desde 110 hasta 230.400 bps, pero las velocidades típicas son:
1.200, 9.600, 19.200, 38.400, 115.200 bps.
⚠️ ¡Atención aquí!
Cuando compres un sensor o dispositivo RS-232, lee el datasheet.
Si tú configuras a 9.600 bps y el fabricante lo dejó a 115.200 bps, te llegarán caracteres raros (¡sí, ya me pasó!).
Experiencia personal: Una vez trabajé con una celda de carga con salida RS-232. Mi terminal recibía puro "ÿÿÿÿ" y símbolos extraños. ¿El problema? Velocidad mal configurada. Cambié al valor correcto y ¡listo! Datos limpios y coherentes.
✅ Regla de oro: La velocidad debe ser la misma en ambos extremos de la comunicación.
🛠️ ¿Cómo elegir la velocidad?
Distancia:
Más velocidad → Menos distancia.
Menos velocidad → Más distancia.
Ejemplo: Si necesitas enviar datos a 100 metros, usa 4.800 bps (lento pero seguro). Si estás a 2 metros, usa 115.200 bps (rápido y estable).
Cantidad de datos:
Si envías muchos bytes seguidos (ej: 20-30 bytes de sensores: acelerómetro, GPS, presión, etc.), una velocidad baja como 9.600 bps puede crear un delay que afecte tu código.
Solución: Aumenta la velocidad para reducir el tiempo de transmisión.
🔌 Conector DB-9: Solo necesitas 3 pines
En la práctica, solo usas:
Pin 2 (RX): Recepción.
Pin 3 (TX): Transmisión.
Pin 5 (GND): Tierra común.
✅ Consejo: Al conectar dos dispositivos (ej: PC ↔ Arduino), cruza los cables:
TX del dispositivo A → RX del dispositivo B.
RX del dispositivo A → TX del dispositivo B.
GND con GND.
📡 Estructura de la trama RS-232 (vista en osciloscopio)
Bit de inicio (Start bit).
Datos (5-8 bits, generalmente en ASCII).
Bit de paridad (opcional, para detección de errores).
Bits de parada (Stop bits).
Todo esto ocurre ordenadamente y sin reloj compartido (asíncrono).
🔄 ¿Por qué usar un MAX232 (o similar)?
Los microcontroladores (Arduino, PIC, etc.) trabajan con niveles TTL (0V = 0 lógico, 5V = 1 lógico).
El RS-232 requiere niveles de voltaje diferentes:
Lógico 1 (Mark): -3V a -15V.
Lógico 0 (Space): +3V a +15V.
El MAX232 (o CH340, FT232) convierte los niveles TTL a niveles RS-232 (y viceversa).
Nota: En la salida del MAX232, la señal puede aparecer invertida en el osciloscopio (0 lógico en alto, 1 lógico en bajo). No te preocupes, el protocolo lo maneja internamente.
🛒 Opciones prácticas de conexión
Módulo USB a TTL (ej: FT232, CH340):
Conéctalo directamente al Arduino (RX, TX, 5V, GND).
Ventaja: Simple, barato, ideal para distancias cortas (menos de 1 metro).
Desventaja: No sirve para distancias largas (caída de voltaje en TTL).
Módulo RS-232 con DB9 + MAX232:
Convierte TTL a RS-232 y usa cable DB9 apantallado.
Ventaja: Ideal para distancias largas (hasta 15-100 metros, dependiendo de la velocidad).
Desventaja: Necesitas más componentes y cableado.
Convertidor USB a RS-232 industrial:
Ya incluye protección y aislamiento.
Ventaja: Robustez para entornos industriales.
🏭 ¿Por qué sigue usándose RS-232 en la industria?
Distancias largas con cable apantallado.
Inmunidad al ruido eléctrico (niveles de ±12V).
Simplicidad y robustez: 3 cables básicos (RX, TX, GND).
USB no es industrial: Limitado en distancia (5 metros máximo sin repetidores) y sensible a interferencias.
✅ Ejemplo industrial: Comunicación entre PLC y HMI (interfaz humana) mediante RS-232. Solo necesitas conectar 3 pines entre dispositivos.
💡 Conclusión clave
Configura bien la velocidad (igual en ambos dispositivos).
Elige la velocidad según distancia y cantidad de datos.
Usa un convertidor de niveles (MAX232 o integrado en módulos).
Para industria/largas distancias → RS-232 clásico.
Para prototipos/cortas distancias → USB a TTL.
¿Tienes experiencias o preguntas con RS-232? ¡Comenta!
Comentarios
Publicar un comentario