UNIVERSIDAD NACIONAL AUTONOMA DE MEXICO FACULTAD DE INGENIERIA DISEt'lO E IMPLEMENTACION DE UN DISPOSITIVO COMERCIAL DE PROTECCION DE SOFTWARE T E s 1 s QUE PARA OBTENER EL TITULO DE INGENIERO EN COMPUTACION PRESENTAN MA. ISA BEL CABRAL LO PEZ JESUS HUMBERTO FIGUEROA CABALLERO HUGO CABALLERO RAMIREZ DIRECTOR DE TESIS; lng. Rodolfo Heredia Vc!zquez 1 9 9 2 usrn coN f :1,!i t; r. E ORIGEN UNAM – Dirección General de Bibliotecas Tesis Digitales Restricciones de uso DERECHOS RESERVADOS © PROHIBIDA SU REPRODUCCIÓN TOTAL O PARCIAL Todo el material contenido en esta tesis está protegido por la Ley Federal del Derecho de Autor (LFDA) de los Estados Unidos Mexicanos (México). El uso de imágenes, fragmentos de videos, y demás material que sea objeto de protección de los derechos de autor, será exclusivamente para fines educativos e informativos y deberá citar la fuente donde la obtuvo mencionando el autor o autores. Cualquier uso distinto como el lucro, reproducción, edición o modificación, será perseguido y sancionado por el respectivo titular de los Derechos de Autor. INDICE INTRODUCCION EL PROBLEMA DE LA PIRATERIA DE SOFTWARE II OBJETIVO DE LA TESIS III CONTENIDO DE LA TESIS . . CAPITULO l. EL PUERTO PARALELO l .1 INTRODUCCION 1.1.1 Definición de puerto .. 1.1.2 Modos de transmisión .. iv viii ix 1.1 l. 2 1.1.3 Justificación del empleo del puerto paralelo 1.6 1.1.4 Asignación de direcciones base de E/S 1.7 1.1.5 Nombre tle dispositivos , 1.8 1.1.6 Conectores y seffales . . 1.9 1.1.7 El puerto bidireccional !.18 l. 2 HARDWARE 1.2.1 Funciones del puert•l paralelo 1.2.2 Habilitación del puel:'·to 1.2.3 Control d~l puerto paral~lo 1.2.4 Setl.ales 211teruas ..... . 1.19 l. 20 l. 21 1. 28 1 . 3 SOFTWARE l. 3. 1 El BIOS 1.3.2 ,Vector de interrupciones 1.3.3 Interrupción 17H .... CAPITULO 2. PROGRAMADOR DE EPROM 2.1 INTRODUCCION 2.1.1 Antecedentes . 2.1.2 Memorias EPROM 2.1.3 Memoria EPROM 27Cl6 2.2 HARDWARE 2. 2. 1 Propuesta 2.2.2 Diseno del control de la memoria . 2.2.3 Interface Computadora-Programador 2.2.4 Fuente de alimentación ..... . 2 . 3 SOFTWARE 2.3.l Requie1tos 2.3.2 Arquitectura ..... 2.3.3 Diagrama de estructura 2.3.4 Descripción de procesos del programa 2.3.5 Rutinas de grabdción y lectura .. , CAPITULO 3, PROTECTOR DE SOFTWARE 3. 1 HARDWARE 3.1.1 Modos de operación del Protector 3.1.2 Modo Protector .. 3.1.3 Modo Transparente 3.1.4 Fuente de alimentación 3.2 SOFTWARE 3.2.1 Requisitos 3.2.2 Módulos del programa 3. 2. 3 Di sef'io del progro.ma i i l. 36 1.39 1.42 2~1 2 .. 2 2.3 2;6 2.7 2.13 2.24 2. 26 2.26 2. 28 2.30 2.36 3.1 3.2 3.5 3.7 3.10 3 .10 3.12 CAPITULO 4. PRUEBAS E IMPLl'MENTAC!ON 4.l PRUEBAS DE PROTOTIPOS ... 4.2 IMPLEMENTACION EN CIRCUITOS IMPRESOS CONCLUSIONES UNA EXPERIENCIA REAL DE DISERO EN MEXICO A B c APENDICES HOJAS DE ESPECIFICACIONES LISTADO DE LA INTERRUPCION l7H MANUAL DEL USUARIO DEL PROGRAMADOR DE EPROM BIBLIOGRAFIA iii 4.1 4.3 5.l A.1 B. l C.1 INTRODUCCION t_L PROBLEMA DE LA PIRATERIA DE SOFTWARE. La pirater1a de software puede definirse. simplemente. como la copia no autor1zada de programas. Al ¡gual que en la industria del disco y el cassette. con la cual tiene muchos problemas en común. la piratería se produce de diferentes formas y a distintos n1v~leG. Del mismo modQ que es ilegal realiz.:sr copias de CdSSP.ttes de música propiedad de otras personas, efectuar copias de programas o en mayor número de las permitidas por la licencia de uso Cinclusive aunque sean sin fines lucrativosl. representa incurrir en piratería de softwa1·e. Hay formas de copiar dentro de la ley: la mayoría de los provet:dores de soft.ware par-a microcomput"-doras autot"izo.n ho..cer una copia para fines de respaldo. Puede ddrse el c.aso de que dlguna licenc1a de uso autorice múltiples copias. Al nivel mas baJo. se comete pirater1a cada vez que el propietario de una computadora personal copia un programa que 1 e ha pre:=tado un ami ge•. Pueden distinguirse tres tipos de pira ter ia de softwar-=: la piri:Jteri·a comercial. que propician ciertos vendedores de computadoras como atractivo para sus clientes. por eJ~mpl•.:i. al ofrect:!'r cierto procesador de paJ.abreis en la 1;ompn.i de >: r,1·.Jd•~lo Jo:- c•:irupUt:tdora. con el fin ci·=- incrementar lV su valor efectivo: ld pir.Jt~rí" empresdrial. que propician algunas companías que adquieren un solo paquete de software y luego distribuyen copias del programa para ser usadas aimult6neamente en todos su:;; departamentos: y lsado puerto serie en en el estándar las computadoras personales está RS-232 establecido por la EIA (Asociación de la Industria Electrónica), el cual fija las reglas para el intercambio de datos entre equipos que empleén comunicaciones en serie. Se trata de una comunicación bidireccional y as1ncrona muy flexible. ya que está disenada para un~ amplia va~iedad de usos. Para lograr esta flexibilidad es necesario ajustar ciertos parámetros de comunicación para adaptarse a las necesidades particulares del enlace que se desea establecer. Estos parámetros son la velocidad de transmisión. la paridad, el número de bits que componen el caracter y el número de bita de paro. En las PC el puerto serie ee usa como una alternativa para las impresoras y graficadores en paralelo, para algunos dispositivos de entrada como ratones y rastreadores. pero sobre todo. para la comunicación entre computadoras. Loe conectores más comúnmente utilizados en la transmisión en serie son loe OB-25 y DB-9 y en algunas ocasiones los tipo DIN. Se puede utilizar cable plano o cable convencional redondo con mQltiplea conductores, pero debido voltajes utlilizados. la mdxima longitud a los bajos del cable recomendada ea de 15. metros aproximadamente. Si se usa un 1.3 cable m6s largo se pueden perder datos debido a la caida de voltaje resultante del incremento de la resistencia eléctrica del cable. Los puertos serie de la PC se basan en dispositivos UART (Transmisor Receptor As1ncrono Universal), la mayoría de los cuales siguen un estándar que permite transferencias de hasta 115,200 bits por segundo Cbps). No obstante, las velocidades utilizadas en comunicaciones van de los 110 bps (en equipos obsoletos) hasta 19,200 bps. No se utilizan velocidades m6s altas porque se requieren líneas especiales aisladas de interferencias exteriores. as1 como equipo caro de modulación y transmisión. Normalmente. cada caracter enviado se compone de 10 bits (el byte de dato más los bits adicionales). A.si. una forma aproximada de conocer el número de coracteres enviados por segundo (cps}, es dividir la velocidad en bps entre 10. Por ejemplo en una transmisión a 19.200 bps se estar1an enviando 1,920 cps. Transmisión en Paralelo. Por el contrario, en la trasmisión en paralelo la información se env1a utilizando un conductor para cada uno de loe bits que componen un caracter. Todos los bits son enviados simult6neamente por lo que al menos ocho conductores son necesarios. Adicionalmente. ae utilizan algunos conductores extras para controlar la transmisión. En las computadoras personales el puerto paralelo ha sido dedicado casi exclusivamente para la conexión de la impresora. por lo cual en seguida se describe en detalle la forma en que funciona. La computadora básicamente tiene dos cosas que enviar a la impresora: los datos a imprimir y unas cuantas sefial·es de control para inicializarla. indicarle cuando se tiene listo 1.4 un dato para enviarle. etc. Es importante notar que también es posible controlar a la impresora a través de las lineas dedicadas al envío de loe datos a imprimir. Para ésto basta con que la impresora reconozca cuando se trata de una seMal de control y cuando se trata de un dato a imprimir. Existen dos formas de enviar órdenes a la impresora a través de las líneas de datos: por medio de códigos de control y de secuencias de escape. Ambas se explicarán m4s adelante. Se considera que el puerto paralelo ea un1direccional porque los datos son enviados en un solo sentido. aunque estrictamente no lo es porque la impresora. por su parte. utiliza algunas líneas para informarle la computadora cuando está ocupada, cuando ha recibido un dato. cuando se ha producido un error. etc. En las computadoras PS/2 el puerto paralelo ha sido rediseMado para permitir comunicación bidireccional. Ventajae de la Transmisión en Paralelo. Internamente las computadoras mueven los datos en paralelo. de modo que loa circuitos necesarios para construir un puerto paralelo son relativamente simples. Gracias a esta simplicidad el puerto paralelo es una de las conexiones más f4ciles de usar ya que se utiliza un cable estándar y no es necesario ajustar ningún parámetro de comunicación. lo cual no se cumple para la comunicación en serie. Debido a que se cuenta con ocho conductores. los datos se pueden mover potencialmente ocho veces más rápido que utilizando un solo conductor. Considerando el tiempo mínimo requerido por las senales de control. el puerto paralelo puede transmitir a una velocidad aproximada de 100.000 bytes en un segundo. 1.5 En el caBo de la comunicación con la impresora, esta velocidad disminuye notablemente porque son necesarios una serie de procedimientos, tanto de parte de la computadora como de la impresora. que retrasan el proceso. Por ejemplo. cada vez que se transmite un caracter, es necesario cargarlo en las líneas de datos y esperar la seNal de recibido a través de una rutina BIOS. La velocidad final obtenida es de aproximadamente 1,000 epa, muy aproximada a la obtenida en la interface serie. Limitacionee de la Tranemieión en Paralelo. El cable utilizado para la transmisión en paralelo es más caro que el usado en la transmisión serie por poseer un mayor número de conductores, sin embargo, el mayor problema que se presenta con la transmisión en paralelo es conocido como crosetalk: el uso de móltiples conductores en un cable y la variedad de sena les que interferencias telefónicas es transitan por él, entre ellas. Este el que ocasiona tienden a producir problema en las líneas que la plática en una conversación se "cruce" con otra. Mientras más largo es el cable mayor es la interferencia y de ahí es que los fabricantes recomienden un máximo de 3 metros en la longitud del cable para prevenir problemas. La sensitividad al problema de crosstalk varía entre computadoras e impresoras. Algunos sistemas trabajar4n bien con cables de hasta 15 metros de largo. pero para evitar problemas. lo más recomendable es mantener la impresora lo m4s cerca posible de la computadora. 1.1.3 JUSTIFICACION DEL EMPLEO DEL PUERTO PARALELO. lPor qué utilizar el puerto paralelo en la presente tesis para la conexión del Programador de EPROM y del Protector de Software? El elemento principal del Programador y del Protector de Software ea una memoria EPROM 27C16. Como 1.6 se verá más adelante, esta memoria poseé once 11neas para formar las direcciones y ocho lineas que componen los datos a grabarse o a leerse. La manera más simple y lógica de proveer a la EPROM con todos estos bits es en paralelo. Utilizar el puerto paralelo permitirá utilizar el menor número de circuitos integrados y por lo tanto. minimizar el costo de fabricación de ambos dispositivos. La limitante en la longitud del cable paralelo no es un factor que influya en estos disenos por encontrarse loa dispositivos muy cerca de la computadora. 1.1.4 ASIGNACION DE DIRECCIONES BASE DE ENTRADA/SALIDA. El sistema operativo DOS permite conectar hasta 3 puertos paralelos a una computadora a la vez. Para distinguirlos. cada puerto tiene asociada una dirección de E/S. Estas direcciones base pueden ser 3BCH (956 decimal), 378H (888 decimal) y/o 278H (632 decimal) y deben ser únicas para cada puerto. Se pueden tener tres puertos en una computadora sólo si uno de ellos está en la tarjeta de video' MDA o su equivalente. De otra manera, DOS limita a la computadora a dos puertos paralelos. La dirección 03BCH está reservada para el puerto paralelo instalado en la tarjeta MOA. Como las computadoras PS/2 no pueden usar eeta tarjeta. ya que tienen su propia tarjeta de video integrada. la dirección 3BCH está asignada como estándar en esas computadoras. Las otras dos direcciones están disponibles para puertos adicionales. Laa computadoras PC. XT y AT equipadas con puertos paralelos integrados, normalmente no asignan la dirección 3BCH a su puerto por si se llega a usar una tarjeta MDA. En cambio. normalmente proveen una dirección base de 378H a su 1. 7 puerto y algUn medio para cambiar la dirección. ttpicamente jumpers o interruptores tipo DIP. Cuando la computadora se enciende o se reinicializa. el 005 busca puertos paralelos. primero en la dirección de E/S 3BCH. luego en 378H y por último en 278H. Para cada puerto que va encontrando se almacena su dirección de E/S en el Area de Datos BIOS a partir de la dirección absoluta 0040BH {1032 decimal). La dirección de E/S del primer puerto encontrado (ya sea 3BCH. 378H. 278H) queda en las localidades de memoria 00408H y 00409H. La dirección de E/S del segundo puerto (si lo hay) queda en las localidades 0040AH y 0040BH y la del tercer puerto (si lo hay) queda en las localidades 0040CH y 0040DH. Si no se encuentran uno o mas puertos. las localidades de memoria correspondientes quedan en ceros. De esta forma la o las direcciones de E/S de el los puertos quedan disponibles para cualquier programa que necesite accesarlos. 1.1.5 NOMBRES DE DISPOSITIVOS. Como ya se mencionó. dispositivos de E/S. Para paralelos que soporta el dispositivos son LPTl, LPT2 el DOS asigna nombres a los el caso de los tres puertos sistema. estos nombres de Y LPT3 (abreviación de Line PrinTer}. También existe el nombre de dispositivo PRN que es sinónimo de LPTl. Estos nombres lógicos no necesariamente tienen que corresponder con un conjunto dado de direcciones de E/S. Si sólo se tiene un puerto paralelo en la computadora. DOS siempre lo nombra LPTl sin importar la dirección de E/S que use. Si se tienen dos puertos paralelos. DOS le asigna el nombre de LPTl al puerto que tiene la dirección más alta. Por ejemplo. si los puertos usan 378H y 278H, el puerto en 1.8 378H se vuelve LPTl y el que está en 27BH se vuelve LPT2. Si se tienen tres puertos paralelos instalados, el puerto 3BCH se vuelve·LPTl. el 37BH se vuelve LPT2 y el 27BH se vuelve LPT3. Asi. si se tiene una PC con tarjeta MOA o una PS/2 con puerto paralelo incluido, ese puerto será LPTl o PRN. Como consecuencia de este esquema de asignación. se garantiza que haya un dispositivo LPTl {o PRNl en una computadora. independientemente de la dirección de E/S asignada a él (suponiendo que hay al menos un puerto paralelo conectado, por supuesto}. Si se tienen dos puertos con la misma dirección de E/S. el DOS les asignará el mismo nombre de dispositivo y es probable que ninguno trabajará. Tampoco debe excederse el máximo de tres puertos paralelos. que es el límite impuesto por el DOS son de escritura y las que llevan la letra R (READ) son de lectura. Las senalea con la palabra DATA controlan las lineas de datos; las que tienen la palabra CONTROL manejan las líneas de control: y las que llevan la palabra STATUS controlan las líneas de estado. 74LS155 378F 4> 2C -PRINT CTRL R <-PCR) -378F 1Y2 lC -PRINT CTRL 'w' (-PC'w') -XID\./ 2Y2 2G -PRIMT STATUS <-PST) -XIDR lYl lr:i -PRINT DATA R C-PDR) Al lYO B -PRINT DATA 'vi <-PD'w') AO 2YO A FIG·. 1.4 DECODIFICADOR 74LS155 COMO CONTROL DEL PUERTO l. 25 Cuando ae realiza una escriturd. -XIOW CG2l ea baja y - XIOR es alta. de manera que las salidas 2YO. 2Yl. 2Y2 y 2Y3 pueden tomar un valor bajo. una a la vez. dependiendo del valor de las entradas B y A (dado por Al y AOl. De estas salidas sólo 2YO y ~Y2 son usadas por el puerto. Por su part~. las salidas !YO a 1Y3 son altas en todo~ los casos. Es decir. cuando se realiza ur.a escritura con ld instrucción OUT. las seNales -PRINT DATA W y -PRINT CONTROL W pueden ser activadas. como era de esperarse puesto que son las lineas que controlan las funciones de escritura. Cuando se efectúa una lectura. -XIOR (Gl) es baja y - XIOW ea alta y esta vez las salidas lYO. lYl. 1Y2 Y 1Y3 son las que trabajan. mientras que las salidas 2YO a 2Y3 est4n en estado lógico alto. De las cuatro salidas que ae pueden activar sólo lYO, 1Yl y 1Y2 están conectadas y cual de ellas se active depender6 de los valores en las lineas de dirección AO y Al. En otras palabras, cuando se realiza una lectura con la instrucción IN. las aenales -PRINT DATA R. · PRINT STATUS y -PRINT CONTROL R pueden ser activadas ya que son las lineas que controlan las funciones de lectura. Las lineas AO y Al se utilizan para indicar cual de las funciones de escritura o de lectura se llevará a cabo. Recordando que los bits A2 a Al5 del bus de direcciones no pueden ser alterados (porque la combinación de ellos ea la que habilita el puerto}. sólo las entradas Al y AO. que son las lineas de selección, pueden modificarse. Esto permite cuatro combinaciones para la escritura y cuatro para la lectura que se analizan a continuación: a) Al•AO•O. Como se observa, la dirección base del puerto 378H cumple esta condición ya que tiene valor cero en loa dos bits menos significativos. Si se efectúa un OUT con una de esas direcciones. se está poniendo en bajo l. :?6 la salida -PRINT DATA W C2YO). Por el contrario, ai ae hace un IN con una de esas direcciones se pone en baja la salida -PRINT DATA R ClYOl. b) Al•O. AO•l. Esta condición se cumple si se incrementa en uno la dirección base (con la dirección 379H}. Con un OUT activamos la linea 2Y1. que no estd conectada. Con un IN ponemos en baja 1Y1. ea decir. -PRINT STATUS. e) Al•l. A0-0. Incrementando en dos la dirección base se cumplen eatos valores (dirección 37AHl. Con un OUT se pone en baja la salida -PRINT CONTROL W (2Y2) y con un IN activamos la salida 1Y2. -PRINT CONTROL R. d) Al•l, A0-1. Las direcciones 3BFH. 37BH ó 27BH no nos sirven pues 2Y3 y 1Y3 no estdn conectadas. Volviendo a generalizar para las tres posibles direcciones base del puerto, se tiene la tabla siguiente que muestra las funciones del puerto y como se controlan: Sali- Sef'tal que se activa Dirección Operación da en bajo 3BCH 37BH 27BH OUT 2YO -PRINT DATA W 3BEH 37AH 27AH OUT 2Y2 -PRINT CONTROL W 3BCH 37BH 27BH IN lYO -PRINT DATA R 3BDH 379H 279H IN lYl -PRINT STATUS 3BEH 37l\H 27AH IN 1Y2 -PRINT CONTROL R Como se ve, de acuerdo a la dirección y a la operación utilizada. sólo una de las sef'tales de salida es baja a la vez. De esta forma se logra realizar una de las cinco funciones del puerto paralelo. 1.27 Resumiendo. las senales 378F o 3BCF o 278F habilitan al puerto correspondiente. si hay mas de uno. La dirección de E/S utilizada detenninard. a través de las lineas AO y Al, sobre cual de los grupos de senales se llevard a cabo la operación: • Dirección Base. Si se utiliza esta dirección se trabajará con las senales de datos. • Dirección Base + l. Con esta direccion se manejan las senales de estado de la impresora. 1 Dirección Base + 2. Esta dirección permite manipular las seNales de control. Las instrucciones OUT e IN. por medio de las aeffales - XIOW y -XIOR. determinan si se escribe en el puerto o se lee de él. l, 2, 2 SERALES INTERNAS. Lo explicado hasta aqui es la forma en que se controla el puerto paralelo. El decodificador 74LS155 y las seNales que le llegan son las encargadas de ordenar al puerto lo que debe hacer. Las senales que salen del decodificador llevarán a cabo esa cada una de bloques del tarea. A continuación se estudiará cómo trabajan éstas. La figura 1.5 muestra el diagrama de puerto paralelo y la figura 1.7 el diagrama eléctrico. 1unbas figuras ayudan a aclarar la siguiente explicación. -PRINT DATA W. La aeffal -PR!NT DATA W sirve para enviar los bite que componen el caracter al exterior. a través de un CI 74LS273. 1.28 Este circuito integrado consta de 8 flip-flops D que siempre están habilitados, ya que la entrada CLR esta conectada a 5 volts permanentemente. La senal -PRINT DATA W funciona como reloj de los flip-flops y ea invertida de antemano porque las salidas se activan durante el flanco positivo (de subida). Cuando -PRINT DATA W baja. en las salidas de este circuito se tienen los mismos valores que hay en las entradas. De este modo, un bit l enviado al puerto resultará en un nivel lógico TfL en el pin correspondiente del conector DB-25. Los capacitores que están conectados a cada uno de los bits de salida de dicho integrado sirven para eliminar ruido. 1 u.. ·, V FIG. 1.5 DIAGRAMA DE BLOQUES DEL PUERTO l.29 -PRINT DATA R. La eenal -PRINT DATA R permite leer loa bits que se encuentran en las 11neas de datos con el propósito de verificar que el dato se escribió correctamente. -PRINT DATA R funciona como habilitador de ocho buffere tres estados. contenidos en el CI 74LS244. cuando -PRlNT DATAR es baja. se tiene en las salidas el mismo valor que en las entradas. En el diagrama se observa que las salidas del 74LS244 están conectadas a otras senalee pero éstas no afectan al dato leído. Como las seMalea -PRINT STATUS y -PRINT CONTROL R son altas (recordar que de las salidas del 74LS155 sólo una es baja a la vez). las salidas del 74LS240 están en alta impedancia y es como si no estuvieran conectadas a las 11neaa de salida del 74LS244. También la eenal de -Error se encuentra en alta impedancia como puede deducirse del circuito, tomando en cuenta que el estado de -PRINT STATUS es al to. -PRINT CONTROL W. La línea -PRINT CONTROL W permite escribir las aefiales de control a través del CI 74LS174. el cual contiene seis flip-flope tipo D. El ·valor que toman estas cuatro sefiales está dado por las líneas de datos XDO a XD3. donde -Strobe ea el negado de XDO. -Auto FOXT es el negado de XDl. -Init es igual a X02 y -Slct In es el negado de XD3. -PRINT CONTROL W es invertida para actuar como reloj de los flip- flops, los cuales se activa.o ·con flanco positivo. La. línea XD4 pasa. también a través del 74LS174 y es la que permite que la. senal -Acknowledge genere o no una. interrupción de nivel 7. Si se escribe un uno en XD4. al bajar -PRINT CONTROL W, la línea de -Acknowledge queda. en l.30 posibilidad de producir interrupciones. -PRINT CONTROL R. El CI 74LS240 contiene ocho buffers inversores con salida tres estados. Dos entradas de habilitación controlan los buffers manejándose como dos conjuntos independienteB de cuatro buffers cada uno. -PRINT CONTROL R habilita los buffera que permiten leer las senales de estado -Strobe. -Auto FDXT. -Init y -Slct In. Esta senal tiene dos usos: leer los valores de las lineas de control que se han mandado escribir con -PRINT CONTROL W o leer senales que provengan del exterior. Todas las senales se leén por el bue de datos CXDO a XD7). En el primer caso los valores de -Strobe, -Auto FDXT. - Init y -Slct In que se escriban, serán los mismos que se lean en las lineas XDO. XDl, XD2 y XD3 respectivamen~e. Esto es asi porque -Strobe. -Auto FDXT y -Slct In son negadas al salir y al leerse por el 74LS240 se vuelven a negar. -Init es negada dos veces al salir pero es negada otras dos al leerse (por un inversor y por el 74LS240) . Para el segundo caso. como las cuatro eenates son salidas colector abierto, estas mismas líneas pueden usarse como entradas. Si el registro de salida 74LS174 produce un nivel lógic~ TTL alto en -Strobe. -Auto FDXT. -Init y -Slct In (después de los inversores), este nivel puede bajarse por otras sef'tales que se unan a estas lineas. Asi. un ci"rcuito externo puede controlar el nivel de estas senales y. usando el CI 74LS240. éstas pueden ser sensadas. Si se programan estas senales de salida a un estado lógico alto. pueden usarse como entradas. En este caso los valores de -Strobe. - Auto FDXT y -Slct In se leerán invertidos en las líneas XDO, 1.31 XDl y XD3 (porque el 74LS240 los inviertel y el mismo vdlor de -Init ee leerá en XD2 (porque ee invertido dos vecesl. En ambos casos la línea XD4 contiene el valor del bit que habilita las interrupcionee de nivel 7. Si se lee un uno. las interrupciones están habilitadas; si se lee un O no lo est6.n. Hay otras cinco aenalee conectadas al bus de datos pero est6n deshabilitadas. -Error est6 deshabilitada porque - PRINT STA11JS es alta. por tanto -XIOR est6 en alta impedancia y ésto ocasiona que -Error también esté en alta impedancia. El hecho de que -XIOR esté en alt~ impedancia provoca que la otra mitad de los buffere del 74LS240 se encuentren deehabilitadou ya que lGl es alta. SeMal -PRINT CONTROL R baja {usada para leer los valores escritos) Puertos: 37AH. 27AH o 3BEH OperaciOn1 Lectura CINl XDO • STROBE XDl • AUTO FDXT XD2 • XD3 • XD4 • INIT SLCT 1 si O ei IN (ERROR est4 en alta impedancia) las interrup. est6n habilitadas. no lo est6n. Cea el valor de XD4 anteriormente escrito) XD5 • XD6 • XD7 • ALTA IMPEDANCIA 1.32 -PRINT STATUS. SeHal -PRINT CONTROL R baja {usada para leer del exterior) Puertos: 37AH, 27AH o 3BEH Operación: Lectura (IN) XDO - Inverso de STROBE XDl • Inverso de AUTO FDXT XD2 - INIT XD3 • Inverso de SLCT IN XD4 - 1 si lns interrup. están habilitadas. O si no lo estan. Cea el valor de XD4 anteriormente escrito) XD5 - XD6 - XD7 - ALTA IMPEDANCIA -PRINT STATUS permite leer las lineas de estado -Error. Slct. PE. -Ack y Buey. Todas se leén por el bus de datos (XDO a X07). En XD3 se puede leer el valor de -Error porque -XIOR es baja y habilita al buffer independiente que controla a -Error. -PRINT STA11JS está conectada a un buffer tres estados habilitando. cuando es baja. a la seMal -XIOR. Como -XIOR también es baja por ser una lectura. habilita cuatro buf fers del CI 74LS240 que permiten leer las otras cuatro seMales de estado. En XD4 se presenta el valor de Slct; en X05 se presenta el valor de PE, en XD6 el de -Ack y en XD7 el negado de Busy. Por otra parte, XDO a XD2 estári deshabilitadas porque -PRINT CONTROL Res alta. -Slct In. que también llega a XD3. está en alta impedancia. El bit que controla las interrupciones y que llega a XD4 está deshabilitado también porque -PRINT CONTROL R es alta. Resumiendo: 1.33 Seftal -PRINT STATUS baja Direc. E/S: 379H. 279H o 3BDH Operación: Lectura 000010002 000010003 0000•0004 VECTOR 1 0000•0008 VECTOR 2 C!NT 2H) 0000.oooc VECTOR 3 000010010 VECTOR 4 39335834 E L P N L e6835884 dadassád E L L e63stEsd 43355348 E L E ¿ 3 5 8 5 3 8 an ¿ n ·- .. .,,. L ! -j11· .. J - ~~ :i 5m~~l~ ¡ :JI' ·-~ ... - N>-6 .... ..., .... ! l l ..., ru -- ~..u l>-L- ·~ =,.. m ~.-....- ..... ...,_ 1 - -o-al a: ! ~ ~ ..r:::t::t:tlil z ~ ¡ n fl ¡ ~ ~ 1 111 ..a; .. ..,... "·-- ---< w NaN NH'J .... ,__ y¡,. ~! -:!:. NCil'I N><'J cm-" N>-'f 3 ..u IW il3 111· 1 ~ s jll• - ~.:;J... 0-r- ~r~ m ~~ om aco GID OCP C>'f °" mm ~"&:l 1111 1 145 43130 28" pco , 1-3 r2 holens +3 solder sicdw Aapproximate siza» 6.15 by 1.5680 inchas 4 .5 4.6 1 • • • • • • • • • o • • 4.7 4.B ""ª"'"'ª" ... "' -· ,,_ t:>v •·•o 1 ,.. .. ...., •• 4. 4 .1 0 m u o '09 • .t.C O IU n e • .¡I .¡ l'l e .t an co- a ' D.N .t E o- o U> .o u o • n Q ot l'l o .t N .t • • N •.t .. • ... . l:.O O l' l u .e. O O. E l •N .t l'H X l... o G .t l'l l D l•D . X .t.t O. • o lf ••••••••• •••••••••••• - • • • • • ••••••••••••• ••••••••••• N>>•"'-~~~~~~~~~~~~~~~~~~ 4 .1 1 CONCLUSIONES UNA EXPERIENCIA REAL DE DISERO EN MEXICO. Se considera que el objetivo principal del trabajo se ha logrado, dado que se ha podido disenar y construir un dispositivo protector de aoftwore. utilizando tecnología totalmente nacional, abarcando desde el planteamiento de la idea básica, su desarrolle técnico, fabricación y pruebas de funcionamiento. Todo el material con el que se fabrico el dispositivo, incluyendo los circuitos integrados selecc1ona.dos, las tabletas para las pruebas preliminares de circuitos. los componentes electrónicos tales como transistores. capacitares, etc .. se encuentran disponibles en el mercado nacional. La elaboración de las placas de circuitos impresos y del chasis para montar los dispositivos fueron hechas por empresas mexicanas que cuentan con la tecnología propia adecuada. El trabajo de diseno realizado, tanto de EPROM como del Protector de Software, del Programador lo hemos podido lograr gracias las ensenanzas básicas que recibimos durante nuestros estudios en la Facultad de Ingeniería de la Universidad Nacional Autónoma de México, lo que nos permitió 5.1 analizar y comprender toda la información especializada que tuvimos que consultar en loa libros que se mencionan en la Bibliografia y que también se encuentran disponibles en el paia y que complementaron los conocimientos que aplicarnos para llevar a buen término nuestro objetivo. sin necesidad de recurrir a ninguna tecnologia exterior. El Protector de Software. independientemente del Programador de EPROM. se calcula que una vez fabricado en serie en forma industrializada, tendrá un precio de venta de $103.000.00 por unidad. precio que consideramos bastante asequible para proteger software cuyo importancia así lo requiera. Por su parte. el Programador de EPROM, con las mismaa condiciones de fabricación anteriores. tendría un precio de $474.000.00 por unidad. con la aclaración de que de este dispositivo. el fabricante de software únicamente tendría que utilizar una unidad, misma que le serviría para codificar todos los Protectores de Software que vendiera. En la actualidad. el avance tecnológico de nuestro pa1a se ampara mucho en la tecnología extranjera. prefiriendo pagar derechos de uso y de patente a desarrollar nuestra propia tecnología. La gran necesidad que tiene nuestro país de soluciones tecnológicas propias, ·aún para los problemas m6s sencillos. se ve ampliada con la próxima celebración del Acuerdo de Libre Comercio que firmará nuestro país con Canadá y Estados Unidos de Norteamérica, lo que nos obliga a ser 6.1 to.mente competitivos paro tener poeibi l ido.des de entrar en el me~cado de esos paises y ésto sólo lo podemos lograr desarrollando nuestras propias capacidades. Haciendo un and.lisis de todo lo anterior junto con los resultados obtenidos, se concluye que si tenemos el firme 5.2 propósito de lograr un objetivo. podemos hacerlo utilizando nuestros propios conocimientos y recursos disponibles sin necesidad de recurrir a tecnolog1as extranjeras. consiguiendo productos de fabricación nacional que permitirdn satisfacer nuestras necesidades y en muchos casos competir con el extranjero. 5.3 APENDJ:CE A HOJAS DE ESPECIFICACIONES Se anexan las hojas de especificaciones de los principales circuitos integrados utilizados. A.l National Semiconductor NMC27C16 16,384-Bit (2048 x 8) UV Erasable CMOS PROM General Description " Features The NMCZ7C10 la n tigh epaed 15k UY erasable and elec. MN Acces: ima down to 300 na suted for m Low CMHOS pawer consumplion — Áctrva Power; 20.25 mi max and low powsr corsumplion are enportani cequuements, — Stangoy Power. 0.53 me! max (95% savingu) Tha NMC27616 lz packaged in a 24-pin dualin-Iine pack "1 Performance compatible to NSCE00tA CMOS Ega wih vansperant hd. Tha Langparant hd allow3 tha Liat mcroprotesbor lo axpose hs CHA 10 Ulltaviolat git to eras INP Upata, 6 Sigla 5Y pawar duppty Anavw pasen can Lnan be wntlen into a dwvica by lolkow- Extended lemperáluiá 165g4 avádable Ing lna programming procedura. (AMC27CI8E 45), -40'C la » 850,450 m8 25% Trias EPAGM ls fanecated win Ino talabie;s rgh volume, pawar supply lime provean, PICMOSTH glicon gala lech d0gr. Pin compáétdle lo MMH2710 ¿nd heghar density EPAQMS Siátic-ng Clachs 18Quited TTL compabbia mputr/Oulpula m TRI-STATES culput Block Diagram e oe A PA 50 0-4 mo. M0111t Mames ot Butrur Ena BL AD-Atú Acdrosust Erro Cit MALE CUTAUT Jue PROG LOG DUIFGRS hb t . DECODIA . Y SATNa — A Asoness 4 A eur uo , HP? bh] DELUOLA : CÁLL Maia = . bo po TuDrbarh. y I L D E Z I A N ~Nat1onal ~Semiconductor C27C16 , 84·Blt 8 ) V r sable OS M eneral escrlptlon h• C27C11! 11•hl h1pud lllk V 1rH1bl1 lfKI l.e· lricalty 11ptogramm1bl1 CMOS EPROM, 1d1111!)1 1 1t1d l t 1ppllc1tlon1 wtwe IHl lum1101Jnd, p11111n ••Perlm1n1111on d c w COl'l1umplion 111 impon1n1 11 111menl1. hti C27Cte 11 k1ged 1 4-pin 1J.ln l1n1 k• 1;1 Wllh l11n11)tr1n1 ltd M lr1 1pa11n1ltO1l o 1 o u111 up 11U\1ct\lp1oul r1v letl1Qhll 11uelllfbltp11111n. ne &UINTI n ll'\1n e nt11n 1 10 in1 11vie:e y l l hlr· l g Ull PfOQll mlng i'OCldul't. h1I ROM a 1l"lfieat1d "'nh ll'll 11il1bh•.' h.gh •Ol mt, t1 - r ven, l OSl.. 111ocon 111 lC l•-•">QY. l ck l r DUll'Ullllilll ClllflHl~l AJttlMIA~041t ' OltOGll atures • ceu 11m1 n l :1 0 1 • OW S PCIW9t 1umpti0n -A 1n ow11; 5. 5 w H - tl dDt ow•r. O.l!ol W .. llll'llo H \t1gl) • 1r1d1 1nc1 p1hbl1 SC8 0hl t.105 oe10p OUU01 • 1ng11 V ower l ply • allo tG U1 p.111LUfe fl/\O• 11!1ble N C21Cld ..&5). 40' 10 , B!l'C, 4&0 ne .t. 6'11> a "'r t plt • in p11>Ul• 1,1"42 18 l Q >gll•I • 111., ROJ.t• • ta\IC-no cio i..11•Qut11i'd • L .o p11obl• 1np..1-1o.i1pu11 • l· Te• ~lput . Oltoatl 'UlUll IU, AUll A.2 Absoluto Maxlmum Ratlngs '""' 11 11 Mllll1ry/.Alro1p1c1 1p1clll1d de'fltu u1 r1qulr•d, pluH contact lhl N1Uon1I S1mlconduc1or S1lu Olllt1/Dt1tr1bulor1 lor 1v1H1blllly 1nd 1p1clllc1\lon1. Temper11ur1Under6111 -IO'Clo i'&O°C StoragaTemp.11tu11 ··6$'Clo .. 125'C AJllnputVolt1QHw1th Respec1 10 Gtound ,. 6 sv to - O 3Y Al! Oulpt¡I VoltlQH w1th RHpoct toGIOUnd!Note 11) Vcc 1 o 31/ to GN0-0.3Y Vpp SupplyVolllg1'Mlh RHpect to Ground Dunng P10Q1"1mm1ng .. 2e sv 10 -o.:iv REAO OPERATION OC Electrlcal Cherscterlstlcs Pow1t0lnlp1tlon L11d T1mper1tur1 (Soldartng, 10 Met>nd1) t.OW OOO'C Operetlng Condltlone 1No1oo1 T1mpe11tu11 R1n.g1 NMC27CHl·30, ·35, -45, ·55 NMC27C16E·•5 Vcc Powflf Supply (NOIH 2 lnd 31 Vpp Powlf Supp1r JNol• ll O"CIO +70'C -~D"Cto +85'C 5V -:-5°"' Va; srmbol P1um1t1r ~~~~~~..---M-fn~-:,.-T,-p-tN-o-fo-<1--r-~Mo-o~,--U~nlf-o Condlllon1 '" lnputlcadCurranl Yn~ - VcC 01 GNO 1 10 "" '•º Ou!Pullaakag•Cuir•nl VouT - Vcc º' GNO, et - V1H j 10 ,,A 'ce• Vcc Currenl (Actr.-•I 0E - CI: .. V¡l,I .. t MHi !Nolo3) TTLlnput1 lnpul• .. V111orV1L.llO ... Omi\ 1 'º mA '= Va;C.monl(Actrw•I oi; ... a.v1L>'""'uH1 INOle:l) CUOSlnpull Input• - Vcc Of GNO, 110 .. o mA mA lccSBI Vcc Curront tStan .. Hly) CE ... V1H TTLlnpul1 J 0.1 r mA lccsa2 Vcc Cu11on1 (S11nc1by) CE .. Vcc CMOSlnpul1 v,. lnputlow\loll.age ·~ l/'l4lUIHogt1Voll1g1 Vou Oiit¡>o.¡tlowVc!teg• lot • 2.1 mA 1 001 1 O 1 : mA ---:o~t----¡~ V 20 1 ~~j_v_ , O 45 ~r V V°"' Ou1put Hioti Voltege l0t1. ·.cOO,.A '·' Vou Ou1pu1LowVolt1g• lot. • o,.A 1 OI 1 V VOH> Ou1pu1 Hogti Voltag• loH .. o,.A Vcc · o 1J. 1 V AC Electrlcal Cheracterlstlcs NMC27Ctl &ymbol Pat1metet Condltlona .,. .,, : f.:--45,--41 1 ... Unll1 Mfn Mu ··~ AijdfHl IO Outpul Dota CE-OE-v, ''° ~· CE100u1putOe1a OE - v, ''° ~· MtoOutputOe11y CE-v, "º ~~!!._, Mln 1 _'!_•~-~~ -- =:-~'--~i---t~~l---T-' ''~··~~¡ 550 "' 1-"~-t-:-==="----l--"";..--"'---+-+:=-i--+-':"'~'+: -: ~: l :: ni "" OE Hiah to Oulpul Floal Ci: - v, 100 100 i o 100 1 o 100 "" Outpul Hold lrom AddfHSH, C"E ~ O'E •V1L ¡Nol15) CE ot OE, Whlchov•r Occwra 0.10Y Low 10 TASATATE, ma mentores Yo1 100) + 0,10% Nola 8; TRI-STATE may be arained ving DE ar CE. , * Irmcrng Eras actorauca ot EPROb regu tel deca Bcc le COIN Pal 0 01 pa F ITA CAPACON DE rl ON AY Uco Détaon Yer amd ONO, Hola 10: Tha AMCITCI requárss 008 sd ean iransruon aha eLal power lo papal 59 OVIpuia. Mata $1; Tha outpute mud 04 tia vicied 10 Var + 09 Lo dro MIC aO And Oerica Damage. :!! ~ u ::; z apacltance r"- 25'C,I • Hz o••51 sr bol tt1 1ttt º'" ln 1P«c 11nc• eou, u1put 1p1clt1nc• est ondltl ns ut!kJI oad ln tRIH1 clF1Q l H t ut l11L1v11l1 ondlllon1 Typ Vn~ • OV ouy • OV t T LG111 d L .. 0pF :S:20 1 o.av10 v avefor s tNote1 .11. e, 1 ..... nll• F " i lng o11wem.nt •l••nc41 l .1 l l)\¡11 Oulpu\1 1Vll'l V O.!Vand2V Na111:lll1tY11DO'f1~ .. 1w-..~At1"°"'11Ma.t.mun1Al""°"1",...,co,,Hper..-.anen101,,...,~10tNcw.a l'-'" 1 PMlfl""G-.--l-- IDPtlll.OtloltN"""11llf'4Hot...,._""""_'_v.o..~1M.,ll'>OIU91<1~11K110111ol1N11~tgnllro>1..,,W l-110IDodlll1 -••W'GUll'dllotlllclf1l\a 'il: ldpef\oG1m1y11t..:10o-1&oj¡U¡flry N111a:vcc-•bl~~otblto-1VHarc!l-~..,otll'llfVH N111J;V,.1N11bl~IOVcca&wp1~pr<1g1atMW10 :;111N......,olll'ltlcctctwll'ldWtHdCU'1- Nt11 41TrPc:11•-1t•• · ... n•c '""ra!Wl&l "4"P'J>' l'IOM ltil1~l .... p&111MlWltCWV,~ldlr4lln<>llDO'lo .. llM- N1t1l: rll'llJbl!INJ'ld141\oW;:c - '°Cll'lwNll"'9odQIOICl!Mll'O.lt~l11t1i...a: N11tt:TNlgp~t ....... 1tOIL11rlW'>ICIU'-' ogl' lO fll.ITAU'., ... l!IMl!lloCIV()11 IO I - OIOV lDtolll l·ITATl.lt'lltl'INW"ldVD..1\ CI 'f OUW l1l.lfU·IT TE1N1Jbllil&Nol!MU>Qtltottl. Nllt t: TNpo.tolblCh Qtl'lll"IWll\Cto l (l'A l.l1 r9Q!.A"1W1tl"'O..-C.~ 11111..,,.__,,,hltO 1 "" -......: c.ap.-..N-ll'lh.;., 0...::11Ni.._,Vcc1f"dGt.IO. N1l111k NNYC27Cll<9QUi" .. --Hllf"""100 11'1wl1natl'O'*ll ... lallt1IN~ N11111;Tl'l&~m"'tDt!MW1.0IOVa:" O''JW11roodl&l~ltldMl'IWd~119 A.4 1 1 1 1 1 PROGRAMMING CHARACTERISTICS (Noto 11 OC Programmlng Characterlatlcs I""" u 31 cr ..... +25'C :t5'C,Vcc • 5V ±5%,Vpp - 25V ttV) lymbol P1ramat., Condlllon1 Mln TrP MH "" Input C!Jrtenl (lor Any lnpul) V1N • Vcc Of OND " '" Vpp Supply CWT1n1 CM1ng C'E1PQM • V1H 30 Programmlng Pul .. Ice Vc;c &apply CUn1nt 'º v, Input Law Laval -0.1 ... V~ Input Hlgh L.avlt •• Vcc + t AC Programmlng Characterlatlcs l"'"""I (T4 • +25'C :t.5'C,Vcc • SV :t.5%,Vpp • 25V .t:1V) ........ Param1t1r Condlllona Mln Typ Mu , .. AddrHI S•tup Time 'º" OE Setup Tiln. "" 0111S1ti..ipTam1 .... AddtHI 1-\old Tlml """ O'EHoldíimt .... DataHolclTirH ""' OutpUt Ena.>1110 Ou1pu1 Floal O.la• CEJPGM - V1L ... "" Output En11b41 lo Outpul O.lay Cl:IPGM • Ytt. ... ""' Program Pu!H Wldlh .. •• " "'" Program PulH Ri .. nme • lf'n Progtll'fl PulH FaU Timl AC Test Condlllons Vcc v..,. sv 15% 25V tlY .:.2on1 o.evio22v Tlmlng MH1lnm1nl R11l111nc11 L•vet lnpu11 tnpui AIH and Fai TlmH 1nputPul .. Level1 Oulp!Jll A.5 un111 .,. mA mA Unll1 .. "' .. .. .. .. 1Vlnd2V 0.8V1nd2V z ;e i:i ~ N MC ZT E Programming Waveforma ¿Note 9) Vep » 25Y 21V,Vco = 5Y 15% Y ue" y Elrrón as dear Hola: Alb ha us Ki e appbed los Vpp and DGUA with Yap al 29 £1V Lo provean da maga do tn4 denca Hate d: Tha mauri abone PONGO añ My DA 1004910 1 Vea po Functlonal Description DEVICE OPERATION Tho tx modes ot operation ol the NMC27018 are hatad in Table 1. lt should be noted thal all inpuía for tha six modes aceal TTL lovala. The powe.! suppiios raquieno ara a 5 Y Veo and a Ypp. The Vpp power supply mus be al 25Y dunng the hee programming modos, and mugl De al SY 1n Ihe Olor lts modos. Read Mode To NMCZTCIA has two contro! funciona, boin ol wnich fmust be logically ecúve in order lo obisin data al Ihe 0ul!- pula. Chip Enabla (TE) ia the powar contro! and snoud ba usad lor devica estacion. Ouiput Enable (DÉ) is Ine ouiput control and should ba ved lo gate data lo the outpul pins independent o? device selaciión. Assuming thal addr 810 álsble, address accoss lima (tacc) ls equal lo Ine delay tro CE lo culpul (ice). Ona is avallabie al the Qulputs loz alter the tating edge ol DE, anvutning ba TE has bean low and addres303 have beon alable for ativant taco-tog. The NMC2TC16 requires ona add transition afiss intlal power of-up to roset Ihe cupula. Standby Mode The NMC27C18 has a atandby move which reduces the sélive power disalpaton by 98%, lrom 2625 mW lo 0.53 mW. The NMC27018 ls placad in the slandby mode by applying a TTL high signal to the SE Input. When in standby modo, (he outpuls 319 In a high impedanca state, indepen: cant ol the DE Input, OQuiput OP-TyIng Blacausa NMC23C*64 aro usually ussd in large: memory arraya, National has provided a 2-line control luncton ihat accominodalos ihis uye of multipte memory connaciiona, The 2.ine contro! function atlowa fot: 4) Ina lowest possible memory powel dissipation, and Mota di his ona la ANOS prodact maltAnty LOPE art o Géncas prog: Armrrd Lo dun MY Masaman apecrica von A DI E CADACION 4 téQurBd ACrOsO Ypp, Voz 10 GINO do aupa AODALIE A ADORIGA + ue. in TDT 09m poa unid Kpactica tora dricrbed help ly cr has pp Tha NUCIICHR ment ol de nearted no Or He morad Horn a HOPEMITAN e 70, Cauo Ml dá Lado her eilching (he Yes hupplr de apuricus voltage rinmente b) completo asturánca ihal ovipul bua conientivn wit nol pacut. To most alficionilp ysó Ihesa two conto! linas, lis recom- menged that CE (pin 18) be decoded and used as he pri mary device selacting funcion, whule DÉ (pin 20) be maca a common connechon lo al! devicos 1 ihe array and conn: ed to the READ tirsa from Le system control bus. This ss- nos hal all dosoteciod memory dovicsa are in their low power standby modes and tha! 1he output pins sre Aclya onty when data ls desied lrom a particular momory davicó. Programming CAUTION: Exceeding 26 5Y on pin 21 (Vpp) w!! damage lhe NHC27C18, imtialiy, and al h erssure, all bits of ho NMC27C14 erecto dh 4 Dala is introduced by beloctively pro- 9rámming “Da into he dusued bl location. Allhough only “09 * well Da programmed, bolh “la” and "Os can ba pro- sorted in Iha deta word. The only way to change a “0108 “1 la by ultraviolal bght erasuro. The NMC27C16 is in tha mm mode when Ina Vpp power supply la al 25Y ano ln at Vio lia requiód hal a D1 uf capacitor ba placed acroja Vpp, Ves to ground lo SUppress apurious voltaga VANBena which may damage ho dowca. The data to be programmed is apphad B bits in paralta! to he data oyipul pins. The 'ovals toquired for the address aña gala Inputs are TTL. When the address and data ara s1abis, a 50 ms, écltvos high, TVL progiam pulsa ls appiea lo no CE/PGM lapul. Á pro- g:am pulsa muat ba sppied al each address localion to be programined. You can program any location al any lime edher individually, sequentialty, or at random. Tha programa pulse has a maximum width 0155 me, Tho NMC27C16 must nol bs programmed with a DC signal applied 10 Ina TES PGM Input, ·:e ~ r r mlng avefor s t 0113J pp .. v 1w,vcc- sv :t~% u :E z Nott: lllmllll>ll•nJflPAltnlhoMI.,. __ .,..,.,,. • ..,.,. ............... --'*' NOltl:N1ii .1'111a 114 tCd.oct•&1r...,,l.?f'W1cNJ10°"...u.1pPQ1.........SIOii K!foullOl\ION. t*"'eV,.~rlCI ,. ....... ~••CMÓl'IQll' .. UV-~•P«'l'«!.On..\Ol ,.Fcap1c•I01 ... ~..i~o-1y,.,,vu100N01011t..ppt"U.~YOlll¡IH"Wni. -ll'llpd&IMQ'llNO.-. nctlonal escrlptlon VI E ERATION o 1bc odH l O!>fiatlon f e C27C1B 1re l1111d I able l 11 1 ould e 111d l al i I ut• l r 1111 11• odH r• 11 L te r.11. o c11 auppho~ wrao re 5V cc. 1 V p. he pp ,..ar 1 plr u'I e 11 V t•ng l Uv11 t mlng odos, d u11 be 11 5V i t otner tVH odH. Hd de no C27CUS 1 o ntrol lu llon1, tn l h1ch mvst e 1cettr a tive l r ar t t1ln l1 11 tn OUI· l1. hip abJ1 l!t) 11 or nllol d 1 lcl e ed t vice tele llon. ulpul nabla 0EI ti tha utpul nl1ol d at.ould a UHd ata ata 10 na tpul i 1, lnd1 1 den1 ! vlce H tlon. u mg a\ G dtHIH 1 1 lla la, dre11 ccou i e IA cl 11 ual t tl'le 1!1y ll m eE o lpul lt E). 0111 I 1Uab!a 11 o 1 u11 E lt r l 1 l111tng ga l ot', u ml g th1I ti:; u ien d 1 r111e1 ve 10n 1t1bl1 l r t t11111Acc-roe. he C27C1B a ulr11 e 111n11n••L1on 11111 IMl1I ,.... llllOfOllHull. Malk ~M~~JCllU""'r1&U1oOlolOl!W'al!Mlcr~C.W'IMI "" 9/HUll •r• • t uld l 1ll 11tad or101Nl<1..C.UC11pnl Ordtr Humtler Nl.IC27C 16 SH NS P1ck1g1 NumbtrJ24AO Commercl11 Temp R1ng1 (D'C lo + 7D'C} Vcc • 5V 1 !5% P1r1m111r/Ord1r Numbu Acc.H T1tM (n1) , .. NMCZ7C16-:15 "º NMC27CUl-45 •so NMC27C11-55 •so 11.B l ; 21C121 27C251 21121 27251 Vcc 1 Vcc p¡m 1 ... "' i .,, .. .. A9 .. . .. . .. CE CE AIO AIO CE CE º' o, o, °' º' 1 o, º• º• º' o, Connectlon Dlagram 27C2H 27Ct21 27251 27121 Vpp Vpp A\2 A\2 A7 A7 .. .. .. .. •• •• A3 A3 A2 A2 A1 A1 AO AO Oo Oo º' º' º' o, GNO GNO 27C84 27114 Vpp A\2 A7 .. 1 A5 .. A3 A2 A1 AO Oo o, º' GNO 27C32 2732 A7 .. •• .. ., A2 A1 AO Oo o, º• GNO Duat-ln·Un• Packlg1 NMC27C1S . .. " m u • TopYlew 27C32 27C84 2732 2784 Vcc -Voo NC •• •• .. .. All .,, OE/Vpp OE AIO A10 ce !:E o, o, º• o, º' o, º• º• o, o, IHlll Sodoel oomp.i~t.11 (PA01.1 p.n;,:;~~:3::=~~:.-· ~¡,,..,. huc.21CllP"'t Sn NS P1chg1 Numb1r J24AO Comm.,clal T11mp R1ng1 (O"C lo + 70"C} Ycc ... 5V 15% ACCIH Time (ni) NMC27C1e-:io ""' NMC27C16-35 ''° NMC27C18-4!5 •50 NMC27C18-!55 550 A.B l 21C121 27C251 27121 27251 Vcc 1 Va; l'OQ 1 ... .,, 1 .,, •• 1 •• •• . All All OE OE AIO AIO !:E CE o, o, Oo º' º• 1 º' º• o, º' 1 o, TOSHIBA INTEGRArED CIRCUT TE~ DATA TC74HC240P/F·TC74HC241P TC74HC244P/F ClMOS DIGITAL INTEGRATEO CIRCUIT PRELIMINARY TC74HC240Ptr OCTAL BUS BUffEH: WliH Jl~vrnr:::o J-STATE OOTPUTS TC74HC241P OCTAL BUS eurrrn WITH HOttlllVCRTED 3-STATE OUTPUTS TC74HC244P/F OCTAL BUS BUFFER WITH HOHIHVERTED 3-STATE OUTPUTS The TC74HC240, TC74HC24l and TC7,HC244 .are htgh 1p ... ed ~S OCTAL BUS BUFFER'• f1brtcated wlth ltlicon c2HoS technology. Th1y achJ11v11 thl! hl¡h apeed oper1tlon li11llar to equlvalent LSm. vhlle .. 1ntatnln1 r;ie dl!atgner ti.a a ch~Jce º,r al!l~cttd comblnatlona of Jnvertlng and nonlnvertlna _ utputa, &)'llllll!trlca1 C (•ctlve-101.1 output control) lnputa, and cot11plement1ry C and e; tnputa, Each control Input aovern tour BUS BUFFER11. Thl!MI! dlvtce1 •re dulgnated to be uaed ulth l-1tate ml!'mOry 1ddr1111 drtver1, etc. Ali Input• ar• equlpped wlth protll'ctlon clrc:ult1 agaln1t 1t1Uc dllchara• or tranll1U <:•c ... 111 voltage, l fEATURES1 • lllgh S('ll!l!d •••••••••••••••••••• tpd•lln1(Typ.) • .e Ycc•SV • Low Pow~r Dlll1lp11lon ••••••••• Tcc•hA(H••·> at Ta•2s•c • Hl&h Hoht.' /llll'IUnlt)' ........... YNut•YNJL•28% Ycc(Hln.) • Output Drlvt.' C..pablllty ....... 15 LSTTl. load1 , Symit>trlc:al O..tput ll11pt>danc:11,. l loHl•lol.•6mA(Hln.) , Balanc:ed Prop1¡atlon Dt>lly1 •• ,tp\Jtt"lpttl. • Wide Operattn1 Volt.11ae Ranae •• Vcchipr)•2V- 6V , Pin •nd Func:tlon Co111pulbl• vlth 14LS 240/241/244 A.9 DlPJVllDIOA•P) 1a ASSIGltU:NT (TOP VICIO L L TOSHIBA WTEGRATEO CIACUT TECHNCAL 04TA1 TC74HC24DP/f•TC74HC241P TC74HC244P/F . 1 Appllcd only Cor TC14HC241 1 AppUed only Cor TC14HC240 X 1 Do11't C•r• z. 1 Mt¡h l111ptdant• A.10 TOSHIBA IN'tEGRA.TED CIRCUIT lECMNICAL DATA TC74HC367P/F TC74HC368P/F C'MOS OIGITAL INTEGRATEO CIRCUIT PRELIMINARY HEX aus BUFFER TC74HCJ67P/F NON-INVCRTIHG TC74HCJ68P/F INVERTING Th1< TC7.:.HC)67 and TC14HC)68 are hlgh apud CHOS J-STATE BUS BUFFEll.a (abrlcated 1Jith •illcon gate C2HOS h.,.chnology, The•e d1vlce1 achleve the hlgh apeed operat1on 1tmllar to equtvalent LSTTL, whlle calntalnln¡ the CHOS low power dlaslp&tlun. Theac- devlce& contatn alx buUc-ra, and [our buf(ers are cuntt01led by • enable Input Un.> and tt1e other two buf[en .are controlled by the oth11r =~=b ~~.!~:~t \/~~) 6 t~~=i~~u~~~~p~:a e:;~ ~~f !e fo!~º~~d lolh•n hald hlgh thl.!IK outpulll ue disa'bled to be h1gh- l111ped1nce. The&e oucputs are capable o( drtvtnJt up to IS LSTTL, The dealgner ha1 a chotee of non-lnvertlng output1 (HC361) and tnverttng outputa (HCJ68). 1 Al l out¡>ut1 ,ne .. qutpped \llth protectlon ctrcutta agalnat atattc dtacharge or tunatent exceaa V?ltage, FEATURES: • Hlgh Speed ••••••••••••••••• 'pd•llna(Typ.) at Vcc•5V • Low Po1.1er Dh•tpath>n •••••• lcc•4:.A(tbx,) at Ta•z5•c • Hlgh Nolu li=1.61ity ......... VNrn-VN1i·ZB1 Vcc(Hln.} • Output Drtve Capablllt) ,. •••••••••••• U LSTTL Load1 • S~trlc:•l Oucpuc hnpedance •• ,, ••••• lloH\•IoL• 611\1\ • BAl•J\C:t.!d Propagatton Dulay• •••••• ,, •• , •••• tpLH"CpllL • Wldu Op~ntlng YulOgl' Range •• , •• ,, Ycc(opr.)•ZV"-6V • f'tn and functlon Compatlbh wlth 74LSl67/)á8 TRUTH TABLE 1n\3d.,) H t-~-t-~-t---:¡_--· 1t:LA111'TC.UG: z:HIOH lliU'tlJAllCI' A.11 IHl'lll(31H1U-f') "9 llPl'l~UUJc:-P) lTld<'llt»), Oul Ho•·l•"•d•"'~tl•Pf•••• :S·lo·•l•"•dtcodtr l•ICl·l·l•nt dt"'~ll•P!•••• Connectlon Dlegrem Oual·ln·Lln1Ptck1111 UUtlll.11 S4U1111.1) ULltU¡N) f4~11HIM) Funcllon Tablee - Owi, ... ~-· ··- •. '" '" "' ... "' ~·~ " . " 110 IH ITI IU no"' . . . ' ' ' ' " ' ' ' i: ' ' ' ' ' ' ' ' ' ' .. . ,. ' ' ' ¡: . •: ' ' . •C•-•Cl•""C'•_ .. ,_,_ 1Ge-•0•1.,.CUt•""*''M•-•- ""--l·-••"' ""-'U•1 A.12 . : . ' ' . ' "' '" UI IU . .. :1 . ' '' APENDICE B LISTADO DE LA INTERRUPCION 17H Para entender el funcionamiento dei puerto paralelo fue necesario desensamblar la interrupc1on 17H del BIOS. A continuación presentaffios el listado de la interrupc10n 17H desensamblada y con comentarios. Cabe aclarar que el código Vf!.ría entre los diferentes modelos de computadoras. ENTRADAS AH - Numero de servicio: OOH - Enviar un byte. OlH - Inicializar impresora. 02H - Leer Estado de la impresora. AL - Caracter a enviar para el servicio OOH. DX - Número de impresora CO a 21. S.~LIDA AH - Estado de la impr~sora pdra todos los s'9rv1cios de ci.cuerdo a la. siguiente tC1.bla: Bit 7 6 5 4 3 1 o Significado (cuando vale 1} Impresora no ocupada 1 U - oc1Jpada) Recibido por la impresora IA.ck) Sin papel Impresora seleccionada En·or No usado No U~ct1lo T1o:?m}J..:.• agotado e time-out·, B. l INTERRUPeION 17H FOOO :EFD2 FB STI :Responder a int. ;mascarables FOOO: EFD3 lE PUSH os ;Salvar registros FOOO:EFD4 52 PUSH OX FOOO :EFD5 56 PUSH SI FOOO :EFD6 51 PUSH ex FOOO :EFD7 53 PUSH BX FOOO :EFDB E87EOA CALL FA59 :Apuntar al d.rea de datos :BIOS FOOO :EFDB BBF2 MOV sr.ox :No. de puerto en SI FOOO :EFOD 0A5C78 MOV BL.(SI+78] :Traer valor de Time-Out FOOO: EFEO 01E6 SHL SI. l ;Desplazar a la izq. el ;No. de puerto dando o. 2 ;6 4 FOOO :EFE2 0B5400 MOV DX.ISI+OS);Traer direc. base del ;puerto FOOO :EFE5 OB02 OR DX.DX ;Prender bandera Z aegú.n ;resultado FOOO :EFE? 740C JZ EFF5 ;Si direc. - o terminar ; porque no hay puerto FOOO :EFE9 OAE4 OR AH.AH FOOO :EFEB 740E JZ EFFB :SERVICIO OOH FOOO:EFED FEee DEC AH FOOO:EFEF 743F JZ F030 ;SERVICIO OlH FOOO :EFFl FECC DEC AH FOOO :EFF3 7428 JZ FOlD :SERVICIO 02H FOOO :EFF5 5B POP BX :Recuperar registros FOOO :EFF6 59 POP ex FOOO: EFF7 5E POP SI FOOO :EFFB 5A POP DX FOOO :EFF9 lF POP os FOOO :EFFA CF IRET FOOO :FA59 50 PUSH AX :Rutina que hace que DS :apunte FOOO:FA5A B84000 MOV AX.0040 :al d.rea de datos BIOS FOOO :FA5D BEDB MOV OS.AX FOOO:FA5F 58 POP AX FOOO :Fl\60 C3 RET SERVICIO OOH FOOO :EFFB 50 PUSH AX Salvar AX FOOO:EFFC EE OUT OX.AL Enviar dato por líneas Datos FOOO :EFFD 42 IN e OX Incrementar a dir. base + 1 FOOO :EFFE 2BC9 SUB ex.ex Limpiar CX FOOO:FOOO EC IN AL,DX Leer Estado en AL FOOO :FOOl BAEO MOV AH,·AL Respaldar Estado en AH B.2 FOOO:F003 A880 FOOO:F005 750E FOOO:F007 E2F7 FOOO:F009 FECE FOOO:FOOB 75Fl FOOO:FOOO 80CC01 FOOO:FOlO 80E4F9 FOOO:F013 EB13 FOOO:F015 BOOO FOOO:F017 42 FOOO:F018 EE FOOO:F019 BOOC FOOO:FOlB EE FOOO:FOlC 58 FOOO:FOlO 50 FOOO:FOlE 885408 FOOO:F021 42 FOOO:F022 EC FOOO:F023 8AEO FOOO:F025 80E4F8 FOOO:F028 5A FOOO:F029 8AC2 FOOO:F02B 80F448 FOOO:F02E EBC5 SERVICIO OlH FOOO:F030 50 FOOO:F031 42 FOOO:F032 42 FOOO F033 8008 FOOO F035 EE FOOO F036 88E803 FOOO F039 48 FOOO F03A 75FO FOOO F03C BOOC FOOO F03E EE FOOO F03F EBDO TEST AL,80 JNZ F015 LOOP FOOO OEC 8L JNZ EFFE OR AH,01 ANO AH.F9 JMP F02B MOV AL,OD INC DX OUT DX.AL MOV AL.OC Si el bit 8 es 1 (desocupada) salta a continuar Demora Decrementa Time-Out Ciclo que espera a que la impresora se desocupe Prender bit O (se acabó tiempo) Apagar bits 1 y 2 que no se usan Terminar porque se acabo el tiempo y no respondió la imp. ;Incrementar a dir. :base + 2 ;Enviar 00 por Control :(Slct In - Strobe - L) OUT OX,AL :Enviar OC por Control : (Slct In - Ll POP AX ;Recuperar en AL el ;caracter PUSH AX : A partir de esta ; instruc. ea MOV DX,(SI+08J:el servicio 02H INC DX IN AL,DX MOV AH.AL ANO AH,F8 POP DX MOV AL.DL XOR AH.48 JMP EFF5 PUSH AX INC DX INC DX MOV OUT MOV DEC JNZ MOV OUT JMP AL,08 DX.AL AX,03E8 AX F039 AL.OC DX.AL FOIE 8.3 ;Incrementar a dir. ;base + 1 :Incrementar adir. :base + 2 ;Enviar un 8 por Control :Repetir un ;ciclo 1000 veces ;como demora :Enviar un 12 por Control :Saltar al servicio 02H FOCO FOlE eB540e MOV DX.!SI+OeJ :Servicio 02H FOOO F021 42 INC DX FOCO F022 EC IN AL,DX FOCO F023 eAEO MOV AH.AL FOCO F025 eOE4Fe ANO AH.Fe FOCO F028 5A POP DX FOCO F029 8AC2 MOV AL.DL FOOO F02B eOF44e XOR AH.48 FOOO F02E EBC5 JMP EFF5 SERVICIO 02H FOOO:FOlD 50 PUSH AX FOOO:FOlE 8B540e MOV DX. (SI+Oe] Releer dir. base FOOO:F021 42 INC DX Incrementar a dir. base + 1 FOOO:F022 EC IN AL.DX Leer Estado en AL FOOO:F023 SAEO MOV AH.AL Respaldar Estado en AH FOOO:F025 80E4F8 ANO AH.Fe Apagar bit O. 1 y 2 FOOO:F028 5A POP DX FOOO:F029 eAC2 MOV AL,DL AL recupera el valor que tenia antes del servicio y AH queda con el Edo. FOOO:F02B 80F44e XOR AH.4e de la impresora Invierte valor de bits 3 y 6 (Error y Ack) FOOO:F02E EBC5 JMP EFF5 Salta a terminar int. B.4 APENDICE e DEL EPROM MANUAL DEL USUARIO PROGRAMADOR DE INTRODUCCION. Este programador le permitirá grabar una memoria EPROM 27Cl6 o 2716 con gran facilidad utilizando su computadora PC compatible como interface. Para ello se cuenta con el software adecuado que le permitira leer el contenido de la memoria así como grabarla una sola vez. Recuerde que para borrar la EPROM es necesaria una lámpara de luz ultravioleta que se debe adquirir por separado. Este manual explica brevemente como utilizar software y el hardware necesarios. CONEXIONES PREVIAS. El equipo necesario es el siguiente: Memoria EPROM 27(C)16. Programador de EPROM. el Cable de impresora IDB-25P a CENTRONICS), Computadora PC o compatible. Proceda como se indica a c·Jnt:nuac1on. IMPORTANTE1 DE NO SEGU~ll SECUENCIAS~ LI\ MEMOBI!I. C.1 1,- Coloque el CI 2?(Cl16 en la base provista para ello en el grabador, teniendo cuidado de NO tocar los pines. 2.- Conecte la ealida del puerto paralelo de su computadora a la entrada correspondiente en el grabador. 3.- Conecte el programador a la toma de corriente, 4.- Encienda la computadora si aun no estd encendida. 5.- Presione el switch de encendido (+5V}. Asegúrese de encender primero la computadora. 6.- Si sólo va a leer una EPROM. salte al siguiente paso. Si va a grabar. presione el switch de grabación (+25Vl. ?.- Ejecute el programa EPROM.EXE. trl'ILIZACION DEL PROGRAMA EPROM.EXE. En general, el programa es muy sencillo de ejecutar ya que indica en cada paso las posibles alternativas a seguir y la manera de llevarlas a cabo. La primera pantalla que ee presenta al correr el programa ee una presentación. Salga de ella presionando cualquier tecla. En seguida se encontrar6 en la pantalla instrucciones. Estas instrucciones son un recordatorio de las conexiones previas que ya se mencionaron. En este menú tiene las siguientes opciones: Fl para leer las instrucciones nuevamente. Cada vez que se llena una ventana puede presionar la tecla PgDn para C.2 continuar o. si desea finalizar por c.ualquier motivo. presione ESC. S para salir al sistema. Use esta opción si se olvidó de efectuar alguna conexión o para terminar la ejecución del programa. Cualquier otra tecla para omitir las instrucciones Y poder continuar. La siguiente pantalla contiene el menú principal. Este menú le permite tres opciones· que se selecci·~ ".ln moviendo las flechas del cursor hacia arriba o hacia abajo y presionando ENTER cuando se encuentre sobre la opción deseada. También le permite utilizar ESC para regresar al menú de instrucciones. Las tres opciones mencionadas son las siguientes: Grabdr la EPROM Inicialmente se le pregunta en que formato desea trabajar, esto es. el sistema de numeración en que se van a introducir las direcciones y los datos a grabar. Presione la tecla A para elegir el sistema decimal o la B pare elegir el sistema hexadecimal. A continuación el programa le pide que introduzca la dirección inicial y luego la dirección final, es decir el rango de localidades de memoria que desea grabar. Si desea grabar sólo una localidad, repita esa dirección cuando se le solicite la dirección final. Tenga cuidado de proporcionar la dirección y. en su momento los datos. en el formato adecuado así como dentro de los límites válidos. El programa le recordará el formato escogido y los valores permitidos. Si se comete algún error al introducir los valores. éstos C.3 serán rechazados y se le solicitarán nuevamente. Una vez proporcionadas las direcciones, se mostrará una ventana con tres columnas. La de la izquierda muestra la dirección inicial en decimal. hexadecimal y binario, dada por el usuario. En la columna siguiente se espera el dato que deberá ser grabado. Este dato se introduce en la línea que parpadea abajo. Tan pronto como se proporciona el dato, éste es mostrado en los tres sistemas de numeración mencionados y en código ASCII en la segunda columna, En fracciones de segundo se procede a grabar la EPROM y en la tercera columna se muestra el contenido leido para que el usuario verifique que sea correcto. Al terminar, puede presionar ESC para repetir la acción de grabar o ENTER para regresar al menú principal, desde donde podrá leer o salir. Leer la EPROM Inicialmente se le pregunta en que formato desea trabajar, esto es, el sistema de numeración on que se van a introducir las direcciones a leer. Presione la tecla A para elegir el sistema decimal o la B para elegir el sistema hexadecima!. A continuación el programa le pide que introduzca la dirección inicial y luego la dirección final, es decir el rango de localidades de memoria que desea leer. Si desea leer sólo una localidad, repita esa dirección cuando se le solicite la dirección final. Tenga cuidado de proporcionar las direcciones en el formato adecuado, así como dentro de los límites válidos. El programa le recordará el formato escogido y los valores permitidos. Si se comete algún error al introducir los valores, éstos serán rechazados y se le C.4 ~erán zados li it ran evamente. na ez orci nadas s i ciones. ostrará a ntana n s l nas. a e ierda uestra i ción icial ci al. adeci al i ario. da or l suario. n l na i t · era l ato e berá r r ado. ste ato uce i a e r adea ajo, ste s ostrado an r nto o orciona l ato, s s as e eración encionados digo SCII i nes e ndo r cede nda l na. . r bar n era l na uestra l ntenido o ara e l suario rifi ue e a rrecto. l inar. ede r si nar C ara etir ción e r bar 1'ER ara resar l enú ri cipal. sde nde drá er lir. er 14 M ente r unta e ato sea ajar. sto s. l a e eración n e an ucir s i i nes er. r si ne la. A ara l gir l a ci al ara l gir l a adeci a 1. ti ación l r a i e e zca i ción icial o i ción al. s ecir l go e li ades e emoria e sea er. i desea er lo a ali ad, ita sa i ción ndo licite i ción al. enga i ado e r porcionar s i i nes l ato ecuado, 1 o ntro e s 11 ites áli os. l r a rdará l ato gido s alores r itidos. i ete n rror l ucir s alores. t s rán zados . solicitaran nuevamente. Una vez proporcionadas las direcciones. se mostrara una ventana con dos columnas. La de la izquierda muestra las direcciones. desde la inicial hasta la final Csi caben en la ventana). en decimal. hexadecimal y binario. El contenido de cada localidad es mostrado en los tres sistemas de nwneración mencionados y en código ASCII en la segunda columna.. Si las direcciones no caben en una sola ventana presione ENTER para continua.r cada vez que se llene ésta. Al terminar, puede presionar ESC para repetir la acción de leer o ENTER para regresar al menú principal. desde donde podrá grabar o salir. Salir al sistema. Use esta opción para regresar al DOS y terminar la sesión. NOTA: Durante la .introducción de las direcciones y/o datos en los menús de grabación y lectura puede utilizar las siguientes teclas: ESC para borrar el valor completo (antes de dar ENTERJ BACKSPACE para borrar el último caracter CTRL-D para tomar un caracter de la última linea que se introdujo CTRL-F para tomar toda la última linea que se introdujo FIN DE LA SESION. IMPORTANTE1 SIGA ESTA SECUENCIA PARA NO QUEMAR LA ~ c.s l.- Salga del programa como ya se indicó. 2.- Si grabó. apague el switch de grabación (+25V), si no. salte al paso 3. 3.- Apague el switch de encendido (+5V). 4.- Retire la EPROM de su base l1·ecordando NO tocar los pinAS), 5.- Apague su computadora, si lo desea. CALIBRACION DEL VOLTAJE DE PROGRAMACION (Vppl. Para ajustar Vpp, en la parte posterior del Programador se encuentra un tornillo de calibración y dos puntas de prueba para tjerra y Vpp. Introducir en éstas Ultimas las puntas de un mult1metro mientras se gira el tornillo hasta lograr el valor de +25 V. C.6 BIBLIOGRAFIA • Boyleatad. Robert {y) Nashelsky. Louis. "Electrónica Teoría de Circuitos". D.F. México: Prentice-Hall Hispanoamericana S.A .. 1986. • Caatrui ta Avi la. Cése.r. "i Al Abordaje Contra los Piratas!". En: Personal Comput1ng. Ano 3, No. 29. D.F. México: Editorial Sayrols S.A .. 1990. pp. 22-24. • Ciarcia. Steve. "Construya una Microcomputadora basado en el Z80. Gu1a de Diseflo y Funcionamitinto". México: McGraw-Hill de México S.A. de C.V .. 1981. • Eggebrecht. Lewis C. "lnterfacing to the IBM Personal Computer". 2nd. ed. Carmel. Indiana, E.U.A.: SAMS, 1991. • EPSON P.rnerica. Inc. FX-850/1050 Uaer's Manual. Torrance. California. E.U.A .. 1989. • Ferreyra Cortés, GonzoJ.lo. "Virus en las Computadoras". D.F. México: Macrobit Editores S.A. de C.V .. 1991. • Foerster. Scott. "The Printe1A Bible". Carmel. Indiana. E.U.A.~ Que Corporation. 1990. • National Semiconductor Corporation. Logic Databook. Vol. II. Santa Clara, California. E.U.A .. 1984. • National Semiconductor Corporation. Memory Databook. Vol. I. Santa Clara. California. E.U.A .• 1984. • Norton. Peter. "Inside the IBM PC and PS/2". 3rd. ed. Nueva York. N.Y .. E.U.A.: Brady, 1990. 1 Norton. Peter (yJ Wilton, Richard. "The New Peter Norton Progranvner's Guide to the IBM PC & PS/2". Redmond. Washington. E.U.A.: Microsoft Presa. 1988. • Roach, Winn L. "The Winn Rosch Ha.rdware Bible". Nueva York. N.Y .. E.U.A., Brady, 1989. 1 Sarrazin, Christian. "Las Pilas de Litio". En: Mundo Científico. No. 112. Vol. 11. Barcelona, Espana: Fontalba S.A. pp. 378-384. 1 Scanlon. Leo J. "IBM PC & XT Assembly Language. A Guide for Programmers". Nueva York, N.Y., E.U.A.: Brady. 1985. 1 Seyer, Martín D. "RS-232 Made Easy". 2nd. ed. Englewood Cliffs, Nueva Jersey, E.U.A.: Prentice Hall. 1991. 1 Tocci, Ronald Electrónicos". c.v .. 1985. "Circuitos y Dispositivos D.F. México: Interamericana S.A. de • Toshiba Corporation. Toshiba Integrated Circuit Technical Data HS-c2Mos TC74HC Series. 2nd. ed. Abril. 1985.