NOTA DE APLICACIÓN Código: DC.DNA.09 Versión: 03 Fecha: 09/09/08 RS-485 a 2 hilos: Guía de conexión Índice 1. Introducción ..........................................................................................................................................1 2. Topología de una red RS-485 (2h).......................................................................................................1 2.1 Elementos de la red ....................................................................................................................... 2 3. Conexión de una red RS-485 (2h) .......................................................................................................2 3.1 Identificar la polaridad de los terminales ....................................................................................... 2 3.2 Resistencias de terminación de línea ............................................................................................ 3 3.3 Valor de las resistencias de polarización ...................................................................................... 3 4. Ejemplo de conexión ............................................................................................................................5 5. Localización de averías ........................................................................................................................6 5.1 Descartar fallos de configuración .................................................................................................. 6 5.2 Reducir la red al mínimo imprescindible........................................................................................ 6 5.3 Comprobar los cableados.............................................................................................................. 6 5.4 Comprobar los indicadores de actividad........................................................................................ 6 5.5 Comprobar polaridad de los terminales......................................................................................... 7 5.6 Comprobar el nivel eléctrico en reposo ......................................................................................... 7 5.7 Comprobar los niveles en comunicación ....................................................................................... 7 1. Introducción Según la experiencia de EQUITEL, la interfaz RS-485 a dos hilos pese a su sencillez, crea muchos problemas de conexión si no se tienen en cuenta una serie de puntos fundamentales. Se pretende que este documento sirva de guía para facilitar el conexionado de los equipos EQUITEL con otros utilizando dicha interfaz. 2. Topología de una red RS-485 (2h) En la figura siguiente se tiene el esquema de una red RS-485 a dos hilos genérica. RS-485 a 2 hilos: Guía de conexión Pág. 1 de 8 Código: DC.DNA.09 Versión: 03 Todos los equipos conectan en paralelo a la red, tanto su emisor como su receptor. Esto lleva consigo que las comunicaciones utilizando este bus sean siempre semi-dúplex. Es decir, que sólo puede haber un equipo emitiendo datos en un determinado momento. En reposo, cuando no hay transmisión de datos, todos los transceptores se encuentran en modo de “escucha”, quedando el nivel de reposo fijado por las resistencias (Rpu / Rpd) de polarización. Para que los receptores identifiquen correctamente los dos estados lógicos posibles (“1” y “0”) se ha de cumplir obligatoriamente que el valor absoluto de la diferencia de tensión entre las líneas A y B sea superior a 200 mV. Los dos estados lógicos quedan definidos así: Estado lógico “1”: Estado lógico “0”: VA – VB < -200 mV VA – VB > +200 mV Cuando un equipo desea enviar datos, habilita su transmisor y a continuación transmite los datos que serán escuchados por el resto de equipos. Es necesario utilizar la interfaz RS-485 cuando hay más de un equipo transmisor. Si sólo hay un transmisor en la red es preferible utilizar la interfaz RS-422 que mantiene todas las ventajas de la interfaz RS-485 pero no necesita las resistencias Rpu y Rpd. La interfaz RS-485 se utiliza siempre en una configuración punto-multipunto. Uno de los equipos hace de controlador y va preguntando al resto que sólo contestan cuando es su turno. Esto se gestiona por “la inteligencia” de los equipos conectados a la red. 2.1 Elementos de la red Transceptor: Es la parte de comunicaciones de cada uno de los distintos equipos conectados a la red. Consta de un generador y un receptor de señal diferencial con capacidad de ser habilitado a voluntad (línea “H” en la figura). Puede haber un máximo de 32 conectados a la misma red. Cable de interconexión: Es un par diferencial (habitualmente un par trenzado). La longitud máxima depende mucho de la velocidad de transmisión, de la calidad del cable, de las terminaciones de línea, etc. pudiéndose en el mejor de los casos alcanzar valores de hasta unos 1.300 metros. Resistencias de terminación de línea (Rt): Son resistencias optativas que pueden ser necesarias con longitudes de cable largas y con altas velocidades de transmisión para mejorar la adaptación de impedancias de la red y, por tanto,evitar reflexiones que provocarían errores de comunicación. En la mayoría de los casos no son necesarias. Su valor debe coincidir con la impedancia característica del cable empleado. Resistencias de polarización o pull-up / pull-down (Rpu / Rpd): En el estado de reposo, fijan el nivel tensión en el par necesario para que todos los receptores reconozcan este estado. Este nivel ha de tener un valor absoluto mayor de 200 mV. La existencia en la red de estas resistencias es obligatoria. 3. Conexión de una red RS-485 (2h) Estos son los tres puntos fundamentales que se deben tener en cuenta para conectar con éxito equipos en una red RS-485 a dos hilos. 3.1 Identificar la polaridad de los terminales Según la norma RS-485, se denomina a cada terminal de la red como “A” y “B”, siendo el terminal “A” aquél que en estado de reposo (“1” lógico) es de un voltaje inferior al “B”. Es decir: en reposo (VA-VB) < 0. Pese a que está claramente especificado en la norma, hay fabricantes que marcan sus terminales usando “-” y “+“ o bien los marcan al revés. RS-485 a 2 hilos: Guía de conexión Pág. 2 de 8 Código: DC.DNA.09 Versión: 03 Por esto, es necesario averiguar de antemano cual es la correcta polaridad de los terminales. En los equipos EQUITEL, siempre se sigue la nomenclatura de la norma, tal como se ha especificado aquí. En el resto de equipos habrá que dirigirse a la documentación del fabricante, o realizar alguna prueba sencilla. No obstante, la conexión de algún equipo con la polaridad equivocada no debería provocar una avería permanente. Simplemente la interfaz no funciona y se soluciona conectando correctamente los terminales. 3.2 Resistencias de terminación de línea Es difícil dar una “regla de oro” para tomar la decisión de colocar o no resistencias de terminación de línea en la red, puesto que dependerá mucho de la longitud el cable, de los equipos utilizados y de la velocidad de transmisión. No obstante, hay dos casos claros: - En las aplicaciones con longitudes de cable cortas (inferiores a unos veinte o treinta metros) y velocidades de transmisión inferiores a 115 Kbaud, son normalmente innecesarias. - Cuando la longitud del cable es superior a los 100 o 200 metros son necesarias. El problema surge en casos intermedios, en los que la experiencia del instalador juega un papel primordial. Si se juzga necesario utilizarlas, no debe haber más de 2 resistencias de terminación de línea: una en cada extremo del cable. Hay que detectar si alguno o algunos de los equipos que se desean conectar tiene instalada una resistencia de terminación de línea y conocer su valor, para poder quitarla o cambiarla dependiendo del caso. El valor de las resistencias de polarización va asociado al valor de las resistencias de terminación de línea. En el punto siguiente se explica el método de cálculo. Los equipos EQUITEL no llevan resistencia de terminación de línea. 3.3 Valor de las resistencias de polarización En ausencia de transmisión de datos, todos los transmisores están en alta impedancia. Las resistencias de polarización hacen que los receptores “vean” una diferencia de potencial entre los terminales A y B superior (en valor absoluto) a 200 mV. En realidad (VA-VB) ≤ -200 mV. Se ha de comprobar si los equipos que se van a conectar incorporan estas resistencias y de qué valor son. En principio, no hay ningún problema si más de un equipo en la red tiene incorporadas las resistencias de polarización, siempre y cuando la impedancia en AC entre los puntos A y B no sea inferior a 60 Ω (considerando infinita la de los receptores y transmisores puesto que estos últimos están en alta impedancia). +Vcc +Vcc +Vcc Rpu Rpu Rpu Rpd Rpd Rpd B A RS-485 a 2 hilos: Guía de conexión Pág. 3 de 8 Código: DC.DNA.09 Versión: 03 Suponiendo que se colocan N equipos iguales en paralelo, con resistencias de polarización iguales entre sí (Rpu = Rpd = Rp), la resistencia Rp mínima se puede deducir de la siguiente inecuación: R AB = 2Rp ≥ 60Ω N Si N puede ser hasta 32 por norma, entonces Rp como mínimo deberá valer 960 Ω. Si se utilizan resistencias de terminación de línea, se han de dimensionar las resistencias Rp atendiendo a las siguientes ecuaciones: +Vcc Para una única resistencia de terminación: 2RpRt Vcc = 120Ω; Rt ≥ 0,2V 2Rp + Rt 2Rp + Rt Rp B Rt Para dos resistencias de terminación: Vcc RpRt Rt ≥ 0,2V = 60Ω; Rt 4 Rp + Rt 2Rp + 2 A Rp Si hay más de un equipo con resistencias de polarización, en estas expresiones se habrá de sustituir Rp por Rp/N, siendo N el número de equipos. Ejemplo: Se tiene una red RS-485 a dos hilos y se quieren calcular los valores de las resistencias de polarización y de terminación de línea, contando con que se va a poner una única resistencia de terminación y una única pareja de resistencias de polarización. La tensión de polarización (Vcc) es de 5 V. Para este caso, se elije un valor de tensión en reposo de 500 mV, y los cálculos son: 5 Rt = 0,5 ⇒ Rp = 4,5Rt 2Rp + Rt 2RpRt = 120 ⇒ 2Rp + Rt 9Rt 2 = 120 ⇒ Rt = 133Ω ⇒ Rp = 600Ω 10Rt Hay ciertos modelos EQUITEL que incorporan internamente las resistencias de polarización. En estos casos, el valor de las resistencias montadas en fábrica es de 1KΩ, lo que permite colocar sin problemas hasta 32 equipos en paralelo sin resistencias de terminación de línea. Si se desea terminar la línea, habrá que cambiar estos valores, como se ha visto en el ejemplo anterior. RS-485 a 2 hilos: Guía de conexión Pág. 4 de 8 Código: DC.DNA.09 Versión: 03 4. Ejemplo de conexión El problema a resolver es la actualización a fibra óptica de una red RS-485 existente que controla varios paneles informativos desde un ordenador situado en el centro de control como muestra la figura siguiente. En esta red basada en cable de cobre se han colocado resistencias de terminación de línea en cada extremo del par y resistencias de polarización en el conversor del ordenador. La topología del sistema utilizando conversores N552 sería en este caso: N552 N552 RS-232 RS-485(2h) RS-485 Redes RS-485 de cada panel F.O. Red RS-485 del centro de control Se necesita una pareja de N552 con sus correspondientes fibras por cada panel. Esto genera varias redes RS-485 distintas: - Una en el centro de control entre el conversor RS-232 a RS-485 y los equipos N552. - Una por cada panel entre él mismo y su correspondiente N552. NOTA: Si hubiese dos paneles cercanos que permitiesen longitudes de red RS-485 razonables (centenares de metros) se podrían unir en un mismo N552. El N552 no lleva resistencias de terminación de línea ni de polarización, pero posee unos bornes de alimentación (5 V) y masa para poder colocarlas fácilmente. RS-485 a 2 hilos: Guía de conexión Pág. 5 de 8 Código: DC.DNA.09 Versión: 03 En la red del centro de control, pese a tener varios nodos, se presupone una distancia de cable pequeña (decenas de metros). Por tanto, se puede prescindir a priori de las resistencias de terminación de línea. Si esta resistencia está incluida en el conversor, deberá retirarse. Si no puede eliminarse, hay que calcular el valor de las resistencias según el punto 3.3. Si las resistencias de polarización, están incluidas en el conversor se pueden dejar y si no, incluirlas en cualquier N552. El valor puede ser de 1 KΩ si no hay resistencia de terminación de línea. En las redes de los paneles se suponen longitudes de cable cortas y tampoco será necesario poner resistencias de terminación de línea. 5. Localización de averías Si una vez conectados los equipos no se establece la comunicación, se pueden seguir una serie de pasos para intentar localizar dónde está el problema. 5.1 Descartar fallos de configuración Primero habría que asegurarse de que las configuraciones de los distintos equipos son correctas (velocidades de transmisión, etc.) y que no se sobrepasan sus especificaciones. 5.2 Reducir la red al mínimo imprescindible Dejar en la red sólo los equipos necesarios que permitan comprobar que la comunicación funciona correctamente. En el ejemplo anterior se dejaría en el centro de control el ordenador, el conversor y uno de los N552 que comunican con los paneles. De esta forma se tendría comunicación con un único panel. 5.3 Comprobar los cableados En determinados equipos EQUITEL se utiliza un conector RJ-45 para la conexión de la interfaz de datos. En este conector conviven la interfaz RS-485 / 422 con la interfaz RS-232. Normalmente se utiliza un cable UTP para el conexionado. En estos equipos puede aparecer un problema añadido debido a que en la entrada RS-232 no utilizada se induce ruido eléctrico (diafonía) a lo largo del cable UTP si éste es suficientemente largo (unos pocos metros son suficientes). Este ruido entra en el equipo y distorsiona la información que se transmite, llegando a impedir la comunicación en ocasiones. Este fenómeno se puede detectar en el equipo remoto porque aparecen señales anómalas que no respetan los tiempos de bit, es decir, ruido. Hay dos posibles soluciones para evitar este problema: 1. No conectar los hilos del cable UTP correspondientes a las líneas no utilizadas en el conector RJ-45. 2. Unir el hilo TX de la interfaz RS-232 a masa (hilo GND). 5.4 Comprobar los indicadores de actividad Es habitual que los equipos ópticos lleven algún indicador tipo LED para mostrar actividad en la línea de datos. Si estos indicadores no detectan nada es un síntoma de fallo en los niveles de las señales o en las conexiones. Que los indicadores se iluminen no excluye que haya errores de este tipo, porque sólo representan la presencia de pulsos eléctricos en la interfaz, no si son correctos o no. RS-485 a 2 hilos: Guía de conexión Pág. 6 de 8 Código: DC.DNA.09 Versión: 03 5.5 Comprobar polaridad de los terminales Si los indicadores LED muestran actividad permanente es que hay un fallo de polaridad (error en la identificación del hilo A y B). El problema se resuelve intercambiando los dos hilos en cada red para comprobar si se puede establecer la comunicación. En el ejemplo, habría que probar 4 posibles combinaciones, cambiando los hilos A y B en el N552 del centro de control y en el panel. 5.6 Comprobar el nivel eléctrico en reposo Con un polímetro, comprobar que en ausencia de datos transmitidos, la tensión entre los terminales B y A es > 200 mV. De no ser así, hay que revisar si las resistencias de terminación de línea y de polarización tienen valores coherentes según lo explicado en este documento. 5.7 Comprobar los niveles en comunicación Si el problema persiste, es necesario comprobar los niveles eléctricos en el cable durante la transmisión. Para ello es imprescindible un osciloscopio con dos sondas o una sonda diferencial. ¡Atención!: No intentar medir la señal diferencial RS-485 con una única sonda, colocando su terminal de masa en uno de los hilos. Hay un riesgo muy elevado de destruir el circuito de salida de datos. Si el osciloscopio está puesto a tierra, el hilo conectado al terminal de masa del osciloscopio queda cortocircuitado a tierra y puede destruirse. Para medir los niveles, se colocará una sonda en cada uno de los dos hilos del par y se configurará el osciloscopio para obtener la diferencia de las dos trazas. El análisis de la señal así obtenida aportará pistas para localizar el fallo. A continuación se muestran tres casos típicos de un enlace entre un equipo EQUITEL N552 y un dispositivo externo, como el panel de señalización en el ejemplo propuesto. Caso 1: Sin ninguna resistencia: En la siguiente figura se observa que el nivel de reposo no es correcto, puesto que no supera los -200 mV deseados (de hecho es positivo). Además, los pulsos quedan deformados por el paso a alta impedancia del circuito de salida del N552. En ausencia de resistencias en la línea la carga parásita ha de pasar a través de una resistencia muy alta y el tiempo de descarga es muy largo. No hay comunicación en estas condiciones por lo que no hay respuesta del dispositivo externo. RS-485 a 2 hilos: Guía de conexión Pág. 7 de 8 Código: DC.DNA.09 Versión: 03 Caso 2: Sin resistencias de terminación de línea y con resistencias de polarización de 1 kΩ: En la siguiente figura, la traza del osciloscopio es la diferencia entre los hilos A y B. En el recuadro de la izquierda, se ve el comando enviado desde el N552 hacia el dispositivo externo, y en el recuadro de la derecha, la respuesta de éste último hacia el N552 para ser transmitida por la fibra. El nivel de reposo (-4 V) es correcto: negativo y muy inferior a los -200 mV exigidos por la norma. Su valor absoluto tan elevado se debe a la ausencia de resistencia de terminación de línea. La diferencia de niveles de los pulsos entre los dos paquetes de datos, se debe a que en un caso este nivel queda fijado por el N552 y en el otro por el dispositivo externo. En este caso la comunicación es correcta. Caso 3: Con una resistencia de terminación de 120 Ω y resistencias de polarización de 680 Ω: Se han calculado las resistencias de forma que el nivel en reposo sea de aproximadamente -400 mV. En el recuadro de la izquierda se ve el mensaje enviado desde el N552 hacia el dispositivo externo. Hay que notar que en este caso, los pulsos van entre el nivel de reposo y el nivel positivo de activación. Esto es debido a que los equipos de transmisión como el N552, son transparentes a nivel de bit: como el equipo no sabe cuántos bits se van a enviar ni la velocidad de éstos, se limita a dejar su salida en alta impedancia cuando el estado recibido por la fibra es “1” (el de reposo). Así, el nivel lo fijan las resistencias de polarización. No se distingue si el nivel “1” recibido por la fibra corresponde a un bit del paquete de datos o al estado de reposo de la línea. Esta distinción sí es posible en los equipos que generan datos, como en el caso del dispositivo externo del ejemplo. En el recuadro de la derecha se ve que los niveles correspondientes a los bits “1” son mucho más bajos que el nivel de reposo, ya que están fijados por el dispositivo externo. La comunicación en este caso es correcta, puesto que todos los equipos conectados a este bus interpretan correctamente los niveles. RS-485 a 2 hilos: Guía de conexión Pág. 8 de 8