393
1 i- F® ® ■■ t 1 ' .‘.■■ ;. íJ ,..■ . 1 / ! 6 )) i 1 f• •■ .• '? c , ^ fji'ii c;^ l. i 1 . ; ( ■ ' 1 -:i O 4 } c: L H ) i.bá r . »*' '' 1 * r ' ' jy t t ' e ) ( IV V'J 1 ■ 1. 1 1 .. f -.j . i ;/,i 1 v>l U' f r ' o ¿djc/' ifvr^niQ'TCi-A^ l'h ■ . ; 'aiip-iiS \:>.js‘%,^-' L ii ^3 a - j i ' ' i r s / t f a s í i C i ’Vitf Ti 1 , T i W '-'W .-f t Lo,jrTl.'-..K< L i fW'iii» ¡ f " A !i ü «> u¿ ' K -t i « h’-'’-^?: . T i? :;■ •■ Í?«9!tó3» 2^ {-v"* l. ?5 \T tí ‘il'í S í « » t 1 - 'v* /C> .;'’-'' l- 'j ía^i.lEIi» D i V q ^ lateat; ^ IFM S iS fiM A ^ñOU'úUm si^ fe w w i;j i.\-m¡;H'í!r\í'M>E^ t.mtvíOi'j; F O M O tL J ü

^ IFM S iS fiM A ^ñOU'úUm - Repositorio Comillas

Embed Size (px)

Citation preview

1i- F® ® ■ ■

t

1■ ' .‘.■■;. íJ ,..■.

1/

! 6 ))i

1

f • •■.•'?c

, ^fji'iic;^

l.

i

1 . ; ( ■' 1 jí

-:iO

4

} c :L

H )

i.bár . »* ' ' ' 1* r ' ' j y

tt ' e)(IV ■V'J

1 ■ 1.1 1 ■ ..f -.j.i;/, i1 v>l

U 'fr ' o¿djc/'

ifv r^ n iQ 'T C i-A ^l ' h ■ . • ; ' a i i p - i i S \ : > .j s ‘ %,^-' L ii ^3 a - j i ' ' lí i r s / t f a s í i C i ’Vitf

Ti 1, Ti W'-'W.-f t Lo,jrTl.'-..K< L i fW'iii»

¡ f " A !iü «> u¿' K-t i «

h’-'’-?: . T i? :;■ •■ Í?«9!tó3» ■ 2 {-v"* ‘ l. ?5 \T tí ‘il'í Sí« » t 1 ■-'v* /C>.;'’-'' l-'j í a i.lEIi» Di Vq l a t e a t;

IFM S iS f iM A ^ñO U 'úU msi fe w w i;j

i.\-m ¡;H 'í!r\í'M >E^

t.mtvíOi'j; F O M O tL J ü

El presente documento contiene los siguientes documentos:

N°hojas

DOCUMENTO N»1

M em oria ..................................................................................................113

Cálculos ..................................................................................................... 2

Estudio Económico..................................................................................... 2

Anejo I ...................................................................................................... 45

Anejo II ................................................................................................... 41

Anejo I I I ................................................................................................... 30

Anejo I V ................................................................................................... 98

DOCUMENTO N”2

Lista de planos ...........................................................................................1

Planos........................................................................................................... 1

DOCUMENTO N»3

Pliego condiciones Generales y Económicas............................................ 6

Pliego de condiciones Técnicas y Particulares..........................................9

DOCUMENTO N»4

Mediciones.................................................................................................. 4

Precios unitarios ........................................................................................4

Presupuestos parciales..............................................................................16

Presupuesto G enera l...................................................................................1

MEMORIA

ME MO R I A

DOCUMENTO N»l: MEMORIA

Este documento consta de las siguientes partes:

l.l.l.TITULO DEL PROYECTO.................................................................1-1

1.1.2.INTRODUCCION .................................................................................1-1

1.1.3.COMUNICACIONES S E R IE ..............................................................2-1

1.1.3.1. Introducción................................................................................ 2-2

1.1.3.2. Comunicaciones asincronas.......................................................2-5

1.1.3.3. Transmisión de código ASCII.................................................2-6

1.1.3.4. Nomenclatura serie..................................................................... 2-7

1.1.3.5. Errores y su detección............................................................. 2-9

1.1.3.6. E1 estándar RS-232C............................................................. 2-15

1 . 1 . 3 .6 . 1 . D e s c r i p c i ó n m e c á n i c a d e l o s

circuitos.......................................................................... 2-16

1 . 1 . 3 . 6 . 2 . D e s c r i p c i ó n f u n c i o n a l de l o s

circuitos.......................................................................... 2-21

1.1.3.6.3.Características eléctricas de la

señal................................................................................ 2-26

MEMORIA DESCRIPTIVA 1

1 . 1 . 3 . 6 . 4 . C a r a c t e r i s t i c a s m e c á n i c a s y

eléctricas......................................................................... 2-30

1.1.3,T.Circuitos eléctricos 'balanceados’ y ’no

balanceados’................................................................... 2-32

1.1.3.8.Resumen de las principales n o rm as...................................... 2-35

1.1.3.8.1. Transmisión de datos

a un h i lo ............................................................2-36

1.1.3.8.2. Transmisión de datos

diferencial......................................................... 2-41

1.1.4. EL ESTANDAR RS-485..................................................................... 3-1

1.1.4.1. Introducción................................................................................ 3-2

1.1.4.2. ¿Por qué la norma RS-485?.....................................................3-3

1.1.4.3. El estándar RS-485. Características........................................ 3-9

1.1.4.3.1. Características en alterna........................................3-12

1.1.4.3.2. Consideraciones de diseño........................................ 3-17

1.1.5. CENTRALES BmiRECCIONALES. LA PLACA XCRS.............. 4-1

1 . 1 . 5 . 1 . I n t r o d u c c i ó n a l a s c e n t r a l e s

bidireccionales.................................................................. 4-2

1.1.5.2.La placa XCRS de NUTRONICA.............................................4-9

1.1.5.2.1.Comandos de la central ......................................... 4-12

MEMORIA DESCRIPTIVA 2

1.1.6. DISEÑO DEL INTERFACE..............................................................5-1

1.1.6.1. Introducción.............................................................................. 5-2

1.1.6.2. El convertidor RS232/485 de Vidmar

C on tro l........................................................................... 5-5

1.1.6.3. El convertidor RS232/485 para

NUTRONICA.................................................................5-6

1.1.6.3.1. Descripción de los integrados................................ 5-6

1.1.6.3.1.1. El circuito LT1080 .............................. 5-6

1.1.6.3.1.2. E1 circuito DS75176BN...........................5-8

1.1.6.3.1.3. ReguladorLM78L05 ..............................5-9

1.1.6.3.2. Descripción del funcionamiento .........................5-10

1.1.7. FUNCIONAMIENTO DEL SOFTWARE........................................ 6-1

1.1.7.1. Introducción..............................................................................6-2

1.1.7.2. La rutina X m ain.C .................................................................6-2

1.1.7.3. La rutina Soft3.C ................................................................... 6-2

1.1.7.4. La rutina X presen.C ..............................................................6-3

1.1.7.5. La rutina Pull.C ......................................................................6-3

1.1.7.6. La rutina Xmodif.C ..............................................................6-3

1.1.7.7. La rutina In h ib ir l.C ..............................................................6-4

1.1.7.8. La rutina Inhibir2. C .................................................................6-4

MEMORIA DESCRIPTIVA 3

1.1.7.9. La rutina Xfich.C ................................................................... 6-4

1.1.7.10. La rutina Reco3.C ..............................................................6-5

1.1.7.11 .La rutina R ecocom l.C ........................................................... 6-5

1.1.7.12. La rutina R ecocom l.C ........................................................ 6-6

1.1.7.13. La rutina RecocomS.C.........................................................6-6

1.1.7.14. La rutina Sirena2.C..............................................................6-6

1.2. CALCULOS ........................................................................................... 7-1

1.3. ESTUDIO ECONOMICO......................................................................8-1

ANEJO I. MANUAL DEL USUARIO.

ANEJO n.CmCUITOS UTILIZADOS.

ANEJO m.INEORMACION EMPLEADA.

ANEJO IV.LISTADOS DE PROGRAMAS.

MEMORIA DESCRIPTIVA 4

INTRODUCCION

MEMORIA DESCRIPTIVA

l.l.l.TITULO DEL PROYECTO

El título del proyecto que se desarrolla es el siguiente:

DISEÑO DEL SISTEMA DE CONTROL Y DE GESTION PARA UN

SISTEMA MODULAR DE ADQUISICION DE DATOS.

1.1.2.INTRODUCCION

El objetivo primordial de este proyecto es el de desarrollar un sistema que

permita ampliar la operativilidad de los módulos de adquisición de datos de los

que se dispone, como base de este trabajo. Para ello hubo de desarrollarse tanto

un sistema de conexión entre los módulos preexistentes, como el software

encargado de gestionar todo el sistema.

El punto de partida fué, como hemos dicho, las tarjetas de adquisición de

señales, empleadas usualmente como centralitas de alarma, pero que debido a su

configuración basada en microprocesador pueden ampliar fácilmente su ámbito de

actuación. Cada una de las centrales, que serán estudiadas con más detalle más

MEMORIA DESCRIPTIVA 1-1

INTRODUCCION

adelante, consta de los siguientes elementos :

* Microcontrolador R65C22 (1® versión de la placa).

* Microcontrolador 8051 (2^ versión de la placa).

* Memoria ROM, donde reside el programa.

* Memoria EEPROM donde reside la configuración del sistema.

* 16 entradas digitales.

* 4 salidas de relé

* Conectar para disponer de hasta 32 salidas de relé si se utilizan las

placas de expansión del sistema.

* Fuente de alimentación + 5V y ± 12V, con salida al exterior.

* Salida a línea serie con modem incorporado en la tarjeta.

* Salida serie RS-232C, configurable entre 300 y 9600 baudios.

* Display LCD de 2x40.

* Teclado de 12 teclas para configuración.

La centralita dispone de diversos modos de funcionamiento ( día, noche,

test y reposición ), así como una gran versatilidad para su configuración a través

de las dos conexiones serie con el exterior de las que dispone. Utilizando una de

estas salidas, en concreto la RS-232C, es como se unieron las centrales entre sí.

Para la intercomunicación se empleó el juego de instrucciones con que contaban

los módulos, que permiten acceder y modificar el estado y modo de

MEMORIA DESCRIPTIVA 1-2

INTRODUCCION

funcionamiento de cada uno de ellos.

Para el control de estas tarjetas, requerimos de una unidad que lo

eentralizase; en un principio se pensó en realizar un diseño apoyándose en el

hardware y el software del que se partía inicialmente. Esta opción contaba con la

ventaja de que la mayor parte del protocolo de comunicación estaba ya codificado

en ensamblador y para todo el proceso de diseño y montaje de la unidad central

del sistema se podia utilizar lo ya realizado. Las desventajas de esta opción son

principalmente que su relación coste/versatilidad ya que no resultaba interesante

si lo comparamos con un control utilizando PC de bajo coste, esto es, no

necesitamos grandes capacidades de almacenamiento, ni de memoria, ni gran

resolición gráfiea. Por tanto se decidió implementar la unidad central con un PC

bajo entorno DOS, y empleando el puerto serie (COM 1) como medio de enlace

con la red de tarjetas de adquisición de datos.

MEMORIA DESCRIPTIVA 1-3

INTRODUCCION

Para la configuración de una red como la de la figura superior, la salida

RS-232C de la que disponemos no era válida, entre otras razones porque el

standard RS-232C establece comunicaciones entre un solo emisor y receptor. Se

trató, por tanto, de elegir una norma de las existentes en el mercado que se pueda

adaptar a nuestras necesidades de utilización. Estas necesidades implicaban, al

menos en esta primera fase :

* Longitudes del orden de los cientos de metros en la linea, ya que el

objetivo es distribuir las placas a través de las distintas plantas de un edificio o

una configuración similar.

* Velocidades entre 300 y 9600 baudios, que son las velocidades con las

que nos permiten trabajar las centrales.

* Posibilidad de conectar más de un receptor y/o emisor a la linea.

De entre todas las normas existentes en el mercado como la RS-422A, RS-

423A, RS-449,RS-485,etc; se eligió la RS-485 por ser la que mejor se adaptaba

a los requisitos antes mencionados. Más adelante se incluye un estudio detallado

de las normas existentes y de las características específicas de cada una de ellas.

MEMORIA DESCRIPTIVA 1-4

INTRODUCCION

En cuanto a la RS-485 sus características principales son:

* Distancias hasta los 4000 pies (1200 aproximadamente).

* Velocidad hasta lOMb/s.

* Permite conectar hasta 32 receptores y/o emisores en la línea, por tanto

permite establecer una red multipunto que satisface nuestras necesidades

ampliamente.

El protocolo RS-485 nos define una topología de la red en bus, tal y como

indica la figura 1. A esta configuración, en la que todos los elementos de la red

pueden actuar como emisores o receptores , ’transreceivers’, se la conoce como

red multipunto.

El objetivo final del proyecto es que desde el PC se pueda gobernar todo

el sistema en una aplicación de alarmas, típica para un edificio. La configuración

típica de este sistema una vez montado sería el situar una central de alarmas,

completamente operativa por si misma, en cada uno de los pisos del edificio;

todas estas centrales irían unidas a través de la red multipunto basada en el

estandard RS-485 a un PC que podría estar situado en la entrada del edificio, en

el recinto de los empleados de la seguridad o en cualquier otro punto del mismo.

Desde el puesto central (PC) se debe poder configurar todas y cada una de las

MEMORIA DESCRIPTIVA 1-5

INTRODUCCION

entradas y salidas de las diversas centrales, y una vez hecho esto que sea el

propio PC el que actúe como controlador de la red. El proceso utilizado se basa

en el concepto del poUing, esto es, el PC preguntará a cada una de las placas el

estado de sus entradas y sus salidas de forma secuencial, ante las respuestas de

las placas y en función de lo que corresponda a dicha respuesta y según la

configuración inicial que hayamos realizado, el PC enviará las instrucciones

necesarias a cada una de ellas.

El proyecto incluye también el diseño del interface entre la norma RS-

232C y la RS-485, con un montaje rapiñado para comprobar el funcionamiento

del sistema. No se descarta la posibilidad de realizar un circuito impreso para el

montaje del interface, y así se ha considerado en el presupuesto, teniendo en

cuenta los costes que ello conlleva.

Para el desarrollo del proyecto se ha hecho necesario; además de estudiar

en profusión el lenguaje ’C’ de programación, incluyendo las funciones de

ventanas con las que se ha diseñado el programa de manejo sobre PC, conocer los

siguientes puntos, que serán desarrollados a continuación en esta memoria :

* Comunicaciones serie.

* Configuración y funcionamiento de las tarjetas de adquisición de datos

utilizadas.

MEMORIA DESCRIPTIVA 1-6

INTRODUCCION

* Estudio del hardware necesario para la realización del interface RS-

232/RS-485.

* Características de la norma RS-485.

* Diseño del interface RS-232/RS-485.

* Apuntes sobre el funcionamiento de las subrutinas.

MEMORIA DESCRIPTIVA 1-7

COMUNTCACTONES SERTE

COMUNICACIONES SERIE

1.1.3.COMTJNICACIONES SERIE

!♦ 1.3.1. Introducción

Como ya hemos dicho la base de nuestro desarrollo se centra en las

comunicaciones serie utilizando las salidas serie tanto del PC como de las

centrales, es por tanto necesario conocer las interioridades del método de

transmisión a utilizar. Su importancia no solo estriba en la realización a nivel

físico del proyecto, sino que la misma filosofía sobre la que se sustenta todo el

desarrollo del mismo se basa en la forma en que se realiza la conexión.

No podemos realizar una referencia a las comunicaciones serie, sin

comentar los conocidos siete niveles de la arquitectura OSI. Para interconectar los

diversos tipos de equipos digitales suministrados por diversas empresas, o para

conectar distintos elementos en un proceso distribuido, se crean los estándares

internacionales. Precisamente dentro de este proyecto uno de los primeros pasos

consistió en la búsqueda del estándar que mejor cumpliese las especificaciones.

La International Organization for Standarization (ISO), es una asociación para

la estandarización a la que se pueden asociar los comités nacionales; y el Comité

Consultivo para Telefonía y Telegrafía Internacional (CCITT) definen una

MEMORIA DESCRIPTIVA 2-2

COMUNICACIONES SERIE

jerarquía de los procedimientos necesarios para la interconexión de computadoras,

computadoras con terminales y terminales entre si. Estos estándares definen una

serie de convenciones referentes al formato y la temporización de los mensajes,

lo que normalmente se conoce como protocolo, para hacer posible la

comunicación entre terminales y redes.

En estos estándares, las conexiones físicas y eléctricas se definen entre un

Terminal de Datos (DTE) y un Terminal de Comnnicaciones (DCE). El DTE

comprende la fuente de los datos o el receptor de ellos, aunque normalmente

cumple las dos funciones. También suele utilizarse como lógica de control y para

almacenamiento de información. Ejemplos de DTE son los terminales y los

ordenadores. Por su parte el DCE dispone de las funciones de establecer,

mantener y finalizar la conexión, y de codificar/decodificar las señales entre el

DTE y el canal de transmisión. Ejemplos de DCE son los módems, los drivers,

etc.

El modelo desarrollado por ISO para estandarizar los procesos de

intercambio de información entre computadoras o redes, está configurado por

siete niveles y recibe el nombre de Open System Interconnections (OSI).

Aunque aún deben desarrollarse mucho los niveles más altos de OSI, este modelo

está ganando aceptación. Debe tenerse en cuenta que el método interno para

MEMORIA DESCRIPTIVA 2-3

COMUNICACIONES SERIE

adaptarse al modelo OSI no es estándar, y solo lo es el protocolo de

comunicaciones. La esencia del modelo de los niveles es que cada nivel utiliza

servicios generados por los niveles inferiores adyacentes, y añade nuevas

funciones. Los niveles OSI son:

1. Nivel Físico: Se refiere a los interfaces físicos que se utilizan, como EIA RS-

232, CCITT V.24, etc.

2. Nivel de Datos: Conecta y desconecta la línea, controla el flujo de datos entre

generador y receptor, detecta errores en la cadena de bits en la transmisión;

ejemplos son el High Level Data Llnk Control (HDLC), o la norma de acceso

X.25.

3. Nivel de Red: El control de red, incluye los procedimientos para estabilizar y

desconectar un circuito virtual y para controlar el flujo de paquetes de datos en

una red de conmutación de paquetes. En este tipo de redes el nivel físico (nivel

1), se ajusta dinámicamente. Los datos digitales son enviados en pequeños

paquetes y direccionados a través del sistema vía módems y líneas de

interconexión. Actualmente, la mayoría de los sistemas de comunicación usan

todavia un circuito físico que es asignado o bien permanentemente( líneas privadas

o alquiladas) o bien por la duración de la llamada (RTC). Un ejemplo es el nivel

de paquetes en la X.25.

4. Nivel de transporte: Confirmación de la conexión entre los puntos.

5. Nivel de Sesión.

MEMORIA DESCRIPTIVA 2-4

COMUNICACIONES SERIE

6.NiveI de Presentación: Conversión de códigos

V.Nivel de Aplicación.

1.1.3.2.Comunicaciones asincronas

Las comunicaciones asincronas se apoyan estrechamente en el concepto del

sincronismo: los caracteres llegan al receptor de forma asincrona, pero la

recepción de bits individuales de cada carácter está sincronizada a través del bit

de START. Por tanto es discutible la elección de la palabra asincrona para

describir este método de transmisión. De hecho las diferencias fundamentales

entre las comunicaciones asincronas y sincronas son cuantitativas, no cualitativas;

las primeras requieren un bit de sincronismo con cada carácter, mientras que las

segundas lo necesitan con mucha menor frecuencia.

Esta nomenclatura, tiende a oscurecer las diferencias entre los dos métodos

de comunicaciones serie. Cuando la eficiencia es el parametro de máxima

importancia, y los datos han de suministrarse de forma continua, con los tiempos

controlados de forma continua, la comunicación síncrona resulta mucho más

potente que la asincrona. La adición de un bit de START y otro de STOP a cada

cadena de 8 bits implica una sobrecarga de transmisión de una quinta parte, es

decir un 20% de lo transmitido no contiene datos. De todos modos la adición del

MEMORIA DESCRIPTIVA 2-5

COMUNICACIONES SERIE

bit de START se utiliza como bit de sincronizaeión justamente antes de cada

carácter, y el bit de STOP que identifica el último bit de datos confieren al

proceso de la comunicación una mayor seguridad, imposible de conseguir de otra

forma. Dentro del funcionamiento de la línea se distinguen también dos estados,

que se conocen como estado de reposo, idle State, o estado de MARK (MARCA),

que corresponde a un 1 lógico en la línea de comunicaciones; y el estado de

SPACE, que se reconoce como un cero lógico. Las razones para esta convención

son históricas en parte (telégrafo, Morse), pero también se deben a los

dispositivos electromecánicos que funcionan a base de contactos (relés, por

ejemplo).

1.1.3.3.Transmisión de códiao ASCII

La mayoría de los equipos informáticos utilizan como unidad de trabajo

el byte, por lo que resulta evidente la gestión de datos en formato de ocho bits.

Aunque el ASCII y el alfabeto CCITT V.3 son códigos de 7 bits, rara vez se

transmiten es¡n este formato. En su lugar, se emplea el octavo bit como bit de

paridad para comprobación de errores(vease apartado 1.1.3.5), haciendo que el

codigo ASCII en la práctica tenga las ocho unidades. Además del formato 7 bits

más uno de paridad, una gran cantidad de datos están en formato binario ( no

texto), en formato binario todos los bits son representativos en sí mismos y tienen

MEMORIA DESCRIPTIVA 2-6

COMUNICACIONES SERIE

el mismo valor, y deben ser incluidos en la trama de transmisión. En nuestro caso

la comunicación se basa en instrucciones ya codificadas, y el protocolo que está

implementado en las placas corresponde a un protocolo en ASCII. De todas

formas no se utiliza el bit de paridad en dicho protocolo.

1.1.3.4.Nomenclatura serie

A continuación se incluyen algunos términos extensamente utilizados en

la terminología de las comunicaciones serie para aclarar conceptos.

Velocidad en baudios

A menudo se confunden los términos baudio y bit por segundo, por lo que

resulta importante reseñar aquí las diferencias. La velocidad en baudios indica la

frecuencia a la que se transfieren los impulsos eléctricos por la línea. Se trata por

tanto de una unidad eléctrica de medida, y no de una unidad de información, y

no implica relación alguna entre las tensiones que aparecen en la línea y los datos

representados por las mismas.

Por otro lado, denominamos como velocidad de tranferencia de bits a la

velocidad de transferencia de información, y se expresa habitualmente en bits por

MEMORIA DESCRIPTIVA 2-7

COMUNICACIONES SERIE

segundo (bps). Por tanto la velocidad en baudios y la de bits por segundo solo

coinciden cuando se codifica un único bit de datos durante cada periodo de señal.

Si la distinción parece tonta, baste considerar el hecho de que un módem de 1200

y 2400 bps trabaja a una única velocidad de 600 baudios, pero se las apaña para

codificar 2 o 4 bits por cada impulso eléctrico.

Como ejemplo de esto supongamos un proceso en el que la duración de

la señal es de 208.3 ¡is, por tanto en un segundo tendremos l/T=l/208.3xl0e-

6=4800 Baudios.

Para el mismo caso, si suponemos un código ASCII de 7 bits por carácter, con

un bit de START/STOP y un bit de paridad, cada dato necesita de 10 bits, por

tanto la tasa de información ahora es de 4800x7/10=3360 bps. Esos 1440 bps

perdidos se utilizan en control de errores y en sincronización.

Simplex

Comunicación en una sola dirección, con un dispositivo transmisor en un

extremo y un receptor en el otro; pero no viceversa. Un ejemplo sería el de una

emisora de radio.

Half-Duplex ó Semi-Duplex

MEMORIA DESCRIPTIVA 2-8

COMUNICACIONES SERIE

La comunicación es posible en ambas direcciones, pero no

simultáneamente.

FuU-Duplex

La comunicación puede darse simultáneamente en ambas direcciones.

Actualmente la mayor parte de las líneas de comunicación de doble vía son full-

duplex.

l«1.3.5.Errores v su detección

Los errores se producen por dos tipos de fallos diferentes en su naturaleza:

sucesos estáticos, cuyo comportamiento y existencia son conocidos de antemano,

y sucesos transitorios, que aparecen de forma aleatoria. Como ejemplo de los

primeros se pueden citar la distorsión de señal y las pérdidas por atenuación;

dentro de la segunda clase se encuentran por ejemplo las perturbaciones

electromagnéticas atmosféricas como los relámpagos, o las variaciones periódicas

de las manchas solares.

Los errores que proceden de sucesos estáticos resultan mucho más sencilos

MEMORIA DESCRIPTIVA 2-9

COMUNICACIONES SERIE

de manejar, porque sus efectos son predecibles de antemano. En la actualidad se

conocen con detalle el comportamiento de las señales de AC, por lo que se puede

predecir, prever y compensar los problemas producidos por prácticamente

cualquier entorno. Así, se compensa la atenuación a altas frecuencias con

amplificadores ecualizadores; las distorsiones se corrigen con cables de baja

capacidad o baja inductancia; el blindaje de los cables evita interferencias de radio

frecuencia; en resumen, si se conoce de antemano la posibilidad de un fenómeno

perturbador, se puede, casi con certeza, diseñar el sistema de forma que llegue

a resultar inofensivo. Con un cuidadoso análisis, planificación y diseño es posible

llegar a comunicar dos puntos cualesquiera. Esto constituye uno de los problemas

a los que nos debemos enfrentar en el desarrollo de nuestra red.

Por desgracia, las causas transitorias de errores no resultan tan fáciles de

tratar, aunque solo sea porque sus orígenes se conocen parcialmente, además

pueden surgir en cualquier momento, sin previo aviso. Sin embargo, la mayoría

de los errores transitorios están producidos por interferencias eléctricas o ruidos

en la línea de comunicaciones. Estas interferencias se derivan de fenómenos

atmosféricos, cargas estáticas locales, ruidos de conmutación o contactos sucios

en los posibles relés de los dispositivos de comunicaciones. Cuando la línea de

comunicaciones se basa el la red telefónica, surge una nueva categoría de

problemas en forma de ruidos, caidas de línea, diafónia, ecos y otros problemas

MEMORIA DESCRIPTIVA 2-10

COMUNICACIONES SERIE

semejantes.

El ruido más común, especialmente en líneas telefónicas, es el impulsivo

(burst noise); está compuesto por periodos de ruido disruptivo flanqueados por

otros periodos sin ruido alguno. Si bien es cierto que toda forma de comunicación

está sujeta a errores, en el caso de las comunicaciones serie el problema es

mayor; una comunicación de este tipo resulta más vulnerable que la paralela, ya

que la naturaleza de su transmisión bit a bit expone los datos a los caprichos de

la línea durante un lapso de tiempo mayor. Los ruidos impulsivos, incluso los

más minúsculos, generan inevitablemente errores en varios bits. Por ejemplo, un

impulso de 0.01 segundos en una comunicación de 1200 baudios contamina por

completo 12 bits; si la velocidad de transmisión fuese mayor, la zona afectada

aumentaría prporcionalmente; por ejemplo, 96 bits a 9600 baudios. Recordemos

que la comunicación asincrona con START/STOP resultan particularmente

vulnerable al ruido impulsivo.

Detección de errores

El aceptar una cierta tasa de errores en comunicaciones depende del

contenido y la importancia de los datos, la utilización final de los mismos y la

mayor o menor dificultad que comporta su corrección. Así, en un texto puro se

MEMORIA DESCRIPTIVA 2-11

COMUNICACIONES SERIE

puede aceptar a veces una tasa de error muy alta, ya que resulta comprensible al

usuario incluso cuando un 20% de los caracteres se ha perdido. En el extremo

contrario se sitúan las aplicaciones críticas, como las dedicadas a los sistemas de

lanzamiento y control de armas termonucleares, en donde no se puede tolerar ni

un solo error.

La corrección de errores constituye un tema completamente independiente

de su detección. Una vez más, la respuesta al error depende de su contenido,

importancia y existencia o no de una copia de los datos. En general, si se dispone

de la información, el método más directo para corregir errores es la simple

retrasmisión del dato. Por ejemplo, el receptor de un mensaje que contiene texto

provisional, como la copia de un periódico, puede solicitar sencillamente la

retrasmisión del mensaje, o bien de la porción del mismo en donde se localizó el

error. Sin embargo, en algunas ocasiones resulta imposible o poco práctica la

retransmisión; así, los datos en en tiempo real que transmite un instrumento de

registro remoto y su decodificador no pueden ser repetidos, porque no puede

repetirse el instante de tiempo en que se generaron. La retransmisión de

información entre la tierra y un vehículo interplanetario, aunque es posible

teóricamente, suele resultar impracticable porque el tiempo que tarda el mensaje

en alcanzar su destino es demasiado largo, con lo que la corrección del error

puede llegar tarde con toda probabilidad. En estas situaciones en que la

MEMORIA DESCRIPTIVA 2-12

COMUNICACIONES SERIE

retransmisión no resulta posible, debe existir no solamente un medio para detectar

los errores, sino también un método para corregirlos.

Redundancia

La mayoría de los esquemas de detección de errores se basa en mayor o

menor medida en la redundancia, es decir, una serie de bits adicionales que

representan de algún modo el contenido del mensaje. Los distintos métodos para

generar códigos de redundancia se diferencian entre sí en la cantidad y el detalle

con que representan cada mensaje, y en la complejidad del algoritmo de

codificación.

Incluimos, de los múltiples métodos que existen como paridad de bloques,

comprobaciones de redundancias cíclicas (CRC) con sus diversos modelos y

variaciones, solo el método de la paridad en caracteres.

Esta forma de detección deriva del concepto matemático de paridad, es

decir, la división de los enteros en pares e impares. Se genera un bit de paridad

forzando una regla arbitraria, en la que todos los caracteres tienen un número par

o impar de bits 1. Cuando se trabaja con paridad impar (ODD) durante la

transmisión ASCII, 0100001 se transforma, por ejemplo en 01000011 porque se

MEMORIA DESCRIPTIVA 2-13

COMUNICACIONES SERIE

necesita este último 1 para producir un número impar de unos en el byte; por el

contrario, en una estrategia de paridad par (EVEN) el byte quedarla como

01000010 para mentener un número par de unos.

El emisor se encarga, durante la transmisión, de calcular el bit de paridad,

y a continuación lo añade al carácter a enviar. Obsérvese que la paridad par se

obtiene mediante el Ex-OR de todos los bits de datos. En el receptor, se calcula

la paridad de los 7 bits de datos y se compara con el bit de paridad recibido: si

no coinciden, es señal de que ha surgido un error.

Las únicas posibilidades que permite el concepto de paridad, en sentido

estricto, son evidentemente par e impar; aún así, se aplican otras convenciones

para añadir un octavo bit a los datos.

NONE (Sin paridad) Bit sin utilizar.

MARK Bit de paridad 1 siempre.

SPACE Bit de paridad 0 siempre.

La paridad se sitúa en el nivel más bajo de redundancia, ya que trata de

descubrir errores en los caracteres individuales. Por otra parte, al tratarse de un

valor binario que se basa en una relación par-impar, su capacidad de detección

es muy baja; en concreto, la paridad puede detectar tan solo errores que afecten

MEMORIA DESCRIPTIVA 2-14

COMUNICACIONES SERIE

a un número impar de bits. Esta falta de sensibilidad a un rango tan amplio de

errores, hace que la paridad resulte generalmente ineficiente en comunicaciones

serie asincronas, en las que la mayoría de errores proceden de impulsos de la

línea en forma de ruidos. De hecho, considerando la tasa de fallos de este

sistema, lo que resulta extraordinario es que se use en absoluto, especialmente en

los ambientes hostiles de las telecomunicaciones, con una probabilidad de error

relativamente grande.

1.1.3.6.E1 estándar RS-232

Corresponde esta designación a uno de los estándares formales para

conexión de sistemas en serie a través de hardware. Debe su nombre a

encontrarse en la Recomendación de estándar número 232, Revisión C, del

Departamento de Ingeniería de la Asociación de Industrias Electrónicas (conocido

como EIA RS-232-C, o simplemente RS-232). Por su parte, la CCITT dispone

de un estándar casi idéntico bajo la denominaciónde V.24. El nombre formal del

RS-232 es Interfaz entre un equipo temúnal de datos y un equipo de

comunicación de datos empleando intercambio de datos binarios en serie. Los

equipos terminales de datos ( Data Communications Equipment, DCE ), son,

por lo que nos interesa, términos genéricos para transmisor y receptor. Las siglas

DTE y DCE se han popularizado y resultan inequívocas, por lo que las

MEMORIA DESCRIPTIVA 2-15

COMUNICACIONES SERIE

seguiremos empleando. El documento del EIA describe tres aspectos distintos de

la conexxion DTE/DCE:

1.1.3.6.1.Descripción mecánica de los circuitos

La definición mecánica es inesperadamente escasa en el estándar RS-232.

Uno de los errores más comunes sobre este estándar se refiere al conector físico.

Lo único que dice el documento es que se usarán dos conectores: hembra para el

DCE y macho para el DTE. Además, se esbozan algunas indicaciones sobre la

posición en que se deben instalar los conectores; sin embargo, no se habla en

ningún momento de las características físicas del propio conector. Si se establece,

no obstante, la capacidad máxima del cable. Esta limitación afecta directamente

a la longitud de la línea.

A continuación se definen las veinticinco patillas de conexión que se

presentan en la tabla 1. Si se eliminan de la tabla los circuitos que están sin

asignar o que pertenecen exclusivamente a la transmisión síncrona, se obtiene la

tabla 2. Cada número de patilla aparece junto a su abreviatura de su función y un

comentario sobre su manejo.

MEMORIA DESCRIPTIVA 2-16

COMUNICACIONES SERIE

Funciones de datos y de control

Las funciones RS-232 están divididas estrictamente en dos grupos:

funciones de datos y de control. Las primeras, simplemente, corresponden a la

transmisión y recepción a través de las patillas 2 y 3, respectivamente. Se trata

de las dos únicas patas por las que circulan los datos. Todas las funciones

restantes son de control, y se llaman así porque transportan el estado u orden que

controla el comportamiento del receptor.

TABLA 1

PATILLA CIRCUITO NOMBRE

1 AA Masa protectora (malla)

2 BA Transmisión datos

3 BB Recepción datos

4 CA Solicitud de envió

5 CB Listo para enviar

6 CC Listo datos

7 AB Masa de señal o común

MEMORIA DESCRIPTIVA 2-17

COMUNICACIONES SERIE

PATILLA CIRCUITO NOMBRE

8 CF Detección señal recibida

9 — Reservado para test

10 — Reservado para test

11 — Sin asignar

12 SCF Detección señal 2°

13 SCB Listo para enviar 2°

14 SBA Transmisión datos 2”

15 DB Temporización transmisión

16 SBB Recepción datos 2°

17 DD Temporización receptor

18 ~ Sin asignar

19 SCA Solicitud envió 2°

20 CD Listo terminal datos

21 CG Detector de señal

MEMORIA DESCRIPTIVA 2-18

COMUNICACIONES SERIE

PATILLA CIRCUITO NOMBRE

22 CE Indicador de timbre

23 CH/CI Detector velocidad

24 DA Temporización transmisión

25 — Sin asignar

Convenciones entrada/salida

Uno de los aspectos menos intuitivos de las tablas 1 y 2 es que ambas

partes de un interfaz RS-232 son complementarias desde un punto de vista lógico;

la salida de un extremo del interfaz corresponde a la entrada del otro. Recuerdesé

que las referencias de las tablas están hechas desde el punto de vista del DTE.

Para evitar confusiones la segunda tabla incluye la dirección de la señal.

TABLA 2

PATILLA SIGLAS NOMBRE DIRECCION

I - Protective Ground -

MEMORIA DESCRIPTIVA 2-19

COMUNICACIONES SERIE

PATILLA SIGLAS NOMBRE DIRECCION

2 TD Transmitted Data DCE

3 RD Received Data DTE

4 RTS Request to Send DCE

5 CTS Clear to Send DTE

6 DSR Data Set Ready DTE

7 - Signal Commom -

8 DCD Data Carrier Detect DTE

20 DTR Data Terminal Ready DCE

22 RI Ring Indicator DTE

23 DSRD Signal Rate Detector Ambas

Las funciones de control del interfaz RS-232 se gestionan, por supuesto,

a través del hardware. Se emplean generalmente funciones asincronas instaladas

en un circuito integrado controlador que se conoce con las siglas de UART (

Transmisor/Receptor Asincrono Universal). Este dispositivo gestiona los datos

transmitidos y recibidos, y también muchas funciones de control. Cuando se

MEMORIA DESCRIPTIVA 2-20

COMUNICACIONES SERIE

emplea una UART, el programador se ahorra la mayor parte de detalles internos

de temporarización de E/S asincrona, formato de datos e interfaces RS-232. De

hecho, la transmisión o recepción de un byte con una UART se basa simplemente

en la lectura o escritura de una posición de RAM o un puerto de E/S. Del mismo

modo, las entradas y salidas RS-232 pueden ser controladas y manipuladas casi

sin esfuerzo, y mediante sencillas instrucciones de lectura y escritura en los

diferentes registros de la UART,

1.1.3.6.2.Descripción funcional de los circuitos de intercambio.

A continuación se detallan las definiciones de EIA para las 11 patillas que

se incluyen en la tabla 2.

Masa o tierra protectora (patilla 1)

Esta patilla suele conectarse internamente al chasis del dispositivo, para

aprovechar la conexión a tierra del enchufe.

Común o masa de señal (patilla 7)

Es el retorno común de todos los circuitos, y deberá existir en todos los

MEMORIA DESCRIPTIVA 2-21

COMUNICACIONES SERIE

casos. La conexión de esta patilla a la masa protectora (patilla 1) evita la

destrucción catastrófica del equipo cuando surge un serio problema eléctrico en

algún punto diferente.

Solicitud de envió (RTS, patilla 4)

Listo para enviar (CTS, patilla 5)

El estándar RS-232 establece que Request to Send (patilla 4) tiene como

misión el conmutar en transmisión semi-duplex entre los modos de recepción y

transmisión. Mientras el DCE está recibiendo, el DTE mantiene inhibida la patilla

Request to Send; cuando le toca el turno de transmitir, informa al DCE de su

intención activando esta patilla. El DTE no puede empezar a enviar datos al DCE

inmediatamente, porque este último no realiza la operación de conmutación de

forma instantánea. Así, después de activar Request to Send, el DTE comienza

a vigilar Clear to Send( patilla 5), que se mantiene baja mientras el DCE está en

modo de recepción. Cuando el DCE completa la operación de conmutación, lo

informa al DTE a través de esta patilla, indicando que ya se puede enviar los

datos; este handshaking RTS/CTS se realiza en sentido inverso para pasar desde

recepción a transmisión de nuevo.

Las conexiones full-duplex son canales de doble vía, por lo que no

MEMORIA DESCRIPTIVA 2-22

COMUNICACIONES SERIE

necesitan hacer uso de la técnica RTS/CTS. De acuerdo con esto, en los módems

full-duplex se deja permanentemente activada la patilla 5 (Clear to Send), o bien

se conecta a Data Carrier Detect (Detectora de portadora en la patilla 8).

Datos listos (DSR, patilla 6)

La señal Data Set Ready se activa únicamente cuando se dan

simultáneamente las condiciones siguientes:

1. El DCE esta conectado a un canal de comunicaciones, es decir, descolgado,

sin estar en modo test ni marcando.

2. El DCE ha realizado todas las funciones de temporización necesarias en el

sistema conmutado para completar la llamada. En modo origen, esta frase

significaría marcar, seguir el progreso de la llamada y cualquier otra operación

que requiera la conexió a través de la línea.

3. El DCE ha comenzado la transmisión de un tono de respuesta. El DCE no

transmite ni activa su Data Set Ready hasta recibir la respuesta remota.

Detección de portadora (DCD, patiUa 8)

Esta patilla, cuyo nombre es 'Detección de señal de línea recibida’, se

MEMORIA DESCRIPTIVA 2-23

COMUNICACIONES SERIE

activa cuando el DCE recibe una portadora remota, y permanece así durante todo

el tiempo de la conexión. En módems semi-duplex, el DCD se activa únicamente

en modo receptor.

Listo terminal de datos (DTR, patilla 20)

Esta señal activa, pero no produce, la conexión del DCE a la línea. Una

vez que el DCE está conectado a la línea. Data Terminal Ready deberá

permanecer activo mientras dure la conexión; si se inhibe se produce la

desconexión de la línea de comunicaciones, interrumpiendo bruscamente el enlace.

Además, esta señal es también necesaria para transmitir datos por la línea TD

(patilla 2).

Transmisión de datos (TD, patilla 2)

La línea Transmited Data se encarga de transportar los datos serie desde

el DTE al DCE. De acuerdo con un protocolo muy extendido, el transmisor pasa

a MARK durante los períodos de reposo.

Un DTE no puede transmitir datos a menos que hayan sido activados los

MEMORIA DESCRIPTIVA 2-24

COMUNICACIONES SERIE

circuitos siguientes:

1. Request to Send (patilla 4).

2. Clear to Send (patilla 5).

3. Data Set Ready (patilla 6).

4. Data Terminal Ready (patilla 20).

Las condiciones 1 y 2 como hemos dicho no tienen sentido en conexiones

full-duplex, en los que Request to send y Clear to Send carecen de utilidad.

Recepción de datos (RD, patilla 3)

El funcionamiento de RD no depende de ninguna otra función RS-232. El

estándar especifica que Received Data estará asignado a MARK cuando no haya

portadora o bien, em comunicaciones semi-duplex, durante un breve intervalo

después de la conmutación de modo de transmisión a recepción.

Indicador de timbre (RI, patilla 22)

Esta patilla se activa cuando aparecen tonos de llamada en la línea. Se

supone que Ring Indicator debe ser activado coincidiendo aproximadamente con

el segmento activo de la señal de timbre, e inhibido entre un timbrazo y el

siguiente. Por otra parte, esta señal funciona con independencia del estado de

MEMORIA DESCRIPTIVA 2-25

COMUNICACIONES SERIE

Data Terminal Ready (patilla 20). La aplicación de esta patilla es únicamente

para módems.

Detector de la velocidad de señal de datos (DSRD, patilla 23)

Cuando existe la posibilidad de dos velocidades de transmisión en

aplicaciones en las que el DCE es un modem, se representa la mayor de las dos

activando DSRD.

1.1.3.6.3.Características eléctricas de la señal

Aunque la mayoría de características eléctricas del interfaz RS-232 resultan

en su mayor parte irrelevantes para el programador, no es así en nuesro caso, en

el que el desarrollo del interface desde niveles Rs-232 a RS-485 obliga a un

profundo conocimiento de las características eléctricas de ambos interfaces. A

continuación se indican algunas de las características eléctricas más sobresalientes

de la norma.

Velocidad y potencia

La EIA permite que las velocidades se establezcan en un rango entre 0 y

MEMORIA DESCRIPTIVA 2-26

COMUNICACIONES SERIE

un límite superior nominal de 20 kbits/s. En la mayoría de las instalaciones la

limitación queda en las 19200 bps. El estándar limita también la longitud de los

cables a 50 pies (aproximadamente 15 metros), a menos que la capacidad total del

cable sea menor de 2500 picofaradios.

El interfaz deberá ser capaz de soportar un cortocircuito de duración

indefinida entre cualquier pareja de patillas sin sufrir daño alguno. En tales casos,

la corriente no deberá ser superior a 0.5 Amperios. Estas características producen

un interfaz seguro y robusto, el cual, como característica importante, resulta muy

tolerante a errores de cableado. Aunque el interfaz no resulta dañado por

conexión entre sus propias patillas o las de cualquier otro dispositivo RS-232,

puede deteriorarse fácilmente si se conecta a una unidad que no observe las

mismas limitaciones de corriente y tensión.

Niveles lógicos

El estándar RS-232 especifica un nivel lógico bipolar; es decir, los niveles

lógicos se representan no solamente por la magnitud de las tensiones, sino

también por las polaridades. La tensión máxima permitida en cualquier circuito

es + 15V.

MEMORIA DESCRIPTIVA 2-27

COMUNICACIONES SERIE

Además , el estándar RS-232 define cuatro niveles lógicos; las entradas

tienen diferentes definiciones que las salidas, y las funciones de datos

(Transmitted Data, patilla 2) y (Received Data, patilla 3) son distintas de las

funciones de control. En la figura 1.1 se observan los distintos niveles lógicos

de las entradas y salidas Rs-232. Los niveles de salida son de +5 a +15 y de -5

a -15; las tensiones entre +5 y -5 quedan indefinidas. Los niveles de entrada van

desde +3 a +15 Voltios y desde -3 a -15; las tensiones entre +3 y -3 quedan

asimismo indefinidas. Esta diferencia de niveles entre entradas y salidas se conoce

como margen de ruido. Significa también que el interfaz puede tolerar niveles

de hasta 2 voltios de ruido (en valor de pico) o una caida de 2 voltios en la linea

que une el DTE con el DCE.

El criterio que siempre debe cumplir toda conexión RS-232 considerando

el circuito equivalente de la figura es el siguiente:

MEMORIA DESCRIPTIVA 2-28

COlvaiNICACIONES SERIE

I Vq i <25

3 0 0 0 Q < í ?^<700

C, < 2 5 0 0p F

SlewRate=- ÚY <

El tiempo máximo para que una señal pase la región de transición debe ser

menor de Ims o del 4% de la duración de la señal. Por otro lado la limitación del

Slew rate se debe al problema de inducción de ruidos en otros conductores en los

casos de cables con múltiples conductores. Cuanto más rápida sea la transición,

mayor es el ruido ( Cross Talk ). Tanto el emisor como el receptor utilizan una

señal de tierra común para todos los circuitos. Este modo de operación se conoce

como Un-Balanced o de una sola línea y como veremos en el apartado 1.1.3.7

restringe claramente el establecer la comunicación a velocidades superiores debido

a la aparición de ruidos introducidos por la corriente de la masa.

Conversión de niveles RS-232

Las tensiones de salida del interfaz RS-232, no corresponden a las lógicas

MEMORIA DESCRIPTIVA 2-29

COMUNICACIONES SERIE

de funcionamiento interno de los aparatos que manejan estas señales, en nuestro

caso las tarjetas de adquisición de datos y el PC. La operación de conversión de

niveles la realizan ciertos circuitos integrados comerciales y se conocen como

controladores y receptores de línea El A RS-232. Por razones de diseño

electrónico, los dispositivos suelen ser inversores, por lo cual implica que dicha

conversión deberá ser compensada en las entradas y salidas del controlador de E/S

asincronas de la UART.

1.1.3.6.4,Caracteristicas mecánicas y eléctricas

Teniendo en cuenta que han sido definidas veinticinco patillas, no resulta

sorprendente que el conector más popular sea el DB-25, llamado a veces

erróneamente ’conector RS-232’. Aunque el DB-25 será probablemente el

estándar futuro, están comenzando a parecer alternativas como el DB-9 y el DB-

15 para los DTE. Sin embargo, cuando se emplea un conector de 9 patillas o de

15, las asignaciones estándar para las señales Data Terminal Ready (DTR,

patilla 20), Ring Indicator (Rl, patilla 22) y DSRD (patilla 23) no pueden

mantenerse. Por tanto, cuando se emplea un conector diferente se han de

modificar las asignaciones a aquellas patillas que quedan fuera del número

máximo del nuevo conector. En la tabla 3 se muestran las asignaciones de patillas

de un conector DB-9 para un IBM PC/AT, este es el conector utilizado para

MEMORIA DESCRIPTIVA 2-30

COMUNICACIONES SERIE

nuestro sistema.

TABLA 3

PATILL ABREV FUNCION

A •

1 DCD Received Line Signal Detect

2 RD Received Data

3 TD Transmitted Data

4 DTR Data Terminal Ready

5 - Signal Ground

6 DSR Data Set Ready

7 RTS Request to Send

8 CTS Clear to Send

9 RI Ring Indicator

MEMORIA DESCRIPTIVA 2-31

COMUNICACIONES SERIE

Por otro lado la limitación de 19.2 Kb establecida por la El A es más una

limitación física a modo de advertencia que una prohibición. De hecho, el interfaz

RS-232 de la mayoría de ordenadores esta gestionado por una UART capaz de

mantener velocidades de hasta 56 Kbps. El límite superior de la velocidad viene

a efectos prácticos impuesto por la longitud del cable y no por las posibilidades

de los Circuitos Integrados. Como veremos en las caraeterísticas de la RS-232 la

limitación fundamental radica en la capaeidad de la línea. Superado un cierto

límite, las atenuaciones que aparecen no garantizan de ningún modo el correeto

funcionamiento de la línea en las condiciones que la señal de tensión necesita.

Además, la mayoría de interfaces RS-232 utilizan un nivel lógico para

entradas de señales de control de tipo monopolar. Por lo que cualquier tensión

inferior a -I-3 voltios inhibe dichas entradas. Como regla general, una entrada

desconectada o flotante se comporta igual que si estuviese inhibida. Aunque es

precisamente este tipo de detalles el que acaba por producir problemas, también

resulta útil conocer esta regla para ahorrar tiempo cuando surgen dificultades en

la conexión.

1.1.3.7.Círcuitos eléctricos equilibrados v no eniiilihrados.

Dos de los mayores problemas con los que cuenta la norma del RS-232-C

MEMORIA DESCRIPTIVA 2-32

COMUNICACIONES SERIE

son como hemos dicho las limitaciones en velocidad a 20 Kbps y en longitud a

15 metros de cable aproximadamente. Este circuito, típico a un solo hilo es el

causante de las limitaciones. Aunque las líneas no equilibradas o de un solo hilo,

en las que un hilo es mantenido a tierra, son las más extendidas aún hoy en día,

el futuro está abierto hacía los sistemas equilibrados. Esto queda claramente

demostrado por las normas más recientes EIA RS-422, RS-449 y la que

utilizaremos en el proyecto RS-485, en las que se recomienda el uso de interfaces

equilibrados.

La forma más clara de entender las ventajas de las líneas equilibradas es

considerar las aplicaciones más típicas de cada circuito; para ello consideremos

una aplicación de una sola línea de señal utilizando una línea sin equilibrar y una

señal diferencial sobre una línea equilibrada. En la aplicación a una sola línea, los

ruidos inducidos se suman a la tensión de la señal, estos ruidos aparecen como

consecuencia de acoplamientos magnéticos o eléctricos con las líneas cercanas

como resultado de cualquier variación de la tensión de tierra, debida a la

presencia de la red de 50 HZ. No hay, como se ve claramente, ningún modo de

eliminar la presencia de este ruido en el sistema.

Además, la señal de tierra en el receptor puede ser distinta de la del

emisor debido a las corrientes que circulan por las tierras producidas por otras

MEMORIA DESCRIPTIVA 2-33

COMUNICACIONES SERIE

señales o porque los aparatos estén conectados en distintos sistemas eléctricos de

distribución. Esto puede causar numerosos problemas de sensibilidad en las

señales. Si, por ejemplo, la tierra del receptor es 4 voltios superior que la tierra

del emisor, con una tensión de 6 voltios enviada por el emisor por la línea de

transmisión, el receptor interpretará una señal de 2 voltios; esto es, mientras el

emisor ha enviado una señal de SPACE, el receptor capta una señal dentro de la

zona de nadie o zona de transición.

La operación diferencial puede no tener en cuenta las masas, ya que son

comunes para las dos entradas del receptor diferencial, así como del emisor.

Además, la operación diferencial es insensible a cualquier ruido, tanto inductivo

como capacitivo que se acople a la línea, ya que dicho ruido se induce en ambos

conductores de la línea equilibrada. El ruido generado por la red debido a

cualquier desequilibrio, puede ser evitado utilizando líneas de par trenzado, lo que

elimina cualquier campo magnético que se pueda generar al ir alternando la

polaridad continuamente.

El ruido de origen capacitivo puede ser minimizado, intentando el máximo

equilibrio de cargas en la línea, de manera que ambas líneas se vean afectadas de

la misma manera y por tanto la señal, debido al funcionamiento diferencial, no

se vea afectada. El aislar el conductor y reducir al máximo la distancia de todas

MEMORIA DESCRIPTIVA 2-34

COMUNICACIONES SERIE

las líneas también ayuda a minimizar el ruido.

A continuación se presenta un ejemplo de una línea equilibrada, en la que

cada conductor presenta idéntica impedancia con respecto a tierra. El sistema

emplea un emisor y un receptor diferencial. Cada rama finaliza con una

impedancia Ro/2, el resultado de esto es que cada elemento observa una

impedancia total entre terminales R . Los datos son introducidos en el circuito

equilibrado que se muestra, desequilibrando la tensión de la línea inyectando

corriente. El disponer de una línea de Strobe (Permiso), es fácil el implementar

comparticiones de la línea o acceso de varios usuarios (Redes multipunto),

conservando el bajo coste de una línea de par trenzado.

Cuando las distancias de transmisión van más allá de unos pocos cientos

de metros, deben utilizarse módems para convertir las señales digitales en señales

analógicas en el emisor y realizar el proceso inverso en el receptor. Aplicando

este criterio, las señales analógicas sufren de menor distorsión que las señales

originales en banda base (Señales formadas por ceros o unos), y por tanto pueden

ser transmitidas a distancias mucho mayores.

1.1.3.8. Resumen de las principales normas

MEMORIA DESCRIPTIVA 2-35

COMUNICACIONES SERIE

El propósito común de todos las líneas de transmisión, tanto emisores

como receptores, es transmitir los datos rápidamente y con fiabilidad a través de

una gran diversidad de medios y a lo largo de grandes distancias. Este objetivo

se complica debido al hecho de que surgen ruidos externos que afectan a la

transmisión, así como variaciones en los niveles de la tierra.

La conexión entre dos elementos en un sistema debe ser considerada una

línea transmisión si la señal transmitida llega a distancias mayores que dos veces

su tiempo de subida o bajada para llegar desde el punto emisor al receptor.

1.1.3.8.1.Transinisión de datos a un hilo.

En los sistemas de procesamiento de datos actuales hay dos formas básicas de

comunicación entre los diversos sistemas o componentes. Un método es la

transmisión de un solo hilo (Single-Ended), que se caracteriza por utilizar un solo

hilo para canalizar los datos a transmitir; el otro método es la transmisión

diferencial, que utiliza dos líneas de señal.

La Electronics Industry Association (EIA) ha desarrollado diversos

estándares para simplificar el interface entre los distintos sistemas para la

comunicación de datos. Las principales normas que analizamos para desarrollar

MEMORIA DESCRIPTIVA 2-36

COMUNICACIONES SERIE

el proyecto son:

RS-232

El primero de todos los estándares fué el RS-232, fué introducido en 1962

y su uso es muy extenso dentro de la industria. La norma RS-232 fué desarrollada

para la transmisión de datos por una sola línea a velocidades relativamente

pequeñas (20 Kbps) en distancias cortas ( hasta unos 15 metros). En apartados

anteriores se hace una exposición más detallada de las características de la norma

RS-232. A continuación incluimos una tabla de características.

ESPECIFICACIONES RS-232

Modo de operación 1 hilo

Número de emisores/receptores permitidos 1 emisor 1

en la línea receptor

Máxima longitud de cable 15 m

Máxima velocidad 20 Kbps

MEMORIA DESCRIPTIVA 2-37

COMUNICACIONES SERIE

ESPECIFICACIONES RS-232

Máxima tensión de salida +25 V

Nivel de señal emisor Carga ±5 V

Sin + 15 V

Impedancia de carga 3Kfi-7Kn

Máxima corriente de salida ON -

(estado de alta impedancia) OFF Vmax/300íi

Slew Rate 30V//XS

Rango de tensión de receptor + 15 V

Sensibilidad del receptor +3 V

R entrada de receptor 3KQ-7KÍ]

RS-423

Con las necesidades de transmitir datos de forma más rápida y a mayores

distancias, apareció la RS-423, un nuevo estándar para aplicaciones de un solo

hilo. La RS-423 extiende la velocidad de transmisión máxima hasta 100 Kbps (

MEMORIA DESCRIPTIVA 2-38

COMUNICACIONES SERIE

para distancias de hasta 9 metros), y una distancia máxima de aproximadamente

1200 metros ( para velocidades de hasta IKbps). La RS-423 requiere una

impedancia en los driver de salida. A continuación se presenta la tabla

característica.

MEMORIA DESCRIPTIVA 2-39

COMUNICACIONES SERIE

ESPECIFICACIONES RS-423

Modo de operación 1 hilo

Número de emisores/receptores permitidos

en la línea

1 emisor

10 receptor

Máxima longitud de cable 1200 m

Máxima velocidad 100 Kbps

Máxima tensión de salida +6 V

Nivel de señal emisor Carga ±3.6 V

Sin ±6 V

Impedancia de carga 4500 min

Máxima corriente de salida ON -

(estado de alta impedancia) OFF ± 100 ¡xA

Slew Rate Controlado

Rango de tensión de receptor ±12 V

Sensibilidad del receptor ±200 mV

MEMORIA DESCRIPTIVA 2-40

COMUNICACIONES SERIE

ESPECIFICACIONES RS-423

R entrada de receptor 4 kO min

1.1.3.8.2.Transmisión de datos diferencial

Cuando se transmiten datos a velocidades muy elevadas, a lo largo de

grandes distancias y a través de ambientes ' ru idosos la transmisión a un solo

hilo, como ya hemos visto, no es válida en la mayoría de las ocasiones. En estas

aplicaciones, la transmisión de datos de forma diferencial es el método apropiado

y el que ofrece mejores resultados. La transmisión diferencial anula los efectos

de las variaciones de nivel entre las tierras, así como los ruidos que puedan

aparecer en ella, ya que se convierten en comunes a las dos lineas. De entre las

normas cuya teoría de funcionamiento es la transmisión diferencial, están

principalmente las siguientes:

RS-422

La norma RS-422 fué definida por la EIA para este propósito y con la idea

de permitir velocidades de hasta lOMbps ( en distancias de hasta 9 metros) y

longitudes de línea de 1200 metros con transmisiones de hasta 100 Kbps.

MEMORIA DESCRIPTIVA 2-41

COMUNICACIONES SERIE

Los elementos de transmisión/recepción que cumplen este estándar, son

apropiados para aplicaciones de compartición de línea, donde solo un emisor esta

conectado a la línea y transmite en bus hasta a 10 receptores, que reciben los

datos. Las aplicaciones de compartición de línea (Party Line), tienen múltiples

usos, pero el estándar RS-422 no puede ser utilizado para desarrollar aplicaciones

de línea multipunto. Una aplicación de bus multipunto consiste en una única línea

a la que se conectan múltiples emisores y receptores y cada uno de estos

elementos del sistema puede transmitir o recibir datos. Las características, sin

embargo, de la RS-422 pueden utilizarse para diversas aplicaciones, el siguiente

cuadro presenta cuales son.

ESPECIFICACIONES RS-422

Modo de operación Diferencial

Número de emisores/receptores permitidos 1 emisor 10

en la línea receptor

Máxima longitud de cable 1200 m

Máxima velocidad 10 Mbps

Máxima tensión de salida -0.25 a +6Y

Nivel de señal emisor Carga +2 V

MEMORIA DESCRIPTIVA 2-42

COMUNICACIONES SERIE

ESPECIFICACIONES RS-422

Sin +5 V

Impedancia de carga 100 fi

Máxima corriente de salida ON -

(estado de alta impedancia) OFF i 100 [J.A

Slew Rate -

Rango de tensión de receptor -7V A +1V

Sensibilidad del receptor ±200 mV

R entrada de receptor 4 KQ min

RS-485

Para conseguir la verdadera línea de comunicaciones multipunto, el El A

define en 1983 el estándar RS-485. El RS-485 cumple todos las características de

la RS-422, pero además, este nuevo estándar permite la conexión de hasta 32

emisores y 32 receptores a un único bus, permitiendo por tanto el estructurar una

auténtica red multipunto. Las características fundamentales de la RS-485 son:

* Permite implementar un verdadero bus multipunto, con hasta 32 receptores o

MEMORIA DESCRIPTIVA 2-43

COMUNICACIONES SERIE

transmisores.

* Amplio rango de funcionamiento para emisor y receptor ( de -7V hasta + 12V),

se incluye modo de TRIESTADO.

* Los drivers pueden soportar fallos en el bus.

A continuación aparece el cuadro de características eléctricas de la norma.

Objetivo de este proyecto fue obtener la información que aquí se ha citado para

poder seleccionar, con conocimiento de causa, el estándar a utilizar en el diseño

de la red. Tras la detallada información que aquí se ha plasmado, la decisión de

elegir la norma RS-485 como norma de funcionamiento para el proyecto, parece

a toda vista correcta; de todos modos, y ante la dificultad que ha existido para

obtener mayor volumen de información en el mercado, somos conscientes de la

posibilidad de que exista algún método, norma o interface comercial que nos

hubiera permitido obtener los mismos resultados con un menor costo.

ESPECIFICACIONES RS-485

Modo de operación Diferencial

Número de emisores/receptores permitidos

en la línea

32 emisor 32

receptor

MEMORIA DESCRIPTIVA 2-44

COMUNICACIONES SERIE

ESPECIFICACIONES RS-485

Máxima longitud de cable 1200 m

Máxima velocidad 10 Mbps

Máxima tensión de salida -7 a +12 V

Nivel de señal emisor Carga + 1.5 V

Sin +5 V

Impedancia de carga 54 fi

Máxima corriente de salida ON +100 [ j l A .

(estado de alta impedancia) OFF +100 ¡ j l A -

Slew Rate -

Rango de tensión de receptor -7 a +12 V

Sensibilidad del receptor ±200 mV

R entrada de receptor 12 KQ min

MEMORIA DESCRIPTIVA 2-45

EL ESTANDAR RS-485

EL ESTANDAR RS-485

1.1.4.EL ESTANDAR RS-485

1.1.4.1,Introducción

La asociación de industrias electrónicas (EIA), aprobó en 1983 una nueva

estándar de transmisión balanceada, bajo la denominación de RS-485. El estándar

EIA RS-485 pretendía resolver el problema de la transmisión de datos, cuando se

utiliza una línea balanceada en configuración de línea compartida (típicamente

conocida por el término inglés party Ime). La norma se asemeja en gran parte a

la popular RS-422; de hecho la RS-485 puede ser considerada la expansión de la

anterior para permitir las configuraciones de transmisión multipunto; esto es,

múltiples emisores y receptores conectados a la misma red y compartiéndola a un

tiempo. El estándar RS-485, igual que al RS-422, solamente especifica las

características eléctricas del emisor y el receptor que deben ser usados como

interface de la línea, y no especifica ni hace recomendación alguna sobre ningún

protocolo de comunicaciones concreto. Por tanto el protocolo se deja a elección

del diseñador.

El EIA RS-485 encontró amplia aceptación desde su estandarización, ya

que permite a los usuarios configurar redes locales de bajo costo y

MEMORIA DESCRIPTIVA 3-2

EL ESTANDAR RS-485

comunicaciones multipunto entre sistemas utilizando simplemente par trenzado y

un protocolo de su elección.También se tiene la flexibilidad de poder conjugar los

parametros de: calidad de la línea, velocidad de transmisión y distancia de la

comunicación para de este modo diseñar, obteniendo la mejor relación entre costo

y prestaciones. La aceptación del estándar RS-485 en el mercado está también

reflejada en el hecho de que otros estándares se comparan con él cuando tratan

de especificar características de sistemas de comunicación multipunto. Tanto los

estándares de ANSI ( American national Standards Institute ), como IPI (

Intelligence SPeripheral Interface ) y SCSI ( Small Computer System Interface)

han usado el RS-485 como su base para su clase de interfaces diferenciales. El

estándar de IPI especifica los interfaces entre los controladores de disco y los

adaptadores de los Host, esta conexión requiere velocidades de 2.5 Megabaudios

con distancias de hasta 50 metros. El de SCSI conecta ordenadores personales,

discos e impresoras a velocidades de hasta 4 Megabaudios a distancias de 25

metros.

1.1.4.2.;Por qué la norma RS-485?

Hasta la introducción de la norma RS-485, el estándar RS-422 era el más

utilizado para transmisiones de datos balanceadas. El estándar RS-422 era

utilizado según la configuración de la figura siguiente.

MEMORIA DESCRIPTIVA 3-3

EL ESTANDAR RS-485

En esta configuración el emisor está a un lado de la línea, una resistencia

de terminación de 100 Q y hasta 10 receptores en el otro lado de la línea. Esta

configuración funciona correctamente en comunicaciones unidireccionales (

simplex), pero crea problemas cuando los datos deben ser transmitidos en ambas

direcciones entre diferentes elementos del equipo. Si debemos comunicar varios

DTE’s con uno, a través de una larga distancia utilizando el interfaz RS-422, cada

una de las líneas de comunicación debe ser estabilizada entre cada pareja de DTE.

Los costes del hardware asociado a esta solución son extremadamente altos y

normalmente inaceptables.

Una línea compartida ( party line ) constituye la solución más económica

para el problema anterior. El hardware RS-422 podría utilizarse para implementar

esta línea compartida si estuviera provista con una salida triestado ( salida de alta

impedancia ); pero esta solución estaba sujeta a múltiples restricciones, debido a

la configuración eléctrica del emisor, diseñado para la norma RS-422. El mayor

problema está causado por las diferencias entre los voltajes de masa de cada uno

MEMORIA DESCRIPTIVA 3-4

EL ESTANDAR RS-485

de ellos. La tensión común en un sistema balanceado está fijado por la masa del

emisor; pero en el receptor es la suma de la tensión de offset del emisor y la

diferencia de tensiones entre las masas de emisor y receptor. En el modo de

comunicación unidireccional, conocido como simplex, solo el receptor necesita

tener una amplia gama de la señal común, esto es, que la tensión de referencia

pueda variar entre distintos valores sin que quede afectado el funcionamiento del

sistema. El diseño de receptores que provean de un amplio rango de modo común

está muy desarrollado; pero en redes multipunto compartidas de distancias del

orden de cientos de metros, cada uno de los equipos que configuran el sistema

está puesto a tierra a un enchufe local, por lo que la diferencia entre las tierras

de dos equipos DTE puede no ser solo del orden de unos pocos voltios. En estos

casos, la única solución posible es que el emisor y el receptor tengan un muy

amplio rango de funcionamiento para variaciones en la referencia. La mayoría de

los equipos RS-422 no están diseñados, sin embargo, para permanecer en estado

de alta impedancia cuando aparecen variaciones muy grandes de la referencia, lo

que le haría inmune inclusó a pequeñas caidas de la tensión en masa.

Como hemos dicho, los emisores comunes que cumplen la norma RS-422

son, por tanto, bastante vulnerables a caidas de tensión en la referencia de tierra,

debido principalmente al diseño de la etapa de salida. Una típica etápa de salida

sería como la de la figura. Dos de estas etapas, conectadas de forma

MEMORIA DESCRIPTIVA 3-5

EL ESTANDAR RS-485

complementaria, puede constituir una salida típica de un emisor para una línea

con salida diferencial. Como vemos en la figura; los transistores Q1 y q4 forman

un Darlington, que constituye la salida de pull-up para la etapa de salida en

tótem pole; mientras que el transistor Q2 es el de puU-down. El transistor Q3

conmuta la corriente entre la parte ’alta’ y la ’baja’ de la tótem pole, para obtener

el estado de salida deseado. DSUB es el diodo formado por el colector de Q2 y

el sustrato del circuito integrado. La salida puede llevarse a estado de ALTA

IMPEDANCIA si bajamos lo suficiente las tensiones en las bases de Q2 y Q3.

El problema estriba en que el estado de ALTA IMPEDANCIA no puede

mantenerse si la salida aumenta por encima de la tensión de alimentación Vcc, o

por debajo de la tensión de masa. En las aplicaciones de redes multipunto

compartidas, como hemos explicado anteriormente, resulta muy complicado que

no existan variaciones de unos pocos voltios, lo podemos considerar

prácticamente imposible, es por tanto esencial que la salida sea capaz de

mantenerse en ese estado de ALTA IMPEDANCIA mientras la salida suba por

encima de Vcc o baje por debajo del nivel de masa.

Si analizamos el estado de la salida de la figura, vemos que puede

mantenerse la salida en alto hasta que en la unión base-emisor del transistor Q1

se produzca una ruptura( efecto zener). En ese momento, la salida quedará

clavada a la tensión de zener más la tensión base-colector del diodo por encima

MEMORIA DESCRIPTIVA 3-6

EL ESTANDAR RS-485

de Vcc ya que la tensión de alimentación puede ser cero si está apagado. Si la

salida se toma por debajo de la tensión de tierra, esto causará que el sustrato,

DSUB, asociado con Q2 conecte y fijé la tensión de salida a la calda de tensión

del diodo del sustrato por debajo del valor de tierra. Si por cualquier circunstancia

un emisor se conecta a la línea y fija un valor de tensión en ella, la señal

generada por el emisor activo será distorsionada. También existe la posibilidad

de que las caldas a tierra causen grandes corrientes de sustrato, lo que originaría

daños en el sistema. Como ejemplo de esto último podemos observar la figura 3.

Dicha figura muestra la conexión de dos drivers que llamamos A y B. La figura

muestra los dos transistores de pulí down ( Q2A y Q2B ) y sus diodos de sustrato

asociados ( DSUB-A y DSUB-B ). Supongamos que inicialmente el driver A esta

conectado, con su salida en estado bajo y el driver B esta desconectado; por lo

tanto no existirá corriente ni de salida ni de entrada en la línea. Si la referencia

de tierra de A es 3 voltios menor que la de B , el diodo DSUB-B está sometido

a tensión directa de aproximadamente 2.7 V ( considerando que la tensión

colector-emisor de Q2A será de aproximadamente 0.3V ); esto origina que por

el diodo directamente polarizado circule una corriente importante que proviene del

sustrato de B.

Otro problema surge con lo que se denomina 'contención de línea’, esto

es: dos emisores conectados a la línea a un tiempo. Incluso si el protocolo de

MEMORIA DESCRIPTIVA 3-7

EL ESTANDAR RS-485

comunicaciones que rige la línea no permite tal situación, un error puede originar

esta contingencia.La figura 4 presenta una situación de este tipo. En este caso A

y B están transmitiendo, el driver A trata de forzar un estado alto en la salida,

mientras que B transmite un nivel bajo. Por tanto los transistores QIA y Q2B

están activos, mientras que Q2A y QIB están cortados. Esta situación origina una

corriente que fluye desde QIA hasta el emisor de Q2B, estando esta corriente

únicamente limitada por las resistencias parásitas de la línea. El problema se ve

complicado más aún si existe alguna calda de tensión entre las dos tierras. Esta

corriente, típicamente muy grande puede destruir un driver o ambos. La mayor

parte de los drivers RS-422 no disponen de protección para este problema.

También debemos tener en cuenta que un emisor de una red multipunto

debe ser capaz de proporcionar mayor potencia que un emisor RS-422. Mientras

este último ataca una sola resistencia de valor 100 Í1 como emisor y 10 receptores

cada uno con una impedancia de entrada no menor de 4 KQ. Por su parte una

línea multipunto, dispone de un mayor número de equipos a los que conectarse.

Por todo lo anteriormente expuesto, es inviable usar el estándar RS-422

para conectar sistemas en party-line. Esto nos lleva a la necesidad de crear un

nuevo estándar para que se ajuste a los requerimientos hardware de una línea

multipunto.

MEMORIA DESCRIPTIVA 3-8

EL ESTANDAR RS-485

1.1.4.3.EI estándar RS-485. Caracteristicas.

El estándar RS-485 especifica las características eléctricas de los emisores

y receptores que pueden ser utilizados para implementar una línea de transmisión

multipunto balanceada. Una red de intercambio de datos que utilice este estándar

funcionara correctamente aún con la presencia de variaciones razonables de la

tensión de referencia, soporta situaciones de line contention, así como con la

conexión de hasta 32 transreceptores. El medio de transmisión a utilizar será un

par de hilo trenzado de impedancia 1200 finalizando en ambos extremos con su

impedancia característica. Los elementos del sistema los podemos distribuir a lo

largo de la línea según figura.

Los efectos de las diferencias en la tensión de tierra son mitigados

ampliando el rango de tensiones de modo común (Vci^, tanto del receptor como

del emisor a -7V < Vcm < +12V. Por tanto, un emisor en estado de alta

impedancia, debe ser capaz de mantener su salida en el rango de tensiones de

modo común y seguir manteniéndose en alta impedancia, incluso al conectar y

desconectar la alimentación. Por su parte, el receptor debe responder de forma

adecuada a señales diferenciales de 200 mV superpuestas a cualquier valor medio

de tensión dentro de ese rango -7V < Vcm < + 12V. Con una alimentación de

5V, el rango de tensiones fijado por la norma permite una variación de 7V a

MEMORIA DESCRIPTIVA 3-9

EL ESTANDAR RS-485

partir de la tensión del terminal de alimentación. Por tanto, el sistema funcionará

correctamente siempre y cuando, el efecto de las variaciones de tensión de

referencia de los distintos puntos y los ruidos inducidos en la línea no generen un

efecto mayor de 7V.

La capacidad de salida del emisor y la impedancia de entrada del receptor

se han aumentado para acomodar dos resistencias de terminación y varios equipos

( emisores, receptores y transreceptores ) en la línea. El estándar RS-485

define una unidad de carga, de forma que la carga presente en la línea se puede

expresar en teéminos de unidades de carga ( una resistencia de 12 KO, con una

boma conectada a cualquier valor de tensión entre tierra y Vcc/2, satisface los

requerimientos de una unidadd de carga ). La mayoría de los fabricantes diseñan

sus emisores y receptores bajo la norma RS-485 considerando que la carga

combinada de un receptor activo y un emisor inactivo debe ser menor que una

unidad de carga. Esto requiere que la impedancia de entrada de los receptores RS-

485 fuese del orden de tres veces la impedancia de entrada de un receptor RS-

422. Como la sensibilidad requerida por el receptor es, al igual que para la RS-

422, de + 200 mV, se necesita que el emisor mantenga al menos 1.5 V entre sus

terminales de salida cuando esté conectado a una línea compartida por 32

transreceptores. Aunque esta tensión de salida es menor que los 2.0 V

especificados para el estándar RS-422, se requiere un cuidadoso diseño del

MEMORIA DESCRIPTIVA 3-10

EL ESTANDAR RS-485

emisor, con especial atención al comportamiento en alterna ( A.C ). De esta

forma se pueden conseguir redes multipunto con velocidades de transmisión y

distancia comparables a las de las redes RS-422.

La norma RS-485 dispone de consideraciones adicionales para garantizar

la seguridad de los dispositivos ante situaciones como la de ’line contention’ o

cortocircuito. Un emisor activo, cuya salida esté directamente cortocircuitada a

cualquier tensión dentro del rango del modo común, debe tener limitada su

corriente de salida a + 250 mA. Incluso con esta limitación de corriente, es

posible que el dispositivo llegue a disipar hasta 3 Vatios ( si la corriente de salida

es de 250 mA cuando el cortocircuito se produce a 12 Voltios ). La disipación de

una potencia de ese calibre, generalmente destruye a la mayoría de laos CI, sin

embargo, el estándar RS-485 requiere que los fabricantes incluyan sistemas

adicionales de seguridad para proteger a los dispositivos en esas situaciones.

La limitación de corriente a ± 250 mA sirve también para otro propósito.

Si repentinamente se apaga un emisor desde el modo activo, aparecerá un

transitorio de tensión de aproximadamente IcZ/2. Esto se refleja en la línea,

mientras se descarga la energía en ella almacenada ( Ic se denomina corriente de

contención y Z es la impedancia característica de la línea). Este transitorio de

tensión debe ser lo suficientemente pequeño como para que no se produzca la

MEMORIA DESCRIPTIVA 3-11

EL ESTANDAR RS-485

ruptura de los transistores de salida de los emisores. Si la corriente de salida está

limitada a 250 mA, el pico de este transitorio sobre una línea de 120Í2, está

limitado a 15 V, un valor que constituye una tensión suficiente para elegir una

buena relación entre velocidad de conmutación y tensión de ruptura para el

transistor de salida.

1.1.4.3»1.Características en alterna.

Para conseguir transmisiones efectivas a velocidades altas a lo largo de

grandes distancias, los emisores deben poseer unas óptimas características de

funcionamiento en alterna. La respuesta debe ser rápida y los transitorios en la

señal de salida deben ser claros y simétricos. A continuación vamos a analizar

algunas de las características de funcionamiento de los circuitos integrados que se

adaptan a la norma RS-485.

Retardo en la propagación

El tiempo de propagación de la señal en el interior del emisor debe ser

pequeño, comparado con el

intervalo entre bits, de manera que la cadena de datos no se encuentre un cuello

de botella en el emisor. Si el retardo en la propagación fuese comparable con el

MEMORIA DESCRIPTIVA 3-12

EL ESTANDAR RS-485

intervalo entre bits, el emisor no dispondría de tiempo suficiente para alcanzar el

nivel de tensión máximo que es capaz de generar. En líneas de unos cientos de

metros, el retardo en la línea impondrá mayores limitaciones en los datos que el

retardo que la ha generado por el emisor. Sin embargo, es deseable un emisor

rápido para redes de corta distancia, tales como las que se utilizan en los

automóviles o dispositivos de disco. Retardos del emisor del orden de 20 ns,

constituyen una buena característica para un amplio campo de aplicaciones.

Tiempo de transición

Para una transmisión de datos libre de distorsiones, la señal debe alcanzar

al receptor más lejano con rampas de subida y de bajada mucho más rápidas que

el intervalo de transmisión de un bit. La distorsión en la señal se produce por

desequilibrio del emisor, el umbral de offset del receptor o desequilibrio de

propagación ( skew ). La norma RS-485 limita los desequilibrios en DC en la

tensión de salida a + 0.2 V. Generalmente, la mayor distorsión está causada por

la tensión de offset en el umbral del receptor. En una línea larga en la que la

tensión de salida de 1.5 V del emisor es atenuada por la resistencia del bucle a

aproximadamente 0.4 V, una tensión de offset de 200 mV en el receptor, puede

causar distorsiones importantes si los tiempos de subida son comparables al

MEMORIA DESCRIPTIVA 3-13

EL ESTANDAR RS-485

intervalo de un bit. Para líneas más largas de 500 pies ( 150 m ), los tiempos de

subida estarán mucho más afectados por la línea que por las características del

emisor. En líneas de corto recorrido, la respuesta transitoria puede afectar de

forma significativa a la distorsión de la señal; podemos decir que cuanto más

rápido sea el transitorio, menor será la distorsión, por tanto, menor puede ser el

intervalo para cada bit, y por ello mayor la velocidad de transmisión en baudios.

Un tiempo de subida de 20 será una buena medida, ya que permite una velocidad

de 10 Megabaudios en una línea de 50 pies (15 metros) de cable de par trenzado

estándar, todo ello con una distorsión menor del 5 %.

El emisor debe cumplir las características de tiempo de subida del flanco

y retardo en la propagación cuando esté conectado a una capacidad razonable, del

orden de lOOpF para cada salida, más una resistencia de unos 540. Una línea de

transmisión correctamente configurada debe aparecer como puramente resistiva

para el emisor. La mayoría de los fabricantes tienen esto en cuenta, y especifican

el retardo con cargas de 15 pF. En el caso de redes cortas de alta velocidad, en

las que el tiempo de subida y el retardo de propagación son factores críticos,

diversos dispositivos pueden estar agrupados a muy poca distancia; en tales casos

considerar los retardos de propagación con una carga de 15 pF no tiene sentido,

y es mucho más acertado hacerlo con una carga de 100 pF. Incluso si suponemos

una carga de 20 pF por cada uno de los transreceptores, esto permite disponer

MEMORIA DESCRIPTIVA 3-14

EL ESTANDAR RS-485

hasta 6 transreceptores juntos en un espacio de 8 pies ( 240 cm de longitud ); 8

pies es aproximadamente la distancia recorrida por la señal en un periodo de 20

ns.

Desequilibrio de propagación ( SKEW )

El emisor diferencial ideal generará una forma de onda igual a la de la

figura, con las siguientes características: el tiempo de propagación desde la

entrada, cuando la salida pasa del estado bajo al alto debe ser igual; los tiempos

de subida y bajada de las salidas complementarias deben ser iguales y la forma

de onda de la salida será perfectamente simétrica.

Si el tiempo de propagación para el nivel bajo en la salida, es distinto al

de la salida en alto, a esa situación se la conoce como desequilibrio de

propagación o skew. Si introducimos una onda cuadrada en el emisor con este

efecto de skew, la salida se distorsionará de tal manera, que la onda de salida no

tendrá un duty cicle del 50%.

Si los puntos medios de la onda de salida de las dos salidas

complementarias no son iguales, se dice que se ha producido skew entre los dos

MEMORIA DESCRIPTIVA 3-15

EL ESTANDAR RS-485

emisores complementarios. Este tipo de efecto es indeseable, porque modifica la

inmunidad al ruido del sistema e incrementa las emisiones electromagnéticas.

Las figuras muestran la señal de salida diferencial de un emisor sin

desequilibrio en la propagación. La siguiente figura muestra un desequilibrio de

80 ns debido al skew. La primera señal hace su transición uniformemente y pasa

rápidamente por 0 V. La segunda señal permanece cerca de los 10 ns cerca de 0

V. Desafortunadamente, esta región plana tiene lugar cerca del umbral del

receptor. Un ruido común en la entrada de un emisor ligeramente desequilibrado,

creará un pequeño pulso diferencial en la entrada del receptor. Si este ruido

ocurre cuando nos encontramos en esta zona plana en torno a los 0 V, esto

generará un error en el receptor. El efecto del skew es por tanto aleatorio, pero

puede causar errores de recepción de forma insistente. También puede aumentar

el número de interferencias electromagnéticas (EMI) generadas por el sistema de

transmisión. Si las salidas complementarias son perfectamente simétricas y el

cable de par trenzado de la línea está perfectamente equilibrado, la radiación

generada por un cable es completamente cancelada por la radiación del otro,

( idéntica y de sentido contrario, al ser las salidas complementarias ). Si existe

desequilibrio ( skew) entre las salidas, la red generará una radiación proporcional

a este skew.

MEMORIA DESCRIPTIVA 3-16

EL ESTANDAR RS-485

Equilibrio

La impedancia vista por cada una de las entradas complementarias del

transreceptor debe ser idéntica. Si existe algún desequilibrio en algún nudo, el

rechazo en modo común se verá degradado. Cualquier desequilibrio de la señal

de DC debido a una diferencia en las impedancias de entrada, aparecerá como una

tensión de offset sobre el umbral del receptor, y puede ser fácilmente comprobada

al probar el dispositivo. Más difíciles de detectar son, sin embargo, los

desequilibrios en AC, pero pueden afectar a la inmunidad al ruido en altas

frecuencias. Un pico de ruido dentro del rango de las tensiones comunes sobre un

receptor desequilibrado causará una señal diferencial falsa. Si el receptor es lo

suficientemente rápido, ( así ocurre en la mayoría de los casos ), responderá a

esta señal de ruido. Es importante mantener el posible desequilibrio por debajo

de 4 pF, este valor es razonablemente fácil de conseguir, además, el desequilibrio

combinado de 32 transreceptores proveerá al sistema de suficiente inmunidad

contra los ruidos e interferencias de alta frecuencia.

1.1.4.3.2,Consideraciones de diseño.

El circuito del emisor necesita de las mayores esfuerzos en concepto de

diseño. La velocidad, tensiones de salida y el rango de tensiones en modo común,

MEMORIA DESCRIPTIVA 3-17

EL ESTANDAR RS-485

se consiguen fácilmente utilizando tecnología bipolar. Las consideraciones de

diseño aquí reseñadas corresponden, por tanto, a esta tecnología. Sin embargo,

el Circuito Integrado ( C I) usado en el proyecto, utiliza tecnología CMOS. Al no

estar disponible información sobre las características concretas de los dispositivos

CMOS utilizados, hemos supuesto que existe un paralelismo más que suficiente,

entre las características principales de ambas tecnologías. En el apartado *******

se explican consideraciones concretas sobre el circuito LTC485 de Linear

Technology empleado. Podemos adelantar aquí algunos de los motivos que nos

decantaron por la selección de este CI. En primer lugar los cicuitos SN75176 de

National Semicondnctor , que corresponden a la alternativa bipolar, tienden a

desaparecer del mercado ( la serie 75000 es bastante antigua), con lo que existían

serios problemas en localizarlos, más aún dentro de unos años. Por otro lado con

la tecnología CMOS se consigue un ahorro de entorno al 60% en el consumo.

En el diseño de National semicondntor sobre tecnología bipolar, se utiliza

un diodo Schottky con una capa epitaxial 5 ¡j¡.m. Los transistores NPN están

fabricados con valores de Vceo para la ruptura de como mínimo 15 V como se

específico anteriormente. Para conseguir una buena respuesta a los requerimientos

de velocidad, que como hemos comentado son de gran importancia, se utilizan

transistores PNP laterales y NPN creados con un proceso EPI de 5 ¡xm.

MEMORIA DESCRIPTIVA 3-18

EL ESTANDAR RS-485

La figura 4 muestra el circuito de salida de emisor utilizado por National,

es una típica salida en tótem pole, modificada para dotarle de un rango de

tensiones comunes que supere los límites de la alimentación. Si, por ejemplo, la

salida del emisor está a -7 V mientras que el emisor está en modo de

TRIESTADO, se deben tomar precauciones para que no se produzca el encendido

de los diodos del sustrato. Esto se consigue incluyendo un diodo DI en el

transistor de salida Q l. El único modo de aislar la parte alta del tótem pole del

sustrato, es utilizando transistores PNP laterales. En la figura 4, se utiliza un

transistor PNP lateral para realizar la fuente de corriente IG. El problema estriba

en que los transistores PNP laterales son extremadamente lentos; el truco, por

tanto, está en no utilizar PNP laterales en la etapa de conmutación. En el circuito

de la figura, el transistor PNP es una fuente de corriente que alimenta al transistor

NPN Q2, y, por lo tanto, no participa en el circuito de conmutación. Esto permite

al emisor tener un retardo de propagación de solo 15 ns y 10 ns para la rampa de

subida al cambiar de nivel. El circuito de Linear Technology utilizado tiene un

retardo de 30 ns, esto es suficiente, ya que nosotros no vamos a operar en los

rangos de velocidad más elevados. No se puede utilizar un Darlington en vez de

Q2, porque esto reduciría el voltaje de 1.5 de las especificaciones. Por tanto, el

tiempo de subida será mucho mayor que el de bajada, generando un gran

desequilibrio de propagación ( skew ). Los emisores de National utilizan un

circuito especial que retarda el tiempo de bajada y lo iguala al de subida, conserva

MEMORIA DESCRIPTIVA 3-19

EL ESTANDAR RS-485

ambos tiempos de transición iguales incluso ante variaciones de temperatura. Esto

mantiene el Skew muy pequeño para un amplio rango de temperaturas, en torno

a los 2 ns a 25“C ( 5 ns para el LTC485 ).

Por otro lado, los circuitos deben ir protegidos contra condiciones de error

o de ’line contention’, Una forma de hacerlo es ajustando la corriente y la tensión

a un valor determinado de potencia, y si resulta necesario, apagar el dispositivo

o limitando su corriente de salida para evitar daños. Este método presenta la

ventaja de la rapidez en la detección de un fallo y rapidez en la recuperación de

las condiciones normales de funcionamiento.. Sin embargo, deben sucederse

muchas contingencias para que se saque partido de un circuito de protección de

este tipo. El circuito de National utiliza una simple protección térmica, que

resulta mucho más seguro. El dispositivo es deshabilitado cuando la temperatura

excede un cierto nivel. Este método es de alguna manera más lento ( del orden

de milisegundos ), pero lo suficientemente rápido como para protegerlo. Un fallo

típico se genera normalmente por una caída del software del protocolo o un fallo

de hardware. Con fin a notificar de alguna manera el fallo, algunos dispositivos

incluyen una línea para activarla en caso de que actué la protección. Si se emplea

la protección térmica en un emisor, al estar utilizando paquetes de 8 pines con dos

emisores y dos receptores, ambos dispositivos quedarán bloqueados.

MEMORIA DESCRIPTIVA 3-20

EL ESTANDAR RS-485

Por último el receptor tiene una histéresis de 70 mV ( típica ), igual para

el LTC485, para mejorar la inmunidad al ruido. La histeresis puede contribuir a

algunas distorsiones, especialmente en líneas cortas, si los tiempos de subida y

bajada son distintos. Sin embargo, esto es más que suficiente para líneas largas.

La coincidencia entre los tiempos de subida y bajada garantiza, de todas formas,

una distorsión mínima incluso con redes cortas y velocidades elevadas.

MEMORIA DESCRIPTIVA 3-21

LA PT.ACA XCRS

LA PLACA XCRS

1.1.5■CENTRALES BIDIRECCIONALES. LA PLACA XCRS

1.1.5.1.Introducción a las centrales bidireccionales.

B a jo e l nom bre de c e n t r a l e s b i d i r e c c i o n a l e s ,

in t e g r a m o s a l a s n u e v a s a la r m a s , que a p o y a d a s en l a

p o t e n c i a d e l m ic r o p r o c e s a d o r d is p o n e n de l a s

c a r a c t e r í s t i c a s n e c e s a r i a s p a r a l a t r a n s m is ió n / r e c e p c ió n

de in f o r m a c ió n . N os p a ra m o s p a r a e x p l i c a r c u a le s s o n l o s

p r i n c i p i o s fu n d a m e n ta le s de f u n c io n a m ie n t o de l a p l a c a

c o n l a que s e h a d e s a r r o l l a d o e l p r o y e c t o , y que q u e d a

e n c la v a d a b a jo e s t a d e n o m in a c ió n .

Un b r e v e r e p a s o h i s t ó r i c o n o s s i t ú a a l a s c e n t r a l e s

m ic r o p r o c e s a d a s como l a t e r c e r a g e n e r a c ió n de l o s

s is t e m a s de a la r m a y d e t e c c ió n , t r a s l o s p r im e r o s m o d e lo s

b a s a d o s en co m p o n e n te s d i s c r e t o s p r im e r o y en c i r c u i t o s

CMOS d e s p u é s . T r a s l a s p r im e r a s c e n t r a l e s m ic r o p r o c e s a d a s

m u lt ip le x a d a s s u r g e n l a s c e n t r a l e s b i d i r e c c i o n a l e s .

Una c e n t r a l b i d i r e c c i o n a l , e s , p o r t a n t o , u n a

c e n t r a l m ic r o p r o c e s a d a , que d e b e e s t a r c o n c e b id a p a r a

MEMORIA DESCRIPTIVA 4-2

LA PLACA XCRS

s o p o r t a r u n s o f t w a r e de g e s t i ó n que p e r m it a c o n t r o l a r l a s

g e s t i o n e s i n t e r n a s p r o p i a s . En p r im e r l u g a r d e b e

c o m p o r t a r s e como l o que e s , u n a c e n t r a l de a la r m a , y p o r

t a n t o , s o n f u n c io n e s p r i m o r d i a l e s l a d e t e c c ió n p u n to p o r

p u n t o , l a s e ñ a l i z a c i ó n de a la r m a , l a s u p e r v i s i ó n de l a

l í n e a p a r a e v i t a r s a b o t a j e s , e n t r a d a s y s a l i d a s

p r o g r a m a b le s . P o r o t r o la d o l a c e n t r a l b i d i r e c c i o n a l e s un

e le m e n to de t e l e c o n t r o l y t e l e g e s t i ó n , p o r l o que d e b e

p e r m i t i r l a c o m u n ic a c ió n en l o s d o s s e n t id o s c o n e l

c e n t r o de c o n t r o l .

Una c e n t r a l b i d i r e c c i o n a l d e b e c o n t e n e r

n e c e s a r ia m e n t e u n m ic r o p r o c e s a d o r c a p a z de e j e c u t a r un

p ro g ra m a y a t e n d e r l a s i n t e r r u p c i o n e s , u n b u s p r o g r a m a b le

de e n t r a d a s , u n s is t e m a de c o m u n ic a c ió n c o n e l e x t e r i o r (

t íp ic a m e n t e in c o r p o r a m a rc a d o r y modem ) , u n " b u s" de

s a l i d a s y u n r e l o j in t e r n o . L a s f u n c io n e s m ín im a s a

d e s a r r o l l a r s e r i a n :

* D e t e c c ió n de a la r m a s .

* S u p e r v i s i ó n de l í n e a s .

* A c t i v a c i ó n / i n h i b i c i ó n de e n t r a d a s .

* G e s t ió n l o c a l de a la r m a s .

* C a m b io s de c o n f i g u r a c i ó n d ia / n o c h e .

* G e s t ió n l o c a l de s a l i d a s .

MEMORIA DESCRIPTIVA 4-3

LA PLACA XCRS

* T r a n s m is ió n de in f o r m a c ió n de e s t a d o y a la r m a s .

* P r u e b a s p e r i ó d i c a s y t r a n s m is ió n de r e s u l t a d o s .

* C a m b io s de p r o g r a m a c ió n l o c a l / d i s t a n t e .

* R e s p u e s t a a dem andas d e l c e n t r o de c o n t r o l re m o to .

* I n t e g r a c i ó n en u n a r e d j e r á r q u i c a .

* E j e c u c i ó n de co m an d o s.

* P ru e b a s a d i s t a n c i a de l o s d e t e c t o r e s .

P e r m it ie n d o r e a l i z a r d e s d e e l c e n t r o de c o n t r o l l a s

m ism as f u n c io n e s que p u d ié s e m o s h a c e r m a n u alm e n te s o b r e

l a p l a c a .

Un d ia g r a m a de b lo q u e s de u n a c e n t r a l b i d i r e c c i o n a l

t í p i c a c o n s t a , como vem.os en l a f i g u r a d e :

* M ic r o p r o c e s a d o r .

* M em oria RAM, p a r e a lm a c e n a r l o s d a t o s v o l á t i l e s

que s u r j a n d u r a n t e e l d e s a r r o l l o d e l p ro g ra m a .

* M em oria EPROM, i n c l u y e l a c o n f i g u r a c i ó n de l a

c e n t r a l .

* D i s p o s i t i v o s de e n t r a d a / s a l i d a .

* C o n t r o la d o r / c o n v e r t id o r de e n t r a d a s .

* C o n t r o la d o r / c o n v e r t id o r de s a l i d a s .

* C o n t r o l de c o m u n ic a c io n e s y m ódem s.

* R e l o j , i n c lu y e n W a tc h -d o g p a r a e v i t a r c u a l q u i e r

p ro b le m a d e b id o a u n f a l l o en e l m ic r o p r o c e s a d o r o en

MEMORIA DESCRIPTIVA 4-4

LA PLACA XCRS

a lg ú n p e r i f é r i c o que s e u t i l i c e .

* P u e r t o de e n t r a d a / s a l i d a .

* C o n t r o le s y s u p e r v i s i ó n l o c a l e s .

* E x p a n s o r de b u s e s .

* F u e n te de a l im e n t a c ió n .

Una de l a s c a r a c t e r í s t i c a s más im p o r t a n t e s de l a s

c e n t r a l e s b i d i r e c c i o n a l e s s e c e n t r a n en s u c o m u n ic a c ió n

c o n e l e x t e r i o r . T íp ic a m e n t e e s t á c o m u n ic a c ió n s e h a c e

v i a modem, e l modem e s t a c o n t r o la d o d ir e c t a m e n t e p o r u n a

s a l i d a d e d ic a d a d e l m ic r o p r o c e s a d o r , c o n o c id a como p u e r t o

s e r i e . E s t e d i s p o s i t i v o e s t á in t e g r a d o en l a a r q u i t e c t u r a

de l a c e n t r a l b i d i r e c c i o n a l , y e s e l e le m e n to de

t r a n s m is ió n y r e c e p c ió n d i f e r e n c i a d o r . E l t i p o de modem

a u t i l i z a r v ie n e d e te rm in a d o p o r l a LO T , y a qu e s e e x ig e

u n a h o m o lo g a c ió n p o r p a r t e de T e l e f ó n i c a , que d e b e e s t a r

de a c u e r d o c o n l a n o r m a l i z a c ió n de l a C C I T T . A c t u a lm e n t e

s e u t i l i z a l a norm a V .2 1 a 1200 b a u d io s ; p a r a t r a b a j a r a

9600 b a u d io s n e c e s it a m o s de l a norm a V . 2 2 . L a v e l o c i d a d

de l a t r a n s m is ió n no r e s u l t a u n p ro b le m a a c u c ia n t e s i

te n e m o s en c u e n t a que l a m a yo r p a r t e d e l t ie m p o l o

d e d ic a m o s a l a c o n e x ió n t e l e f ó n i c a ( d e t e c c ió n de to n o ,

m a r c a c ió n , d e t e c c ió n de s e ñ a l de lla m a d a y c o n e x ió n ) , y

p o r o t r o la d o e l aum ento de v e lo c id a d e s s u s c e p t i b l e de

MEMORIA DESCRIPTIVA 4-5

LA PLACA XCRS

g e n e r a r m a yo r núm ero de e r r o r e s de t r a n s m is ió n . E l a c c e s o

a e s t a v í a de c o m u n ic a c ió n l o r e a l i z a e l m ic r o p r o c e s a d o r

m e d ia n t e in t e r r u p c i o n e s d e l s is t e m a . E l in t e r c a m b io de

d a t o s c o n e l e x t e r i o r e s t á p r o t e g id o f r e n t e a l o s e r r o r e s

de t r a n s m is ió n , p a r a e l l o s e u t i l i z a e l m étodo de

c o r r e c c i ó n de e r r o r e s h a c ia d e la n t e ( F E C ) , a s í como

f r e n t e a p o s i b l e s i n t e n t o s de s a b o t a je de t e r c e r o s ,

m e d ia n t e l a c o d i f i c a c i ó n co n c ó d ig o s y d í g i t o s de

s e g u r id a d que e v i t a n l a s m a n ip u la c io n e s in d e s e a d a s .

A d ic io n a lm e n t e , y como u n a f a c i l i d a d a ñ a d id a , l a

c e n t r a l b i d i r e c c i o n a l c u e n t a c o n u n a s e r i e de

d i s p o s i t i v o s p e r i f é r i c o s a u x i l i a r e s como s o n :

* V i s u a l i z a d o r e s a l f a n u m é r ic o s ( D i s p l a y L C D ) .

* L l a v e s de c o n m u ta c ió n d ía / n o c h e .

* T e c la d o s l o c a l e s .

* C o n e x io n e s p a r a l a r e p r o g r a m a c ió n d e l s is t e m a de

modo l o c a l , e s t e d i s p o s i t i v o no e s o t r a c o s a que u n

p u e r t o s e r i e c o n s a l i d a R S -2 3 2 que p e r m it a m e d ia n te u n

o r d e n a d o r l o c a l , m o d i f i c a r l a p r o g r a m a c ió n de l a p l a c a ,

a s í como l a s t e m p o r iz a c io n e s . En p r i n c i p i o e s t a c o n e x ió n ,

s o l o e s t á p e n s a d a p a r a l a p r o g r a m a c ió n p o r p a r t e d e l

o p e r a d o r e s p e c i a l i z a d o . En e l p r o y e c t o o b je t o de e s t a

m e m o ria , é s t a e s l a v í a de c o m u n ic a c ió n que s e u t i l i z a

MEMORIA DESCRIPTIVA 4-6

LA PLACA XCRS

p a r a e n l a z a r l a s p l a c a s . A l c o n t r a r i o de l o q u e o c u r r e

c o n l a s a l i d a modem, p a r a l o c o n e x ió n R S -2 3 2 l a v e l o c i d a d

s í e s u n f a c t o r de c i e r t a im p o r t a n c ia , a l no h a b e r

p e r io d o s de e s p e r a s i m i l a r e s a l o s de l a c o m u n ic a c ió n

m e d ia n te R ed T e l e f ó n i c a co n m u tad a ( R TC ) .

B a s t e como e je m p lo e l d e c i r , que d u r a n t e e l p r o c e s o de

p o l l i n g que s e e j e c u t a p a r a l e e r e l e s t a d o de l a s p l a c a s ,

s i l a v e l o c i d a d e s de 300 b a u d io s , l a d u r a c ió n de l a

c o m u n ic a c ió n c o n u n a s o l a p l a c a e s de a p ro x im a d a m e n te 2

s e g u n d o s . P o r t a n t o s i c o n e c ta m o s v a r i a s p l a c a s , y te n e m o s

e n c u e n t a l a p r o b a b i l i d a d de que u n a l e c t u r a no s e a

c o r r e c t a p o r c u a l q u i e r c i r c u n s t a n c i a y e l t ie m p o de

r e a c c i ó n d e l s is t e m a a n t e u n a a la rm a p u e d e h a c e r n o s e l

p r o y e c t o c o m p le ta m e n te i n e f i c a z p a r a e l o b j e t i v o q u e s e

p r e t e n d e , de a h í l a n e c e s id a d de a u m e n ta r l a v e l o c i d a d de

l a s c o m u n ic a c io n e s a t r a v é s d e l p u e r t o s e r i e R S -2 3 2 a l o s

2400 o l o s 9600 b a u d io s . a 9600 b a u d io s d is m in u im o s e l

t ie m p o de c a d a p o l l i n g en a p ro x im a d a m e n te 32 v e c e s , p o r

l o q u e , au n q u e aum ente l a p r o b a b i l i d a d de que e x i s t a un

e r r o r de t r a n s m is ió n , n u n c a s e r á t a n p e r j u d i c i a l como en

e l c a s o a n t e r i o r , y l o s t ie m p o s de r e s p u e s t a d e l s is t e m a

e s t a r á n d e n t r o de l o r a z o n a b le .

P o r ú l t im o , c a b e c i t a r e l h e c h o de que e l h a rd w a re

MEMORIA DESCRIPTIVA 4-7

LA PLACA XCRS

t í p i c o de c u a l q u i e r c e n t r a l b i d i r e c c i o n a l , e s l o

s u f ic ie n t e m e n t e p o t e n t e p a r a que no e x i s t a n e le m e n t o s

d i f e r e n c i a d o r e s e n t r e l o s d i v e r s o s m o d e lo s e x i s t e n t e s en

e l m e rc a d o , s ie n d o e l s o f t a w a r e e l e le m e n to l i m i t a n t e de

l a p o t e n c ia de g e s t i ó n d e l s is t e m a , y p o r t a n t o , e l

c a b a l l o de b a t a l l a de l a s e m p re sa s que d e s a r r o l l a n

s is t e m a s de s e g u r id a d b a s a d o s en e l l a s . C u e s t io n e s como

l a s e g u r id a d en l a t r a n s m is ió n de d a t o s , s o b r e to d o

cu a n d o é s t a s s e r e a l i z a n a t r a v é s de r e d e s p ú b l i c a s , como

l a R T C , o l a R ed de C o n m u ta c ió n de P a q u e t e s , a s í como l a

c a p a c id a d de g e n e r a r g r á f i c o s en t ie m p o r e a l que

r e p r e s e n t e n l a d i s p o s i c i ó n de l o s s e n s o r e s y s u e s t a d o en

l a i n s t a l a c i ó n a v i g i l a r ; s o n l o s f a c t o r e s que más

p o t e n c ia n a c t u a lm e n t e l a s p o s i b i l i d a d e s de i n t r o d u c i r s e

en e l m e rca d o de l a s e m p re sa s que o f r e c e n e s t o s

s e r v i c i o s . A e s t o debem os u n i r l a n e c e s id a d de d i s e ñ a r

s is t e m a s co n u n a a l t a c a p a c id a d de a d a p t a c ió n a l o s

d i s t i n t o s e n t o r n o s de f u n c io n a m ie n t o , s i n t e n e r que p a s a r

p o r f a r r a g o s o s p r o c e s o s de p r o g r a m a c ió n , n i p o r

c o n s t a n t e s p u e s t a s a p u n to d e l s is t e m a

P o r o t r o la d o , e l o b j e t i v o f u t u r o p a r e c e e s t a r en

l a s r e d e s de c e n t r a l e s b i d i r e c c i o n a l e s , s ie n d o e s t e

p r o y e c t o u n p r im e r p a s o en l a c r e a c ió n de e s t a s r e d e s .

MEMORIA DESCRIPTIVA 4-8

LA PLACA XCRS

Aún p r e s e n t a n d o u n a s e r i e de r e s t r i c c i o n e s como

d i s t a n c i a s y v e lo c id a d e s m áxim as a lg o l i m i t a d a s y no

d is p o n e r de a p o yo g r á f i c o en l a r e p r e s e n t a c i ó n de l o s

e s t a d o s , e l p r e s e n t e p r o y e c t o a p o r t a u n a s e r i e de id e a s

s o b r e l a g e s t i ó n de v a r i a s de e s t a s c e n t r a l e s de fo rm a

c o n ju n t a b a jo e l c o n t r o l de u n a u n id a d c e n t r a l ( en e s t e

c a s o e s u n P C , p e r o p o d r ia h a b e r s id o u n a t a r j e t a

d is e ñ a d a a l e f e c t o ) , adem ás de s u c o n e x ió n b a s a d a en e l

e s t á n d a r R S -4 8 5 y e l p r o t o c o lo s e n c i l l o , to d o e l l o c o n l a

l i m i t a c i ó n i n i c i a l de no p o d e r h a c e r m o d i f i c a c io n e s s o b r e

l a s p l a c a s p r e e x i s t e n t e s .

1.1.5.2.La placa XCRS de Nutrónica.

E l p r o y e c t o t ie n e como o b j e t i v o e l a p r o v e c h a r l a

c e n t r a l b i d i r e c c i o n a l que c o m e r c i a l i z a NUTRONICA.S.A., como b a s e de u n a c o n f i g u r a c i ó n de r e d e s de c e n t r a l e s

b i d i r e c c i o n a l e s . L a p l a c a a u t i l i z a r , r e s p o n d e , p o r

t a n t o , a to d o s l o s r e q u i s i t o s e x p u e s t o s en e l a p a r t a d o

a n t e r i o r , y que d i s t i n g u e n y d e f in e n a u n a c e n t r a l

b i d i r e c c i o n a l . A n t e r io r m e n t e s e e n u m e ra ro n c a d a uno de

l o s e le m e n t o s p r o p io s de l a c e n t r a l b i d i r e c c i o n a l de

NUTRONICA ( V e r in t r o d u c c i ó n 1 . 1 . 2 ) ; no e n tr a r e m o s en

más p r o f u n d id a d e s en e s t e a p a r t a d o , y a que p a r a l a

MEMORIA DESCRIPTIVA 4-9

LA PLACA XCRS

e j e c u c i ó n de e s t e p r o y e c t o , no hem os n e c e s i t a d o u n

c o n o c im ie n t o e x h a u s t iv o d e l h a rd w a r e . P o r e l c o n t r a r i o ,

e l p r o y e c t o s e a p o y a , c a s i p o r c o m p le to , en e l s o f t w a r e

de q u e d is p o n e l a c e n t r a l , y p a r a f u t u r o s d e s a r r o l l o s

s ig u ie n d o e l ca m in o e m p re n d id o p o r e s t e p r o y e c t o , e l

d o t a r a l a c e n t r a l b i d i r e c c i o n a l de i n s t r u c c i o n e s

e s p e c í f i c a s p a r a s u fu n c io n e m ie n t o b a jo u n a f i l o s o f í a de

r e d , c o n s t i t u i r á un a v a n c e im p o r t a n t e .

E s i n t e r e s a n t e r e c o r d a r que l a c e n t r a l b i d i r e c c i o n a l

que s e u t i l i z a en e l p r o y e c t o , d is p o n e de 16 e n t r a d a s

d i g i t a l e s , fo rm a d a s p o r l í n e a s n o rm a lm e n te c e r r a d a s

m e d ia n te u n a r e s i s t e n c i a a t i e r r a de 5 .6 KQ y M W, y de

4 s a l i d a s de r e l e , a m p l ia b le s m e d ia n te u n b u s de

e x p a n s ió n a 32 s a l i d a s . E s i n t e r e s a n t e c o n o c e r , a l m enos

so m eram en te como f u n c io n a l a c e n t r a l .

E l m ic r o c o n t r o la d o r in c o r p o r a d o e j e c u t a u n a

i n t e r r u p c i ó n c a d a 70 m s . D u r a n te e s e p r o c e s o de

e x c e p c ió n , m ir á e l e s t a d o de l a s e n t r a d a s m e d ia n te u n

' p o l l i n g ' a c a d a uno d o s de s u s p u e r t o s ( d is p o n e de 4

p u e r t o s de 8 b i t s in c o r p o r a d o s , de e l l o s d o s e s t á n

d e d ic a d o s a l a s e n t r a d a s , o t r o a l a e x p a n s ió n p a r a

m e m o ria e x t e r n a y e l ú l t im o a l a s c o m u n ic a c io n e s y a l

MEMORIA DESCRIPTIVA 4-10

LA PLACA XCRS

c o n t r o l de l a s s a l i d a s de r e l e , de e s t a fo rm a s e e x p l i c a

e l p o rq u é de l a l i m i t a c i ó n a 16 e n t r a d a s y 4 s a l i d a s de

l a c e n t r a l ) . Con l a in f o r m a c ió n o b t e n id a e f e c t ú a l a s

a c c io n e s que c o r r e s p o n d a n a l p ro g ra m a en f u n c io n a m ie n t o .

D ic h o p ro g ra m a s e d e f in e en u n a EEPROM e x t e r n a , en l a que

s e p u e d e e s c r i b i r en c u a l q u i e r m om ento. C a d a u n a de l a s

p o s i c i o n e s de m em oria de e s a EEPROM c o r r e s p o n d e a u n a

d e f i n i c i ó n de l a r e s p u e s t a d e l s is t e m a a n t e l a

in f o r m a c ió n l e í d a en l a s e n t r a d a s . E l p r o c e s o e s , p o r

t a n t o , s im p le ; y p a r a p r e v e n i r p o s i b l e s f a l l o s d e l

s is t e m a , e l m ic r o c o n t r o la d o r d is p o n e de un 'W a t c h -D o g '

que l o r e i n i c i a r í a .

L a c e n t r a l b i d i r e c c i o n a l de NÜTRONICA i n c l u y e u n

b a n c o de t e l é f o n o s , que c o r r e s p o n d e n a l o s d i s t i n t o s

c e n t r o s de c o n t r o l . En u n p r o c e s o com ún, c o n l a c e n t r a l

c o n e c t a d a a l a R T C , é s t a m a r c a r á s u c e s iv a m e n t e l o s

t e l é f o n o s i n c l u i d o s en su b a n c o de d a t o s , e s p e r a r á u n a

c o n t e s t a c ió n , p a r a a c o n t in u a c ió n e n v i a r s u e s t a d o . En e l

c e n t r o d e c o n t r o l s e d is p o n e de u n o rd e n a d o r en e l que

a p a r e c e r á l a in f o r m a c ió n en fo rm a g r á f i c a ; e s t o e s ,

s e ñ a la n d o en u n p la n o l a a la rm a o e l d i s p o s i t i v o

d is p a r a d o . E n l a c o n e x ió n en r e d de l a s c e n t r a l e s p a r a

e s t e p r o y e c t o , no s e h a p r e t e n d id o d a r u n a in f o r m a c ió n

MEMORIA DESCRIPTIVA 4-11

LA PLACA XCRS

g r á f i c a , p e r o e s e v id e n t e que e s t o su p o n e u n a g r a n

v e n t a j a en in f o r m a c ió n , más a ú n , p a r a e l u s u a r i o no

e s p e c i a l i z a d o .

E s p o r l a g r a n im p o r t a n c ia d e l s o f t w a r e de l a

c e n t r a l , y s o b r e to d o de l a s i n s t r u c c i o n e s h a b i l i t a d a s

p a r a s u c o m u n ic a c ió n co n e l e x t e r i o r , en e l d e s a r r o l l o

c o n c e p t u a l d e l p r o y e c t o , p o r l o que a c o n t in u a c i ó n se

d e t a l l a r á n a lg u n a s de l a s i n s t r u c c i o n e s d i s p o n i b l e s e n l a

c e n t r a l . En e s t a e n u m e ra c ió n de i n s t r u c c i o n e s s e h a n

o b v ia d o a q u e l l a s que no s e h an e m p le ad o en e l p r o y e c t o .

1.1.5.2.1.Comandos de la central.

L o s com andos de l a c e n t r a l b i d i r e c c i o n a l de

NUTRONICA, que d e t a l la m o s a c o n t in u a c ió n d e b e n c u m p l i r

l o s s i g u i e n t e s r e q u i s i t o s :

1 . - M a n te n e r l o s e s p a c io s s i e x i s t i e s e n , y no

i n c l u i r l o s s i no e x i s t e n .

2 . - E s c r i b i r s ie m p re en m a y ú s c u la s .

3 . - I r p r e c e d id o s d e l s ím b o lo que c o r r e s p o n d a , s e g ú n

e l num ero de p l a c a d e n t r o l a r e d . P a r a u n a s o l a p l a c a e l

s ím b o lo e s " $ " , y no deb e i r acom pañado de e s p a c i o s . P o r

e je m p lo $dameestsal.

MEMORIA DESCRIPTIVA 4-12

LA PLACA XCRS

L a s i n s t r u c c i o n e s u t i l i z a d a s p a r a e l d e s a r r o l l o d e l

p r o y e c t o f u e r o n :

RESETSISTEMA

R ep o n e l a c e n t r a l , e l e f e c t o e s e l m ism o que s i

h u b ié s e m o s a p a g a d o l a a l im e n t a c ió n . Debem os u t i l i z a r e s t a

i n s t r u c c i ó n cu a n d o m o d if iq u e m o s c i e r t a s p o s i c i o n e s de l a

m e m o ria EEPROM que c o r r e s p o n d e n a d a t o s que e l s is t e m a

c a r g a en RAM a l a r r a n c a r ; de o t r o modo l a s

c o n f i g u r a c i o n e s no s u r t i r í a n e f e c t o en e s e i n s t a n t e . A l

u t i l i z a r e s t a i n s t r u c c i ó n s e p ie r d e , p o r o t r o la d o , e l

modo d e f u n c io n a m ie n t o , se re p o n e n l a s a la r m a s y s e

d e s a c t i v a n l o s r e l e s .

DAMEESTENT

Se p id e que e l s is t e m a e n v íe p o r l a l í n e a a c t i v a de

c o m u n ic a c io n e s , en e s t e c a s o l a l i n e a s e r i e R S -2 3 2 de l a

c e n t r a l , l o s e s t a d o s de l a s 16 e n t r a d a s . L a r e s p u e s t a e s

de l a fo rm a :

©ENTRADAS RRRMA****SSRRAAR

MEMORIA DESCRIPTIVA 4-13

LA PLACA XCRS

C a d a uno de l o s s ím b o lo s c o r r e s p o n d e a l o

s i g u i e n t e :

@ - E s t e s ím b o lo l o e n v ía l a c e n t r a l como s ím b o lo de

c o n t r o l c a d a v e z que c o m u n ic a a lg o .

R -Reposición-I n d i c a que l a e n t r a d a e s t á en e s t a d o

de r e p o s i c i ó n , e s t o e s , que e s t á a c t i v a d a y p r e p a r a d a

p a r a r e s p o n d e r a l a a la r m a . E s t a s i t u a c i ó n o c u r r e cu a n d o

l a l í n e a de d ic h a e n t r a d a e s t á p u e s t a a t i e r r a c o n l a

r e s i s t e n c i a de 5 .6 kQ a n t e s c i t a d a .

M -Mascarada-I n d i c a que d ic h a e n t r a d a no e s t e n id a

en c u e n t a p o r e l s is t e m a , aunque s í e s t á a c t i v a . E s t o

i n d i c a que au n q u e s e p r o d u z c a u n a a la r m a , e l s is t e m a no

r e s p o n d e r á a e l l a .

* -Inactiva-Al i n i c i a l i z a r e l s is t e m a d ic h a l í n e a

e s t á a l a i r e , p o r l o t a n t o no e s c o n s id e r a d a p o r l a

c e n t r a l h a s t a que no se r e i n i c i a l i z a e l s i s t e m a .

A -Alarma-I n d i c a que en u n a de l a s l í n e a s qu e s e

e n c o n t r a b a n en e s t a d o de r e p o s i c i ó n , e l d i s p o s i t i v o

e n c a r g a d o de d i s p a r a r l a a la rm a { d e t e c t o r de in c e n d i o s ,

s e n s o r m a g n é t ic o , e t c . ) h a c o r t a d o l a l í n e a

c o r r e p o n d ie n t e . L a c e n t r a l en e s e momento r e a l i z a r á l a s

o p e r a c io n e s p ro g ra m a d a s p a r a t a l e v e n t u a l id a d ,

o p e r a c io n e s t a n t o de a c t i v a c i ó n de r e l e s de s a l i d a como

de c o m u n ic a c ió n d e l h e c h o a l a c e n t r a l re m o ta de c o n t r o l .

MEMORIA DESCRIPTIVA 4-14

LA PLACA XCRS

S - S a b o t a j e - D e t e c t a que s e ha p r o d u c id o u n s a b o t a je

en l a l í n e a , e s t o o c u r r e c u a n d o .

DAMEESTSAL

S e p id e que e l s is t e m a e n v íe p o r l a l í n e a de

c o m u n ic a c io n e s l o s e s t a d o s de l a s 32 s a l i d a s d i s p o n i b l e s

p a r a c a d a p l a c a . L a r e s p u e s t a de l a p l a c a e s de l a fo rm a :

© SA LID A S DRDR* * * * * * * * * * * * * * * * * * * *RRRR* * * *

C a d a u n a de e s t a s l e t r a s c o r r e s p o n d e a l o s i g u i e n t e :

@ -Id e m a l c a s o a n t e r i o r .

D -Disparo-I n d i c a que e l r e l e c o r r e s p o n d ie n t e a e s a

s a l i d a a ca m b ia d o de e s t a d o .

R -Reposición-I n d i c a que d ic h a s a l i d a e s t á a c t i v a d a ,

en e s p e r a de que s e p r o d u z c a u n d i s p a r o .

* -Inactivo- I g u a l que e l c a s o a n t e r i o r , l a s a l i d a

e s t á i n a c t i v a de fo rm a que no m o d i f i c a r á s u e s t a d o h a s t a

que s e p r o d u z c a u n a r e i n i c i a l i z a c i o n d e l s is t e m a .

REPONER

MEMORIA DESCRIPTIVA 4-15

LA PLACA XCRS

E s t a i n s t r u c c i ó n r e t o r n a a su e s t a d o i n i c i a l to d o

l o s r e l e s de s a l i d a que s e e n c u e n t r e n d is p a r a d o s , a s í

como a q u e l l a s e n t r a d a s que h a b ie n d o d ado s e ñ a l de a la r m a ,

en e s e momento no d e t e c t e n n in g u n a i n c i d e n c i a que l a

p r o d u z c a .

E l s is t e m a re s p o n d e co n e l e s t a d o de l a s e n t r a d a s ,

s a l i d a s y e l modo s ig u ie n d o e l fo rm a to que c o r r e s p o n d e a

c a d a u n a de e l l a s .

DAMEMODO

L a c e n t r a l d is p o n e de 4 modos de f u n c io n a m ie n t o que

s o n : d í a , n o c h e , t e s t , r e p o s i c i ó n . L o s d o s p r im e r o s

p e r m it e n d e f i n i r d o s c o n f i g u r a c i o n e s , t íp ic a m e n t e l a

a p l i c a c i ó n su p o n e que d u r a n t e e l d í a l a a p e r t u r a de

p u e r t a s de a c c e s o no deb e d a r a la r m a , m ie n t r a s que p o r l a

n o c h e s í . E l modo r e p o s i c i ó n e q u iv a le a g e n e r a r

m a n u a lm e n te ( m e d ia n te u n a l l a v e que in c o r p o r a l a c e n t r a l

) u n a i n s t r u c c i ó n de REPONER. P o r ú l t im o , e l modo t e s t

p e r m it e c o m p ro b a r e l f u n c io n a m ie n t o de l a c e n t r a l en

r e v i s i o n e s , s i n a c t i v a r l o s d i s p o s i t i v o s de s a l i d a que

te n g a m o s a c o p la d o s ,- como s i r e n a s , e t c .

MEMORIA DESCRIPTIVA 4-16

LA PLACA XCRS

E l s is t e m a r e s p o n d e r á a n t e e s t a i n s t r u c c i ó n c o n :

©MODO { D IA } ( n o c h e ) ( T E S T ) (R E P O S IC IO N )

DISPARASAELIDA [N° s a l i d a ]

P e r m it e que e l o p e r a d o r d i s p a r e c u a l q u i e r a de l a s 32

s a l i d a s de fo rm a d i r e c t a .

REPONSALIDA [N° s a l i d a ]

P o d r ía m o s c o n s i d e r a r l o como l a i n s t r u c c i ó n

c o m p le m e n ta r ia de l a a n t e r i o r . R epone a s u e s t a d o i n i c i a l

l a s a l i d a in d ic a d a .

MODODIA

C a m b ia a modo d í a l a c e n t r a l , ta m b ié n s e p u e d e h a c e r

m a n u a lm e n te c o n l a l l a v e .

MODONOCHE

Pone l a c e n t r a l b a jo l a s c o n d ic io n e s m a rc a d a s p a r a

MEMORIA DESCRIPTIVA 4-17

LA PLACA XCRS

e l f u n c io n a m ie n t o n o c t u r n o .

MODO TEST

Idem p a r a a c t i v a r e l modo de t e s t de l a c e n t r a l

MEM

P e r m it e l e e r y e s c r i b i r en p o s i c i o n e s de l a EEPROM

de fo rm a r á p id a y cóm oda. E s t a i n s t r u c c i ó n e s l a que s e

u t i l i z a p a r a p r o g r a m a r l a c e n t r a l . E s ta m b ié n l a

i n s t r u c c i ó n u s a d a en e s t e p r o y e c t o p a r a m o d i f i c a r l a

c o n f i g u r a c i ó n d e l s is t e m a m ie n t r a s e s t e s ig u e

f u n c io n a n d o . E x i s t e n d o s fo r m a t o s p a r a u t i l i z a r e s t a

i n s t r u c c i ó n . P a r a l e c t u r a e s :

MEM [ D i r e c c i ó n de m em oria H e x a d e c im a l a l e e r ]

P a r a e s c r i t u r a :

MEM [ D i r e c c i ó n m e m o r ia ] , [D a to h e x a d e c im a l]

L o s d a t o s que le e m o s y e s c r ib im o s s ig u e n u n c ó d ig o

p r e d e t e r m in a d o ; c u y a e x p o s ic ió n s e r í a e x c e s iv a m e n t e l a r g a

y s i n m a yo r i n t e r é s p a r a l a e x p o s ic ió n d e l p r o y e c t o .

MEMORIA DESCRIPTIVA 4-18

DISEÑO DRT. TNTERFACE

DISEÑO DEL INTERFACERS-232 A RS-485

1.1.6.DISENO DEL INTERFACE RS-232 A RS-485.

U.ó.l.Introducción.

Para realizar el interface, se analizó en primer lugar las tarjetas de

similares características existentes en el mercado.

Debido a que las redes con operación sobre bus RS-485 no están muy

extendidas en aplicaciones de carácter comercial, debemos señalar aquí la poca

cantidad de productos existentes en esta parcela de las comunicaciones entre

dispositivos, siendo típico el que cada fabricante que opera sobre bus RS-485

incluya el hardware necesario en su producto.

Se encontró un convertidos de la firma VIDMAR CONTROL S.L. de

Barcelona. El primer paso fue por tanto en la dirección de adquirir ese interface

( ya que no era uno de los objetivos iniciales del proyecto el realizar el diseño de

dicho interface ). Sin embargo, debido al alto precio de comercialización del

citado producto ( en torno a las 20.000 pesetas * IVA por cada convertidor),

empeorado por el hecho de que eran necesarios 4 de ellas ( un presupuesto de más

MEMORIA DESCRIPTIVA 5-2

DISEÑO DEL INTERFACERS-232 A RS-485

de 100.000 pesetas ), se incluyo el diseño como un objetivo añadido al presente

proyecto.

Para realizar el diseño del mismo se partió del esquema obtenido de uno

de los convertidores que comercializa VIDMAR CONTROL S.L.. El esquema

obtenido, que aparece representado en los planos [Plano N°2] se considero como

el primer camino a seguir. Una vez montado se llego a la conclusión de que

dicho montaje ( del que se carecían de especificaciones y características, así como

de sus aplicaciones básicas ), no respondía a los requisitos técnicos que

necesitábamos para el bus de conexión que se pretendía diseñar.

Esto originó un cambio en la dirección de la ejecución del proyecto, en el

sentido de realizar un nuevo diseño del mismo. Para este nuevo diseño se partió

de cero, contando con los conocimientos de los circuitos de translación de niveles,

conversión de estándares y sobre el bus RS-485 que se habían utilizado

anteriormente.

Cabe destacar las dificultades encontradas en el proceso de diseño, debido

a la falta de información sobre el bus RS-485, así como la necesidad de adaptarlo

a un protocolo ya establecido ( el protocolo de la conexión RS-232). Por lo tanto

MEMORIA DESCRIPTIVA 5-3

DISEÑO DEL INTERFACERS-232 A RS-485

el presente proyecto no soluciona de forma definitiva el enlace de todas las

centrales a través del bus RS-485.

De todas formas, si se dan posibles soluciones a este problema, soluciones

estas que pasan en su totalidad por ampliar en demasía los objetivos del proyecto.

Por último, citar aquí el hechode que los circuitos integrados encargados

de convertir los niveles lógicos TTL de señal a la norma RS-485 son difíciles de

encontrar en el mercado español. No se consiguió, por ejemplo localizar el

circuito DS75176 en ninguno de los distribuidores con los que trabaja

NUTRONICA.S.A.. El circuito LTC485, mucho más moderno y realizado con

tecnología CMOS ( menor consumo y mayor velocidad de respuesta ) no fue

posible conseguirlo por no estar ni dentro del stock del distribuidor de Linnear

Technology en España ( Amitrón S .A .). Finalmente hubo de pedirse el Circuito

Integrado utilizado, el DS75176 de National a E.E.U.U..

Por esto, cabe considerar el interface como un producto novedoso, aunque

las redes RS-485 se utiliza en múltiples aplicaciones, tales como SEPSA en sus

redes de control en trenes de RENTE, o Staefa Control en sus autómatas para

control de climatizadores entre otros.

MEMORIA DESCRIPTIVA 5-4

DISEÑO DEL INTERFACERS-232 A RS-485

1.1.6.2.E1 convertidos RS-232/485 de Vidmar Control.

En someras explicaciones, el convertidor de VIDMAR CONTROL S.L.

consta de un circuito integrado que actúa como cambiador de niveles de RS-232

a niveles TTL. Este convertidor, el LT1080 necesita de la conexión de

condensadores externos de 1 ¡xF.

Ademas utiliza a la salida del bus, unos diodos Zener de 4.7 V como

protección.

En lo referente al integrado DS75176BN, se encarga de convertir niveles

lógicos TTL en la salida diferencial de -7V a -1-12 V que utiliza el estándar RS-

485.

El problema de este circuito estriba en que no está habilitada la posibilidad

de recepción transmisión, por lo que solo se podia utilizar como un circuito

convertodor en distancia; esto es, permitía ampliar conexiones RS-232 a distancias

mucho mayores ( como sabemos del orden de los mil metros ); pero no

funcionaba como interface RS-485 para un bus multipunto, como erá el objetivo

del proyecto.

MEMORIA DESCRIPTIVA 5-5

DISEÑO DEL INTEREACERS-232 A RS-485

1.1.6.3.E1 convertidor RS-232/485 para NUTRONICA.

1.1.6.3.1. Descripción de los integrados.

En el Anejo II, podemos encontrar las hojas de características completas

de todos los circuitos integrados estudiados en este proyecto, algunos de ellos,

como ya hemos notado, no se han conseguido localizar. Aquí vamos a detallar

algunas de las características de los que realmente se han usado en el diseño final.

1.1.6.3.1.1. E1 circuito LT1080.

El LT1080, fabricado por Linnear Technology, es un cambiador de nivel

RS-232 a TTL ( 0-5 V ) y viceversa.

N“ patilla Función

18 A -I-5V permite operación en modo normal

17 Tensión de alimentación (Vcc = -I-5V)

16 Tierra

MEMORIA DESCRIPTIVA 5-6

DISEÑO DEL INTERFACERS-232 A RS-485

N “patilla Función

15 Salida RS232 [TRl Output]

14 Entrada RS232 [RECl Input]

13 Salida en niveles TTL [RECl Output]

12 Entrada en niveles TTL [TRl Input]

9 Condensador 1 ¿uF [C+ a tierra]

6 Condensador 1 ¡xF [C2-]

5 Condensador 1 ¡xF [C2+]

4 Condensador 1 ¡xF [C1-]

3 Condensador 1 fxF [C- a tierra]

2 Condensador 1 [xF [C1+]

Las características más destacables de este integrado son que permite hasta

sobrecargas de + 30V en la línea y cuenta con dos líneas de transmisión y des

de recepción en el mismo paquete. Interesa realizar una descripción detallada de

las patillas utilizadas.

MEMORIA DESCRIPTIVA 5-7

DISEÑO DEL INTERFACERS-232 A RS-485

1.1.6.3.1.2.E1 circuito DS75176B.

El circuito DS75176B de National es un interface de niveles TTl a salida

diferencial. Este integrado ha sido utilizado en el proyecto debidoa que entre las

posibles elecciones, ha sido el único que se ha podido conseguir. Es

completamente compatible, en cuanto a la distribución de sus pines con los

circuitos SN75176A, /xA96176 y el LTC485, todos ellos de distintos fabricantes.

El DS75176 permite actuar en modo diferencial en el rango de -7V a

+ 12V, permite también diferencias de tensión de hasta ± 7V entre las diferentes

referencias del circuito. Como ya hemos dicho el transreceptor DS75176 permite

la conexión de hasta 32 unidades transreeeptoras en el bus.

Por otro lado, el fabricante garantiza un estado de alta impedancia cuando

se produce una caida de la alimentación, asi como cuando queramos mantenerlo

en ese estado.

Una de las desventajas del circuito utilizado, es que al igual que el

SN75176, esta diseñado con tecnologia bipolar ( se corresponde a la circuiteria

MEMORIA DESCRIPTIVA 5-8

DISEÑO DEL INTERFACERS-232 A RS-485

comentada en el apartado 1.1.4. ), lo que provoca un mayor cosumo que su

homologo en CMOS, el LTC485. La descripción de los pines es la siguiente.

N"patilla Función

1 Tensión de alimentación [Vcc = + 5V]

2 Salida diferencial A

3 Salida diferencial B [Salida negada]

4 Tierra

5 Entrada señal TTL para emisor

6 Enable del Driver

7 Enable del receptor [Negado]

8 Salida señal TTL de receptor

1.1.6,3»1.3.Regulador LM7805.

Es un típico regulador de tensión de 5V, que alimenta a todo el circuito

de cada una de las placas. La corriente máxima de 1 regulador empleado es de

MEMORIA DESCRIPTIVA 5-9

DISEÑO DEL INTERFACERS-232 A RS-485

100 mA.

A la entrada de la fuente ponemos un condensador de 22 ¡xF que nos filtre

el poosible rizado de la fuente de alimentación.

1.1.6.3.2.Descripci6n del funrínnainieTito.

El funcionamiento del convertidor en si consiste únicamente en una

translación de niveles de RS-232 a TTL y de TTL a RS-485 con salida diferncial

y viceversa. La complejidad del diseño estriba en habilitar tanto el receptor como

el emisor en el momento en que se deban habilitar, ya que en caso contrario de

mantenerlos habilitados constantemente, se modificaria la impedancia del circuito

y no estariamos hablando de una linea multipunto ( ya que todos los equipos

estarian recibiendo la misma información).

Al contar únicamente con las señales del puerto Rs-232, que en el caso de

las placas se ven únicamente limitadas a las señales Ready To Send ( RTS) y

Clear To Send (CTS), y estar todo el protocolo basado en una transmisión a 3

hilos ( Rx, Tx y GND ), en modo Half Dúplex y con 1 bit de Start y otro de

Stop; no disponemos de señales internas que nos permitan habilitar el proceso de

MEMORIA DESCRIPTIVA 5-10

DISEÑO DEL INTERFACERS-232 A RS-485

recepción de las placas remotas; más simple es habilitar el ’Enable’ de emisión

ya que disponemos de las señales RTS o de la portadora.

Por tanto en este momento, la entrada de cada placa no está dispuesta para

poderse habilitar desde cualquier punto de la red.

Las posibles soluciones a esta situación que se pueden dar son las

siguientes :

* La primera posibilidad pasaría por realizar modificaciones en el

hardware de la placa; en el sentido de no atacar la salida con un adaptador de RS-

232, con lo que podríamos generarnos un protocolo de transmisión/recepción a

nuestra medida. Una vez hecho esto bastarla con utilizar la circuiteria necesaria

en cada interface que detecte que se va a establecer comunicación con ella en

función de lo que reciba. Esta solución, implicaría también la realización de una

placa de conexión serie para el PC, aparte de la estándar 232 disponible. Esta

solución originaria modificaciones hardwrare y software que se escapan en mucho

a los objetivos del proyecto.

* Otra solución posible, seria instalar una tarjeta multipuerto en el PC y

MEMORIA DESCRIPTIVA 5-11

DISEÑO DEL INTERFACERS-232 A RS-485

aprovechar las características de larga distancia de la placa diseñada, y limitarse

a realizar un polling periódico de cada linea.

MEMORIA DESCRIPTIVA 5-12

FUNCTONAMfENTO DET.

SOFTWARE

FUNCIONAMIENTO DEL SOFTWARE

1.1.7.FUNCIONAMIENTO DEL SOFTWARE.

1.1.7.1. Introducción.

La mejor mañero de conocer el funcionamiento del software, es conocer

el funcionamiento interno de cada una de sus subrutinas. Estas subrutinas explican

convenientemente el funcionamiento de cada instrucción con comentarios anexos;

pero si creemos de interés el dar una imagen global de cada subrutina en el orden

en el que aparecen en el Anejo IV.

A continuación se detalla el funcionamiento general de cada subrutina.

1.1.7.2. La rutina Xmain.C

Es la subrutina inicial de configuración, desde la que se llama

sucesivamente a Soft3.C, Xpresen.C y Pull.C.

1.1.7.3. La rutina Soft3.C

MEMORIA DESCRIPTIVA 6-2

FUNCIONAMIENTO DEL SOFTWARE

Lee el fichero de configuración CONFIG, y lo carga en una estructura de

’C’ que se denomina "config_hard". Esta estructura será llamada a partir de ese

instante para cualquier consulta o modificación de la configuración.

1.1.7.4. La rutina Xpresen.C

Es la subrutina encargada de generar todas las rutinas de manejo del

programa, como son la petición de la clave de acceso, definir las teclas activas,

inicializar el modo de video; y en general, el movimiento del usuario dentro del

programa.

1.1.7.5. La rutina Pull.C

Es la rutina encargada de gestionar los menús y los submenús, así como

de controlar la ventana de comunicaciones.

También, es la encargada de controlar la hora que aparece en la esquina

superior derecha dentro del menú principal.

1.1.7.6«La rutina Xmodif.C

MEMORIA DESCRIPTIVA 6-3

FUNCIONAMIENTO DEL SOFTWARE

Permite modificar a través del menú de entrada de datos, el fichero

CONFIG. Incluye además todas las rutinas de control de entrada de datos falsos

o incorrectos.

1.1.7.7. La rutina Inhibirl.C

Esta rutina gestiona, tanto la presentación en pantalla como la

comunicación con las placas, cuando queremos cambiar la configuración de las

entradas.

1.1.7.8. La rutina Inhibirl.C

Esta rutina gestiona, tanto la presentación en pantalla como la

comunicación con las placas, cuando queremos cambiar la opción inhibir

DIA/NOCHE.

1.1.7.9. La rutina Xfich.C

Carga en memoria, en una matriz de estructuras denominada

"Config_soft" (una estructura para cada placa), todos los datos del fichero de

MEMORIA DESCRIPTIVA 6-4

FUNCIONAMIENTO DEL SOFTWARE

definición de funcionamiento de la red. Actúa por tanto,como un compilador del

lenguaje que se ha creado ( Ver Manual).

1.1. T.lO.La rutina Reco3.C

Es la rutina encargado de gestionar el proceso de poUing. Cada vez que

se dirije a una placa esta rutina interpreta la respuesta de la misma y carga con

dicha respuesta una estructura "Est_sist_real", en la que aparece el estado del

sistema ( Entradas/salida ) en la última lectura realizada de la placa, la idea es

mantener un estado de referencia por si las respuestas del sistema no llegasen a

su destino. De esta forma se forzará la respuesta de la placa según indique la

definición de estado a través de fichero, entre los procesos de poUing y entre

posibles colisiones en la linea.

1.1. T .llX a rutina Recocnml.C

Esta rutina compara el estado real del sistema con el estado final que

debería haber, según los datos del fichero de definición. Tras compáralos, genera

en memoria otra estructura que representa el estado al que debería ir el sistema.

Esta estructura es "est sist fin".

MEMORIA DESCRIPTIVA 6-5

Es la rutina encargada de que el estado real y el estado final ( el que

debería tener ) coinciden, para ello deberá enviar las instrucciones pertinentes a

las placas. En caso de que no ocurra así, continuará mandando esas ordenes hasta

el siguiente proceso de pollíng.

1.1.7.13. La rutina Recocom3.C

Presenta en pantalla el estado real del sistema, después de cada proceso

de polling.

1.1.7.14. La rutina Sirena2.C

Genera una sirena, se utiliza cuando ocurre una incidencia en la red v el

El presupuesto total del presente proyecto asciende a la cantidad de

707.521 PE SE T A S.

Madrid,5 de Octubre de 1993.

NUTRONI^A, 8.a .

MADRIDá6S¥« « D YfC TC»

MEMORIA

1.1.8.BIBLIOGRAFIA

La bibliografía consultada fue la siguiente:

1.1.8.1. E1 libro del RS-232,1984. Editorial Anaya.Joe Campell

1.1.8.2. Comunicaciones: Programación en C,1989. Editorial Anaya.LJoe

Cambell.

1.1.8.3. Aplique C + + ,1991.McGraw Hill. Varios autores.

1.1.8.4.Informacion sobre XCRS. Nutronica.

1.1.8.5. National Data Book. 1990.National

1.1.8.6. Linnear Technology data book. 1992.Linnear.

1.1.8.7. Manual de librerías CXL para C.1991.

CAT.CULOS

1.2.CALCTJT.OS

El presente proyecto no necesita de cálculos.

ESTTJDTO ECONOMICO

ESTUDIO ECONOMICO

1.3.ESTUDIO ECONOMICO.

El presente proyecto se realiza en base a una labor de investigación en

espectativas de un mercado muy amplio en productos de estas caracteristicas en

un futuro no muy lejano.

Por dichas caracteristicas especiales del proyecto, y por sus espectativas

a largo plazo no tiene mucho sentido el realizar un estudio económico completo

del mercado.

Ademas debemos tener en cuenta que no era objetivo del proyecto realizar

un producto para la comercialización. De todos modos, para realizar las

estimaciones hipotéticas de amortización, y poder elaborar un presupuesto de lo

realizado, hemos considerado ajustado a la realidad, el tener un número de 10

proyectos anuales.

Por tanto la producción anual que considerarmos será de 10 sistemas

completos al año

ESTUDIO ECONOMICO 2

ANE.TO I

MANTJAT. DET. TJSTJARTO

ANEJO I

Este anejo consta de las siguientes partes:

CAPITULO 1.INSTALACION DEL SISTEMA.

Introducción............................................................................................1-1

Requisitos Hardware.............................................................................. 1-2

Conexión de las tarjetas.........................................................................1-4

Arranque del sistema.............................................................................. 1-4

CAPITULO 2.MANEJO DEL SOFTWARE.

Introducción........................................................................................... 2-1

Acceso al programa ..............................................................................2-2

Ventana de comunicaciones................................................................... 2-3

Instrucciones a utilizar........................................................................... 2-4

¿Cómo modificar la configuración?....................................................2-11

El fichero de configuración................................................................. 2-14

Configuración de entradas ................................................................. 2-16

Inhibir entradas....................................................................................2-19

Entrada al modo vigilancia................................................................. 2-21

Inform ación......................................................................................... 2-25

Manejo g en era l....................................................................................2-25

CAPITULO 3.CONFIGURACION DEL SISTEMA.

Introducción........................................................................................... 3-1

Instrucciones........................................................................................... 3-2

Modificaciones al fichero ..................................................................... 3-8

2

MANUAL DEL USUARIO 2

INSTALACION DEL SISTEMA

CAPITULO 1

INSTALACION DEL SISTEMA

Introducción

El presente manual de usuario, pretende facilitar la instalación de un

sistema de seguridad compuesto por hasta tres placas de 16 entradas y 32 salidas,

gestionadas todas ellas por la unidad central, que no es más que un PC/AT o

compatible. Aparte de esto, la instalación consta de las tarjetas de conversión RS-

232 a RS-485. Cada placa de seguridad va acompañada de una tarjeta de

conversión; además el PC también necesita una tarjeta para conexionarse al bus

RS-485.

El sistema debe ser instalado por instaladores especializados y autorizados

por la empresa NUTRONICA.S.A. Se recomienda por tanto no actuar sobre

ninguno de los equipos del sistema.

Debemos incluir en el sistema todos los contactores, sensores y detectores

como (detectores volumétricos, contactos magnéticos, sensores de humo, etc...);

MANUAL DEL USUARIO 1-1

INSTALACION DEL SISTEMA

así como los actuadores ( típicamente relés).

Requisitos Hardware

El sistema básico constará de los siguientes elementos:

Placas de gestión de alarmas XCRS. Según el tamaño del sistema serán

una, dos o tres, y nunca un número superior a este. Cada una de estas centrales

incluye su propia fuente de alimentación, con salida ± 12V que se empleará en

la alimentación de los convertidores de RS-232 a RS-485. Cada una de las placas

XCRS consta de los siguientes elementos externos.

1. - Conectar de 20 pines para ampliación de las salidas hasta un número

de 32 por placa.

2. - Bus de expansión de las salidas.

3. - Tarjetas de expansión. Cada tarjeta incluye 8 relés. Por tanto

necesitamos 4 tarjetas de expansión para conectar 32 salidas por placa.

4 . - Conectar de 26 pines para la conexión de la salida RS-232/Modem.

5. - Cable de conexión RS-232. Dicho cable constará de un conectar de 26

pines y un conectar DB-9.

MANUAL DEL USUARIO 1-2

INSTALACION DEL SISTEMA

6.- Conector de 8 pines para la conexión de los leds de señalización

(Verde = Señalización), (Rojo = Alarma), (Naranja = Incidencia). Ademas se

incluye una conexión para llave.

Tarjeta de conversión RS-232/RS-485. Las tarjetas se interconectan con

el exterior a través de conectores DB-9 ( enlace con el bus RS-232) y de

conectores de 3 pines al bus RS-485.

Bus RS-485. Físicamente corresponde al cable Cervitronic PAR de dos

pares de hilos y con sección de 0.22 mm. La longitud de este bus dependerá de

la instalación, no debiendo ser nunca superior a los 1.200 metros.

Ordenador tipo IBM PC/AT o compatible. Los requisitos mínimos del

hardware/Software para dicho equipo son:

1. - CPU Intel 80286 ó compatible.

2. - Disquetera de 3.25 pulgadas de Alta Densidad; aunque se recomienda

el disponer de un Disco Dmo de al menos 20 Mbytes.

3. - 2 puerto serie. Uno para la conexión con el sistema (COM 1). El otro

para el funcionamiento con ratón del programa (COM 2). Esta última posibilidad

aún no esta habilitada.

MANUAL DEL USUARIO 1-3

INSTALACION DEL SISTEMA

4. - Memoria RAM de al menos 640 Kbytes.

5. - Sistema operativo MS-DOS en versión 3.0 o superior.

6. - Tarjeta gráfica EGA o superior.

Conexión de las tarjetas

Las tarjetas de interfase entre las normas RS-232 y RS-485 deben

conexionarse siguiendo el procedimiento que mostramos a continuación:

En primer lugar conectar la entrada del bus RS-232 al conector DB-9 de

la tarjeta, así como el otro conector DB-9 al bus RS-485. A continuación

alimentar la tarjeta con la tensión de ± 12 V.

Para alimentar la tarjeta que conectaremos al PC necesitaremos una fuente

de alimentación con características de 12V 500mA como mínimo.

Arranque del sistema

Para arrancar el sistema necesitaremos el disco en el que se incluye el

software de control. En dicho disco de control aparecerán como mínimo tres

MANUAL DEL USUARIO 1-4

INSTALACION DEL SISTEMA

ficheros que describiremos sucintamente a continuación.

1. - XCRS3.EXE. Es el programa ejecutable del proyecto. El código

fuente se incluye dentro de los planos del presente proyecto.

2. - CONFIG. Este fichero presenta la configuración actual del sistema.

Al arrancar, es imprescindible que dicho fichero se encuentre en el mismo

directorio en el que se encuentra el programa ejecutable. Será el instalador el que

genere este fichero ASCII en primera instancia, siendo posible la modificación del

usuario a su conveniencia tanto desde el programa principal, como desde

cualquier editor de textos del DOS.

3. - Además deberá existir al menos otro fichero, sin extensión ninguna;

y cuyo nombre quede definido en uno de los campos del fichero de configuración

CONFIG. Este fichero deberá seguir las normas que aparecen en el capítulo

tercero de este manual. Es en este fichero en el que se especifican las relaciones

que deben existir entre las distintas entradas y salidas de las múltiples placas que

configuran el sistema.

Si arrancamos desde el disco A: deberemos teclear XCRS3 una vez que

MANUAL DEL USUARIO 1-5

todos los elementos descritos en el apartado de requisitos hardware estén

correctamente conectados, y los ficheros antes descritos presentes.

Para arrancar desde el disco duro, es necesario crear un directorio en el

que grabar todos los ficheros referidos anteriormente.

MANUAL DEL USUARIO 1-6

CAPITULO 2

Introducción

El operador del sistema dispone de un amplio rango de posibilidades de

operación a través de las funciones habilitadas en el programa objeto de este

proyecto. En principio se le permite al usuario autorizado de este software el

realizar operaciones tanto de bajo nivel ( preguntar individualmente su estado

a una placa ), como de más trascendencia ( inhabilitar una entrada durante el

funcionamiento normal del sistema ). Esta posibilidad podría ser fácilmente

evitada en caso de necesidad.

El presente programa, permite como veremos, el conocimiento en todo

momento de los estados de las entradas y salidas de todas las placas conectadas

al sistema, modificar los tipos de entradas que estamos manejando, conectar y

desconectar una placa del sistema en cualquier momento, fijar la velocidad de la

transmisión y múltiples utilidades más, que se presentan bajo sencillos sistemas

de menús.

MANEJO DEL SOFTWARE

Por otro lado la configuración completa de la instalación se puede cambiar

en cuestión de segundos, dándole por tanto una gran flexibilidad al operario y

constituyéndose el sistema en un método sencillo de control para múltiples

MANEJO DEL SOFTWARE

un fichero nuevo que especifique las relaciones entre todas las entradas y salidas

del sistema.

Acceso al programa

Para acceder al programa debemos introducir la clave de acceso de un

máximo de 8 caracteres. La introducción de dicha clave no aparecerá en la

pantalla mas que con desplazamientos del cursor tras cada pulsación.

Si la clave introducida fuese la equivocada, el programa nos dará otra

oportunidad hasta un máximo de 5. Tras este quinto error el programa nos

devolverá al indicador del sistema operativo.

En caso de que la clave de acceso sea correcta aparecerá la pantalla

principal del programa, dentro de la cual nos podremos desplazar a través de las

teclas de cursor por las siguientes categorias:

- Enviar

- Configuración

- Vigilancia

- Información

MANUAL DEL USUARIO 2-2

MANEJO DEL SOFTWARE

- Salir

Para elegir una cualquiera de estas opciones basta con pulsar Retum tras

posicionarse sobre ella, o presionar la letra activa de cada categoria, que aparece

destacada en amarillo en los monitores en color.

Ventana de comunicaciones

Se accede a ella a través de la categoria Enviar. Esto nos permite

comunicarnos con cualquiera de las placas que tengamos conectadas al sistema,

utilizando los comandos propios de las centrales XCRS. La ventana de

comunicaciones permite al operador mandar y recibir información a cada una de

las placas, sin más que anteponer el código correspondiente al número de placa.

Para mayor facilidad este código aparecerá en monitor dentro de la pantalla de

ayuda ([Help]), que podemos llamar en cualquier momento pulsando [El].

En la ventana de comunicaciones aparecerá aquello que llegue al puerto

serie de nuestro PC, por lo cual, en el caso que ocurra una 'colisión de paquetes’,

esto es, que una central acceda a la red mientras otra contestaba a nuestras

peticiones. Por lo tanto la información que aparece es puramente orientativa, y

MANUAL DEL USUARIO 2-3

MANEJO DEL SOFTWARE

el operador debe ser consciente de esta posibilidad.

Puede darse la situación de que estando en la ventana de comunicaciones

se produzca una alarma. Dicha información aparecerá en la ventana, pero no será

tratada por el sistema de interconexión de los módulos. Por tanto se recomienda

utilizar la facilidad de la ventana de comunicaciones, solo en ocasiones de

necesidad y siempre siendo consciente del riesgo que esto entraña.

Para abandonar la ventana, basta con pulsar Return cuando no hay nada

en la línea de comandos, esto es, la última línea de la ventana ( donde esta el

cursor), esta vacía. Con esto se volverá a la pantalla principal.

Instrucciones a utilizar

Cabe recordar aquí que las instrucciones a utilizar son las propias de las

placas XCRS. Siendo este manual una referencia de consulta rápida, se incluyen

aquí las principales instrucciones de utilidad para obtener y enviar información a

las placas que constituyen el sistema, así como de las respuestas que

recibiremos.

MANUAL DEL USUARIO 2-4

MANEJO DEL SOFTWARE

Los comandos de la central bidireccional de NUTRONICA que detallamos

a continuación deben cumplir los siguientes requisitos:

1. - Mantener los espacios si existiesen, y no incluirlos si no existen.

2. -Escribir siempre en mayúsculas.

3. - Ir precedidos del símbolo que corresponda, según el número de placa

dentro la red. Para una sola placa el símbolo es "$", y no debe ir acompañado de

espacios. Por ejemplo $dameestsal.

Las instrucciones utilizadas para el desarrollo del proyecto fueron:

RESETSISTEMA

Repone la central, el efecto es el mismo que si hubiésemos apagado la

alimentación. Debemos utilizar esta instrucción cuando modifiquemos ciertas

posiciones de la memoria EEPROM que corresponden a datos que el sistema

carga en RAM al arrancar; de otro modo las configuraciones no surtirian efecto

en ese instante. Al utilizar esta instrucción se pierde por otro lado el modo de

funcionamiento, se reponen las alarmas y se desactivan los relés.

DAMEESTENT

MANUAL DEL USUARIO 2-5

MANEJO DEL SOFTWARE

Se pide que el sistema envie por la línea activa de comunicaciones, en este

caso la línea serie RS-232 de la central, los estados de las 16 entradas. La

respuesta es de la forma:

©ENTRADAS RRRMA****SSRRAAR

Cada uno de los símbolos corresponde a lo siguiente:

@ -Este símbolo lo envía la central como símbolo de control cada vez que

comunica algo.

R -Reposición-Indica que la entrada está en estado de reposición, esto es,

que esta activada y preparada para responder a la alarma. Esta situación ocurre

cuando la línea de dicha entrada esta puesta a tierra con la resistencia de 5.6 kO

antes citada.

M -Mascarada-Indica que dicha entrada no es tenida en cuenta por el

sistema, aunque si esta activa. Esto indica que aunque se produzca una alarma,

el sistema no responderá a ella.

* -Inactiva-Al inicializar el sistema dicha linea esta al aire, por lo tanto

no es considerada por la central hasta que no se reinicializa el sistema.

A -Alarma-Indica que en una de las líneas que se encontraban en estado

de reposición, el dispositivo encargado de disparar la alarma ( detector de

MANUAL DEL USUARIO 2-6

MANEJO DEL SOFTWARE

incendios, sensor magnético, etc. ) ha cortado la línea correpondiente. La central

en ese momento realizará las operaciones programadas para tal eventualidad,

operaciones tanto de activación de relés de salida como de comunicación del

hecho a la central remota de control.

S -Sabotaje-Detecta que se ha producido un sabotaje en la línea.

DAMEESTSAL

Se pide que el sistema envíe por la línea de comunicaciones los estados de

las 32 salidas disponibles para cada placa. La respuesta de la placa es de la

forma:

©SALIDAS £)RJ)R********************K.RRR****

Cada una de estas letras corresponde a lo siguiente:

@ -Idem al caso anterior.

D -Disparo-Indica que el relé correspondiente a esa salida ha cambiado de

estado.

R -Reposición-Indica que dicha salida esta activada, en espera de que se

MANUAL DEL USUARIO 2-7

MANEJO DEL SOFTWARE

produzca un disparo.

* -Inactivo-Igual que el caso anterior, la salida esta inactiva de forma que

no modificará su estado hasta que se produzca una reinicializacion del sistema.

REPONER

Esta instrucción retorna a su estado inicial todo los relés de salida que se

encuentren disparados, así como aquellas entradas que habiendo dado señal de

alarma, en ese momento no detecten ninguna incidencia que la produzca.

El sistema responde con el estado de las entradas, salidas y el modo

siguiendo el formato que corresponde a cada una de ellas.

DAMEMODO

La central dispone de 4 modos de funcionamiento que son: día, noche,

test, reposición. Los dos primeros permiten definir dos configuraciones,

típicamente la aplicación supone que durante el día la apertura de puertas de

acceso no debe dar alarma, mientras que por la noche sí. El modo reposición

equivale a generar manualmente ( mediante una llave que incorpora la central)

MANUAL DEL USUARIO 2-8

MANEJO DEL SOFTWARE

una instrucción de REPONER, Por último el modo test permite comprobar el

funcionamiento de la central en revisiones, sin activar los dispositivos de salida

que tengamos acoplados; como sirenas, etc.

El sistema responderá ante esta instrucción con:

©MODO {DIA} {NOCHE} {TEST} {REPOSICION}

DISPARASAELIDA [N” salida]

Permite que el operador dispare cualquiera de las 32 salidas de forma

directa.

REPONSALIDA [N° salida]

Podríamos considerarlo como la instrucción complementaria de la anterior.

Repone a su estado inicial la salida indicada.

MODODIA

MANUAL DEL USUARIO 2-9

MANEJO DEL SOFTWARE

Cambia a modo día la central, también se puede hacer manualmente con

la llave.

MODONOCHE

Pone la central bajo las condiciones marcadas para el funcionamiento

nocturno.

MODO TEST

Idem para activar el modo de test de la central.

MEM

Permite leer y escribir en posiciones de la EEPROM de forma rápida y

cómoda. Esta instrucción es la que se utiliza para programar la central. Es

también la instrucción utilizada en este proyecto para modificar la configuración

del sistema mientras éste sigue funcionando. Existen dos formatos para utilizar

esta instrucción. Para lectura es:

MEM [Dirección de memoria Hexadecimal a leer]

MANUAL DEL USUARIO 2-10

MANEJO DEL SOFTWARE

Para escritura:

MEM [Dirección memoria],[Dato hexadecimal]

Los datos que leemos y escribimos siguen un código predeterminado; cuya

exposición sería excesivamente larga y sin mayor interés para la exposición del

proyecto.

¿Cómo modificar la configuración?

Como hemos dicho anteriormente, el operador puede modificar la

configuración desde el mismo programa. Los parámetros que se pueden

configurar son los siguientes:

* Número de placas : Como hemos dicho ya, el sistema puede contar con

un máximo de 3 placas conectadas al bus RS-485. En este apartado del fichero

indicamos cuantas tenemos en la realidad. Podemos disminuir y aumentar este

número en cualquier momento, sabiendo que el programa siempre considerará

como placa numero 1, aquella que responda a las instrucciones precedidas de

indicativo $, lo mismo hará con la número 2, etc...

MANUAL DEL USUARIO 2-11

MANEJO DEL SOFTWARE

* Velocidad de transmisión : Permite ajustar la velocidad en baudios a

la que se produce la transmisión en el bus RS-485. La placa XCRS no permite

velocidades superiores a los 300 baudios, pero el sistema esta diseñado para

placas que admitan velocidades de hasta 9600 baudios. Las velocidades

seleccionadles son únicamente 300, 2400 y 9600 baudios.

* Tiempo entre ’pollings’ : El PC como centro de control, recaba la

información del estado de las placas, preguntando cada cierto tiempo el estado de

sus entradas y salidas. Este tiempo que transcurre entre dos preguntas es el que

denominamos tiempo de polling. En realidad el polling es el método, según el

cual el acceso a cada placa se hace de forma secuencial, cada cierto tiempo. Para

el sistema de una sola placa, con velocidades de 300 baudios, el tiempo mínimo

es de aproximadamente 3 segundos.

* Nombre del fichero : Es el nombre, con un máximo de 8 letras (

fichero estándar ASCII del DOS ), por el que se designa al fichero que contiene

la información, a base de instrucciones básicas, del funcionamiento del sistema.

Podemos disponer de diversos ficheros que correspondan a varias formas de

funcionamiento de la instalación, y cargarlos dependiendo de la situación que nos

interese controlar.

MANUAL DEL USUARIO 2-12

MANEJO DEL SOFTWARE

* Dirección ; Contiene una información, sobre la disposición del centro

de control que no se utiliza para nada durante la ejecución del programa.

* Ratón : En esta versión, el ratón no esta habilitado; pero se deja la

posibilidad de que se habilite desde el fichero de configuración.

Para modificar todos estos parámetros, debemos seleccionar la opción

Configuración en el menú principal, aparecerá entonces un sub-menú asociado

a él. Dentro de este sub-menú elegiremos la opción Modificar, con lo que

aparecerá en pantalla la ventana correspondiente al menú de configuración.

Dentro de esta ventana nos podremos desplazar con los cursores, entre las

distintas opciones que aparecen arriba detalladas, y modificarlas con el teclado.

En cualquier momento podremos dar por concluida la entrada de datos

pulsando [FIO], o bien dando como correcta ( Pulsando Retum ) la última

entrada ( Ratón ). Tras finalizar la entrada de datos se nos preguntará si la

consideramos correcta, y a continuación si queremos grabar las modificaciones

en el fichero de configuración CONFIG.

MANUAL DEL USUARIO 2-13

MANEJO DEL SOFTWARE

Resulta importante recordar que para funcionar con la nueva

configuración, !! DEBEMOS REINICIALIZAR EL PROGRAMA !!!. Esto se

hace saliendo de él con la opción Salir, o bien pulsando [Alt-X].

El fichero de configuración

El fichero de configuración, es un fichero ASCII, en el que se almacenan

los datos en registros separados y en el que cada dato es una linea de texto

distinta. A continuación se presenta un fichero de ejemplo :

230010P r o b lC / P e z V o la d o r s / n NO

E je m p lo de f i c h e r o CONFIG

Este ejemplo corresponde a una instalación con dos placas XCRS, que

trabajan a 300 baudios. el tiempo de polling de 10 segundos indica que cada diez

segundos comienza una nueva pasada por el estado de las placas. El fichero del

sistema que estamos utilizando se llama Probl. Por último el centro de control

MANUAL DEL USUARIO 2-14

MANEJO DEL SOFTWARE

esta en la C/Pez Volador s/n y el ratón, como sabemos, no esta disponible.

Por tanto los datos que aparecen en el fichero de configuración, así como

los posibles valores que pueden tomar son los siguientes:

* Número de placas : Solo admite los valores 1, 2 y 3.

* Velocidad : Solo podremos seleccionar las velocidades de 300, 2400 y

9600 baudios. En el fichero aparecerá el valor correspondiente a la velocidad

elegida. Debemos recordar, por otro lado, que la selección de una velocidad en

el control debe coincidir con las velocidades seleccionadas en todas las placas del

sistema.

* Tiempo de polling : Cualquier valor es posible, siempre que sea una

cantidad entera. De todas formas no se recomienda elegir tiempos excesivamente

bajos ( como serían valores menores de 10 segundos para una velocidad de 300

baudios ), ya que no acelerarían para nada el proceso y obligan a mantener un

constante proceso de polling; ni escoger tiempos muy largos entre ’pollings’, ya

que esto provocaría que el sistema no respondiese correctamente a las situaciones

de alarma que surgiesen. Como ejemplo, un tiempo conveniente para una red de

tres placas, funcionando a 300 baudios, estaría en torno a los 15-20 segundos.

MANUAL DEL USUARIO 2-15

MANEJO DEL SOFTWARE

* Nombre del fichero : Es válido cualquier nombre de fichero, que

cumpla las limitaciones del sistema operativo DOS sobre el que se desarrolla el

programa, esto es que la longitud del nombre sea igual o inferior a 8 caracteres.

El fichero de definición de la red no debe tener extensión.

* Dirección : Cualquier combinación alfanumérica de hasta 30 caracteres

es válida.

* R atón : Solo son válidas las palabras "SI" y "NO". Recordamos que en

esta versión del programa el ratón no esta habilitado, por lo tanto, solo tiene

sentido la posibilidad de No utilizarlo.

Todas estas especificaciones son necesarias si queremos modificar el

fichero CONFIG desde un editor de textos ASCII. Cabe como hemos dicho en

el apartado anterior, la posibilidad de modificarlo desde el mismo programa, con

lo cual el mismo programa nos indicará los datos que sean o no sean válidos. Se

recomienda por tanto el hacerlo de este modo, recordando que después de la

modificación deberemos resetear la configuración, para lo que tendremos que

abandonar el programa y ejecutarlo de nuevo.

Configuración de entradas

MANUAL DEL USUARIO 2-16

MANEJO DEL SOFTWARE

Eligiendo la opción bajo la denominación ConfíguraciónE en el sub-menú

de configuración podemos definir el modo de funcionamiento de cada una de las

16 entradas que hay en cada placa.

El proceso a seguir es el siguiente:

En primer lugar, el sistema nos preguntará a qué placa, de entre las que

estén conectadas nos dirijimos. ésto implica que si en ese momento solo tenemos

definida una sola placa en conexión, este paso sera obviado.

A continuación el sistema leerá de la placa elegida la configuración de sus

entradas. Durante este proceso, cuya duración depende de la velocidad a la que

esté operando la red, aparecerá en pantalla un letrero indicándonos que se espere

un momento.

Una vez leída la información pertinente, se nos presenta en pantalla, cada

entrada y su correspondiente estado. Situando la barra indicadora sobre la entrada

deseada y pulsando Return, modificaremos cíclicamente el estado de la entrada

entre las diversas opciones existentes. Las opciones posibles vienen detalladas a

continuación según el orden en que irán apareciendo en cada selección.

MANUAL DEL USUARIO 2-17

MANEJO DEL SOFTWARE

* HABILITADA : Corresponde al modo de funcionamiento normal de

cada entrada. Al producirse una alarma en el dispositivo conectado a esta entrada,

esta alarma es considerada inmediatamente por el microcontrolador de la central,

por lo tanto el Pe de control será informado de ese suceso y podrá actuar en

consecuencia.

* INHIBIDA : En esta posición, la entrada queda completamente inactiva

desde ese mismo instante. Se corresponde con un asterisco en la secuencia de

estados que envia la central. En esta situación, cuando el dispositivo conectado

a esta entrada reciba una alarma, esta no será en ningún momento tenida en

cuenta.

* APO : Corresponde a las siglas de "Alarma Por Omisión". Son alarmas

típicas de sistemas como cajas fuertes ( si transcurrido un cierto tiempo la caja no

se ha cerrado, se dispara la alarma ) o alarmas de hombre muerto ( por ejemplo

en los trenes, cada cierto tiempo el conductor debe accionar un interruptor, de lo

contrario el tren es parado).

MANUAL DEL USUARIO 2-18

MANEJO DEL SOFTWARE

* RETARDADA : La alarma tiene un retardo, que es fijado por los datos

contenidos en una determinada posición de memoria. Estos datos no pueden ser

modificados por el usuario, y sólo lo podrá hacer el instalador autorizado. Por

tanto, fijado el tiempo de retardo el usuario podrá hacer esa entrada retardada o

configurarla como entrada normal ( posición de HABD^ITADA ).

La opción de configurar entradas es útil para modificaciones temporales

de una determinada entrada. Permite por ejemplo que se repare un contactor que

dispara una alarma por su mal funcionamiento, o solventar situaciones esporádicas

que obliguen a alguna de las manipulaciones permitidas.

Inhibir entradas

Esta opción aparece bajo el epígrafe Inhibir D/N dentro del sub-menú de

la opción Confíguración. Permite adecuar la instalación a las posibles situaciones

que puedan surgir en la instalación. El proceso para acceder a las modificaciones

es el siguiente :

En primer lugar, al igual que ocurría en la opción anterior, el sistema nos

preguntará a que placa, de entre las que esten conectadas nos dirijirnos. Esto

MANUAL DEL USUARIO 2-19

MANEJO DEL SOFTWARE

implica que si en ese momento solo tenemos definida una sola placa en conexión,

este paso sera obviado.

A continuación nos dará a elegir entre las opciones Día/Noche. Esto nos

permite configurar una entrada como activa de día e inactiva de noche ( por

ejemplo resulta inútil tener activos los detectores de presencia en una oficina

durante la jornada de trabajo ); u otras múltiples combinaciones posibles.

Una vez seleccionada una de las opciones, y tras el intervalo que se utiliza

para leer la información de la placa, aparecerá en la pantalla la información

correspondiente a cada una de las entradas. A cada entrada se le asocia una de las

dos siguientes opciones:

* ACTIVA ; Indica que esa entrada esta preparada para comunicar las

incidencias que le acontezcan.

* PARO ; Es equivalente a inactivar la entrada. En ese modo de

funcionamiento: Día o Noche, esta entrada no se tendrá en cuenta, corresponde

con el asterisco ( Ver apartado de la Ventana de Comnnicaciones en este mismo

capítulo del presente manual).

MANUAL DEL USUARIO 2-20

MANEJO DEL SOFTWARE

Las modificaciones efectuadas en este paso, necesitan de un reset del

microcontrolador de la placa, con lo cual quedaran anuladas todas las

modificaciones en cuanto a modo de funcionamiento actual, entradas que no

estuviesen reseteadas, etc.. Por tanto las modificaciones en este apartado deben

ser muy prudentes y siempre teniendo en cuenta que implican un repaso general

de todo el sistema.

A pesar de las desventajas que supone incluir esta posibilidad, en cuanto

a que puede provocar un fallo de control en el sistema; en manos de un operador,

permite grandes posibilidades de adaptabilidad a las situaciones.

En comparación con la configuración de entradas, esta opción permite

modificaciones de carácter mucho más permanente, a la vez que genera un Reset

del sistema a cada modificación.

Entrada al modo de vigilancia

El modo de Vigilancia es el modo de operación normal del programa.

Dentro de este modo, el programa empieza a funcionar como verdadero sistema

de control e integración de la información que proviene de las placas. Para

MANTTAÍ, DF.T. TÍSTTARTO 2-21

MANEJO DEL SOFTWARE

ingresar en el modo de vigilancia basta con situar la barra de selección sobre la

opción vigilancia, o bien pulsar la tecla V dentro del menú principal.

El PC, comenzará a pedir información a todas las placas a él conectadas.

Una vez recibida dicha información, la presentará en pantalla. En pantalla

aparecerá una fila para cada una de las 16 entradas y 32 salidas y una columna

para cada una de las placas que conectemos a la red ( hasta un máximo de 3).

Por tanto, la situación de la entrada 3 de la placa 2 estará representada por

la letra o símbolo que esté en la intersección de dicha fila y columna. Los

posibles símbolos que pueden aparecer son los siguientes:

A) Para las columnas de entradas.

R -Reposición-Indica que la entrada está en estado de reposición, esto es,

que está activada y preparada para responder a la alarma. Esta situación ocurre

cuando la linea de dicha entrada está puesta a tierra con la resistencia de 5.6 kO

antes citada.

M -Mascarada-Indica que dicha entrada no es tenida en cuenta por el

sistema, aunque sí esta activa. Esto indica que aunque se produzca una alarma,

MANUAL DEL USUARIO 2-22

MANEJO DEL SOFTWARE

el sistema no responderá a ella.

* -Inactiva-Al inicializar el sistema dicha línea está al aire, por lo tanto

no es considerada por la central hasta que no se reinicializa el sistema.

A -Alarma-Indica que en una de las líneas que se encontraban en estado

de reposición, el dispositivo encargado de disparar la alarma ( detector de

incendios, sensor magnético, etc. ) ha cortado la línea correpondiente. La central

en ese momento realizará las operaciones programadas para tal eventualidad,

operaciones tanto de activación de relés de salida como de comunicación del

hecho a la central remota de control.

Cuando se produzca una alarma esta aparecerá destacada en rojo y parpadeando.

S -Sabotaje-Detecta que se ha producido un sabotaje en la línea.

B) Para las columnas de salidas

D -Disparo-Indica que el relé correspondiente a esa salida ha cambiado

de estado. En este caso aparecerá destacado en verde y parpadeando la posición

correspondiente a ese disparo producido.

R -Reposición-Indica que dicha salida esta activada, en espera de que se

produzca un disparo.

* -Inactivo-Igual que el caso anterior, la salida esta inactiva de forma que

MANUAL DEL USUARIO 2-23

MANEJO DEL SOFTWARE

no modificará su estado hasta que se produzca una reinicializacion del sistema.

Por otro lado también aparece en el cuadro de situación del sistema el

modo de funcionamiento del sistema. Los posibles modos de funcionamiento que

pueden aparecer son:

MODO DIA : Típico para controlar roturas de cristales, accesos a lugares

no permitidos, contra incendios, etc..

MODO NOCHE : Se utiliza para control de accesos exteriores y

detectores de presencia.

MODO REPOSICION : Se utiliza para resetear todos los elementos de

Entrada/Salida. es el modo en el que se inicializan las placas de adquisición de

datos.

MODO TEST : Para comprobar el funcionamiento, sin necesidad de que

se activen los relés de salida.

En la operación normal la pantalla de vigilancia irá indicando las

incidencias que ocurran en el sistema, así como las actuaciones que originen

dichas incidencias.

MANUAL DEL USUARIO 2-24

MANEJO DEL SOFTWARE

Para salir del modo de vigilancia, basta con pulsar Return, y volveremos

al menú principal.

Información

La opción de información nos permite entrar a un sub-menú con la opción

de Ver Fichero . Seleccionar esta opción nos permite ver el fichero que en ese

momento estamos utilizando como fichero de gestión del sistema.

Al elegir Ver Fichero , saldremos a la pantalla del sistema operativo y se

ejecutará automáticamente un "type" de dicho fichero. Por tanto, si queremos ver

un fichero excesivamente largo, deberemos utilizar la tecla de "Pausa".

Manejo general

Aquí se detallan las teclas y combinaciones de ellas que se utilizan en el

programa, así como los principios generales de funcionamiento dentro del

programa.

Durante todo el programa disponemos de una ayuda en línea, donde se

MANUAL DEL USUARIO 2-25

MANEJO DEL SOFTWARE

tratan de solventar todas las dudas que se puedan originar en cada uno de los

pasos del programa. Para acceder a esta ayuda basta con presionar [El] en

cualquier momento.

Dentro de las pantallas de ayuda disponemos de las siguientes

posibilidades:

* PgDwn (Página Abajo) : Con esta tecla podemos movernos a la

siguiente ventana de ayuda correspondiente a dicha categoria.

* PgUp (Pagina Arriba) : Con esta opción podemos movernos a la

anterior ventana de ayuda correspondiente a dicha categoria.

* DEsc] ; Para salir de la pantalla de ayuda.

* Información cruzada : Aparecen palabras destacadas en blanco sobre

el fondo rojo de la pantalla de ayuda; presionando Retum sobre esa palabra o

frase, obtendremos información sobre ese concepto.

Aparte de las pantallas de ayuda, otras teclas o combinaciones activas

MANUAL DEL USUARIO 2-26

MANEJO DEL SOFTWARE

dentro del programa son:

* [Alt-X]: Salir del programa al sistema operativo en cualquier momento

del programa.

* [FIO] ; En la ventana de configuración, nos permite salir sin pasar por

todas las categorías.

* [Return] : Salir de las ventanas de vigilancia y comunicación.

Por otro lado, dentro del menú principal, disponemos en todo momento

de la hora, situada en la parte superior derecha de la pantalla.

Para arrancar el sistema, un modo normal de proceder sería el siguiente

En primer lugar, una vez introducida la clave, entrar en el modo de

Configuración y fijar el numero de placas y la velocidad si se necesitasen

modificar. Ajustar asimismo el fichero a utilizar y realizar las modificaciones

necesarias, tanto en la Configuración de entradas, como en la opción de Inhibir

MANUAL DEL USUARIO 2-27

MANEJO DEL SOFTWARE

D/N. Recordar que algunas modificaciones obligan a reinicializar el programa.

A continuación, acceder a través de la ventana de comunicaciones a todas

y cada una de las placas presentes en el sistema para inicializarlas, comprobar que

están en reposición todas las entradas y salidas que se van a utilizar.

Una vez comprobado que todo el sistema está correctamente inicializado,

accedemos al modo de Vigilancia donde deberá permanecer durante el

funcionamiento normal de la instalación.

MANUAL DEL USUARIO 2-28

CONFIGURACION DEL SISTEMA

CAPITULO 3

CONFIGURACION DEL SISTEMA

Introducción

Para definir el modo de funcionamiento de la red, se ha diseñado el

control en base a un fichero que define las relaciones entre todas las entradas y

salidas que forman la red. Las ventajas de poder acceder a las relaciones entre las

entradas y salidas de forma sencilla y rápida, como lo es a través de un fichero

de texto ASCII, son muy importantes; al dar al sistema gran flexibilidad de

funcionamiento y permitir modificaciones de manera casi instantánea.

Conviene explicar, de todos modos, cual es el tratamiento que se le da a

la información residente en ese fichero; lo que permitirá al usuario obtener una

mejor respuesta del sistema a sus intereses.

Cada una de las instrucciones que aparecen secuencialmente en el fichero,

es guardada en memoria al cargar el programa en la posición correspondiente a

la entrada que define. De esta manera, aquellas instrucciones referidas a una

MANUAL DEL USUARIO 3-1

CONFIGURACION DEL SISTEMA

entrada en primer lugar del fichero, se ejecutarán antes que otras que ocupen

lugares posteriores, cuando ocurra una incidencia en esa entrada. De este modo,

si introducimos varias instrucciones contrarias o contradictorias asociadas a una

entrada, se ejecutarán una a una, pero será aquella que aparezca en último lugar

la que permanezca como instrucción final.

Por otro lado resulta imprescindible el seguir detalladamente los convenios

de formato del fichero que va a cargar la definición de la red.

Instrucciones

A continuación se detallan las instrucciones que podemos utilizar para

definir la red. Los formatos que debemos seguir en el fichero son :

* El fichero debe ser un fichero en modo texto.

* Las instrucciones deben ir escritas en mayúsculas.

* Debemos respetar los espácios que aparecen en el formato de las

instrucciones.

* Todas las instrucciones deben finalizar con punto y coma (;).

* Entendemos por ''N"placa" un número de 1 a 3, que define la placa a

MANUAL DEL USUARIO 3-2

CONFIGURACION DEL SISTEMA

la que nos referimos según el orden asignado en ellas.

* Entendemos por "N°entrada" como la entrada que queremos controlar,

teniendo en cuenta que numeramos las entradas de cada placa de la 1 a la 16.

* Entendemos por "N”salida", como la salida que queremos controlar,

teniendo en cuenta que numeramos las salidas de cada placa de la 1 a la 32.

Las instrucciones disponibles para manejar el sistema son por tanto.

DISPARO INMEDIATO IDII

Descripción : Dispara una salida especificada, cuando se cumple la condición de

alarma en la entrada que se pretende controlar.

Formato :

DI 0 [N “placa].[N”salida] I[N®placa].|N"entrada];

Envía :

$disparasalida [N®salida]

MANUAL DEL USUARIO 3-3

CONFIGURACION DEL SISTEMA

REPOSICION INMEDIATA ÍRI\

Descripción : Repone la placa especificada, cuando se cumple la condición de

alarma en la entrada que se pretende controlar.

Formato :

RI I[N"placa].[N°entrada] [N”placa a reponer];

Envía :

$reponer

CAMBIO DE MODO 1CM1

Descripción : Cambia el modo de funcionamiento de una placa determinada.

Contamos con tres posibilidades que son: DIA, NOCHE y REPOSICION.

Formato

CM I[N®placa].[N“entrada] [N“placa a cambiar] [nuevo modo];

MANUAL DEL USUARIO 3-4

CONFIGURACION DEL SISTEMA

Envía :

$modo dia/noche/reposicion

REPOSICION DE SAT.TDA TRS1

Descripción : Actúa de forma similar a la instrucción de Reposición inmediata,

pero en este caso se especifica la salida concreta que queremos reponer, así como

la entrada que provocará su reposición.

Formato :

RS 0[N®placa].[N”salida] I[N“placa].[N"entrada];

Envía :

$reponersalida [N®salida]

INHIBIR ENTRADA IIEI

Descripción : Permite inhibir una entrada ante cierta condición en cualquiera de

MANUAL DEL USUARIO 3-5

CONFIGURACION DEL SISTEMA

las entradas del sistema, incluida la propia entrada a inhibir. No ocurre lo mismo

con la opción de Habilitar Entrada.

Formato

lE I|N ‘’placa].[N“salida] I[N"placa].[N"entrada];

En segundo lugar aparece la entrada a inhibir, y en primer lugar la

condición.

Envía :

$mem (3000+N®entrada)HEXADEciMAL

$Reset sistema

Esta instrucción se escribe en una posición de memoria, por lo que a

continuación debe resetear el sistema.

HABILITAR ENTRADA IHEI

MANUAL DEL USUARIO 3-6

CONFIGURACION DEL SISTEMA

Descripción : Permite habilitar una entrada ante cierta condición en cualquiera de

las entradas del sistema, excluida la propia entrada a habilitar.

Formato :

HE I[N“placa].[N”salida] I[N"placa].[N“entrada];

En segundo lugar aparece la entrada a inhibir, y en primer lugar la

condición.

Envía :

$meni (3000+N"entrada)H¡;xADEciMAL

$Reset sistema

Esta instrucción también escribe en una posición de memoria, por lo que

a continuación debe resetear el sistema.

FIN DE FICHERO IFFl

Descripción : Indica que se ha llegado al fin del fichero, a partir de este

MANUAL DEL USUARIO 3-7

CONFIGURACION DEL SISTEMA

punto no se tendrá en cuenta ninguna información más que pueda aparecer.

Podemos por tanto incluir comentarios dentro del fichero a partir de esta

instrucción.

Formato :

FE

Estas son todas las instrucciones de que disponemos en este sistema. Con

ellas podemos realizar, de todas maneras, múltiples interacciones entre unas

placas y otras.

Modiñcacíones al fíchero

Para realizar modificaciones sobre el fichero, debemos proveernos de un

editor de textos en formato ASCII, como por ejemplo el editor Q, el Personal

Editor o cualquier editor de textos de los que incluye el sistema operativo como

el Edit para el DOS 5.0 y superiores o el Editor del DRDOS 6.0. Dentro del

editor basta cargarlo y modificar las instrucciones necesarias.

MANUAL DEL USUARIO 3-8

CONFIGURACION DEL SISTEMA

A continuación presentamos un fichero típico para un sistema compuesto

por dos placas y cada una de ellas con solo 4 salidas conectadas ( relés 1 a 4). En

este ejemplo se presentan diversas opciones.

DI 01.2 12.2;DI 01.2 12.15;CM II.1 DIA 2;CM 11.2 NOCHE 2; RI 12.5 1;RS 02.2 11.5; lE 12.5 11.7;HE 12.11 11.8;

MANUAL DEL USUARIO 3-9

ANE.TO TT

CTRCIJTTOS IJTTTJZADOS

SN65176B, SN75176BDIFFERENTIAL BUS TRANSCEIVERS

D2619, JULY 198 5 - REVISED SEPTEMBER 1989

Bidirectional Transceiver

Meets EIA Standards RS-422-A and RS-485 and CCITT Recommendations V .11 and X .27

Designad for Multipoint Transmission on Long Bus Lines in Noisy Environments

3-State Driver and Receiver Outputs

Individual Driver and Receiver Enables

a Wide Positiva and Negativa Input/Output Bus Voltage Ranges

a Driver Output Capability. . . ± 6 0 mA Max

• Thermal Shutdown Protection

• Driver Positiva and Negative Current Limiting

• Receiver Input Impedance . . . 12 kQ Min

• Receiver Input Sensitivity . . . ± 200 mV

• Receiver Input Hysteresis . . . 50 mV Typ

• Operates from Single 5-V Supply

• Low Power Requirements

description

The SN65176B and SN75176B differential bus transceivers are monolithic integrated circuits designed for bidirectional data communication on multipoint bus transmission Tines. They are designed for balanced transmission lines and meet EIA Standard RS-422-A and RS-485 and CCITT Recommendations V.11 and X.27.The SN65176B and SN75176B combine a 3-state differential line driver and a differential input line receiver both of which opérate from a single 5-V power supply. The driver and receiver have active-high and active-low enables, respectively, that can be externally connected together to function as a direction control. The driver differential outputs and the receiver differential inputs are connected internally to form differential input'output (1/0) bus ports that are designed to offer minimum ioading to the bus whenever the driver is disabled

Vqq = 0. These ports feature wide positive and negative common-mode voltage ranges making the device suitable for party-line appiications.

D. JG. OR P PACKAGE

(TOP VIEWI

RClreC 2D E [ I

DC

cTTh vcc7DB

3 6 H A

4 sUgnd

FU N CTIO N TABEE (D R IV E R )

INPUT

D

ENABLE

DE

OUTPUTS

A BH H H LL H L H

X L Z 2

FU N C TIO N TABEE (R ECEIVER)

D IFF E R E N TIA L INPUTS

A - B

ENABLE OUTPUT

R

V |D > 0.2 V L H-0 .2 V < V (D < 0.2 V L ?

V |D « - 0 .2 V L LX H 2

H * high level, L = low leve!, ? *= indeterminate, X * ¡rrelevant, Z = high impedance (off)

logic sym bol'f

A

B

^This Symbol is in accordance with ANSI/IEEE Std 9 1 -1 9 8 4 and lEC Publication 6 1 7 -1 2 .

logic d iagram (positiva logic)

-B J>BUS

PRODUCTION DATA docum ents con ta in in fo rm ation current as o f pub lica tion date. P roducts conform to specifica tions par th e term s o f Texas Instrum ents standard w a rra n ty . P roduction processing does no t nscGssarilY ¡ncluoe ta s tin g of a ll param elers.

, T e x a s ^In s t r u m e n t s

K3ST OFFICE BOX 655303 • DALLAS. TEXAS 75265

Copyright (D 1989. Texas Instrum ents Incorporated

2-327

SN65176B, SN75176BDIFFERENTIAL BUS TRANSCEIVERS

The driver is designed To handie loads up to 60 mA of sink or source current. The driver features positiví and negative-current limiting and thermal shutdown for protection from line fault conditions. Therm; shutdown ¡s designed to occur at a junction temperatura of approximately 1 50 °C. The receiver feature a minimum ¡nput ¡mpedance of 1 2 kí), an input sensitivity of ±200 mV, and a typical input hysteres of 50 mV.The SN65176B and SN751 76B can be used in transmission line applications employing the SN75172 an SN75174 quadruple differential line drivers and SN75173 and SN751 75 quadruple differential line receiver;The SN65176B is characterized for operation from - 40 °C to 105°C and the SN751 76B is characterize for operation from 0°C to 70°C.

schem atics of inputs and outputs

2-328 TexasInstrum ents

SN65176B, SN75176BDIFFERENTIAL BUS TRANSCEÍVERS

gbsolute m áxim u m ratings over operating free-a ir tem pera ture range (unless o th e rw is e r/Oíed)

Supply voltage, Vcc (see Note 1).........................................................................Voltage at any bus terminal.................................................................. - 1 0 V' to 1 5 VEnable input voltage....................................................................................... 5 ü V'Continuous total power dissipation (see Note 2 ) ........................... See Dissipation RkiIo!’ TbbieOperating free-air temperature range; SN65176B...................................... -40 'Cto SÜ5''C

SN75176B........................................... 0°C to 70°CStorage temperature range ............................................................... -65°C ío 150°CLead temperature 1,6 mm (1/16 inch) from the case for 10 seconds: D or P package........ 260°CLead temperature 1,6 mm (1/16 inch) from case for 60 seconds: JG package................ 300°C

MOTES: 1. All voltage valúes, except differemial input/output bus voltage, are with respect to network ground terminal.2. In the JG package, the chips are glass mounted.

DISSIPATION RATING TABLE

PACKAGET a - 2 5 “C

POWER RATING

DERATING FACTOR

ABOVE T a - 25 °C

T a - 7 0 °C

POWER RATINGT a - 1 0 5 “’C

POWER RATINGD 7 2 5 mW 5.8 m W /“C 4 6 4 mW 261 mW

JG 8 2 5 m W 6 .6 m W /'C 528 m W 2 9 7 mW

P 1 10 0 m W 8 .8 m W /°C 7 0 2 m W 3 9 6 m W

recommended o perating conditions

M IN TYP M A X UNET

Supply voltage. V ^ c 4 .7 5 5 5 .2 5 V

Voltage at any bus terminal (separately or common mode), V| or V |q12

V- 7

High'ievel input voltage, V j^ D, DE, and RE 2 V

Low-ievel input voltage, V|i_ D, DE, and RE 0 .8 V

Diiferential input voltage, V |p (see Note 3) = 12 V

Hinh-level output current, Iq hOriver - 6 0 rr.AReceiver - 4 0 0 líA

. •• :3ve! output current. Iq }_Driver 50

:r:AReceiver B

Operating free-air temperature, T aS N 65176B - 4 0 105

“CS N 75176B 0 70

MOTE 3; Differeniial-input/output bus voltage is measured at the noninverting terminal A with respect to the invertino tern-.inaí B.

, T e x a sIn s t r u m e n t s

POST OFFICE BOX 655303 • DALLAS. TEXAS 75265 2-329

SN65176B, SN75176BDIFFERENTIAL BUS TRANSCEiVERS

DRIVER SECTIOM

driver e lectrica l characteris tics over recom m ended ranges o f supply vo ltag e and operating free -a ir tem p e ra tu re (unless o th erw ise noted)

PARAMETER TEST C ONDITIO NS’ M IN TY P ’ M A X UNIT

V|j(; Input clamp voltage I) = - 1 8 mA - 1.5 V

V q Output voltage lo = 0 0 6 V

í'^O D I Differential output voltage lo = 0 1.5 6 V

i'^ 0 0 2 ' Differential output voltageRl - 100 n, See Figure 1 Vq d i

2 V

Rl = 54 ÍJ, See Figure 1 1.5 2 .5 5 V

V q D3 Differential output voltage See Note 4 1.5 5 V

Change in magnitude oí A^Vq d s

differential output voltage ^

R[_ = 54 0 or TOO íl, See Figure 1

± 0 .2 V

V q c Common-mode output voltage+ 3

- 1V

Change in magnitude of A í V q c r,

common-mode output voltage ± 0 .2 V

Iq Output currentOutput disabled,

See Note 5

V q = 12 V 1mA

V q = - 7 V - 0 . 8

l|H High-level input current V| = 2 .4 V 20 pA

IlL Low-level input current Vi = 0 .4 V - 4 0 0 pA

lo s Short-circuit output current

V o = - 7 V - 2 5 0

mAV q = 0 - 1 5 0

V o = V c c 2 5 0

V q = 1 2 V 2 5 0

Ic e Supply current (total package) No loadOutputs enabted 4 2 55

mAOutputs disabled 2 6 35

The power-off measurement In ElA Standard RS-422-A applies to disabled outputs on)y and is not applied to combined inputs and outputs.^All Tvpicai valúes are at = 5 V and = 2 5 ®C.

and A jV o c i changas in magnitude of V q q and V q c respectively, that occur \A^hen the input Is changed from a htghleve! to a low íevel.

NOTES; 4. See EIA Standard RS-4S5 Figure 3 5, Test Termination Measurement 2.5. This applies for both power on and off; refer to EIA Standard RS-485 for exact conditions. The R S-422-A limit does not appl^

for a combined driver and receiver terminal.

driver sw itch in g characteristics, V c c = 5 V , T a = 2 5 °C

PARAMETER TEST CONDITIONS M lN TYP M A X UNIT

’ DD Differential-output delay timeRl_ = 54 n. See Figure 3

15 22 ns

’ TD Differential-output transition time 2 0 3 0 ns

IPZH Output enable time to high Ievel Ri_ = no 11, See Figure 4 85 120 ns

1P2L Output enable time to low Ievel Rl_ = 1 10 íl. See Figure 5 4 0 60 ns

IPHZ Output disable time from high Ievel RL = 110 0, See Figure 4 150 2 50 ns

IPLZ Output disabte time from low Ievel Rl = lio n. See Figure 5 20 30 ns

, Texas Instrum ents

SN65176B, SN75176BDIFFERENTIAL BUS TRANSCEiVERS

SYMBOL EQUIVALENTS

DATA SHEET PARAMETER RS 422 -A RS-485

V q *''^03' Voa. VohV q d I 1 Vo ^0

VO D 2Í V, !Ri_ ■= 100 !1) V , (R(_ = 54 m

:V o D 3 Í(Test Termination

Measurement 2)

A í V q d I i iV t l - !V ,! | I |V , - IV t l i

V q c ' ''^os 1 l^o s í

A ¡V o c l i '^OS “ ^os 1 i Vos - Vos 1

'o s i^sai' l^sbi

'o ¡^xal' l*xbi ^a- 'ib

RECEIVER S E C TIO N

receiver e lectrica l characteris tics over recom m ended ranges o f co m m o n -m o d e input vo ltag e , supply voltage, and operating free -a ir tem pera ture (unless o th erw ise noted)

PARAMETER TEST CONDITIONS MIN TYP* M A X UNIT

Vt H Differential-input high-threshold voltage V q = 2 .7 V , Iq = - 0 . 4 mA 0 .2 V

vtl Differential-input low-threshold voltage V q = 0 .5 V, Iq - 8 mA - 0 . 2 * V

Vhys Hysteresis^ 50 mV

V|K Enable-input clamp voltage l| = - 1 8 mA - 1 . 5 V

VOH High-level output voltageV |o = - 2 0 0 m V,

See Figure 2'o h “ ” fiA. 2.7 V

v q l LoW“level output voltageV |o = - 2 0 0 m V,

See Figure 2Iq l = 8 mA,

0 .4 5 V

'OZ High-impedance-state output current V q = 0 .4 V to 2 .4 V ± 2 0 (tA

i¡ Une input currentOther input = 0 V.

See Note 6

V| = 12 V

V| = - 7 V

1

- 0 . 8mA

liH High-level enable-input current V|H = 2 .7 V 20 rrA

'¡L Low-ievel enable-input current V|L = 0.4 V - ICO mAInput resistance | 12 kíi

'OS Short-circuit output current - 15 - 8 5 mA

'cc Supply current (total package) No loadOutputs enabled 4 2 55

mAOutputs disabled 26 35

Al¡ lypical valúes are at = 5 V , = 25 ®C.• The algébrale convention, in which the less-positive (more-negatlve) limit is designated minimum, ¡s used in this data sheet for common-

mode input voltage and threshold voltage leveis only.^Hysteresis is the difference between the posiiive-going input threshold voltage, \ / j +, and the negative-going input threshold voltage.

V j _ . See Figure 4.NOTE 6: This applies for both power on and power off. Refer to EIA Standard RS-485 for exact conditions.

receiver sw itch in g charac teris tics , V q c = 5 V , = 2 5 °C

PARAMETER TEST CONDITIONS MIN TYP M AX UNIT

■PLH Propagation delay time, low-to-high-level c jtn u t V]Q = 0 to 3 V, 21 35 ns

•■PHL Propagation delay time, high-to-low-level o -tput Cl - 1 5 pF, See Figure 6 23 36 ns

■PZH Output enable time to high level= 1 5 pF. See Figure 7

10 20 ns

'PZL Output enable time to low ievel 12 20 ns

'PHZ Output disable time from high levelCl = 15 pF, See Figure 7

20 35 ns

2?LZ Output disable time from low level 17 25 ns

T f y a q

DIFFERENTIAL BUS TRANSCEIVERS

PARAM ETER M E A S U R E M E N T IN F O R M A T IO N

i2

V0D2 V|DTvocJ_

TtVqH

'O LVOL

' o h !

FIGURE 1. DRIVER V q d AND V q cFIGURE 2. RECEIVER V q h AND V q l

--------- i* ----------- <»-----------------------------i_ C l = 50 pF

• (See Note B)

54 n

>----------- (

OUTPUT

.______L

INPUT - f - 1 .5 V

»DD

-1 .5 V

3 V

0 V

»DD

— 25 VOUTPUT 50%

I ■ '—N I -------V J90% V' >1l%j| n|r50% ‘

JF\ 10% 1 \ -----I f— “ - 2 5 V J tTO 1*TO

TEST C IRCUIT VO LTAG E W AVEFORMS

FIGURE 3. DRIVER DIFFERENTIAL-OUTPUT DELAY AND TRANSITION TIMES

OUTPUT

0 V or 3 V

_Q, SI

----m--- o

Cl-SOpF (See Note B)

INPUT y |^ 1 .5 V 1 S

3 V

Rl =110 n

M - «PZH

OUTPUT3 V

IPHZ

----- 0 V0.5 V . . . / |

V“ ~ ''oh

^ %TEST CIRCUIT VOLTAG E WAVEFORMS

FIGURE 4. DRIVER ENABLE AND DISABLE TIMES

5 V

3VorOV-

GENERATOR

(See Note A)

C l * 50 pP ■

(See Note B)

50 n

R l = n o n

— OUTPUT

INPUT

P2L—*4

OUTPUT

TEST CIRCUIT

FIGURE 5. DRIVER ENABLE AND DISABLE TIMES

NOTES; A. The input pulse is supplied by a generator having the following characteristics: PRR < 1 M Hz. 50% duty cycle. tf < 6 ns, Zout = 50 n.

B. C|_ inciudes probe and jig capacitance.

T e x a sIn s t r u m e n t s

2-332 POST OFFICE 90X 665303 • DALLAS. TEXAS 75265

VO LTAG E WAVEFORMS

V O LTA G E WAVEFORMS

FIGURE 3. DRIVER DIFFERENTIAL-OUTPUT DELAY AND TRANSITION TIMES

OUTPUT

INPUT ^ j^ 1 .5 V

-------------------- 3 V

rl =110 fj

M - tPZH

OUTPUT X T i X l

ov0.5 V

»--- ^ VoHT

V oH » 0 V ' V

VOLTAGE WAVEFORMS

FIGURE 4. DRIVER ENABLE AND DISABLE TIMES

5 V

INPUT 1.5 V 1.5 V

3 V

• PZL — M M i I' H-------- H -» P L Z

OUTPUT

5 V

r

— “1— VqL

TEST CIRCUIT VOLTAGE WAVEFORMS

FIGURE 5. DRIVER ENABLE AND DISABLE TIMES

NOTES: A. The input pulse is suppited by a generator having the following characteristics: PRR £ 1 M Hz, 50% duty cycle, < 6 ns, tf < 6 ns. - 50 n.

B. C l ¡nciudes probe and jig capacitance.

, TexasIV I I Ik4tTKt'T

DIFFERENTIAL BUS TRANSüklvtKb

P A R A M E TE R M E A S U R E M E N T IN F O R M A T IO N

TEST C IR C U IT

FIGURE 6. RECEIVER PROPAGATION DELAY TIMES

INPUT

3 V

51 to -1 .5 V52 ctosed53 open

'P H Z ------------- H

I

------------^4 .5 V

Vql

51 to -1 .5 V52 closed53 c>os«d

íPLZ-4<--P\

Ü U TPU T ^/ ----------------- ^1 .3 V

OUTPUT

V ----- *íl.3V0.5 V

OLV O LTA G E W AVEFORM S

FIGURE 7. RECEIVER OUTPUT ENABLE AND DISABLE TIMES

■‘OTES: A. The input pulse is supplied by a generator having the following characteristics; PRR < MHz. 50% duiy cyde, tf < 6 ns. tf < 6 ns, Zout = 50 Q.

E, C|_ ineludes probe and jig capacitance.

, T e x a sIn s t r u m e n t s

POST OFFtCE BOX 655303 • DALLAS, TEXAS 75265 2~333

SN65176B, SN75176BDIFFERENTIAL BUS TRANSCEIVERS

T Y P IC A L C H A R A C T E R IS T IC S

DRIVER HIGH-LEVEL OUTPUT VOLTAGE vs

DRIVER LOW-LEVEL OUTPUT VOLTAGE vs

0 -2 0 -4 0 -6 0 -8 0 -1 0 0 -1 2 0

•OH~Ri9h'Level Output Current —mA

FIGURE 8

0 20 40 60 80 100 120lOL—Low-Level Output Current —mA ■ M

FIGURE 9 I■$

DRIVER DIFFERENTIAL OUTPUT VOLTAGE *vs

0 10 20 30 40 50 60 70 80 90 100lo ~ Output Current—mA

FIGURE 10

T e x a sI n s t r u m e n t s

POST OFFICE BOX 655303 • DALLAS. TEXAS 75265

DiFFERENTIAL BUS TRANSCEIVERS

T Y P IC A L C H A R A C T E R IS T IC S

o

RECEIVER HIGH-LEVEL OUTPUT VOLTAGE vs

II

IO>

0 -1 0 -2 0 -3 0 -4 0 -5 0IOH~R '9f’'Level Output Current—mA

RECEIVER HIGH-LEVEL OUTPUT vs

FREE-AIR TEMPERATURE

>I«! 4Oío>2 3oOi 2a>ir

1Vcc - 5 V

■ V|D - 200 mV Iq h - - 4 4 0 aA

- 4 0 - 2 0 0 20 40 60 80 100T/^—Free-Air Temperature— °C

120

FIGURE 11 FIGURE 12

RECEIVER LOW-LEVEL OUTPUT VOLTAGE vs

RECEIVER LOW-LEVEL OUTPUT CURRENT

0 5 10 15 20 25 30IOL~Eow Level Output Current—mA

FIGURE 13

RECEIVER LOW-LEVEL OUTPUT VOLTAGE vs

FREE-AIR TEMPERATURE0.6

0.5

o>3a3o

0.4

0.3

0.2

O 0.1 >

V cc “ 5 V V|D “ - 2 0 0 mV•UL

- 4 0 - 2 0 0 20 40 60 80 100 120T; —Free-Air Temperature— °C

FIGURE 14

SN65176B, SN75176BDIFFERENTIAL BUS TRANSCEiVERS

T Y P IC A L C H A R A C T E R IS T IC S

>I

RECEIVER OUTPUT VOLTAGE vs

ENABLE VOLTAGE

4 -

i 3 >3aIo■>

--------- 1----------1----------V id = 0.2 VLoad

_ T a == « kU 25® C

lo ground

— VCC = 5.25 V —____________

Vcc = 5 V - -

0.5 1 1.5 2

V |—Enable Voltage—V

FIGURE 15

2.5

>I

C 33a301o>

RECEIVER OUTPUT VOLTAGE vs

ENABLE VOLTAGE

í 1V cc = 5-25 V

1----------1----------V|d = -0 .2 V

i - 1 lO VQQ25®C____LJ___ 1 T a =

Vcc = 4.7‘1

V \ 1 Vcc = 5 V

0.5 1 1.5 2 2.5V |—Enable Voltage—V

FIGURE 16

T Y P IC A L A P P L IC A T IO NSN65176B.SN75176B

SN65176B,SN75176B

FIGURE 17. TYPICAL APPLICATION CIRCUIT

NOTE: The Une should be terminated at both ends in íts characteristíc impedance. Stub lengths off the main line should be kept as short as possible.

2-336

, TexasInstrum ents

POST OFFICE BOX 655303 • DALLAS. TEXAS 75265

to

n•n ..€D

’JiQ

NationalSemiconductorCorporation

DS75176A/DS75176AT Multipoint RS-485/RS-422 Transcelvers

PRELIMINARY^

General DescriptionThe DS75176A is a high speed differential TRI-STATE® bus/line transceiver designed to meet the requirements of EIA standard RS485 with extended common mode range ( + 12V to -7 V ), tor multipoint data transmission. In addition it meets the requirements of RS422.The driver and receiver outputs feature TRI-STATE capabili- ty, for the driver outputs over the entire common mode range of -M 2V to — 7V. Bus contention or fault situations that cause excessive power dissipation within the device are handied by a thermal shutdown Circuit, which forces the driver outputs into the high impedance State.The receiver incorporates a fail safe feature which guaran- tees a high output State when the inputs are left open.Both AC and DC specifications are guaranteed over the 0 to 70°C temperature and 4.75V to 5.25V supply voltage range.

Features■ Meets EIA standard RS485 for multipoint bus transmis­

sion and RS422.■ Small Outline (SO) Packáge option available for míni­

mum board space.

22 ns driver propagation delays with 8 ns skew (typi- cal).Single channel per package isolates faulty channeis (from shutting down good channeis).Single -i- 5V supply.- 7V to + 1 2V bus common mode range permits ± 7V ground difference between devices on the bus.Thermal shutdown protection.Power-up down glitch-free driver outputs permit live in- sertion or removal of transceivers.High impedance to bus with driver in TRI-STATE or with power off, over the entire common mode range al- lows the unused devices on the bus to be powered down.Pin out capatible with DS3695 and SN75176A.Combinad impedance of a driver output and receiver in-; put is less than one RS485 unit load, allowing up to 32 transceivers on the bus.70 mV typical receiver hysteresis.

Connection and Logic DIagram

T L /F / 8 7 5 9 - 1

Order Number DS75176AN, DS75176AM, DS75176AJ-8, DS75176ATN

See NS Package Number N08E, M08A or JOSA

/^bsolute Máximum Ratings (Notei). ggjfications for Mllitary/Aerospace producís are not contained in this datasheet. Refer lo the assoclated rciiability electrical test specificatlons document.

íjppiy Voltage, Vcc Control Input Voltages

- ,iver input Voltage -nverOutput Voltages

Fiecelver Input Voltages (DS75176A) .Receiver Output Voltage 'cintinuous Power Dissipation @25°C

for M Packagejontinuous Power Dissipation @25°C

(for N Package)

7V7V7V

+ 15V/ -1 0 V

+ 15V/ -1 0 V

5.5V

675 mVy (Note 5)

900 mW (Note A)

Eléctrica! Characteristics (Notes 2 and 3)

Storage Temperature Range - 65”C toLead Temperatura (Soldering, 4 seconds)

Recommended Operating Conditions

Supply Voltage, Vcc Voltage at Any Bus Terminal

(Separata or Common Mode) Operating Free Air Temperatura T^ Differential Input Voltage,

VID (Note 6)

MIn Max Ur\its4.75 5.25 /V- 7 -M 2 V

- 4 0 + 65 “C

-M 2V

Oen-vien-vjen>Oen- v ien

>

Symbol Parameter Conditions MIn Typ Max iUnits

OD1 Differential Driver Output Voltage (Unloaded)

lo = 0 5 V

V'0D2 Differential Driver Output {F/gure 1) R = 50n¡ (RS-422) (Note 4) 2 VVoltage (with Load) R = 27H; (RS-485) 1.5 V

.iVOD Changa in Magnitude of Driver Differential Output Voltage For Complementary Output States

0.2 V

voc Driver Common Mode Output Voltage (Figure 1) R = 27 ÍÍ 3.0 V

Vocl Changa in Magnitude of Driver Common Mode Output Voltage For Complementary Output States

0.2 V

Input High Voltage 2 V

1 Input Low VoltageDI, DE, RE,E

0.8

“CL Input Clamp Voltage llN = - 1 6 mA - 1 .5

‘1 Input Low Current V il = 0.4V - 2 0 0

Input High Current V|H = 2.4V 20 jxA

Input D 0 /R I,D S /R I Vcc = OV or 5.25V V|N = 12V -M.O mACurrent DE = OV V|N = - 7 V - 0 .8 mA

‘'Tri Differential Input Threshold Voltage for Receiver

- 7 V á VcM ¿ + 12V -0 .2 + 0.2 V

•iVlH Receiver Input Hysteresis VCM = OV 70 mV

•'OH Receiver Output High Voltage Iqh = -4 0 0 fxA 2.4 V

•Ou Output Low RO Iql ~ 16 mA (Note 7) 0.5 VVoltage LF Iql = 8 mA 0.45 V

OrF-State (High Impedance) Output Current at Receiver

V'cc = Max 0.4V ¿ Vq ^ 2.4V

±2 0 uA

h.m Receiver Input Resistance -7 V á VcM ^ +12V 12 k ü

:c Supply CurrentNo Load (Note 7)

Driver Outputs Enabled 35 50 mA

Driver Outputs Disabled 27 40 mA

1-127

<(Oinr^t/)Q<<£)r>.inrCOQ

Electrical Characteristics (Notes 2 and 3)O’C ^ Ta ¿ 70®C, 4.75V < Vcq < 5.25V unless otherwise speciíied (Continued)

Symbol Parameter Conditions Min Typ Max Unit* i

Iqsd Driver Short-Circuit Vo = - 7V (Note 7) -2 5 0 mA ;Output Curren! Vo = + 12V (Note 7) -t-250 mA i

loSR Receiver Short-Circuit Output Curren!

Vo = OV- 1 5

- 8 5 mA 5i

Note 1; “Absoluíe Máximum Ratings" are those beyond which the safety of the device cannot be guaranteed. They are not meant ío imply that the device should ; be operated at these limits. The tables of "Electrical Characteristics" provide conditions for actual device operation.Note 2: AIl currents Into device pins are positiva; ali currents out of device pins are negativa. All voltages are referenced to device ground unless otherwi^'0 specified. *.VNote 3: All typicals are given for V^c = 5V and = 25*C.Note 4: Derate linearly at 5.56 mW/'C to 650 mW at 70'C.Note 5: Derale linearly @ 6.11 mW/“C to 400 mW at 70"C. ,4

Note 6: Differential - Input/Output bus voltage Is measured at the noninverting termina! A wlth respect to the Inverting terminal B.Note 7: All worst case parameters for which note 7 is applied, must be increased by 10% for DS75176AT. The other parameters remain valid for -4 0 *C < T ^ ... < +85'C.

Switching Characteristics 4.75VSymbol Parameter Conditions Min ty p Max Uníts^

tPLH Driver Input to Output Rldiff ~ 6onOlí = Cl2 — 100 pF

(Figures 3 and 5)

22 ns^;^

tpHL Driver Input to Output 22 n s i3

'SKEW Driver Output to Output 8 n s 'a

tr Driver Rise TimeOlí = C i_2 = 100 pF

(Figures 3 and 5)

10 nsí)||t, Driver Fall Time 10 n s M

tZH Driver Enable to Output High Cl = 100 pF (Figures 4 and S I Open 35 n s '^ i

tZL Driver Enable to Output Low Cl = 100 pF (Figures 4 and 6J S2 Open 35

tLZ Driver Disable Time from Low Cl = 15 pF (Figures 4 and 6) S2 Open 15 n s^ S

tHZ Driver Disable Time from High Cl = 15 pF (Figures 4 and 6) S I Open 15 ns

tPLH Receiver Input to Output Cl = 15 pF (Figures 2 ar\á 7) SI and S2 Closed

25 n$

tPHL Receiver Input to Output 25 ns ^

tZL Receiver Enable to Output Lov/ Cl = 15 pF (Figures 2 and 8) S2 Open 15------------- n

ns ^

tZH Receiver Enable to Output High Cl = 15 pF (Figures 2 and 8) S I Open 15 ns -,'J

tLZ Receiver Disable from Low, Cl = 15 pF (Figures 2 and 8) S2 Open 12 ns II*HZ Receiver Disable from High Cl = 15 pF (Figures 2 aná 8) S I Open 12 ns 5|

AC Test Circuits

RECEIVEROUTPUT

VOOt

VxI

T L /F / 6 7 5 S - 2

FIGURE 1

T L / F / 8 7 5 9 - 3

Note: Si and S2 of load Circuit are closed except as otherwise mentioned.

FIGURE 2

T L /F / 8 7 5 9 - 4

FIGURE 3

cl(iNCLUOiS PROBE ANO JI6CAPAaiANCE) — ^ T L / F / 8 7 5 9 - 5

Note: Unless otherwise specified the switches are closed. FIGURE 4

1-128

ching Time Waveformso(/)-vien~slCT)>Oen•vitn- v iO)>H

ov--Vn

90% POINT 7 ' 'diff= ''do~'^do

10% POINT f

'P —

90% POINT

10% POINT

FIGURE 5. Driver Propagation DelaysT L /F / 8 7 5 9 - 1 0

N o te : Differentia! input voltage may may be realized by grounding Rt and puising Rl between - f 2 .5 V and - 2 .5 V

FIGURE 7. Receiver Propagation Delays

■«i.u>r«-mO)Q<ÍDr>-inrCOQ

Switching Time Waveforms (Continued)

Functlon TablesFIGURE 8. Receiver Enable and Disable Times

DS75176A Transmitting

Inputs LineCondition

Outputs

RE DE DI DO DO

X 1 1 No Fault 0 1X 1 0 No Fault 1 0X 0 X X z zX 1 X Fault z z

DS75176A Receiving

Inputs Outputs

RE DE RI-RI RO

0 0 ¿ +0.2V 10 0 ¿ -0 .2V 00 0 Inputs Open’ * 11 0 X z

X — Don’t care condition

Z — High impedance State

Fault — Improper line condítons causing excessive power díssipation in the driver, such as shorts or bus contention situatíon; • 'This is a fail safe condition

Typical Application

DS75176A/DS3695/DS3696 DS3697/DS3698

L in ü \ i¿TECHNOLOGY

F€RTUR€S■ Low Power: lee= 300/iA Typ■ Designed for RS485 Interface Applications■ Single +5VSupply■ - 7V lo + 12V Bus Common Mode Range Permits ± 7V

Ground DIfference Between Devices on the Bus■ Thermal Shutdown Proteclion■ Power Up/Down Glitch-Free Driver Outputs Permit Uve

Insertion or Removal of Transceiver■ Driver Maintains High Impedance in Three-State or With

the Power Off■ Combined Impedance of a Driver Output and Receiver

Allows Up to 32Transceivers on the Bus■ 70mVTypicallnputHysteresis■ 30ns Typical Driver Propagation Delays with 5ns Skew■ Pin Compatible with the SN75176A, DS75176A and

^A96176

nppucñTions■ Low Power RS485/RS422 Transceiver■ Level Transistor

_____________ gc4^Low Power RS485 Interface

Transoeiver

D€scmpTionThe LTC485 is a low power differential bus/line transce-.^- designed for multipoint data transmission standard RSi-': applications with extended common mode range ( + i 2V;- - 7V). It aiso meets the requirements of RS422.'

The CMOS design offers significant power savings trt its bipolar counterparl without sacrificing ruggednru against overload of ESD damage.

The driver and receiver feature three-state outputs.« t* the driver outputs maintaining high impedance ove’ tv entire common mode range. Excessive power dissipa;-j- caused by bus contention or faults is prevented by a mal shutdown Circuit which torces the driver outputs .-í-, a high impedance State.

The receiver has a fail safe feature which guaran;ríi i high output State when the inputs are left opea

The LTC485 is fully specified over the commerciat an: r» tended industrial temperatura range.

TVPICRL RPPLICRTION

ROI - Reí ■ DE1-

011-

R 0 2 -

RS-DE2-

DI2-

• Vcc-.

— Vcc: ' -ww— ■

Ri-Wv-

Driver Outputs

5-6

LTC485

I5S0LUT€ mfiXimum RñTinGS PflCKflG€/ORD€RmFOfimfiTIOn

-•ívVo¡tage(Vcc). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12VInput V o ltages. . . . . . . . . . . . . . . . -0 .5 V to V c c + 0.5V

nput Volíage. . . . . . . . . . . . . . . . . . . . - 0.5V to Vcc + 0.5Vv,í/OutputVoltages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ±14VV.-íverlnDutVoltages. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ±14V

ver Output Vo itage. . . . . . . . . . . . . . . - 0.5V to Vcc + 0-5V‘rí-üing Temperatura RangeVc485l ............................... - 40°C<Ta< 85=C."485C.................................. 0°C<Ta< 70°C.'C485M............................- 55°C<Ta< 125°C

OC €L€CTRiCRL CHRRRCT€RISTiCS Vcc = 5V± 5% (Notes 2 and 3)

1 LTC485C, LTC4a5lm soi. PARAMETER CONDITIONS ! MIN TYP MAX UNITS

■r Differential Driver Output Voitage (Unloaded)

lo = 0 • 5 V

. — Differential Driver Output Voitage R = 50Q;(RS422) • i 2 Viwith Load) Rr27C:(RS485), Figure 1 • i 1.5 5

•■X Change in Magnitude of Driver Differential Output Voitage for Complementary Output States

R = 27C or R = 50Q, Figure 1 • 0 . 2 V

"t: Driver Common Mode Output Voitage R = 27ü or R = 50!1, Figure 1 • 3 V

Change in Magnitudeof Driver Common Moda Output Voitage for Comolementary Output States

R = 27ü orR = 50C, Figure 1 • 0 . 2 V

InoutHigh Voitage DE, DI, RE • 2 . 0 V

¡nput Low Voitage DE. DI, RE • 0 . 8 V

Input Current DE. DI. RE 1 • ± 2 xA

V ¡nput Current (A, B) DE = 0,Vcc = 0 V,n = 12V ; • + 1 . 0 mAor5.25 V,n = -7 V ; • - 0 . 8

Differential Input Threshoid Voitage for Receiver

-7 V < V cm£ + 1 2 V i • - 0 . 2 + 0 . 2 V

Receiver Input Hysteresis Vc„ = 0V i • 70 ¡ mV

Receiver Output High Voitage ¡0 = -4m A,V]t¡: + 200mV i • 3.5 1 V

Receiver Output Low Voitage i lo - + 4mA, VjQ s: - 200mV ; • 0.4 1 V

;:= Three-StatelHIgh Impedance) Output Current at Receiver

V¡;¡;= Max, 0.4 <Vq<2.4 ; • ± 1 fiA

"s Receiver Input Resistance -7 V < V c m í +12V ; • 1 2 kl¡

X ; Suoply Current No Load. Pins 2, Outputs Enabled i • 500 900 „A3. 4 = OV or 5V Outputs Oisabled • i 300 500 1

'.SP- Driver Short-Circuit Current. Vqut = HIGH ¡ -7V <V o<+12V ' • 35 250 1 mA

;so2 Dnver Short-Circuit Curren!. Vqut = LOW ; -7 V < V o < + 10V • 35 250 1 mA

:s? Receiver Short-Circuit Current 0V<Vo<V:c ! • 7 85 j mA

Í .T U D 8 1 5-7

LTC485

SUJITCHIHG CHñRñCT€RISTICS Vcc = 5V í5% (N otes2and3)

SYMBOL PARAMETER CONDITIONSLTC485C, LTC465I

MIN TYP MAX UNITStp.H Driver Inpul to Output Rdiíf = M!1, Cu = C ^ = 100pF, , • 1 0 30 60 n¡Vhl Driver Input to Output (Figures 3 and 5) 1 0 30 60

SKFW Driver Output to Output 5 1 0 n

'r. Driver Rise or Fall Time 3 15 40

kn Driver Enable to Output High Ci = lOOpF (Figures t and 6 ) S2 Closed • 40 70 '5ta Driver Enable to Output Low C; = tOOpF (Figures í and 6 ) St Closed • 40 70

Driver Disable Time trom Low C; = 15pF (Figures F and $) St Closed • 40 70 "3tn2 Driver Disable Time trom Kigh C i«15pF (Figures 4 and 6 ) S2 Ciosed 40 70 •-

tplH Receiver Input to Output C¡_i = C ^ = lOOpF. 30 90 2 0 0 -j

'PHL Receiver Input to Output (Figures 3 and 7) 30 90 2 0 0 •-

*SKD ItpLtctPHjDifierentia! Receiver Skew

1 * 13

2L Receiver Enable to Output Low Cbi ='l5pF (Figures 2 and 8 ) Si Closed 2 0 50 1bh Receiver Enabie to Output High Cb. = l5pF (Figures 2 and 8 ¡ S2 Ciosed 2 0 50tu Receiver Disable trom Low Cb = l5pF (Figures 2 and 8 ) Si Closed 2 0 50

w Receiver Disable trom High Cr, = l5pF (Figures 2 and 8 ) S2 Closed 2 0 50 n

The • denotes specificationswhichapply over thefulloperaling temperatura ranga.Note 1; "Absoluta Máximum Ratings” are those beyond which the satety of the device cannot be guaranteed.

Note 2; All currents into device pins are positiva; all cúrrente out ol oevi» pins are negative. All voltages are referenced to device ground unless otherwise specified.Note 3: All typicals are given lor Vk = 5V and T j= 25°C.

T€STCIRCUITStestpoint ^ u

"-ue'v-"--- ------- ■ -<rsi o—Wv— Vr

Figure 1. Driver DC Test Load Figure 2. ReceiverTiming Test Load

Figure 4. Driver Timing Test Load 12

5-8

jiurrcHinG Time ujnvcFOñms

LTC485

7

V2 Vo

80*9

f s iM H t ts < l0 n s :í? < l0 n s

Vdic:sV(A)-VíB:

\i.-avo

IT

Figure 5. Driver Propagation Delays

Figure 6. Driver Enable and Disable Times

OUTPUT

f s 1M Hz:tRS iOns:tF< lOns

INPUT yFigure 7. Receiver Propagation Delays

'= *MHr !s<*0f's;tp<'’CftsCUTPUT NOPMALLY.OW

X'T»UTNOPM ALLY-i IGH

Figure 8. Receiver Enable and Disable Times

5-9

FUnCTiOn TnBL€SLTC485Transmitting

LTC485___________

Pin FuncTions

INPUTS UNECONDITION

OUTPUTSRE DE 0 1 B AX 1 1 No Fault 0 1

X 0 NoFault 0

X 0 X X 2 2X 1 X Fault 2 2

LTC485 Receiving

INPUTS OUTPUTSRE DE A -B R

0 0 > + 0.2V 1

0 0 S -0 .2V 0

0 0 Inputs Open 1

1 0 X 2

PIN t ÑAME DESCRIPTION1 RO Receiver Output. II the receiver output is enapie:

(RE low).then if A>B by 200mV. RO will be hifr, '• A < B by 200mV, then RO will be low.

2 RÉ Receiver Output Enable. A low enables the receiver output, RO. A high input torces the receiver output Into a high ImpePance State.

3 DE Driver Outputs Enable. A high on DE enables iv driver output. A and B, and the chip will lurtcoo- as a Une driver. A low input will torce the orive’ outputs into a high impedance State and the : t\- will function as a Une receiver.

4 DI Driver Input. If the driver outputs are enabiea high). then a low on DI torces the outouis a ir . and B high. A high on DI with the driver outc.t! enabled will torce A high and B low.

5 GND Ground Connection.6 A Driver OutpuUReceiver Input.7 B Driver Output/Receiver Input.B Vcc Positive Supply; 4.75 < V5 5 < 5.25

TVPicni p€nFORmnnc€ CHnnncTcmsTics

Receiver Output Low Voltage vs Output Curren! Ta = 25'C

Receiver Output Kigh Voltage vs Output Curren! Ta =25 'C

Receiver Output High Volug»" Temperature @1 = 8mA

0.6 1.0 1iOUTPUT VOLTAGE (V)

LTC485

jyfMCflL P€RFOnmnftC€ CHñfifiCTCmSTICSfUcfiiver Outpui Low Voltage vs Driver Differential Output VoltageT#m peraíure @Í = 8mA

Driver Output Low Voltage vs Output Current T a = 25®C

Receiver tpLH -tpH i vs

1 2 3OUTPUT voltage ÍV)

J)river Output High Voltage vs Output Curren! T a = 25®C

2 3OUTPUT voltage (V)

Driver Skew vs Temperatura

-5C -2 5 C 25 50 75 100 125TEMP£=tATUR£i°Cl

Driver Differential Output Voltage vs Temperatura Ri = 54I>

-5 0 - 25 o 25 SO 75 lOO 125 TEMPERATURE(*C}

T IL input Threshold vs

-5 0 - 25 0 25 50 75 lOO 125TEMPERATURE ¡«C)

Supply Current vs Temperatura

- 50 - 25 0 25 50 75 100 125TEMPERATURE (®C)

6¿0530

520

3 . 460

I 400 ccB 340I 2M

220

160

100

i I i ií I i

DBlVEa ENABLED yi i

I I J3RIVER DISABLED

\ \ \

! I

i ! ! ! I- 50 -2 5 0 25 50 75 100 125

TEMPERATURE i’ O

XTLinoM^= . - N C :3 G '- 5-11

LTC485

nppL iC R T ions iñ F O ñ m ñ T io n

Basic Theory of Operation

Previous RS485 transceivers have been designed using bipolar technology because the common mode range of the device must extend beyond the supplies and the device must be immune to ESD damage and latchup. Un- fortunately, the bipolar devices draw a large amount of supply current, which is unacceptable for the numerous applications that require low power consumption. The LTC485 is the first CMOS RS485/RS422 transceiver which features ultra low power consumption without sacrificing ESD and latchup immunity.

The LTC485 uses a proprietary driver output stage, which allows a common mode range that extends beyond the power supplies while virtually eliminating latchup and providing excellent ESD protection. Figure 9 below shows the LTC485 output stage while Figure 10 shows a conven- tional CMOS output stage.When the conventional CMOS output stage of Figure 10 enters a high impedance State, both the P-channel (P1) and the N-channel (N I) are turned off. If the output is then driven above Vcc or below ground, the P+/N-w ell diode (DI) or the N + /P-substrate diode (D2) respectiveiy will turn

on and clamp the output to the supply. Thus, the oulpu; stage is no longer in a high impedance State and is no: abie to meet the RS485 common mode range requiremen; In addition, the large amount of current flowing through Sr ther diode will induce the well known CMOS latctio: condition, which could destroy the device.

The LTC485 output stage of Figure 9 eliminates thesí problems by adding two Schottky diodes, SD3 and The Schottky diodes are fabricated by a propriera-, modification to the standard N-weII CMOS process. Wr^- the output stage is operating normally, the Schov.f. diodes are forward biased and have a small voltage etc across them. When the output is in the high impedann State and is driven above Vcc or below ground, the pa-> sitie diodes DI or D2 still turn on, but SD3 or SD4 wii: verse bias and prevent current from flowing into the N-»t; or the substrate. Thus, the high impedance State is rr.» - tained even with the output voltage beyond the supíh« With no minorlty carrier current flowing into the ? substrate, latchup Is virtually eüminated under p o *? -- or power-downconditions.

VccVcc

Figure 9. LTC485 Output Stage

5-12

Figure 10. Conventional CMOS Output Stap*

LTC485

^ucñTions inFonmñTion■'< / C ~5 ouiput stage will maintain a high impedance .■j.i'.nii! the breakdown of the N-channel or P-channel is

when going positiva or negativa respectively. The #iil be ciamped to either Vcc or ground by a zener

o'jge Dios a Schottky diode drop. but this voltage is way ;r,c'd ‘he RS485 operating ranga. This clamp protects

ves gafes from ESD voltages well ovar 2000V. Be- ;ne ESO injected current in the N-weII or substrato

;:r<.s:s of majority carriers, latchup is pravented by cara- V iicutíecnniques.

Propagation DelayMany digital encoding schemes are dependent upon the difference in the propagation deiay times of the driver and the receiver. Using the test Circuit of Figure 13, Figures 11 and 12 show the typical LTC485 receiver propagation delay.

The receiver deiay times are:¡tp L H -tp H ll =9nsTyp,Vcc = 5V

The driver skew times are;Skew = 5nsTyp, V cc=5V

10nsMax,Vcc=5V,TA = -40»C to 85»C

Figuren. ReceivertpHt

OUTPUT

Figure 12. Receiver Iplh

miNtft,tc<6ris

fisCElVEROUT

lOOpE

Figure 13. Receiver Propagation Delay Test Circuit

5-13

LTC485

ñPP U C R T ions inFO R m flT ion

LTC485 Line Length vs Data Rate

The máximum line ler standard is 4000 feet.

A

The máximum line length allowable for the RS422/RS485 Figures 17 and 18 show that the LTC485 is aoie to comicably drive 4000 feet of wire at 110kHz.

OüT

Figuréis. [email protected]

DIFCEReNTlAL _________________VOLTAGE A -B I

Figure 14. Line Length Test Circuit

Using the test Circuit of Figure 14, Figures 15 and 16 show that with -20Vp-p common mode noise injected on the iine, the LTC485 is able to reoonstruct the data stream at the end of 4000 feet of twisted pair wire.

Figurel?. System Common Mode Voltage gllOkHr

Figuréis. SystemDifferentialVoltage c liO kr;

When specifying line length vs máximum ca:a '3:^' in Figure 19 should be used:

Figure 16. System Differential Voltage @19.2kHz Figuréis. Cable Length vs Máximum Di'.»

5-14

LTC485

|Vf)|CflLflPPUCfiTIOn

Typical RS48S NetWork

- < t i

f-------- u------------- --------- 3 ; ^

5-15

■X

HA78L00 SERIES3-TERMINAL POSITIVE VOLTAGE REGULATORS

FAIRCHILD LINEAR INTEGRATED CIRCUITS

ICNERAL OESCRIPTION — The í íA 78L00 series of 3-Terminal Positive Voliage Regulators is cnsiructed usíng the Fairchild Planar* epitaxial prpcess. These regulators empioy internal current

and thermal shuldown, making them essentially indestructible, i f adeguaie heat sinking is rívided, they can deliver up to 100 mA output current. They are intended as fixed voltage regulators

» wide range of applications including local or on card reguiation for elimination of noise and itnbution probiems associated w ith single point reguiation. In addition. they can be used w ith power

Hti elements to make high current voltage regulators. The mA 78L00 used as a Zener diode/resistor ••«nbmation repiacement, offers an effective output impedance improvement of typically two orders rmagnitude, along w ith lower guiescent current and lower noise.

OUTPUT CURRENT UP TO 100 mANO EXTERNAL COMPONENTEINTERNAL THERMAL OVERLOAD PROTECTIONINTERNAL SHORT CIRCUIT CURRENT LIMITINGAVAILABLE IN JEOEC TO-92 AND LOW PROFILE T a 3 9 PACKAGESOUTPUT VOLT AGES OF 2.6 V. 5 V , 6.2 V. 8.2 V. 9 V , 12 V . 15 V, 18 V and 24 VOUTPUT VOLTAGE TOLERANCES OF *5% OVER THE TEMPERATURE RANGE

taSOLUTE MAXIMUM RATINGSinout Voltage

2.6 V to 15 V 18 V to 24 V

tnternal Power OissipatíonStorage Temperatura Range

Metal Can (TO-39 Type)Moided TO-92

Ooerating Junction Temperatura Ranges mA 78L00C (Commercial) mA78L00V (Vehicular-Automoiivel

Lead TemperaturesMetal Can (Soldering, 60 s)Moided TO-92 (Soldering, 10 s)

35 V 40 V

Internally Limited

-6 5 “ C to + 1 5 0 “ C-SS'Cto+lSOC0°C to +150“ C

-40“ C to +150''C

300^ C 260“ C

CONNECTION D IA G R A M

TO-39 TYPE METAL CAN (TOP VIEW)

ORDER INFO RM ATION

OUTPUT TYPE PART NO.VOLTAGE

2.6 V pA78L26A C <jA78L26AHC5.0 V /;A 78L05A C M 7 8 L 0 S A H C6.2 V ¿;A78L62AC M 7 8 L 6 2 A H C8.2 V Í/A 78L82A C «JA78L82AHC9.0 V yA 78L09A C pA 78L09A H C12 V /¿A78L12AC ;í A 78L12A H C15 V ^A 78L15A C mA 78L15A H C18 V í,A 78L18A C AA 78L18A H C24 V Í/A 78L24A C Í/A 78L24A H C

7-3

CONNECTION D IA G R A M

JEOEC (TO-921 PACKAGE ITOP VIEW)

OROER INFO RM ATION

OUTPUTVOLTAGE

TYPE PART NO.

2 6 V /JA78L26AC pA 78L26A W C5.0 V /JA78L05AC pA 78L05A W C6.2 V //A 78L62A C ;í A 78L62A W C8.2 V #;A78L82AC /iA 78L82A W C9 .0 V ^A 78L09A C ; íA 78L09A W C12 V ^ A 7 8 U 2 A C //A 78L12A W C15 V M 7 8 L 1 5 A C ^A 78L15A W C18 V M 7 8 L 1 8 A C í ;A 78L18A W C24 V Í/A 78L24A C ^A 78L24A W C

2.6 V Í/A 78L26A V ;í A 78L26A W V5.0 V ^A 78L05A V í ;A 78L05A W V6.2 V (JA78L62AV #iA78L62AW V8.2 V *iA 78L82A V #;A78L82AW V9 .0 V ^A 78L09A V /JA78L09AW V12 V M 7 8 L 1 2 A V Í/A 78L12A W V15 V pA 78L15A V pA 78L15A V W18 V Í/A 78L18A V ;jA 78L18A W V24 V //A 78L24A V ^A 78L24A W V

R ( i

* P lanar is a p a te n ta d F a irc h ild process.

FA IR C H ILD • mA78L00 SERIES

r

ÍJA78L26AC and /jA78L26AV (Note 2)

ELECTRiCAL CHARACTERISTICS: V |n = 9.0 V. Iq u T ' <0 m A,0°C < T j < IZS'C , C|n ■= 0.33 fjF, Cq u T * 0.1 jiF. unless otherwise

specified. Note 1

CHARACTERISTICS CONDITIONS MIN TYP MAX UNITS

Output Voltage T j = 25'C 2.5 2.6 2.7 V

Line Reguiation T j = 25" C4.75 V < V|rs) í 20 V 40 100 mV5 V < V iN «í 2 0V 30 75 mV

Load Reguiation T j = 25° C1 mA < loUT ^ 10 50 mV

1 mA < Iq UT ^ mA 4.0 25 mV

Output Voltage 4.75 V < V|M < 20 V 1 mA < Iq u T ^ 2.45 2.75 V

1 mA < loUT ^ 2.45 2.75 V

Quiescent CurreniT j = 25°C 3.6 6.0 mAT j= 125°C 5.5 mA

with line 5 V < V|fij < 20 V 2.5 mAwith load 1 mA < Iq UT ^ 0.1 mA

Output Noise Voltage T a ' 25"C, 10 H2 <; f < 100 kHz 30 pVTemp. Coef. ot V qjjT Iq UT ■= 5 mA -0 .4 mV/°CRipple Rejection f - 120 Hz, 6 V C V |N < 16 V ,T j - 25°C 43 51 dBDropout Voltage Tj - 25°C 1.7 VPeak Output/Short Circuit Current T j - 25°C 140 mA

MA78L05AC and mA78L05AV (Note 2)

ELECTRICAL CHARACTERISTICS: V|N ■= 10 V, Iq u T *^ 0 mA.O'C < T j < 125‘ C, C|N - 0.33 nF. Cq u T ' 0.1 pF. unless otherwisespecified. Note 1

CHARACTERISTICS CONDITIONS MIN TYP MAX UNITS

Output Voltage T j '2 5 ° C 4.8 5.0 5.2 V

Line Reguiation T j - 2 5 'C7 V < V|fg < 20 V 55 150 mV8 V < V|M < 20 V 45 100 mV

Load Reguiation T j> 2 5 °C 1 mA 4 IQUT ^ 11 60 mV

1 mA < Iq UT ^ 5.0 30 mV

Output Voltage 7 V < V|N < 20 V1 mA 4 Iq UT *• 4.75 5.25 V

1 mA 4 lOUT ^ 4.75 5.25 V

Quiescent Current T j = 25° C 3.8 6.0 mA

T j = 125"C 5.5 mA* . ^ ^ Iwithline 8 V 4 ViM í 20 V 1.5 mA

¡with load 1 mA < lOUT ^ mA 0.1 mAOutput Noise Voltage T a = 25"C. 10 Hr < f 4 100 kHz 40 «VTemp. Coef. of V o u j Iq ü T ° 5 mA -0 .6 5 mV/' CRipple Rejection f ' 120 Hz, 8 V < ViN < 18 V, T j = 25"C 41 49 dBDropout Voltage T j-2 5 " C 1.7 V

Peak Outpui/Short Circuit Current Tj '2 5 °C 140 mA

/ T L i n ^TECHNOLOGY

f€ñTUñ€Sissolutely No Latchup: mOS Comparable Low Power - 60mWSuperior to CMOS- improved Speed — Opérales Over 64K Baud• improved Protection — Outputs Oan be Forced lo ±30VW ithout Damage

- Three-State Outputs are High Impedance When Off• O nlyNeedsl/íFOapacilorsSan Power Additional RS232 Drivers - lOmA 'ik Supply Curren! in Shutdown i.ailable in SO Package i.ailable With or Without Shutdown

nepLiCRTionsfriable ComputersUttery Powered RS232 Systemsjower Supply Generator‘ erminalsMódems

LT1080/LT1081

Advanced Low Power 5V RS232 Dual Driver/Receiver

D € s c m p T io nThe LT1080 and LT1081 are ihe oniy dual RS232 driver/ receiver with charge pump to guarantee absolutely no latchup. These interface oplimized devices provide a real- ¡Stic balance between CMOS leveis of power dissipalion and real worid requiremenls for ruggedness. The driver outputs are fully protected against overload and can be shorted to + 30V. Uniike OMOS, the advanced architeclure of the LT1080/LT1081 does nol load the signal line when “shul down" or when power is off. Both the receiver and RS232 outputs are put inlo a high impedance State. An advanced outpul stage allows driving higher capacitiva loads at higher speeds with exceptional ruggedness against BSD.

For applicalions requiring up to 5 drivers and 5 receivers with charge pump in one package see the LT1130 Series data sheet. A versión of the LT1080/81, the LT1180 and LT1181 which use oniy 0.1/iF capacitors is aiso avalladle. AH of Linear Technology's RS232 lO's are available in standard surface mount packages.

TYPICfiLfiPPUCfiTIOn

10-43

LT1080/LT1081

ORDER PART NUMBER

RBSOLUTe m R x im u m n n r i n G s p r c k r g c / o r d c r m FORmnTionSupplyVoltage(Vcc). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6VV + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12VV - . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -1 2 VInput Voltage

Driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V - to V+Receiver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - 30V to 30VOn-Off Pin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . G N D to 12V

Output VoltageDriver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . V - + 3 0 V t o V + - 3 0 VReceiver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . -0 .3 V to V c c + 0 .3 V

Short Circuit DurationV + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30SecondsV " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 SecondsDriver Output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . IndefiniteReceiver Output. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . indefinite

Operating Temperature RangeLT1080M/LT1081M. . . . . . . . . . . . . . . . . . . . . . . . . . - 5 5 “C to 1 2 5 “CLT10801/LT10811. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . - 4 0 ‘>Cto85°CLT1080C/LT1081C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 0® Cto70°C

Lead Temperature (Soldering, 10 sec.). . . . . . . . . . . . . . . . . 300°C

TQP ViEW

« Ec -Ev^Ec,-Ecr-EC 2 - [ T

v-ETR2 OU* [ T

REC2 í K ^

LT1080

ZD| n c \D

3 ■" ■ ODT

^ P E C - IK

3 OUT

m3 TRJ !N

3 PEC2 OUT

PACk AGE U PACKA5E IS - líA D CERAMiC DIP 5 p aCKAGE ’ f-.Á A O PLASTIC OlP

16-LEAD P X S T IC SOl

TOP ViEVk'

C1-Ev-E tT I u ND

c -E 33 fR T OUT

k - E 33 PEC1 IN

cr-E LT1D81] j ] f^ lZ^ OUT

v-E 33} T f i l IK

TR2 OÜT C 3Ó] TR2 IN

R£C2 IK ^ 3 RÉC2 OUT

J PACKASE N PACKASEle - lE A D C E f tA M lC O fP _____ _____ T^LP A D Pl á s t ic Oip

Tf-LEAD P U S TIC SOL

LT1080MJLT10801JLT10801NLT1080CJLT1080CNLT1080CS

LT1081MJLT1O8IIJLT1081INLT1081CJLT1081CNLT1081CS

€L€CTRICRL CHRRRCT€RISTICS (Notel)

PARAMETER CONDITIONS MIN TYP MAX UN?riDriverOutput Voltage Swing Load = 3k to G N 0 Posit ive

Both Outputs. Negative••

5.0 7.3 -5 .0 -6 .5

\

Logic Input Voltage Level

Input Low Level (Voy; r High) input High Level (Voy^ = Low)

••

1.4 0.8 2.0 1.4 \

Logic Input Current V|Na2 .0 VV |^s 0 .8 V

••

5 20 5 20

Output Short Circuit Current

Sourcing Current, Vom = OV Sinking Current, Voyr = OV

7 12 - 7 -1 2

“ i

Output Leakage Current SHUTDOWN (Note 2), Vom = ± 30V • 10 100

SIew Rate Ry=3ka,Ci.=51pF 4 15 30 V»!

Receiver

input Voltage Thresholtis Input Low Threshold, LTIOBOC, LT10B1CL T 1 0 B 0 l,M /L T l0 e il ,M

••

0.8 1.3 0.2 1.3

*

Input High Threshold, LT10B0C/LT1081CLT10801,M/LT1081I,M

••

1.7 2.41.7 3.0

Hysteresis • 0.1 0.4 1.0 >

Input Resistance 3 5 7 c

Output Voltage Output Low, lo y j= -l.B m A Output High, loin = IBOjiA (Vyc = 5V)

••

0.2 0.4 3.5 4.8 i

Output Short Circuit Current

Sinking Current, V(jy| = Vyy Sourcing Current, Voyr = OV

- 1 0 - 2 0

0 .6 1

r ; rA

Output Leakage Current SHUTDOWN (Note 2), 0V<Voyy<V(;c • 1 10 • *

10-44 XT

LT1080/LT1081

a e c T R i c n L c H f i R f i C T c m s T i c s (Note1)

ISAMETER CONDITiONS UIN TYP MAX UNITS;«er Supply Gcnerator (Note 3)• Output Voltage Iq,_- = OmA ! 1 6 9 V

lcu- = 10mA i ¡ 8 V' lou- = 1ómA 1 6 . 5 7.5 V

- Output Voltage I Ip.ij- = OmA , -7 ,5 -8 .5 Vl0u-= -IC m A -5 .5 -6 .5 Vlr¡y = - 15mA i 1 « 5 - 6 V

. 2 : V Current 1 * : 1 2 2 2 mA

.;:vLeakage Current (V;;) SHUTDOWN ,'Note 2) lLTt080 0nly) 1 • ^ 1 1 0 0 fiA‘ Pin Curren! 0V<Von-c-=s5V (LT1080 Oniy) 80

Pise Time (Noie (LT1080 Oniy) 1 ms■'» • denotes specifications which appiy over the operating temperature rge iO 'C sT jsTO 'C for commercíai grade. -aO °C <T;<85"C forindus- t gradeor -55°C <T.<125-C form ilitarygradedevicesi.

v t4 1: These parameters apply for 4.5V < V j; < 5.5V and V j^.ón = 3V,■•■íss otherwise specified.

Note 2: Von-of? = 0.4V fpr - 55°C <Tj < 100°C, and Von-of? = 0-2V for 100°C<Tj<125“ C.(LTl080only)Note 3: Uniess otherwise specified. V^c = 5V. external loading of V + andV ■ equals zero and the driver outputs are low (inputs high).Note 4: Time from either SHUTDOWN high or power on until V + a 6 V andV " < - 6 V. AH external capacitors are V r .

Pin F u n c T i o n s (PinnumbersrelertoLTIOSO)'x(Pin 17): Input supply pin. Supply current drops to zero •:r:e SHUTDOWN mode.»ND(Pin16):Ground pin.

(Pin 18): Controls the operation mode of the LT1080 ‘■O'sTTL/CMOS compatible. A logic low puts the device ‘ -Te SHUTDOWN mode which reduces input supply cur- T': to zero and places both driver and receiver outputs ■ í Tigh impedance State. A logic high fully enabies the

[ “'Pin 3): Positive supply for RS232 drivers. V + = Requires an external capacitor (> V F ) for

storage. May be loaded (up to 15mA) for external ■ ’ - T i use. Loading does reduce V + voltage (see . Capacitor may be tied to ground or + 5V input

With múltiple transceiver, the ,V+ and V - pins ' ' 3e paralleled into common capacitors.

= ‘ '_ (Pin 7): Negative supply for RS232 drivers. V “ = f [ ' ' :c -2 .5 V ) . Requires an external capacitor (> V F ) for 1 storage. May be loaded (up to - 15mA) for external I use. Loading does reduce V - voltage (see i ; ‘S's). With múltiple transceiver. the V + and V - pins ; - paralleled into common capacitors.: IN (Pins 12,11): RS232 driver input pins. Inputs! .'.^'*-''CMOS compatible. Inputs should not be allowed i , i . ^ ' ' ’¡eunused inputs toVcc-

1 CTuntAí^NfXOGv

TR1 OUT; TR2 OUT (Pins 15,8): Driver outputs with RS232 voltage levels. Outputs are in a high impedance State when in the SHUTDOWN mode or when power is off (Vcc = 0V) to allow data line sharing. Outputs are fully short Circuit protected from V ~ + 30V to V + - 30V with power on, off, or in the SHUTDOWN mode. Typical output breakdowns are greater than ±45V and higher applied voltages wiil not damage the device if moderately current iimited. Shorting one output wiil affect output from the other.

REC1 IN; REC2 IN (Pins 14,9): Receiver inputs. Accepts RS232 voltage levels ( ± 30V) and has 0.4V of hysteresis to provide noise immunity. Input impedance is nominally 5k0.

REC1 OUT; REC2 OUT (Pins 13,10): Receiver outputs with TTL/CMOS voltage levels. Outputs are in a high impedance State when in the SHUTDOWN mode to allow data line sharing. Outputs are fully short Circuit protected to ground or Vcc with power on, off, or in the SHUTDOWN mode.

C1 + ; C1 - ; C2 + ; C 2 “ (Pins 2 ,4 ,5 , 6): Requires an ex­ternal capacitor (> 1 mF) from 01 + to 01 ~ and another from 0 2 + to C 2 ~ . Pin 2 can be used for connecting a second positive supply. When a sepárate positive supply isu sed .O lcan bede le ted .

10-45

LT1080/LT1081

TVPICflL P€RFORmñnC€ CHRRRCT€RISTICS

DríverOutput Vottage10

8. 6

4

2 0

~ 2

- 4

- 6

-8-10

V cc*5 .5V OUTPUT HIGH 1

■Vcc- 1 ! V w -*5 .0V

4 .5 V "_ v t= 5 .0 V

Vcc»- 1

-Vcc- 5.5V -ouTPUT LOW 1

Supply GeneratorOutputs

6> <I É oIo - 4

- - - - - 1- - - - -LOADEOTOV- LOAntCTOGROUNf

! 1 i

! i

; - 51 1 : 1

' ! i

; 1 ;

LpADEDTO.GROUNO

J - = i

! V -'O U T PUT VOLTAGE ! 1

Supply Generation (rom Vcc or Shutdown

-5 5 - 25 0 25 50 75TEMPEWJURE C O

6 8 10 12 14 16 18OUTPUT CURRENT (mA)

Receiver Input Thresholds

-5 6 - 25 0 25 50 75 100 125TEM^fWTURE (*C)

Receiver Output Short Circuit Currer)t

-5 5 - 25 0 25 50 757EMPERATURE (*C)

100 125 2 3INPUT VOlTAGE (V)

Supply Curren! in Shutdown

- 5 5 - 25 0 25 50 75 lOO 125TEMPERATURE ('C )

Dríver Output Leakage In Shutdown

TEMPERATURE TC)

10-46 j T i m

LT1080/LT1081

iVPICflL P€AFOftmflnC€ CHARflaCRISTICS

Output Waveforms Shutdown to Dríver Output

- lO V ON-DTT [ 5VINPUT l OV

Shutdown to Recoiver Output

0 2uS 4 ^ 6 ^ 8 5 0 im s 2ms 3ms 4ms 0 lm s 2ms 3ms 4ms

TVPICRL RPPLICRTIOnSupporting an LT1039 (Triple Driver/Receiver)

•IN APO'jCATiONSWHtPE A SEPARATE SECOND POSITiVE SUPPIV iS AVAiLABlE (SUCH AS *5 V AííD T IJV). THE * 12V SUP^lV MAY BE CONNECTED TO PIN 2 AND C1 DELETED THE =CWER SUPPL' CiRCUITRY WILL THEN INVERT THE + !2V SUPPLV THE + 5V SUPPLY IS STiLL NEEDED TO P’jWES The BlASíNG CiflCUlTRY AND RECEIVERS

O 'y n s s B 10-47

LT1080/LT1081

ñPPUCñTion HiñTSThe driver output stage of the LT1080 offers significantly improved prolection over older bipolar and CMOS designa. In addiíion to curren! limiting, the driver output can be ex- ternaily torced to ± 30V with no damage or excessive cur­ren! flow, and will no! disrupt the supplies. Some drivers have diodes connected between the outputs and the sup­plies, so externally applied voltages can cause excessive suppiyvoltage to deveiop.

Placing the LT1080 in the SHUTDOWN mode (Pin ig i - , puts both the driver and receiver outputs in a impedance State. This allows data iine sharing transceiver applications.

e';

The SHUTDOWN mode aiso drops input supply curte* (Vcc; Pin 17) to zero for power-conscious Systems.

LT1080/LT1081 Driver Transceiver

OUTPUT CAN BE PORCED

externally

S ILT1080

DRIVER

Older RS232 Drivers and CMOS Drivers

[> ^ rw it h som e d r iver s .EXTERNALLY APPUEO V0LTA6E CAN FORCE THE SUPPLIES

RS232•TRANSMn/fi::i'.UNE

input

Sharing a Receiver Line Sharing a Transmitter Une

LTioeo n RECEIVER LT1080 #1

DRIVER

LOGIC “ OUTPUT

RS232•TRANSMiSSiON

LINE

10-48 X T U O S S

LT1080/LT1081

üP P U cnT ion H inTs1‘iendriving CMOS logic from a receiver that will be used eitie SHUTDOWN mode and there is no other active re- jíver on the line, a 51k resistor can be placed from the

input to Vcc to forcé a definite logic levei when the tcíiver output is in a high impedance State.

Vcc

’í protect against receiver input overloads in excess of :XV, a voltage clamp can be placed on the data Une and f il maintain RS232 compatibility.

PS232in p u t "

Ik f l*-V A -

•A PTC THERMISTCP WILL ALLOW CONTINUOUS OVERLOAO OF GREATER Th a N s IOOV

RECEIVER

LOGICOUTPUT

The generated driver supplies (V + and V - ) may be used to power external circuitry such as other RS232 drivers or op amps. They should be loaded wlth care, since exces- sive loading can cause the generated supply voltages to drop causing the RS232 driver output voltages to fall be- low RS232 requirements. See the graph “Supply Generator Outputs” for a comparison of generated supply voltage versus supply current.

EXTERNAL OP AMP

tVPICfllflPPLICflTIOnOperating w ith5Vand12V

c r m mTBCh n Ol O O 10-49

LT1080/LT1081

PRCKRGC D€SCRIPTIOn Dimensions in inches (millimeters) unless otherwise noted.

J16Package Ceramic DIP

' R ra

Brn]ntiHinr!h3ip?jpT¡{3

□ l i j k l L i J L í J L L lD l i J l ! l

iHSrTiToi__i.

UJUJlijUlULjliJULi

¿ LLi' UJ llJ liJ U!

e. 8|cLT1081MJ/U 150*C 100*CW 40*C/WLT1081CJ 150*C 100*CW 40*CW

1 'vesa- i B r r r 7 i r T ' T mn T¡ r ? i

:?sc.coi5 N;rt *;,c ?>*.

w 6»LTlOeiCN/lN 125*C 120“CW 50*CW

N16 Package Plástic DIP

J18 Package Ceramic DIP

jmaa e. e«LTlOeOMJAJ 150*C 100*CW 40*CWU1080CJ WC 100*CW 40*CW

cealeoi■tu

N18 Package Plástic DIP

...5lE

1 w e. 8f1 LTlOeOCN/IN 125"C 120“CW

10-50 J J W Í

-/- .c’,-'s¿*S- íl. lsiÍfl.¿Si:„-í * .‘,¡^^f“- 2 i

Aplicaciones: Transmisiones de informática RS-323, RS-422, RS-485, CAD-CAM. Transmisión de señales analógicas. Sonido profesional.

Descripción: Conductor cobre electrolítico estañado flexible clase 5. Aislamiento de polietileno. Formación por pares. Pantalla individual por par con cinta de aluminio-poliester solapado un 30% , cobertura física 100%. Hilo de drenaje en cada par. Cubierta exterior de PVC color gris.

Sección Efiám.: Cartas : C ípac. .ImpKt- Ixmg.máx. (mm2) fixL .«Jtre - repttiE 1 íáj).: .cbMbixmbí

(mm) conduc. coral y ' ’ ’ ' atenuaciónyrésto . £dBV.i

Sección 0,22 mm^

facción piárn. - Caqpac.' f ^ p ^{nran ^ \ «tiIíb lerttiei V., Zb)

(mm) 'tsMiduc. ,CDndry^:j¿;,ñ-- t í T E S lD

Sección 0,60 mm^

0,22.-,-£ '3 .9 ,V . 90 - 60 :,.> ..: 400 1 0,60 4 ,7 '.. .9 5 : 65 ' . ' 950■ '2 iS é0 .22í= íX 6,5 >- 90 . 145 í 60- 400 ■ 2 •' 0 ,6 0 . ' 8 95 ■ 185 > ;> 65 ■ - 950 - 't

'.'3 7 ~ ■ ¿ 0 2 Z ^ 5 -:5 .8 -: . 90 ,: - 145 ■■ 60 > 400 - 3 ;■ 0,60 ‘ - 9.4- - 95 -- 185 ' 65' > '9 5 0■ 4>r;í;0 ,22 -f^ '7 .4= ^ - 90 . ’ 145 60 - 400.. - ' 4 ■’ 0,60 - 10.2-, 95 . 185 65 :': 950

■ b <r : 0 ,2 2 ^ : 8.4'--- "9 0 145 60 ; • ; 400 i 6 0 ,6 0 : 11 ,5" ' 95 ' 185 > V 65 9506 7. ■4-.9 "jv. • -9 0 - r - 145 60 400 9 ■ 0,60 15 - 95 185 65 O'.7-;: - 0 .2 2 a ; v 9 T 90 ■■ :> 145 " 60 400 12 . 0,60 ' 15,5 95 185 659 . . £ 0 .2 2 i - i 11.5 • 90- •- 145: 60 400 16 0.50 17- 95 185 65 950

- 12C 1 0,22 '^£ 1 2 -7J -9 0 ' - . 145 60 . 400 • - ■ .. .: 16 '.c;, o,22:.¿

21=¿5; o ,22:l1i 13,4 ■ • r i5

... 9o ;- : '9 0

7 -1 4 5 ■ 145 ■

, 60 :' 60 - '

400400

; . - .i-,

27 0,22 -''^20,1 ' 90 145 - 60 400 " I I; 50 ;■. 0 ,22 26,8 ■- •: 90 145 60, 400

Sección (D,34 mm^

1 0,34 •• 3.9 90 _ . 60 6002 0,34 ; 7.4 90 145 . 60 6003 0,34 . 8 90 145 60 6004 '■ 0 ,3 4 . • 8,8 90 145 60 6005 J 0 .3 4 ■“'■ 9 ,5 90 145 60 600

■ 6 - 0 ,34 ' . 10,5 - > 9 0 ■ 145 60 6007 ' " 0 ,3 4 - - 10,5 90 145 60 6009 . . 0 ,3 4 : .. 13.5-. V 90 145 60 600

; i 2 -„- 0,34 13,8 9 0 . : ; . 145 - 60 60015 ' • 0.34 13,8 90: 145 60 60020 0 ,3 4 - ' 17,8 - 90 ■ 145 60 60021 0,34 - 17,8 - 90 145 60 60027 .- 0 ,34 ' 17.8 90 ■ 145 60 6005 0 - - 0 ,34 27 90 145 60 600

IO

Polígono Industrial "Can Parellada"Calle Libra, 6108228 LES FONTS DE TERRASSA (BARCELONA) Teléfono 9 3 /7 3 1 39 00 Telefax 9 3 /7 3 1 36 23

Aplicaciones: Transmisiones de informática RS-232, RS-422, RS-485, CAD-CAM. Transmisión de señales analógicas.

Descripción: Conductor cobre electrolítico recocido estañado flexible ciase 5. Aislamiento de poiietileno. Formación por pares. Pantalla individual por par con cinta de aluminio-poliester solapado un 30%, cobertura física 100%. Hilo de drenaje en cada par. Pantalla común de trenza de cobre estañado al 80%. Cubierta exterior de PVC color gris.

:■ Saltón Diárn. CafMc:: Impett Long.máxde - (rmi2) exL aitre 1 aitre í (Zb) cable conscía

pares (mm) conduc._ caral.y _Ohrrja atenuadón^. - e!.cesto ■■ ■ 6dBV;-

Sección C),22 mm2 Sección (D,60 mm2

1 - ' 0,22 4.3 90 ___ 60 400 1 0,60 ■. 5.1 ■95 . . . . 65 ; :_H9502 J' 0 .22 " 7.1 90 145 60 400 2 0,60.:7.8,7 •, 95 ' ■ :185 >; -r 950

■' 3 'í ' . 0,22 7.4 90 145 60 400 3 0,60 ; i o , i ' 95 ,, ' 185 65 9504 0,22 . 7,9 90 145 -60 400 . 4 \ -0,60 10,9 .'-7 95 .. 185 - 65 950s '- .-'' 0.22 - ■8.9 90 145 60 400 6 0.60- - 12,2 95.- • , 185 . 65 , 950

• 61-: 7

: 0,22 ' 0.22 '

9.69.7

. 90 90

145145

f 60 60

400400

912 '

0,60 ■ 0,60 •

' 15,7' '-14.2

" 95--■ 95 -

■ 185 - •- 185 ■

6565 ''

950 ■- 950

9 v i 0.22,-. 12I.-T0.22 .

'12 712.5 7

90 : 90

145145

6060

400400

16 0,60' j, ' - ^

y 17.7 .T

95 . ^ - ;■ 185 ; 65 950

' 0,22 I r 13,9 90 . 145 “ ■60 ■400 i- ■ i.n.. 1 : r

: 21 ?? '0 .2 2 -v-15,7 > 90 ■ 145 60 . 400 V - 'V " -4 27:,5 0,22'^ “ 20,7 - I .90 ■ 145 60 , 400 ^"5o:= 0,22 27.4 , 90 - 145 60 . 400 . - - . . 'A . "'r, ' -

Sección 10,34 mm2

V 'T ?'■ 0.34 ;• 4,3 90 ------■ 60 6002 ' 0,34 " 7.9 90 145 60 6003 -■T 0,34 7' 8,5 90 145 60 6004 0,34 9,3 90 145 60 6005 . ■ 0,34 ,. 10 90 145 60 6006 0,34 -11,1 90 145 60 6007 0,34 - 11.1 90 145 60 6009 0,34 14 90 145 60 600

12 0,34 14,3 90 145 60 60015 0,34 14,5 90 145 60 60020 0,34 18,4 90 145 60 60021 0,34 18,4 90 145 60 60027 0,34 21,3 90 145 60 60050 0,34 27,3 90 145 60 600

c Polígono Industrial “ Can Parellada"Calle Libra, 6108228 LES FONTS DE TERRASSA (BARCELONA)Teléfono 93 / 731 39 00Telefax 93 / 731 36 23 V

Aplicaciones: Transmisión de datos para informática y electrónica. Telefonía e intercomunicación. Instrumentación y control.

Descripción: Conductor cobre electrolítico recocido estañado flexible clase 5. Aislamiento de polietileno. Pantalla común con cinta de aluminio-poliester solapado un 30%, cobertura física 100%. Hilo de drenaje de cobre estañado. Cubierta exterior de PVC. Tensión de serv.: 250 V.

Sección 0,22 mm^

N.®-: lección Diám. Capac. C ^ iac.. r de (mm ) exL' éntre. 1.Tares ; (rnin) conduc. xOTitly - atenúacíOri

Presto ' ' '■Sección 0,50 mm^

1 0,22 3.9 51 100 ■ 400 ^ 1 A 0,50 ._4,7..S. . 95 - .6 5 - .-C 9 5 0 ^2 0,22 6 51 90 - 100 400 . 2 ’ 0,50 . 8- .. 95 : 185, . ' 65-r." ■-3 0,22 6’3 51 ^ 90 V : 100 400 , 3 : T 0,50 • : 8 . i r - . 95 185 ' ' 65 . : 950^4 0,22 . 6,8^ 51 90 100 400 : 4- íC 0,50 8.6 95 185 ■ 65 9505 0,22 7,3 51 90 100 400 ; 6- 0,50 .' ■ 9.8 ' 95 185 656 0,22 8 51 90 100 400 9 ’ 0,50 ' 13 - 95 185 657 0,22 8 51 90 100 400 16 0,50 ■ 15,2 ■ 95 185 65 9509 0,22 10,3 51 90 100 400 19 0,50: 16,2 95 185 65 950' ;

12 0,22 10,8 51 90 100 400 27 0,50 20 95 185 - 6 5 - 950. 415 0,22 11.5 51 90 100 400 V - ' i 4. j’/s»»'.*.- sjuesít20 0,22 13.1 51 90 100 400 A]21 0,22 13,5 51 90 100 40024 0,22 14.2 51 90 100 40027 0,22 14,8 51 90 100 ■ 40050 0,22 19,8 51 90 100 400

Sección 0,34 mm^1 0,34 4,6 90 _ 60 6002 0,34 6.8 . 90 145 60 6003 0,34 7.2 90 145 60 6004 0,34 8 90 145 60 6005 0,34 8.6 90 145 60 6006 0,34 9.3 90 145 60 6007 0,34 9.3 90 145 60 6009 0,34 12 90 145 60 600

12 0,34 12.5 90 145 60 60015 0,34 13,8 90 145 60 60020 0,34 15,2 90 145 60 60021 0,34 15,5 90 145 60 60024 0,34 17 90 145 60 60027 0,34 18 90 145 60 60050 0,34 23,2 90 145 60 600

io

Polígono Industrial "Can Parellada’’Calle Libra, 6108228 LES FONTS DE TERRASSA (BARCELONA)Teléfono 93/731 39 00Telefax 93 / 731 36 23 v

Aplicaciones: Transmisiones de informática RS-232, RS-422, RS-485, CAD-CAM. Transmisión de señales analógicas.

Descripción: Conductor cobre electrolítico recocido estañado flexible clase 5. Aislamiento de polietileno. Formación por pares. Pantalla individual por par con cinta de aluminio-poliester solapado un 30%, cobertura física 100%. Hilo de drenaje en cada par. Pantalla común de aluminio- poliester con hilo de drenaje. Cubierta exterior de PVC color gris.

«¡fp.;de»r¿;~Í2Q “C a 9 (rc de rvicáci: SSJ V,-

Sección 0,22 mm^

t • X 0,22 . 4 - 90 __ 60 - 400: 2 ¿5 0,22: 'r. 6,7 í 90 145 ' 60 ~ 400= 3 -’í 0,22 .7* 7 - ' . 90 145 60 - 400

4 0,22 A -7.6 90 145 60 ■ - 400■ 5 0,22 - 8.6 . 90 145 60 : • 400■ 6 f 0.22 '■ 9.2 90 145 60 ' 400: 7 0,22 9.3 ■ 90 145 . 60 400

■9 -"T-0,22-1.-11,7 90 145 ■ 60 400 : ■ :Í1 2 , í 0,22 12.2 : - 90 145 60 400.,:-'í16 T 0.22 13,6 7 - 90 145 60 400 72VI.; 0,22 -'M5.3 T ; 90 - ' 145 ' 60 ' 400 ...27 X 0.22 20.3 v i; 90 - 145 60 40050 ' ’ 0,22 ■ 27 : “ 90 145 60 400

Sección 0,34 mm^

1 0,34 4 90 — 60 600‘ 2 ' ' 0,34 ■ 7,6 90 145 60 600

3 0,34 -7 8,2 90 145 60 6004 0,34 9 90 145 60 6005 ■ 0.34 9,7 90 145 60 6006 TL 0.34 '10,7 90 145 60 6007 0,34 10,7 90 145 60 6009 0,34 13.7 90 145 60 600

12 0,34 14 90 145 60 60015 - ' 0,34 ■ 14 90 145 60 60020 0,34 .18 90 145 60 60021 - 0,34 18 90 145 60 60027 . 0,34 '■ 21 90 145 60 60050 ; 0,34 27 90 145 60 600

M " Sección Diám. Capac. Capac. Imped. Loncp máx. ded& (mm^ ext entre ; entre t (Zo) cable consida

pares (mm) conduc. cond. y Ohms. atenuación deel resto 6dav. ;;

Sección 0,60 mmi2

1 0,60 ^'"14 J ' : ■ 95 ^ ' — 65 9502 0,60 -'-'■ 8 ,3 :^ 95 : - l - ’ 185 : t. 65 . - - 9503 0,60 9,7.’--'-. 95 '1857-,- 65 9504 0,60 ■ 1 1 0 ,5 --I 95 185 " t - 65 ■- 9506 „5 0,60 : y i i , 8 : ' : ' ’95 - : 185 ' . 65 9509 0.60 1*' 15,3 "í ■„ 95 185 ‘ 65 950 . r

12 ■ 16

0,600,60

- i 15,8 ,i r 95 1 7.17,3 -~ -95--- .

1 8 5 :v ’“■'185-/.

6565

950 950 '

.T. - ^ 4 1 “ v-> v'-V'.'. , ■ ■-iti.-. .. —

"T - J' -= . ."_ tr’ • r . .- ... .

€ Polígono Industrial “ Can Parellada"Calle Libra, 6108228 LES FONTS DE TERRASSA (BARCELONA) Teléfono 93 / 731 39 00 Teiefax 93/731 36 23

Aplicaciones: Interfonía, telefonía, intercomunicación. Conexión de ordenadores a impresoras.

Descripción: Conductor cobre electrolítico recocido flexible clase 5. Aislamiento PVC. Formación por pares. Separador de poliester. Hilo de desgarro. Cubierta de PVC color gris.

depar^

TÍSectáón(mrrP) Compxsición

Tiiánitíro ; extEiior - <tnm)

cápEOiad entre conriu.'

<pRm)K g/K inH

1 Ñ.»■ de H pares

Sea:i6n{mtTÍ^ iCompoBObii

.Diámetro - exterior

'{mm)entre condil •7" 6>Rm)p

; PeH) : : Kg/Rm

Sección 0,14 mm^ Sección 0,34 mm^

2 0,14 - 18x0,10 5,2 98 33 2 0,34 : 7x0,25 ■ 6.5 . 120 . 533 0.14 . .. 18x0,10 5,3 98 35 3 0,34 , 7x0,25 - 6,7 • 120 . ■ , 5 94 0.14'= i - 18x0.10, 6 : . 98 - 45 4 - 0,34s>:-v 7x0,25 ' 7,5 - --- 120 -- 66,5 0,14.;^ ■■ 18x0.10 6,4 " 98 - : 53 : 6 - 0,34-. 7x0,25 - 8,8 120. . 94 '6 0,14 -i.18x0.10-!:: ,7 : 98 . , ” 61 9 -i, 0.34. “V 7x0,25’ . ■ 11,7. 120 "r 125;8 • 0.14 > 518x0,10':'; ; 7,8 ■- 98 - - 73 12 . - 0.34 7x0.25 - 12,1 120 W r 160 i9 - 0,14 Vi ^ 18x0.10 í 5 8,8 - . - 98 87 19 .; 0 ,34: 1; 7x0,25 15 120'..’ ■' . 225-

10 - 0.14*;.;-Íi-18x0.10?; ; ' , 8,8 ■■98 90 27 ’ 0.34;: -■? 7x0,25 . 17,9 i20_ : 35212 ~ 0.14 .-- >18x0.10 5 ; 9.2 r 98 : 105 *í._ ”) ^ 1- I ' ; ; .. ~13 0.14 í í i ■' 18x0,10 - . 9,3 98 110 * -T' “ y l - T15 - 0.14 . ■;.'l8x0.10’ ; ■ 10 - 98 125 -24 " 0,14' L !-• 18x0.10! 12,4 98 185 ■ i..-." • ...25 i 0.14 .: 18x0,10 12,6 98 192 -

Sección 0,22 mm^

2 : 0,22 ' 14x0,15 6 98 423 ; 0,22 - - 14x0,15 6,2 98 464 0,22 14x0,15 6,7 98 565 0,22 ' 14x0,15 7 98 646 0,22 14x0,15 8 98 827 0,22 14x0,15 8 98 1039 0,22 14x0,15 9.6 98 106

10 0,22 14x0,15 10 98 12012 0,22 14x0,15 10,4 98 13913 0,22 14x0,15 10,5 98 15015 0,22 . 14x0,15 11,6 98 17319 0,22 14x0,15 12 98 19724 0,22 14x0,15 14,4 98 259,330 0,22 14x0,15 15,3 98 309,538 0,22 14x0,15 17,2 98 384,250 0,22 14x0,15 19.7 98 501,1

I Polígono Industrial "Can Parellada"Calle Libra, 6108228 LES FONTS DE TERRASSA (BARCELONA) Teléfono 93 / 731 39 00 Telefax 9 3 /7 3 1 36 23

Aplicaciones: Transmisión de datos. Telefonía de alta calidad. Instalaciones de seguridad.

Descripción: Conductor cobre electrolítico recocido flexible clase 5. Aislamiento PVC. Formación por pares. Separador de poliester. Hilo de desgarro. Pantalla de trenza de cobre estañado al 80%. Cubierta exterior de PVC.

N® .i :_de''' ■ ¡páres .

Secdon(mm^ Composición '

Oíátn¿a Capacidad ederior entrecondu.

' ■ (pRifl) ;: Kg/Km

Sección 0,14 mm2••7 2-T7Í0.14,.^718x0,10 1 . 5.6 98 - 44'5'■ 3 7 .ri0.14 •:%18x0,10 L - 6 ; ■ 98 "49

4 v; ■Í0.14, 18x0.10 • 6,4 - 98 57 ■;:■ 6 7 ■i 0.14 ;7 , j 18x0,10 7.4 98 ■ 7517 7 -í 70,14 18x0,10 7,4 98 77

S‘ 0,14-sTíii-l 8x0,10.. . 8,4 ; 98 . ; 93-“ lO".-:V 0,14'Í ? 7 i 8x0,10 ' ' -- 9.2 - 98 ' ■■ ' 1 0 9 :12 - -0.14 ■ ;7 18x0.10''' 9.8 98' ■ 130 •

■-13' 70.14 77.18x0,10 ' .--10, 98 130 ’M 4 L.;;--fo.i‘4 F-iV 18x0.10 -. 10 ' 98 135 ■:M 5 - -0 ,1 4 .«•718x0.10 •4 10.6 - - 98 ' - . • 154 ;:

7 0 .14; 7 8 x 0 .1 0 10.6 • ' 98 1591

Sección 0,22 mm2

172 7 ÍV0.22 ■?;7.7x0,20 ’ ' V 6.4 ‘ 98 . • 561V '3 7 r t o ,22 L-snw 7x0,20'.. - 'L'"- 6.6 -- 98 - ■ - - 62V 4'-;ifO .2 2 7 k 7 x 0 .2 0 ' • ■' ■ 7,2 98 : 73- '5 70 .22 -V 7x0,20 7.6 - - . 9 8 ■ ' 81.6 ' “ 0,22 ' ' - '4 7x0,20 8,4 : 98 ’ 1007. - 0,22 ' 7x0,20 ■ 8,4 98 1108 -0,22 ■■■'- 7x0,20 9,4 98 121 .

10 0.22 -.7x0,20 10,6 98 150•12 ■ 0,22 •í-e 7x0,20 11 98 170 ■

15 ■ • 0.22 ' .- 7x0,20 12.2 98 : 20824 - 0.22 --'7x0,20 15,2 98 32230 0.22 7x0,20 16,2 98 38138 0,22 7x0,20 18,1 98 40048 0.22 7x0,20 19,9 98 568

Sección 0,34 mm^

. 2 - -0 .34 T . '.7x0.25 '■ 3 7 0.34 7x0.25 ."4 -470.34 ...'í 7x0.25

6 0 , 3 4 , - J ' 7x0.25 '-'9 0.34 •.Vic 7x0.25,.7 2 0.34 7x0.25 '■.15 0,34 7x0.25 '' l 9 .,7x0,25

7 - 100 717.3 100 807.9 : ' 100 889 , 5 - : 100 120

12.5 - 100 - . 17013 1 - 100 20014,7 : ■: .; . 100 23015,2 . 100 301

€ Polígono Industrial "Can Pareilada"Calle Libra, 6108228 LES FONTS DE TERRASSA (BARCELONA) Teléfono 93 / 731 39 00 Telefax 93 /731 36 23

ANR.TO TTT

INFORMACION EMPLEADA

NationalSemiconductor

Transmission Une Drívers/Recelvers

The common purpose of transmission lina drivers and re- coivors is to transmit data quickiy and reliably through a variety of environments over electrically long distances. This task is complicated by the fact that externally intro- duced noise and ground shifts can severely degrade the data.The connection between two eiements in a system should be considered a transmission line if the transmitted signal takes longer than twice its rise or fall time to travel from the driver to the receiver.

Single-Ended Data TransmissionIn data Processing Systems today there are two basic means ot communicating between componente. One meth- od is single-ended, which uses oniy one signal line for data transmission, and the other is differential, which uses two signal lines.The Electronics Industry Association (EIA) has developed several standards to simplify the interface in data Communi­cations Systems.

RS-232The first of these, RS-232, was introduced in 1962 and has been widely used throughout the industry. RS-232 was de­veloped for single-ended data transmission at relathrely slow data rates (20 kBaud) over short distances (up to 50 ft.).

RS-423With the need to transmit data faster and over longer dis­tances, RS-423, a newer standard for single-ended applica- tions, was established. RS-423 extends the máximum data rate to 100 kBaud (up to 30 ft.) and the máximum distance

to 4000 feet (up to 1 kBaud). RS-423 aiso requires impedance driver outputs with power off so as not to the transmission line.

Differential Data TransmissionWhen transmitting at very high data rates, over long tances and through noisy environments, single-ended tr mission is often inadequate. In these applications, diffe tial data transmission offers superior performance. Diffe tial transmission nullifies the effeots of ground shifts noise signáis which appear as cómmon mode voltage the transmission line.

RS-422RS-422 was defined by the EIA for this purpose and alf data rates up to 10 MBaud (up to 40 ft.) and line length to 4000 feet (up to 100 kBaud).Drivers designed to meet this standard are well suitec party-line type applications where oniy one driver is c nected to, and transmita on, a bus and up to 10 rece!' can receive the data. While a party-line type of applicr has many uses, RS-422 devices cannot be used to r struct a truly multipoint bus. A multipoint bus consist múltiple drivers and receivers connected to a single 1 and any one of them can transmit or receive data.

RS-485To meet the need for truly multipoint Communications, EIA established RS-485 in 1982. RS-485 meets all the quirements of RS-422, but in addition, this new stand allows up to 32 drivers and 32 receivers to be connecte a single bus— thus allowing a truly multipoint bus to be c structed.

RS-232C Application

SN \SJL / / / /

EIA RS-423 Application

T L /X X /0 0 9 4 -1

u ___ , Ir iirríRF»CE

T L /X X /O O M -2

1-4

Differential Data Transmission (Continued)

EIA RS-422 Application

OATAOUT

The key features of RS-485:■ Implements a truly multipoint bus consisting of up to 32

drivers and 32 receivers■ An extended common-mode range for both drivers and

receivers in TRI-STATE and with power off (—7V to + 12V)

T L /X X /0 0 9 4 -3

■ Drivers can withstand bus contention and bus faults National Semiconductor produces a variety of drivers. re­ceivers, and transceivers for these four very popular trans­mission standards and numerous other data transmission requirements.Shown below is a table that highiights key aspects of the EIA Standards. More detailed comparisons can be found in the various application notes in Section 1.

RS-485 Application

D — Drtver R — Reeelver T — Transcsiver

T L /X X /0 0 9 A -4

Specification RS-232C RS-423 RS-422 RS-485Mode of Operation Single-Ended Single-Ended Differential DifferentialNumber of Drivers and Receivers ......-Allowed on One Une

1 Driver,— 1 Receiver

1 Driver,10 Receivers

1 Driver,10 Receivers

'32 Drivers, 32 Receivers

Máximum Cable Length 50 feet 4000 feet 4000 feet 4000 feetMáximum Data Rate 20 kb/s 100 kb/s lOMb/s ' lOMb/sDriver Output Máximum Vottage ±25V ±6V -0.25Vto -I-6V -7 V to +12VDriver Output Signal Level Loaded ±5V ±3.6V ±2V ±1.5V

Unloaded ±15V ±6V ±5V ±5VDriver Load Impedance 3 k n t o 7 k n 450Í1 min lo o a 54nMáximum Driver Output Current (High Impedance State)

Power On .------------ ---- -------- ------------- ±100 pAPower Off . VM Ax/30on ±100pA ±100 pA ±100pA

SIew Rate 30 V/ps max Cont-ols Provided -------- ;---- ■ “ --------- ---

Receiver Input Voltage Range ±15V ±12V -7 V to + 7 V -7 V to -M2VReceiver Input Sensitivity ±3V ±200mV ±200 mV ±200mVReceiver Input Resistance 3 k.O to 7 kn 4 kit min 4 kfi min 12 kíl min

<(D—tM33(POo<■(Den

1-5

< s¿ QZ

a d )K iS N 3 1 iN Í1

CO (D %£ : Í ®03 «O O) co I-■i l §« O H o o ^ Q.Sr o °=ü ££ as « “ 2 « o £ T3 j : O)o - S

ü■o c w E E o o® 2Í o ^ ® ® <D :?

¿ . ®® £ . J Z j¿

O 2. £ «

^ O ) S5 <0 c 2 £ ® o S « <0C e ®

c O O

= C . iE .2 “3 •“

co <0 «o ^ , co —

_ o 5 o « A -®^ _ *o® C o s o cÍ5-S iffi■D .2 o

. ■§ ® s>! o c "a: -Q o ®I ® E §

E o 8 o 2 *•« „ o

^ ® 2 •

- ♦= ® c 9-*o b o> c c 2 « E ® g

0 3_ S < ■" "2 S

íS o 5 2 $ 2 s < ®>M s $

T3 I - Sc o ^

g o S ^ ^

g8 S 81 «£

- )^ £ *“o '©“ 10l ^ i0 "2 j:j | " * o « c

S § § s g |1 £'« I ^ -D) 0>~g | |<D <D ®C C ü ^ _

- .® ® ^ p5

CO ^ ffio ffi 5S | €

® 0!-| ® C O

í | ltó — ^® m' O o •" «o

oa

3O

O

l> .? o

co r«. oco

coCMCMrCD CO coco •«3 t

CM

■A ■A- có có co co co ■Ao■o 5o m

0 2c ® oo > >

E EEoü

D aE0 g Xceo > ®

1 c5G

Sa.. .® o O■H CE íA lA

>* ^ SS 0 o o o Oo o o O o CD CO co h- tAo c Q cg co CM CM CM CM CM

Oi -a -H

co CMlA cg h- h- h- h-O -H -H •tí -H evi CM d d d d do

> (0-H h-

-H

c ^ £ < g £

(£>-H

(O•fi

O-H

Ocg-H

oco-H

oCM-H

Oo}

OO1

oocoooco

oocoooco

ooCOCM

u1>! S <í 03 O (003

>-c bE g

•«X,</)O C

COo

XUJü

XUJo

b C: o

0 0 0 0 0 0 0 0 0^ O ® o CD (D O 03 O 0> ® ®>• > >- >- >- >- >- >- >-- o.

0 aI- <

W- '® UJ UJ UJ •oS H

c ^

! í w03 wQ> § 2 O o o o® s

co tessE

32£

03 03 32 = Si o ® s « £

| É 5 ce UJ UJ OOoü

oo <S<3

O *“ l- 1- UJ

0 iO lO lA lA»

I s3 '

■•HO

4ío

cg■•T-■-H

•tíO«A

CM-H ■

-H ' o -lA

lA lA «A IA tA tA tA tA-H

W - -H •H + -®o-W Q ® ^ CM CM CM CM Cvj . CM CM CM CM CMa. u<aaolAC4

r í < <£ O < < < T“ CM co o O(O CO CM CM tA tA tA tAs o C3> co co 03in CO co co CO - tA lA lA tA tn IA tA03 03 lA tA to lA lA tA tA

co CO < CO . CO CO CO CO CO CO <u Q á. Q D O o a o o á.

•siO■?b >s.

2 °1 + 00 O

O ü < < ro O CM CO •<3 < < O oen lA co co CM CM CM lA tA IA lA tA

CD o Y— 03 co co O TT •0- •O- TTE ¿ tn CA co co CO lA kA tA tA tA tA tA tA tAO ü CO 03 03 CO N. h- rs. h- h-

0) CA co CO (0 < CO (0 CO CO CO CO CO co CO <u o a O Q i Q u u O u u O D Q a.

■os•o cg CM CM co co CDO o oc co CO CO CM CM •v .n cg cg CMco có có CÓ CO co o O

ce ce ce ce ce 2 co co

1-6

eno

Transceivers and Repeaters Meeting the EIA RS-485 Interface StandardINTRODUCTIONThe Electronics Industries Association (EIA), in 1983, ap- proved a new balanced transmission standard called RS- 485. The EIA RS-485 standard addresses the probiem of data transmission, where a balanced transmission line is used in a party-line configuration. It is similar in many re­specta to the popular EIA RS-422 standard; in fact PS-485 may be considered the outeome of expanding the scope of RS-422 to allow multipoint—múltiple drivers and receivers sharing the same line—data transmission. The RS-485 standard, like the RS-422 standard, specifies oniy the elec- trical characteristics of the driver and the receiver to be used at the line interface; it does not specify or recommend any protocol. The protocol is left to the user.The EIA RS-485 standard has found widespread accept- ance and usage since its ratification. Users are now able to configure inexpensive local area networks and multi-drop communication links using twisted pair wire and the protocol of their cholee. They aiso have the fiexibility to match cable quality, signalling rate and distance to the specific applica- tion and thus obtain the best tradeoff between cost and performance. The acceptance of the RS-485 standard is aiso reflectad by the fact that other standards refer to it when specifying multipoint data links. The ANSI (American National Standards Institute) standards IPI (Intelligent Pe- ripheral Interface) and SCSI (Small Computer Systems In- terface) have used the RS-485 standard as the basis for their voltage mode differential interface class. The IPI stan­dard specifies the interface between disc drive controllers and host adapters and requires a data rate of 2.5 megabaud over a 50 melers NRZ data link. The SCSI standard speci-

National Semiconductor Application Note 409 Sivakumar Sivasothy

fies the interface between personal computers, disc drivesj and printers at data rales up to a máximum of 4 megabaud ; over 25 meters.It is not possible to use standard gate structures and meet the requirements of RS-485. The modifications necessary to comply with the DC requirements of the standard, tend toexact a heavy toll on speed and other AC characteristics like skew. However, it is possible to vastiy improve the ao performance by employing special design techniques. The DS3695 family of chips made by National Semiconductor, meets all the requirements of EIA RS-485, and still provides ac performance comparable with most existing RS-422 de- vices. The chip set consiste of four devices; they are the- DS3695/DS3696 transceivers and the DS3697/DS3698 re­peaters. National’s RS-485 devices incorpórate several fea- tures in addition to those specified by the'RS-485 standard. These features provide greater versatility, easier use and much superior performance. This article discusses the re­quirements of a multi-point system, and the way in which RS-485 addresses these requirements. It aiso explains the characteristics necessary and desirable in the multi-point drivers and receivers, so that these may provide high per­formance and comply with generally accepted precepts oí data transmission practice.

WHY RS-485?Until the introduction of the RS-485 standard, the RS-422’ standard was the most widely accepted interface standard for balanced data transmission. The RS-422 drivers and r f^

■Añ

•OUT

TOADDIhONAL RECEIVERS (IF ANY)

TL/F/8578-1

FIGURE la. An RS-422 Configuration

1-330

ceivers were intended for use in the configuration shown in F igure la . The driver is at one end of the line; the termina- tion resistor (equal to tOOíT) and up to 10 receivers reside at the other end of the line. This approach works well in sim- plex (unidirectional) data transmission applications, but ere- ates problems when data has to be transmitted back and forth between several pieces of equipment. If several Data Terminal Equipments (DTEs) have to communicate with one another over long distances using RS-422 links, two such balanced lines have to be established between each pair of D T E s . The hardware cost associated with such a solution would normally be unacceptable.A party line is the most economical solution to the above problem. RS-422 hardware could conceivably be used to implement a party line if the driver is provided with TRI-STATE® capability, but such an implementation would be subjected to severe restrictions because of inadequacies in the electrical characteristics of the driver. The biggest problem is caused by ground voltage differences. The com- mon mode voltage on a balanced line is established by the enabled driver. The common mode voltage at the receiver is the. sum of the driver offset voltage and the ground voltage difference between the driver and the receiver. In simplex Systems oniy the receiver need have a wide common mode range. Receiver designa that provide a wide common mode range are fairly straightforward. In a party-line network sev­eral hundred feet long, in which each piece of equipment is earthed at a local ac outlet, the ground voltage difference between two DTEs could be as much as a few volts. In such a case both the receiver and the driver must have a wide common mode range. Most RS-422 drivers are not de­signad to remain in the high impedance State over a wide enough common mode range, to make them immune to even small ground drops.Classical line drivers are vulnerable to ground drops be- cause of their output stage designa. A typical output stage is shown in F ig u r e 2 a . Two such stages driven by complemen- tary input signáis, may be used to provide the complementa- ry outputs of a differential line driver. Transistors Q1 and Q4 form a Darlington pulí up for the tótem pole output stage; Q2 is the pulí down transistor. The phase spiitter Q3 switches current between the upper and lower transistors to obtain the desired output State. DSUB is the diode tormed by the collector of 02 and the grounded substrato of the integrated Circuit. The output in F ig u r e 2 a can be put into the high impedance State by pulling down the bases of transistors 03 and 04. Unfortunately, the high impedance State cannot be maintained if the output is pulled above the power supply voltage or below ground voltage. In party-line applications, where ground voltage differences of a few volts will be com­mon, it is essential that the drivers be able to hold the high impedance State while their outputs are taken above Vec and below ground.

The output in F ig u r e 2 a can be taken high until the emi base junction of 01 breaks down. Thereafter, the outpu be clamped to a zener voltage plus a base-collector d voltage above Vcc; Vec could be zero if the device is ( ered off. If the output is taken below ground, it will cause substrato diode, DSUB, associated with 02 to turn on clamp the output voltage at a diode drop below ground disabled driver turns on and clamps the line, the signa out by the active driver will get clipped and distorted. aiso possible for ground drops to cause dangerously I substrato currents to flow and damage the devices as i

trated in F ig u r e 2 b . F ig u r e 2 b depiets two drivers A and shows the pulí down transistors (02A and 02B) and associated substrato diodos (DSUB-A and DSUB-B) foi two drivers A and B. Rere driver A is ON in the low ot State; driver B is disabled, and therefore, should ne source ñor sink current. The ground of driver A is 3 ' lower than that of driver B. Consequently, the substrat ode DSUB-B seos a fonward bias voltage of about 2.7V collector-emitter voltage of 02A will be about 0.3V), w causes hundreds of milliamperes of current to flow out

FIGURE 2a. Driver Output Stage (notRS-485)

O)orr

SUBSTDATEOF A ^

FIGURE 2b. Two DCEs Separated by a Ground Drop

*cc* ’cc"

.09 i

FIGURE 2c. Bus Contentlon

Another probiem is line contentlon, i.e. two drivers being ‘ON’ simultaneousiy. Even if the protocol does not allow two drivers to be on at the same time, such a contingency could arise as a result of a fault condition. A line contention situa- tion, where two drivers are on at the same time, is illustrated in Figure 2c. Here, drivers A and B are ‘ON’ simultaneousiy, driver A is trying to forcé a high level on the line whereas driver B is trying to forcé a low level. Transistors Q1A and Q2B are 'ON' while transistors Q2A and Q1B are ‘OFF’. As a result, a large cunent is sourced by Q1A and sunk by Q2B; the magnitude of this current is limited oniy by the parasitic resistances of the two devices and the line. The probiem is compounded by any ground drop that may exist between the two contending drivers. This large contention current can cause damage to one or both of the contending drivers. Most RS-422 drivers are not désigned to handie line contention.A multi-point driver should aiso be capable of providing more drive than a RS-422 driver. The RS-422 driver is oniy required to drive one 100Í1 termination resistor, and ten re- ceivers each with an input impedance no smailer than 4 kíl. A party-line, however, would have to be terminated at both ends; it should aiso be able to drive more devices to be useful and economical.Because of the above limitations, it is quite impractical to use RS-22 hardware to interconnect Systems on a party- line. Clearly, a new standard had to be generated to meet

the more stringent hardware requirements of muti-ppiritd^ links.

. S i lTHE RS-485 STANDARD . - ^ 4The RS-485 standard specifies the electrical characteris® of drivers and receivers that could be used to implemento balanced milti-point transmission line (party-line). A datai change network using these devices will opérate properQ^J the presence of reasonable ground drops, withstand.| contention situations and carry 32 or more drivers and i ceivers on the line. The intended transmission médium ts S 120Í1 twisted pair line terminated at both ends in its charaO teristic impedance. The drivers and receivers can be di¿i^3 uted between the termination resistors as shown in F ig a^ Ib. - . -sdl 'The effects of ground voltage differences are mitigated j expanding the common mode voltage (Vcm) range of¡tl^ driver and the receiver to — 7V < Vcm < -M2V. A forced into the high impedance State, should be a b le ^ have its output taken to any voltage in the com.mon m o ^ range and still remain in the high impedance State, wh^tó^' powered on or powered off. The receiver should respor»J| properly to a 200 mV differential signal super-imposed o n í any common mode voltage in this range. With a 5V powég supply, the common mode voltage range specified -by 485 has a 7V spread from either supply terminal. The s y ^ ‘ tem will therefore perform properly in the presencé^M ground drops and longitudinally coupled extraneous noi^g provided that the sum of these is less than 7 volts.

1-332

The output drive capability of the driver and the input imped- ance of the receiver are increased to accommodate two termination resistors and several devices (drivers, receivers and transceivers) on the line. The RS-485 standard defines a 'unit load' so that the load presentad to the line by each device can be expressed in terms of unit loads (a 12 kfl resistor, with one end tied to any voltage between ground and Vcc/2, will satisfy the requirements of a unit load). It was anticipated that most manufacturers would design their drivers and receivers such that the combined load of one receiver and one disabled driver would be less than one unit load. This would require the RS-485 receiver to have three times the input resistance of a RS-422 receiver. The re- quired receiver sensitivity is ± 200 mV—the same as for RS- 422. The driver is required to provide at least 1.5V across its outputs when tied to a terminated line populated with 32 transceivers. Although this output voltage is smaller than the 2.0V speoified for RS-422, a careful design of the driver, with special regard to ac performance, can allow the user to opérate a multi-point network at data rates and distances comparable to RS-422.RS-485 has additional specifications to guarantee device safety in the event of line contention or short circuits. An enabled driver whose output is directly shorted to any volt- age in the common mode range, is required to limit its cur- rent output to ± 250 mA. Even with such a current limit, it is possible for a device to dissipate as much as 3 Watts (if the device draws 250 mA while shorted to 12 volts). Power dis-

j ipation of such a magnitude will damage most ICs; there- >re, the standard requires that manufacturers inelude some

additional safeguard(s) to protect the devices in such situa- tions.The + 250 mA current limit aiso serves another purpose. If a contending driver is abruptiy turned off, a voltage transient, of magnitude lcZ/2, is reflected along the line as the line discharges its stored energy (le is the contention current and Z is the characteristic impedance of the line). This volt- age transient must be small enough to avoid breaking down the output transistors of the drivers on the line. If the con­tention current is limitad to 250 mA, the magnitude of this voltage transient, on a 120fí line, is limited to 15V, a valué that is a good compromise between transistor breakdown voltage and speed.

AC PERFORMANCETo achieve reliable transmission at high data rates over long distances, the driver should have optimum ac characteris- tics. The response should be fast and the output transiente Sharp and symmetrical.(1) Propagation Delay: The propagation delay through the

driver should be small compared to the bit interval so that the data stream does not encounter a bottle-neck at the driver. If the propagation delay is comparable to the

^ bit interval, the driver will not have time to reach the full W voltage swing it is capable of. In lines a few hundred feet

long, the line delay would impose greater limits on data throughput than the driver propagation delay. However, a fast driver would be desirable for short haul networks such as those in automobile vehicles or disc drives; in the latter case high data throughput would be essential. Driver propagation delays less than 20 ns would be very good for a wide range of applications.

(2) Transition Time: For distortion free data transmission, the signal at the farthest receiver must ha«e rise and fall times much smaller than the bit interval. Signal distortion results from driver imbalance, receiver threshold offset

and skew. RS-485 limits the DC imbalance in the driver output to ±0.2V i.e., 13% of worst-case signal ampli- tude. Usually, the greatest distortion is caused by offset in the receiver threshold. In a long line in which a 1.5V driver output signal amplitude is attenuated by the loop resistance to about 0.4V, a 200 mV offset in the receiver threshold can cause severe pulse width distortion if the rise time is comparable to the bit interval. For lines long- er than about five hundred feet, the rise time would be dominated by the line and not the driver. In short-haul networks, the transient response of the driver can signifi- cantly affect signal distortion; a faster transient creates less distortion and henee permits a smaller bit interval and a higher baud rate. A rise time less than 20 ns will be a good target spec., for it will permit a baud rate of 10 Meg over 50' of standard twisted pair wire with less than 5% distortion.The driver should provide the above risetime and propa­gation delay numbers while driving a reasonable capaci- tance, say 100 pF from each output, in addition to the máximum resistiva load of 54íl. A properly terminated transmission line appears purely resistiva to the driver. Most manufacturers take this into account and specify their driver delays with 15 pF loads. However, if any dis­abled transceivers are situated cióse to the driver (such that the round trip delay is less than the rise time), the input capacitances of these transceivers will appear as lumped Circuit loads to the driver. The driver output rise time will then be affected by all cther devices in such cióse proximity. In the case of high speed short-haul net­works, where rise time and propagation delay are critical, several devices could be clustered in a short span. In such an instance, specifying propagation delays with 15 pF loads is quite meaningtess. A 100 pF capacitiva load is more reasonable; even if we allocate a generous 20 pF per transceiver, it allows up to six transceivers to be clustered together in an eight foot span (the eight foot span is the approximate round trip distance travelled by the wavefront in one rise time of 20 ns).

(3) Skew: The ideal differential driver will have the following waveform characteristics; the propagation delay times from the input to the high and low output States will be equal; the rise and fall times of the complementary out­puts will be equal and the output waveforms will be per- fectly symmetrical.If the propagation delay to the low output State is differ- ent from the propagation delay to the high output State, there is said to be 'propagation skew’ between output States. If a square wave input is fed into a driver with such skew, the output will be distorted in that it will no longer have a 50% duty cycle.If the mid-points of the waveforms from the two comple­mentary driver outputs are not identical, there is said to be SKEW between the complementary outputs. This type of skew is undesirable because it impairs the noise immunity of the system and increases the amount of electromagnetic emission.F ig u re 3a shows the differential signal from a driver that has no skew. Figure 3b shows the case when there is 80 ns of skew. The first signal makes its transition uniíormly and passes rapidly through OV. The second waveform flattens out for tens of nanoseconds near O'J. Unfortu- nately, this fíat región oceurs near the receiver threshold. A common mode noise spike hitting the inputs of a slightiy unbalanced receiver would create a small differ­ential noise pulse at the receiver inputs. If this noise

>Z

t

O(£>

1-333

pulse occurs when the driver transition is fíat near OV, there will be a glitch at the receiver output. A glitch could aiso v/ccur if a line reflection reaches the receiver input when the driver transition is temporarily fíat. Skew is in­sidióos in that it can cause erroneous outputs to occur at random. It can aiso increase the amount of electromag- netic interference (EMI) generated by the transmission System. If the complementary outputs are perfectly sym- metrical, and the twisted pair médium is perfectly bal- anced, the radiation from one wire is cancelled exactly by the radiation from the other wire. If there is skew be- tween the outputs, there will be net radiation proportion- al to the skew.

(4) Balance; The impedance seen looking into each of the complementary inputs of the transceiver should be iden- tical. If there is any imbalance at these nodes, the com- mon mode rejection will be degradad. Any DC imbal­ance, due to a mismatch in the receiver input resistanc- es, will manifest itself as an offset in the receiver thresh- old, and can be easily detectad during testing. AC imbal­ance is more difficult to detect, but it can hurí noise im- munity at high frequencies. A Sharp common mode noise spike striking an unbalanced receiver will cause a spuri- ous differential signal. If the receiver is fast enough (as it is bound to be in most cases), it will respond to this noise signal. It is best to keep the imbalance below 4 pF. This number is reasonable to achieve; in addition, the com­binad imbalance of 32 transceivers will still provide suffi-

• cient immunity from h.f. interference.

5IGN CONSIDERATIONSThe driver poses the greatest design challenge. Its speed, drive and common mode voltage requirements are best met using a bipolar process. National Semiconductor uses an established Schottky process with a deep epitaxial layar. NPN transistors are fabricated with LVCEO valúes greater than 15V to satisfy the breakdown requirements. It will be

seen that lateral PNP transistors are crucial to the driver. The 5fi EPI process provides adequate lateral PNP transis­tors, and NPN transistors of sufficient speed.F/ffi/re 4 shows the driver output Circuit used by National. It is a standard tótem pole output Circuit modified to provide a common mode range that exceeds the suppiy limits. If the driver output is to be taken to - 7V while the driver is in TRI- STATE, precautions must be taken to prevent the substrato diodes from turning on. This is achieved in the lower output transistor Q1 by including Schottky diode S1 in series. The oniy way to isolate the upper half of the tótem pole from the substrato is by using a lateral PNP transistor. In Figure 4, a lateral PNP transistor is used to realize current source IG. Lateral PNP transistors are, however, notoriously slow; the trick therefore is not to use the PNP transistor in the switch- ing path. In the Circuit shown, the PNP transistor is a current source which feeds NPN transistor Q2 and therefore, does not particípate in the switching function. This allows Nation- al’s driver to have 15 ns propagation delays and 10 ns rise times. A Darlington stage cannot be used instead of Q2 because it would reduce the voltage swing below the 1.5V specification. Consequently, the rise time is bound to be significantly larger than the fall time, resulting in a large skew. National’s driver uses a patentad Circuit with a plurali- ty of discharge paths, to slow down the fall time so that it matches the rise time, and to keep the two transition times on track over temperatura. This keeps the skew small (2 ns typical at 25"C) over the entire operating temperatura range. The symmetry of the complementary outputs of National's DS3695 driver can be seen from the photographs in Figure 5. The lateral PNP transistor which has been kept out of the switching path has nevertheless got to be turnad on or off when the driver is respectively enabied or disabled. Another patented Circuit is used to basten turn-on and turn-off of the lateral PNP transistors so that these switch in 25 ns instead of in 100 ns. Consequently, the driver can be enabied or disabled in 35 ns.

’cc

_______IHIGH SPEED

ENABLE/DSABU aRCUITRY ( ) l G

I

I ^ I- W A — '

• DO, DO

SKirW CONTROL AND CURRENT LIMITING

CURCUITRY

V6ND

>Z

I

O<o

FIGURE 4

TL/F/8579-10'

5V DO-100pF

:7 n S .

OV INPUT DD- 100pF ] hLOAD

T L / F / 6 5 7 9 - i : TL/F/B579-12FIGURE 5 r.

The devices must be protected in fault conditions and con- tention situations. One way of doing this is by sensing cur- rent and voltage to determine power, and then if necessary, tuming the device off or limiting its output curren! to preven! damage. This method has the advantage of fast detection of a fault and rapid recovery from one. However, too many contingencies have to be accounted for; the corresponding circuitry will increase the die size and the eos! beyond what would be acceptable in many low cost applications. National preferred the simpler and inherently more reliable thermal shutdown protection scheme. Mere, the device is disabled when the die temperature exceeds a certain valúa. This method is somewhat siower (order of miliiseconds), but fast enough to protect the par!, A fault would usually result from a breakdown in network protocol or from a hardware failure. In either case it is immaterial how long the device takes to shut down or recover as long as it stays undamaged. It would be useful to be notified of the occurrence of a fault in any particular channel, so that remedial action may be tak-

en. Two of National’s devices, the DS3696 reoeiver and.th^°' DS3698 repeater, provide a fault reporting pin which flag the processor or drive an alarm LED in the eventjDf^: fault. National also decided to make its devices a% s|ngjg# transceivers housed in 8 pin mini DIP packages. If thágijajs shutdown protection is employed, it is pointless to have¿dujS: or quad versions because a faulty channel will shut d.owi^* good one. Since most RS-485 applications will employ sirífe gle channel serial data, the 8 pin package will give optimun^r flexibility, size and economy.The receiver has 70 mV (typical) hysteresis for improyl, noise immunity. Hysteresis can contribute some distprtof^ especiallyin short Unes, if the rise and fall times are djffer« ent. However, this is more than adequately compensa!^ for by the noise immunity it provides with long iines vyhá|^ rise times are siow. The matched rise and fall timesjá^S National’s drivers assure low pulse width distortion even at^

. short distances and high data rates.

1-336

om

V2 o

oj ¡rSJP s-o ^C ) Bí

.. I?^ £; N> < ?° —• 9*

9- 9- rt § Si 3o ® g

i v> oo

3 3 3 n> o c D. rto o X oo 32. 3o 2. 3* » rt- q.,2 eK‘ rt

o c =r o•'' 3

T33*v:

o. «. —/.► CA ÍV'g £S.cra 3s S 5- S 3!-| S; o2. S '’ 5 = 3o’S K'-o3. A CTO rt *1 ___ —

6J -3 3— 3 231 2. 2-o' ■ o'3 rn 3r; ^ X •. J- O ... 9

s gn S

d rn ^ gm 8

BS O.3 C^ n9 N-^ í 3

9 Dr» fi}

3 n> fts O

s' 3- g- S-.9 3 o'00 3

- M O :r3 o 17 E3- '« S "<-• 3 *o 3.2 3“ Sfv 2

<. „ _ S 3 o' § D. a-'g----

„ 3 < £ 3? oo 2 D.-0» ñ -"O«, "> o5" £ n _9 S O

SK >-*rtV) ' ,^ n O —O p 3 3 3S S. I OT Q^ o c S ’g i í s f r - .S 2! =. " s. -T ^ o 0 3 “ 3 o.ngaS'S2<3' — w_3rtCu30p- "5* «« 9 5 o

% 3

a. 9&» 3>n =o

X S.‘ 29 3«A "•5* o— o r- Bín =• 5’ ~ g r 3 n,g " ’ 3 o n o -o q o o "^ ^ 9 2 2 3 - ‘ g.=. 3• a s o "OOí ” 3 cfP V»d T3 s "O O. 2 « Í3g^o-^ogu>go.»

S^<28ao-^o-3” 5-gr.8S -l'^a«< 5-” 5n o u, ■ níg-III'i^'goS!n 5 ^ o *

cr2 b „ ?• = o „ ra 33 3.2 T3g 3

O " 5 ’ = ^- o' E.-2 gOa

_ 3 j r— 1 Bn rt? 3 o» OQO. ¿ t/5 I-»3 3*fp p

s . § f i ?

2 o £ “ " 9 9 5a 2 rt“ rti

E OíCl 3■—Iti 00

O- 3d R^ pO ^o.

3 =p 00 9 V5o ^3 ^E. «0-3

O- i.O" 3. 3rt « 3.(A

_ 2”§- S-. 5(A ft 3• 3‘ i«£=“ 0« 2 O

« 3O. i" 3 9" 3

taca 1“ 3 5T2 .9 -j OE w 9

- « íí ^ ^rt 3 rt 3 3 , oK O. Q» ®

l 'í o§ 2 2 g- g 3: 1 g. 5 §- E 00 Cl. p ^

rt =r 3 2 ^O. a o 9t*o

í C. 5i " = np r t «

rt c cr « 33 o 5. p 3 3tA O 2.

• En•-1oO33Oc9

osV) n

» « i; '' N^ Cl. 2. O «^ fts ftí 9P p

^ s - | ; i ■ ? l - sí ^ ^ n 2-3

^ tp s-s «C/2 6A — — Wo S 5- ? S-• rt 2g ® E 9 S F— "" — 2. a „.» < 3 3 Oí3* 5‘n E o»0 5-

P w'<3 3 £LO-">g.5oO"5. |ao -e <. n D n I a m » - °

m» vnCL t/5 gS- Io 33 9 „ -s g § g-o

- n 3 O O. 3 Oí 3 07 O. o "O«b ^ r t— (n P

(A

O« P

• s^ ít ^

3 ^3. tAp s

o *“ 00^ 2W5 CA

c

p ^8-51 8^ O9^

t o:;• qV)

rt 3_ w o> 2 >0-3^ C ;a

3 *- '<M. (AV> 'On»o ?sre w » eg H'-'l3. W5 sr

H 'm gB O- 3 — O.3 5* a. E p rep p

-1 n

° 23 -1c; rno rí— O _O*' 3 3 i 3

m re X) P

re. g 2 S o.

S'P — a- np. ij O<v rr m re P W I

9 3re »"33 Cre"Oo ®o n o O,

o3p 9«rre o O O 33S'gc <

2rt g D. g- &E < ^ 5 <.x->J7' " K £t 2 Sig- ? o-§ Z.£a 3 ^ a ® sa 3 “ » -55' 5‘ g'a 9: 3a® o 2- Cl t« 2p re c ^3,_ 3

" i- ° »y> 2 —j3 PO O 3 <3 O 5 E. 5. «

5T 3*3 PO cr. 3’ o p 2E. o pV) I —

g= = lre P- cr. « ^ CL « O o> ^ 2. P p c'"p ^9 CLo 3* o s:3 re I T»

Oa .c

*<(AOQ

fiO■n"Ooor»O,<A

>■ o 5 3"o

^ 3cci . ■'é oÍC g= s-C. oCL nCA ^

s i^8

m =CS’O' o

S 9 p3 ^ ^

CA ^2 o' o«A 2. > p'CA

O 3 P P.

Ni ,z

reCA 00?3 5^ fío ^é g CL^ ■' 3*J _ «.. re

" X El» O 9 ?rre ,§ s :i " ^

3' S E. o r Cl2. re

o 13 p p rr Ab

iF 5vj ^■H S-re 3

reJO ^ C 3“re re

P CL3 Ep 5Ci- Sre P-— OiOV5 32 ^E- oO Hr o

• 3 =) - o-> 1 1•i 3 ^O v>

r ^ - >i B -O- tA- rel's i La-: re 3 j 3' O- 3* ÍS > P.

P 3 o

^ i 3 X g 3 S pNJ— 3t-A •

a 3óó‘ 2K íCL rp ^p 9CA *3re P 3 2 o— -- C 33 -. E—■ 2

2^3*

pP. S*3 Oo® 2

£

3 s ■ g iCA CAre O . Cl e= — C

p r» E. 3-£ 2. ,C -ic "C p.oo '< 3* 3 Pp 2 «i$ o'E Ep pg-5=

00p. 2T 3 fto> —2 w E

3*

CL nE «^ i_^ M00 ^ •

^ % drer 5 re rt 3 __1 o 30 5^ p p 5^ o g. ET. p p3 3^ CL OO re

“• CL O

n 2< c re *3c. 3 X re o. O P•r 2 g-

O 2

c r ZT. E' 3 r., rr3* o 3 E3 re P riID 3 CA

d ia g 8 i■ =>- £. g5 ' CL = a

Level-to-Level Interface

í ^lü ^

tllíH Male

Female

oo

f f i

Female

Male

oH

H=r

üi 3 3S o - 83 3 ^O- H sú "Oo . C ^ o

3 ': g fo S S’ w

O ^ 3 Vc O 3 A?r I o> o S. c«

. g"S i f i'g - I I> 3 "2. o “•

V' *5O 3O* P

g > ?S g 33 32.

Oo313

ni 3 rn crt 3

O^ §

o d^ ÍS- 3 ^ ^

' 3 I O-O 3 3 O

b a

3O3 W, 3 3o

*T3 ?r

o 3§ £

3Cu n ^ Oí 3 iX O 3.- 3 G- 3!=• g S ^ S- S >5 o ” i» "2 gS o p 3 Y’ í 3 3

‘= " iiá —■3 - 3 p' o o ^ g.52. o« K O§ 'r ‘ 5Si r . § pp . t« D y .

p cy

c 3n p o oj 3 5 ?rI g 5 - ' |5 - 3 - p3 2, g0«

^ < 0 . ^ 0 SL«£ < Q

pa'-ín - V"S- o N> ^n P OO C . t o q o

o* 5 ^ N ^ . —

r-S ^ = S .^ - § -I ñ f s - i -g G » a- 3 PS, 3 tí v< l«“ ^ o S--^ so o. ^ rt o

»9 2 - 3

o. 3

I Is- §C/5 5.

f/> ^? O.3* 3

§ ° S E.'S -;s-^^ O a» 3.3: 3 oó‘

o ^ = 3

o3o*o5

o-?en»3

3c.■55 c/5

> 3 '=■ -“ 3 2 ñ° ’H. í o2. O « 2. 3E.'< 2 p 3g. =• p = 3

ra 5"ó2P__

73\ ri ^ ! co 1 K)

00AiOo3

n>

Ono

rS a 3^ O ^ 50, 5 f p s o

o3

o n.“ §j¿‘ CO 2 « 2.^ ñ’ 3 " 3o 2 3* »5 3 ^3 5 a E. >3 '-c P rt ^"O Op w 3M •£ aZu ^' E“5‘

l - ' s g 3c O 2- O D. o 33 2 ^9. 3C V5 CPO t

! 13

oO3«

d rt ^3 . 3 9-p " 35? C §g S 05.wi —• 3 P-. 5 O

^ 3. « 2 :r 3v:O d

• i, - 3* o ^ P o 3 CP 3 3* -• ,2 O. « 3- > o | i i--<P I ? ?

'-' ^ rn &9 ^ 9. — o- > 3: =■5— 50 3 ^ § w S 3 o. 10 a; 2 3 iá = ñ-O. 1 O. »

Q3a.oo

o

a 3

oera

3- A

1"

oT3

S- o oA ^A AN) S3>

>¡O <O o

r 3- 2." 3i' a s.

' oi t u g- 0 3;• a n

n 3w S— Cu

*3 S. o3 n> o

n w 3 ero'^ 3 O* “"" Oc §<pSI c l * .H. E g g'!SCu ‘ &s< >"H.2 . Vi§■ p §." '^'5o " s

H- í w E <;"3 ’ < o3 sr ^ a» -r 00 - a

es 2?» rt o= 2c. ^

2 - 1 S-L/i es <r CP o S^ E

“O3 IS °r- w

>C5^

re . a- >re3 t

í re re 3

'S i3 o

<5 35 o® re oo P-

o §■ o FS. oVi C.re 3 ^ 3 . rri 5' — •ero 00

reP 2

c Q.Vi 2 .es rti"1 Ss3 cr 3 ore _2 o ^ es re re

3 --' rt 00 ja 3w w

^ 9O re « cr M.3 D. 2- o ce es 13 3. es es o — ;i 3 r* c/s=r n 3“re re

5 ’ cr

>? ra P- r. C. ^

'E . H ~ 1 O O 1+ S3 P o rr 3- - iT p- = p hJ o p-

/-' UA2 o^ red.'2re re

ÍS

re <2 2. re “re {» “* 3

Cu

f j• ero

o" ^£ g > o

: * 3 "3

rerers ^ X2 3 - < 2 " « " g 3

S ^ f I.

H - i'^3 2. re2 ^ rT 3 ~ ce fp

3 5 » CP rt 5re 3. Cu

US O +Ui 9

3 es wj —.■ j-3 0 ^ 3

CU*T3 O C _

<O

« . V i 2-“• 3 rerT 2

; o o3' re

ra 2 S C cre Q» ■ n 2 ' • S í ,

re o

g.as oe c r CA o "3* 3* c O 2 3 5 -2 O. ®

oz

>o

>ZODO

00 g

^ ero

"rr — tr» 5^ i*

c cr Si*

o'■n ^3 ?• <PCd o£ 3H» t/Su>

n Vi ^ _n ‘ ■— rr» C/3c c o. •i - 3 S 00

-i cr

o " O cr

g .3g g- i 'ys 3

2Cl

2. í?2 «2. 3M 0> ■ _O « O «/i « . G . “£ o3"g§ -£G sr* a O CL 3cr S V- g

00 2 o 2. cO. (Ac a.q o « »

3 «1 ía*. So «g .»C ft2 O3

S. 2L — G.£? rtc í

09 O o ^ oM Vi

i lD O2 ®

Oo' O 9 3 2. (a 00 < S £.G. r»

H Í -3- 3-^ 3*^ nS“• O ^ cr

! f5 o3 '-92 o GO* S3 ««

ICJt<

n>

Ooo

C/5 o p Cd >^ H n8 §■ g3 Gti

Q n o

G. 3' ^ o_

33

c o3 3

I i'V) X’

cG

3Oo

■ O o 3 5 o37Snc3

to0“O-3< > i

-• soo as “ o*

? ?“ go &

g' ? “■ 3ere cl3-o>3> <í

“1 ^—. rí 3G. 2 o'BJ o a =Vi

GI S ' lo c G

o’ 2“ 3O ,co 9* 3.rt rtc« O

3* G 3^ O aicrnintso3-S’n

^ s o g 3" H í ^ ñ‘ ñ •3- GS9 3 00 O o

^ o o3“n n 3 G 3T 3'0O= f~ 3

5'3: 00 3*Vi

tsnn2.3c

ere<‘n

"25'

o X

? O

o!£. Z

< en 03 2 . to* 5 ’

i U^ n tA

§ Q G oo‘

2 5

a “C 35 ^ Sn I 3. 5CL £ 21 . „c:- H

se 3 as o3G 3“ 2 •-J n

Si ^ r. 3 ^ íi

S g 'S H “ < h: ?

L, cr n Sc 09 2 - 2 'ws 3 3 3 :_ ¡G 3 a? <5- O 5-

GOO

rt - £ ^ D o2 - s " Q r

X: Oí en Oí ^^ 3 §• i

« ?3 S2. ^O." NJ

3 = -g- CL^X. o 6!Ó. S

.' 2 38í n n ^ Otn a ■ n “3

3- Í5.n a»

.-a

3 S'G < -G rs

» s iP “ i

nC 3

¿. Gr. ^

3cr

H -3* G 2 «« S .G- C/53 ? 3 M? L.J

G >r ,

^ oenTD

¡03• D

3■ &í ••1 o- nOn3

O d ^ ' Ñ' nVi 3 g<P ; C nG *3n

aO*IG re n 2. s

g35nG

oo?r5'ere

o

n

'5“ - 3* 2^ a n 3

3 «„ _ „ IJ. 3 ^a- o 3 — O n r-O ~ 0-'< s Sa _ n , ^ Q J J .

_ -n 2. «*3 8í Ss' ^« Z te ®O 3- - -<= 2 2 '2. 5 ’ 5o 3 H sr í a n 3 _ ^ G<?0

OO

33- =• ^- Oí —00 3 yn c/s

§: (Tj X 3 — 0 ^ > 2

o 53 "O ¿ 2 * 3* — 3C/5 G zr-^ 3” * n ^§ 3- n ®G rt K>O G Q Oí -• m o 3 í£ ■ o ^ te j/5 o “ o 5 '^O n O \

íSz

n

zo

Zooo

cH =Vo

o v>

S s - =■

O o c c

0« 33 O P n

s :

c

i"ODO§■2.CL 3

2 3 a . pp •-»íp nv: o í a gg: s § "s.o f? "

CH 5:

P rt f" w <w ^ —•— 5 nj c o . 5 ^W5 — o ^ ^ )!r 2» <0

1 i=r

Q. a . 5 <jo s - •* ft =r a3 «&s »

> iJT

p o .

í °fS" = So n D. rriPP o«■ 3o ^

C70 Oí Hp wa *

oo "*K’ cS*

3a* Qrp ■—~ C/5 O

tré' 3 a e E. 3

OQ ^ ■1 O

§ io . o

?o5 “

=r a ' SS’ ^

§ ^s g-o ao 003 rt3 2 3 3 a* rt

- 3oa

a * Q.2 '5 m= o ’ ^ n5 ' “H^ --S' a

o o2 ^S. 3< 2 o 3

O O5 «2 X -•CP <■« (Aa .3 2 rto« g ?T 2.p "*• 2 ? ’= '« =. 52 c H. O

' 5 g . ' ^ lE.-” o- §_ p o a .S o &PÍ" I . O.

00

R* 2P »3'S £fT *o’ía 3

«/>(/)(/> <9 0 0 r» rj 0 0 0 3 3 3 O. Q. Q. O Q Q

"< *<•<3? ^ S?o 3T oS : S |

0 cr> o% tfi {Q ^ o

1 i .

y y yQ »

O <« tn

5 i .Q. -

73 -IO O

5 3 I(/> o o (5 * ^3 ^ WO <5* <5*Z 3 3 E O O o " “ ““ 3 nj m o o o = 3 3

3 3

O On =í

50 “H C/> (/> (/> m ni m

Q O ^ 5

o 0-o 3 o 2

OCO oo c/

J ^' CO

50 3 2Q, Q u_ o> CL 3 50 ^ Ql O

^ ü 2 O O n O n i ^ ■o ^ 7 5 (/) C/>

X X X X X X

X X

i* i.o . 5? S -

» :áo o

^ “O(5* o

I . S

? l 'i o

C/1 *oO o

PinAssignment

M nemonic

From DCE

To DCE

From DCE

To DCE

From DCE

To DCE

a « n ^H á oa* -• rp p ?5 ^ 3 C 3- Ci, O3" r r

00 g" §■ "O 3 P

® O 2TI Cl

3*<tD 3

s - ^P a? £00 o*• rpXk. ^

= • ? g>

3

=L- 3 c r rp c c.(A _R OH Z

H Sc/3 a;

Vi Virp ^

O í 3 3 ^ 2 : ^ ^

3

I c JO' 3 C

<■ O.n ^ rp o

n ^

= - js- ^

os

3n“sp^

' í i*3O3 ’

3-rp rpo ^ ~ o

^ 5 -g- 3- S 2- SP^ E . O 2 . ^ M E. a;

3 2 ^2 *“ 3^ r \o. ^ a- CA V?y E n

H " 5 - o -oc c S a 3'O r , * .n “ —^ 3 »3 3 oc rp ^ S£. Q- C^ O

” s iw '«í O n a„ H o - 3 - a ;

W H = r 3 ? “ g' ^ a - r n o g a 'S ’ a.C T * ^ — r ^ a 2 p < ^ - ^ - _ ^^ t A j y ü - . 3 o . - «

5,’ o ^ S s S - o = 5 ’^ o

- = ~ 3 §i ! . H 15a vÍ* í/3 ” <a rt

- o ------ c "P

’ 3 - 3 í 3 o ü = 0 3 3! o . o . a j rp fe; rpi. sT I <2.

^ o 2 Ó

o-g z ^— "1 —■ n

n 9-

rp 1 pr '=I 00‘ O rp

p *2. EC <9 fP

X ^ « ^ O

OHm

a-"O 3 rp 2*-

' en 3 rpa t« Pi- i I■ o

o n - S- o z o 2 ------

D = Z 0 5 . = rn n 3 c p . ^

‘ to

nHto

■5to

pE: n

' = c r ^CLV; "2, z-s. P no 3 ñH rp CO 3 O

s . l i3 « 2£ . 5 ^r£ <9 00 I

m = o -. E po ^^ p —.

-1 o -í “ •3 3® »• 5* 3

Ía o ^«A rp ~ rp _ p O p - r — —.3 rp C Srp a H 3■■’ *? rn ¥

:-• rp o o2 2 .5 - S-a ' < « , £rp _ nJ a*w o 3 CB n 5 ü c

H H H» = H ó g3 2 í2. j:3 ^ *í ere ^

3* 53 S.

=

i 's I3 2 q=e K- ~

E . 3

)oO

£ . 0 .

« s i 3

§ g- § 2 I S " i2 3 3- s = ^ a S ’ s o 3

3 3 3 - 2a D. 33 g- 2- 5’o g « o-

2 : ^ ' P > n S- Z> =.

tA aj “o ? 8 o”■ " II i

; S i■o $ -

5- r i o m

3-nO 5Z 3-» " E ^- t/a

£ í 3 iO —.E 3P *3g g3 . 1a 3

00

S" S" Qrti rt 2h: ^ció Q íí*

-í =’ S 1 X

f i o ? .§ 2 - 3 33- Sí 5* ^ero — tfl X.

3 M - ‘aa ^ c Q5 O

Es 8 iíí0 3 3 ®2. C 3ñ í£. 5 QCl Cjq X. —

' I w t5 - ^ 000 o J--1 “ 5í? S p £.

2S « ÍJ, o oVi

^ 3= B^ o

5 ^3 tiS. ^O E z ^cr | .

^ S* o S :H 2

9 9. n í cp Cu 3c 00 c

g'ftc3*C3

3cr g 9

« ■ g 9. 3* 7 0c E " 0

p 0 00n“ ?3 n H c 3 n Q

Q

o= =• s3 < S 2 ".!r —Cl 3^ — . o

3 3"O£. ® — 52Í-3- rt

O

3;(Á

S ‘ ^

o

3 S . f“1 ^ Q

3 o O3* H ^« H a .o 2 3* 3rr* e» o *<o ^> 2. D o

3 g n ®o S. w ®Z CL 3' a

2 P ñ' o. > £ S . 3 "§ g i -5« TJc -n ^ 'gi o rW- 3 o ^ 9 :

l í s

o i . ^2 ñ' "3 £ »■3 2 »

00rt

V2 n 3 X m 5 . o «. o $ ó ■ 3 2 ^

B‘ F3' 3 o H*. =^ y3* ^ ^« p 3*OZ » 2. o § i3 -■n 3.'0.7Í- ^

2 . o

3 eo2. 9 1:“£ 2 o’ ?S f 3 n

í;;-cB- g i-S - Io ^ 3* O- 3 í 57 3 3* 2. 3* o R- ■? <6 3

30!o. M

c ^*3 O « rHX 0®o ^ 8* ^ 6» 3*33 tñ 2-Vi rto0 2-

i-O OO

3- iS.eroa g

l l

D< A2 cP- H 3:^ « Q... mVI 2. —•3 r3O 0^ =•

3 “ c * «3 „ (OX » 3

- 2 3 S .fT “ — _ o - X - O" P

c2 » =. 2| £ - ? o S - o - p s: Oq 3* rrt

o 5jCL 3 . O^« 0 35 D. go p ^

í yM n

° I OrT H H S 3 * rn ^ ^2 . -í 3*

o p

o «n O•~t Q

^ t 73 2:

3OT

C3" 3CP3 E 0

P CAV CUE cC ^ 000Ec

r>«.5'

CT> E /» r-i c

z. = o- 1 .K' £•• KJ B o —■S 2 o" O 5*a “» 3cr

c . == S3* 2 Q.” ñ ñ‘o c. °5 0 ?o 2o cr5 "*<o.

3E; íO Iin ^?o p b' rt

^ = 3 3K ' U ó „3 o' S. 2S » 3 H3 =-tw ^

^ - §■ '1< o« 3 2=» "O 20 2 - á o ’ s -

“ ■ 2 , O3 “ o3 -5 wo. —»*O.. 3.'«803- S nn C-** -JT ^ 3 íí" R3 P 20 3 3^ Vi

§ • 3 ^” t/5 «3 y3 §' irt • 30 . - 3

O trt § Z í 3.

3 ft OiX ^rt c/5s s-

I " S '3 .— O Oi 3 ; i« Ó. O WJ ^ >n• ^ apo o H C

Pt/3

cr 2 o o -I 33* ^£ a.3: n

- D. - o = a » ? —& S I S -2.S ^ D - =RXi p ^ 3 ..c t/> 3 r» ^

■ s ' s r i ^ ?

- z °'• " O" í:*o Oí R3 3

0 '< ,^ S’ i .— n 3

O a.á ”m (t

^ 5 ‘ §-

2 oo »^ “ 3-O 3 s 00

“-I - 3 S- 3 -= -P 2 J-.3- , .• O.5' o3 ®

rS? o a* 00 14- cr. S. o 53 D. 3

.J ~- “ D S n o c« o.» » ?='<2 a ° ° S ^ n ÍL o. ~s 2 § . i

d == 3.T* ?0 oo R-

c_ H

o* 2 3". no. c/>o ^ rt _3 o s.; -& 3- S 3-P f&?r 3t !T. o. 3 (/> ...5 • 3 o ^ 3 3 tí^ p a Qc CL

?3 aH e/2V3 ?0

o o n 3W P

(Ao *f>’Z »,

- :í. o- g5- í a.2 SR «

I l - S

y o' 3’ 3 g &re - o0 s«* ^1 i !ñ o n

U1 _,s - oo- 3" Jg 2 ra‘ 2 ' S - 3 ' S £. D. c -•& 3 r.

35- g £ ^

wo- n*< £

n - i?. ■*■H ° 95 o

S g »3n 2 o 5 2 3‘o. 3 2 " =>P ^3 O. 3 cr '

^ ^ a, V" 3 S o g?■ 3 3 ? 2 o í 2 -1 R = ■' ^ E fí 7 c»* ^- s . ^ i " °o ■ „ § 3z 2 s -

í ó -R* 3' cro 3 : r . ' < | . H, o -w p 3 o^ ft 5* o 3^ í= ^ Gcfl O iT5« O H 5^ Z P |c/a o

3Vi Ci.3 í ‘a o g“E. ^ 3 o 3 ^

H D. c/a

35*aOHm5*p

n>

Ooo

o i/tr. «6< 3Si a.

P* «3 . o.

ri) O“ oV C

O c/a :r.v3* ^ 2o r— c/5

i e t^ -n “ •^ ft O ■2 r. P ,.P :Q O O o '

TI =• 3 '~ O « .cr B

■ " H5

7 3 n

o S 1/2 c o2. o 1.

i i Ioo V j

£. 2 .~ -n3- O

r» í« O ^g sQ. 3p t«

= -ñC. 3

3-.O

O3O.

3 ^ ~ <. o o.3 a

"OV5 «—■ <r> «:■ g 3* 3 « Cu ap o—1 <^ O

9' 33 o e/a Cu a o o3•-• Cu{_j t« p

l - § ' 5O OX. “1 3 -p p-í 2 : 33 * fS 3? O ■a

3 5'3 - i

a

i ^ O «E 3 =S— fl> 9 cr •* cP P *n

P ^ O

« ^ C. « : nCA o ^a 3 T

p fp ^3 rt O

c

D =; « 9 .t/2 g » o?3 g 3 t;* g 3 »H 3. 2 . 3 ^" w S 3*jg o p 3 t/53 a p fpo ’ S 3 g S - »J 3 3 2 g 3- i- R D.3 . rp crt .. pt« 55 O H*— p ^? o ^ cg g 3 l S . 3 - 2 O. O » g

O» O

r- 3o d3

cr O" 3 « C e 0 0 ^

o.C P

“ ■ D. " 3" » £ 2.0 3 —:S Ec “rg «. Ec < =<• S.'H.rt n

o 3• 3 ^íi* ® "19- — ■c o s' V5 a í£

'■t o" < g: 3 c p ‘ P 3 - 3 ' — p o. — 3 C

- 3 “ •p 2 3 «, c

" (TO

O = 1a

c ’ E2 ^ co c . -» o c. 2.fí <

® <V. cf S £. ? CL O2 ic 2 . r> "1

Ó "zz.^ go n8 >

Z . g - l

g g- i 2.iI s & g- =■3 — C P =r O s n

3 p i * E 3

I o o E3 e ^ ^c5 E *c ® -r “ 2 o 3 S-• Ci. to ^3 - c e ‘£ - " g: ñ| ? o a g _g 2 ?= £3- —" O 13 2 2.. - g- S 3

? 2 , Í o g5 “1 ^ Cc f— y,^ ü c _o H 2 2 3— i 3* O^ P 3 3C3 3 p.

p 3

E Sv; 3*

c/a c/a c/a c/3 í/aO n O W coT CD > es >T ' *U " 9 ^5‘ 5‘ 5' 5' 3'NJ W ' S Os Z

c/a c/2 .00 e/2 00

o o 3 3 a c-o 2 o 3 5 3 cu O- Q.

v: v.<?3 n ?o ?o Hc sr rt et0 2 ^ 0 3^ P — rti —t

C c_ o. s- o o ñ w » “•S » aa £ »

H 3 O3 c 5* 5 ’ 3 S

§■ ic 3 E ob : 3 - O 3 00 c .... <yo — c T3^ ® S S*ero' H §• ^p o « N— X" ^ Oc«* —» o

s ? =;• 2.■S n g ®c 2 . c ^Cu p c . te^ H* ñ

S "g s.1 s § fflC C i. 3“ET o. a. 2

o " i g p c a *« üT» a rí3 3 á 3o 3 rn g. o 9 - í <0 3 ® g :V3 3O O C g, c- ovT fí c• 3 <■

T O O C 3

aH ET ft

ecg f °

3Eero jg o 9 o2 " E 055' o r —

00 op | .

S - 1 5V3 E «H

0 - 2 0 ? C 2 . o Q < p ? r 3

V O

= N I? D § n¡2 5: o"g ra o 35 o ^ 3 a 9 " "*■ o " D ? S- i H i .3 E.® 3 I-t :

fn ^ te E c

'< 2

p3

3 E

S* 3 o" c 3 3

00 C-. t« ^o < p- « =3 ” p 5

00 00 3 E^ 0 3 ' “p 3 ’ O E 3 00 ® oS. 9* EX -n C P'T-• P «. •O 3 a >3 t« p H - ' 3 3-p cr.

cO * cu*3 EC p_ cb c •< g “■ SP

^ 5<a-

« ' . ” m

— 3* t/3 IÉ<CT' o 3 c 3 5. ^ O CC O* c n M -- a

^ 3* ~. 3 ’ c/a c t« 300 o P o n"r3 MS o -H-m

9 3S H S. ^Z 3■ o o »

a>"2. o.- 1 3 o>

N ) C9 í o - 2-T33 9 S.

c

cH a: E o

3 ^c s* X¡ a

I Ií ?2 3Cu «Ao 3-o X*o 5oo «« 2 X- QV

C og a3 m

PP O*E ^ <

"O ^ •o 3* 3* C 3' C

! i 5s r -t ♦« 5' H3iCT0 ^ Ia P "O 3. Cg n =■ 9 - a £ ^ i. S-.

9 3P 3*S ®

| oc híz. ^=r o o c3 aP J L

cH

I P

n ZX K>

nm

íSz

>o

2O

>2Oon

I(O

< i2.*0 < 215 qo « a ,C 3 V) íi5- BJ a* P >vO. —: B3 1- weroÍA *•<

rr ^ 'Og* í -O

«3S

o3V>C:3

Si o" " 3- ° -I =T P —2 -S " I'a 2 . p s-

o í a * D o< «.. 2 : s- — oS*^ w« S --—. o cr c

t« cr c 3cg’ P- ■' .S *T3 P =*. « O -í5 c.00 o* »52. ' rt"3S 3 5tA ^ o V)- -- —^, (A «£.'-Í 7t

. lA

aC o* O"CL c 5 *■** " su

3* O

sps .5'

33 9Í-L3- 3

c cS °= S - I ^a "O j

11 í? -§ N) Err 2 = Cl

3 3r.oo

(T3Cp.H3*

3« rSP ^ <?

3 - 5 !.E 1 1 - =ít r? c« O-

3' Os g '

Ci. 6í wc E O « c “O rr t-, Bs . 3

erq 5 " < E ^ C i. 5-• 3 rt o Bí J3 rt■ “ = s

:. S- o g i h: S.-3(A i

■ Or “ K 2. 2- o'

;:. H -* — 2 «« ^3 „ » o g ( ñ - g » g n 2 S ^ 3 33 § " S - E -» D- í — 2g. » 3- ^ 3

9' 3. g

I ? " " 1 ^ 1 “

3' 3

n . o ' O 3P* 3-O

^ {An cts* 3

9 . üi. í >^00 3- ^ 3 -• cr^ 2- p- g ® 3- o ^ E 00 sr _

^ 3 C5 ^ ^ q.3 11 ^ -- 2 ^3 - ^00 « 2 5- o. ^ 3 P* ^

” - M p. £. o °S ^ » 9 =3. < _ w3 -g E g -1 :1 “ s S- g 5' 3

" g i s - l! lg .g | p g| ’'B s; o g

^ 1-I» c cr

o 3"

o p oo35'

' 3o'3

oo®, p< p B= E £

I I 'CA P

's' S1 .3rS' n 00 ^no*3 ^s í .Si ^

¿'g s 5 'OT -

^ I S n f e ' ^ S S o gX E ! ; ^ 8 8 g f - ” 9 s

c fp p g i op- 3 M O-CTQ 3K- G “ ■ i ' =

cr 3 -00 3o ^00 C -

3.Ó5- « g §• X. » c = 5' o "g-.-C £ 2 ° n- o ... g.r r o 3 t r ^ 113^3^“ ^

T3 3O o^ c Qí£ o q® c 3 (A3. o

11 '< pW « 3^ cr oC5 O 2 O* § p-5" « c« C

p H3 3*3 g3‘ ^C ”

® jr* wío® « cs i s -l o K3- P5’ 3 3 o* 3y> n E s.o « r. o® ^

^ 1 ^ 3o 5

(Aro ' 3» 3

-3 - .§■ 3^ 2 . = -. ^ <T> 2 ^^ 3 rt* 3* oé g S .^ g \ ü'S" I s“ 2 o « 'rrP 3 3 3t

' , 2 ^ o ^ 3 . G-gíü o> 3 — -»

C90ca.íAQ3a.53<A

>i r> O^ S- § 'S g‘i>i rp o. 2 . 3 .“ f "S" s. i'3 ’ W5 ^ o ^ q p —> ^ ^ p pe 2-. ® 3 rt 3* 3* 3‘ s S'.'” n o. o 3 9 — <*P -n « ES-'P' 3 ^ "« .— 2 . 5* 3*w_ ' "O o ot£ vo o e r;3 - 0 3 »E E P- rt 5‘ í00 O O P

o

ooO

- H h ^

H h -o

H F -o

H3* .n Sra

2 o o ^3 q- 3. rp p ^

3- g + 3-E E 3 Oe '^ < 3ro 2.«s o

• ^ rtI l í=• cr g

r s 'g’ 3‘ í «3 00

í ií 3 -* o. n

00BOc3O<

eroO3

0-B3

pVi 3 5a 0 ^ 2 A EB r’3Q. E 5*00

3a p003E(A P B- S CL

” crPs*

po.ClViCn

<O. rp0’

Prp(B.

¡3| o' ®rp p 2OBi ^P 3*

ÍT' ^ B" t/5- 2 - o <

00o

3*O

< C !rti q- ¡3 > ’3 03:

o.= B3 3

4: Cb < < E EVi P B* 0®

^ s- =■c/5 3 rp2 3KJ “ Z Í2.

^ ^ o B B -c r « o* o ^

o o oS g<2.C V- O l/í fí ^” o '55" !Z“ g8 3-3 o f» O.e- 3 »< § ic í= 2 ^o ri fP(A ^p 2 fp B 3 <P

UJ — B* p ^ 3 P CE ^ Z .■ K W g

S ^ ^O. ^ 2.2 5- ga " 2i- 3 TO .5- o g« 2 3 O 3.rt O 5 . P

w _ W*t 11» _. wero o *. 3 » q o D q ^ o. O. ..rt ‘”_"E.l art O

i 8 E - lo 5-

C « O'o 3■3 &

3 atS' o«o4:». n^ E

fo. ^ s co 'Afi. »2 ^ 00I ”Vi ?r

o o.o “

^ oo 2

rt0 3¡3 K 35 i^ 3

. o g -E g &a a ?

' n‘ q ^’ o' o o E y 3 . ^ o ^E ”* 3-V5 ^ CP ^ Oo’ —f » ereE> B •1 (A O

3 3OfP Crt.O o®3Ov ». OX EN «■ ViH p 3* 3 <P CL

a 2 c. fi.rp ^CL q*

í 3 P 3O

E E« p Vi—■ í« 00 B- 3 ®p q®.^ E2. g» 2 - ere 8 o CLre o(A "73p fP

> 3 sE g

o "<5 c.. 3 p o. 2 'M i5 p 1 E =5<P O. ó P»3 3“Cu fP

- a“§ i<p ^ p p^ 005’ ^§ Sc ^ q* ^3 po® srp 3 3 oC Cu

q. nP V)- 8o OQ. 3

O- a —. oE g«

=• p. q- 3

rps 2.3 rp -* p

39 =cg I

9 ^ E P « 2 Z* 2o> q . 3 q — 3 c«" " 33 00 2 . B* Cu ' ^4i o í£. K* = O 00 3 ' 3

I 3Z. 2 o= J oí E y o q.*^ oS- £- G23 ^ t« O* 3* P 3^ fP 3 3 3 Cl

2. £CT) 5* fpo 2 u. X q qcrt 3E ^ O^ 3) P ero O o*O ^ E =3" =r 3 B*¿ 3s . 00

E — S-í i O=c = E q ^ q " = g-B 0^3 o* Eo P P SI E =o 3 rt

3 cl 3 3 q-. E o 3 c 3 rp B » V5 rp

E S > 8

k Sío rp^ 3P —30. rpfp^ TIv: Si1. q é *i(Ap O* rtE£; HC. 3*

Eg- 7SC/3ÍO u> K>O

C90_fi3AfDO.03Q.C3crQ_Q3ArpS.

Q_O

p pE E

E q ¿- o £.

' 2 i" "b rp Z q ' ^ ^ 2

• B E ■ q. ^ pi pc. » E q. p

H ®' c. 3 B' q*

a "= 3

< O" o

rp P •,q ^ '*Cl C/3E i 5'P Ci ^ 3

■ q E.s«3" 3 V5® B qE E 33 q t« p q CA 3 q. rp ^ co p 3- 33 3 p 3 B o. 3 ^ñ 3 E ^ — E ^ q*r» B -1 E 3 q O 2 E 3 9o 2 ^ o

>2OrnO>2Oc2>2O

O>

oc

5 =■ S £•■ o3 1= P ^ o'

3 H ^ c. o 2 5T " " ?cS 3 -S ^ 5 -

n>

OnO

S 2 ií <g o OM s>5? o -s— o 3

3 5

rto c3 ^

^ ^ I s3 O o ." 3r -> S; s -j 5- <■ ^ h: q »

9-. i ' -S í o© 3

oo ^3 3 ^

5O ^ O

2. H » =rC> rta ^u- n 3 ^P §iS B’.w»^> BV C6= ? o- Sere 3<’ se.2 a»3 D

te 5*3 X 33 C OO - O ¿"■ o í 3 ^g 3 G. >- ero _ =r

i < 1D. 'E.3-3 3*» tt S 3 • G^ 3

o

o bte ^

o* 3

3 ^ ^' te^ 2 r-' ir^ v9* Hf*| , 3"crt rt ^ B5 í£. 3 « 3

J i . í- 3- hjN) 2 .

3 3“O _. C O© «= 5 — —r> « ® o ^^ *Tt í W

-Ts 2 Y3 S >1 1 ^ 5 'S ro» 5 gS- = S2 o .» S n =■£ § g

í C<0 , . *-£•-2^5sr SíT 2 3 p» fS o^ 2.o ve =■ < rt oc E2- ~£2. /-N ^te O©3 ^ 3- nC.TO q Dt e t ea • 2 '2.W5 * <t rr

9 9 :: rn 3-í

oB y>

m :> o

B.3 WCl n>

ó 3 "O

- X2 C/2

n*“ 2" 3o , — rt

2 « 2 Ci.

— w ero V5 «

9. *3 -i "n(Á'2 3

rt 3.o 3

5:2 3 _ CL

te esVi v<

o_ n ^

A - 2o 3- 2 a_ "■- 2. or - ^ 3V C.<0 3" ^Y ft CL O

— teS: o*

?T o ?rS '2ii. sr

3 ..£ 3 _ te — ^ b . O 3 O O O3 2O í"r: > £9 ir S

CJ© P ^^ o0 ^ 33 b »-<i » §»- O© fp ? te ^9 " 3í u- CL

S>« te ^ 3 ^ C.

» O

3- 35 t« o í i-N “’ £ ,» ' C- C n 0 = 0 s sr ?3* ¡b O fi te c 3 3 --1 sr. CL •*

<• Ote ““ ^ ^ teÍ '8 S! . D f” o (jó [2c. te ^ r? ” c 3 te3 q G5. s? q - 8 =" ís D V22 r? JL 2. c K) te —. w« F -kCL ::

m^ iyar ib ^ I3CL > teCl te?0 ZC/5 3*■te ”N) ?0íp C/3> i-- hJ j. U>E ^rt ^•-► 3 te —2. te (te tí'< 0 3te o - te— 3 ^ 3s i "

o' _"’ 3- ^ O*5' í£.te (r©-3 g “ ri'— cr© -,— te= ?T2 te o 3 3“ Cl CL

f>Ste Cl o 3:o B

m S-> ter-r «

3. 3 B.

CO'O te ■“

• CL o

ILnm>70enIK>K)

Kdco

Q3n..u.u«o

ofinOO

1 i ’3 | -C w 3-~ £L2 o-1 “2 n ^ cr o. te£•§ .te3 3*O te ep ^

3

3Cl

3,rtQ.

f §

>>2O

>o

oc

oaH

° ^ S 22 « 00 Qjy V) < oo o < rt

3- 2c«- í .

K- Si ?5^ ji. 2.B g m 3

'■ i3

=r o*

»s 3 S >í 0003 5‘ O" i sC 3 S í o- 2.

O 3 h .

s g. S"“ 5- g

5» D- 5s^5'rt

aQ. 3 i(A «A 00 <c 00* 3 ‘3 B • 00osB>* cr. N> OB

B00 es í Bn

Q. os ^ aa (Aos O O ^B oos =»■ Q. rt-

3 aÓó’ 00 era'B o* - B"o B*3 c. n i ^OO o cr Xoa 2 3*OS 3 2 tsn g' 3 "Ooc «O. 03

cr oo O"'< 2 . x

S ^3 ??

5'o

o<a ’

o 2 “ o-

7 00 P o

D ero y a•* X

*T3 2o o

00 s i'B

B .“TI

^ :B.^ ^ ;• 00 ^ rr r- a

3 9S£. o> 00 3 B 3 03 O

n(A ^ 3’ ' 3 .^ . CP '3 r? « ,

3* 3 “ n>00 H3 té

?r3-3 2n S «--1 •“ X?0 os C/3 - . O

ib § « C¿ • E> £

>. -o;• í»

2 n "aQ. a Sft"s- 3-«B 2 >os• (AB"nVi

• 033a

^ « o 3- ,® n ' va O '(A (A

- O < S

" ^ Icr oT' o

? r XN

! ?00*

cr c ^ «*=" <5 B* — •A a

o ííl 1o* 2 := :« S. o*

S '5' C 5rt 00- - « s« :• o. =3 5^" 300 ^ o*2* £ 3’

05 00r ,

Z 2 r . ^^ o 2o ^ 1 ?T

1o 05 o £■

” -S= 3 » s6í w> r t— O O 3o C o- 5 g. » o - S ■’ 3 o " o. — fT0 ss 3" ng P " 3 .

^ ^ • n s .«00 C J “ “r 3 ^ O2- 05 ::• =r £ c r. 3 05£.,5 33 ^ 0 0

-O ^ 0 a p 3 ^j-5 5£. K’■-i p cr1 § S S

^ ^ i 5"n o S n

2. # o- = S 1¿ " < o' > 3 S = ^ S n^ 3- P

o P 3

O

II

JO

“'■33-. Oi."oS 3<?s ^

■n »O o

«H ü

« —• 'dD. o S ;j. O *:- 3 3-, 31 _, ^.O ^ 3 ÍJ f5 3 fO „ oc “. — 002 ° 3

"

Wí VJ00' 3 2 3 o 3 P _ 3

. 5 S 5' > m “ g. “^ C i. ta

=T ■«Cl

£5 H

5 .0 0 •

l § I

S o-3

g -3 :

^ 1 -o

, !o 5

' > =: S2. s -

3 3- 3 “« o’ ^£ ^ 3

o. 3

Hy D3. p

o H«. a

c- 3 » o-c i- o : ñ° 5 -

2- =;. =rfí s q s 3 -

01 3-s. S oó' — “0 H13 2 g “ w -« « — 3 ^3 »« 3 <

'00- 2 "“ 002 ^ 3 p “ “

rt 3p ;a3 w «- g

o <■= 3 = ■3 • " -H.

« H3* E. 3* ■*

? r O tr»3 3 ÍT» o 3

S g g " s i '

•§3 O 3O 3-

3. v>«P £T *“

í p ( ^3 3

f s ' : : =5- 33

Op -3 3 «^ EW o’00 3?r

£ «

a Io 3^ i 'Ci- C3 “ 3

s r P

^ 00 3 “. o - 3 - o 3

{15c r -«

CAft

i '«

oi.

On0

p 00

■ g |

c ='g - -D H

00 00 00 « t« p ü

«

!?. ^ 00 p

3^ Ci.

^ «

3- D• o n '

í rDW5

o’ 2.=3 ??CA C3- 3-O ,

Cl P P

K l ~

g 3O pO. v:

° i --3 0 « 3*<

f i i3 b

o 3- O “ ^ 00g- 33 i-, p-

1- o- ral 'S ?“1 ^« O t': 3 - 3 - 3

00 - j - 3« P I

C. —í ‘ yj2 2. «5. « o' • 0 3^ ÍP 3 ^ 2

ií. rt ^ >

«-►Oo

p- 3 ■o

2 ó3 i“ ><

3o3 3) O O

3 *3

W3 a p • 3* X 3

O Q n< g «^ a . O9 * 3' aso 00 3

£, “ ■ 3 - ?:■ =

?=

C . P

X 2o^ r if § 2 . - ^ '

"< o r r CL ■

Ó c o o ^

05 o 0 - o c rí 'g. 3

o 00■§ 3

o3 -o

5 l | § - - 2 - 5 -

^ - g :<= 2 3. L. _ _< _ 3 O O

ü . 3 - ;¿ S i" 3 - 5 '„ 2 . n tro

2 " Z 35 =■■ 2 -

N) 3O ® g.

"3 ?r c r CL \ p

00 y s 30 o1 ps.£ S 'Spqs =

« •• C —•

Cl

S a

p o

“3 9" np o y9 o> 2]js m ^ ^2 “5 pí 3 3« s ^3 3 00

3 3

a p ^H H Hm 3 - 3 -

i - I I

3 3* ;¡3n ^ 2 E C/2

C . 3 -

C ^ P

£ i S? & g

S OT 2t/5 —

3 2o3

p o3 ^ = =

ClO

3 ^ «3 -O

^ 3"TI 2

O 3 —c

^ H ^2 5 E

p0 —0o

. ” o .o jL as

’ o K> ^3 K> Cl • 3 ^ SS 2. 2

' o' g 33 5 . c :.^ ^ tí>

oC/2 -<1, 2.h jO OW 3O r “> 3 3 " 002 . o p p^ ao . 33?3 Cl 00 2 Í l (O [nJ o NJs 5

^ " 3 í O 2 3 *

3 g 9

1*1 - _ CL o 2 — >< £ ^ " 3< » 2

» O« . í S< 2 p o 3. — 3 o o— . 3 -n3 O ^? - g

q = g " gD . í^ P P“ 3 ?p o

9p p 3 "3

o

0— .— V 3 33 * O 3 cjQ

o ’ 3 ;2 3 .3 o 3-• 2O 3 .

^ 3

^ 25 3* cr 2í o ^:. E 3 ^ : o 2LOO -•r o p* y-. ->5 ^00

^ "H 3rro '

V5tAo ' 33 ^^ O

ó>p •n H •* 3 -P O3 3CL 3

S . 32 ^ oo 3

^ s^ o ^h J 3U> 003 ‘ r> 3 aso O" o P

p " r d 3 o 00 ^ P cc ^ £ .o g*? r —c r t»> g2 p *

E00 oo

•2’\ asCA 3 ? p 0 o O oo 2.? «3 5.o -'■

H= r

3 n : r

H ' S _ .» g 3 2 00U SNJ <P 2

pU 2 . = 3 ■c r 3o 3 -

S g^ o *

- § " ca op 3 .c r oe o —• Cl 3 -

W H ?C

^ I3 "P ’ CLO E—3 p

CAS f^ P

9 ' ?r t 38. S .

r t

3< H

: ! > !

3'p

3 ’ 3 H3 005 ' 3 ,

00 3’00

’ « a 2 £3 = f _ =3Q .

s o" po pp ^

poo3po *

o -H ?3 2 ^ ?s

H ' í£* o

o

^ " 3 ^> ^ 35 O O

i!. 3 i ' ; o s

; p

í c SO

o£ 3

3 .

2 p 2 o — ^ ^ ys 70

w 2 p E Cl C .

Og - i^ Oío E

*3 o tA_3t ¡í’ 00« O 3«« c as

H o F “^ p ^ 2N-5 — 3 3a o

I I '

2 . c P '

p P ^ 00? ' 3 « ^

^ 2. ^ 3G SOCL

n 7300 &o

n ' 3

35rtCl

00O

00 3 -

■ 9 PV ’ SJLOOK> O

«

E < “3 p ‘ —O p 2.g ‘ ££. ic 3 - ••3" 0 0 Jft

^ " 3s . so <O ^

® 1p 5 ‘^ o3 O 3 O íT 3E 33 2« 2a 3

0 “ CA

I U3 3 3 -2 ^ a ' g ?=

L S - ^ o z

S.-5 2 . = J3 ^ 2 a .

I- ^^ CLn E E ^o —•00 3

3 5^ o — 3 *P 3

se P *o 2

on o<■ E .«

i - S3. cro P

p= £CA OO oCA C . 000 «

M1 °3 CA

35oP

• o ’• 3• Bt

< ‘a«CA

rt. E *rt

o3*

1 p300í P -

3 ‘ 3 "3 " 2 O

c . _35 PS ' gr t r t 3 O .

O* Op c

3 O

E ' í ?- , t o o 2 p—• rí002 c o

>>2o

>o

oc

V» c/> en^ n ^» e n t nen en 70 en O Q

en en 7 en^ é? O

oen70 en O O 3 O t/> en en

O n O

ZO

K iq > z on 03

> < —íO70

SRm r -

OS OO 2-o OD03 >> n n

S ^ 2m f— m2 S om >■ f- ^ ?o í=

en en m mn n O O z za ü > > 30 70 •< -< 70 en m mQ ^03 Q m p

> >

oz>r~zo;o>

ZOo>

(/> c/1 2s <

Z ñ ^> -e ^

«S i<? c ■“

k Q

en » n 70O n Z 03 > < mO ”

> i-

zogZo

G 203 O m pO íi> >

^ ;;í ^^ ? 2 ?> £ o £5 Z 5 Z o ^ z > 2 » o —

5 r t Z o > ffiw I— m -< I— ^

<

en en Z O O Z

o•HO

co en SI oK) K7 Ca) K) S>O eo en s>

— — eoto —&- eo eu -«o vj K3 Ca) —•O VI 'O

K> Ca>>o o

I S 3en en enn n n*n 03 >

en en03 03 03 >

n nI

o n n nQ -n CD > exp > n o nn o ni

zen>0P®

cZn

Oz

en en en en 7¡; rn rn mQ n n n Z O O O> r—O m—ImQ S P « P s70 03 >

< ^

z zQ C7 > > » 70 •< -<

O O "*tZ en Q Z rn ^ m Z en

n O O O Z Z O o > > 70 70 •< -< » - i m ^ O > 0! Z < wS |^ o > o

>

o s- I >.o 2n _ ™ >

O 52 O 52« ST ^> « r" •70>

O70

O70

n—IO70

70 ^ m >n >

o> o»“ cm ^

mZ

70 = : 70> 5 > z Z z en ^ ens i : s

P

í2 O 52 O c O Z S Z> P >

^ r3m 70D > 03 Z < ^ S |2 ™^ o> U >

O 2í í 2> Oí;í z 2 2 e n

í¡

:o ^ m>Q<

n-HO70

i 5zo

I "1-3-C

? .ih=vi’f ” a

s ?» 9

‘ i,X í!l ' X i

T 3!Z « i cíS «3 A ^

o

i # *

: d

3 n *«■ 5 o* O3 CAP- -n

n r*•s ■8.

o

O P<

r» p hj P 3■ ' “• “-T3UJ> «■&3 I

O

^ o “3 ^ ¡rf» 3 2 ' 'S '^ > í I" - 3. I

s - i

3 3 ^p O 9 Ps g. I s «

H « 3 S 3 =° ■ " o . 5 ' ó“ ■ o 2 . 5 í

2. P

o- »S ^ 3^ 5« S- 8 5'— = o -CL í3 r.s* « 5'

3 ^ ^

ss*-oo

- Ci. T5,, SÓ5’

n I 3

t«SÍ «

- 3p_w'Vi ‘ rt —< ceí ru p 3 . 3

_ 3* PSO C ^:_, I s

2." d Vo

2. ?D" v= „ _55 NO ~o t í ' 2 . 5 -

-=■ — 3 2^ < <L ^ ?C t" oc/3 5T -r> 2 —' ' 0 3^ < -n 3

o í á « - I« J « a 3,-. > M.. — ^3 » = S °o 3 g V’ n 2 , O . c 3 o ;o £ K ’H.^ t/i >L Oi» a >^<

C P

o <o a ' o Pg w £ «rt oo "£ 3 o p o ^

5 o H =O = Jí' gt/2 =r CA -£: 3 5' =3j; o. Q

K‘ H8 S-

i - io c

S 5

“ • os. ^^ Hp-n rv> ero

£ o «

o

:1 ..r c

2 . rt o 3 £ 3?r —

2 S O n 3« 3 3 “S3 3 5.= ; = ; > « S- § o* a. 2-'< ■’ =,

^ <

« sr o

£.'■«>• d ^» 3 • o-« > d -^ * ÍT ZT r t j C P

3 r5T O ^ c¡-

Z . £ cr

= ° - £ p a

^ CÁ'

V5 ^O i í E3 3. — ■O 3 Oy «qo’ 3,

rt

3 ^-■ £■3 í C 3 “ — O

"3 hJ■ ^ Ji. P ^

V5 O3- WI rS i i?^ ip ^ — ero ^ c 3 * " 3‘

Í lO 3e/3 o oo 3 c o 3" o o. n

o 2O n « 7 2 S o o ñ 3 w

=r B«• 3

=- o 2 ==rn •flHtre' H -

^eío- s5- o °

o rí D. P- 3

^ Vi n“ y¡ ft

ft =0i -H « '

O «ñ ■£c a

Cfl «« O . ^ < 3 - « P ^

■ B =■ • ”

h 7• r o . c. _: 2. oc' n <

3 O'' O. Vio §■2 ío Zc« =r — o ^o <- RS. oO J3 —> P p ero3

c cC 3

P ^ S""2 :; 2O" P Ci.3 : 3 r t 3" 5a -n5. |- ó

5’5. ^I g i3 o 3L' oo ^ rt

’ -, B a

3 r> o C.o "g

W5 ^ 3 ’

P 3£ ero§ f*

£ <T :r

O3

O ■£

"c EtA f6p a < 'T o n

.1 §'!? g=• £

p ' l «•> 3 IV) 2c o. CA o

l . o | §' ^ 0 ^ 3< *3 __ 3

S “ “ o a ó '2 = ~ ° ft ^ —o =. 2 £- i g- ñ n"Z 1 = »< o se _.ero 5 rtCA 3‘ r- <tj ^ f»en 5Vi ^ ^

q * 33 P 3 2 3 vO* o. ^

a 4 2

o B 33O sS 3 ■ = o> O £5- — qo 2 a . OT atra =■ 3 0-s - o s_. 3 ? “ "O og £ 3S h : =>l f | » — ?> sr O

*■< p o ■33 S: °O 3 C.S 00 o5-

l | |O V5 8 3 - 5 * 2 . 3 7T <2 3* 87 ero ^

2o5*(0

n>

OoO

nO

n5:O

CM O S Input

T T L Input

o sr o“ 2 X p^ 2 pP O ^55 ^ 3S. £ “H.3 n 3 O "n

S?’ P

£ *o 5' 2 ^ g

► S E ”•73 —

i£ . Í1 5C 2 ’» d o S £■>ero

— - /S o. ^ 2, 2 27 p— ly o£ I S. 8 :1 3 ^ IO O" P O

« 3 “3

Í T ' ’3 32 P o P (A

^ fíO • '2 ? ' o " i <■ Ti i 2 ^ *

■o 6 ;

I -o ’3

a 2.CA— fll2 . 3 52 2 OJ© 75 n o* 2 '

e/2 3 < g . >o L =. 2 " 9 -^

3rsP oO* —>o —£ ®J T=

O L n» c ^ P 3 5. tN-> ~

"o 'y -,£ > cÁ'Cr?rt,rt< p =•§: g. 3P ^

^ ^ P « C/5 3= S p g £• 53 O g <Nj0.3^yQa p- D.® ^ «

Po\ooo

CA

N)

55 P 3

O

n 00¿. n_ 33- 2P c,:

2 o

n*

■». CA■ P ;* 3

3' S

CA* ero ^ 32 2

ero- ft ^ 3 ► ft» - - “1

O P OoCA 3

52 p 3 : 3. ^E O " « “

3

< £ © ~ sr 4^ --ero < a ^

P3 Ó — H 3 nCA ECL

CA*3nip

3 -n 75

e/5Pn 03"

rtO.P

Ce.n353

"n

P5©

£fsjU)

n©3

*3np

PCA

OC-3*

3w

CAnCA

eron3

“Op ñ

CAere’ 2 . O n SÍ3P

<í nT .nc

n CA

O3ero 3" 3*

n-n<n í

cío’ 2Oi CA ü;

rtO

*3P 3 “

P“O

3*P

roO

•-cí

>CAP

P3?5

npn

"H. 3

73on

CA3 “© 3*

3 p o CA 3 O

5>

fO

>o

■ o o 5- o rt rr ?? r.a . r t-Q o y,2. = =r B j f» =:> 3, ~ H ;; o » « 3 2.2. § £. ?cooys CL S tO ^3* » 3 N) o 3 rt H m

,2(JO

o <■• . n ^ < c. o

N> rnÓ o •< as

5

. . UW^ rt

< Si n n 00 ^2. o oV. nOh IH c

as ^ ^05 D* o

o7S ero Vi o’

5- w 2 5 'r' "OTO O C/5 ^WÍ =O 3 g O .

o’ S í-S S’ ” 8

c S * a>n

ViVi=rw fts

f 6 * 0 O. ® n 2. < c. 2. <■ fi

o.c.

o

«■13.3S.C>?5

o nS «sr n „.oa3 O

3 - 3 3 : “ °

^ 5^'5-Í 3t/5<? rtrj í ^o s = 33 —.3 . t/5G 8 ^5 'S -o S s°

3 §■ 4 E 5 jotra g g 5 SC/5 O ^ 3*. O

1 3 “ ^ ii 3 O.gO

O 3^ _ G. «

0» O¿ =; - S 2 H c 3-c S- - - 0 - ::ro

• " ^ 3: i 3 ='„ ero Q. -,® rt tí* =

— - (í 2g £.os •?3 3M-l^ 3rt ^ r

S’o ü

o cC/3

■=" es

5 rt on C. o3^ 35co — ^JO _ JO o ">53 e/3 3 cí

n a “'

Í2 "J.3 3: S -ñ ía ^ í»3. H o^tre'' 0." » ?0 f61 g-» 5 I I E'5-í-^ <2 S o ' j s j o ^ o ’c í r t á o3 s :a ';” P « 8 a o “í " - i í J t ^ O - i O O '3’ K,‘ n H t>j 3 n _ 3 g . n ¡ 2 _ u J f o = w J O O

jo'G s I O 3 ^ IC/5"^3 ® < a> ^ .4x 3as ^?T ^O ( JO

C/ 5 = r

Ñ> 3 cM ¿SOOXic_"5‘3

CA

= is 2 Ecr2 rt <5*2 fT —^ CA 3

“ I S §■ i"G 3 3o , , f»t-t U> 3í ^ 2<. o« S* o3 3 a 3' o as• 3 ss

oc3n

9 O \ o a 3a ^3 Cl A — •C T)3 gs “> g

g- g" 5-^- O" 3._ 3" n S

w " -o

6 7 ^ “w q :§2 G . g

&s3O3■ n

( JO

asf s

> N >a .íG - W 0 0 3*. ^ 3 5 ' ?r I

E. o>

^ es r 3 * , 3* ^ e r o rt cS rt =;■ 2.

3 srt

3< s

S §-r t »G. |sjr <

_ , G . g . - a H"o — — - g JO 3 tre = - H - 2 o “ 5m tn o c t3 oi / , - O - o “ ■

3 H g' o 3 "E J7 o3" J® ” " M c o 3 ‘0 5 ’ “g t« g O O G n ' ro g

vi* O

“* ET. sí2. § 2

_ í a. 3*

" i . i= r .o 3 C/3

2 e ro ^ o U S

3->• rt05 2. ■ 0® 52< as 3 ^rt (JO3

rt3 2G. 3 “* 3 C/3 r tO a

= 33 3rt asI fG* o3

as 3 «« 005 § ?0 C/5£. G> = K Or. a os

^ so c/3 rt2“ « íLs rt" -O w 3rt -o £

3 ^— V i^ Hrt ”7S ?3 . w H

O>

OnO

-; d

S z co“ e. cDtfs 5 ^5' ® <

t I1

nn

5:n

5n

Peak RS-423 Generator Output Voitage, Vn*volts

rt o

A

3>

JO3 X2 O3

5 ' í

Z■a OII—« - I< p o "O 3 -O3* 3 ’

m ^B »

3 r^ oc ía=? ^ r t r t

3 z 3O = - .

I " i -3 n ; i

H 1 4

21 : ? > 3 3 gv o3 =;■ I °_ sr ¿ o o ” " o 3^ 3 3 - 0~ = o g

W5 <í

55 »3 O .

3 “

> “2 "O

w O c ^

3 - 3

S ' o5- . O íO V) s (/)r o

2 . 69 < « n

3 a tó^ cw 3

"3 v>

s-§ £ , - 2 . B "-=

^ G . <?

I , 9- a 9. " o. C £13 C/3 *“5 ' > g .Z ^ í

O =

3 y .

» « c> _ j< H< X

H cr < s1/3

. . 693* 3 O O .

2 O3 -a O

3 ^ icr ^ S« o c,

U> 3

Í1 3*

n 3 ; o W

o ■^2 . t o< Wn ■*

O£ 3- » "O H § S g S s i

" 3 ' <

i "„ 3 S s2 3 3 2 ,CA 3. 3. ^o fT s 5C/3 »“3 S’Z d3 - i c : < g c/iO= ' • > < .8 I g 5

>n 2 H N> O» 5 s r f í 5 ^< ' •“ C ^" t « 2 .

“ ^ ^S 5 ' S!

B>oo

■o

o . _ _S i « «» 2 . “ Oc/> ^ ca

69 t/5 OG 3

2 G 3

Oa a Hw p o^ ^

3* o*

3 »^ - •« 2 . 3 ^ 3 * «65 rt 3 o. j?3 ® 21 =r ",/->. 3>* CA2 - -.

^ 3« so.

m

> Eo“

T D

3 o c o

"7 3

r o • rs3 xi69 C

^ c r - 5 '3

>

N J

: O s r ñ ‘ ^" 2 >' ~ £-. íf - o g

n o g ^ - 3

P ^

O

3

o» a

« : ; 3 89

Z 3O S

o3O *rt5on

' 3P3

3 "

00O00O

*T3* D

O33c3_

O " í i 2 <■ 3 " «

^ '5 *

3 -K - « S5. o0 rt1 i'331

ere’

■e*- 2

O“O

' p o‘ 3 ^0

3 * O

1 gI Ic. o2< P o 3“ IrS O

3 ¿ g 2 -

§3 < o " ^

3 n - í c 3

W y 3 3 Oi

3

i t i -52 r* o3 o E

Z L V O 6

3c 5 ’

3 - c r e h j ^ c .= 2 n

rtO 3

p 8 . w; ^

y OC

3“ ^2 2

2P » i <-► ^ o 3

< 2 -

? 2 -

« d í ? 3o V53 o

3 i gn

O o 3 ^3 C . - ^ C^ ^ O c 33 S. Z g. I69 69 16 ^

' q * ;s 3 u 9i í ' < a . u i oo. o- o H 3 S E T ] 2 --:3TI o c

' < 9 - 0i . < 3 ^

" S:Z B = =

S l ' S I

« g - | ^

3 = 3 - 1 :> T> n ET

r oO

f>

O

S rp

O>

Ooo

2 2

O3 3

O < ^ 3

g 2 ECu c

• 3 ere O• -3

. . t • n o P-

■ g g o “U: __ 3

o -9

3 ^ - T o- f» B =■

? Ó ^ 5 - 9§ T 9 n toE « s - 3 .

f i ® I g I» •“ c S □- 2 ~ í 3 3 " = < ^ 0 3 3 rt O = ÍC. se3 ^ S a § • I - r H

i ’-o - g " "."« ^ 3T Q. ~ c.2, ere 2 c o ;i£ ' 5 - 5 - S 2~ ^ C¡ 3 _

~ g " B B . 3

^ S ' ^ B S ,

s ~ a S - g “ S 3 - - ; = -= 3 ere r ~ „

ere 3 . fb r n ^H " n «■* ^ ^ o3 , -e re ^ —

o =*- o 3 “

—T, PP 2 —S .l 8< o c

a -■’ ■=

í p " Z

T I 3 g - a "e 3 ” n. a S9 3 Crt c« ^^ o - - Lí W5Cl ^ B ^ O

2 ° ere =■C» 63 *•< O tiS W= 33-22."3rt_8 » " £ • 5 - 3 . = T•“ ■ 8 H = o ' ® "

S ere = r 3 - po w : r .

2: 3 g ?3 ^^ o c . 5= ^PKV 2. C ^

= o

cr ir&

^ - . - O2 —

o g 2

3 o - o .

o 5 w' i -

■ H = o - '

rt o

ere

= a ■’ s oo o> 2 . s

o ^ £.■ S - g

O ^ P ^ — —1 J3 — • t/>rt yn 2 g * p I

o c j r 3c S c ^ 5 '

n» o o ” O ^ 3 ere '

< 2.- o -, 3:Z 3 ^

iv> Cu

” fb

5 ^n

■3 ^

O a Os Si O rb O ^

g 3 g P o p3 O C

E § e"1 1

~ </5 ~P O 3 p p

a -3

O O O

^ 3

? ‘O3

2 o "

oCu P

o2 ”Vi ^

,2 3 '”^.*3

O ® 2- boP -T Og. Z. £. > -g Io £ 5 9< = o

^ E Ia 3O fb C .CA a 6j 3 a3 3. C.w 3 , . 2.H:

O a

2 to N)H<3* ciÁ'“3-• ~B^

C O — p

5£. 3 P5 Í-§-.-’ “ -jH g ° ^3-^rj3-" Í3 g ¿ S í 3 ^ ^ 8, 2 B - < .

E ' ! S-eg3=50.p bí P eb ^ p p -i- ^= - 8 93 o S 3

=• o 3 383 - 3T re o.^ 3 g£ - =■" IO 3£ o*“ “7O

V. o

O 5£Crt 69 O

3 3 p

3' 5’ íere ^ 3*

2’ 569 o 2 —" g-í

o "I,í x2o ^ o ^ o 55

! re 93_ >ri _.

S « O ?5p

O .ere5 g

'=83 (AO a 3 eb o« 22'<■ ?rfb p r> '-pS? - p Xg. §■ 2-a « 3 PO-3<“— — O a ^^ 3 O p OP- ÍS Z 3 -X -3 p O <5r» 3 3 a J2 tA « 3 vs ^

£ ^O y -

^ o = ro9 °fl sp® >e/3ló 3‘^ o

3 . O ^P ^

O c 3=¿ O=1 z

-• CA fbO < “

— o «• p K'CAfb o

O 3 O

-a ® X 2 O 2. 3O ere

ocía’n p3- ^

< -> 5" *2 ^ o o"

° ","g dg = ^ 5- S'g

S* I £ fb — a fb o O a fb 69 fb» £ £ S SS - S !_ =.:£ =E i -> o :o Te í■ 3 - lOl _ < "U bo-■ H ST = £ H— fb í ^ p V) o ^ 2 /ac r 7" oc = 2 “3“O o 3*=r a a 5fb fb O , , tA 1 1 rs¿

=r p OOo 3i 2CA ^ fb

E’ o 2P 3* pi l í2, 9 3^ n nój re P - o = re ° - gz r n Cu

c r pfb U 3 Cu£- P

P OVip r:* 3 2

c l p ^ 3^ 2=: fb

fb ^ 3 p(A ^

p fb 3 ^Ü 2o í :^ a . - o

o o§ i

oX

HH■<

3 U ere 3* Qefoi* ^3 ^ fbca“ V.r 3p p

o3ere

c.o

3

1 ? = •< = sS; o «3 2^f*. 2 £

í 3*I g H

I 9 E3 5 fb o 3 p

O 3 " O^ fb P=: + -^ _ fb h->

3oere

< c o

%P" ■-

k>

nc

Oc

i»n

n>

Ooo

I I + + c 9"UJ UJ VJ V i

o o o o O" ?3+ I + + ^ V=v> -— — —- NJ^ Vi V i V« < W

! s6! o^ - s= r nt» —'Si =r>^ oK ' ^n ^Í1 o'

7Sir ¡

;? O c ;? tv£ . c p £ . w6S o 6> tO■' 2: o ■' ó“> B — "33 '

H a . p p- »:

co aZ t»o Kí

í2 o2 “

popo B ^ N 2.N - < z ^

?= e .N “»

3

o3o.o*3

O 3

= 1 - n CO OC O >

O o ?r a

n>

T500

=r ■ o o I» ‘I ! 'o “ s ro £L

> M C/3 00 u>

= - nm m o ^

< *5 rtET ü.

N)?T O

- 3o nOíCD- . ^■C 3C/3 r>

O33Cf i .O"nC;aaI .9?ot/3KJWrvñ

S -o 55 - 2

3 . a rt>c rjW ^ 9 3 .

30«oo33)00c

3 o»O ^3 es o 3es c/i2 3

0 .0 p" as ^O D O :? I

H n o o^ m s -

o* « ^5 * > v>

t/5 »? E >5 n « £

•Tíog ro3

o>

Ooo

P" r 0 . H ^ o cr;s: ?: £ S-------- =.• o= S; "nc . o .~ n

o o >3 3 3 > 2 . o

era í -n5 - ^ d ’o»

= .TO= -5*05 te

i.cSJ- {£_ (A c

" § g-sS § d 's^ ^ <2 . s § a3 o 2C cC *H rt

> «o M; § •D P

S 3 O H. Z S

Oz

P - P p - B —

q H n ?= S--~ P cr te r¡

3. o3:3 93 ^

o-3

?3 /C*— ^te ;/3

a— • t eyi as

B5 te c l

£Xn D a d =■ ^

Oz

p- p cr

> á d g-^ O ^

^ 3 ere ^ . 3 3 ^ era 002 O 3’S Z 9• Q O

3PO.2.0Ó3 ^

tesr ^ o

3- O.n ft_

i - ! Í í

“ ?■ £ « ~> 3

o O)

■ l l3 «O ^

• z ^^ te^ C/)

f n

BS O.

o drt o

, a> ^g "£ 3n o O "d oW ^

m

o o 3 < 9« 2

Otete

“ • W3 - írt ^70 £. H =Cfl íK'O o Z =■ I

D X

C

33-

o3o.o'3

DnoB3O.O cH Í2

P p- B fn ■ ^ O P: ps E.- í ~ HT3~ H t« 3§ ^ § 3

o ^ "1H o 2H 3.

C/5 5 -o

H H3 - 3 -a «

"O o- '3 * O

^ 3 «1 Q.

P* P H 9 p O" s

s 2 "te te ^X ■'

Oz

_ _ 00

3 3 ¿NiÓ

n ?3es o rio* r i aso ir.

3"O "3 §

c c3 3C cr£ c re '

E to9T* O

2Crt X —.— 3S 3

—• Í2

^ ^ 3 a

•u3§ gS 9 :

o ' ^3 C*-■ 33 ere

00*3>nm

? ;c-

003 E "n0 =■ s .te 0 2 0 5 ’ cE, 0 ere 3 "

ere ^ E 3 3 3"nO 0 N i 3 3c sr> 0 0 ft> 3 .3Q. te X* 3

Q. - 3O c . ^

V. 3 _ 2 .^ s/P te g ‘

3 “ 3 te0 H.. 3 2 ' Erp 3 . 0. 3 E

teo

n — . O 3 3 _ 9 3 -

O ^NiUSNi

3t O3 V)X* “O

O.cr

^ m

Z ST=r 5'n2. —n5. Sto' ~¡^ ías o C- =

00rt gO ;í *

c. 6?3

00 O

l o

3 X O--O

O .—n zr 3. n

3 «

■OOí 00 5vs o

oc3O.

4hIK>O H

i

í tH

fH

J - rZ I

o ? I

c Ce» 2. ^ : C;* o. o o* es

Start

O 3es ^s; 3f¿ es 3 r .(A Oñ' 3

Stop

CD =í 3sj es .c 2B. rt "-S

« S

3« -3o- s*.es r» 3 t«§- 5-

m oS =C r; ^ c/5

00 W C/5 C/5 rtn ?3 H 3r i ^ O O : ; .

IS 3 . O ñ -o

o^ ^ ^ =r <= ^ cc o ^ 3 - 3 “3 ^ E2 '* 2 íA rr

3 «3o3 0" gO Oo"o?rO

0 ^ 3 - = ^ ?•-

o vsM O_ XiV3 C ft aX E" IS":«Í 1 ?■ ? O So*

» 3« InS- 2^ m

« vSg2s » O oO 2s. §

cm oes<

o.rtO.

3*es33

ao*

ü áHm ^

DOw

“Oo

v> Q

S i5 o.

0 0 - •

n

9o>*-l3»o*3O3

OC3OB"

es ^ 3

o d oO ^ — m S Z^ O 3* O 0> 3 D.O & H o m 3

1!£ . S -0.US i>|B 3: 31. s900 2_' — ?TI I3 ^P 2*.O* i .3 3

3 2 .

s* s<0 3,*

S' a o ®co 5'^ Clo o*s * «n US

H - í H3* 3 - 3*rt <í f6n zr o § f K-

rt es3 2. 5 ¡£. » 00 o- »" S2." ! ' § §- §: §• o-9 9 9 ; ^ OO 9 ’ = •- . '<

I» > p - p

? O 2 So ¡5. “ Dr» ^5 ^

esO _

o,zr ^< §n ^

E on rt3-E 3O" 2 o» 5 r t 3

ñ ^ SIo 2. CL < oaB.

3 §3. 2 B.

3* H

2 3*

E o - -3“X« cr. o 3 - 2.* s * ^

B. r>E Oes “n

i ?-I *3

E o ~ í

to ^'o

ó ^n E"3 =J 3. C "2 ^

2 o2 c2. “3o"3 n ^ O C 3 <PC 2 ^ o NS B.

On :

OS ^■ >■o E 3 c ^- 3 > . < -

p3 3* >_fbo

O E c« oB.0 E 3 P

??o >"nP

USOofb o'3■S3'

USOP >USUS

?b■"i

3crfb

C3fb

es ^ B. ^B •-> O« g ^ 2O ~ ^ 2„ g _. ^

S E - 'd -oes O p 3 3 - ' B. 3

9 S. n3- rE ^ 3 ero§■ 5- i ‘3 33 p^ 3o o-Do c3 3 -3

B.

B. g"2 ow 2

3 O

^ He/5 E O3- "• 33U>00N_ ero

8 » s2.-9 o < o ■-'2 SS oS - ’H

i - o3 S'

5 ’ 5'00 o«o S9?3 Cs' 00 2 ifc 5 ’K o

> £, 00 Xn o8 ?

§ ^° E ° ;;3 ^

B O - « <• 00 3 g5" “ “

5 ' 9 -^ M s

9 G.■C» -,N> Cj os W 3 "■' O- «> O 2.•i S O2.cre9 í 9

o, 9-

® -9O)

B > o. <as C)2 itc. g»- 4X 3- ^a ^3 Bp o X B.3' ^c 33 n

o3: *“3 h: 2 «

c.2 . 2fb —íI-I

Ég ><■ s’ =•3 _ O - 3 - 3 3 *3

í ^ =• § g O I

o'

O

< p~ -3rt •-•

O ^

7S00

« a. c cr p

s sp p^ W ^ =--S =r 2.’1 S

S"' US «•

P 2 «c 3rtr ^■o ^

33 Q.= '2 — 3 O ^"-b 00

- . 0 3 3-

a 3 - _,O 3PC 3 'C/3 3

é 3o 3 3 3 . 3 3 <0 00 rs ^® 2" 2, «

?3 00

. m >

o C/3

O E 3 « = •^ 0 0 33- 2h I I

D g cg 'g co 5 D c M,

E «P rt *3 3 OO “a. o?o <o r3 ' 2.s 5•-J C

a

s..

73 -n cc o^ as NJ ^ M — s. O > OE 3p ^S ^B . 3 2 OO B. ^US••o o

r>3 cr 2 cr— ^ - JT

í3 *P3p

3c3

■:? £■ 2 3 ‘ n0 — 0 sa- ' ^ “'"0 3

« « CL2T B . 9*O

3 S«.

p c.E i | g . E

“ i ” i.-'S£ ^ S 3 2n ^p3 ^ . .CO PC 2 =

op33*rt>

o§■

B.•>5

mX

3

as p- 3o 3* o es 2 3

x ' 3 Q.CTOE *3 — ■■' 5' 5- E- 3- _ “

O rp oX -riO -2es ^ OO" p P rp a' cr—. • n n ^3

00 nñ35 ‘n»B.

3* a. fb ^fb o a*LO 3 CL¿¿ Y’ 3 O. 2 3, jx a* ___

£f Kj 3 ^ «O w g_ w 2fr > -• ;^ n3 3 KJ Q.

TO ií-o V' o5- g ® > 9E 5-

É. O' 2. 3 " n3S ^ * T 3 3 o — • p p 3 r . P

C. •T’ 3

§ £i CL g■ 4 Sí ^W I P i'fb S 3 S^ US 3* 3<0 3 - 3 3 * as eb

"O :*cro’ 3- 3"■•5 3 3croo _ E

S 3 3 ’b« Sí 00= " I - D. uT 3 3 O» 3 cy> <b 3

Sg. 8 S •■K ^ 3p B ^

P

PP«

300 ■ S. s °

< 00 ^ B. Cí. 3*

f? g asIT. ® = o3 3 0 3

gcg E g^ 3- 3 >

"O D. <i - g 5 0

o- d 3 S.3 W PP J X ?b

> T * a .

g ?5 ?0 Og Y Y Cjo -*Q. ik. Ñ> op N.S K) W ^ÍO W NJ 3*.“ > > n "

«O

I I + + W

< <

0 0+ + ü;

< < so

>3

OznO3O.

« O

b» ^~ Mas O

3 3 2

o- : cr '

OVI

o2.»op

« ^ (T g3 = 0® Pero

5C- CL

O ^

s o « oCA n

2, o z.

?=■ « . 'rs ^

^ 3

O ^K) ^ O r.o o 3 o-•« o c oW5 "15’ 3OO 5 ' rt rt PS- y

p 33 P D. X P 3

rt

i |

O. < V)o. O.V> tíS

C “ s S_ TI "

*. -

, í->O o 3 3o os>3 a-^ "•v,O ^

— o

P- c3

3 ^o*

B> O 'r bs ■c Zv> 3* 3’ rtcw o-u>

~ 3“Ó

3* ?TI sOv

M C/3o N>

3O*

í D. W^ «&3 V.• 3*

^ s .n 3 bs CP C O* p s . 2. cl

7 0 oC/3 —5

ST «CO K>• c

, ^ >v> Vi

o « <; I ?

> ¿- -

5T 3O ^a >3*p 2

Z 2

3 -Oí

O ri

g"H.^ pa 33 ^^ r r

o" Í1

^ 3 r> Q O c . 3 O < 3O V)

3 O

mX

"O

o .

3 *

?3C/2Ñ)

Ooo

? - p H

H oo o O ft)“3 *3 V) fí ^ “3 t;

3 - C-' ^ “ •- " s so

_ 3 “ o — >■3 t j 3 ^

s s » ^T P n JO

a . c to

5-S o 73 » w oü EN>O ?r•* 3S - 'Ert 3"

^ oN> 3US

> 1 - bS P 3

3gi '

tu 5 ^ 3 > ¡£. t/> 05

“3 3« 3.o 3 t

feSp3'. ^ O rt

p . C < T P > . G . p O * p

C u

O

70t/:

? > >-^1iS o

H Z S" °J5 =Hv ¡

cro

oD.

v> o — K' O =■ - 2

> H £ ?

, " </, S eró’ 32.rt’ ”

CP __

I. fC ?5rt c/5E ¿O

Z ÓEJ tA

“3 -1 rt

a .r to * p > . c . p o 'p

cVirtQ.

3 5 fb5 rtex - g £ EO 3

O rtI "C u n

3 ^ p 3* rt

O. O.

H H 3 -3 c 33 3V) Vio o íT.

^ Sirt

3rtrn rt o

rt ^2 . O* r t

tA rt

S- 2

IS óñ Z

9* rtp O ^ 3 O.

• ero ^ 3 b?CP ^3C.

| qo “

C. 5. c . ^

p“ rto w

^ 5 Ts - s «3 - ^ 3rt T3 = rt 3

^ 0 2" 3 2rt

O

PVi'-C 3 rt 3*

O 3 O

Q. r t c r p

c 'CP rt

p E

cS 3> rt

O

o ^3 O. 2.

3oc.

CA_ ^ o 30 W 3 . S— C . * ^ C P ^r t = • 3 03 b¡C c . ^ 3 *^ r t 3 'r t - a 3 C l ^ CP

03

CP3 r t 3 "« “ r t r t 03 3 3»-• r t rttA 3 rtp 0rt 3CA 3Bp

03a

0 r tp3 r r

ap 3

*0"O 3 "

m H 93 rtrt rt-, ?Cwí rt c/2

CP' rt Ñ)s < tí

. éc-o3‘ b; rt '" 2 .‘ o rt 3)í P rt 2 3. P

c rO3Cu 3rt rt^ c

O

3*

rt 3o 33 2 3 o*o rt3 >_

“O3

-5 ^^CP3' O r t c

3

7 3

HC/2

oZ

Cl p p" p

p 2 a cS o o HI g- m mE . 3

ñ 2

CLPP

rt fí OBrtrt

I =rt C.^ rt'5'„ C/3

B Ñ>rtK>

nCA

“3

3-rt7 3rt

-D

O2.

Cp’

o. rt cr p ^3*— hO \D rt

O _ O 3S M.2 -ir- ® ^S ^ O C/2

O

ClrtO

-O

O

rt a. p p* p»> ?a C 73 H= S . « £ . S .2 , = o- = s-J- rt ÍL. rt C.^ = r 3 = rtjs n» n n> í? S£. O . c r 5 ’o pir tá nn s 3 ^

X !»i ze i

a 3 -

S °o * <

p. p cr p ^ « es. o o* p

s e3^ 3ív ero

rt O r3Zo

rt 3 D na o

2 3 o "H í 3

> 7¡— rt O Cl

í = ^ n

CO O. O O* t» > ?ta ' ■ * -o» X n z3 P» ^ &9 <

5 . B‘.5*a . 3 2 . o

« o ,— '

< rt^ to V

teí “T3

E ' S

3. W" S sCs a .H ci.

t i - í ?r a rt 3

^ <t>

O s-

o® JS

en

es.C

p ;3 :

' es.es I

& . *¿. en00 3=

í í H" « '$5 rt 2o “ Í o .

en 3" O

es. <o

73XA

es3es.

O 33 3 00 C3 2 .

3 ^« Q

zero’=rrt "O-. pO" 2 .es <-►

“= 8 , -t a o»

3

. O S . « _ .• o *.< « P .^ 0- 3 3 'n n 2. s. I"■ O ñ 3 ;

o- O. 3 .; « I ? s S 9

o . !¿ i o o

L O S O

L g & a :L o .

= f •§ I

y i

D. o o* es c c/5 en —•o> 3

á - ‘=^■ 1o 3 g ^c r 3 - =*•tss ^ rt 3 3 5 ’ ?r « 3 * 3 Í “O Q.í 2 3* ^

3 3^ es es

es. p p" p n

"0 C o S "° 2. Omn ^

I 3*®en en ”2.n> « S . “

3 o5 “ 3 o « 2 3

g 3o. 3 o. «3* es Xi3 E,

< ‘ Cr»3 g

G. p

es- - j -n 3 . o o

“O "o

p3O.

cr. «S ? r

a en JS*

es.

Op

0 03"

. ^ . rt S, í 5- í3 3 3 - « :t

00 S 3 “ 3 - "= “ ••asILí.g-S-. 5 - 1 ' ^ ® ■?• n 8 2. s- a -

? r o “ " o 3 -

-

g s a f3 " p * - Q P 3 o 2 3 es. ^ 2 ■00 — o rt <T 2- 3:

2 n 3 « o» «O _ en3 0 '

P” 3 p es.3

^ en — o O

0“O

P

w O< o

o3*P33«

S 00g 33 P

P3O.

O3

o>

0oo

o . p o * p H

2 - H = . > S H '

8 a i

l i a3 - P E

0 = 3 . H 2

3 W

“3O

P ' O"C 2c jeer o 2 3

rti

3 -"2 . o

“ — p

« Ss*¿5 3 .^ - • o O f t

« O —■< 0 - 3 -c 2 « " 3 o

XA

2 . es

rt -- 3 .

- - Oi

Om

p c . p p * P

> r r r - r

o s C 3 g o 9 ^ Ci- 3 O 9*. o 3 3 * 3

S ^ 3 3« ^ 00 00 P P 3 . 3B - B

3- A A

3 3 =n o ^

» 00 Oa

3 “ 2T O

i -3 3P P

i '- s - i*^"0 3^ ^ 3« 0 0

.. w o 33 en en o en

A Vwo g

X X I -~J -o _ 3; o 33 3 rt

- P- P

g S ía ^KJ ^ « ^ Je en

^ 0 3

3 ?. « < • r tí =g* 3-

O í

5' D00 p

^ ^ T= X ^« rs ^

3-o»

< • 7Jo XA

>O

I c ; P3

(0 o*?5 ^g * ^3 « .

00 ofb p

2 . 3o «3 p

E g .03 3

> 3'o S .

> 8<■> £ , ra ;:;>

o* P

S* 3 o '3 a = » c

o ’ ^3 H

^ >H

>ZC/2■nm73

73>Hm

31 o-3 a -

00 en

O en P C>

S ”o o

<o 2

O 3m E .

3en O

300

B73

3

- ro—. u>en IP

bJ

i - ^ ^H H 2 2. p 3 * 3 - r t ^« rt • • - o* .M o es

3 =

p3eL

o■p

p3Cl

3 p 3'rt

" i ' -3 * 3^ en

a ?=H H

i ín O-^ 1-1 p ps ??2 * o

O : m '

0 ?5H73

D gr i n

p 3t > 3 3o . o Q

MJs>.Oo

c r 5 ’3.'0 0

•7 ^ 0Z >

« es.^ g-

o

§ =

o o.H

n wH “ c« nB H 3 XAa

nD

1 BB 3 j..

a <= »■3 P Cl

• 0- « —• en3 :^ ' O n

i - o

Hm

í -3O»

’• ^O ^

o . ^

> 5 - | .

? 3

O - • •0 0 - 3S '1 en « I 5¿ P eL :

" 1 ^ 1p _ Io ^ < O « '

■* XA ' en I= ■2 LfcS2 KS

en en 3 * 3

• 0 ' <

• O 3- 2"

3t r- en

O

g ’ « 5 .a es.M.. ^ T3

S Ccp iT3

O 3 « O en en3

. ^ P0 0 r jc 3 .- p rj

Pp —2 * 0o 3« - í -g

0O en O « es. ««

o 3 '

S3 5 -« . Per 3 w ^O b

S - ' í2 . '«n '^ = ’ '« o 'O- «<% — — /Ví XA« -! ^« H3 NSP <

t O‘=2 CL_'* o

n W

3 - 0

P

- P

S o0 0 —

-03 a

<

Cl

a es.

ANEJO TV

T TSTADOS DE PROGRAMAS

XMAIN.C

y * * * :|! * * * í |í * * s l í s l í * * * * S|< * !|< !|e * * * * * * : ( ! s(c * * * * * * * * * * * ! |< 5t! * * * * * * * * * * * * * * * * * * * * * * * * /

/****** XMAIN: Lo que hace inicialmente es : *******/

/****** Configurar el sistema con config_hard *******/

/****** 2) Configurar config_soft *******/

/****** 3 Situarse en el menú principal *******/^*****************************************************************/

void xpresen(void);

void soft3(void);

void pulí (void);

10 void main(void)

{soft3();

xpresenO;

pullo;

15 }

SOFT3.C

#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <stdlib.h>

5 #include <ctype.h>

^5|5****s|c*siC5its|£***5l:5|ís|ís|tsiís|í:(£S|í5|c5|e5líslí5|:*=f!************H:=(:’i!>l<s(ís|ís(í*st!*/

!**** PROTOTIPOS DE LAS FUNCIONES *************¡j sjc j

static void Ieer_estructura_hard(void);

j íjc íjc 3|€ )|c 5|C 5fC 5|C 9 9|C sjc 9jC Sfí j

/****** VARIABLES GLOBALES Y ESTRUCTURAS ********/^ ^ «f, // 0^ 0^ 0^ 0^ 0^ 0^ #|v 0 5|% 0f0 0f0 /

FILE *puntero_fichero_config;

15

20

struct {

unsigned int numero_placas;

unsigned int velocidad_baudios;

unsigned int tiempo_polling;

char nombre_fichero[10];

char direccion[30];

char raton[3];

} config_hard;

j 0 «1 0 ||* ||* *||* 0 j

/**** PROGRAMA SOFT3.C: *******/

/**** Lee un fichero de configuración, se *******/

SOFT3.C

25 /**** utiliza al arrancar el sistema. *******/j j

void soft3(void)

{

30

if((puntero_fichero_config=malloc(sizeof(FILE))) = =NULL) {

printf("error al resevar espacio");

exit(l);

}leer_estructura_hard();

35 /* libero la memoria anteriormente asignada*/

free(puntero_fichero_config);

}

ys|<!|C!|<S(!S|e*5lí5|t!|<!|S*!|<!|C*****************!|!!|<S|<**=l«*Sl!*************S|<**=l<******=(:/

/***** leer_estructura_hard; lee la estructura existente****/4Q /***** gj fichero de configuración hard *****/

yslíslc************************************************************/

static void leer_estructura_hard(void)

{if((puntero_fichero_config=fopen("config","r+t")) = =NULL) {

45 printfC'NO SE PUEDE ABRIR EL FICHERO");

exit(l);

}fscanf(puntero_fichero_config," %u\n" ,&config_hard.numerojplacas);

fscanf(puntero_fichero_config," %u\n" ,&config_hard.velocidad_baudios);

5 0 fscanf(puntero_fichero_config," % u\n", &config_hard. tiempo_polling);

fscanf(puntero_fichero_config," %s\n" ,config_hard.nombre_fichero);

S0FT3.C

fscanf(puntero_fichero_config," %s\n",config_hard.direccion);

fscanf(puntero_fichero_config," %s\n" ,config_hard.raton);

fclose(puntero_fichero_config);

55 }

XPRESEN.C

/***** XPRESEN.C SIRVE PARA GENERAR ******¡/***** la presentación del programa ******// <1 4J - .. *. . >. - > - »>» -I - -t# %í // • i ' Sf% 5Jt 5|v JJC yfí ?Jv #J5 ?|v 5|» 9fi 3 > ^¡s yjs yjv 3^ 3^ 3^ /

5 #include <stdio.h>

#include <conio.h>

#include <string.h>

#include <stdlib.h>

#include "cxlwin.h"

10 #include "cxlstr.h"

^include "cxlkey.h"

#include "cxlvid.h"

int *savepant,cfila,ccolu;

static void

15 static void

static void

static void

static void

static void

2 0 static void

static void

static void

inicializar_sist(void);

confirmar_quit(void);

crear_vent_fondo(void);

crear_vent_estado 1 (void);

crear_vent_estado2 (void);

crear_vent_titulo();

normal_exit(void);

crear_vent_password 1 ();

crear_vent_fondo2 ();

/ * -------------------------------

void xpresen(void)

25 {

*/

XPRESEN.C

int ch,i;

hidecurO;

inicializar_sist();

crear_vent_fondo();

30 crear_vent_estadol();

crear_vent_titulo();

crear_vent_pass Word 1 ();

wcloseO; wcloseQ;

35 wcloseQ;

crear_vent_fondo2 Q;

crear_vent_estado2 Q;

return;

}

A ^ %L «1 1- 1 vL# «1 «1# «I- «T- ^ ^ «1 «1 «Jr' /I I / ^p p p p p «p ♦p p ^ p p p vp p ?p ^ ?p 3p jp p vp p 9p p p y ji ^p p p p p p p p p p p p p *p p p i

/******* inicializar_sist : Inicializa el modo de video *****/

/******* y la tecla de salir. Igual a initialize(12) *****// *>» -I* . I- *fj *1. *1* . »■>, .>. ^r. *t* *1.» . f^ .■*■. .■*■. // "P p p »p p v p ¿p p p p p p p íp p p p «p 9p 9p #p 9p 3p 3p 5p íp 3p 5p ?p #p #p #p p 5p #p ^p ^p ^p ^p p p »p p p ^p ^p p p p p /

static void inicializar_sist(void)

45 {

/*-inicializo el modo de video--------------*/

videoinitO;

readcur (&cfila, &ccolu);

if((savepant= ssaveQ) = = NULL) exit( 1);

50 /* [Alt-X] para confirmar el salir del programa */

setonkey (0x2d0 0 , confirmar_quit, 0 );

XPRESEN.C

/* Inicializo el sistema de Ayuda = [Fl] */

whelpdefC'AYUDA.HLP" ,0x3b00, YELLOW | _RED,LRED | _RED,WHITE ¡ _

RED,RED|_LGREY,0);

55 }/ ^ *L «f* «T- «i# ^ «Ta Xa «la «la «la «la «la «la «la «la «la «la «La «La «la «la «la « «la «la «la «la «la // 1 •t' ^ al« aj« a¡« aj*« aya ^ ^ ^ ^ ^ ^ ^ ^ g^ g^ g^ gt g^ gt gj ^ g^ ^ ^ a^ a^ g^ a^ ^ ^ ^ a^ gf% I

/**** Idem a open_back_wind(), genera el fondo *:(! si<*****// • ig a Ig a «la « ^ g ^ g « a « «La «la «la «la «la «la «la «la «la «l« «la «la «la «l« «l« «la «l« «l« «la «la «la «la «Ia «Ia a «la «la a a «la g ^ g a g a a a ^ g ^ g « « « // a|« a|% a|« gf% a|« a¡« a|« a|« a|« gfí a|« a|« gfí a|« a|« a|« g¡% ^« g^ g^ g^ gf g^ /

static void crear_vent_fondo(void)

60 {

register int i;

if(!wopen(0,0,23,79,5,0,LGREEN|_GREEN)) exit(l);

fo r(i= l;i< =127;i++) {

wprintf("\033F %cNUTRONICA " ,i);

65 }

wprintf("\033F %cNUTRONICA " ,i);

}

/ la ^g « ^g «la a «la «La a «La «la «la «la «la ala ala ala ala ala ala ala ala ala «la «la al a }a ala al a ala «la ala a ala «la a a «la «la a a «La « «la «1 « «la «la «la a // ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ g^ g^ ^I« aj« aj« gj gj gj gj gjfi 7|« g^ g^ g^ ^ ^ ^ ^ ^ ^ ^ aT*« gj a^ a^ gf* g^ gf* i

/***** Idem a open_stat_wind, genera el menú de abajo *******/70 y>i«sfí***!i«=!ís!«=Ksies|esie>iesie5|«5f!5í<*iií5Íí:í! 5í:5|c5fí5íí5|í5i«Hc*!ií****5íí5íí!Íí!|í5ie5ic!Íí!tí5|e5Íí>|cs}: ^ :Íí sií :ie*:1<:|í J

static void crear_vent_estadol(void)

{wfillch(’\260’);

wopen(24,0,24,79,5,0,LGREY | _RED);

75 wcenters(0,LGREY|_RED,"Pantalla Inicial");

wrjusts(0,78,LGREY | _RED, ”[Alt-X] =Salir");

wfillch(’ ’);

XPRESEN.C

/ *l« ^* - - t* - 1. » |j *1 J .*— .< - .1 - ^* - * t* —< - —>. —> - —* - —* - —* - —1 - —* - —*^ »<■« —* - «f - - I- —>» *1* i/ *1* #1% vjv 9 5|> íjv 5f5 í|% 5|% ?|5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 ^5 ^5 5(5 5(5 5(5 ^5 5|5 5(5 5(5 5(5 ^5 ^5 5(5 ^5 5^ ^5 5 ^ /

80 /****** Idem a open_titl_wind, crea un titulo ********// S ^ <L> »>» »>» *1* * l j *1J * - ~ - >* - >* - fc>* *-!-« *.!« *1J — I* » l a kl - »> J ely // •J ' »|5 ^5 ^5 ^5 ^5 ^5 ^5 ^5 5^ 5^ 5^ 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 ^5 ^5 5(5 ^5 5p ^5 ^5 5^ /

static void crear_vent_titulo(void)

{if(!wopen(l, 12,5,67,0,LRED |_MAGENTA,LRED ¡_MAGENTA)) exit(l);

85 wshadow(LGREY | _BLACK);

wcenters(0,WHITE|_MAGENTA," Proyecto de enlace de XCRS");

wcenters(2,LCYAN¡_MAGENTA," Realizado por Ramón Fonoll Justo ");

}

/ ^ «X> ^ ^ ^ ^ ^ i. ^4, - t , ^ «X* «r# ^ ^ L# «Jy // ^T* ^ ^ ^ 5(5 ^ ^ 5(5 5(5 5(5 5(5 5(5 5(5 5^ ^ ^ ^ ^ ^5 ^5 ^ ^ ^ •T* ^ ^ /

90 /****** confirmar_quit, análogo al de CXL **********// *4-« »* a —* - —4 - —>. *1* . 4. 4 . ^4 . 4-. 4 -. -.4 - —4 - .4 - .4 - »4* «4« k4> ^i> // ^P ^P ^P ^P ^p ^P ^P P ^p 5p ^p 5p p yp ^p 5(5 ^p 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 ^5 5(5 ^p ^5 ^p ^p ^p ^p ^p ^p ^p ^p p ^5 ^p ^p 5p ^p ^p ^5 ^p ^p p ^p ^p »p ^p ^p /

Static void confirmar_quit(void)

{struct _onkey_t *kblist;

95 kblist=chgonkey(NULL); /* bidé any existing hot keys */

if(!wopen(9,26,13,55,0,WHITE ¡ _BROWN,WHITE | _BROWN)) exit(l);

wshadow(LGREY | _BLACK);

wputs("\n Salir programa, seguro? \033A\156N\b");

clearkeysQ;

100 showcurQ;

if(wgetchf("SN", ’N’) = = ’S’) normal_exit();

wcloseQ;

hidecurO;

XPRESEN.C

chgonkey(kblist); /* restore any hidden hot keys */

105 }I *Jv ^1# «L# ^ ^ ^ k<> ^ «I . «I- *1- r> ^1, ->» ^ ^ ^ ^ ^ ^ *Jy «Jy «J^ « o ^ u «1 /i ^ *T ^ ^ 9^ 9^ ^ ^ y^ 9|s 9|C 5JC 9|C 9|C 7|C 9fí 9|C 9|C 9(5 9|C 9 ft 9|5 9|C 5|C 9JC 9JC 9J5 9|v 9|C 9JC 9JC 9|% 9J% 9Jv 9|C 9fí 9|% 9 |t 9 |t 9 |í 9 ¡t ^ 9|% 9|% ^v i

/******* normal_exit(), salida normal ********=ic=k// 5 *1# %L> —f - —f - —f - >* - —>. *1-. >!■« .< . -< . .< .< - < - —* - »?■* af> ¡i •!* ^ ^ ^ ^ ^ ^ ^ ^ ^ 9|% 9Jt 9 |t 9j 9|> 9|% 9J% 9|% 9 |t 9|v 9J% 5js 9|v 9J% 9J% 9|% 9|C 9 |t 9|% 9^ 9 |t 9| 9 |t 9 |í 9 |t ^ v ^ v 9^ ^ ^ ^ /

static void normal_exit(void)

l io {

wcloseallO;

srestore(savepant);

gotoxy_(cfila, ccolu);

showcurQ;

115 system("mode co80");

clrscrQ;

printf(" Adiós, Adiós....");

exit(O);

}4 /*\ i «t# aI *1. —<- —*. *1.. *1. *1-. *1-. -.-I- %L %¡ ^1# %í %i /1 9 1 1 / ^p ^p ^p ^p ^ p 9p 9p ^p 9p 9p 9p 9p 9p 9p 9p 9p 9p 9p Jp 9p 3p 3p 9p 9p 9p 9p 5p 9p 9p 5p 9p 5p 9p 9p 9p 9p 9p 9p 9p 9p 9p 9p 9p 9p ^p ^p ^p 9p ^p ^p 9p 9p ^p ^ p ^p j

¡******* crea una ventana para pedir password al arrancar ****!/ %í %í %í »* J 4 %1 »*-. .-I-. »!-. ..I.. .!■. .!■. »!■. .>- .>- *>* *1-. .I-. .I— *1-. ..la .1 - »*-. »*-. efy <1 •1 I/ ^P *p ^P ^P ^P ^P ^P ^P *p ^P ^p ^p 9^ ^p 9p #p 9p 9p 9p 9p 9p 9p 9p 9p 9p 9p 9p 9p 9(í 9fi 9^ ^p 9p ^ v 9^ ^p ^p ^p ^p ^p ^ p ^p ^p ^p ^p ^p ^p *P *P ^p ^p /

Static void crear_vent_passwordl(void)

{125 char *password_real = "RAMON";

char *password_input;

int i;

if(!wopen(14,28,19,52,1 ,LRED |_MAGENTA,LRED |_MAGENTA)) exit(l);

wshadow(LGREY¡ BLACK);

130 for(i=0;i< = 3 ;i+ + ) {

wprints(l,2,LCYAN|_MAGENTA,"PASSWORD : ");

XPRESEN.C

showcurQ;

wgotoxy(l,13);

winputsf(password_input,"!PU! XXXXXX");

135 hidecurO;

if(!strcmp(password_input,password_real)) {

wprints(3,6,BLINK ¡ YELLOW | _MAGENTA, "CORRECTO!");

delay_(9);

wcloseO;

140 return;

}else {

wclearQ;

}145 }

showcurQ;

exit(O);

}

/ *1J - —>- —>- —>- — -f* -f» -f» -f* -f■» —f» —f— —f» // yfí 5|? 5|? yfi Sfí 9|% 5|C 5|v 3|5 Af 5^ #

150 /***** Idem a open_stat_wind, genera el menú de abajo en pul ****/J djc 1* ^

static void crear_vent_estado2 (void)

{wfUlch(’\260’);

155 wopen(24,0,24,79,5,0,LGREY|_RED);

wcenters(0,LGREY¡_RED,"Menú Principal");

wrjusts(0,78,LGREY i _RED, ”[Alt-X]= Salir");

wfillch(’ ’);

}

XPRESEN.C

160 /*****=)< *********>l<*4:>l<******4:*i|<:|:i|<******9|c***i|<i|< i|<i|<4:i|<*:|!*i|<>|c******i|<3|:*** *y

/**** Idem a open_back_wind(), genera el fondo *********/

static void crear_vent_fondo2 (void)

{165 register int i;

if(!wopen(0,0,23,79,5,0,LGREEN|_GREEN)) exit(l);

}

PULL.C

#include

#include

#include

#include

#include

#include

#include

#include

<stdio.h>

<conio.h>

<bios.h>

<dos.h>

"cxlwin.h"

"cxlkey.h"

"cxldef.h"

"cxlvid.h"

#define PUERTO_300 (0x4010x0310x0010x00)

10 #define PUERTO_2400 (OxAO 10x03 j 0x0010x00)

#define PUERTO_9600 (OxEO 10x0310x0010x00)

#define DATA_READY 0x100

#define CRet OxOD /* retorno de carro */

#define H_

15 #define H_

#define H_

^define H_

#define H_

#define H_

20 #define H_

/^define H_

#define H_

#define H

GLOBAL 1

ENVIAR 2

CONFIG 3

VIGILAR 4

VELOC 5

PLACAS 6

MODIF 7

FICH 8

INHIBI 9

INHIB2 10

static WINDOW w[10];

25 static void no_hago_nada(void);

static void pongo_fondo(void);

static void info_salir(void);

void puerto_serie(void);

void tasa_baudios(void);

30 void numero_placas(void);

static int recibir_cad_menu(void);

static int enviar_cad_menu(void);

static void menu_enviar(void);

void alarma(void);

35 static void generar_velocidad(void);

void reco3(void);

static char *dame_velocidad_inicial(void);

static char *dame_placas_inicial(void);

void xmodif(void); /* ESTA EN EL FICHERO XMODIF, modifica

40 config_hard***/

void inhibir 1 (void);

void inhibir2(void);

void poner_hora(void);

PULL.C_________________________________________________________ 2

/ •Im «i# -I - fcl- *1* —< - . 1 f. -I- -I j . I» *1-. —* - — // 5|t S¡% yji 5J5 5JC ?J5 ?|Q 5|> ?|> ?J? r|5 #1% /

45 /****** VARIABLES GLOBALES Y ESTRUCTURAS

/ «I— *1 *1 j *i-« ~ .1. «■>* — fcf.» »ia -1 «1 j // "I* JS 5|% 5|% 9|« 9Jv ?J5 ?|% 3|5 9|5 5JC 3Jv 3J% 5|% !

extern struct {

unsigned int numerojplacas;

50 unsigned int velocidad_baudios;

unsigned int tiempo_polling;

char nombre_fichero[10];

PULL.C

55

char direccion[30];

char raton[3];

} config_hard;

extern struct {

char in[16][6][7];

} config_soft[3];

extern struct {

60 char est_in[17];

char est_out[33];

char est_modo;

} est_sist_real[2], est_sist_fin[2];

extern int ultima_instruccion[3][16];

j|í!|<5|<***5l!5|<S|<!tS**!|<**!|í**>|!!|C*********!|!!|«5N****S|<****************************/

/***** PULL.C : Maneja los menus, etc... *******/y He =<«***************/

void pull(void)

{70 char *veloc,*placa;

int leo_puerto;

if((veloc = malloc(sizeof(char)*17)) = =NULL) {

printf("error al reservar espacio");

exit(l);

75 }

if((placa = malloc(sizeof(char)*17)) = =NULL) {

printf("error al reservar espacio");

exit(l);

}80 generar_velocidad(); /* PONE LA VELOCIDAD DEL PUERTO SEGUN

CONFIGURACION*/

Ieo_puerto=bioscom(2,0,0); /*Sirve para limpiar el buffer del puerto*/

setkbloop (puerto_serie);

whelpushc(H_GLOBAL); /* Defino la categoría global*/

85 wmenubeg(l, 1,1,78,5,CYAN,CYAN ¡ _BLUE,NULL);

wmenuitem(0,2," Enviar" , ’ E ’, 1,0, menu_enviar, 0, H_EN VIAR);

wmenuitem(0,15," Configuración", ’ C ’, 2,0, no_hago_nada, 0, H_CONFIG);

wmenubeg(2,15,8,33,1 ,LGREY | _BLUE,_BLUE,NULL);

veloc= dame_velocidad_inicial();

90 wmenuitem(0,0,veloc, ’V’ ,6,0,tasa_baudios,0,H_VELOC);

placa= dame_placas_inicial();

wmenuitem(l ,0,placa, ’P’ ,7,0, numerojplacas,0,H_PLAC AS);

wmenuitem(2,0, "Modificar", ’M’ ,8,0,xmodif,0,H_MODIF);

wmenuitem(3,0,"Configuración E" ,’C’,9,0,inhibirl,0,H_INHIBl);

95 wmenuitem(4,0,"Inhibir D/N" ,’F,27,0,inhibir2,0,H_INHIB2);

PULL.C_________________________________________________________ 4

wmenuend(6,M_VERT,21,1, YELLOW | _BLUE,LCYAN | _BLUE,0, YELLOW

|_M AGENTA);

wmenuitem(0,34, "Vigilancia" , ’V’ ,3,0,reco3,0,H_VIGILAR);

wmenuitem(0,52," Información" , ’ I ’,4,0, no_hago_nada, 0,0);

100 wmenubeg(2,52,5,67,1 ,LGREY | _BLUE,_BLUE,NULL);

wmenuitem(0,0,"Ver Fichero",’F’, 10,0,no_hago_nada,0,0);

wmenuend(10,M_VERT,20,1, YELLOW | _BLUE,LCYAN | _BLUE,0, YELLO

W |_M AGENTA);

wmenuitem(0, 6 7 Salir" , ’ S ’, 5,0, NULL, 0,0);

105 wmenuiba(info_salir, info_salir);

wmenuend(l ,M_HORZ,0,0, YELLOW | _BLUE,LCYAN | _BLUE,0, YELLOW ¡

_MAGENTA);

if(wmenuget() = = -l) printf("La has cagao......");

whelpopcO;

l io wcloseQ;

setkbloop(NULL);

free(veloc);

free(placa);

}115 /*----------------------------------------------------------------- */

static void no_hago_nada(void)

{

}I*_____________________________________________ */

120 static void info_salir(void)

{static WINDOW handle=0;

if(handle) {

wactiv(handle);

125 wcloseQ;

handle=0;

}else {

handle=wopen(14,41,17,70,0, YELLOW | _RED,WHITE | _RED)

130 wputsC'Salir te permite abandonarVn el programa.");

}

PULL.C 5

PULL.C

}¡ * ____________________________________________________________* /

/ * ____________________________________________________________* !

135 void puerto_serie(void)

{int estado=0;

estado= bioscom(3,0,0);

if(estado&DATA_READY) {

140 wopen(10,20,14,60,1 ,LCYAN | _BLUE,LGREEN | _BLUE);

wputs("El puerto serie interrumpe..");

for(;;) {

alarmaO;

if(kbhit()) break;

145 }

getcheO;

estado= bioscom(2,0,0);

estado=0;

wcloseO;

150 }

prints(0,70,BLUE | _GREEN,systime(l));

}/*- -*/

155 /** Me permite seleccionar desde el menú de configuración **/

/** la velocidad del puerto, utilizo la función wmenuicurr **/

/** que me da la dirección de la estructura que corresponde **/

/** a este menú **/^ :(í í ( í ^ 5|e :íe :Jí s ic ^ ^ 5|c íf; í|e íf: íie :|e 5}: 3ÍC ^ s f í^ : |e ^ sK 5|« >|e ííí * * * * * * ¡íí * * * * /

160 void tasa baudios (void)

PULL.C

{struct _item_t *citem;

char *str;

char *vel;

165

170

175

180

185

}/*-

citem=wmenuicurr(); /*Cojo la dirección de la estructura*/

str=citem->str; /*Cargo en str la cadena a modificar*/

vel=str+strlen(str)-4; /*Resto 4 que es la longitud de la cadena*/

if(!strcmp(vel," 300")) { /*Comparo con los posibles valores*/

strcpy(vel,"2400"); /*y los modifico ciclicamente*/

config_hard. velocidad_baudios=2400;

bioscom(0,PUERTO_2400,0); /* Configuro el puerto*/

}else if(!strcmp(vel,"2400")) {

strcpy(vel,"9600");

config_hard. velocidad_baudios=9600;

bioscom(0, PUERTO_9600,0);

}else if(!strcmp(vel,"9600")) {

strcpy(vel," 300");

config_hard. velocidad_baudios=300;

bioscom(0,PUERTO_300,0);

}citem->redisp = l; /*Actuo el flag redisp de la estructura */

/*_item_t para que el valor no se pierda y */

/* se actualice a cada cambio*/

-*// ^ «X# «Xi* *iL# «f- «X# «I- «1 ^ «X« «x «Ix «L# «X' «x «X# ^ ^ %¡g ^/ ^ ^ ^ ^ ^ ^ 5|5 5J5 3JC 3J5 ?|v 5|C 5|C 5(5 3JC 55 5|C 5|C 5|s ^ ^ íp 5p íp ^ •p •P *p ^

PULL.C 8

sis***** y

190 /****** numero_placas(void) ; Idem a la anterior pero con el n“placas **/*****=1! ********* !|<!l<S|<5|í!lí******5|=5K!|<*5|í*******5|!**!|!5|«St!S|<S|<********>t!>l<S|S****>|í5|í**

****** j

void numero_placas(void)

{195 struct _item_t *citem;

char *str;

static char *n_placas;

200

205

210

215

citem=wmenuicurr(); /*Cojo la dirección de la estructura*/

str=citem->str; /*Cargo en str la cadena a modificar*/

n_placas=str+strlen(str)-l; /*Resto 1 que es la longitud de la cadena*/

if(!strcmp(n_placas,"l")) { /*Comparo con los posibles valores*/

strcpy(n_placas," 2"); /*y los modifico ciclicamente*/

config_hard. numerojplacas =2;

}else if(!strcmp(n_placas,"2")) {

strcpy (n_placas," 3");

config_hard.numero_placas=3;

}else if(!strcmp(njplacas,"3")) {

strcpy (nj)lacas," 1");

config_hard. numero j)lacas = 1;

}citem->redisp = l; /*Actuo el flag redisp de la estructura */

/*_item_t para que el valor no se pierda y */

/* se actualice a cada cambio*/

5|í*5l!5ÍÍS|íj|i**5l!5|<5|í5|c***s|<5|íí|í***5|íSÍ<¡|CS|C*S|55|t5|t5)íS(SSjCs|c:(CS|5S|.*S|<S|t5(.S|<S|C*S|íSj<*:).5|í:(.j|SS|<S|.:¡C**5|<Sj<*

/** Permite enviar comandos a través del puerto serie y recibirlos. **/

220 /** Desactiva la opcion setbkloop, utiliza el formato de SERIE2.C **/y íl< 5 (C S |< S Íe 5 (:5 N * S Í< 5 |< 5 Í< 5 Í< S |e :!C 5 |c :f í5 !< 5 Í!:(< 5 f!5 Í! :lC S |< :i íS |í5 |í5 t:5 Í ::í í5 f í5 Í< S ÍC 5 Íí5 ÍÍ5 f í5 ( í5 lí: í í : lC 5 Í< :|< :íí5 ÍC :|í5 K 5 fí5 Íí5 t:5 |í!k 5 |C 5 K 5 (:5 N H C 5 lC 5 f:= í í4 !5 fe 5 !< 5 |í5 |< !Í< 5 N 5 |í

* * ! | C S | í * * ^

yj¡íj|!****5|0|<!lcsi£*!|esjcs(!j|í sN** =l< =l< * * * * * * * * * * * * * * * * * * /

static void menu_enviar(void)

225 {

char control;

int i;

PULL.C_________________________________________________________ 9

setkbloop(poner_hora);

bioscom(0,PUERTO_300,0);

230 wfillch(’\260’);

wopen(24,0,24,79,5,0,LGREY 1 _RED);

wprints(0,12,LGREY|_RED,"300 baudios HDX 8 bits IStop Sin

Paridad COMI");

wrjusts(0,78,LGREY ¡ _RED, ”[Alt-X] =Salir");

235 wfillch(’ ’);

wopen(16,6,21,76,1 ,LCYAN | _BLUE,LGREEN ¡ _BLUE);

wshadow(LGREY | _BLACK);

wtitleC [ Ventana de Comunicaciones ] ",TCENTER,LCYAN|_BLUE);

for(;;){

240 i=recibir_cad_menu();

if(i= = -l) break;

}wcloseQ;

wcloseQ;

PULL.C 10

245 setkbloop (puerto_ser ie);

*5|í*5|C*5ÍCSfí5[!*5|<!|<5l:!|es|t!lt!|í CADENA * *>l< >i« * >i< *** =l< ******* */

static int enviar_cad_menu(void)

{250 char tecla[20];

int i=0,total;

wprintf(" > > ");

gets(tecla);

if(tecla[0] = = ’\0’) return -1;

255

260

for(i=0;i<21;i++) {

if(tecla[i]! = ’\0’) bioscom(l,tecla[i],0);

else {

bioscom( 1, CRet,0);

wprintf("\n\r");

return (0);

}

}return(O);

}

r e c ib ir u n CARACTER ****************/

static int recibir_cad_menu(void)

{int carácter,i;

PULL.C 11

270

275

280

}!*-

do{

if(bioscom(3,0,0)&DATA_READY) {

carácter= bioscom(2,0,0);

if(caracter! =0xE000) {

wputc(caracter);

}

}if(kbhit()) {

i= enviar_cad_menu();

if(i= = -l) return (-1);

}}while(caracter! =CRet);

wprintf("\n");

return (0);

-*/

285 static void generar_velocidad(void)

{if((config_hard.velocidad_baudios) = =300) bioscom(0,PUERTO_300,0);

else if((config_hard.velocidad_baudios) = =2400) bioscom(0,PUERTO_2400,0);

else if((config_hard.velocidad_baudios) = =9600) bioscom(0,PUERTO_9600,0);

290 else {

exit(l);

}

}^ :|í s|c :Je ^ s|< s|< 5|¿ :1c ^ :|í :íí ^ ^ * í|í íjí sK ¡íí * * * * * * * * * * * /

295 /***** dame_velocidad_inicial : devuelve un puntero con la *****/

/***** velocidad de config_hard "Velocidad 300", u otro *****/

PULL.C 12

/ iií ^ *S 1a <L %U %I ^ %L« «1« L« <L» «1 1 «1 «L« %t •Ia Ía a a a a a a *3a // *S* *T* ^ Af% ^ ^ ^ yj yj 5J5 5|5 3|5 jjq jj5 3J5 5 jj5 3j5 jj5 jj5 5j5 j|q jj 5|5 jj y^ yj ^ yf ^ yt /

static char *dame_velocidad_inicial(void)

{300 char *velocidad,*numero;

if((velocidad = malloc(sizeof(char)*17)) = =NULL) {

printf("error al reservar espacio");

exit(l);

}305 velocidad= "Velocidad ";

if((config_hard.velocidad_baudios) = =300) numero=" 300";

else if((config_hard.velocidad_baudios) = =2400) numero = "2400";

else if((config_hard.velocidad_baudios) = =9600) numero="9600";

else {

310 exit(l);

}strcat(velocidad, numero);

strcat(velocidad, ’\0’);

free(velocidad);

315 return (velocidad);

PULL.C 13

325 exit(l);

}if((numero=malloc(sizeof(char)*2)) = =NULL) {

printf("error al reservar espacio");

exit(l);

330 }

placas= "Placas

cvtic(numero,config_hard.numero_placas,2);

strcat(placas, numero);

free(placas);

335 return (placas);

}j*___________________________________

/*— PONE LA HORA EN LA ESQUINA CUANDO ANULO —

/*— LA OPCION DE puerto_serie --------------*/j j

void poner_hora(void)

{wprints(0,70,BLUE ¡ _GREEN,systime(l));

}

-*/

XMODIF.C

/ 1# «1 *1 »la i~ 1. 1. —f- —1 - —>- >C fc>* fclj *1 *1-» *<-« *l-« fclj *1 _l *]. —1 - kJ> k1> kJ // ^ *T* ^ 1% ^ ^ #1% ?|5 3|C 5jC 5|C í|C 3jC 9|C 9)C ?|C ?|C 5jC 3J5 ?|5 9J% ^ #|C 5|% 5|% 5|% 5|% 5|% 5|% 5|C 5JC 9|C 5JC 3JC 3JC 5|5 ? |í ?|5 ?|% ? |t 3JC 5|s J|% 3J? 5J? 5% 5Jv /

sH****

***5le*

*í|!**5|<*

10

Xmodif.C SIRVE PARA ACTUALIZAR

la estructura hard ******i/ %!> %t» kO — »>* »!-» »l J *I-J >* - >* - »t.« >> - —* - »l K¿ »< J »< J *1J // ^ ^ ^ 1% 3|v 3|C 5|5 9(C 9|C 9|C 5|C 3|C 5jC 3|v 5|C 3|v 5|C 3|v ?|v 5|C ?|5 5|C 5|5 5|? 5|? ?|? ?|5 ?|S ?|? 9|5 5|? 5J% 5|v ^ J jt /

#include <stdio.h>

#include <conio.h>

#include <string.h>

#include <stdlib.h>

#include "cxlwin.h"

#include "cxlstr.h"

#include "cxlkey.h"

#include "cxlvid.h"

static unsigned get_key(int *done);

static int comp_velocidad(char *buf);

15 static int comp_raton(char *buf);

static void preguntar_si_salva(void);

static int quitar_esp(char *buf);

void tasa_baudios(void);

void numero_placas(void);

20 extern FILE *puntero_fichero_config;

25

extern struct {

unsigned int numero_placas;

unsigned int velocidad_baudios;

unsigned int tiempo_polling;

char nombre_fichero[ 10];

XMODIF.C

char direccion[30];

char raton[3];

} config_hard;

/ ^ ^ «L« Í0 1 Í0 %L« ^ *Lf ^ %L# *1 ^ «1 aIm «L« •í *1 *1 L* !/ ^P ^P ^P ^P ^P ^P ^P ^P ^P ^P ^P ^P ^p ^p ^p 5p 5p 9p 5p 5p 5p 5p 5p 5p Pp 3p 3p 5p Pp Pp Pp Pp Pp Pp Pp Pp Pp Pp Pp Pp Pp Pp Pp Pp Pp Pp Pp Pp Pp Pp ^p ^p ^P ^P Pp Pp /

30 void xmodif(void)

{int ch,i;

static char datol[l];

char dato2[5];

35 char dato3[3];

char dato4[3] = "NO";

unsigned key;

/* inicializa las variables */

cvtic(dato 1, config_hard. numero_placas, 1);

40 cvtic(dato2, config_hard. velocidad_baudios, 4);

cvtic(dato3, config_hard. tiempo_polling, 2);

if(!wopen(3,15,17,65,1,LCYAN|_BLUE,LCYAN|_BLUE)) exit(l);

wshadow(LGREY | _BLACK);

wtitleC MENU CONFIGURACION ",TCENTER,LCYAN|_BLUE);

45 wmessageC [Esc]=Salir ",BT_BORD,32,LCYAN|_BLUE);

wmessageC [F10]= Fin " ,BT_BORD,4,LCYAN|_BLUE);

do {

winpbeg(LGREEN | _LGREY, WHITE | _LGREY);

wprints(1,3,WHITE|_BLUE,"Número de Placas : ");

50 winpdef(l,22,datol," < 123> ",’9’,1,NULL,0);

wpr ints (3,3, WHITE | _BLUE," V elocidad (baudios) : ");

XMODIF.C

55

winpdef(3,25,dato2," ,’9 \ í ,comp_velocidad,0);

wprints(5,3,WHITE¡_BLUE,"Tiempo polling (seg) : ");

winpdef(5,26,dato3 9’, 1 ,NULL,0);

wprints(7,3,WHITE|_BLUE,"Nombre del fichero : ");

winpdef(7,24,config_hard.nombre_fichero, "AXXXXXXX", ’U’, 1 ,quitar_esp,0);

wprints(9,3,WHITE|_BLUE,"Dirección ; ");

w i n p d e f ( 9 , 1 5 ,

li3rd dirección 1 ^mtcir esp

60 wprints(l 1,3,WHITE|_BLUE,"Ratón : ");

winpdef(l 1,12,dato4, "UU" ,0,1 ,comp_raton,0);

winpkey (get_key, &key);

if(winpread()) break;

if(key= =0x4400) break;

65 /* Muestra pantalla de confirmación*/

70

if(!wopen(8,30,12,50,0,WHITE | _CYAN, WHITE | _C YAN)) exit(l);

wshadow(LGREY | _BLACK);

wputs("\n ES CORRECTO? \033A\076S\b");

clearkeysO;

ch=wgetchf("SN",’S’);

wcloseO;

75

}while(ch! = ’S’);

strepy (config_hard. ratón, dato4);

config_hard. numero_placas = atoi(dato 1);

config_hard. velocidad_baudios= atoi(dato2);

config_hard. tiempo_polling= atoi(dato3);

XMODIF.C

80

preguntar_si_salva();

tasa_baudios();

numero_placas();

wcloseO;

return;

}

static unsigned get_key(int *done)

{85 unsigned int xch;

xch=getxch();

*done= (xch = =0x4400);

return(xch);

}

gQ *5|£**!|c******SÍ<********Sl!*:|S**!Í<!|<!(!SÍ<S|!*:lC**5|<*5|í**=i<**S|<*S|«>l<****=l<*=i«*******=i<****/

/***** comp_velocidad xomprueba el formato de la velocidad *****/S(!j|<5|!**S|í5|<5|< **:|!j(iS|!j|e5|CSl!s|£5|C5Ít*!|í*********!|í*=N>l«*******5|!************5|«!|í *=(!******/

Static int comp_velocidad(char *buf)

{95 int i;

100

i=atoi(buf);

if(i==300) return(O);

else if(i==2400) return(O);

else if(i==9600) return(O);

else {

wperror("Valores posibles [300,2400,9600]");

return(l);

XMODIF.C

}

j |> |> »|j «1 «1 j

/***** comp_raton xomprueba que ratón es ’NO’( de momento) *****/t <1 %1# «f# »>» k|« —>— —t- *1-. ><■« *I-J ~. fc>* kf* »>■« —C »|. 4 >1 -.4- kI> »*J «1 «J «fy // 1* v íj% rfjv 9|v 0f% #1% 5Jt 5J% J(C 5J% yfí í|5 5|í 3|6 5|% ?|í #|% 5J% |S W /

static int comp_raton(char *buf)

{l io if(strcmp(buf,"NO")) {

wperror(" Ratón no utilizable ");

return(l);

}return(O);

115 }

120

/ %L« -I-• —4- —4- 4- -_4- ,4, -_4- .4» -4. 4. 4 4. 4 4- .4 .4- .4- —4- 4 *4-. .4» 4 4 «4. «4 %1 %1 1 // 4 5p p 5p 3p 5p 5p 5p JJv 5p 5p ?p 5p 5p 5p 5p 3p 3p 3p Sp 5p #p p 5p Jp p p p p p p p p p p p p p P p *P »p »p /

/***** preguntar_si_salva : ¿guardar la configuración en disco?**/I mj f *4j »4-« .4-» 4j *4* *4* «.Ij *4* *4 »4j —4- >4- >4- .4 »4 *4 1 %J &4 *4 *4 •S *S // P P P P P P P P P P p P p p p P Jp p p 3p ?p ?p 9p ?p 3p 5p <p yfi p p p p p P P P P P P P ^ ^ /

Static int quitar_esp(char *buf)

{strbtrim(buf);

return(O);

}

^ :)<:í; si<:lc :lfi :lí :íi:lc5iíslc3|c :íí:ie:ic ^ :|<:i< ^ ^ :|í:tí ^ s|í:|í:i<:i<s|<:ií:!c *:i<s|<:i: ** s|<s|c*** ** j

125 /***** preguntar_si_salva : ¿guardar la configuración en disco?**// &4< -4 »4» *4» -4» —4— 4. »4 —4- —4- .4- 4 4 -.4- 4- 4. >1 .4 *4j *4-. >4* -4a —f— -.4a fcfa fcja —4a —4a %t» —1> %1> st // ^ ^v íp 5p 5p 5p 5p 5p 5p 5p ?p ?p ?p 9p 9p ?p 9p 5p 5p 9p «p 9p 5p 5p ?p 3p Jp 9p 9p #p 3p 3p 3p 5p 5p Jp ?p 5p íp íp íp 5p 5p p p p p P p p p P P p P P P /

Static void preguntar_si_salva(void)

XMODIF.C

int resp;

130

135

140

145

150

if(!wopen(8,24,12,56,0,WHITE ¡_RED,WHITE |_RED)) exit(l);

wshadow(LGREY| BLACK);

wputs("\n SALVAR EN FICHERO? \033C\076N\b");

clearkeysQ;

resp=wgetchf("SN",’N’);

wcloseQ;

if(resp! = ’S’) return;

if((puntero_fichero_config=malloc(sizeof(FILE))) = =NULL) {

printfC'error al reservar espacio");

exit(l);

}if((puntero_fichero_config=fopen("config", "r+t")) = =NULL) {

printfC’NO SE PUEDE ABRIR CONFIG");

exit(l);

}fprintf(puntero_fichero_config," %u\n" ,config_hard.numero_placas);

íprintf(puntero_fichero_config," %u\n" ,config_hard.velocidad_baudios);

fÍprintf(puntero_fichero_config," %u\n" ,config_hard.tiempo_polling);

fprintf(puntero_fichero_config," %s\n" ,config_hard.nombre_fichero);

fprintf(puntero_fichero_config," %s\n" ,config_hard. dirección);

fprintf(puntero_fichero_config," %s\n",config_hard. ratón);

fclose(puntero_fichero_config);

free(puntero_fichero_config);

return;

INHIBIRl.C

^include

#include

#include

#include

#include

#include

^include

^include

#iiiclude

<bios.h>

<stdio.h>

< conio.h >

<stdlib.h>

<string.h>

"cxlwin.h"

"cxlstr.h"

"cxlkey.h"

"cxldef.h"

10 ií define APO 82

#define habilitada 80

#define RETARDADA 85

#defme PUERTO_300 (0x4010x0310x0010x00)

#define DATA_READY 0x100

15 #define CRet OxOD

void enviar(char *cadena);

char *recibir(int i);

static void mput(void);

void puerto_serie(void);

20 void espere_un_momento(void);

void limpiar_puerto(void);

int elegir_placa(void);

static void pon_title(void);

extern struct {

25 unsigned int numero_placas;

INHTOIRl.C

30

unsigned int velocidad_baudios;

unsigned int tiempo_polling;

char nombre_fichero[10];

char direccion[30];

char raton[3];

} config_hard;

char direccion[4];

char *cadena;

char cadena_aux[2];

35 char *aux;

char *instruccion_l = "$mem

char *aux_ni=" HABILITADA";

char *aux_i =" INHIBIDA";

char *aux_apo=" APO";

40 char *aux_retardada=" RETARDADA";

char *ENTRADA[16];

int num_aux;

void inhibir l(void)

{45 in tjjj;

int elección;

setkbloop(NULL);

bioscom(0,PUERTO_300,0);

elección= elegir_placa();

50 espere_un_momento();

limpiar_puerto();

INHIBIRl.C

/ * _________________________________________________________ * /

/*-------------- inicialización de las entradas---------------------*// * _________________________________________________________ * !

55 jj=0;

for(j=0;j< =15;j + +) {

if((ENTRADA[j] = malloc(sizeof(char)*30)) = =NULL) {

printf("error al reservar espacio");

exit(l);

60 }

}if((instruccion_l = malloc(sizeof(char)*5)) = =NULL) {

printf("error al reservar espacio");

exit(l);

65 }

/******** todavía no esta preparado 5 íjí íjí j

if(eleccion= = l) {

instruccion_l = "$mem ";

}70 else if(eleccion==2) {

instruccion_l =" %mem ";

}else if(eleccion= =3) {

instruccion_l = "&mem ";

75 }

else exit(l);

for(j=0;j< =3;j + +) {

instruccion_l =strleft(instruccion_l ,5);

INHffimi.C

80

85

90

95

100

105

itoa(( 12288+((4*j))),dirección, 16); /*12288 es 3000 en Hexedec*/

(direccion[3])= toupper(direccion[3]);

strcat(instruccion_l, dirección);

enviar (instruccion_ 1);

cadena=recibir(l);

delay_(18);

for(jj=0;jj<=3;jj + +) {

num_aux=jj+(4*j);

if((aux = malloc(sizeof(char)*18)) = =NULL) {

printf("error al reservar espacio");

exit(l);

}aux= cadena+3 *jj;

aux= strleft(aux,2);

if(atoi(aux)==habilitada) {

strcpy(aux,aux_ni);

}else if(atoi(aux) = = APO) {

strcpy(aux,aux_apo);

}else if(atoi(aux) = = RETARDAD A) {

strcpy (aux, aux_retardada);

}else {

strcpy(aux,aux_i);

}itoa(num_aux+1 ,cadena_aux, 10);

strcpy(ENTRADA[num_aux],"ENTRADA ");

ENTRADA[num_aux] = strcat(ENTRAD A[num_aux], cadena_aux);

INHIBIRl.C

if((num_aux+1) < 10) {

110 strins(aux, ENTRAD A[num_aux], 9);

}else if((num_aux+1) > =10) {

strins(aux +1, ENTRAD A[num_aux] ,10);

}115 free(aux);

}

}

120

125

130

wcloseQ;

wfülch(’\260’);

wopen(24,0,24,79,5,0,LGREY | _RED);

wcenters(0,LGREY|_RED,"Pantalla de Configuración de Entradas");

wrjusts(0,78,LGREY | _RED, ”[Alt-X] =Salir");

wprints(0,2,LGREY | _RED, "[Esc] =Anterior");

wfillch(’ ’);

wopen(5,25,22,55,1 ,LGREY | _BLUE,_BLUE);

wshadow(LGREY | _BLACK);

wtitle(" [ Tabla Entradas ] ",TCENTER,LGREY|_BLUE);

wmenubegcQ;

wmenuitem(0,1, ENTRAD A[0],0,11,0,input,0,0);

wmenuitem(l, 1 ,ENTRADA[1],0,12,0,input,0,0);

wmenuitem(2,1, ENTRAD A[2],0,13,0,input,0,0);

wmenuitem(3,1 ,ENTRADA[3] ,0 ,14,0,input,0,0);

wmenuitem(4,1, ENTRAD A[4] ,0,15,0, input, 0,0);

INHIBIRl.C

140

145

wmenuitem(7,1,ENTRAD A[7],0,18,0,input,0,0);

wmenuitem(8,1, ENTR AD A[8] ,0,19,0, input, 0,0);

wmenuitem(9,1, ENTRAD A[9], 0,20,0, input, 0,0);

wmenuitem( 10,1, ENTRAD A[ 10], 0,21,0, input, 0,0);

wmenuitem( 11,1, ENTR AD A[ 11 ], 0,22,0, input, 0,0);

wmenuitem(12,l,ENTRAD A[12],0,23,0,input,0,0);

wmenuitem( 13,1, ENTRAD A[ 13], 0,24,0, input, 0,0);

wmenuitem(14,l,ENTRADA[14],0,25,0,input,0,0);

wmenuitem( 15,1, ENTR AD A[ 15], 0,26,0, input ,0,0);

wmenuend(l 1 ,M_VERT,0,1, YELLOW | _BLUE,0,0, YELLOW | _MAGENTA);

if(wmenuget() = = -l) {

for(j =0;j < = 15;j + +) free(ENTRADA[j]);

free(instruccion_ 1);

150 wcloseO;

wcloseQ;

limpiar_puerto();

setkbloop(puerto_serie);

return;

155 }

}

static void input(void)

{struct _item_t *citem;

160 char *str,*inhibi,*auxl,*cadena_auxl;

int i;

INHIBIRl.C

citem= wmenuicurr O;

str=citem->str;

inhibí= str+ strlen(str)-15;

165 i=(citem->tagid)-ll;

if(!strcmp(inhibi," HABILITADA")) {

instruccion_l =strIeft(instruccion_l ,5);

itoa((12288-l-i),dirección, 16);

(direccion[3])= toupper(direccion[3]);

170 strcat(instruccion_ 1, dirección);

strcat(instruccion_l," ,00");

enviar(instruccion_l);

175

180

auxl = " INHIBIDA";

itoa(i+1 ,cadena_auxl ,10);

strcpy(ENTRADA[i],"ENTRADA ");

ENTRAD A[i] = strcat(ENTRAD A[i], cadena_aux 1);

if(i-f-K10) {

strins (aux 1, ENTRAD A[i], 9);

}else if(i-l-l > =10) {

auxl=auxl + l;

strins(aux 1, ENTRADA[i] ,10);

}

}185 else if(!strcmp(inhibi," INHIBIDA")) {

instruccion_ 1 = strleft(instruccion_ 1,5);

itoa((12288+i),direccion, 16);

(direccion[3]) = toupper(direccion[3]);

strcat(instruccion_l, dirección);

INHffimi.C 8

190 strcat(instruccion_ 1,", 82");

enviar (instruccion_ 1);

195

200

auxl = " APO";

itoa(i+1 ,cadena_auxl ,10);

strcpy(ENTRADA[i],"ENTRADA ");

ENTRAD A[i] = strcat(ENTRADA[i] ,cadena_auxl);

if( i+ K 1 0 ) {

strins(aux 1, ENTRADA[i], 9);

}else if(i+ l > =10) {

auxl=auxl + l;

strins(auxl ,ENTRADA[i], 10);

}

}else if(!strcmp(inhibi," APO")) {

205 instruccion_l =strleft(instruccion_l ,5);

itoa((12288+i),dirección, 16);

(direccion[3])= toupper(direccion[3]);

strcat(instruccion_l, dirección);

strcat(instruccion_l,", 85");

210 enviar(instruccion_l);

215

auxl = " RETARDADA";

itoa(i +1, cadena_aux 1,10);

strcpy(ENTRADA[i],"ENTRADA ");

ENTRADA[i] = strcat(ENTRAD A[i], cadena_aux 1);

if( i+ K 1 0 ) {

strins(aux 1, ENTRAD A[i], 9);

INHIBIRl.C

220

}else if(i+ l > =10) {

auxl=auxl + l;

strins (aux 1, ENTRAD A[i] ,10);

}

}else if(!strcmp(inhibi," RETARDADA")) {

instruccion_l =strleft(instruccion_l ,5);

225 itoa(( 12288+i), dirección, 16);

(direccion[3])= toupper(direccion[3]);

strcat(instruccion_l, dirección);

strcat(instruccion_l," ,80");

enviar(instruccion_l);

230

235

240

auxl = " HABILITADA";

itoa(i +1, cadena_aux 1,10);

strcpy(ENTRADA[i],"ENTRADA ");

ENTRADA[i] =strcat(ENTRADA[i] ,cadena_auxl);

if( i+ K 1 0 ) {

strins (aux 1, ENTRAD A[i], 9);

}else if(i+ l > =10) {

auxl =auxl + l;

strins (aux 1, ENTRAD A[i] ,10);

}

}citem->redisp = l;

}/ * ------------------------- -*/

INHffimi.C 10

245 void espere_un_momento(void)

{wopen(12,29,15,60,1 ,LCYAN ¡ _RED,LGREEN | _RED);

wshadow(LGREY | _BLACK);

wprints(0,7,LGREEN|_RED,"ESPERE UN MOMENTO");

250 wprints(l, 11 ,LGREEN¡_RED," POR FAVOR");

sound_(5000,4);

sound_(10000,4);

}¡ * ______________________________________________________ * /

255 void limpiar_puerto(void)

{int limpia_puerto;

limpia_puerto=bioscom(2,0,0);

limpia_puerto=0;

260 }/ ylf* i ^ %1 1# // 5|v #|v 5|v 3|v 5J5 yf% 5|v 5Jv 9|C 9)C 9|C 9|C 3|( 5|v 5jC 5jv ?Jv 9|C 3JC 9)C 9J% 5Js 5J? 5|v í|% ^ ^ /

/**** permite elegir a que placa se va a dirijir **********// »l* *1 *1 *l-« - «■>* *>* *1» *1 j 0> J> %li» yí yJ yí y¡ yl yí // ^ yjy yfy ¡y 5|% 9|v 3|v ?|5 ?|v ?|5 9)Q 9fC 9|C 9|C 9|C 9{C 9|C 9|C 5|C 5|C P|C ?|5 5|5 ?|? #|v 3|v ^ yfy yfy /

int elegir jplaca(void)

265 {

char *dos[] = {" Placa 1 "," Placa 2 ”,NULL};

char *tres[] = {" Placa 1 "," Placa 2 "," Placa 3 ",NULL};

int i;

270

if(config_hard.numero_placas= = 1) return(l);

else if(config_hard.numero_placas==2) {

INHIBIRl.C 11

i=wpickstr(12,25,14,55,1 ,YELLOW | _BLUE,LGREY | _BLUE, YELLOW | _M

AGENTA,dos,0,pon_title);

if(i!=-l) return(i+l);

}275 else if(config_hard.numero_placas = =3) {

i= wpickstr(12,20,14,60,1, YELLOW | _BLUE,LGREY | _BLUE, YELLOW | _M

AGENTA,tres,0,pon_titie);

if(i! = -l) return(i+1);

}280 else exit(l);

}j*__________ *¡

static void pon_title(void)

{285 wshadow(LGRE Y | _BLACK);

wtitleC [ Elige Placa ] ”,TCENTER,LGREY|_BLUE);

}

INHIBIR2.C

#include

#include

#include

#include

#include

#include

#include

#include

#include

<bios.h>

<stdio.h>

< conio.h >

<stdlib.h>

<string.h>

"cxlwin.h"

"cxlstr.h"

"cxlkey.h"

"cxldef.h"

10 #define ACTIVA 01

^define PARO 02

^define PUERTO_300 (0x4010x0310x0010x00)

#define DATA_READY 0x100

#define CRet OxOD

15 void enviar(char *cadena);

char *recibir(int i);

static void input_dia(void);

static void input_noche(void);

static int elegir_dia_noche(void);

20 static void pon_title_2(void);

void puerto_serie(void);

int elegir_placa(void);

char *instruccion2="$mem

char direccion2[4];

25 char *cadena2:

INHTOIR2.C

char cadena_aux2[2];

char *aux3;

char *aux_activ="

char *aux_paro="

30 char *ENT_DIA[16];

char *ENT_NOCHE[16];

int num aux2;

ACTIVA";

PARO";

void inhibir2(void)

{35 in tjjj;

int elección, eleccion_2;

setkbloop(NULL);

bioscom(0, PUERTO_300,0);

elección= elegir_placa();

40 eleccion_2= elegir_dia_noche();

espere_un_momento();

limpiar_puerto();¡ * ------------------------------------------------------------------------------------------------- * /

/*-------------- inicialización de las entradas---------------------*/45 /*------------------------------------------------------------------ */

jj=0;for(j=0;j<=15;j + +) {

if((ENT_DIA[j] = malloc(sizeof(char)*30)) = =NULL) {

printf("error al reservar espacio");

50 exit(l);

}

INHIBIR2.C

}for(j=0;j< =15;j + +) {

if((ENT_NOCHE[j] = malloc(sizeof(char)*30)) = =NULL) {

55 printf("error al reservar espacio");

exit(l);

}

}if((iiistruccion2 = malloc(sizeof(char)*5)) = =NULL) {

60 printf("error al reservar espacio");

exit(l);

}/******** todavía no esta preparado **********************/

if(eleccion= = l) {

65 instrucción!="$mem ";

}else if(elección = =2) {

instruccion2 = "%mem ";

}70 else if(eleccion==3) {

instrucción!="&mem ";

}else exit(l);

75 if(eleccion_!==0) {

for(j=0;j< =3;j + +) {

instrucción!= strleft(instruccion!, 5);

itoa((13296+((4*j))),dirección!, 16); /*1!!88 es 3000 en Hexedec*/

(direccion![3]) = toupper(direccion![3]);

INHIBIR2.C

80

85

90

95

100

105

(direccion2[2]) = toupper(direccion2[2]);

strcat(instruccion2, direccion2);

enviar(instruccion2);

cadena2 =recib ir(l);

delay_(9);

fo r0 j= 0 ;jj< = 3 ;jj + + ) {

num_aux2 = jj+ (4*j);

if((aux3 = malloc(sizeof(char)*18)) = =NU LL) {

printf("error al reservar espacio");

exit(l);

}

aux3 = cadena2+ 3 *jj;

aux3= strleft(aux3,2);

if(atoi(aux3) = = ACTIVA) {

strcpy (aux3, aux_activ);

}

else {

strcpy(aux3 ,aux_paro);

}

itoa(num_aux2+1 ,cadena_aux2,10);

strcpy(ENT_DIA[num_aux2],"ENTRADA ");

ENT_DIA[num_aux2]=strcat(ENT_DIA[num_aux2],cadena_aux2);

if((num _aux2+1) < 10) {

strins(aux3, ENT_DI A[num_aux2], 9);

}

else if((num _aux2+ l)> =10) {

strins(aux3 + 1 ,ENT_DIA[num_aux2], 10);

}

free(aux3);

INHTBTR2.C

}

lio

115

120

125

130

135

}

wcloseO;

wfillch(’\260’);

wopen(24,0,24,79,5,0,LG REY | _RED);

wcenters(0,LGREY|_RED, "Pantalla de Activación/Paro");

wrjusts(0,78,LGREY | _RED, ”[Alt-X] =Salir");

wprints(0,2,LGREY ¡ _RED, "[Esc] = Anterior");

wfillch(’ ’);

wopen(5,25,22,55,1,LGREY | _BLUE,_BLUE);

wshadow(LGREY | _BLACK);

wtitleC [ MODO DIA] ”,TCENTER,LGREY|_BLUE);

wmenubegcO;

wmenuitem(0,0, ENT_D IA [0], 0 ,2 8,0, input_dia, 0,0);

wmenu item( 1,0, ENT_D IA[ 1 ], 0 ,29,0 , input_dia, 0,0);

wmenuitem(2,0, ENT_DI A[2] ,0 ,30,0 , input_dia, 0,0);

wmenuitem(3,0, ENT_D IA[3],0 ,31,0 , input_dia ,0,0);

wmenuitem(4,0, ENT_D IA [4],0,32,0, input_dia ,0,0);

wmenuitem(5,0,ENT_DIA[5] ,0,33,0,input_dia,0,0);

wmenuitem(6,0, ENT_DIA[6] ,0 ,34,0 , input_dia, 0,0);

wmenuitem(7,0, ENT_DI A[7] ,0 ,35 ,0 , input_dia, 0,0);

wmenuitem(8,0, ENT_DI A[8] ,0 ,36,0 , input_dia, 0,0);

wmenuitem(9,0, ENT_DI A[9] ,0 ,37,0 , input_dia, 0,0);

wmenuitem( 10,0, ENT_DI A[ 10], 0,3 8,0, input_dia, 0,0);

wmenuitem( 11,0, ENT_DI A[ 11 ], 0,3 9,0, input_dia, 0,0);

wmenuitem( 12,0, ENT_D I A[ 12], 0 ,40 ,0 , input_dia, 0,0);

wmenuitem( 13,0, ENT_D IA [ 13 ], 0 ,41 ,0 , input_dia, 0,0);

wmenuitem( 14,0, ENT_DIA [14],0,42,0, input_dia ,0,0);

wmenuitem(15,0,ENT_DIA[15],0,43,0,input_dia,0,0);

INHIBIR2.C

140

145

wmenuend(28,M_VERT,0,1, YELLOW | _BLUE,0,0, YELLOW | _MAGENTA);

wshadow(LGREY | _BLACK);

if(wmenuget() = = - l ) {

forC =0;j< =15;j + + ) free(ENT_DIA[j]);

for(j =0;j < = 15;j + + ) free(ENT_NOCHE[j]);

wcloseQ;

wcloseQ;

limpiar_puerto();

setkbloop(puerto_serie);

return;

}

}

150 else if(eleccion_2= = l) {

for(j= 0 ;j< =3;j + + ) {

instruccion2= strleft(instruccion2,5);

itoa((13312+((4*j))),direccion2,16); /*12288 es 3000 en Hexedec*/

(direccion2[3]) = toupper(direccion2[3]);

155 strcat(instruccion2, direccion2);

enviar (instruccion2);

cadena2=recibir(l);

delay_(9);

for(jj= 0 ;jj< = 3;jj + + ) {

160 num _aux2=jj+(4*j);

if((aux3 = malloc(sizeof(char)*18)) = =NULL) {

printf("error al reservar espacio");

exit(l);

}

165 aux3= cadena2+ 3 *jj;

INHIBIR2.C

170

aux3= strleft(aux3,2);

if(atoi(aux3) = = ACTIVA) {

strcpy(aux3 ,aux_activ);

}

else if(atoi(aux3) = =PARO) {

strcpy (aux3, aux_paro);

}

itoa(num_aux2+ 1 , cadena_aux2,10);

strcpy(ENT_NOCHE[num_aux2],"ENTRADA ");

175 ENT_NOCHE[num_aux2]= strcat(ENT_NOCHE[num_aux2] ,cadena_aux2);

if((num _aux2+1) < 10) {

strins(aux3, ENT_NOCHE[num_aux2], 9);

}

else if((num _aux2+ l)> = 10) {

180 strins(aux3 + 1 ,ENT_NOCHE[num_aux2], 10);

}

free(aux3);

}

185

190

}

wcloseO;

wfillch(’\260 ’);

wopen(24,0,24,79,5,0,LG REY | _RED);

wcenters(0,LGREY|_RED,"Pantalla de Activación/Paro");

wrjusts(0,78,LGREY | _R ED ," [Alt-X] =Salir");

wprints(0,2,LGREY | _RED, "[Esc] = Anterior");

wfillchC ’);

wopen(5,25,22,55,1,LGREY | _BLUE,_BLUE);

wshadow(LGREY | _BLACK);

INHIBIR2.C

195

200

205

210

wtitleC [ MODO NOCHE ] ",TCENTER,LGREY|_BLUE);

wmenubegcO;

wmenuitem(0,0, ENT_NOCHE[0] ,0 ,44 ,0 , input_noche ,0,0);

wmenuitem( 1,0, ENT_NOCHE[ 1 ], 0 ,45,0 , input_noche ,0,0);

wmenuitem(2,0, ENT_N OCHE [2], 0 ,46,0 , input_noche ,0,0);

wmenuitem(3,0, ENT_N OCHE[3],0 ,47,0 , input_noche ,0,0);

wmenuitem(4,0,ENT_NOCHE[4],0,48,0,input_noche,0,0);

wmenuitem(5,0, ENT_N OCHE[5],0,49,0, input_noche ,0,0);

wmenuitem(6,0, ENT_N OCHE [6], 0 ,50,0 , input_noche ,0,0);

wmenuitem(7,0,ENT_NOCHE[7],0,51,0,input_noche,0,0);

wmenuitem(8,0,ENT_NOCHE[8],0,52,0,input_noche,0,0);

wmenuitem(9,0, ENT_NOCHE[9] ,0 ,53,0 , input_noche ,0,0);

wmenuitem( 10,0, ENT_NOC HE [ 10], 0 ,54 ,0 , input_noche ,0,0);

wmenuitem(l 1,0,ENT_NOCHE[1 l],0,55,0,input_noche,0,0);

wmenuitem( 12,0, ENT_NOC HE [12],0,56,0, input_noche ,0,0);

wmenuitem(13,0,ENT_NOCHE[13],0,57,0,input_noche,0,0);

wmenuitem(14,0,ENT_NOCHE[14],0,58,0,input_noche,0,0);

wmenuitem(15,0,ENT_NOCHE[15],0 ,5 9 ,0 ,input_noche,0,0);

wmenuend(44,M_VERT,0,1, YELLOW i _BLUE,0,0, YELLOW | _MAGENTA);

wshadow(LGREY | _BLACK);

if(wmenuget() = = - l ) {

215 for(j =0;j < = 15;j + + ) free(ENT_DIA[j]);

for(j =0;j < = 15;j + + ) free(ENT_NOCHE[j]);

wcloseO;

wcloseO;

limpiar_puerto();

220 setkbloop(puerto_serie);

return;

INHIBIR2.C

}

else exit(l);

225 }

I* . *1

static void input_dia(void)

{

struct _item_t *citem;

230 char *str,*inhibi,*auxl,*cadena_auxl;

int i;

citem = wmenuicurr 0;

str=citem ->str;

inhibí= str+ strlen(str)-15;

235 i = (citem- > tagid)-28;

if(!strcmp(inhibi," ACTIVA")) {

instruccion2= strleft(instruccion2,5);

itoa((13296 -f i) , direccion2,16);

(direccion2[2]) = toupper(direccion2[2]);

240 (direccion2[l]) =toupper(direccion2[l]);

strcat(instruccion2, direccion2);

strcat(instruccion2," ,02");

enviar(instruccioD2);

delay_(15);

245 enviar("$reset sistema");

auxl = " PARO";

itoa(i-t-1 ,cadena_auxl ,10);

INHIBIR2.C 10

250

255

strcpy(ENT_DIA[i],"ENTRADA ");

ENT_DIA[i] = strcat(ENT_DIA[i] ,cadena_auxl);

i f ( i+ K 1 0 ) {

strins (aux 1, ENT_DI A [i], 9);

}

else i f ( i+ l > =10) {

a u x l= au x l + l;

strins(aux 1, ENT_DI A [i], 10);

}

}

else if(!strcmp(inhibi," PARO")) {

instruccion2= strleft(instruccion2,5);

260 itoa(( 13296+ i) , direccion2,16);

(direccion2[2]) = toupper(direccion2[2]);

(direccion2[ 1 ]) = toupper(direccion2[ 1 ]);

strcat(instruccion2,direccion2);

strcat(instruccion2," ,01");

265 enviar(instruccion2);

delay_(15);

enviare$reset sistema");

270

275

auxl = " ACTIVA";

ito a (i+ 1 ,cadena_auxl ,10);

strcpy(ENT_DIA[i],"ENTRADA ");

ENT_DIA[i] = strcat(ENT_DI A [i], cadena_aux 1);

i f ( i+ K 1 0 ) {

strins(auxl ,ENT_DIA[i],9);

}

else if ( i+ l > =10) {

INHIBIR2.C 11

a u x l= a u x l + l;

strins(auxl,ENT_DIA[i], 10);

}

}

280 citem- > redisp = 1;

}/*--------------------------------------------------------------------

/*--------------------------------------------------------------------

static void input_noche(void)

285 {

struct _item_t *citem;

char *str,*inhibi,*auxl,*cadena_auxl;

int i;

- * /

- * /

citem = wmenuicurr 0;

290 str= citem- > str;

inhibi= str-h strlen(str)-15;

i = (citem- > tagid)-44;

if(!strcmp(inhibi," ACTIVADA")) {

instruccion2= strleft(instruccion2,5);

295 itoa(( 13312 -I- i) , direccion2,16);

(direccion2[2]) = toupper(direccion2[2]);

(direccion2 [ 1 ]) = toupper (direccion2 [ 1 ]);

strcat(instruccion2, direccion2);

strcat(instruccion2,", 02");

300 enviar(instruccion2);

delay_(9);

enviar("$reset sistema");

TNfíTBTRl.r 12

305

310

auxl = " PARO";

itoa(i + 1 , cadena_aux 1,10);

strcpy(ENT_NOCHE[i],"ENTRADA ");

ENT_NOCHE[i]=strcat(ENT_NOCHE[i],cadena_auxl);

i f ( i+ K 1 0 ) {

strins(auxl ,ENT_NOCHE[i],9);

}

else i f ( i + l > =10) {

au x l= a u x l + l;

strins(auxl ,ENT_NOCHE[i], 10);

}

}

315 else if(!strcmp(inhibi," PARO")) {

instruccion2= strleft(instruccion2,5);

itoa((13312+i),dirección!, 16);

(direccion2[2])= toupper(direccion2[2]);

(direccion2[l])=toupper(direccion2[l]);

320 strcat(instruccion2, dirección!);

strcat(instruccion2," ,01");

enviar(instruccion2);

delay_(9);

enviare$reset sistema");

325 auxl = " ACTIVADA";

itoa(i + 1 ,cadena_auxl ,10);

strcpy(ENT_NOCHE[i],"ENTRADA ");

INHIBIR2.C 13

335

}

else i f ( i+ l > = 10) {

auxl = auxl + l;

strins(auxl ,ENT_NOCHE[í], 10);

}

}

citem ->redisp = l;

}j * _____________________________________________________ * !

340 static int elegir_dia_noche(void)

{

char *dia_noche[] = {" DIA "," NOCHE " ,NULL};

int i;

i = w pickstr(12,25,14,55,1, YELLOW | _BLUE,LGREY | _BLUE, YELLOW | _M

345 AGENT A, dia_noche, 0 ,pon_title_2);

if(i! = - l ) return(i);

}/ * ___________________ * j

static void pon_title_2(void)

350 {

wshadow(LGREY | _BLACK);

wtitleC [ Elige Modo ] ”,TCENTER,LGREY|_BLUE);

}

XFICH.C

#include < std io .h >

#include < co n io .h >

#include < str ing .h>

#include < std lib .h >

5 #include < ctype.h >

^*= |í!lí!|c ******!|c5 i<5 |í:(!5 |:**!|cs(í*:(<****slí****!|< !|í**j|íJ lí*5 |e**sf:********* !

/**** PROTOTIPOS DE LAS FUNCIONES *************/

^*>|cs|<stí5(:5l:**s|c!(cs(:5t:s|í!|c:(c*5|í*s|c*j|!s|í:lc*5|c***5|í5l!üís|<j|í;lc*slc************** j

static void bucle_lectura_fichero(void);

10 static void disparo_inmediato(void);

static void reposicion_inmediata(void);

static void cambio_modo(void);

static void inhibir_entrada(void);

static void habilitar_entrada(void);

15 static void fin_fichero(void);

static void comprobar_fin_linea(char *fin_linea);

static void comprobar_in(char *in);

static void comprobar_out(char *out);

static void comprobar_placa(char *placa_numero);

20 static void comprobar_modo(char *nuevo_modo);

static int damejplaca_in(char *in);

static int dame_numero_salida(char *placa_numero);

static int dame_numero_in(char *in);

/ ^ «lL# ^ ^ «X» Sa %1a Ía «L» 1a 1a •Ia 1a Sa *Sa %Sa Sa Sa Ia %1a ía %1a ía ^ // ^ ^ ^ ^ |v 3Jv 5(5 5J5 5|C 5|C 5JC 5|C 5|? 5|C 5|% ?|C ?|C íJ5 5J% 5v /

25 / * * * * * * VARIABLES GLOBALES Y ESTRUCTURAS * * * * * * * * /

XFICH.C

FILE *puntero_fich2;

extern struct {

unsigned int numero_placas;

30 unsigned int velocidad_baudios;

unsigned int tiempo_polling;

char nombre_fichero[10];

char direccion[30];

char raton[3];

35 } config_hard;

struct {

char in[16][6][7];

} config_soft[3];

int ultima_instruccion[3][16];

40

/****** XFICH : lee el fichero de configuración soft * * * * * * * * * * /

^ ****!|C ****S Í<S Í« l<S Í«S Í«5|<5l!S |S *5 |<S |< !|í********5 |!***S l<****!!í*******!|<S |«***= l« *************j

void xfich(void)

{

45 if((puntero_fich2= malloc(sizeof(FILE))) = = NULL) {

printf("error al reservar espacio");

exit(l);

}

if((puntero_fich2=fopen(config_hard.nombre_fichero, "rt")) = =NU LL) {

50 printfC'NO SE PUEDE ABRIR EL FICHERO");

exit(l);

XFICH.C

}

bucle_lectura_fichero();

fclose(puntero_fich2);

55 /je************ libefo memoria

free(puntero_fich2);

}

s i: * * * *!|t*j|í*!|í:|t**s|í sis* S|t!|t=|t!|C!|C*5|e5|CSlí5|C*S(!:(!S|t***********!|==l«*SÍÍ*!|< *=!<** * * * * * * * !

/**** bucle_lectura_fichero; se encarga de reconocer ****/

60 /**** leer, y cargar la estructura con los datos del ****/

/**** fichero. ****/y* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * |

static void bucle_lectura_fichero(void)

{

65 char instruccion_l[2];

int i,j;

70

for(i=0; i < = 3 ; i + + ) {

for(j=0; j < = 1 6 ; j + + ) {

ultima_instruccion[i][j] =0;

}

}

75

for(;;) {

fscanf(puntero_fich2," %s",instruccion_l);

if(!strcmp(instruccion_l, "DI")) {

disparo_inmediato();

}

else if(!strcmp(instruccion_l,"RI")) {

XFICH.C

reposicion_inmediata();

}

80 else if(!strcmp(instruccion_l,"CM")) {

cambio_modo();

}

eise if(!strcmp(instruccion_l,"IE")) {

inhibir_entrada();

85 }

else if(!strcmp(instruccion_l,"HE")) {

habilitar_entrada();

}

else if(!strcmp(instruccion_l,"FF")) {

90 fin_fichero();

break;

}

else {

clrscrQ;

95 p r i n t f C ' F I C H E R O D E C O N F I G U R A C I O N

INCORRECTO");

exit(l);

}

}

100 }/ ^ ^ «1# «1 ^ «1# %ía %Sa %Ía %Ía %Ía %Ía %L» ^ ^ ^ // ^ ^ íjv 35 3|v 5JÍ 3|C 5JC 3|C 5|v 5|C 3|C 3JC 3JC 3|t 3JC 3|C ?¡5 3Jv 3|? 3|v JJv #|v #Jv ^ ^ ^ i

/**** reposición inmediata: carga sobre la estructura ***/

/**** config_soft la instrucción a ejecutar *****/

105 static void reposicion_inmediata(void)

XFICH.C

lio

char *in;

char *placa_numero,*fin_linea;

int placa_entrada,numero_entrada;

int *pin, *pplaca_numero, *pfin_linea;

char mstruccion[4] = "RI";

/**** reservo espacio para punteros *pin,*pplaca_numero,*pfin_linea ****/

if((in=malloc(sizeof(char)*5)) = =NULL) {

printf("error al resevar espacio en reposicion_inmediata");

115 exit(l);

}

if((placa_numero= malloc(sizeof(char))) = = NULL) {

printf("error al resevar espacio en reposicion_inmediata");

exit(l);

120 }if((fin_linea=malloc(sizeof(char))) = =NULL) {

printf("error al resevar espacio en reposicion_inmediata");

exit(l);

}

125 /********** jgQ jQg datos del fichero para esta instrucción * * * * * * * * * * /

fscanf(puntero_fich2," %s" ,in);

fscanf(puntero_fich2," %s",placa_numero);

fscanf(puntero_fich2," %s" ,fin_linea);

130 /******** ijggQ igg comprobaciones de formato *************/

XFICH.C

comprobar_in(in);

comprobar_placa(placa_numero);

comprobar_fin_lmea(fin_linea);

/******* desgloso la información para emplearla *******/

135 placa_entrada= dame_placa_in(in);

numero_entrada= dame_numero_in(in);

strcat(instruccion,placa_numero);

strcpy (config_soft[placa_entrada]. in[numero_entrada] [ultima_instruccion[placa_

entrada] [numero_entrada]], instrucción);

140 strcat(config_soft[placa_entrada]. in[numero_entrada] [ultima_instruccion[placa_e

ntrada] [numero_entrada]], ’\0 ’) ;

+ + ultima_instruccion[placa_entrada] [numero_entrada];

if(ultima_instruccion[placa_entrada][numero_entrada] > 6 ) {

exit(l);

145 }

free(in);

free(placa_numero);

free(fin_linea);

}

/***** disparo_inmediato ; carga la instrucción de disparo *****/

/***** inmediato sobre la estructura config_soft * * * * * /

XFICH.C

static void disparo_inmediato(void)

155 {

char *in,*out;

char *fin_linea;

int placa_entrada,numero_entrada;

int *pin,*pout,*pfin_linea;

160 char instruccion[7] = "DI";

/**** reservo espacio para los punteros in,out y fin_linea ****/

if((in=malloc(sizeof(char)*5)) = =NU LL) {

printf("error al resevar espacio en disparo_inmediato");

exit(l);

165 }

if((out= malloc(sizeof(char) *5)) = = NULL) {

printf("error al resevar espacio en disparo_inmediato");

exit(l);

}

170 if((fin_linea= malloc(sizeof(char))) = = NULL) {

printf("error al resevar espacio en disparo_inmediato");

exit(l);

}

/**** leo los datos del fichero ****/

175 fscanf(puntero_fich2," % s " ,out);

fscanf(puntero_fich2," % s ", in);

fscanf(puntero_fich2," % s ", fin_linea);

/:(:*** comprobamos los formatos *****/

XFICH.C

180

comprobar_in(in);

comprobar_out(out);

comprobar_fin_linea(fiii_linea);

/**** Desgloso la información *****/

185

placa_entrada= dame_placa_in(in);

numero_entrada= dame_numero_in(in);

strcat(instruccion, out);

strcpy (config_soft[placa_entrada]. in[numero_entrada] [ultima_instruccion[placa_

entrada] [numero_entrada]], instrucción);

strcat(config_soft[placa_entrada]. in[numero_entrada] [uitima_instruccion[placa_e

ntrada][numero_entrada]], ’\0 ’);

190 + + ultima_instruccion[placa_entrada] [numero_entrada];

if(ultima_instruccion[placa_entrada][numero_entrada] > 6) {

exit(l);

}

free(in);

195 free(out);

free(fin_linea);

}

/**** comprobar_in: comprueba el formato de una entrada A .B *****/

static void comprobar_in(char *in)

{

XFICH.C

205

if(!((atoi(in+1) > = l)& & (atoi(in+1) < =4))) {

exit(l);

}

if(!((ato i(in+3)> = l)& & (ato i(in + 3)< =16))) {

exit(l);

}

if((*(in+2))! = ’. ’) exit(l);

210 ! * * * * * FORMATO CORRECTO !! ********=k*=k*/

}

^ J(! * * * * * * * * 5|£ * * * * * * * * * * !|<S|CJÍÍ !|: * * sf! * * J|C S|S * * * J|£ * SlíSlí* SH * * * SN * !|: * !|í :|í * * * * * * * * * * * /

/**** comprobar_placa: COMPRUEBA QUE 1 < =placa_numero< = 4******y

215 z******************************************»!!**********************/

static void comprobar_placa(char *placa_numero)

{

if(!((atoi(placa_numero) > = l)&&(atoi(placa_numero) < = 16))) {

exit(l);

220 }

/ *

}

* * * * FORMATO CORRECTO !! * * * * * * * * * * * * !

^*****************************************************************/

/***** comprobar_fin_linea; verifica que char= = *******/

225 /**********************************¡i«*>i<****************************/

static void comprobar_fin_linea(char *fin_linea)

í

XFICH.C 10

if(*fin_linea! = exit(l);

^üísK*** P O R M A T O C O R R E C T O !! * * * * * * * * * * * * /

230 }

/***** dame_placa_in: sacamos el numero de placa del fichero ****/

static int dame_placa_in(char *in)

235 {

return ato i(in+ l);

}y * :1c* ** **> !< *S|!*5Í<S|!!t<5|<5|S**í|!5l!S|<5|«!(<**5K***5|!!|í**>l<S|í * * * * * * * * * * * * * * * * * * * * > ! < * * * * * * * * * /

/***** dame_numero_salida: sacamos el numero de placa de salida */

2 4 0 ^ í*í*5 !«^**> Í<5fí^***5 fí*^ !!«***^5!f5 |C =ÍC **^***5 ÍÍ5 |í> !í*^5Í<5 ÍÍ^ *5 Íí*********^******í'***® f=**í^ **** ¡

Static int dame_numero_salida(char *placa_numero)

{

return atoi(placa_numero);

}

245 /*****************************************************************/

/***** dame_numero_in; sacamos el numero de entrada a la placa***/ ^*****************************************************************/

static int dame_numero_in(char *in)

{

250 return atoi(in+3);

}

^*****************************************************************/

XFICH.C 11

/**** comprobar_out: comprueba el formato de una salida A.B *****// ^ í¡t 3JC 5JC 5J6 5|C S|C 3|C 3|C 9|C 9|C Sjfi ?|5 5|C ?|5 JjC 5|C ^ 5|C 5J5 5Jv J|Q 5|C 5J? 5|? 5Jv ?J5 ?J5 3Jv 5Jv 5|C 5Jv ?|C /

255 static void comprobar_out(char *out)

{

if(!((atoi(out+1) > = !)& & (atoi(out+1) < =4))) {

exit(l);

}

260 if(!((atoi(out+3) > = !)& &(atoi(out+3) < = 16))) {

exit(l);

}

if((*(out+2))! = ’. ’) exit(l);

ysi<:(!5|!5|csic

265 }

FORMATO CORRECTO !! ************/

^ :ie ^ ^ ^ íl< :i< sfí ^ ^ ^ ^ ^ ^ ^ ^ :jc : l í ^ ^ :i « :f í s|e 5|< 5|í 5|í :|c ^ 5|í : ( í :íe H< * s!c sf! í|e ^ 5|í ^ He ¡ í : ¡ l í * ¡le 5)c ^ * 5|í * 5i< 5í< 5|« 5í« * ^ * * * *

/***** fin_fichero: si se llega al final de fichero de *******/

/***** configuración, se acaba el programa. *******// ef> »>* *1» ..t. ..t» »<. /i ?|? 5|5 5|5 5|C 3jC 3jC 3JC 3jC 5jv 5^ 5^ PjC 5JC 9|C 5(5 5|5 5J5 5|5 5|5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5^ 5(5 5(5 5(5 ^5 ^5 ^5 /

270 static void fin_fichero(void)

{

}i %í *1 *f* *1. 1. . 1- -1. . r. - I . .1. 1. . .1.. // ^P ^P ^p ^p ^p ^5 ^5 5p ^p 5p ^p ^5 ^p 5p ^p ^5 ^5 ^p ^5 #p ^5 ^5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5(5 5p 5(5 5(5 ^5 ^p ^p 5p 5p ^p ^p 5p /

/**** cambio_modo: carga sobre la estructura ***/

275 /**** config_soft la instrucción a ejecutar de cambio * * * * /

/**** de modo * * * * ¡

static void cambio_modo(void)

{

XFICH.C 12

280 char *in;

char *nuevo_modo,*fin_linea,*placa_numero;

int placa_entrada, numero_entrada;

char instruccion[4] = "CM";

/**** reservo espacio para punteros *pin,*pplaca_numero,*pfin_linea ****/

285 if((in= malloc(sizeof(char) *5)) = = NULL) {

printf("error al resevar espacio en reposicion_inmediata");

exit(l);

}

if((nuevo_modo=malloc(sizeof(char)*4)) = =NU LL) {

290 printf("error al resevar espacio en reposicion_inmediata");

exit(l);

}

if((fin_linea=malloc(sizeof(char))) = =NULL) {

printf("error al resevar espacio en reposicion_inmediata");

295 exit(l);

}

if((placa_numero= malloc(sizeof(char))) = = NULL) {

printfCerror al resevar espacio en reposicion_inmediata");

exit(l);

300 }

yf*>K****=K*** jgQ jQg datos del fichero para esta instrucción **********/

fscanf(puntero_fich2," % s ", in);

fscanf(puntero_fich2," %s" ,placa_numero);

fscanf(puntero_fich2," %s" ,nuevo_modo);

XFICH.C 13

305 fscanf(puntero_fich2," % s ", fin_linea);

/******** hago las comprobaciones de formato *************/

310

comprobar_in(in);

comprobar_placa(placa_numero);

comprobar_modo(nuevo_modo);

comprobar_fin_linea(fin_linea);

/******* desgloso la información para emplearla *******/

placa_entrada= dame_placa_in(in);

numero_entrada= dame_numero_in(in);

315 strcat(instruccion,placa_numero);

strcat(instruccion,nuevo_modo);

strcpy (config_soft[placa_entrada]. in[numero_entrada] [ultima_instruccion[placa_

entrada] [numero_entrada]], instrucción);

strcat(config_soft[placa_entrada], in[numero_entrada] [ultima_instruccion[placa_e

320 ntrada][numero_entrada]], ’\0 ’) ;

+ +ultima_instruccion[placa_entrada] [numero_entrada];

if(ultima_instruccion[placa_entrada][numero_entrada] > 6 ) {

exit(l);

}

325 free(in);

free(nuevo_modo);

XFICH.C 14

free(fin_linea);

}^ /*\ i «1 «lL *X «L# ^ J> <1* «I> »í* *L» I> l> kKi ¿0 ¡0 0±0 ¡0 ¡0 «Itf Í0 ml0 ly £0 «ily «fy «X> /-A -A l I t ^ ^ ^ Jv ?|? yJ5 ?J? íj í 9|C ?|v Vfi 9|% ?|? ?|C ?|% ?|C 5|C ?|% 5 |í ? |í ?p 5J» 5|5 yJ5 5J5 5|h 5J5 5J5 yj> 5J> 3|% ^ 5¡% J|% ^ /

/***** comprobar_modo: comprueba que el modo nuevo esS(t**s|c*y

/=N=«=K** REP,DIA o NOC. *****/

335 static void comprobar_modo(char *nuevo_modo)

{

if(!strcmp(nuevo_modo, "NOC")) return;

else if(!strcmp(nuevo_modo,"REP")) return;

else if(!strcmp(nuevo_modo,"DIA")) return;

340 else exit(l);

}t ly |y síy »ly y jy »ly »fy »Iy kly &ly «iy — —f. «.1 *1- *l-a *-l- ly -1 - *.1* ■■< J %fy «fy %fy «ly «Jy *fy *Iy »fy y £0 // ^ ^ 9 9|( 9|% 9|? 9|v 9|5 9|C 9|C 9(5 y ^ ^ /

/**** inhibir_entrada: carga sobre la estructura ***/

/ * * * * config_soft la instrucción a ejecutar de inhibir ****/

345 /**** una entrada * * * * /

j |y |y s|y *||y »|y y »|y yjy y jy |y |y »| |y |y |y |y |y »|y |y |y y »jy j

static void inhibir_entrada(void)

{

char *inl,*in2;

350 char *fin_linea;

int placa_entrada,numero_entrada;

char instruccion[4];

/**** reservo espacio para punteros *pin,*pplaca_numero,*pfin_linea ****/

XFICH.C 15

355

360

365

if((inl =malloc(sizeof(char)*5)) = =NULL) {

printf("error al resevar espacio en reposicion_inmediata");

exit(l);

}

if((in2=malloc(sizeof(char)*5)) = =NULL) {

printf("error al resevar espacio en reposicion_inmediata");

exit(l);

}

if((fin_linea=malloc(sizeof(cliar))) = =NU LL) {

printf("error al resevar espacio en reposicion_inmediata");

exit(l);

}

/********** leo los datos del fichero para esta instrucción ^

370

fscanf(puntero_fich2," %s" ,inl);

fscanf(puntero_fich2," % s ", in2);

fscanf(puntero_fich2," %s" ,fin_linea);

/******** hago las comprobaciones de formato *************/

comprobar_in(in 1);

comprobar_in(in2);

comprobar_fin_linea(fin_linea);

375 /******* desgloso la información para emplearla * * * * * * * ¡

placa_entrada= dame_placa_in(in 1);

XFICH.C 16

strcpy(instruccion, "lE");

strcat(instruccion, in2);

380 strcpy (config_soft[placa_entrada]. in[numero_entrada] [ultima_instruccion[placa_

entrada] [numero_entrada]], instrucción);

strcat(config_soft[placa_entrada]. in[numero_entrada] [ultima_instruccion[placa_e

ntrada] [numero_entrada]], ’\0 ’) ;

+ + ultima_instruccion[placa_entrada] [numero_entrada];

if(ultima_instruccion[placa_entrada][numero_entrada] > 6) {

exit(l);

}

free(inl);

free(in2);

free(fin_linea);

385

390

}

/**** habilitar_entrada: carga sobre la estructura ***/

/ * * * * config_soft la instrucción a ejecutar de inhibir ****/

395 / * * * * una entrada * * * * /

y si<5l<s|<:ií:íe :]c:]¿:|í:|eHí* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /

static void habilitar_entrada(void)

{

char *inl,*in2;

400 char *fin_linea;

int placa_entrada,numero_entrada;

char instruccion[4] = "HE";

XFICH.C 17

/**** reservo espacio para punteros *pin,*pplaca_numero,*pfin_linea ****/

405

410

415

if((inl =malloc(sizeof(char)*5)) = =NULL) {

printf("error al resevar espacio en reposicion_inmediata");

exit(l);

}

if((in2= malloc(sizeof(char) *5)) = = NULL) {

printf("error al resevar espacio en reposicion_inmediata");

exit(l);

}

if((fin_linea=malloc(sizeof(char))) = =NU LL) {

printf("error al resevar espacio en reposicion_inmediata");

exit(l);

}

420

/********** leo los datos del fichero para esta instrucción **********/

fscanf(puntero_fich2," %s",inl);

fscanf(puntero_fich2," % s ", in2);

fscanf(puntero_fich2," %s",fin_linea);

/******** hago las comprobaciones de formato *************/

comprobar_in(inl);

comprobar_in(in2);

comprobar_fin_linea(fin_linea);

425 / * * * * * * * desgloso la información para emplearla *******/

XFICH.C 18

placa_entrada= dame_placa_in(in 1);

numero_entrada=dame_numero_in(inl);

strcat(instruccion, in2);

strcpy (config_soft[placa_entrada]. in[numero_entrada] [ultima_instruccion[placa_

430 entrada] [numero_entrada]], instrucción);

strcat(config_soft[placa_entrada]. in[numero_entrada] [ultima_instruccion[placa_e

ntrada] [numero_entrada]], ’\0 ’) ;

+ + ultima_instruccion[placa_entrada] [numero_entrada];

if(ultima_instruccion[placa_entrada][numero_entrada] > 6 ) {

435 exit(l);

}

free(inl);

free(in2);

free(fin_linea);

440 }

REC03.C

y5|<S|!5|£5|í*5|í!|í:|<*5|í*5|C5|í*5|C*5|C5|í5|C**S|CS|<*^S|í^*S|í!|t5|íSl!****=(<5!CS|==l<*******************5|«*****/

/***** REC03.C 13/4/93 * * * * * * /

^5|C*5|<^!|S*S|«5|í!|<!|<*!|<S|«S|<!|í!Ít * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * = I < S Í < * * * * * * * *

/

5 #include

#include

#include

#include

#include

10 #include

#include

#include

#include

#include

< std io .h >

< co n io .h >

< b io s .h >

< std lib .h >

<string .h>

< ctyp e.h >

"cxldef.h"

"cxlstr.h"

"cxlvid.h"

"cxlkey.h"

15 #define PUERTO_300 (0x4010x0310x0010x00)

#define PUERTO_2400 (OxAO 10x0310x0010x00)

#define PUERTO_9600 (OxEO 10 x 0 3 10x0010x00)

#define DATA_READY 0x100

#define CRet OxOD

20 static void polling(void);

void enviar(char *cadena);

char *recibir(int i);

static void colocar_entradas(char *cadena);

static void colocar_salidas(char *cadena);

25 static void colocar_modo(char *cadena);

REC03.C

void recocoml(void);

void recocom2(void);

void recocom3(void);

void xfich(void);

30 static void salir_bucle(void);

void poner_hora(void);

/***** variables globales de este archivo ******/

char cadena_recibida[100];

char estado_entradas[] = "$dameestent";

35 char estado_salidas[] = "$dameestsal";

char modo[] = "$damemodo";

int bucle;

/ * variables globales externas * * * * * * * * * * * * * * * * * * * * * * * * * /

struct {

40 char est_in[17];

char est_out[33];

char est_modo;

} est_sist_real[2] ,est_sist_fin[2];

extern struct {

45 unsigned int numero_placas;

unsigned int velocidad_baudios;

unsigned int tiempo_polling;

char nombre_fichero[10];

char direccion[30];

REC03.C

50 char raton[3];

} config_hard;

extern struct {

char in[16][6][7];

} config_soft[3];

55 unsigned long ref=0;

/***** reco3: PROGRAMA PRINCIPAL DE ESTE ARCHIVO; trata des is * * * * * /

/***** reconocer las respuestas de la placa por polling ******/

60 /***** y rellenar la estructura estado_sist_real con * * * * * * /

/ * * * * * el estado real de cada una de la placas. ******/

/***** Esta 1 opción se realiza con una sola placa. ******/

void reco3(void)

65 {

/******** definición de variables ♦=(<**********/

int polling_time;

int ch;

/******** preparo pantalla y pido datos

70 setkbloop(poner_hora);

xfichQ;

bioscom(0,PUERTO_300,0);

polling_time= config_hard. tiempo_polling *18.2;

kbclearO;

75 bucle=0;

REC03.C

setonkey (Ox3FOO, salir_bucle, 0);

do {

if(tim er()>(ref+polling_tim e)) {

ref=timer();

80 pollingO;

recocomIO;

recocom3();

}

recocom2();

85 }while(! bucle);

wcloseQ;

p u llo ;

}

/ * -

90 static void polling(void)

{

char *respuesta_placa;

- * /

b ioscom(0, PUERTO_300,0);

enviar(estado_entradas);

95 respuestajplaca=recibir(0);

colocar_entradas(respuesta_placa);

enviar(estado_salidas);

respuesta_placa=recibir(0);

colocar_salidas(respuesta_placa);

100 enviar (modo);

respuesta_placa=recibir(0);

colocar_modo(respuesta_placa);

REC03.C

return;

}105 /*----------------------------------------------*/

void enviar(char *cadena)

{int i=0,kk;

bioscom(0,PUERTO_300,0);

110 bucle:

if(bioscom(3,0,0)&DATA_READY) {

kk= b ioscom(2,0,0);

delay jl);

goto bucle;

115 }

for(;;i++) {

if(cadena[i]! = ’\0’) bioscom(l,cadena[i],0);

else {

bioscom(l ,CRet,0);

120 break;

}

}

}j*______________________________

125 char *recibir(int i)

{register int j=0 ;

char *punt;

bioscom(0,PUERTO_300,0);

130 do {

if(bioscom(3,0,0)&DATA_READY) {

REC03.C

punt[j] =bioscom(2,0,0);

j+ + ;

}135 }while(punt[j-l]!=CRet);

switch(i) {

case 0;

punt= striinc(" " ,punt);

return (punt+1);

140 case 1:

return (punt+5);

case 2:

punt= strinc(" " ,punt);

return (punt+1);

145 }

return (0);

}/ * ------------------------------------------------------- * /

static void colocar_entradas(char *cadena)

150 {

int i;

for(i=0;i< = 15 ;i+ + ) {

if(cadena[i] = = ’A’) est_sist_real[0].est_in[i+1] = ’A’;

else if(cadena[i] = = ’R’) est_sist_real[0].est_in[i+1] = ’R’;

155 else if(cadena[i] = = ’M’) est_sist_real[0].est_in[i+l] = ’M’;

else if(cadena[i] = = ’*’) est_sist_real[0].est_in[i+l] = ’*’;

else if(cadena[i] = = ’!’) est_sist_real[0].est_in[i+!] = ’!’;

}

}

REC03.C

160 /*----------------------------------------------*!static void colocar_salidas(char *cadena)

{int i;

for(i=0;i< = 31 ;i+ + ) {

165 if(cadena[i] = = ’D’) est_sist_real[0].est_out[i+l] = ’D’;

else if(cadena[i] = = ’R’) est_sist_real[0].est_out[i+l] = ’R’;

else if(cadena[i] = = ’!’) est_sist_real[0].est_out[i+l] = ’l ’;

else if(cadena[i] = = ’*’) est_sist_real[0].est_out[i+l] = ’*’;

}170 }

I * . *1

static void colocar_modo(char *cadena)

{

if(striinc(" dia", cadena)! = NULL) est_sist_real [0]. est_modo= ’ D ’;

175 else if(striinc("noche",cadena)!=NULL) est_sist_real[0].est_modo=’N’;

e l s e i f ( s t r i i n c ( " r e p o s i c i ó n " , c a d e n a ) ! = N U L L )

est_sist_real[0]. est_modo = ’ R’;

else if(striinc("test",cadena)! =NULL) est_sist_real[0].est_modo = ’T’;

else {

180 printfC'ERROR EN MODO");

}

}I*_________________________________*/

static void salir_bucle(void)

185 {

bucle=l;

8REC03.C

RECOCOMl.C

j |> j|* 1* 1» «1 i| j

/****** RECOCOMl.C 13/4/935|<5|!!|í!|<S|SS|CS|í/ %1» •i «L# «1# «1# ly «Itf %¡ ■*J »-. »!-. ..*- ..*- —* — —>-. •Sa // *T *1% ^ ^ ^ y j^ 5|t 5|í yjfi y ^ y ^ y ^ ^ ^ /

#include <stdio.h>

#include <conio.h>

#include <bios.h>

#include <stdlib.h>

#include <string.h>

10 extern struct {

char est_in[17];

char est_out[33];

char est_modo;

} est_sist_real[2] ,est_sist_fin[2];

15 extern struct {

char in[16][6][7];

} config_soft[3];

y ^ : l< * * * * * s i c 5 ( ! * * * * * 5 |í* * 5 |í s | í s |e 5 |í ! | í* ! ( : ! |e = |! = ! c = t :* * * * * * * * * * » = l< > l< > l« l« * > l í* * 5 i í ! ( : * ! |< = |í * * * * * = l« * * * * * * * /

/****** recocoml; lee el estado actual del sistema en ******/

20 /****** est_sist_real y genera la estructura est_sist_fin ******/

/****** según los datos de config_soft. ******/^ ! ( ! * S | e * 5 | < ! | S j | í 5 | í 5 | £ 5 Í Í 5 | t * * * * * * * j | < 5 | e * j K * 5 | e H ! ! | < í | ! = t : = t : * * * * * * * * * * ! | < s | < * * * * = ! = * * * * * * * * * * * * * * * * * * * /

void recocoml(void)

{25 int i,k;

RECOCOMl.C

int 1=0;

int placa_numero=1;

char *placal;

char instruccion[7] ,ins[2] ,salida[l],placa;

30 char *cadena,*ayuda;

char *instruccion_a_enviar, *direccion;

fo r(i= l;i< = 16 ;i+ + ) {

if(est_sist_real[0].est_in[i] = = ’R’) {

est_sist_fin[0]. est_in[i] = ’ R’;

35 }

else if(est_sist_real[0].est_in[i] = = ’M’) {

est_sist_fin[0]. est_in[i] = ’ M ’;

}else if(est_sist_real[0].est_in[i] = = ’*’) {

40 est_sist_fin[0]. est_in[i] = ’ * ’;

}else if(est_sist_real[0].est_in[i] = = ’!’) {

est_sist_fin[0]. est_in[i] = ’ F ;

}45 else if(est_sist_real[0] .est_in[i] = = ’A’) {

50

fo r( l= 0 ;K = 6 ;l+ + ) {

strcpy(instruccion,config_soft[placa_numero]. in[i] [1]);

for(k=0;k< = l;k + + ) {

ins[k]= instruccion[k];

}insr21 = ’\0’;

RECOCOMl.C

55

60

65

if(!strcmp(ins,"DI")) {

for(k=5;k< = 6 ;k+ + ) {

if(isdigit(instruccion[k])) {

salida[k-5] = instruccion[k];

}else {

if(k==5) exit(l);

else {

salida[l] = ’\0’;

}

}

}est_sist_fin[0]. est_out[atoi(salida)] = ’ D ’;

est_sist_fin[0] .est_in[i] = ’ A’;

}SI ES 'REPOSICION INMEDIATA’

70

75

}

else if(!strcmp(ins,"RI")) {

for(k= l;k< = 4 ;k+ + ) {

est_sist_fin[0] .est_out[k] = ’R’;

}for(k= l;k< =16;k++) {

if(est_sist_real[0].est_in[k] = = ’A’) {

est_sist_fin[0] .est_out[k] = ’R’;

}

}

SI ES 'CAMBIO DE MODO’

RECOCOMl.C

80 else if(!strcmp(ins,"CM")) {

placa 1 = instruccion[2];

ayuda= strmid(instruccion, 4,3);

if(!strcmp(ayuda,"DIA")) {

est_sist_fin[atoi(placal)] .est_modo= ’D’;

85 }

if(!strcmp(ayuda,"NOC")) {est_sist_fin[atoi(placal)] .est_modo= ’N’;

}if(!strcmp(ayuda,"REP")) {

90 est_sist_fin[atoi(placal)] .est_modo= ’R’;

}

}/****** SI ES 'INHIBE ENTRADA’

95 else if(!strcmp(ins,'TE")) {

if((mstruccion_a_enviar=malloc(sizeof(char)*6)) = =NULL)

{p r in tf (" e r ro r al resev a r espac io en

reposicion_inmediata");

100 exit(l);

}if((direccion=malloc(sizeof(char)*5)) = =NULL) {

p r in tf (" e r ro r al re sev a r espacio en

reposicion_inmediata");

105 exit(l);

}ayuda= strmid(instruccion, 5,2);

RECOCOMl.C

lio

en Hexedec*/

115

120 /*****

for(k=0;k< = l;k + + ) {

if(!isdigit(ayuda[k])) ayuda[k] = ’\0’;

}strcpy(instruccion_a_enviar," $mem ");

itoa((12288+(atoi(ayuda))),dirección, 16); /*12288 es 3000

(direccion[3]) =toupper(direccion[3]);

strcat(instruccion_a_enviar,dirección);

strcat(instruccion_a_enviar," ,00");

enviar(instruccion_a_enviar);

delay_(18);

}SI ES 'HABILITAR ENTRADA’ **********/

else if(!strcmp(ins,"HE")) {

if((instruccion_a_enviar=malloc(sizeof(char)*6)) = =NULL)

125 reposicion_inmediata");

p r in tf (" e r ro r al resev a r espac io en

exit(l);

}if((direccion=malloc(sizeof(char)*5)) = =NULL) {

p r in tf (" e r ro r al resev a r espac io en

130 reposicion_inmediata");

exit(l);

}for(k=0;k< = l;k + + ) {

if(!isdigit(ayuda[k])) ayuda[k] = ’\0’;

135 }

RECOCOMl.C

en Hexedec*/

140

145

else {

ayuda= strmid(instruccion,5,2);

strcpy(instruccion_a_enviar," $mem ");

itoa((12288 + (atoi(ayuda))),dirección,16); /*12288es 3000

(direccion[3]) = toupper(direccion[3]);

strcat(instruccion_a_enviar, dirección);

strcat(instruccion_a_enviar," 80");

enviar (instruccion_a_enviar);

delay_(18);

}

break;

150

}

fo r(i= l;i< = 32 ;i+ + ) {

if((est_sist_real[0].est_out[i] = = ’R’)&&(est_sist_fin[0].est_out[i]! = ’D’))

{155 est_sist_fin[0] .est_out[i] = ’R’;

}else if(est_sist_fin[0].est_out[i] = = ’D’) {

}e l s e

160 if((est_sist_real[0].est_out[i] = = ’D’)&&(est_sist_fin[0].est_out[i]! = ’R’)) {

est_sist_fin[0]. est_out[i] = ’ D ’;

}

RECOCOMl.C

if((est_sist_real[0],est_out[i] = = ’D’)&&(est_sist_fin[0].est_out[i] = = ’R’)) {

165 est_sist_fin[0].est_out[i] = ’R’;

}else if(est_sist_real[0].est_out[i] = = ’*’) {

est_sist_fin[0]. est_out[i] = ’ * ’;

}170 else if(est_sist_real[0].est_out[i] = = ’F) {

est_sist_fin[0] .est_out[i] = ’F ;

}else exit(l);

}175 if((est_sist_real[0].est_modo= = ’D’)&&(est_sist_fin[0].est_modo= = ’D’))

{est_sist_fin[0]. est_modo= ’ D ’;

}e l s e

180 if((est_sist_real[0].est_modo = = ’N’)&&(est_sist_fin[0].est_modo = = ’N’)) {

est_sist_fin[0] .est_modo= ’N’;

}e l s e

if((est_sist_real[0].est_modo= = ’T’)&&(est_sist_fin[0].est_modo= = ’T’)) {

185 est_sist_fin[0].est_modo=’T’;

}e l s e

if((est_sist_real[0].est_modo= = ’R’)&&(est_sist_fin[0].est_modo= = ’R’)) {

est_sist_fin[0] .est_modo = ’R’;

190 }

}

RECOCOMl.C

RECOCOM2.C

^ * * * S | í S | C * j | C * * 5 | í S | í * * S | C * S | í S | í ! | < ! | t 5 Í e > ( ! = t ! 5 | < * 5 | í * 5 Í e S Í Í S l í 5 | < * * * * * * * * * * 5 | < S | = * * * * * * * * S | « * * * * * * * * * * * * * * /

/****** REC0C0M2.C 20/4/93

^*****5|<!|<*****************>!!=f!5|<*S|«*********=|e**=|í**=l«********************/

5 ^include <stdio.h>

#include <conio.h>

#include <bios.h>

^include <stdlib.h>

#include <string.h>

10 #include "cxlstr.h"

#include "cxldef.h"

static void error_l(int i);

void enviar(char *cadena);

/***** variables globales y externas

15 extern struct {

char est_in[17];

char est_out[33];

char est_modo;

} est_sist_real[2], est_sist_fin[2];

6 d{C dfc j

2 0 ^H í^ sH ^ ^ íiíííís ií^ ^ ^ íiííiííií^ ^ ^ ^ ^ ^ ^ ^ ’i í ^ s H s i ^ ^ ^ * * * * ^ * ^ * ^ ^ * * * * * * * * * * * * * * * * ’* ^ * * * * * * * * * * /

/***** recocom2: compara cada una de las entradas de las *******/

/***** estructuras de estado (real y final) y genera las *******/

/***** ordenes necesarias para que sean iguales *******/^ :jc 5|í 5|í :Íí :lí He sí< 5i< í|< 5i< Hí 5|c =Íc * íií sJí ^ * 5j< s|< sje :jc ^ ^ ^ 5i< ilí * ^ * * * * /

RECOCOM2.C

25 void recocom2(void)

{int i,j;

char *num_salida;

char *dispara_salida;

30 fo r(i= l;i< = 16 ;i+ + ) {

if(!((est_sist_real[0].est_in[i]) = =(est_sist_fin[0].est_in[i]))) {

if((est_sist_fin[0].est_in[i]) = = ’A’) error_l(i);

if((est_sist_fin[0].est_in[i]) = = ’*’) error_l(i);

if((est_sist_fin[0].est_in[i]) = = ’M’) error_l(i);

35 if((est_sist_fin[0].est_in[i]) = = ’F) error_l(i);

40

if(((est_sist_real[0].est_in[i]) = = ’A’)&&((est_sist_fin[0].est_in[i]) = = ’R’)) {

for(j = l;j< = 1 6 ;j + +) {

if((est_sist_fin[0].est_in[i]) = = ’A’) error_l(i);

}enviar (" $reponer");

delay_(90); /^retardo de 5 segundos+-*/

}

}

}45 fo r(i= l;i< = 32 ;i+ + ) {

if(! ((est_sist_real[0] .est_out[i]) = = (est_sist_fin[0].est_out[i]))) {

if((est_sist_fin[0].est_out[i]) = = ’*’) error_l(i);

if((est_sist_fin[0].est_out[i]) = = ’M’) error_l(i);

if((est_sist_fin[0].est_out[i]) = = ’D’) {

50 cvtic(num_salida,i,2);

dispara_salida =" $disparasalida ";

RECOCOM2.C

55

strsetsz(dispara_salida, 15);

strcat(dispara_salida,num_salida);

enviar(dispara_salida);

est_sist_real[0]. est_out[i] = ’D ’;

delay_(45); /^retarde de 2.5 seg aprox.*/

60

65

}if((est_sist_fin[0].est_out[i]) = = ’R’) {

for(j = l;j< = 4 ;j + +) {

if((est_sist_fin[0].est_out[i]) = = ’D’) error_l(i);

}enviar(" $reponer");

delay_(90); /* aprox 5 seg*/

}

}

70

75

if((est_sist_real[0].est_modo)! =(est_sist_fin[0].est_modo)) {

if((est_sist_fin[0].est_modo) = = ’D’) {

enviar("$mododia");

delay_(36); /* aprox 2 seg*/

}if((est_sist_fin[0].est_modo) = = ’N’) {

enviar (" $modonoche");

delay_(36); /* aprox 2 seg*/

}if((est_sist_fin[0].est_modo) = = ’T’) {

enviar (" $modotest");

delay_(36); /* aprox 2 seg*/

}

RECOCOM2.C

80

}

if((est_sist_fin[0].est_modo) = = ’D’) {

enviar("$modoreposicion");

delay_(36); /* aprox 2 seg*/

}

85 }I*----------------------------

static void error_l(int i)

{exit(l);

90 }/ * ----------------------------------

-*/

RECOCOM3.C

/ »ia -i- fct* «■>* *t* *>-« »c.« »>■» »<j «J «1 «(« i/ ^ T> ^ 9^ ^ 9|( 9|( ^ yj yj yjfi y^ y^ y^ y^ y^ y^ ^ ^ /

/***** REC0C0M3.C Pone los datos reales en ******/

/***** la pantalla. ******¡j 5jc 5|c 5|C 5fc C C jjc íjc 5jc C C í í C C íjC 5jC 5(C íjC C € íjC C j

5 #include <stdio.h>

#include <conio.h>

#include <string.h>

#include <stdlib.h>

#include "cxlwin.h"

10 #include "cxlstr.h"

/******** VARIABLES GLOBALES

extern struct {

char est_in[17];

char est_out[33];

15 char est_modo;

} est_sist_real[2] ,est_sist_fin[2];

»|i* j

j € ?jC € € € € € 5|C € € 5|C íjC íjC íjC j|í € í € € € í 5fC € 5|C íjC 5|C C € S|€ í C C C € € j

void recocom3(void)

{20 int i;

char *num,*p;

char entrada!] = "ENTRADA ";

char salida!] = "SALIDA ";

char placa_123!] = "PLACA 1 2 3";

25 wopen(3,3,22,76,1 ,LCYAN | _BLUE,LGREEN | _BLUE);

RECOCOM3.C

wtitleC [ VENTANA DE ESTADOS ] ”,TCENTER,LCYAN|_BLUE);

wshadow(LGREY | _BLACK);

I*-------- PONGO LOS LETREROS DE ENTRADAS --------------*/

fo r(i= l;i< = 16 ;i+ + ) {

30 cvtic(num,i,2);

strcat(entrada,num);

wprints(l + i, 1 ,LGREY | _BLUE, entrada);

strsetsz(entrada,8);

}35 /*------PONGO LAS SALIDAS 1-16 --------------------- */

fo r(i= l;i< =16;H--1-) {

cvtic(num,i,2);

strcat(salida,num);

wprints(l -l-i,26,LGREY | _BLUE,salida);

40 strsetsz(salida, 7);

}/*------ PONGO LAS SALIDAS 17-32 ------------*/

for(i=17;i<=32;i-F-F) {

cvtic(num,i,2);

45 strcat(salida,num);

wprints(l -h(i-16),50,LGREY | _BLUE,salida);

strsetsz(salida,7);

}I*------ PONGO LAS LINEAS ---------------*/

50 wvline(0,23,20,1 ,LC YAN | _BLUE);

wvline(0,48,20,1 ,LCYAN | _BLUE);

I*------ PONGO LOS LETREROS DE PLACA ------------*/

wprints(0,8,LGREY | _BLUE,placa_123);

wprints(0,32,LGREY | _BLUE,placa_123);

RECOCOM3.C

55 wprints(0,56,LGREY | _BLUE,placa_123);

fo r(i= l;i< = 16 ;i+ + ) {

if(est_sist_real[0].est_in[i] = = ’A’) {

wprintc(l +i, 15,BLINK | BLACK | _RED,est_sist_real[0].est_in[i]);

}60 else {

wprintc(l+i,15,LGREENi_BLUE,est_sist_real[0].est_in[i]);

}

}fo r(i= l;i< = 16 ;i+ + ) {

65 if(est_sist_real[0].est_out[i] = = ’D’) {

wprintc(l+i,39,BLINK|BLUEj_GREEN,est_sist_real[0].est_out[i]);

}else {

wprintc(l + i, 39, LGREEN | _BLUE,est_sist_real[0]. est_out[i]);

70 }

}for(i=17;i< = 32 ;i+ + ) {

if(est_sist_real[0].est_out[i] = = ’D’) {

wprintc(l+(i-16),63,BLINK | BLUE |_GREEN,est_sist_real[0].est_out[i]);

75 }

else {

wprintc(l+(i-16),63,LGREEN ¡ _BLUE,est_sist_real[0] .est_out[i]);

}

}80 return;

RECOCOM3.C

SIRENA2.C

#include <stdio.h>

#include <dos.h>

#include <conio.h>

static int sirena(int frec);

5 void alarma(void)

{sirena(lOOO);

return;

}

10 static int sirena(int frec)

{int i;

if(frec>100) sirena(frec-lOO);

sound(frec);

15 for(i=0;i< 10000;i++);

nosoundO;

return 0;

}

P L A N O S

PLANOS

PLANOS

1.2.PLANOS.

l,2.1.Lista de planos.

El presente documento solo incluye 1 plano, de la tarjeta de interface.

PLANOS 2

PLIEGO DE CONDICIONES

PLIEGOS DE CONDICIONES

DOCUMENTO N» 3: PLIEGOS DE CONDICIONES

Este documento consta de las siguientes partes;

3.1. PLIEGO DE CONDICIONES GENERALES Y ECONOMICAS . . . 2

3.1.1. Condiciones generales ................................................................. 2

3.1.2. Condiciones económicas.............................................................. 4

3.2. PLIEGO DE CONDICIONES TECNICAS Y PARTICULARES . . . 7

3.2.1. Condiciones técnicas: placa del circuito impreso ...................... 7

3.2.2. Condiciones particulares.............................................................13

PLIEGO DE CONDICIONESGENERALES Y ECONOMICAS

PLIEGOS DE CONDICIONES

3.1. PLIEGO DE CONDICIONES GENERAT.ES Y ECONOMICAS.

3.1.1. Condiciones 2enerales.

Las condiciones y cláusulas que se establecen en este documento tratan de

la contratación por parte de persona física o jurídica, del hardware ( tarjetas de

interfase entre RS-232 y RS-485 ) y el software incorporado a la misma (

programa de control y comunicaciones ) que ha sido desarrollado en este

proyecto.

El cumplimiento de estas condiciones obliga a ambas partes y son los que

a continuación se exponen :

1. - Las dos partes se comprometen desde la fecha de la firma del

contrato a cumplir todos los puntos que a continuación se estipulan.

2. - En el caso de reclamación o discrepancia en lo concerniente al

PLIEGOS DE CONDICIONES 2

PLIEGO DE CONDICIONESGENERALES Y ECONOMICAS

cumplimiento por cualquiera de las partes, una vez agotada la vía del

entendimiento, se tramitará el asunto por vía legal.

3. - El vendedor queda obligado a facilitar a la otra parte cualquier

información que contribuya a mejorar la instalación y el funcionamiento del

sistema siempre que se le requiera para ello.

4. - El comprador, a su vez, queda obligado a explicar al fabricante

todas las características de la instalación en la que va a funcionar el sistema, con

el objeto de facilitar su instalación, quedando el proveedor libre de cualquier

responsabilidad sobre cualquier defecto que surja como consecuencia del

incumplimiento de dicha obligación.

5. - El plazo de entrega será de tres semanas a partir de la fecha de

firma del contrato.

6. - Si la entrega se retrasara más alia de las tres semanas acordadas,

el comprador podrá rescindir el contrato, siéndole retribuidas todas las cantidades

abonadas.

PLIEGOS DE CONDICIONES 3

PLIEGO DE CONDICIONESGENERALES Y ECONOMICAS

7. - Queda fijado un año de garantía a partir de la feche de entrega de

la instalación. La garantía queda anulada expirado este plazo, o si se demuestra

que el sistema ha sido objeto de manipulación indebida por operarios no

autorizados.

8. - Cumplida dicha garantía, el vendedor queda obligado a la

reparación del equipo durante un plazo de 5 años. Fuera de este plazo quedará a

su criterio el atender o no la petición del comprador.

9. - En ningún momento tendrá el vendedor obligación alguna frente a

desperfectos ó averías provocados por uso indebido del sistema por parte de

personas no autorizadas por el fabricante.

PLIEGOS DE CONDICIONES 4

PLIEGO DE CONDICIONESGENERALES Y ECONOMICAS

3.1.2,Condiciones económicas.

1.- El valor de la venta queda fijado de común acuerdo por ambas

partes.

2. - Los plazos para los pagos serán los siguientes:

20% a la firma del contrato.

60 % en el momento de la entrega.

20% a los 30 dias de realizada la entrega.

3. - El pago se realizará al contado mediante cheque nominativo ó

transferencia bancaria. En ningún caso se aceptarán letras de cambio.

4. - Cualquier demora en el pago de las cantidades estipuladas, según

el punto 2 de las condiciones económicas, sufrirá un incremento del 5% sobre la

cantidad retenida.

5. - El vendedor se hará cargo de los gastos de embalaje y del

PLIEGOS DE CONDICIONES 5

PLIEGO DE CONDICIONESGENERALES Y ECONOMICAS

transporte dentro de la ciudad donde se encuentre localizada la instalación. Si

hubiera transporte interurbano, el gasto correrá por cuenta del comprador.

6. - El vendedor acepta la responsabilidad sobre cualquier avería o

desperfecto causados durante el transporte.

7. - Durante el plazo de garantía, la totalidad de los gastos ocasionados

por reparaciones correrán a cargo del vendedor.

8. - Fuera de dicho plazo de garantid, y durante los 5 años siguientes,

los costes serán fijados de mutuo acuerdo por ambas partes. Pasados estos 5 años,

serán fijados exclusivamente por el vendedor

PLIEGOS DE CONDICIONES 6

PLIEGO DE CONDICIONESTECNICAS Y PARTICULARES

3.2.PLIEGO DE CONDICIONES TECNICAS Y PARTICULARES

3.2.1.Condiciones técnicas; placa del circuito impreso.

Se corresponden con las características necesarias para la placa de circuito

impreso utilizada en el sistema para cada una de las interfases entre las normas

RS-232 y RS-485 de que dispone la instalación, y que forman parte de este

proyecto.

TIPO

El tipo de soporte aislante usado será de fibra de vidrio impregnada con

resina epoxi, para dar una mayor rigidez. Se recomiendan las siguientes

características para el soporte aislante:

* Resistencia superficial en M Q ......................................................... 10

* Resistencia volumétrica en Mil .......................................................10®

* Constante dieléctrica ( f=l M H z )................................................. 0.25

* Temperatura máxima de trabajo.............................................. 125 °C

PLIEGOS DE CONDICIONES 7

PLIEGO DE CONDICIONESTECNICAS Y PARTICULARES

* Máxima temperatura de soldadura ......................................... 260 "C

* Tiempo máximo en vano de soldadura...................................... 30 seg

Para la fabricación de la placa impresa se utilizará el método sustractivo,

partiendo de una placa de doble cara y eliminando del soporte aislante las zonas

no representadas en el dibujo del modelo.

TAMAÑO Y FORMA

Los bordes de la placa estarán limpios y sin rebabas, muescas o signos de

laminado.

Las dimensiones exteriores de la placa tendrán una tolerancia de + 0.2

mm.

ESPESOR

El espesor de la placa ha de ser de 1.6 mm; valor normalizado para

circuitos impresos.

PLIEGOS DE CONDICIONES 8

PLIEGO DE CONDICIONESTECNICAS Y PARTICULARES

CURVADO

Para evitar el curvado de la placa se pretenderá que existan en ambas caras

una distribución similar del area de los conductores.

El radio de curvatura máximo en cualquiera de las dimensiones de la placa

será de 1.25 mm.

TALADRO

Por el gran poder abrasivo de la fibra de vidrio se utilizarán herramientas

de acero de carbono.

Los agujeros se harán siempre por taladrado y nunca por punzonado. Las

brocas serán de carbono al tungsteno de excelente calidad.

Durante la operación se realizará un control total del estado de las brocas

y a partir de cierto número de taladros deberás ser sustituidas. Nunca se debe

esperar a rotura o desgaste manifiesto.

PLIEGOS DE CONDICIONES 9

PLIEGO DE CONDICIONESTECNICAS Y PARTICULARES

TOLERANCIA Y DIMENSIONES

No deben existir defectos detectadles tras la inspección visual con

instrumentos ópticos de 3 aumentos.

El espesor de la placa no se desviará de su valor nominal en más de ± 0.2

mm.

Las tolerancias a aplicar en los diámetros, incluyendo el metalizado serán

las siguientes:

Diámetro < = 4 m m ....... +0.2 y -0.0 mm

Diámetro > 4 m m ....... +0.3 y -0.0 mm

Las tolerancias de posición de los agujeros referidas a la cuadrícula de

referencia son las siguientes:

* Si la distancia del centro nominal del agujero a los ejes de referencia es

menor o igual de 150 mm, la tolerancia es de 0.1 mm. Si la citada distancia es

mayor de 150 mm a alguno de los ejes, la tolerancia será de 0.2 mm.

PLIEGOS DE CONDICIONES 10

PLIEGO DE CONDICIONESTECNICAS Y PARTICULARES

* La posición de los agujeros debe ser tal que la distancia entre dos de

ellos, cualesquiera, cumpla las siguientes condiciones:

* Si la distancia entre los agujeros es menor o igual

a 50 mm, la tolerancia en la distancia es de ± 0.1 mm.

* Si la distancia entre los agujeros es mayor

mm, la tolerancia será de + 0.2 mm.

de 50

No se permitan roturas en los conductores detectadles tras inspección con

lupa de 10 aumentos e impregnación en tinta china.

La separación entre los conductores no debe ser inferior, en toda la placa

impresa, de 0.5 mm.

La reducción de anchura de los conductores respecto al valor nominal,

debido al proceso de fabricación, no debe ser menor de lo que indica la siguiente

tabla.

PLIEGOS DE CONDICIONES 11

PLIEGO DE CONDICIONESTECNICAS Y PARTICULARES

A nchura

nom inal

Reducción m áx posible p o r

fabricación

Reducción m áx pposible

p o r defectos

R educción m áx.

total

0.3 0.050 0.075 0.100

0.4 0.050 0.100 0.125

0.5 0.050 0.125 0.150

0.6 0.060 0.150 0.180

0.8 0.080 0.200 0.240

1.0 0.100 0.250 0.300

1.3 0.130 0.325 0.390

2.6 0.260 0.650 0.780

La resistencia del aislamiento medida entre dos conductores próximos tras

secado de la placa impresa a 70 °C dmante cuatro horas, no deberá ser inferior

a:

PLIEGOS DE CONDICIONES 12

PLIEGO DE CONDICIONESTECNICAS Y PARTICULARES

donde: a es la separación entre conductores.

L es la longitud de los mismos.

METALIZADO

El agujero metalizado tiene por misión conseguir la perfecta fijación de los

componentes y la conexión eléctrica de las capas entre sí. Todos los agujeros de

la placa estarán metalizados.

El diámetro de los agujeros para ser posible su metalización, no puede ser

inferior a 1/3 del espesor de la placa, es decir a 0.55 mm. Los agujeros deben

tener un nudo en cada cara.

El espesor del cobre depositado en las paredes de los agujeros, no será

inferior a 20 ¡xm para aquellos cuyo diámetro nominal no sea inferior a 1 50% del

espesor nominal de la placa. En los demás casos no será inferior a 25 ¡xm.

PLIEGOS DE CONDICIONES 13

PLIEGO DE CONDICIONESTECNICAS Y PARTICULARES

SOLDADURA

La aleación de soldadura ha de ser 63 % de estaño y 37 % de plomo. La

temperatura de soldadura será de 250°C + 5 °C.

La soldadura debe mojar totalmente los conductores, nudos y paredes de

los agujeros metalizados.

No deben apreciarse signos de desmojado, formación de burbujas, o

despegado de las capas conductoras.

El tiempo máximo de soldadura será de 15 segundos.

3.2.2.Condiciones particulares.

1. - Los equipos informáticos han de estar homologados conforme

a la reglamentación vigente en España en el día de la fecha del presente

proyecto.

2. - El lugar de instalación del equipo debe ajustarse a los niveles

PLIEGOS DE CONDICIONES 14

PLIEGO DE CONDICIONESTECNICAS Y PARTICULARES

de temperatura y humedad indicados para el equipo informático.

3. - Los soportes de los equipos deben ser firmes y s u s

emplazamientos fijos.

4. - El sistema operativo bajo el que corra el programa de control

deberá ser el MS-DOS en versión 3.0 ó superior.

5. - El programa de control deberá correr sobre un o r d e n a d o r

compatible IBM.

PLIEGOS DE CONDICIONES 15

PRESUPUESTO

PRESUPUESTOS

DOCUMENTO N»4 : PRESUPUESTO

Este documento consta de las siguientes partes:

4.1. MEDICIONES........................................................................................... 4

4.1.1. Introducción....................................................................................4

4.1.2. Equipos utilizados......................................................................... 4

4.1.3.Interface desarrollado...................................................................... 5

4 .1.3.1. Circuitos integrados......................................................... 5

4 .1.3.2. Componentes pasivos...................................................... 6

4 .1.3.3. Componentes m ecánicos................................................. 6

4.2. PRECIOS UNITARIOS........................................................................... 8

4.2.1. Equipos utilizados......................................................................... 8

4.2.2.Interface desarrollado.......................................................................8

4.2.2.1. Circuitos integrados......................................................... 8

4.2.2.2. Componentes pasivos....................................................9

4.2.2.3. Componentes mecánicos ......................................... 10

4.3. PRESUPUESTOS PARCIALES............................................................ 11

4.3.1. Costes de ingeniería .....................................................................11

4.3.2. Costes de Fabricación ............................................................... 13

4.3.2.1. Coste de materiales .................................................... 14

4.3.2.1.1. Equipos utilizados ...................................... 14

4.3.2.1.2. Interface desarrollado................................. 16

4.3.2.1.2.1. Circuitos integrados ................ 16

4.3.2.1.2.2. Componentes pasivos................. 17

4.3.2.1.2.3. Componentes mecánicos........... 17

4.3.2.2. Coste de la mano de obra ..........................................20

4 . 3 . 2 . 2 . 1 . Co s t e de la m a n o de o b r a

directa....................................................... 20

4 . 3 . 2 . 2 . 2 . Co s t e de la ma n o de o b r a

indirecta ..................................................20

4.3.3. Costes financieros....................................................................... 22

4.3.3.1. Costes financieros de ingeniería y

mano de o b ra ....................................................... 22

4.3.3.2. Costes financieros de materiales ...............................22

4.3.4. Costes comerciales .................................................................... 23

4.3.4.1.Costes de administración............................................... 23

4.3.4.2.Intereses variables sóbrela venta ..................................24

4.3.4.3. Costes de v en ta s ..........................................................24

4.3.4.4. Coste total com ercial..................................................24

PRESUPUESTO 2

4.3.5.Precio de venta ..........................................................................25

4.3.5.1. Margen de beneficio ................................................. 25

4.3.5.2. Precio final de venta ................................................. 25

4.4.PRESUPUESTO GENERAL..................................................................27

PRESUPUESTO 3

PRESUPUESTO

PRESUPUESTO

4.1.MEDICIONES.

4.1.1 .Introducción.

En este punto del presupuesto, tenemos que considerar todos aquellos

elementos del hardware utilizados o desarrollados en el proyecto.

4.1.2.Equipos utilizados.

EQUIPOS UTILIZADOS

Ref. Concepto Unidades

- Ordenador tipo PC/AT 1

- Tarjeta de control [XCRS] 3

- Osciloscopio Digital 1

PRESUPUESTO 4

PRESUPUESTO

EQUIPOS UTILIZADOS

Ref. Concepto Unidades

- Fuente de Alimentación lA 1

4.1.3Jnterface desarrollado.

Consideramos los presupuestos para un número de 4 interfaces

RS232/RS485; ya que este es el número de ellos que necesitamos para la

conexión típica del proyecto.

4.1.3.l.Circuitos integrados.

CIRCUITOS INTEGRADOS

Ref. Concepto Unidades

ICl Convertidor LT1080CN 4

IC2 Transreceptor DS75176BN 4

IC3 Regulador 5V 78L05 4

Zócalos de los integrados

PRESUPUESTO 5

PRESUPUESTO

CIRCUITOS INTEGRADOS

Ref. Concepto Unidades

18-DIP Zócalo de 18 pines 4

8-DIP Zócalo 8 pines 4

4.1.3.2.Componentes pasivos.

COMPONENTES PASIVOS

Ref. Concepto Unidades

C1 Condensador electrolítico IjlcF 16

C2 Condensador electrolítico 22/iF 4

R1 Resistencia 120Q 14W 2

4.1.3.3.Elementos mecánicos.

PRESUPUESTO 6

PRESUPUESTO

ELEMENTOS MECANICOS

Ref. Concepto Unidades

- Conectores DB-9 hembra 9

- Conectores DB-9 macho 8

- Cable Cervitronic PAR AWG24 500m

- Cable 8 hilos Im

PRESUPUESTO 7

PRESUPUESTO

4.2.PRECIOS UNITARIOS.

4,2,1.Equipos utilizados.

Precios unitarios (en Ptas, IVA incluido)

EQUIPOS UTILIZADOS

Ref. Concepto Precio

- Ordenador tipo PC/AT 250.000

- Tarjeta de control [XCRS] 125.000

- Osciloscopio Digital 150.000

- Fuente de Alimentación lA 10.000

4.2.2.1.Circuitos integrados.

Precios unitarios (en Ptas, IVA incluido)

CIRCUITOS INTEGRADOS

PRESUPUESTO 8

PRESUPUESTO

Ref. Concepto Precio

ICl Convertidor LT1080CN 1300

IC2 Transreceptor DS75176BN 3600

IC3 Regulador 5V 78L05 50

Zócalos de los integrados

18-DIP Zócalo de 18 pines 100

8-DIP Zócalo 8 pines 60

4.2.2.2.Componentes pasivos.

Precios unitarios (en Ptas, IVA incluido)

COMPONENTES PASIVOS

Ref. Concepto Precio

C1 Condensador electrolítico 1/iF 10

C2 Condensador electrolítico 22/xF 10

R1 Resistencia 120Q 14W 4

PRESUPUESTO 9

PRESUPUESTO

4.2.2.3.Elementos mecánicos.

Precios unitarios (en Ptas, IVA incluido)

ELEMENTOS MECAMCOS

Ref. Concepto Precio

- Conectores DB-9 hembra 150

- Conectores DB-9 macho 150

- Cable Cervitronic PAR AWG24 200(lm)

- Cable 8 hilos 50(lm)

PRESUPUESTO 10

PRESUPUESTO

4.3.PRESUPUESTOS PARCIALES

4.3.1.Costes de ingeniería.

En cuanto a los costes de ingeniería hay que considerar el coste de

realización del software, así como el coste de realización del hardware.

* Coste de realización del software.

Se estima que el desarrollo de 1000 lineas efectivas en un lenguaje de alto

nivel necesita de 180 horas de trabajo del ingeniero de programación (0.18

horas/linea).

Por tanto podemos obtener el siguiente cuadro, que refleja los costes de

realización del software o costes de programación. En el se detallan las diferentes

subrutinas de que consta el programa.

SUBRUTINA N“LINEAS HORAS

PRESUPUESTO 11

PRESUPUESTO

SIRENA2.C 23 4

SOFT3.C 64 11

RECOCOMl.C 193 34

REC03.C 203 36

RECOCOM2.C 97 17

XMAIN.C 17 3

XMODIF.C 171 30

XPRESEN.C 184 33

PULL.C 354 63

INHIBIR!.C 303 54

XFICH.C 487 87

INHIB1R2.C 369 66

RECOCOM3.C 87 15

TOTAL HORAS DE PROGRAMACION 453

Teniendo en cuenta que cada hora de ingeniero le cuesta a la empresa

aproximadamente 5.000 pesetas, se obtiene, en función de esas 453 horas el coste

de total de la realización del software; PRESUPUESTO 12

* Coste de hora de ingeniero .................................................................... 5.000

* Horas empleadas en programación...............................................................453

TOTAL COSTE REALIZACION DEL SOFTWARE...2.265.000

* Coste de realización del hardware

* Coste de hora de ingeniero .................................................................... 5.000

* Horas empleadas en la realización...............................................................100

TOTAL COSTE REALIZACION DEL HARDWARE...500.000

El coste total de la ingeniería se obtiene sumando las dos cantidades

anteriores, y asciende a un montante total de 2.765.000 Ptas.

4.3.2.COSTES DE FABRICACION.

PRESUPUESTO___________________________________________________

PRESUPUESTO 13

PRESUPUESTO

4.3.2.I.Coste de materiales.

4.3.2.1.1.Equipos utilizados.

Presupuesto parcial (En Ptas, IVA incluido)

EQUIPOS UTILIZADOS

Ref. Ud. Concepto Precio/Ud. Precio

- 1 Ordenador tipo PC/AT 250.000 250.000

4 Tarjeta de control

[XCRS]

125.000 375.000

- 1 Osciloscopio Digital 150.000 150.000

1 Fuente de

Alimentación lA

10.000 10.000

IMPORTE TOTAL EQUIPOS 785 .000

Suponiendo que los equipos se amortizan al cabo de 7.000 horas de uso

y que el 70% de las horas de ingeniería se realizaron con los equipos

PRESUPUESTO 14

PRESUPUESTO

anteriormente mencionados, la amortización del material asciende a:

* Horas de ingeniería....................................................................................... 553

* Horas de uso del m aterial............................................................................ 387

* Coste hora del material (Ptas/hora) ............................................................112

TOTAL AMORTIZACION DEL MATERIAL......43.344

PRESUPUESTO 15

PRESUPUESTO

4.3.2.1.2.Interface desarrollado.

4.3.2.1.2.1.Circuitos integrados.

Presupuesto parcial (En Ptas, IVA incluido)

CIRCUITOS INTEGRADOS

Ref. Ud. Concepto Precio/Ud. Precio

ICl 4 Convertidor

LT1080CN

1.300 5.200

IC2 4 Transreceptor

DS75176BN

3.600 14.400

1C3 4 Regulador 5V 78L05 50 200

Zócalos de los integrados

18-DlP 4 Zócalo de 18 pines 100 400

8-DlP 4 Zócalo 8 pines 60 240

IMPORTE TOTAL CIRCUITOS 20.440

PRESUPUESTO 16

PRESUPUESTO

4.3.2.1.2.2.Componentes pasivos.

Presupuesto parcial (en Ptas, IVA incluido)

COMPONENTES PASIVOS

Ref. Ud. Concepto PrecioAJd Precio

C1 16 Condensador electrolítico

llxF

10 160

C2 4 Condensador electrolítico

22/xF

10 40

R1 2 Resistencia 120Í1 14W 4 8

IMPORTE TOTAL COMPONENTES PASIVOS 208

4.3.2.1.2.3.Elementos mecánicos.

PRESUPUESTO 17

PRESUPUESTO

Precios unitarios (en Ptas, IVA incluido)

ELEMENTOS MECANICOS

Ref. Ud. Concepto Precio/Ud Precio

- 9 Conectores DB-9 hembra 150 1350

- 8 Conectares DB-9 macho 150 1200

500 Cable Cervitronic PAR

AWG24

200 100.000

- 1 Cable 8 hilos 50 50

IMPORTE TOTAL ELEMENTOS MECANICOS 102.600

RESUMEN

* Coste de los equipos utilizados...............................................................43.344

* Coste de los materiales empleados en el interface:

* Coste de los circuitos integrados .............................................. 20.440

* Coste de los elementos pasivos ...................................................... 208

* Coste de los elementos mecánicos ........................................ 102.600

PRESUPUESTO 18

PRESUPUESTO

COSTE TOTAL DE LA TARJETA..................123.248

COSTE TOTAL DE LOS MATERIALES.............166.592

PRESUPUESTO 19

PRESUPUESTO

4.3.2.2.Coste de la mano de obra.

4.3.2.2.1.Coste de la mano de obra directa.

CONCEPTO N^Hr Precio/Hr Precio

Lab. fotográfico 0.5 1.500 750

Mecanizado 1 1.500 1.500

Soldadura y montaje 2 1.500 3.000

Cableado 5 1.500 7.500

Embalaje 1 1.500 1.500

IMPORTE TOTAL MANO DE OBRA DIRECTA 14.250

4.3.2.2.2.Coste de la mano de obra indirecta.

En este apartado se incluyen los gastos debidos a la supervisión técnica del

montaje y control de calidad:

PRESUPUESTO 20

PRESUPUESTO

CONCEPTO N«Hr Precio/Hr Precio

Planificación del montaje 1 2.500 2.500

Control de calidad 1 2.500 2.500

Ajustes 0.5 2.500 1.250

IMPORTE TOTAL MANO DE OBRA INDIRECTA 6.250

IMPORTE TOTAL MANO DE OBRA 20.500

COSTE TOTAL DE FABRICACION..............187.092

PRESUPUESTO 21

4.3.3.COSTES FTNANCTRROS

4.3.3.1. Costes financieros de ingeniería y mano de obra.

Si consideramos un plazo medio de pago de 6 meses y estimando un

interés en curso del dinero del 10% para una producción de 10 equipos anuales,

resulta un coste financiero:

* Coste de ingeniería ................................................................. 276.500

* Coste de mano de o b r a ................................................................20.500

IMPORTE......................... 297.000

Esto supone un coste financiero por unidad de:

( 297.000 * 0.10* 6 meses) / 12 meses = 14.850

4.3.3.2. Costes financieros de los materiales.

Teniendo en cuenta los mismoss intereses que en el apartado anterior

PRESUPUESTO___________________________________________________

PRESUPUESTO 22

PRESUPUESTO

durante el mismo periodo de tiempo, resulta un coste financiero de:

( 123.248 * 0.10 * 6 meses) / 12 meses = 6.162

4.3.3.2.Costes fínancieros totales.

Sumando los importes de los anteriores apartados, resultan unos costes

financieros tatales de:

* COSTES FINANCIEROS TOTALES.....................21.012

4.3.4.COSTES COMERCIALES.

4.3.4.1.Costes de administración.

Suponiendo unos costes de administración del 6% sobre el importe total

del proyecto por unidad:

COSTES DE ADMINISTRACION.............29.076

PRESUPUESTO 23

PRESUPUESTO

4.3.4.2.Intereses variables sobre la venta.

En este apartado se engloban los posibles gastos debidos a demoras en la

entrega o en el cobro. Estimando dichos gastos en un 3 % del importe total del

proyecto por unidad:

INTERESES VARIABLES SOBRE LA VENTA........... 14.538

4.3.4.3.Costes de ventas.

Los costes debidos a las ventas se estiman en un 12% del importe total del

proyecto:

COSTES DE VENTAS...........................58.152

4.3.4.4.Coste total comercial.

Se obtiene de la suma directa de los apartados anteriores:

* Coste de administración.................................................. 29.076

* Intereses variables sobre la venta ...................................14.538

* Coste de ventas ...............................................................58.152

PRESUPUESTO 24

PRESUPUESTO

COSTE COMERCIAL TOTAL ____ 101.766

4.3.5.PRECIO DE VENTA.

4.3.5.1. Margen de beneficio.

Estimando un margen de beneficio del 25% sobre el coste total del

proyecto

* MARGEN DE BENEFICIO..................121.151

4.3.5.2. Precio final de venta.

Para una producción anual de 10 equipos, podemos fijar el precio final

deventa del sistema compuesto por 3 placas mas PC de control en, sin incluir las

placas de adquisición de datos.

Costes de ingeniería 276.500

PRESUPUESTO 25

PRESUPUESTO

Costes de fabricación 187.092

Costes financieros 21.012

Costes comerciales 101.766

Margen de beneficio 121.151

IMPORTE TOTAL 707.521

PRECIO FINAL DE VENTA: 707.521 pesetas.

PRESUPUESTO 26

PRESUPUESTO

4.4.PRESUPUESTO GENERAL

COSTE DEL PROYECTO

COSTE DE INGENIERIA.............................................. 276.500

COSTE DE FABRICACION

- COSTE DE MATERIALES ........................... 166.592

- COSTE DE MANO DE O B R A ......................... 20.500

COSTES FINANCIEROS................................................. 21.012

COSTE TOTAL DEL PROYECTO .............. 484.604

COSTE COMERCIAL

COSTES DE ADMINISTRACION ................................. 29.076

INTERESES VARIABLES SOBRE LAS VENTAS . . . 14.538

COSTE DE V E N T A ......................................................... 58.152

COSTE COMERCIAL...................................... 101.766

PRESUPUESTO 27

PRESUPUESTO

MARGEN DE BENEFICIO ............................121.151

PRECIO DE VENTA........... .707.521 PESETAS

PRESUPUESTO 28