Sei sulla pagina 1di 9

EJEMPLO 4

BUS DE SENSORES BASADO EN RS-485


Juan Carlos Álvarez Antón

Se propone diseñar un sistema universal de monitorización y actuación remota con las siguientes
características generales:
- El sistema debe permitir la monitorización y la actuación en un mínimo de 40 puntos de
medida (estaciones) distribuidos a lo largo de una distancia máxima de 800m (figura E4.1).
- En cada punto de medida se toman 4 temperaturas, se capturan 4 entradas digitales y se
actúa (salidas) sobre 4 dispositivos de control digital. Se considera que las señales
analógicas a capturar están acondicionadas al margen de 0-5V y las entradas y salidas
digitales presentan niveles TTL.
- La información obtenida de cada punto de medida debe analizarse y registrarse de forma
permanente para su posterior consideración.
- No se manejan procesos críticos en tiempo (se considera aceptable ciclos de monitorización
y actuación 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 añadir con facilidad nuevos
puntos de medida.

Figura E4.1 Sistema de monitorización/actuación.

1
SOLUCIÓN:
Por el número tan elevado de puntos de medida y su gran dispersión puede plantearse el diseño de
un bus para la conexión de todas las estaciones por razones de coste de cableado y funcionalidad.
Para el enlace de todas las estaciones puede utilizarse una topología en bus, mutipunto basada en el
interfaz RS-485 en formato half-duplex (ver lección 30). Este enlace proporciona una considerable
inmunidad al ruido (las señales se transmiten en modo diferencial) es simple de implantar y
económico. 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 transmisión considerables
(10Mb/s). La longitud del bus puede incluso incrementarse mediante repetidores si fuese necesario.
En cuanto al número 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 opción más sencilla para la captura y actuación propuesta y a la vez
para dotar a cada estación de la inteligencia necesaria para realizar la comunicación sobre el bus es
utilizar un microcontrolador (ver lección 31). Estos dispositivos proporcionan de forma autónoma
la capacidad de monitorización y actuación que se propone. Además, disponen de recursos para la
transmisión y recepción de información que simplifica la sincronización en el envío de datos
(UART serie asíncrona). También pueden controlar de forma muy sencilla un display (por ejemplo
un LCD) para la visualización local de mensajes.
El problema de adoptar una topología en bus es que debemos de administrar cómo se realiza el
acceso al medio ya que las líneas van a ser compartidas por los distintos nodos de la red. La forma
más sencilla de controlar el acceso al medio es mediante un esquema del tipo maestro-esclavo con
una encuesta cíclica (pooling cíclico) por parte de una estación maestra (ver lección 30). Una
simplificación que aporta mucha potencia y gran flexibilidad es considerar un PC como estación
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 información correspondiente de cada una
de ellas. Además el hecho de utilizar un PC como estación maestra permite el registro y la
visualización de datos cómodamente. La figura E4.2 se muestra la estructura general de la red
propuesta.

Figura E4.2 Estructura de la red de estaciones.

La comunicación se establece de forma simplificada del siguiente modo: todas las estaciones
(esclavos) se configuran inicialmente para recibir datos y el PC, que actúa de maestro, inicia la
comunicación emitiendo un mensaje sobre la red. El mensaje consiste en una trama de encuesta
(paquete de bytes), que contiene la dirección de la estación a quien va destinado el mensaje, y los
datos, que consisten en la configuración de las salidas: salida digitales más datos para el display. A
continuación el PC se pone en modo de recepción esperando la respuesta de la estación
correspondiente. Aunque todas las estaciones reciben el mensaje cada una posee una dirección
única dentro de la red de forma que solo responderá aquella estación cuya dirección 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 estación (analógicos y digitales). La estación maestra (PC) recibe el mensaje y a
2
continuación vuelve a enviar por la red otro mensaje pero con la dirección y datos correspondientes
a la siguiente estación en la red y así hasta que se recorran todas las estaciones.

Implementación hardware.

Configuración del bus


Para implementar el bus RS-485 es necesario acoplar las estaciones de medida y el propio PC a las
características eléctricas 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 transmisión de hasta 250kbps1 (la UART de un PC típico
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 características
completa aquí se proporciona una indicación de la función de las patillas de este driver (tabla E4.1).

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


Pin Nombre Función
1 RO Receiver Output (salida del receptor) Si A>B en 200mV, RO =H ; Si A<B en
200mV, RO =L.
2 *RE Receiver Output Enable (habilitación de la salida del receptor) RO se habilita
cuando *RE =L. RO se pone en alta impedancia cuando *RE =H.
3 DE Driver Output Enable (habilitación del driver de salida) las salidas del driver A y
B se habilitan poniendo DE =H y pasan a estado de alta impedancia si DE =L. Si
DE=H el circuito funciona como driver de línea si DE=L funciona como líneas
receptoras si *RE=0.
4 DI Driver Input (entrada del driver). Si DI=L entonces A=L y B=H.
Si DI=H entonces A=H y B=L
5 GND Masa
6 A Entrada de recepción no-inversora y salida de emisión no-inversora
7 B Entrada de recepción inversora y salida de emisión inversora
8 Vcc Alimentación 4,75<Vcc<5,25

Tabla E4.1 Descripción de las patillas del MAX487 (MAXIM).

1
El MAX1487 alcanza los 2.5Mbps y también hay versiones full-duplex (MAX488), consultar hoja de características
en el CD.

3
Las distintas estaciones se conectarían 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 línea (120Ω). También puede ser conveniente, para aumentar la inmunidad a ruidos, forzar el
estado de la línea 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 línea se vea afectada por
ruidos que activarán los receptores y causarán graves problemas en las comunicaciones.

Figura E4.4 (a) Configuración de la topología en bus RS-485; (b) circuito para evitar ruidos en las
líneas.

Estación PC: Convertidor RS-232/RS-485


Como el PC va realizar las funciones de maestro del bus debemos plantearnos cómo se conectará al
bus RS-485. Una forma sencilla consiste en aprovechar su puerto serie RS-232. Esta elección
simplifica la comunicación desde el punto de vista de la sincronización ya que los
microcontroladores también 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.

4
La resistencia de 120Ω entre las líneas del bus actúa de terminador y debe situarse en las estaciones
de los extremos del bus para reducir las reflexiones de señal 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 señal RTS del circuito RS-232 para controlar el estado del conversor. La
forma en que actúa esta señal 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 línea del puerto serie del PC, RTS se conecta al pin 3/2
del MAX487 para controlar por software la transmisión/recepción 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 corazón 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
dirección 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 información de este registro y asigna a la estación la
dirección especificada con estos microinterruptores. Es importante garantizar que no existan dos
estaciones en la red con la misma dirección, ya que, en ese caso el sistema fallará pues no existe
ningún mecanismo para comprobar que el medio está ocupado y las dos estaciones intentarán emitir
al bus. La captura de señales analógicas se realiza a través 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 más corriente.

5
DB4
DB5
DB6
DB7
MCLR

SH / LD

RE

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

Configuración del Software


El software ocupa un lugar destacado ya que debe implementarse el protocolo de comunicación
entre los elementos de la red. El formato de la dirección y el mensaje son también 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 más sencillo. Aunque el
mecanismo de comunicación considerado aquí corresponde al tipo de maestro único, algo rígido,
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 estación que en ese momento está
direccionando.
El formato de trama que entrega el master, puede adoptar esta estructura:
Byte de inicio de Dirección de la Dato de salida Dato de mensaje Byte de Byte de fin
trama estación destino digital chequeo de trama
(CheckSum)
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.
6
2º byte: especifica la dirección de la estación destino (se limita a 128 así que puede ignorarse el bit
más significativo)
3º byte: dato digital que se desea situar en el puerto de salida de la estación 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 tamaño y excesivamente largas.
5º byte: este byte se genera a partir de la información 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 comunicación, la estación esclava envía una respuesta
con el 2º byte (dirección de la estación que responde) a cero. El master reconoce la situación y
realiza otro intento sobre la misma estación.
6º byte: señala el fin de trama.
La trama que entregan los esclavos es:
Byte de inicio Dirección de la Dato de entrada Dato entrada del Byte de Byte de fin
de trama estación que digital canal analógico chequeo de trama
responde #1 (#2,#3,#4) (CheckSum)
11110000 8 bits 8 bits 32 bits 8 bits 10101010

Tabla E4.3 Formato de mensaje de la estación esclava


y los campos tienen este significado:
1º byte: el primer byte indica el inicio de trama
2º byte: especifica la dirección de la estación que responde; se utiliza para detectar errores.
3º byte: dato digital capturado en la entrada.
4º byte-7ºbyte: información de los canales analógicos de entrada (4 canales).
8º byte: este byte lo genera el transmisor a partir de la información 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 comunicación. El master reconoce la situación y realiza otro
intento de encuesta sobre la misma estación.
9º byte: señala el fin de trama.
El proceso de comunicación se realiza con la configuración 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 sitúan en modo de recepción.
2º El PC pone su línea RTS a nivel bajo para iniciar una transmisión sobre el bus
3º Se transmite la trama de encuesta del master.
4º El PC pone la línea RTS a nivel alto situándose en modo de recepción.
5º La estación que reconozca la trama (solo una tiene una dirección igual a la enviada en la trama)
sitúa su salida de control de transmisión/recepción a nivel alto para transmitir sobre el bus.
6º La estación esclava pone su trama sobre el bus.
7º La estación pone su línea de control de transmisión a nivel bajo.
8º El PC cheque la trama recibida y comprueba que no se produjeron errores.

7
9º Si no hay errores procede con la siguiente estación del bus. Si hay errores repite el envío y señala
la condición de error en el display.
En la figura E4.7 se muestra las señales de control del flujo de datos. Como vemos esta labor se
encomienda a la señal RTS del puerto serie. Una vez que se habilita la transmisión se envía la trama
de encuesta. Antes de que la estación esclava responda activando la salida RC5 del
microcontrolador existe un tiempo crítico que debe esperar para que la línea RTS ponga al maestro
en estado de recepción.
PC
MAESTRO

Habiltación de
transmisión/recepción

RTS
Transmisión habilitada

TXD

Trama de encuesta

Estación
esclava

RC5

TXD

Tiempo
crítico

Figura E4.7 Cronograma de control de flujo de datos a través de RTS.

8
Ampliaciones.
El sistema puede aislarse eléctricamente para obtener mayor inmunidad al ruido utilizando (ver
hojas de datos de MAX253 y MAX1480). También 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).
También puede enviarse comandos para hacer más flexibles las operaciones sobre el bus y estar
más adaptado a cambios (comando leer entrada, comando activar salidas, etc). En esta aplicación no
se considera la comunicación entre estaciones aspecto que podía resolverse fácilmente actuando
siempre el master como intermediario entre esta comunicación. También pueden implementarse
prioridades realizando encuestas más frecuentes sobre determinados nodos.

RE

RE

RE RE

Figura E4.8 Configuración de red RS-485 en full-duplex.

Figura E4.9 Repetidor para regenerar la señal y aumentar la distancia de conexión.

Potrebbero piacerti anche