Qué es el bus RS485

9
¿Qué es el bus RS485? Podemos resumirlo como un sistema de interconexión para transmisión de datos a grandes distancias y apto para operar en ámbitos eléctricamente ruidosos. Su conexión es muy sencilla: a partir del puerto serie (COM1) de cualquier ordenador utilizando tan sólo dos circuitos integrados muy económicos y fáciles de obtener: MAX232 y MAX485. En el caso del último IC mencionado se lo suele reemplazar por el SN76156, que cumple la misma función y es de menor coste. Si se construye un sistema pequeño de pocas terminales que utilizan este IC la diferencia monetaria es poca, pero al emplearlo en grandes cantidades el ahorro es importante. El bus permite una velocidad de datos de 10 y hasta 20 Mbps (a 12 metros de distancia), y de 100 Kbps cuando se conectan terminales o módulos separados 1200 metros entre sí. El sistema permite “colgar” del bus hasta 32 terminales, aunque en la actualidad ya se están utilizando sistemas de 128 y hasta 256 dispositivos conectados entre

Transcript of Qué es el bus RS485

Page 1: Qué es el bus RS485

¿Qué es el bus RS485?

Podemos resumirlo como un sistema de interconexión para transmisión de datos a grandes distancias y apto para operar en ámbitos eléctricamente ruidosos. Su conexión es muy sencilla: a partir del puerto serie (COM1) de cualquier ordenador utilizando tan sólo dos circuitos integrados muy económicos y fáciles de obtener: MAX232 y MAX485. En el caso del último IC mencionado se lo suele reemplazar por el SN76156, que cumple la misma función y es de menor coste. Si se construye un sistema pequeño de pocas terminales que utilizan este IC la diferencia monetaria es poca, pero al emplearlo en grandes cantidades el ahorro es importante.

El bus permite una velocidad de datos de 10 y hasta 20 Mbps (a 12 metros de distancia), y de 100 Kbps cuando se conectan terminales o módulos separados 1200 metros entre sí. El sistema permite “colgar” del bus hasta 32 terminales, aunque en la actualidad ya se están utilizando sistemas de 128 y hasta 256 dispositivos conectados entre sí a una misma red de sólo dos hilos trenzados. En el mejor de los casos, es preferible que el par de cables que transporta la información sea blindado, pero si este montaje no es posible, y debemos utilizar cables individuales, será bueno tener un tercer cable que oficie de referencia de tierra o GND. Un cable blindado

Page 2: Qué es el bus RS485

ayudaría a atenuar los ruidos eléctricos que pueden filtrarse entre los datos del sistema diferencial que utiliza el estándar RS485. Disponer de un cableado con estas características sería lo mejor.

Las especificaciones del estándar RS485 (cuyo nombre oficial es TIA/EIA–485-A) no determinan claramente cómo debe ser el correcto cableado de una red. Sin embargo, algunas recomendaciones pueden interpretarse dentro del texto de la norma y han sido estudiadas y ensayadas por ingenieros, tanto en forma conceptual como en función del método de prueba y error. Dichos ingenieros han llegado a delinear los conceptos que se utilizan hoy en día y que trataremos de resumir en esta sección de la nota. Dejamos bien aclarado que el método de interconexión que utilizaremos y el cable elegido no son los ideales sino que han demostrado funcionar de manera muy satisfactoria en ámbitos muy adversos y hostiles para la interconexión de sistemas de datos entre sí. Es por ello que te los recomendamos en este artículo.

Debido a que altas frecuencias intervienen en el intercambio de datos, que las distancias entre las terminales siempre son inciertas, y que los cables apropiados a utilizar no se determinan en el estándar, se acepta el uso de un par de cables trenzados comunes que tienen una impedancia aproximada de 120 Ohms. Las terminaciones inapropiadas de la línea a utilizar se traducen en reflexiones no deseadas de la señal, tal como muestran los ejemplos de los gráficos.

Terminaciones apropiadas a los extremos de una Red RS485

Terminaciones incorrectas provocan reflexiones indeseadas en la señal

Page 3: Qué es el bus RS485

Oscilogramas indicando terminaciones incorrectas (Izquierda)

En las imágenes (extraídas de la Web oficial de MAXIM) se puede apreciar claramente la distorsión sufrida en la señal, cuando el final de una línea no tiene una terminación adecuada. La reflexión ocasionada puede llevar a distorsionar y perder por completo los datos transmitidos. En el sitio Web de MAXIM, hay un artículo muy interesante y esclarecedor que te será muy útil para aclarar todas las dudas que puedas plantearte acerca del apropiado uso de las líneas de transmisión en el estándar RS485. Otro artículo muy interesante, y de lectura recomendada de la empresa antes mencionada, es el que habla del MAX485 y sus variantes, en donde se resalta su versatilidad de uso en redes half y full duplex.

La base del sistema, como dijimos antes, se fundamenta en la transmisión de datos en forma diferencial. Es decir, por ambos cables viaja la misma información, pero desfasada 180° en un cable respecto al otro. De esta forma, cualquier interferencia que pueda introducirse en el cableado lo hará en ambos hilos por igual, con la misma polaridad y amplitud. En el destino de la terminal, sea en el ordenador o en el dispositivo colocado a la distancia, las señales se restituyen en polaridad y los picos de ruidos que se habían introducido con la misma polaridad en ambos cables, al invertirse las señales, se neutralizan y eliminan entre sí, y se recupera de esta forma la señal útil que se desea transmitir.

Page 4: Qué es el bus RS485

Picos de ruido inducidos en la Red

Cuando el cableado recorre un ambiente ruidoso y hostil, como puede suceder en una instalación industrial, el tercer cable que oficia de tierra o GND también se transforma en un elemento que recepciona y lleva hasta las terminales o módulos los ruidos inducidos en él. Por este motivo siempre es recomendable colocar una resistencia de 100 Ohms en la conexión a GND en cada uno de los circuitos de las terminales.

Entre las múltiples diferencias fundamentales que existen respecto al estándar RS232 es que el RS485 se maneja con niveles TTL de tensión, mientras que el RS232 maneja tensiones de ambas polaridades con valores absolutos de 3 a 15 Volts. RS232 permite comunicaciones “full-duplex” (ambos terminales transmiten y reciben datos en forma simultánea), pero su distancia de trabajo es de tan sólo 12 metros; además, se requieren al menos 8 cables para una comunicación full y es muy propenso a ser afectado por el ruido eléctrico.

Protocolo de comunicación (Terminales charlando entre sí)Debido a que el tipo de comunicación que desarrollaremos en el bus es considerada “half-duplex” (semiduplex) mientras un dispositivo transmite, los demás terminales o módulos que se encuentren conectados al sistema (a la red) recibirán la mencionada transmisión, es decir, todos escucharán el llamado. Dicho de otro modo, uno “hablará” y los demás “escucharán”. Debemos tener en claro que será muy importante organizar el protocolo de comunicación para que sólo un terminal o módulo “entienda y/o comprenda” que es a él a quién está llamando el transmisor. Esta situación de llamar – escuchar- actuar suele darse en ambas direcciones y entre múltiples terminales, lo que significa que el ordenador puede transmitir una instrucción, y que nuestro termómetro, al escucharla,

Page 5: Qué es el bus RS485

puede responder o cumplir alguna función específica en el lugar de destino. Cualquiera de los terminales puede ser transmisor o receptor. Nunca deberá haber dos transmisores simultáneos ya que ocurrirá una inevitable colisión de datos que hará ilegible la interpretación de las instrucciones por parte de quienes están a la espera en “escucha”. Receptores pueden ser todos, pero transmisor debe haber uno solo por vez. No necesariamente la comunicación será siempre ordenador – terminal y viceversa.

Habrá oportunidades en que las terminales o módulos intercambien datos entre sí, si bien éste no es al caso. Aquí solo conectaremos el ordenador con un termómetro y un relé a la distancia. Hacer funcionar una red elemental de estas características puede ser una tontería para algunos y toda una proeza para otros.

Un dato importante a tener en cuenta es que no existe una forma universal de colocar sentencias en un programa que comunicará dos dispositivos entre sí. El desarrollador del software deberá tomar idea de otras aplicaciones y adaptar la que más convenga y se adecue al diseño que está llevando a cabo. Aunque esto sea algo sencillo de explicar, en la práctica adquiere cierto grado de dificultad.

¡Chiste interno!

A cada terminal se le otorga un “nombre”, que sencillamente podemos asignar con un número comprendido entre 0 y 255. Por ejemplo: el circuito maestro (el ordenador) puede llamarse “0”, y el esclavo (el termómetro) puede llamarse “1”. En cuanto a las instrucciones, también podemos utilizar la misma técnica para solicitarle al termómetro que nos transmita el valor de temperatura en el momento deseado, por citar un ejemplo.En este caso podemos elegir arbitrariamente el número “33” para tal

Page 6: Qué es el bus RS485

acción, y el termómetro nos responderá (si escucha e interpreta nuestro

llamado) con la información que tenga disponible. A todo el conjunto de datos que envía el transmisor o el receptor en cada momento de actividad lo llamaremos “trama” de datos, y necesitamos saber que siempre deben terminar con un carácter identificable como “fin de transmisión”. Por lo tanto, la conversación entre los dispositivos se regirá por un orden que puede ser parecido al siguiente:

Todos los dispositivos están a la escucha y esperando recibir instrucciones.

Cuando el dispositivo que oficiará de transmisor comprueba la inactividad del bus envía la secuencia: “nombre del receptor – instrucción – fin de transmisión”.

Algunos diseñadores reenvían varias veces la trama para asegurar la comunicación.

El dispositivo transmisor pasa a recepción, y aquel que fue receptor de sus instrucciones actuará en consecuencia a la orden escuchada, lo que puede ser una acción autónoma o una respuesta a su interlocutor.

Si debe responder con una entrega de datos, asumirá el rol de “maestro” y observará en primera instancia que el bus esté inactivo. Luego, responderá con el mismo protocolo con el que fue interrogado: “nombre del receptor – datos – fin de transmisión”

Todos quedarán en modo recepción, y el destinatario de los datos (en nuestro caso el ordenador) procesará la información recibida desde el termómetro.

Si analizamos la estructura sugerida y pensamos en que podemos llegar a colocar los 31 terminales adicionales al ordenador, los nombres podrían reservarse y enumerarse de esta forma: del 0 al 32. Por otro lado, si optamos también por un número para la instrucción a enviar, tenemos en nuestro caso la posibilidad de enviar más de 200 instrucciones distintas al termómetro. Por supuesto que no sucederá esto, ya que con una sola instrucción será suficiente para nuestro propósito. Podemos interrogar al termómetro para que nos devuelva el valor de temperatura donde esté instalado a través de una aplicación hecha por nosotros mismos en Visual Basic 2008 o el lenguaje de programación que elijamos para trabajar con el puerto serie.

El circuito.Todos los ordenadores de mesa poseen una salida RS232 que viene identificada en el motherboard como puerto I/O COM1 y que constituye el puerto serie. Tal vez algunas no lo traigan expuesto con

Page 7: Qué es el bus RS485

su conexión al exterior, pero en cualquier tienda de accesorios para el ordenador podremos adquirir por muy poco dinero el conector o alguna pequeña placa PCI que nos permitirá salir al exterior y poder allí conectar nuestra red.

Placa PCI con RS-232

Otro ejemplo con salida Serie

Conector con salida DB9 para el motherboard

El circuito utilizado es muy sencillo y cuenta con sólo dos circuitos integrados, como dijimos anteriormente: un MAX232 y un MAX485 o un SN76156 (para abaratar costos). La alimentación deberá ser independiente del puerto ya que la corriente que éste puede suministrarnos no alcanzará a activar el SN76156, el cual requiere unos 70 mA en Tx (transmisión). Con muy pocos componentes alrededor de estos IC tendremos la interfaz adecuada para crear, en nuestro ordenador, el punto de partida de una red que puede incluir desde un simple termómetro hasta el completo control de una discoteca, contando su consola de sonido, luces y efectos especiales.

Page 8: Qué es el bus RS485

Diagrama completo de la interfaz RS232 / RS485