PROYECTO DE I INGENIERÍA I ELECTRONICA UNIVERSIDAD AUTONOMA METROPOLITANA Casa abierta tiempoal IZTAPALAPA SISTEMA DE VIGILANCIA CONTROLADO POR LA PC 2 ASESOR: Gonzalo lsacc Duchén Sánchez AUTORES DEL PROYECTO: Ricardo González Carrillo Y Ricardo Alejandro Solís Ramírez 3 DEDICATORIA Dedico estetrabajoamispadresLuis y Carlota, así como a mis hermanos Octavio, Mary, Angélica, Yolanda y Carlos. Hago un reconocimiento a mis padrinos Jorge por su solidaridad. Ricardo Alejandro Solís Ramírez. 4 y Juan AGRADECIMIENTO. Gracias. Ricardo González Carrillo. 5 íNDlCE INTRODUCCI~N.................................................... 8 CAPiTU LO 1. HARDWARE ............................. 1.1 CONTROL 9 DE PERIFÉRICOS DE LA PC ..... 9 1.2TARJETACONTROLADORA .................... 12 1.2.1 EL CIRCUITO INTEGRADO 8279................................. 12 1.2.2 EL CIRCUITO INTEGRADO 8255................................. 16 .......................... 17 1.2.3 CIRCUITOS INTEGRADOS ANEXOS 1.3SISTEMADE COMUNICACIóN TELEF~NICA............................................ 1.3.1 LA LíNEA TELEFóNICA ................................................. .......................................... CONTROL DEL TELÉFONO......................................... 19 19 1.3.2 DETECTOR DE CADENCIA 22 1.3.3 23 1.4 TECLADO. PUERTA. LUCES Y DETECTORES DE HUMO ................................................. 23 6 2.1ASPECTOSGENERALESDEL PROGRAMA .............................................. 2.2 MANEJO DE LA TARJETA ......................... 25 26 2.3 ALMACENAMIENTO DE INFORMACI~N..... 29 CAPíTULO 3. INSTALACIóN ........................ 45 3.I INSTALACIóN DE SOFTWARE Y TARJETA ................................................... 3.2 INSTALACIóN DE PERIFÉRICOS ................ 46 3.3 RECOMENDACIONES ................................. BIBLIOGRAFíA .................................................... 7 45 48 49 Debido a la necesidad de custodiar lugares donde se encuentran artículos de valor y a la preocupación de poder obtener mayor provecho de la tecnología que está a nuestro alcance ( como lo son las PC's, teléfonos,etc.),seha desarrollado unproyectoque contiene un sistema de vigilancia constante y un registro de personal de un lugarde interés. Para poderllevar a cabo esteproyecto, seha utilizado a la PC como control principal, de tal forma que dirija todo el sistema de seguridad. Dicho sistema tiene entre sus principales funciones el de detectar si alguna con vigilancia, realizando si esto persona está forzando las entradas al lugar sucede, llamadas con números telefónicos que han sido escogidos previamente.Otrafunciónque se tiene, es elalmacenamientodelasclaves numéricas de los usuarios junto con la hora y fecha de acceso; esto se realiza cuando es tecleada la clave correspondiente y tiene como fin un mejor control del personal que tiene acceso al lugar protegido. Para complementar la seguridad se han colocado detectores de ' humo y un encendido automático de luces durante un tiempo específico en el transcurso de la noche, que dará una mejor visibilidad de la región bajo vigilancia. Todas estas funciones se explicarán mas ampliamente en los capítulos 1 y 2. El proyecto es bastante completo, ya que abarca electrónica analógica , electrónica digital y programación. La electrónicaanalógica se presenta alhacer uso de la línea telefónica, la cual contiene una señal senoidal con la que podemos saber si hay línea, si se esta llamando o si está ocupado. La electrónicadigitallaencontramosenlainformación quetenemosdela señal digitalobtenida a partirde la señal analógica, así como enel manejo del teclado, en los detectores de humo y en el encendido de luces que se controlan mediante la ranuradeexpansiónde la computadora. Con respectoa la programación podemos decir que controla todo el hardware y se hace presente en el funcionamiento del sistema. a CAPíTULO 1 HARDWARE 1.1 CONTROL DE PERIFÉRICOS DE LA PC PC sellevaacaboconunatarjeta El controldeperiféricosmedianteuna controladora de condiciones específicas, la cual está comunicada directamente con el microprocesador de la computadora usando una ranura de expansión la cual contiene 20 líneasdedireccionamiento, un busdedatosdeochobitsqueesbidireccional,seis niveles de interrupción, tres canales de acceso directo a memoria con lineas de control o escritura,conexionesalrelojya de E S , líneas de accesoamemoriadelectura circuitosdetemporarización.Dentrodelaslíneasdecontroltenemosincluidos los voltajes de +5 Vdc, +12Vdc, -12Vdc y tierra. Todas estas líneas hacen un total de 62 pins en la ranura de expansión. Para el desarrollo de nuestro proyecto se utilizan 32 líneas de conexión de las 62 existententes. A continuación daremos todas las lineas usadas y una explicación de su funcionamiento. los datos, los cualessetoman A2 a A9 Estas lineas contienen bidereccionalmente para comunicar ala PC con la tarjeta. A2 correspondea D7 queeselbitmássignificativoyA9 correspondea DO queeselbitmenossignificativo. 9 A20aA31Correspondena12delas 20 líneasdedirreccionamiento. y es el DondeA31eslalineadedireccionamientoA0 bit menossignificativoyA20,bitmássignificativo,eslalíneade direccionamiento A l l lacualsedejasinconectar.Aquíes importantemencionarque los pinsA31 (AO), A30 (AI) yA29 (A2), son utilizados para habilitar a los circuitos integrados 8279 y 8255. Las demás lineas son utilizadas para direccionar los puertos libres que se asignan a la tarjeta. Estos puertos van de 300H al 305H. A10 - E/S CH RDY Esta línea nos indica cuando esta en alto, que el canal de E/S esta listo. Dicha terminal se encuentra normalmente en alto y es puesta en bajo por la memoria o dispositivos de E/S para poder conectar dispositivos mas lentos que el sistema. El dispositivodebellevarinmediatamentelalíneaabajocuando existaunadirecciónválidaysehayadetectadouncomando delectura o escritura.Lalíneanodebepermanecerenbajo durante más de diez ciclos de reloj. A I 1 - AENEslalíneadedirreccionamientoquehabilitaelusodelcanalde E/Sporelprocesadoryotrosdispositivos,mientrasel ocupa su lugar. BI, B10, 831 - GND 82 - RESET B5, B29 - (+5Vdc) 87 - (- 12Vdc) B9 - (+12Vdc) 10 DMA B13 - IOW Es un comando de escritura que habilita para que lea un dato del bus a un dispositivo de E/S de datos. Se activa en Bajo. Puede ser manejado porel procesador o el controlador DMA. B14 - IOR Es uncomandodelecturaparaundispositivode intentatransferirundato Puedesermanejadopor E/S que al busdedatos.Seactivaenbajo. el procesador o el controlador DMA. B20 - CLK La ranura de expansióny las lineas utilizadasse muestran en la figural. 11 o o I I u V I I m I m I 1 P a 1.2 TARJETACONTROLADORA Esta tarjeta es mostrada en la figura 2 que se encuentra al final de esta sección y se explica en módulos de acuerdo a los circuitos integrados que intervienen en ella. S e recomienda que al ir leyendo esta sección observe la figura. 1.2.1 EL CIRCUITO INTEGRADO 8279 Este es un dispositivo de 40 pins, los cuales se dividen de la siguiente manera: Símbolo Pin Descripción DBO-DB7 19-1 2 BUS DE DATOS BIDERECCIONAL: los datos y comandos entreel Todos C P U y el 8279 se transmiten por este bus. CLK 3 CLOCK: Señal del reloj delsistema usada para la generación del timing interno. RESET 9 RESET: Un nivel alto en este pin 8279. al resetea Después de esto, 8279 el se coloca en el modo siguiente: 1) 16 caracteres de display de 8 bits, entrada por la derecha. 2) Exploración codificada teclado de con bloqueo por pulsación de dos durante este proceso, múltiplo elde división del clock se coloca a 31. 12 teclas; Símbolo Pin Descripción cs 22 SELECCIóN DE CHIP: Un nivel entrada esta habilita al bajo en para 8279 transmitiryrecibir. A0 21 DIRECCIóN DE BUFFER: Un nivel alto en esta línea indicará que señales las de interpretarán bus se como comando comoestatus. o El nivel bajo indicaraqueson datos. RDNVR 10-11 Y ENTRADNSALIDA READ WRITE: Estas señales habilitan al buffer de datos para enviar o recibir datos por el busexterno. IRQ 4 PETICIóN INTERRUPCIóN: DE En el modo teclado esta línea está a nivel cuando hay datos en a nivel alto la memoria. Pasará bajo con cada lectura volverá y a nivel alto si quedan en ella. En sensor, nivel pasa a el alto modo cuando se detecta un cambio enel mismo. vss, vcc 32-35 SLO-SL3 20,40 PINS DE TIERRAY ALIMENTACIóN. LINEAS EXPLORACIóN: DE Estas se usan para sensores de la la matriz de y display.Sepuedencodificar decodificar (1 a 4). 13 o exploración teclas de los dígitos del ( 1 de16 ) o Símbolo Pin Descripción RLO-RL7 38,39, LíNEAS DE RETORNO: 1 2 se conectanalaslíneasdeexploración 5-8 teclas las Estas los o entradas de sensores teclado. de Estan polarizadas con internas pull-up. de resistencias También se utilizar como pueden entradas modo elde en entrada por impulso SHIFT 36 SHIFT: Esta entrada con la tecla que almacena se se haya junto pulsado en el modo exploración de teclado. de Está polarizada resistencias con internas de pull-up. CNTUSTB 37 CONTROUENTRADA DE Para los modos de teclado, se almacena junto con latecla queshift); IMPULSO: pulsada (delmismomodo estalínease la entradadeimpulso utilizatambién como ( flancodebajada ) modo entrada de elen impulso. por Está polarizada resistencias por internas de pull-up. OUT AO-OUT A3 27-24 SALIDAS:Estos OUT BO-OUT B3 31-28 para el display. dospuertosdesalidason refresco registros los de de Los datos estas de salidas sincronizan con se las líneas de exploración para el multiplexado del display. Los dos puerto se pueden apagar independientemente. S e pueden utilizar como un puerto de 8 bits. 14 Símbolo Pin Descripción BD 23 APAGADO utiliza para DE DISPLAY : apagar display el Esta salida se en el multiplexado o en un comando de display. La entrada de datos del 8279 y su visualización son una parteimportante de los sistemas basados en los microprocesadores. Este circuito provee las funciones de interface con el CPU sin excesivas complicaciones. El 8279 consta de dos partes: el teclado y el display. La parte del teclado se puede conectar a cualquier tipo de teclado, interruptores o sensores, en nuestro caso se utilizan estas características para controlar el teclado de la puerta y los interruptores de alarma de forzamiento de puerta,alarma de ventanas y sensores dehumo. aunque disponible,no es utilizadaenelsistemadebido La partedeldisplay, a que se deja para unposible mejoramiento en la implementación de indicaciones por medio de leds o displays alfanuméricos. La parte de control de E/S usa las líneas CS/,AO, RD/y WR/ para controlar el flujo de datos, los registros internos y los buffers de datos. El flujo de datos se habilita por medio de CS/. El tipo de información que genera o precisa el CPU, se identifica mediante AO, un nivel alto significa que la información será de status o de comando, un nivel bajo indica que son datos. El modo de entrada es decodificación (4x8 teclas) de las líneas de exploración. La pulsación de una tecla genera un código de posición de seis bits. La posición y el estado de SHIFT o de CONTROL se almacena en la memoria FIFO. Los rebotesdelasteclas se suprimen automáticamente yse repiten por el mantenimiento de la pulsación o se bloquean si se han pulsado dos telas a la vez. 15 Diagrama a bloques del 8279. 1.2.2 EL CIRCUITO INTEGRADO 8255 Este es dispositivo de E/S programable de propósito general que para ser usadocon microprocesadores. Tiene24 programadosindividualmenteendosgruposde12y pinsde E/S se diseñó los cuales pueden ser se usa en 3 diferentesmodosde operación. El modo O es el utilizado en la tarjeta controladora y en este modo tenemos dos gruposde12pinsde E/S que pueden serprogramadosensubgruposde4 ya sea de entrada o salida. La programación usada corresponde a la palabra 5 de control, la cual es elnúmero 89H que llega a los pins DO a D7 del 8255, trayendo como resultadoqueel puerto A (PA) y el puerto B (PB) del circuito sean de salida, mientras que el puerto sea deentrada. Como podemos obsetvar la activacióndeestecircuito disposición el uso de los tres puertos ( PA, PB y PC), donde el pin que al conmutar nos dará la línea telefónica; el pin C (PC) pone anuestra PB4 va a un relevador PB5 también va a un relevador, pero 16 éste, es el encargado de accionarla reproductora donde se encuentra un mensaje que será enviado a través del teléfono; en el pin PB6, se mandará una señal l T L de 5 Vdc cuando se desee abrir la puerta de acceso; la señal del pin PB7 serála encargada de encender las luces; los pins PBO y PBI son donde se mandarán las señales de marcaje de los números telefónicos; y por ultimo, en el pin PC0 llega la señal del detector de cadencia, que nos indica si la línea telefónica esta desocupada, ocupada o se está haciendo una llamada. La activación de 8255 se da cuando llega un nivel bajo de los cuales son activados mediante integrados 74LS00, la lógica de circuitos el direccionamiento en la computadora. 1.2.3 CIRCUITOS INTEGRADOS ANEXOS Primeramente hablaremos del circuito integrado 74LS688, el cuál es un comparador de dos palabras de 8 bits que sirve para asegurar que los puertos disponibles en la PC sean los correctos. Estos puertos van del 300H al 31FH, de los cuales se usan únicamente de 300H al 305H. Como podemos observar en la tabla l a los únicos bits que se modifican son AO, A I y A2, por lo tanto la palabrade 8 bits que Nimero binario Número hexadecimal A1 1 A10 A9 A8 A7 AB A6 A4 o o 1 1 O 0 0 o o 1 1 O 0 o o 1 1 O 0 o o ' 0 o o 1 1 O 0 0 o o 1 1 O 0 0 1 1 0 Al A0 A3 A2 0 O 0 0 0 300H 0 0 O 0 0 1 301H 0 0 0 0 1 0 3MH O 0 1 1 303H 0 O 1 0 0 304H 0 O 1 0 1 305H 0 0 TABLA la 17 A10 AS 0 1 A8 A6 A7 1 0 TABLA A6 0 0 M A3 0 0 lb se protegesemuestraenlatabla 1b.Estapalabraseencuentrapermanenteenlas entradas QO a Q7 del comparador y cuando se recibe una palabra idéntica en las entradas PO a P7, entonces se manda una señal en bajo que pasaa través de la lógica TTL de Cl's 74LSOO la cual activará el 8279 o el 8255. Otro CI anexo que se encuentra en la tarjeta controladora esel 7406, el cuál es un TTL monolítico con seis inversoresbufferddrivers que tiene como característica importante quesussalidassondevoltaje-altoencolector-abierto,de tal formaquenosdanuna interface con circuitos de nivel-alto ( semejantes a los MOS ), o podemos tener cargas de corriente-alta ( comolamparas o relevadores ), y sontambiénutilizadoscomobuffers inversoresparatenersalidas T L . Prácticamenteen la tarjeta sonutilizadoscomo acopladores entre el CI 8255 y los periféricos, entre los que existen algunos relevadores y optoaisladores. Tambiénencontramos Cl's MOC3021,quesondispositivosoptoaisladores consisten en un diodo infrarrojo que y se acopla a un detector de silicio monolítico, de tal manera que cuando se hace llegar un voltaje de12Vdc al pin 1, el circuito funcionará como un interruptor cerrado que permitirá que circule una corriente de más de 10mA. Complemetariamente a estoscircuitos y formandopartede la lógicaparala generalización del uso de la tarjeta en cualquier PC desde una 8088 hasta una 80486 debenutilizar los Cl's 74LS393 y el 74121.Elprimero se de estoscircuitos esundoble contador binario de 4 bits, el cual se utiliza para dividir la frecuencia del reloj del sistema, esto por que la amplia gama de PC's también implica el manejo de un amplio rango de frecuenciasde reloj (4.4 Mhz a 66 Mhz).Estagrandiferenciaenlavelocidad de los microprocesadores tambiénse debe considerar en la variación que presenta en la velocidad delbusexternoparaaccesar a los puertos,por lo que el CI74121queesuncircuito multivibradormonoestable, lo utilizamosenlageneración proporcionar a los circuitos de nuestra tarjeta correctamente. 18 de unaseñal deretardopara el tiempo suficiente para operar i ¡ir------ Q ¿Y ZY UP 7 J L I I i I 1.3 SISTEMA DE COMUNICACIóN TELEFóNICA lo referente a el control y funcionamiento de la En esta parte se menciona todo línea telefónica. 1.3.1 LA LíNEATELEFóNICA La líneatelefónicaquellega a nuestrascasasesunaseñalsenoidal,lacual consta de diferentes tonos que explicaremosa continuación. TONO DE MARCAR. Estetono se percibecasiinstantáneamentedespués de hacer el descolgado. El voltaje de la línea asciende a un nivel de 7 V, acompañado de un tono de 450 Hz sobre el mismo nivel con una amplitud muestra enla figura 3. Figura 3. Tono de marcar 19 de 2 volts pico a pico. Este se -TONO DE LLAMAR. Se oye en caso de que el desocupado; esta señal se presenta como en el mudos de 4 segundos por abonado al que se llama esté caso anterior, sólo que con intervalos 1 segundo de tono. La señal de este tono se muestra en la siguiente figura. Figura 4. Tono de llamar. 20 -TONO DE OCUPADO. Sucede en el caso de que la línea del abonado al que se llame esté ocupadoy la señal permanecerá así aunque el abonado desocupe la línea. Estaseñaltienelasmismascaracterísticasqueladeltonodellamar,conla salvedad de que los intervalos son diferentes ( 0.5 segundos de tono por 0.5 segundos de silencio ) . 0.5 . .. I - .. . pq;y&: .. Figura 5. Tono de ocupado. Para saber si se ha contestado en el otro lado de la línea, se ha tomado el criterio de que si tenemos ausencia de los tonos existentes, entonces se ha contestado. Se aplica este criterio, debido a que la línea no presente ningún cambio significativo en el nivel de voltaje cuando al abonado al que se llama ha descolgado. 21 1.3.2 DETECTORDECADENCIA El detector de cadencia es la parte más importante que indica a la computadora en que tono se encuentra la linea telefónica. L a interpretación de los tonos a través de la PC es mediante el reconocimiento de ausencia o no ausencia de la señal senoidal de la línea, y se lleva a cabo de la siguiente manera: cuando tenemos el tono de marcar a la salida del detector de cadencia encontraremos un 1 lógico, para el tono de llamar habrá un 1 segundo durante y un O lógico durante 4 segundos; eneltonode 1 lógico ocupadose encontrarádurante 0.5 segundos un 1 lógico y un O en los siguientes 0.5 segundos; por último para el contestado se tomará el criterio descrito al final dela sección anterior. E n la parte alta de la figura 6 tenemos el detector de cadencia y como podemos observar consta de una etapapreamplificadora,dedosetapasamplificadoras,deun detector de envolvente y de una etapa de conversión lógica a preamplificadora tenemos que en su entrada vauna l T L . En la etapa bobina captadora, de lacual obtenemos la señal de la línea al aderirse con la bocina del teléfono; aquí la señal una vez preamplificada, se enviará a las etapas de amplificación, para obtener a la salida de una mejor señal quellegará al detectordeenvolvente. Las etapasdeamplificación realizaron con el CI TL082, el cual contienedosamplificadores detector de envolvente tendremos queentra estas, se operacionales. En el en la salida una señal que es la envolvente de la señal y cuando noentraninguna señal, entonceshabrá O Voltsalasalidadel detector. Para la conversióna la lógica TTL, es utilizadoelcircuitointegrado es un comparador de voltaje de alta comparador diferencial,quenosentrega velocidad, elcual LM311 que está configurado como un 5 Volts cuando existe señal en el detectorde envolvente y O Voltsen su ausencia. Es importantemencionarqueel tomar hasta 2.4 Volts y el 1 lógico de 2.5 Volts en adelante. 22 O lógico se puede I " t 91 4 3 N 4 t X N 4) I X B 'i; 1.3.3 CONTROL DEL TELÉFONO El controldel teléfono se llevacabomediantetresrelevadores, los cualesson activados de acuerdo con una algoritmo que sigue la computadora; de los tres relevadores uno sirve para descolgary poder obtener el tono de marcar, y los otros dos para marcar los númerosdel teléfono a donde se deseallamar. Decomosehacenlasllamadas hablarámásampliamenteenlaexplicacióndelsoftware,quees se el queprácticamente controla. 1.4 TECLADO, PUERTA, LUCES Y DETECTORES DE HUMO El teclado utilizado esuntecladomatricialcomúnque al pulsarcualquiertecla envía una señal a través de sus salidas. De su control ya se habló en la descripción del CI 8279. En lapuerta esusadaunacontraeléctrica, medianteunoptoaislador la cual esaccionadaporla MOC3021, el cual se encuentraenunode PC los alambresque unen la corriente con un transformador que antecedea la contra eléctrica,de tal forma que cuando se cierra dicho circuito es accionada y nosotros nos enteramos porque dicha contra eléctrica emite un sonido grave avisando que está lista. En cuanto al funcionamiento de la contra eléctrica, podemos decir que cuando es accionada, un pasador que detiene a la puerta queda movible, dejandoa la puerta con libertad paraque pueda ser abierta; cuando no es accionada el pasador está rígido impidiendo que se pueda abrir la puerta. Las luces también son acciondas con un CI MOC3021,que al cerrarse provocaque las luces se enciendan y al permanecer abierto las luces estén apagadas. encendido y apagado se encuentra ya programado. 23 El control de Para tener la corriente suficiente en la contra eléctricay en el encendido de luces se utilizantriacs decompuertasensitiva (2N6073), los cualessondispositivosque se diseñaron para aplicaciones de control en ondas-completas de ac, tales como las luces de alumbrado público, controlde motores, control de calentadoresy suplementos de potencia. Los detectoresdehumosoncircuitosque al haberhumoenunlugarcerrado mandan un 1 lógico y en ausencia de humo mantienen un O lógico. 24 CAPiTU LO 2 2.1 ASPECTOS GENERALES DEL PROGRAMA El software de este proyecto se puede considerar como un "driver" para la tarjeta del sistema. El programa se puede dividir conceptualmente en dos partes,la primera es la que es altamente dependiente del hardware y la segunda la que no lo es. También podemosrealizarunadivisiónfuncional del programaquenospresentadosbloques principales el de control de acceso yel de alarma. El programa se implanta utilizandoel lenguaje de programación C, lo cual nos permiteutilizaralgunas delasventajasdeestelenguaje,comoporejemploutilizar la directivadecompilación ##define paraindicar los valoresdeterminadospor el hardware como lo son las direcciones de programase los puertos y los códigos de las teclas. En utiliza el métododemuestreopararealizar pequeñasmodificaciones el el monitoreo,aunqueunas al hardwarepermitiríanimplantarvíasoftwarerutinasque respondieran a una interrupción con lo que se podría tener un driver residente. El utilizar un método de muestreo para rutina en la que se permanece en un ciclo el monitoreo nos lleva a crear una infinito , del cual solo se sale debido a alguna condición externa. El procedimiento de acceso es de naturaleza secuencial, por lo que el control mediante la PC es ideal en este caso. 25 2.2 MANEJO DE LA TARJETA Como se indicoanteriormente los valores determinados por el hardware la directivadecompilación##define. distinguenmediante se Estos parámetrosincluyenla dirección de los puertos y los códigos de : - Teclas de la puerta - Alarmas - Encendido automático de luces - Activación de la contra eléctrica de la puerta - Descuelgue del teléfono - Entrada del detector de cadencia - Reproductora de Mensaje de alerta - Marcaje del teléfono Todos estoscódigosestán implantados con el 8255, asociadoscon por lo quesuscódigos lasterminalesde los puertos se determinanporlaposiciónensu puerto asignado. Para observar como se determinan estos valores, pongamos por ejemplo a la REPRODUCTORA, que se encuentra asociada con la terminal PB5 del 8255 es decir su valor será de 2exp5 = 32 y este valor puertosa suvez solo se asociara al puerto B. Los valores de los estándeterminadosporel mapeo Hardwareque se lesasignoa los dispositivos 8255 y 8279. Para el caso de los códigosdeltecladodelapuerta,susvaloresestán asignados por su posición en la matriz que determina el 8279 mediante sus terminales SL y RL (renglón y columna respectivamente). Por ejemplo para determinar el código de la tecla 8 (Tecla-8) se tiene SHFT CTL 1 1 SL RL o1o o1 o 26 = OxD2 Y SHFTesde LosvaloresdeCTL hardware 1 porestarasídeterminadosen el ( CTL y SHFT, sinconexiónpresentannivelaltopuesinternamentetienen resistenciasdecarga ). SL=OlOindicaquelateclaestaconectadaalaterminalSL2, análogamente RL=010 indica la terminal RL2, de esta manera se pueden determinar todas y cada uno de los códigos de las teclas, así como de las alarmas de la puerta, ventanas detector de humo. La siguiente tabla muestra la asignación de códigos. RL3 SLO SL1 SL2 " " ---" " SL3 ---- RL2 RL1 RLO I I I 1 2 3 I sw1 4 5 6 sw2 7 8 9 sw3 * O # sw4 I I I " " " " " " " " CTL CHFT SL RL HEX TECLA-1 1 1 O00 o11 c3 TECLA-2 1 1 O00 o1o c2 TECLA-3 1 1 O00 O01 c3 TECLA-4 1 1 O01 o11 CB TECLA-5 1 1 O01 o1o CA TECLA-6 1 1 O01 O01 c9 TECLA-7 1 1 o1o o1 1 D3 TECLA-8 1 1 o1o o1o D2 TECLA-9 1 1 O10 O0 1 Dl TECLA-O 1 1 o1 1 O10 DA TECLA-* 1 1 o1 1 o11 DB TECLA-# 1 1 o1 1 O01 D9 sw1 1 1 O00 O00 co sw2 1 1 O0 1 O00 C8 sw3 1 1 O10 O00 DO sw4 1 1 o11 O00 D8 27 y Los códigos mencionados anteriormente están asociados con el hardware de la tarjeta del sistema, por lo quelasrutinasqueutilizanestosvaloreslaspodríamos clasificar como altamente dependientes del hardware y de uso exclusivo para este sistema en particular. La primerapartedelprogramarealiza una inicializaciónde los dispositivos 8279 y 8255, programando al 8255 en el modo O, puertos A y B de salida y el puerto C de entrada. Para la programacióndel8279 se deben haceralgunas consideraciones, como primer paso se debeprogramar el preescalar del reloj.Este prescalar debe ser tal que (Fp) / ( 16 x Prescalar) M 100 Khz. donde Fp = Frecuencia del microprocesador. El prescalar se considera cuando se desea instalar la tarjeta en un sistema de diferente Fp ya que este microprocesadores8088hasta ultimo valor 66Mhz en puede variar desde 4.25 Mhz en los los procesadoresde uso másreciente. Como caso particular ( dado que la tarjeta se probó e instaló en una 80386 ) tomemos Fp = 33 Mhz nuestro valor de prescalar será de O0001 b = 1 . Como siguiente paso se programa al 8279 en el modo decodificado de bloqueo por pulsación de dosteclas. Después de establecer los códigos correspondientes a los diferentes eventos del sistema, como paso lógico se necesitan rutinas de decodificación para obtener valores significativos para el programa y posteriormente significativos para el usuario. Una rutina representativa de este tipo es la función LeeTeclaO, la cual realiza una lecturaala FIFO del8279obteniendouncódigoydecodificandoloparaobtenerel carácter correspondiente a la teclao alarma activada. Los códigosasignados a cada unode los dispositivosacontrolar,nos permiten de una manerapractica utilizar las ventajas de la aritmética de bits para combinar 28 los diferentes estados que son necesarios parael control de dispositivos como el teléfono. El control del teléfono es un modulo de un proyecto , además de que nuestro control telefónico) , el cual tiene una amplia gama alto grado de elaboración dentro de nuestro es altamente dependiente de otro sistema (el deestados y condiciones que complican su control. En el software lo anterior se reflejaenrutinascomo la deldetector de cadencia , que se crearon de una manera un tanto empírica basándose en las condiciones de la línea telefónica que aunque teóricamentede patrones fijos, comúnmente presentan un amplio rango de variación, como en gran cantidad de ruido etc., .Como el cruce de líneas, interrupción de la comunicación, se busca la sencillez en el diseño, en el detector de cadencia se implementaron unas simples rutinas de presencia y no presencia de tonos, mediante la lectura a un puerto en tiempo realde la presencia o no presencia del tono, con lo quesegún la duración de estostonos se puededeterminar ocupado,llamando e incluso el estadodecontestadomediante los estados de línea, la determinacióndeun patrón irregular en los tonos. Este método no es 100 % seguro , pero un sistema que si lo fuera requeriría una interacción más profunda con el sistema telefónico, que incluso nos podría conducir hasta interaccionar con circuitos de la central telefónica. 2.3 ALMACENAMIENTO DE INFORMACI~N El softwarequenoesdependientedelhardware y queestaorientado al control de acceso, fue implementado para cumplir las siguientes especificaciones: - Una clavede acceso siempre comienza con un asterisco. - Todas las claves tienen4 dígitos (sin incluiral asterisco) - Si se teclean dosclavesdeaccesoincorrectasconsecutivamente el sistema se debe bloquear durante cinco minutos. - AI teclearunaclavevalida almacenarán la hora se activara el control de lapuerta, y fecha en un registro de accesos contendra sus últimos 30 accesos. 29 se de usuarioque Estas especificaciones debido a su independencia del hardware son susceptibles a mantenimiento. Pararealizar el almacenamiento de información se usaunarreglode apuntadores para realizar una asignación dinámica de los nuevos registros, con los datos de fecha y hora de entrada de cada unode los usuarios. A continuación se muestra el código fuente completo del programa para manejo del sistema. 30 el ...................................................................... I I* *I I* UNIVERSIDAD AUTONOMA METROPOLITANA *I I* IZTAPALAPAUNIDAD *I I* *I I* *I I* *I I* VIGILA : Software para el sistema de control de acceso y *I I* laboratorio T-327.del vigilancia *I I* *I I* *I *I I* Realizado por: I* - González Carrillo Ricardo 89327293 *I I* - Solís Ramírez Ricardo Alejandro 88226933 *I *I I* I* *I *I I* lmplementado con Turbo C, versión 2.0 I* *I I* *I *I I* I* VIGILA Versión 1.0 1994de -Junio *I ........................................................................ I #include <stdlib. h> #include cstdio.h> #include <alloc.h> #include <conio.h> #include <ctype.h> #include <time.h> #include <math. h> #include <bios.h> #include <dos.h> #include <string.h> #define #define #define #define #define #define ESTABLE O ACTIVO 1 TRUE 1 FALSE O ON 1 OFF O 31 P Definición de puertosy dispositivos */ #define #define #define #define #define #define PUERTOA 0x0300 PUERTOB 0x0301 PUERTOC 0x0302 CTL8255 0x0303 DAT8279 0x0304 INS8279 0x0305 P Parámetros de inicialización paralos puertos */ #define IN18255 0x89 P puertos A y B de salida, puerto C entrada */ #define MOD8279 0x1 1 P 8 carácteres 8 bits, entrada por la derecha exploración de teclado decodificada, bloqueo por pulsación dos de teclas. */ #define DIVCLOCK O x 2 1 P divide la frecuencia del reloj ( X Mhzl32 ) debe obtenerce aproximadamente 1O0 khz O01O0001 para 4 Mhz se tienen 125 Khz. */ Mefine CLR8279 OxD6 /* borra registros internos del 8279 */ P Parámetros de control*/ #define LEE8279 0x80 P Instrucción de lectura del 8279 OlOxxxxx */ de escritura 1OOOPPPP *I #define ESC8279 OxFO P Instrucción /* Definición de codigos del teclado externo */ #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define #define TECL-1 OxC3 TECL-2 OxC2 TECL-3 OxCl TECL-4 OxCB TECL-5 OxCA TECL-6 OxC9 TECL-7 OxD3 TECL-8 OxD2 TECL-9 OxDl TECL-O OxDA TECL-A OxDB TECL-G OxD9 SW1 OxCO SW2 OxC8 SW3 OxDO SW4 OxD8 32 P Define las salidas de control para el puerto B*/ #define AMARILLO Ox01 P Salidas para control el #define AZUL Ox02 P marcaje del número telefónico #define DESCOLGAR 0x1O #defineREPRODUCTORA Ox20 #define ABRIR-PUERTA 0x40 #define LUCES 0x80 #define NUMUSUARIOS 30 #define NUMACCESOS 30 #define MENSAJE 25 P Tiempo del mensaje */ */ */ /* Estados de la línea telefónica*/ #define #define #define #define #define OCUPADO 1 2 LLAMANDO LINEA 3 NOLINEA 4 CONTESTADO 5 #defineNUMTEL "4813" P Este es el númerotelefónico */ typedef struct int ClaveUsuario; int indice; char*FechaHora[NUMACCESOS]; } DATOS; DATOSUsuario[NUMUSUARIOS]; int oportunidad=O ; P arregloglobal */ void Control (int *Estado, char *clave ); void ActualizaEstado( int *Estado, char Tecla, char *clave ); void VerificaClave(char *clave); void Consulta(void); void Accesos(void); char LeeTecla(void); int Cadencia(void); void Alarma(char Tecla); int GetEstado(void); void Reactivar(void); 33 Función : Inicializar Esta función inicializaal 8255 y 8279. Además se inicializa el arreglo global y se dan dealta algunas claves. ............................................................... I void Inicializar(void) { int i, j; outportb( CTL8255 , IN18255 ); outportb( INS8279 , MOD8279 ); outportb( INS8279 , DIVCLOCK ); outportb( INS8279 , CLR8279 ); /* inicialización de variables globales */ for (¡=O; ic30; i++) { Usuario[i].ClaveUsuario = -1 ; Usuario[il.indice = O ; for (j=O; jc30; j++) Usuario[¡]. FechaHorab][O]= 'I; 1 /* inicializEI algunas claves*I Usuario[1 .ClaveUsuario = 1324 ; Usuario[2 .ClaveUsuario = 1492 ; Usuario[3 .ClaveUsuario = 7424 ; Usuario[4 .ClaveUsuario = 8324 ; Usuario[S .ClaveUsuario = 8932 ; Usuario[G .ClaveUsuario = 7293 ; Usuario[7 .ClaveUsuario = 9510 ; Usuario[8 .ClaveUsuario = 8451 ; Usuario[9 .ClaveUsuario = 5924 ; Usuario[ 1 l].ClaveUsuario = 4545 ; return; 1 .............................................................. 34 Función : Control Paramétros: &Estado, *clave. Regresa : nada. Esta función monitorea constantemente el estado del sistema actualizando los párametros de tiempo transcurrido. Tambien maneja el muestre0 de los puertos del teclado de la puerta y teclado de la PC. ............................................................... / void Control (int *Estado, char *clave ) { struct timet l , t2; gettime(&tl); while( *Estado== ESTABLE ) { gettime(&t2); if ( t l .ti_min+2 42.tjmin ) oportunidad= O;; r" inicializa oportunidades */ if ( t l .t¡-min+5 c t2.ti-min ) strcpy( clave,""); /* limpia buffer de teclas */ if ( bioskey(1) != O ) Consulta(); /* se desactiva temporalmenteel sistema */ gotoxy(32, 22); printf("%s", clave); *Estado = GetEstadoO; 1 return; .............................................................. Función : ActualizaEstado Paramétros: *Estado, char Tecla, char *clave. Regresa : nada. Esta función realizala actualizan del estado del sistema despues de identificar que evento provoco su llamada. .............................................. / void ActualizaEstado( int *Estado, char Tecla, char *clave ) { 35 switch (Tecla) { case return; 'A': /* estados alarma de */ case 'B': return; case IC':return; case ID': {*Estado = ESTABLE ; /* Aqui se incluye la rutina de alarma de fuego */ return; 1 case '# :{*Estado= ESTABLE ; /* tecla sin proceso */ return; 1 case I*' :{ strcpy( clave , "*" ); /*iniciode clave */ *Estado = ESTABLE ; return; 1 case '1' : ; case '2' : ; case '3' : ; case '4' : ; case '5' : ; case '6' : ; case '7' : ; case '8' : ; case '9' : ; case 'O' :{ if ( *clave == I*' ) { strncat( clave, &Tecla, 1); /* aumenta clave */ if ( strlen(c1ave)>= 5 ) { /* Si la clave esta clompleta verificala */ Verificaclave( clave+l ); strcpy( clave, "" ); 1 gOtoXy(1~ 22); printf(" 'I) ; gotoxy(l1 22); printf("1ntroduzcala clave de acceso :"); *Estado = ESTABLE ; return; 1 else *Estado=ESTABLE; 1 default : { *Estado= ESTABLE; return; .............................................................. Función : VerificaClave Paramétros: clave, es una cadena de cuatro digitos. Regresa : nada. 36 Esta función verificala clave y monitoreael número de intentos,si la clave es valida permiteel acceso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I void VerificaClave(char *clave) { int NumClave, i, Index; time-t It ; char *temp; NumClave = atoi(c1ave); for (¡=O;ie30; i++) if ( Usuario[i].ClaveUsuario == NumClave ) { It = time(NULL); Index = Usuario[i].indice ; temp = malloc(40); strcpy ( temp, ctime(&lt)); Usuario[i].FechaHora[lndex]= temp; Usuario[q.indice++; outportb( PUERTOB, ABRIR-PUERTA); gotoxy(l, 22); printf("PUERTAABIERTADURANTE 5 SEGUNDOS sleep(5); gotoxy(1 22); printf("1ntroduzca la clave de acceso outportb( PUERTOB, O ); I* cerrar puerta */ oportunidad = O; return; 'I); I :'I); 1 gotoxy(1 22) ; printf('lt\t ii CLAVEINVALIDA sleep(1); oportunidad++; if ( oportunidad== 3 ) { gotoxy(~ 22); printf('lt\t ii PUERTABLOQUEADA sleep(300); P bloquea la puerta 5 minutos *I outportb( INS8279 , CLR8279 ); Plimpia el buffer del teclado */ oportunidad = O; I !!'I); I !!'I); 1 return; 1 37 .............................................................. Función : Consulta Esta función interrumpe la vigilancia para proporcionar la interface al servicio de consulta de accesos. ............................................................... I void Consulta(void) { char Op; clrscr(); printf('~n\n%s\n\n\n\n\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n~Os'', SISTEMA TEMPORALMENTE SUSPENDIDO 11 II 11 11 1 11 II CONSULTA DE ACCESOS 11 II II < I > Accesosdeunusuario. <2> Salir" , II , II II II , Introduzca su opcióne>''); do { Op = toupper(getch()); } while (!( (Op==ll')ll(Op==121) )); if ( o p == Accesos(); clrscr(); Ill) printf('ln\n\n\n\n\n\n\n\n\n\t\t SISTEMA DE CONTROL Y ACCESO ACTIVADO"); gotoXy(1 22); printf("1ntroduzca la clave de acceso return ; I :'I); 1 4 .............................................................. Función : Accesos Esta función proporciona el setvicio de consulta de accesos de un usuario. ............................................................... I void Accesos(void) { char Clave[200]; int NumClave, i=O,j=O, Index ; 38 printf('ln\n\Teclee la clave del usuario :'I); scanf("%s",Clave ); NumClave = ato¡( Clave ); if ( NumClave ! = O ) { for (¡=O;ic30;i++) if ( Usuario[i].ClaveUsuario == NumClave ) { Index = Usuario[i].indice; if ( Index==O) printf('7nSinaccesos\n\n"); else printf('7nSus accesos fueron \n\n"); for (j=O; j c Index ; j++) printf ("%S", Usuario[i].FechaHora[j]); printf('7n0hs\n", oprima cualquier tecla para continuar"); getch0; return: II 1 printf('7nClave no encontrada."); printf('7noprima cualquier teclapara continuar."); getch0; return; 1 printf('7nENTRADA INVALIDA oprima cualquier tecla para continuar."); getch0; return; 1 .............................................................. Función : LeeTecla Paramétros: nada. Regresa : un unsigned char con la tecla oprimida. Esta función obtiene el codigo de la tecla oprimida, compara su codigoy regresa suvalor de tecla decodificada. ............................................................... 1 char LeeTecla(void) { unsigned char Codigo; outportb( INS8279, LEE8279); Codigo = inportb( DAT8279 ); switch (Codigo) { 39 case TECL-1 : return( '1' ); case TECL-2 : return( '2' ); case TECL-3 : return( '3' ); case TECL-4 : return( '4' ); case TECL-5 : return( '5' ); case TECL-6 : return( '6 ); case TECL-7 : return( '7' ); case TECL-8 : return( '8' ); case TECL-9 : return( '9' ); case TECL-O : return( 'O'); case TECL-A : return( ); case TECL-G : return( ' # ); case SW1 : return('A' ); case SW2 : return('B' ); case SW3 : return( 'C' ); case SW4 : return( ' D ); '*I default : return( " ); 1 1 .............................................................. Función : GetEstado Paramétros: nada. Regresa : El estado actual del 8279 . 1 (ACTIVO) si se han oprimido teclas, O (ESTABLE) en otro caso. ............................................................... / int GetEstado(void) 1 unsigned char Status; Status = inportb( INS8279); /* lee estatus del 8279*/ Status = ( Status &Ox07 ) ; /* existen carácteres enla FIFO */ if ( Status ) return( ACTIVO ) ; /* se pulso alguna tecla */ else return( ESTABLE ); /*hay teclas no */ 1 .............................................................. Función : Reactivar Paramétros: nada. Regresa : nada. I Esta función debe dar instrucciones para reactivación del 40 sistema dependiendodel lugar de instalación. ................................................................ / void Reactivar(void) { clrscr(); printf('7nEs necesario reactivarel sistema"); printf('7n\n%s", oprima cualquier tecla para terminar"); getch0; return; I1 1 .............................................................. Función : Cadencia Paramétros: nada. Regresa : La cadencia obtenida del puertoC. Esta función realiza de una detección de la cadencia precente en la línea telefónica. ............................................................... / int Cadencia(void) { struct time t l , t2; long int Centesimas; int tono, ocupado=O, contestado=O, Ilamando=O; while(1) { gettime(&tl); tono = ( inport(PUERT0C) &Ox01 ); P lee bit PC0 */ while( tono == (inport(PUERTOC)&OxOl) ) { gettime(&t2); ) if ( t l .ti_sec+65 t2.ti-sec+60 if (tono == 1 ) return(LINEA) ; return(N0LINEA); else 1 Centesimas = t2.ti-sec*100 + t2.tjhund - (tl.ti-sec*lOO + tl.tjhund); if ( Centesimas e 2 ) continue; P posible ruido parametro 2*I else if (Centesimas e 200) { contestado++ ; if ( contestado > 10 ) return (CONTESTADO); 1 else if (Centesimas c 400) {ocupado++ ; if ( ocupado > 8 ) return (OCUPADO); 41 1 else if (Centesimas c 1500) { llamando++; if ( llamando > 5 ) return (LLAMANDO); .............................................................. Función : Alarma. Paramétros: char Tecla. Regresa : nada. Esta función toma la acción requerida segun los siguientes codigos: A .- (SWI) Forzamiento de la puerta. B .- (SW2) Alarma ventana 1. C .- (SW3) Alarma ventana 2. D .- (SW4) Detector de humo. Las salidas AZULES y AMARRILLOS se refieren a los contactos que tienen el teléfono en el disco rotatorio para el marcaje. Nota : L a condicion D no esta implementada. ............................................................... I void Alarma(char Tecla) { char *Telefono, Digito; int continuar=TRUE , Tono, i, Numero ; do { do { outportb( PUERTOB, DESCOLGAR); printf('7ntelefono descolgado\n"); Tono= Cadencia(); delay(5000); if ( Tono != LINEA ) { continuar= FALSE; outportb( PUERTOB, O ); 1 42 else continuar = TRUE; } while ( continuar == FALSE ); Telefono = NUMTEL ; while ( *Telefono != NULL ) P Marcaje del número telefónico */ { Digito = *Telefono ; Numero = ato¡( &Digit0); if ( Numero==O ) Numero=lO; printf('7nMarcando el digito %d", Numero%lO); outportb(PUERTOB, DESCOLGAR+AMARILLO);P se cierran los amarillos */ delay(500); for (¡=O; ¡<Numero ; i++) { outportb(PUERTOB, DESCOLGAR+AMARILLO+AZUL); P abrir azul*/ delay(50); outportb(PUERTOB, DESCOLGAR+AMARILLO);P cerrar azules*/ delay(50); . 1 outportb(PUERTOB, DESCOLGAR); delay( 1000); Telefono++; 1 delay(6000) ; /* espera que reaccione la linea*/ Tono = Cadencia(); while( Tono == LLAMANDO ) { printf('7nLlamando ..."); Tono = Cadencia(); 1 if ( Tono == CONTESTADO ) break; else if ( Tono == OCUPADO ) { continuar = FALSE; break; 1 }while( continuar== FALSE ); P el telefono se contesto */ outportb( PUERTOB, DESCOLGAR+REPRODUCTORA); printf('7ntelefono contestado"); sleep(MENSAJE); outportb( PUERTOB, DESCOLGAR ); P apaga la reproductora */ sleep(1); /* espera un segundo */ outportb(PUERTOB, OFF ); P cuelga el teléfono */ return; 1 43 ........................................................... FUNCION PRINCIPAL " " " " " ~ " " " " " " " " " " " " " " " " " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . I ............................................................. Función : main(Principal). Paramétros: Nada. Regresa : Codigo de terminación. ................................................. ++***********l int main(void) { intEstado = ESTABLE ; char Tecla, clave[6]="" ; Inicializar(); clrscr() ; printf("h\n\n\n\n\n\n\n\n\n\t\t SISTEMA DE CONTROLY ACCESO ACTIVADO); gotoxY(l,22); printf("1ntroduzca la clave de acceso do { Control( &Estado, clave) ; Tecla = LeeTecla() ; ActualizaEstado( &Estado, Tecla, clave ); :'I); 1 while ( Estado == ESTABLE ) ; if ( Estado == ACTIVO ) Alarma( Tecla ) ; > Reactivar(); return (O); o 44 CAPíTULO 3 3.1 INSTALACI~NDE SOFTWARE Y TARJETA Para instalar el sofwareesnecesarioverificar procesador y actualizarloen el códigofuente,tambien telefónico al que se realizará el parámetro de la velocidaddel sedebeespecificar el número la llamada en caso de activarse la alarma, tambien deben declararse las claves de acceso validas y finalmente recompilar el programa, teniendo listo el pograma executable para correrse una vez instalada la tarjeta. La instalación dela tarieta la podemos hacer conlos siguientes pasos: 1.- Se estacionan las cabezas magnéticas deescriiurdlectura del disco duro. Esto se hace con el fin de proteger la información del disco duro. 2.- Se apaga la computadora. 3.- Procedemos a abrir el CPU de la PC. 45 4.- Unavez abiertoel C P U , buscamos lasranurasdeexpansióncomo se muestra en la imagen y procedemos a instalar la tarjeta teniendo cuidado que los pins sean los correspondientes. La tarjeta entra a presión. 5.- S e coloca todo como al inicio. 3.2 INSTALACIóN DE PERIFÉRICOS Aquí es necesariotener a la mano la tabla de alambrado y la tarjeta controladora para poder hacerlas conexiones indicadas. Para conectar la tarjeta controladora y la tabla de alambrado, que es físicamenteuncableplanode 40 alambres.Dichobuscuentaconconectores hembras en los extremos, y cada conector tiene unaparteen coincidiralahoradeconectarsela se tiene un bus blanco, lacual se hace tarjeta y latabla con otraparteenblancoque encuentra en los conectores respectivos. 46 se Las otras partes que se necesitan instalar se muestran en la siguiente tabla: Símbolo Tipo de Conexión Significado Conexión 1 cx-1 terminales de Par van que directamente con la línea telefónica. Conexión 2 cx-2 Pardeterminalesqueseconectan con la contra eléctrica. cx-3 3 Conexión Par terminales de que van al interruptor de las luces. cx-4 4 Conexión Pardeterminalesqueseencargan de alimentar a la reproductora. Boton Push PB-1 1 Par de terminales donde se instalalo equivalente a un circuito abierto que cerrarse al indica que se está forrando la puerta vigilada. PB-2 Push Boton 2 En cada par de terminales se instala Y PB3 lo equivalenteauncircuitoabierto Push Boton3 detalformaquecuandosecierre nos indique que hay algún cristal roto. PB-4 Push Boton 4 En este par terminales de se conectan los detectores de humo. De talmaneraquevastaunode los detectores,queseencuentranen diferentes partes,para que se accione la alarma. RV-1 Relevador 1 Control telefónico. RV-2 Relevador 2 Control telefónico. RV-3 Relevador 3 Relevador que al cerrarse da línea. RV-4 Relevador 4 Relevador acciona que la reproductora. 47 Para conectar el teclado a más distancia, basta con desalambrar cada uno de los pinsdel teclado, agregar más alambrehasta donde se desee y volveraalambrar cada pin. 3.3 RECOMENDACIONES S e incluyó esta sección para tener un mejor funcionamiento y mantenimiento del sistema de vigilancia. -Si alinstalarelsistema las llamadastelefónicasno se realizan,cheque primeramente el buen funcionamiento de la línea, y si está bien, haga una observación en los relevadores RV-1, RV-2 y RV-3 teniendocomoobjetivoquepor lo menos cada uno debe accionarse una vez. -Para hacer elestacionamiento de las cabezas magnéticasdela PC, puede utilizarse la instrucción de Parking del PCTOOLS. -Debe tenerse cuidado de no tocar la circuiteria de la tarjeta o del C P U al hacer lainstalación de la tarjeta,ya que existen CI MOS que pueden ser dañados con una carga estática que provenga de para que lo anteriorno su mano. Puede usar una pulsera que esté aterrizada suceda y se tengamayorseguridadalahoradehacer las instalaciones. -Cheque lasinstruccionesquevienenenelprogramaparalainstalacióndel sistema de vigilancia. -Revisar los manuales de la bibliografía en caso de alguna duda con un circuito integrado. -Para asegurar que el sistema de vigilancia permanesca activado a pesar de la falta de corriente en el lugar, instalar un NO BREAK a la computadora. 48 BIBLIOGRAFíA -APUNTES DE COMUNICACIONES. Yudiel Pérez Espejo. UAM-I . México 1994. - TECHNICAL REFERENCE IBM. PERSONAL COMPUTER HARDWARE REFERENCE LIBRARY USA 1984. - TTL LOGIC. STANDARD TTL SCHOlTKY, LOWPOWER SCHOTTKY. TEXAS INSTRUMENTS. USA 1988. - PERIPHERALS. INTEL. U.S.A. 1989. -MICROPROCESSORS. INTEL. U.S.A. 1989. 49 -i486 PROCESSOR PROGRAMMER’S REFERENCE MANUAL. INTEL. U.S.A. 1990. -THYRISTOR DATA. MOTOROLA. U.S.A. 1991. -INTEGRATED ELECTRONICS. Jacob Millman * Christos C. Halkias. Ed. Mc Graw Hill. -TURBO C /C++. MANUAL DE REFERENCIA. Herbert Schildt. Ed. Mc Graw Hill. México 1992. 50