Estándar RS-485
¿Qué es el estándar RS-485
El estándar RS-485 (también conocido como TIA/EIA-485) es una especificación para la transmisión de datos en sistemas de comunicación serial. Es ampliamente utilizado en aplicaciones industriales y de automatización debido a su capacidad para permitir la comunicación a largas distancias y en entornos ruidosos.
El estándar RS485 puede ser utilizado para transmitir datos a largas distancias. Las redes construidas con la interfaz RS485 consisten en transceptores conectados mediante un par trenzado de cables (dos hilos trenzados). La función principal de esta interfaz es la transmisión diferencial de datos, lo que significa que la señal se envía a través de dos hilos: uno lleva la señal original y el otro su copia invertida.
Gracias a la transmisión diferencial, siempre existe una diferencia de potencial entre los dos hilos, lo que proporciona una alta resistencia a las interferencias en modo común. Además, el par trenzado puede estar blindado para proteger aún más los datos transmitidos. Estas características permiten que el RS485 pueda transmitir datos a largas distancias con velocidades relativamente altas, que pueden alcanzar hasta 100 kbits/s a una distancia de 4000 pies (aproximadamente 1200 metros).
La longitud máxima recomendada para los cables en comunicaciones RS485 es de 4000 pies o 1200 metros. Sin embargo, se aconseja que el producto de la longitud de la línea (en metros) y la velocidad de transmisión de datos (en bits por segundo) no exceda 10^8. Por ejemplo, con un cable de 20 metros de longitud, la velocidad máxima de transmisión de datos sería de 5 Mbits/s.
Comunicación RS-485: Principales Características
A pesar de la amplia variedad de soluciones alternativas disponibles hoy en día, la tecnología RS-485 sigue siendo fundamental para muchas redes de comunicación. Sus principales ventajas incluyen:
- Intercambio de datos bidireccional utilizando un par de hilos trenzados.
- Capacidad para conectar múltiples transceptores en la misma línea, lo que permite la creación de una red.
- Capacidad para cubrir largas distancias en la línea de comunicación.
- Alta velocidad de transmisión de datos.
A continuación, se describen las principales características de la comunicación RS-485:
Transmisión de datos bidireccional semidúplex
La transmisión de datos en serie se realiza en una única dirección a la vez. Para enviar datos en la dirección opuesta, se requiere un transceptor (también conocido como “controlador”), que es un dispositivo o circuito eléctrico encargado de generar la señal física en el lado del transmisor.
Canal de comunicación simétrico
La transmisión y recepción de datos se realiza a través de dos hilos de señal equivalentes. Estos hilos se utilizan para enviar información en ambas direcciones, de forma alterna. Gracias al uso de un cable de par trenzado, el canal simétrico mejora significativamente la estabilidad de la señal y elimina la radiación electromagnética generada por la señal útil.
Multipunto
La línea de comunicación RS-485 permite la conexión de varios receptores y transceptores. Esto significa que es posible conectar un transmisor y varios receptores simultáneamente en la misma línea de comunicación. Los transmisores adicionales deben esperar a que la línea esté disponible antes de poder transmitir datos.
¿Qué es el protocolo Modbus?
Modbus es un protocolo de comunicación en serie ampliamente utilizado en dispositivos electrónicos industriales. A diferencia de otros protocolos de comunicación serie, como el RS232 que usa protocolos de texto (ASCII), la mayoría de los dispositivos RS485 utilizan Modbus para intercambiar datos. Este protocolo establece una conexión entre un maestro (host) y varios esclavos (dispositivos basados en COM).
En Modbus, el maestro inicia la comunicación enviando comandos a los esclavos, quienes responden con los datos solicitados o con un mensaje de error. Desde el 9 de julio de 2020, la Organización Modbus reemplazó los términos “Maestro-Esclavo” por “Cliente-Servidor” para describir esta comunicación. En el modelo Cliente-Servidor, el cliente (anteriormente maestro) inicia la comunicación y realiza peticiones al servidor (anteriormente esclavo), que procesa las peticiones y devuelve las respuestas correspondientes.
El protocolo Modbus es conocido por su simplicidad, lo que facilita su implementación por parte de los fabricantes de equipos, convirtiéndolo en una opción prevalente. Sin embargo, esta simplicidad en la implementación puede ser un reto para ingenieros y programadores, ya que requiere el manejo de tablas extensas de registros y variables, así como la implementación de múltiples funciones de lectura, escritura y conversión de datos.
RS485 vs RS232: comparación de protocolos de comunicación serie
Los protocolos RS485 y RS232 han sido utilizados durante más de 50 años en la industria y las empresas, y siguen siendo ampliamente empleados debido a sus características específicas:
Principales diferencias entre RS485 y RS232:
- Número de transmisores y receptores:
- RS232: Diseñado para conectar dos dispositivos, permitiendo la comunicación entre un único transmisor y receptor.
- RS485: Permite conectar hasta 32 dispositivos serie a un transmisor, ideal para aplicaciones multipunto.
- Distancia operativa:
- RS232: Limitado a una distancia de 15 metros sin pérdida de la máxima velocidad de transmisión de datos, aunque puede extenderse si se reduce la velocidad.
- RS485: Ofrece una mayor distancia operativa de hasta 1200 metros, manteniendo una velocidad de transmisión aceptable, lo que lo hace adecuado para la comunicación entre equipos distantes.
- Velocidad de transmisión de datos:
- RS232: Proporciona una velocidad de transmisión de hasta 1 Mb/s a 15 metros.
- RS485: Permite velocidades de hasta 10 Mb/s a 15 metros y 100 Kb/s a su distancia máxima de 1200 metros.
- Problemas de ruido eléctrico y potencial de tierra:
- RS232: Funciona bien en entornos con diferencias mínimas de potencial de tierra, pero puede verse afectado por altos niveles de ruido eléctrico.
- RS485: Utiliza un sistema de tensión diferencial que le permite operar eficientemente en entornos con mayor ruido eléctrico y potencial de tierra variable, asegurando mayor distancia de transferencia y velocidad de transmisión con menos interferencias.
A continuación, se presentan algunas características clave del RS-485:
- Transmisión diferencial: Utiliza dos cables (A y B) para transmitir datos en forma diferencial. Esto significa que la señal transmitida es la diferencia de voltaje entre los dos cables, lo que reduce el ruido y las interferencias electromagnéticas.
- Multidrop: RS-485 permite la conexión de múltiples dispositivos en el mismo bus de comunicación. Se pueden conectar hasta 32 dispositivos en un solo bus sin necesidad de repetidores.
- Distancia y velocidad: La especificación RS-485 permite la comunicación a distancias de hasta 1200 metros (4000 pies) con velocidades de transmisión de hasta 10 Mbps, aunque la distancia y la velocidad son inversamente proporcionales.
- Full-duplex y half-duplex: El RS-485 soporta comunicación en full-duplex (transmisión simultánea en ambas direcciones) si se utilizan cuatro cables, y en half-duplex (transmisión en una dirección a la vez) si se utilizan dos cables.
- Half Duplex:
El término “Half Duplex” en un sistema de comunicación indica que, en un momento dado, el sistema puede transmitir o recibir información, pero no ambas acciones simultáneamente. En muchos enlaces RS-485 que utilizan este modo, se comparte el mismo bus de comunicación. Esto implica que existe una línea de control que habilita los controladores en una sola dirección a la vez. Por esta razón, es crucial asegurarse de que no se intente transmitir y recibir al mismo tiempo, ya que esto podría causar una superposición de información, resultando en errores de comunicación. En el modo Half Duplex de RS-485, el control del bus se realiza de manera que los dispositivos alternen entre la transmisión y la recepción.
- Full Duplex:
Por otro lado, el término “Full Duplex” se refiere a un sistema que puede transmitir y recibir información simultáneamente. Este modo es más adecuado para aplicaciones donde se necesita una comunicación continua en ambas direcciones. En la comunicación RS-485 en modo Full Duplex, cada canal de transmisión y recepción tiene su propia ruta independiente. Esto es especialmente útil cuando se trabajan con varios microcontroladores esclavos que deben reportar datos constantemente desde diferentes procesos. Debido a que la necesidad de información puede surgir en cualquier momento, se requieren dos canales separados para permitir la transmisión y recepción simultánea de datos.
En la siguiente figura se muestra cómo es posible utilizar la comunicación Full Duplex en una red con múltiples nodos transmisores y receptores. En este tipo de arreglo, que sigue un modelo maestro/esclavo, el nodo 1 actúa como el maestro, lo que significa que tiene el control total de la red y es responsable de otorgar permisos para la transmisión de datos.
Para establecer la comunicación, se utilizan dos pares de cables:
- Del maestro a los esclavos: Un par de cables conecta al nodo transmisor maestro con todos los controladores receptores esclavos. Este enlace permite que todos los esclavos reciban las transmisiones del maestro.
De los esclavos al maestro: Otro par de cables conecta todos los nodos esclavos al receptor del maestro, permitiendo que los esclavos envíen datos de vuelta al maestro.
En este sistema de comunicación, todos los esclavos deben leer los mensajes enviados por el maestro, pero solo un esclavo a la vez tendrá el permiso para responder. Este esclavo autorizado envía su respuesta a través de los cables designados para la comunicación inversa (de los esclavos al maestro). Esto asegura que, aunque múltiples dispositivos estén conectados, no se produzcan colisiones o interferencias en la transmisión de datos gracias al control centralizado del maestro y a la comunicación Full Duplex.
En resumen, el modo Half Duplex limita la comunicación a una sola dirección en un momento dado, compartiendo el bus entre transmisión y recepción, mientras que el modo Full Duplex permite una comunicación bidireccional simultánea, ideal para sistemas multipunto con múltiples transmisores y receptores.
- Aplicaciones: Este estándar es común en sistemas de control industrial, automatización de edificios, control de motores, y sistemas de instrumentación debido a su robustez y flexibilidad.
El RS-485 es valorado por su capacidad para soportar redes con múltiples dispositivos en entornos difíciles, lo que lo hace ideal para muchas aplicaciones industriales.
Circuito SN75176
Para establecer la comunicación con el ordenador a través de una interfaz RS-485, se utilizan dos circuitos integrados SN75176 de Texas Instruments. Uno de estos circuitos integrados se dedica a la recepción de datos y el otro a la transmisión. El SN75176 es un transceptor diferencial, lo que significa que puede convertir las señales de nivel TTL de un microcontrolador a las señales diferenciales requeridas para la comunicación RS-485 y viceversa.
Funciones principales del SN75176:
- Conversión de niveles de señal:
Los dispositivos SN75176 realizan la conversión entre los niveles lógicos TTL (utilizados por los microcontroladores) y las señales diferenciales necesarias para operar en el bus RS-485. Esto es fundamental para permitir la comunicación entre el ordenador (a través de su puerto serie) y los dispositivos conectados en la red RS-485. - Línea de habilitación para el control de transmisión:
En el controlador de transmisión se ha añadido una línea de habilitación para evitar conflictos en el bus de datos. Esto se debe a que todas las salidas de los microcontroladores están conectadas a la línea de recepción del ordenador. Así, cada dispositivo permanece deshabilitado para transmitir datos y solo se habilita cuando necesita realizar una transmisión. Este mecanismo previene conflictos o colisiones de información en el bus de datos.
Descripción de las terminales del SN75176:
- Alimentación (VCC y GND):
Las terminales VCC y GND proporcionan la alimentación del circuito, que en este caso es de +5V. - Entradas R0 y DI:
La terminal R0 (recepción) y DI (entrada de datos) reciben niveles lógicos TTL. Sin embargo, estas terminales solo pueden recibir estos niveles si la línea de habilitación RE está activa, lo cual se logra con un ‘0’ lógico (es decir, la línea de habilitación está en bajo). - Terminales D0 y -D0 (A y B):
Estas terminales también son conocidas como A y B, y forman parte del bus de transmisión y recepción. A través de estas líneas, las señales diferenciales se transmiten y se reciben en la red RS-485.
Control del flujo de información:
Cada chip SN75176 consta de un transmisor y un receptor integrados. Si las terminales RE (pin 2) y DE (pin 3) se conectan entre sí, es posible controlar el flujo de información utilizando un solo bit de control. Este diseño simplifica la gestión del bus de datos y asegura que las transmisiones se realicen sin interferencias ni conflictos, especialmente en una topología de red maestro/esclavo donde la coordinación y el control del acceso al bus son fundamentales.
Convertidor RS-232 a RS-485
Cuando una red de comunicación está establecida utilizando la norma RS-485, es necesario disponer de un circuito que convierta las señales al formato RS-232 para permitir la conexión de un dispositivo maestro, como un ordenador, que envía o recibe información a través de la red. Este proceso de conversión es esencial para asegurar la compatibilidad entre los diferentes estándares de comunicación.
El procedimiento para convertir las señales de RS-485 a RS-232 implica dos etapas principales:
- Conversión de señales diferenciales a niveles TTL:
Utilizando circuitos integrados como el SN75176, se convierte la señal diferencial de RS-485 a niveles lógicos TTL (Transistor-Transistor Logic). Este paso es necesario porque RS-485 utiliza una transmisión de señal diferencial que no es compatible directamente con los niveles de señal TTL. - Conversión de niveles TTL a RS-232:
Posteriormente, un circuito integrado MAX232 se utiliza para convertir los niveles lógicos TTL a los rangos de voltaje adecuados para el puerto serial RS-232, que son +15V y -15V. El MAX232 invierte los niveles lógicos y adapta las señales a los niveles de tensión necesarios para la comunicación RS-232.
Este proceso de conversión asegura que el dispositivo maestro (en este caso, el ordenador) pueda comunicarse eficientemente con la red RS-485, enviando y recibiendo datos correctamente a través de la interfaz serial.