Ejemplo 4 Bus de Sensores Basado en RS485

9

Click here to load reader

description

UNIVERSIDAD VERACRUZANAINGENIERÍA EN INSTRUMENTACIÓN ELECTRÓNICASENSORES Y ACTUADORESProf. Jacinto Pretelin

Transcript of Ejemplo 4 Bus de Sensores Basado en RS485

  • 1

    EJEMPLO 4

    BUS DE SENSORES BASADO EN RS-485 Juan Carlos lvarez Antn

    Se propone disear un sistema universal de monitorizacin y actuacin remota con las siguientes caractersticas generales:

    - El sistema debe permitir la monitorizacin y la actuacin en un mnimo de 40 puntos de medida (estaciones) distribuidos a lo largo de una distancia mxima de 800m (figura E4.1).

    - En cada punto de medida se toman 4 temperaturas, se capturan 4 entradas digitales y se acta (salidas) sobre 4 dispositivos de control digital. Se considera que las seales analgicas a capturar estn acondicionadas al margen de 0-5V y las entradas y salidas digitales presentan niveles TTL.

    - La informacin obtenida de cada punto de medida debe analizarse y registrarse de forma permanente para su posterior consideracin.

    - No se manejan procesos crticos en tiempo (se considera aceptable ciclos de monitorizacin y actuacin sobre todas las estaciones cada 15s).

    - Cada punto de medida dispondr de un visualizador para proporcionar mensajes de alarma local a un operario.

    - El sistema debe poseer cierta inmunidad al ruido ya que se tiene previsto su uso en un entorno ruidoso.

    - El sistema debe ser lo suficientemente flexible como para aadir con facilidad nuevos puntos de medida.

    Figura E4.1 Sistema de monitorizacin/actuacin.

  • 2

    SOLUCIN:

    Por el nmero tan elevado de puntos de medida y su gran dispersin puede plantearse el diseo de un bus para la conexin de todas las estaciones por razones de coste de cableado y funcionalidad. Para el enlace de todas las estaciones puede utilizarse una topologa en bus, mutipunto basada en el interfaz RS-485 en formato half-duplex (ver leccin 30). Este enlace proporciona una considerable inmunidad al ruido (las seales se transmiten en modo diferencial) es simple de implantar y econmico. El cableado puede realizarse mediante un simple par de cables trenzados con una longitud de hasta 1.200m y es capaz de soportar velocidades de transmisin considerables (10Mb/s). La longitud del bus puede incluso incrementarse mediante repetidores si fuese necesario. En cuanto al nmero de estaciones que pueden conectarse al bus depender de la carga que soporten los drivers pero pueden cubrirse satisfactoriamente las necesidades con los circuitos comerciales disponibles, como veremos. La opcin ms sencilla para la captura y actuacin propuesta y a la vez para dotar a cada estacin de la inteligencia necesaria para realizar la comunicacin sobre el bus es utilizar un microcontrolador (ver leccin 31). Estos dispositivos proporcionan de forma autnoma la capacidad de monitorizacin y actuacin que se propone. Adems, disponen de recursos para la transmisin y recepcin de informacin que simplifica la sincronizacin en el envo de datos (UART serie asncrona). Tambin pueden controlar de forma muy sencilla un display (por ejemplo un LCD) para la visualizacin local de mensajes.

    El problema de adoptar una topologa en bus es que debemos de administrar cmo se realiza el acceso al medio ya que las lneas van a ser compartidas por los distintos nodos de la red. La forma ms sencilla de controlar el acceso al medio es mediante un esquema del tipo maestro-esclavo con una encuesta cclica (pooling cclico) por parte de una estacin maestra (ver leccin 30). Una simplificacin que aporta mucha potencia y gran flexibilidad es considerar un PC como estacin maestra (master) que gobierna los accesos al bus y considerar a todas las estaciones de medida como esclavas. El acceso al medio se administra de forma centralizada por el master y garantiza que dos estaciones nunca transmitan al mismo tiempo. As, el maestro realiza una encuesta sobre cada una de las estaciones que componen la red, obteniendo la informacin correspondiente de cada una de ellas. Adems el hecho de utilizar un PC como estacin maestra permite el registro y la visualizacin de datos cmodamente. La figura E4.2 se muestra la estructura general de la red propuesta.

    Figura E4.2 Estructura de la red de estaciones.

    La comunicacin se establece de forma simplificada del siguiente modo: todas las estaciones (esclavos) se configuran inicialmente para recibir datos y el PC, que acta de maestro, inicia la comunicacin emitiendo un mensaje sobre la red. El mensaje consiste en una trama de encuesta (paquete de bytes), que contiene la direccin de la estacin a quien va destinado el mensaje, y los datos, que consisten en la configuracin de las salidas: salida digitales ms datos para el display. A continuacin el PC se pone en modo de recepcin esperando la respuesta de la estacin correspondiente. Aunque todas las estaciones reciben el mensaje cada una posee una direccin nica dentro de la red de forma que solo responder aquella estacin cuya direccin coincida con la enviada por el PC en la trama de encuesta. La respuesta ser otra trama con los datos capturados del proceso por esa estacin (analgicos y digitales). La estacin maestra (PC) recibe el mensaje y a

  • 3

    continuacin vuelve a enviar por la red otro mensaje pero con la direccin y datos correspondientes a la siguiente estacin en la red y as hasta que se recorran todas las estaciones.

    Implementacin hardware.

    Configuracin del bus

    Para implementar el bus RS-485 es necesario acoplar las estaciones de medida y el propio PC a las caractersticas elctricas de este bus. Para ello puede utilizarse un circuito interfaz de bus RS-485 como el MAX487 constituido por un emisor y un receptor (figura E4.3). El MAX487 es un interfaz transmisor/receptor (transceiver) half-duplex de baja potencia para comunicaciones RS-485 (y RS-422); puede alcanzar velocidades de transmisin de hasta 250kbps1 (la UART de un PC tpico alcanza los 115kbps) y puede soportar la carga de hasta 128 transceivers sobre el bus (tiene protecciones en caso de carga excesiva). En el CD se proporciona su hoja de caractersticas completa aqu se proporciona una indicacin de la funcin de las patillas de este driver (tabla E4.1).

    Figura E4.3 Interfaz de bus RS-485 MAX487 (MAXIM).

    Pin Nombre Funcin

    1 RO Receiver Output (salida del receptor) Si A>B en 200mV, RO =H ; Si A

  • 4

    Las distintas estaciones se conectaran al bus de la forma que muestra la figura E4.4a. Las estaciones en los extremos del bus deben de terminarse con una resistencia para evitar reflexiones en la lnea (120). Tambin puede ser conveniente, para aumentar la inmunidad a ruidos, forzar el estado de la lnea a un estado si no existe un driver activo en la red con un circuito como el que se muestra en la figura E4.4b (failsafe). Sin este circuito es posible que la lnea se vea afectada por ruidos que activarn los receptores y causarn graves problemas en las comunicaciones.

    Figura E4.4 (a) Configuracin de la topologa en bus RS-485; (b) circuito para evitar ruidos en las

    lneas.

    Estacin PC: Convertidor RS-232/RS-485

    Como el PC va realizar las funciones de maestro del bus debemos plantearnos cmo se conectar al bus RS-485. Una forma sencilla consiste en aprovechar su puerto serie RS-232. Esta eleccin simplifica la comunicacin desde el punto de vista de la sincronizacin ya que los microcontroladores tambin disponen (generalmente implementada en hardware) de una UART para comunicaciones serie. Para convertir los niveles RS-232 (12V en el PC) a TTL, que son los niveles que maneja el driver , MAX487 puede utilizarse el MAX232 (MAXIM). El esquema del convertidor se muestra en la figura E4.5.

    Figura E4.5 Esquema del convertidor RS-232 a RS-485.

  • 5

    La resistencia de 120 entre las lneas del bus acta de terminador y debe situarse en las estaciones de los extremos del bus para reducir las reflexiones de seal en el cable. Cuando se utiliza un conversor RS-232 a RS-422/485 es importante recordar que un driver RS-485 debe, a veces, ponerse en estado de alta impedancia (tristate) o, lo que es lo mismo, hacerse receptor. Normalmente, se utiliza la seal RTS del circuito RS-232 para controlar el estado del conversor. La forma en que acta esta seal es la siguiente: el RTS del dispositivo RS-232 estar a nivel bajo mientras se transmite el dato y se pondr a nivel alto para permitir al conversor recoger el mensaje de vuelta. En la figura se observa que una lnea del puerto serie del PC, RTS se conecta al pin 3/2 del MAX487 para controlar por software la transmisin/recepcin de datos sobre el bus, es decir, es la forma en la que se controla el flujo de datos por el bus.

    Circuito de las estaciones de medida

    La figura E4.6 muestra el esquema propuesto para las distintas estaciones. El corazn de la tarjeta es el microcontrolador PIC 16C74B que est bien dimensionado para cubrir todas las prestaciones que aqu se indican (tiene puertos de E/S suficientes, incluye un convertidor A/D de 8 canales y dispone de una UART para comunicaciones serie). Para conectar el display se ha utilizado un interfaz de 4 bits con el objeto de utilizar menos puertos en el microcontrolador. Para fijar la direccin de cada tarjeta se utilizan 7 microinterruptores. Las entradas correspondientes se introducen en un registro de desplazamiento paralelo/serie de 8 bits. El programa que reside en el microcontrolador comienza leyendo la informacin de este registro y asigna a la estacin la direccin especificada con estos microinterruptores. Es importante garantizar que no existan dos estaciones en la red con la misma direccin, ya que, en ese caso el sistema fallar pues no existe ningn mecanismo para comprobar que el medio est ocupado y las dos estaciones intentarn emitir al bus. La captura de seales analgicas se realiza a travs del convertidor A/D que incluye el uC, dispone de 8 canales de entrada de 8 bits. Las salidas y entradas digitales se implementan en los puertos indicados. En el caso necesario pueden dotarse de un buffer a estas salidas para proporcionar ms corriente.

  • 6

    DB4

    DB5

    DB6

    DB7

    RE

    LD/SH

    MCLR

    Figura E4.6 Circuito de control de las estaciones de medida.

    Configuracin del Software

    El software ocupa un lugar destacado ya que debe implementarse el protocolo de comunicacin entre los elementos de la red. El formato de la direccin y el mensaje son tambin parte del protocolo y deber definirse. El software reside tanto en el PC (maestro) como en los uC de cada una de las estaciones esclavas aunque el software en las estaciones es ms sencillo. Aunque el mecanismo de comunicacin considerado aqu corresponde al tipo de maestro nico, algo rgido, sin embargo, resulta muy sencillo de implementar ya que se reduce la complejidad a la hora de gestionar el acceso al medio: el maestro solo permite hablar a la estacin que en ese momento est direccionando.

    El formato de trama que entrega el master, puede adoptar esta estructura: Byte de inicio de trama

    Direccin de la estacin destino

    Dato de salida digital

    Dato de mensaje Byte de chequeo (CheckSum)

    Byte de fin de trama

    11110000 8 bits 8 bits 8 bits 8 bits 10101010

    Tabla E4.2 Formato de trama entregada por el master.

    cuyos campos tienen el siguiente significado:

    1 byte : el primer byte indica el inicio de trama.

  • 7

    2 byte: especifica la direccin de la estacin destino (se limita a 128 as que puede ignorarse el bit ms significativo)

    3 byte: dato digital que se desea situar en el puerto de salida de la estacin direccionada, solo se utilizan los 4 bits menos significativo.

    4 byte: se trata de un ndice a una tabla donde residen los distintos mensajes que puede recibir el usuario. Se trata de evitar tramas de distinto tamao y excesivamente largas.

    5 byte: este byte se genera a partir de la informacin enviada en el paquete por el transmisor y se vuelve a regenerar en el receptor con los datos recibidos. En el caso de que existan discrepancias, porque se haya producido un error durante la comunicacin, la estacin esclava enva una respuesta con el 2 byte (direccin de la estacin que responde) a cero. El master reconoce la situacin y realiza otro intento sobre la misma estacin.

    6 byte: seala el fin de trama.

    La trama que entregan los esclavos es: Byte de inicio de trama

    Direccin de la estacin que responde

    Dato de entrada digital

    Dato entrada del canal analgico #1 (#2,#3,#4)

    Byte de chequeo (CheckSum)

    Byte de fin de trama

    11110000 8 bits 8 bits 32 bits 8 bits 10101010

    Tabla E4.3 Formato de mensaje de la estacin esclava

    y los campos tienen este significado:

    1 byte: el primer byte indica el inicio de trama

    2 byte: especifica la direccin de la estacin que responde; se utiliza para detectar errores.

    3 byte: dato digital capturado en la entrada.

    4 byte-7byte: informacin de los canales analgicos de entrada (4 canales).

    8 byte: este byte lo genera el transmisor a partir de la informacin enviada en el paquete y se vuelve a generar en el receptor con los datos recibidos. En el caso de que existan discrepancias se ha producido un error durante la comunicacin. El master reconoce la situacin y realiza otro intento de encuesta sobre la misma estacin.

    9 byte: seala el fin de trama.

    El proceso de comunicacin se realiza con la configuracin de maestro-esclavo mediante una encuesta (pooling) secuencial de todas las estaciones que forman la red. Puede seguirse este esquema:

    1 Inicialmente se considera que todas las estaciones (esclavas) se sitan en modo de recepcin.

    2 El PC pone su lnea RTS a nivel bajo para iniciar una transmisin sobre el bus

    3 Se transmite la trama de encuesta del master.

    4 El PC pone la lnea RTS a nivel alto situndose en modo de recepcin.

    5 La estacin que reconozca la trama (solo una tiene una direccin igual a la enviada en la trama) sita su salida de control de transmisin/recepcin a nivel alto para transmitir sobre el bus.

    6 La estacin esclava pone su trama sobre el bus.

    7 La estacin pone su lnea de control de transmisin a nivel bajo.

    8 El PC cheque la trama recibida y comprueba que no se produjeron errores.

  • 8

    9 Si no hay errores procede con la siguiente estacin del bus. Si hay errores repite el envo y seala la condicin de error en el display.

    En la figura E4.7 se muestra las seales de control del flujo de datos. Como vemos esta labor se encomienda a la seal RTS del puerto serie. Una vez que se habilita la transmisin se enva la trama de encuesta. Antes de que la estacin esclava responda activando la salida RC5 del microcontrolador existe un tiempo crtico que debe esperar para que la lnea RTS ponga al maestro en estado de recepcin.

    RTS

    TXD

    PCMAESTRO

    Transmisin habilitada

    Trama de encuesta

    Habiltacin detransmisin/recepcin

    RC5

    TXD

    Tiempocrtico

    Estacinesclava

    Figura E4.7 Cronograma de control de flujo de datos a travs de RTS.

  • 9

    Ampliaciones.

    El sistema puede aislarse elctricamente para obtener mayor inmunidad al ruido utilizando (ver hojas de datos de MAX253 y MAX1480). Tambin puede utilizarse un MODEM y situar el PC maestro a gran distancia. En caso de necesidad puede realizarse un enlace full-duplex (figura E4.8) y si es necesario ampliar la distancia puede utilizarse repetidores (figura E4.9).

    Tambin puede enviarse comandos para hacer ms flexibles las operaciones sobre el bus y estar ms adaptado a cambios (comando leer entrada, comando activar salidas, etc). En esta aplicacin no se considera la comunicacin entre estaciones aspecto que poda resolverse fcilmente actuando siempre el master como intermediario entre esta comunicacin. Tambin pueden implementarse prioridades realizando encuestas ms frecuentes sobre determinados nodos.

    RE

    RE RE

    RE

    Figura E4.8 Configuracin de red RS-485 en full-duplex.

    Figura E4.9 Repetidor para regenerar la seal y aumentar la distancia de conexin.