Você está na página 1de 9

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.


1

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
2

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 RS422); 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

RO

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


200mV, RO =L.

*RE

Receiver Output Enable (habilitacin de la salida del receptor) RO se habilita


cuando *RE =L. RO se pone en alta impedancia cuando *RE =H.

DE

Driver Output Enable (habilitacin 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 lnea si DE=L funciona como lneas
receptoras si *RE=0.

DI

Driver Input (entrada del driver). Si DI=L entonces A=L y B=H.


Si DI=H entonces A=H y B=L

GND

Masa

Entrada de recepcin no-inversora y salida de emisin no-inversora

Entrada de recepcin inversora y salida de emisin inversora

Vcc

Alimentacin 4,75<Vcc<5,25

Tabla E4.1 Descripcin de las patillas del MAX487 (MAXIM).

El MAX1487 alcanza los 2.5Mbps y tambin hay versiones full-duplex (MAX488), consultar hoja de caractersticas
en el CD.

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.

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.

DB4
DB5
DB6
DB7
MCLR

SH / LD

RE

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
digital

11110000

8 bits

8 bits

salida

Dato de mensaje

Byte
de
chequeo
(CheckSum)

Byte de fin
de trama

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 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.
7

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.
PC
MAESTRO

Habiltacin de
transmisin/recepcin

RTS
Transmisin habilitada

TXD

Trama de encuesta

Estacin
esclava

RC5

TXD

Tiempo
crtico

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

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.

Você também pode gostar