¿Qué es el protocolo de comunicación serie RS232?
RS-232 es un estándar que se introdujo a principios de los 60 para la transmisión de datos en serie y que aún se utiliza ampliamente, principalmente porque es multipropósito, fácil de operar y mantener, accesible y ampliamente compatible. Define no solo las características eléctricas de la señal, como la velocidad de transmisión de la señal, los niveles de voltaje, la longitud del cable, la temporización y el comportamiento ante cortocircuitos, sino también muchas otras cosas, incluidas las características mecánicas de la interfaz, los conectores y las asignaciones de pines.
Según el estándar RS-232, todos los datos se transmiten en una serie temporal de bits. Para PC, la configuración más común es un enlace asíncrono que envía paquetes de 7 bits u 8 bits. Sin embargo, este estándar también admite la transmisión síncrona.
Con todos sus méritos, RS-232 tiene algunas limitaciones serias en cuanto a alcance y rendimiento de caudal de datos, por lo que su principal ámbito de aplicación es el equipamiento industrial, las redes y el equipo de laboratorio.
Especificaciones principales para RS-232
Modo de funcionamiento: single-ended
Longitud máx. del cable: 15,24 metros (50 ft)
Rendimiento máx. de datos: 20 kbps
Tensión de salida máx. del controlador: +/-25V
Velocidad máx. de subida: 30V/uS
Corriente máx. del controlador en estado High Z: +/-6mA @ +/-2v (apagado)
Impedancia de carga del controlador: 3000-7000 Ohms
Nivel de señal de salida del controlador: +/-5V a +/-15V (con carga) o +/-25V (sin carga)
Resistencia de entrada del receptor: 3000-7000 Ohms
Rango de tensión de entrada del receptor: +/-15V
Sensibilidad de entrada del receptor: +/-3V
Número total de controladores y receptores en una línea: 1 controlador y 1 receptor
Limitaciones estándar RS232
¿Cuáles son los problemas conocidos del puerto serie RS-232? Usar el puerto COM estándar conlleva un montón de limitaciones con las que tienes que lidiar. Estas son las limitaciones evidentes del estándar:
- El mayor consumo de energía debido al gran rango de oscilación de voltaje es una enorme complicación para el diseño de la fuente de alimentación.
- Muchos dispositivos no utilizan las líneas de handshaking para el control de flujo, lo que hace que RS-232 sea poco fiable.
- Aunque el problema de la conexión multidrop se ha abordado con alternativas más fiables, aun así no compensa las limitaciones de compatibilidad y velocidad del puerto RS232.
- La necesidad de un módem nulo o un cable cruzado siempre que se conecte un periférico a un ordenador.
- RS-232 no resuelve el problema que presenta la señalización de extremo único.
Conectores RS-232
Un dispositivo RS-232 es bien un Equipo de terminación de circuito (DCE) o bien un Equipo terminal de datos (DTE), dependiendo de qué cables se utilicen para enviar y recibir cada señal.
De acuerdo con el estándar RS-232, DCE está destinado a conectores hembra, y DTE a conectores macho. Sin embargo, existen dispositivos con todo tipo de combinaciones de definiciones de género de conector/pines. Por ejemplo, un terminal que tiene conectores hembra integrados para usarse con un cable que tiene un conector macho en cada extremo cumple plenamente con el estándar RS-232.
Hasta la revisión C, el estándar recomienda usar un conector D-subminiatura de 25 pines, aunque es obligatorio solo a partir de la revisión D. Esto se debe a que la gran mayoría de los dispositivos realmente no necesitan las 20 señales especificadas por el estándar, y las conexiones RS-232 de 9 pines son mucho más baratas y ocupan muy poco espacio. Más compactas y menos costosas. Este conector RS-232 de 9 pines se utiliza ampliamente en ordenadores personales y dispositivos similares.
Conectores DB25
Cabe señalar que no todos los conectores D-sub de 25 pines tienen una interfaz compatible con RS-232-C. Algunos fabricantes de PC optan por señales y voltajes no estándar en ciertos pines de la asignación de pines del puerto COM de su PC. En el PC IBM original, por ejemplo, el conector D-sub hembra se utilizaba para el puerto de impresora paralelo Centronics.
Pinout serie de 25 pines:
Pin 1: GND − Tierra de blindaje.
Pin 2: TxD → Datos transmitidos. Transporta datos desde el terminal de datos al equipo de datos.
Pin 3: RxD ← Datos recibidos. Transporta datos desde el equipo de datos al terminal de datos.
Pin 4: RTS → Solicitud de envío. El terminal de datos indica al equipo de datos que se prepare para la transmisión de datos.
Pin 5: CTS ← Listo para enviar. El equipo de datos indica al terminal de datos que está listo para recibir datos.
Pin 6: DSR ← Equipo de datos listo. El DCE está listo para recibir y enviar datos.
Pin 7: GND − Tierra del sistema. Referencia de tensión cero.
Pin 8: CD ← Detección de portadora. El equipo de datos indica al terminal de datos la portadora detectada de otro dispositivo.
Pin 9: Reservado
Pin 10: Reservado
Pin 11: STF → Seleccionar canal de transmisión.
Pin 12: S.CD ← Detección secundaria de portadora.
Pin 13: S.CTS ← Listo secundario para enviar.
Pin 14: S.TXD → Datos secundarios transmitidos.
Pin 15: TCK ← Temporización de elementos de señal de transmisión.
Pin 16: S.RXD ← Datos secundarios recibidos.
Pin 17: RCK ← Temporización de elementos de señal de recepción.
Pin 18: LL → Control de bucle local.
Pin 19: S.RTS → Solicitud secundaria de envío
Pin 20: DTR → Control remoto de bucle de datos.
Pin 22: RI ← Indicador de llamada. El equipo de datos indica al terminal de datos una condición de timbrado detectada.
Pin 23: DSR → Selector de velocidad de señal de datos.
Pin 24: XCK → Temporización de elementos de señal de transmisión.
Pin 25: TI ← Indicador de prueba.
Durante la comunicación asíncrona, tanto RTS como CTS permanecen activadas durante toda la sesión. Sin embargo, si el DTE está conectado a una línea multipunto, los datos se transmiten por una estación cada vez (debido al uso compartido del par telefónico de retorno), por lo que el único uso de RTS es activar y desactivar la portadora del módem. Una estación activa RTS cuando está lista para transmitir. El módem activa su portadora, espera hasta que se estabilice (normalmente tarda un par de milisegundos) y activa CTS. Mientras CTS está activa, el DTE transmite. Una vez finalizada la transmisión, la estación desactiva RTS y entonces el módem desactiva tanto CTS como la portadora.
Todas las señales de reloj en los pines 15, 17 y 24 del cable serie del pinout del puerto COM son solo para comunicaciones síncronas. El reloj se extrae del flujo de datos mediante la DSU o el módem, o la DSU lo extrae y lo envía al DTE para proporcionar una señal de reloj estable. Es importante recalcar que las señales de reloj recibidas y transmitidas no tienen por qué ser idénticas y pueden tener diferentes velocidades en baudios.
Asignación de pines RS-232 de 9 pines
Así que aquí hay una versión simplificada del pinout de la conexión serie utilizada en los ordenadores personales: el pinout RS-232 de 9 pines.
Pin 1: DCD ← Detección de portadora de datos
Pin 2: RxD ← Recepción de datos
Pin 3: TxD → Transmisión de datos
Pin 4: DTR → Terminal de datos listo
Pin 5: 0V/COM − 0V o masa del sistema
Pin 6: DSR ← Equipo de datos listo
Pin 7: RTS → Solicitud de envío
Pin 8: CTS ← Listo para enviar
Pin 9: RI ← Indicador de llamada
Señales RS-232
Niveles de tensión que representan las señales de los pinouts del puerto serie RS232 con respecto a un común del sistema (masa de alimentación/lógica). El nivel de señal del estado activo (SPACE) es positivo y el nivel de señal del estado en reposo (MARK) es negativo con respecto al común. Un protocolo de comunicaciones debe especificarse por RS-232. Además, RS-232 tiene múltiples líneas de handshaking para usar con módems (en la mayoría de los casos).
La interfaz RS-232 asume que tanto el DTE como el DCE tienen buses eléctricos similares con masas idénticas. Obviamente, esta suposición puede ser completamente errónea cuando se trata de las líneas largas entre el DTE y el DCE.
La tensión máxima en circuito abierto especificada por el estándar RS232 es de 25 V, pero normalmente los niveles de señal son de 5 V, 10 V, 12 V y 15 V.
Según el estándar RS-232, todos los datos son bipolares. Para la mayoría de los equipos, una condición ON o estado 0 (SPACE) se indica mediante una tensión de +3 V a +12 V y una condición OFF o estado 1 (MARK) se indica mediante una tensión de -3 V a -12 V. Sin embargo, algunos dispositivos no reconocen ningún nivel negativo y 0 V es suficiente para el estado OFF. Y a veces tensiones más pequeñas pueden ser suficientes para lograr el estado ON. De este modo es posible reducir significativamente el rango general para la transmisión/recepción RS-232.
La tensión normal de la señal de salida es de +12 V a -12 V. Además, existe una llamada “zona muerta” en el rango de +3 V a -3 V que está pensada para la absorción del ruido de línea. En otros pinouts de puertos serie similares a RS-232 este rango puede ser diferente (p. ej., la definición V.10 tiene una zona muerta de +0,3 V a -0,3 V). Muchísimos receptores RS-232 pueden detectar fácilmente diferenciales de 1 V, o incluso menos.
Especificaciones de los cables RS-232
No hay límites de longitud de cable definidos directamente por el estándar RS-232, por lo que el principal factor determinante es la capacitancia máxima tolerada por un circuito de accionamiento conforme. Como regla general, la longitud crítica será de 15 m (o de unos 300 m siempre que solo se hayan utilizado cables de baja capacitancia). Francamente, para distancias más largas, el estándar RS-232 no es la mejor opción para la transferencia de datos de alta velocidad a larga distancia.
Teniendo en cuenta que no todos los fabricantes de dispositivos mantienen el estándar en toda su extensión, es una buena práctica estudiar la documentación y utilizar una caja de derivación (breakout box) para probar cada nueva conexión. En algunos casos, solo el método de prueba y error puede ayudar a encontrar el cable adecuado para conectar cada par de dispositivos.
De acuerdo con el estándar RS-232, un dispositivo DCE debe conectarse a un DTE mediante el cable que tiene números de pin idénticos en cada conector (conocido como “cable recto”). Cualquier incompatibilidad de género de cable/conector puede corregirse fácilmente con adaptadores de género. También son de uso común los cables con un conector D-sub de 25 pines en un extremo y un conector RS-232 de 9 pines en el otro. Cualquier equipo con conectores 8P8C suele proporcionarse con un cable que tiene un DB-9 o un DB-25. Algunos incluso tienen conectores intercambiables para mayor flexibilidad.
Si no es necesario explotar la capacidad del RS-232, puedes usar una conexión mínima de 3 hilos: transmisión, recepción y tierra. Para un flujo de datos unidireccional, existe una opción de 2 hilos: datos y tierra. Y para la transmisión de datos bidireccional controlada por hardware, la mejor alternativa es una versión de 5 hilos, que es igual que la de 3 hilos pero con las líneas RTS y CTS añadidas.
Diagrama de flujo de datos RS-232
Según el estándar RS-232, los datos pueden transmitirse en muchas variaciones. Sin embargo, lo más común es enviar paquetes que incluyan una palabra de 7-8 bits, y bits de inicio, parada y paridad. Como puedes ver en el diagrama de abajo, primero viene el bit de inicio (activo en nivel bajo, +3 V a +15 V), luego los bits de datos, seguidos del bit de paridad (si el protocolo lo requiere) y, por último, el bit de parada (utilizado para llevar la lógica a nivel alto, -3 V a -15 V).
Relación entre RS232 y otros estándares
Es posible que los puertos compatibles con RS-232 no funcionen necesariamente con varios otros estándares de señalización serie como RS-422, RS-423, RS-449, RS-422, 423, RS-485, etc. En el caso de receptores GPS y sondas de profundidad que utilizan un nivel TTL cercano a +5 y 0 voltios, el nivel de marca se desplaza a un área no definida del estándar. Necesitarás un traductor de corriente para usar el estándar RS-232 en un entorno como este.
Cómo se relacionan:
- RS-422 tiene una velocidad similar a la de RS-232, pero difiere en la señalización
- La velocidad de RS-423 es la misma, pero sin señalización balanceada
- Rs-449 dado de baja
MIL-STD-188 es similar a RS-232, pero tiene un gran control del tiempo de subida con una mejor impedancia. ¿Pensando en prescindir de tu dispositivo RS-232? ¡No tan rápido! Como puedes ver, este protocolo serie sigue desafiando todas las afirmaciones de que ha sido sustituido por completo por USB. Aunque los sistemas de comunicación modernos requieren un sistema más sofisticado como USB, vamos a seguir utilizando los puertos serie estándar.
Las aplicaciones de terceros han tenido éxito mejorando la forma en que trabajamos con el puerto serie RS-232. Un ejemplo es Conector RS232 a Ethernet desarrollado por Electronic Team. Puedes encontrar escenarios de uso interesantes en la Guía del usuario.
Casos de uso modernos de puertos serie
Puede que los puertos serie no sean llamativos, pero siguen siendo uno de los métodos de comunicación más fiables y utilizados en electrónica y TI.
Tanto si trabajas con sistemas industriales, dispositivos embebidos o hardware de red, comprender la asignación de pines de los puertos serie sigue siendo una habilidad valiosa.
Los puertos serie han evolucionado más allá de los PC antiguos.
1. Comunicación USB a serie
Los adaptadores permiten que los portátiles modernos se conecten fácilmente a dispositivos en serie.
2. Puertos serie virtuales
Virtual Serial Port Driver puede emular puertos COM para pruebas y comunicación remota.
- Útil en IoT y sistemas conectados a la nube
- Permite compartir puertos a través de redes
3. Desarrollo embebido
El puerto serie sigue siendo la principal interfaz de depuración para:
- Microcontroladores
- Dispositivos IoT
- Desarrollo de firmware
4. Configuración del dispositivo de red
Muchos routers y conmutadores empresariales aún dependen del acceso a la consola serie.
Preguntas frecuentes
RS (estándar recomendado) fue desarrollado por la Asociación de Industrias Electrónicas en los años 60 para facilitar la comunicación entre un módem y los terminales de ordenador.
La mayoría de los laboratorios de automatización industrial y topografía continúan utilizando la tecnología de puerto serie a pesar de sus limitaciones. La reintroducción del conector DB-9M en el ordenador personal Tecra por parte de Toshiba demuestra que, por ahora, estos estándares han llegado para quedarse. A pesar de sus diferencias, tanto los estándares USB como RS-232 son compatibles con la mayoría de los programas de software en los principales sistemas operativos.