Universidad Nacional Autónoma de México Facultad de Estudios Superiores Cuautitlán Departamento: Sección: Ingeniería Electrónica Dispositivos Lógicos Programables Asignatura: Dispositivos Lógicos Programables Clave Asignatura: 1715 Clave Carrera: 130 1011100000101000100100100 0111001010100010001000001 Autor: M. en TI. Jorge Buendía Gómez. Fecha de Elaboración: Enero 2015 Fecha de Revisión: Julio 2016 Facultad de Estudios Superiores Cuautitlán UNAM Laboratorio de Dispositivos Lógicos Programables Índice Índice I Prólogo II Reglamento V Práctica 1 Memorias EEPROM 1 2.3 Memorias de solo lectura (ROM’s) Práctica 2 Comparador de Magnitud 5 2.3 Memorias de solo lectura (ROM’s) Práctica 3 Contador Digital de la Sucesión de Fibonacci 8 2.3 Memorias de solo lectura (ROM’s). Práctica 4 Display Alfanumérico 7x5 con 2 máquinas secuenciales 12 2.3. Memorias de solo lectura (ROM’s). Práctica 5 Decodificador de Teclado con GAL y algebra de Boole 16 2.6. Arreglos lógicos genéricos (GAL’s). Práctica 6 Implementación de Tablas de Verdad con GALs 22 2.6. Arreglos lógicos genéricos (GAL’s). Práctica 7 Control de Potencia con Flip Flops en dispositivos PLD 28 2.6. Arreglos lógicos genéricos (GAL’s). Índice I Facultad de Estudios Superiores Cuautitlán UNAM Laboratorio de Dispositivos Lógicos Programables Prólogo Objetivo del curso Al finalizar el curso el alumno conocerá y comprenderá la estructura y funcionamiento de los dispositivos lógicos programables (PLD) empleados en el diseño de sistemas digitales de última generación, así mismo podrá diseñar e implementar dispositivos con circuitos programables de muy alta escala de integración. Objetivos del Laboratorio Analizar y comprobar los fundamentos de los dispositivos lógicos programables (PLD’s). Implementar circuitos electrónicos que empleen PLD’s para realizar el control del sistema. Conocer las diferentes arquitecturas empleadas en la construcción de PLD’s y aplicarlas de acuerdo al diseño del sistema. Conocer y utilizar las herramientas de hardware y software necesarias para la implementación de los circuitos que contienen PLD’s. Introducción Un PLD (Programmable Logic Device, Dispositivo Lógico Programable) es un dispositivo electrónico empleado para la implementación de diseños digitales. A diferencia de las compuertas lógicas, un PLD es un arreglo genérico que no realiza una función definida. Para que el dispositivo pueda ser utilizado, este debe ser programado para indicarle las conexiones que deberán realizarse internamente. Un PLD está formado por una matriz de compuertas AND y puertas OR, que se pueden programar para conseguir funciones lógicas específicas. Existen varios tipos de dispositivos que se clasifican como PLD. PROM (Programmable Read Only Memory). Memoria programable de sólo lectura. PLA (Programmable Logic Array). Arreglos Lógicos Programables. PAL (Programmable Array Logic). Lógica de Arreglos Programables. GAL (Generic Array Logic). Arreglos lógicos genéricos. CPLD (Complex Programmable Logic Device) Dispositivos Lógicos Programables Complejos. FPGA (Field Programmable Gates Array ) Arreglos de Compuertas Programables de Campo. Todos los PLD están formados por matrices de NOT, AND y OR programables. Básicamente, una matriz programable es una red de conductores distribuidos en filas y columnas con un fusible en cada punto de intersección. Las matrices pueden ser fijas o programables. Los PLD’s presentan muchas ventajas sobre los circuitos discretos implementados con compuertas básicas de baja escala de integración (SSI) y de mediana escala de integración (MSI), estas características se pueden identificar como: Prólogo II Facultad de Estudios Superiores Cuautitlán UNAM Facilidad de diseño. Prestaciones. Fiabilidad. Economía. Seguridad. Además de los puntos mencionados, podemos añadir que los PLDs facilitan el ruteado de las placas de circuito impreso debido a la libertad de asignación de terminales de este tipo de dispositivos. En este laboratorio se realizarán circuitos PLD’s que abarcan la utilización de las diferentes herramientas de diseño de software y hardware para implementar diferentes diseños. Es importante recalcar que el alumno deberá comprender la necesidad de interacción entre las diferentes áreas de la Ingeniería para llevar a la práctica un sistema digital que emplee este tipo de dispositivos programables. Entre estas áreas se distinguen: Electrónica Control Analógico Control Digital Diseño Lógico Computación Diseño de Software Electrónica de Potencia Mecánica Motores y algunas áreas adicionales. Instrucciones para la elaboración del reporte Será necesario incluir en cada actividad previa y reporte de práctica, una portada (obligatoria) como la mostrada a continuación. U. N. A. M. F. E. S. C. Laboratorio de : ________________________________________ Grupo: ________________________________________ Profesor: ________________________________________ Alumno: ________________________________________ Nombre de Práctica: ________________________________________ No. de Práctica: ________________________________________ Fecha de realización: ________________________________________ Fecha de entrega: ________________________________________ Semestre: ________________________________________ Para la presentación del reporte se deberá cumplir con los requisitos indicados en cada una de las prácticas, incluyendo: Prólogo III Facultad de Estudios Superiores Cuautitlán UNAM Actividades previas Introducción Procedimiento experimental Circuito armado Tablas de datos Mediciones Gráficas Comentarios Observaciones Esquemas Diagramas Cuestionario Conclusiones y en general todos los elementos solicitados dentro del desarrollo de la práctica. Los criterios de evaluación para el laboratorio son los siguientes: C1 (Criterio de evaluación 1): Actividades previas (40%) C2 (Criterio de evaluación 2): Habilidad en el armado de circuitos (10%) C3 (Criterio de evaluación 3): Desarrollo y funcionalidad de la práctica (10%) C4 (Criterio de evaluación 4): Reporte entregado con todos los puntos indicados (40%) Bibliografía 1. Pardo Fernando, Boluda José A., VHDL Lenguaje para síntesis y modelado de circuitos, México,1ª Edición, Alfa Omega RA-MA, 2000. 2. García Iglesias Jose M, Dispositivos Lógicos Programables (PLD) Diseño práctico de aplicaciones, México, RA- MA, 2006. 3. Bolton W. Programmable Logic Controllers ,5th, Elservier-Newnes, USA 2009. 4. Parr E.A., Programmable Controllers, 3th, An Engineer´s Guide- Newnes, USA 2003. 5. Grediaga Olivo Angel, Diseño de Procesadores con VHDL, España, Universidad de Alicante, Servicio de Publicaciones, 2007. 6. Machado Sánchez Felipe, Diseño Digital Avanzado con VHDL, México, Dykinson S.L. Libros, 2009. 7. Urquía Moraleda, Diseño de Hardware Digital con VHDL, Colombia, UniversidadNacional de Educación a Distancia, 2008. 8. Mandado Enrique, Dispositivos Lógicos Programables y sus Aplicaciones, España, Thomson Paraninfo, 2002. 9. Serna Ruiz Antonio, Lógica Digital y Microprogramable, España, Thomson Paraninfo, 2000. Prólogo IV Facultad de Estudios Superiores Cuautitlán UNAM Laboratorio de Dispositivos Lógicos Programables Reglamento Interno de los Laboratorios de Comunicaciones, Control, Sistemas Analógicos y Sistemas Digitales 1. Dentro del laboratorio queda estrictamente prohibido. a. b. c. d. e. Correr, jugar, gritar o hacer cualquier otra clase de desorden. Dejar basura en las mesas de trabajo y/o pisos. Sentarse sobre las mesas Fumar, Introducir alimentos y/o bebidas. Utilizar cualquier objeto ajeno a las prácticas de laboratorio, tales como: celulares o equipos de sonido (aun con audífonos) excepto algún equipo para realizar las prácticas f. La presencia de personas ajenas en los horarios de laboratorio. g. Dejar los bancos en desorden. h. Mover equipos o quitar accesorios de una mesa de trabajo a otra sin el consentimiento previo del profesor de laboratorio en turno. i. Usar o manipular el equipo sin el conocimiento previo del profesor. j. Rayar las mesas del laboratorio. k. Energizar algún circuito sin antes verificar que las conexiones sean las correctas (polaridad de las fuentes de voltaje, multímetros, etc.). l. Hacer cambios en las conexiones o desconectar equipo estando éste energizado. m. Hacer trabajos pesados (taladrar, martillar, etc.) en las mesas de las prácticas. 2. El alumno verificará las características de los dispositivos electrónicos con el manual. 3. Es responsabilidad del alumno revisar las condiciones del equipo del laboratorio al inicio de cada práctica y reportar cualquier anomalía que pudiera existir (prendido, dañado, sin funcionar, maltratado, etc.) al profesor del laboratorio correspondiente. 4. Es requisito indispensable para la realización de las prácticas, que el alumno cuente con su manual completo y actualizado al semestre en curso, los cuales podrán obtener en: http://olimpia.cuautitlan2.unam.mx/pagina_ingenieria. 5. El alumno deberá traer su circuito armado para poder realizar la práctica, de no ser así no podrá realizar dicha práctica (donde aplique) y tendrá una evaluación de cero. 6. Para desarrollar trabajos, o proyectos en las instalaciones de los laboratorios, es requisito indispensable que esté presente el profesor responsable, en caso contrario no podrán hacer uso de las instalaciones. 7. Correo electrónico del buzón para quejas y sugerencias para cualquier asunto relacionado con los Laboratorios ([email protected]) 8. La evaluación del laboratorio, será en base a lo siguiente: A - (Aprobado); Cuando el promedio total de todas las prácticas de laboratorio sea mayor o igual a 6 siempre y cuando tengan el 90% de asistencia y el 80% de prácticas acreditadas en base a los criterios de evaluación. Reglamento Interno de los Laboratorios de Comunicaciones, Control, Sistemas Analógicos y Sistemas Digitales V Facultad de Estudios Superiores Cuautitlán UNAM NA - (No Aprobado); No se cumplió con los requisitos mínimos establecidos en el punto anterior. NP - (No Presentó); con o sin asistencia pero que no haya entregado reporte alguno. 9. Los casos no previstos en el presente reglamento serán resueltos por el Jefe de Sección. NOTA: En caso de incurrir en faltas a las disposiciones anteriores, el alumno será acreedor a las siguientes sanciones por parte del profesor de laboratorio según sea el caso y la gravedad, baja temporal o baja definitiva del grupo de laboratorio al que está inscrito Reglamento Interno de los Laboratorios de Comunicaciones, Control, Sistemas Analógicos y Sistemas Digitales VI Práctica 1 Memorias EEPROM 1. 2. Laboratorio de Dispositivos Lógicos Programables Práctica 1 Memorias EEPROM Tema: 2.3 Memorias de solo lectura (ROM’s) Objetivos Implementar un circuito multiplicador de 2 números de 4 bits cada uno. Programar la memoria EEPROM con la tabla de verdad del multiplicador. Comprobar el funcionamiento del multiplicador. Introducción En esta práctica realizaremos el diseño de un circuito que multiplique 2 números de 4 bits cada uno, por lo que se requiere un total de 8 entradas y por lo tanto 256 combinaciones (2 8). El multiplicando A está formado por las variables (A3A2A1A0) y el multiplicador B está formado por los bits (B3B2B1B0). Dado que cada factor es de 4 bits, el producto máximo de salida es 15 x 15 = 225 y por lo tanto el producto deberá expresarse en 8 bits (P7P6P5P4P3P2P1P0). Unos de los circuitos programables básicos son las memorias de solo lectura ya que pueden almacenar en ellas de forma directa las tablas de verdad que representan a los sistemas digitales, estas memorias tienen una capacidad de almacenamiento definida por el tamaño de sus bus de direcciones (n líneas) y el tamaño de su bus de datos (m líneas) y por lo tanto pueden resolver sistemas que tengan n entradas por m salidas. Una gran ventaja de la utilización de estas memorias es que no se requiere la reducción algebraica de los términos a través de algebra de Boole o Mapas de Karnaugh ya que la tabla deberá ser insertada en su totalidad y cada dirección accesada proporcionará una de las combinaciones de la tabla. En esta práctica utilizaremos una memoria AT28C16 cuya capacidad es de 2K x 8 y por lo tanto es capaz de almacenar tablas de 11 entradas (2048 combinaciones de entrada) y puede proporcionar hasta 8 salidas independientes. Fig. 1.1 Terminales de la memoria AT28C16 Dispositivos Lógicos Programables 1 Práctica 1 Memorias EEPROM Actividades previas a la realización de la práctica 1. 2. 3. 4. 5. El alumno deberá realizar la lectura de la práctica. El alumno definirá los valores que representan a la multiplicación de los 2 números de 4 bits. El alumno generará el archivo binario MULT4x4.BIN empleando el software del programador SuperPro, para ello deberá insertar la tabla de 256 valores que representan a los productos posibles de la operación de multiplicación. El alumno realizará la simulación del circuito del procedimiento experimental considerando la figura 1.5 siguiendo los pasos del desarrollo. Considere emplear el circuito de memoria 2732 en sustitución del circuito AT28C16 de la práctica, considerando que tiene una terminal de direcciones extra y no tiene la terminal WE. Esta sustitución es necesaria debido a que el simulador no tiene un modelo de simulación para la memoria AT28C16. Entregar los resultados de la simulación de forma impresa al profesor al inicio de la sesión de laboratorio. Material 1 Memoria AT28C16 8 Resistencias de 330 Ω 1 Barra de 8 leds ó en su defecto 8 leds individuales. Equipo 1 Fuente de voltaje de CD. 1 Multímetro 1 Programador Universal 1 Protoboard Procedimiento Experimental 1. Generar la tabla de valores en el editor de buffer del software SuperPro como se muestra en la figura 1.2. Considere que solo están mostrados los productos desde 0 x 0 = 0 hasta 4 x 3 = 0C y deberá llenarse hasta F x F = E1 4 x 3 = 0C F x F = E1 Fig. 1.2 Ejemplo de Tabla de valores del multiplicador 2. Salvar el buffer en formato binario seleccionando la pestaña de Archivo/Guardar y asignando el nombre MULT4x4, designe la carpeta de almacenamiento que desee como se muestra en las figuras 1.3 y 1.4. Dispositivos Lógicos Programables 2 Práctica 1 Memorias EEPROM Fig. 1.3 y 1.4 Pestaña de selección de Archivo y Nombre de archivo 3. 4. Programe la memoria AT28C16 con archivo MULT4x4.BIN Implemente el circuito de la figura 1.5. Figura 1.5 Multiplicador de 4 x 4 bits 5. 6. Compruebe la función de multiplicación del circuito proponiendo una tabla de 8 valores para el multiplicando y 8 valores para el multiplicador. Llene la tabla 1.1 con los valores obtenidos del circuito y verifique que la operación se está realizando correctamente. Multiplicando Multiplicador Producto Tabla 1.1 7. 8. El alumno diseñará un sistema que obtenga el código gray, el código XS3, el código en complemento a 2 y el código BCD8421 a partir de un código binario de 4 bits. Considere que para los 3 primeros códigos la salida es en 4 bits y que para el código BCD8421 se requieren 8 bits para la representación de los números 10, 11, 12, 13, 14 y 15. Dispositivos Lógicos Programables 3 Práctica 1 Memorias EEPROM 9. 10. 11. 12. Se deben incluír señales de control que seleccionen cuál es el código que se desea mostrar a la salida. El alumno determinará las conexiones de la memoria EEPROM AT28C16. El alumno implementará el circuito y lo probará en el laboratorio. El alumno comprobará las 4 tablas de verdad. Cuestionario 1. 2. Diseñe un multiplicador de 4 bits x 4 bits en forma discreta y dibuje el circuito resultante con compuertas lógicas de cualquier número de entradas. Compare el circuito resultante con respecto al circuito implementado en esta práctica. Explique las ventajas y desventajas de los circuitos implementados con memoria ROM. Dispositivos Lógicos Programables 4 Práctica 2 Comparador de Magnitud Laboratorio de Dispositivos Lógicos Programables 1. 2. Práctica 2 Comparador de Magnitud Tema: 2.3. Memorias de solo lectura (ROM’s). Objetivos Implementar un circuito comparador de magnitud de 2 números de 4 bits cada uno. Programar la memoria EEPROM con la tabla de verdad del comparador. Comprobar el funcionamiento del comparador Introducción El comparador es un circuito que nos permite determinar la relación de magnitud entre dos datos (A y B), posibilitando definir: 1 bit de salida para indicar si el dato A > dato B 1 bit de salida para indicar si el dato A < dato B 1 bit de salida para indicar si el dato A = dato B dato A A>B CComparador de Magnitud de 4 bits A<B A= B dato B Fig. 2.1 Comparador de magnitud de 4 bits Debido a que para este circuito se requieren 4 entradas para cada uno de los datos entonces se ocuparán 8 direcciones de una memoria y 256 de sus localidades y se tendrán 3 salidas que determinarán cada uno de los estados del comparador, la salida se activará si se cumple la condición. La implementación de este circuito en forma discreta con compuertas lógicas tiene la dificultad de que los minitérminos resultantes de la reducción, son términos con muchas variables y algunos de ellos no se pueden reducir debido a que forman una diagonal en un mapa de Karnaugh. La salida A = B tiene por lo tanto 16 minitérminos de 8 variables cada uno produciendo consecuentemente un circuito de gran escala. Actividades previas a la realización de la práctica 1. 2. El alumno deberá realizar la lectura de la práctica. El alumno definirá la tabla de verdad del sistema de comparación. Dispositivos Lógicos Programables 5 Práctica 2 Comparador de Magnitud 3. 4. 5. El alumno generará el archivo binario COMP4x4.BIN empleando el software del programador SuperPro, para ello deberá insertar la tabla de 256 valores que representan las combinaciones posibles del comparador. El alumno realizará la simulación del circuito del procedimiento experimental considerando la figura 2.2 siguiendo los pasos del desarrollo. Considere emplear el circuito de memoria 2732 en sustitución del circuito AT28C16 de la práctica, considerando que tiene una terminal de direcciones extra. Esta sustitución es necesaria debido a que el simulador no tiene un modelo de simulación para la memoria AT28C16. Entregar los resultados de la simulación de forma impresa al profesor al inicio de la sesión de laboratorio. Material 1 Memoria AT28C16 3 Resistencias de 330 Ω 1 Barra de 8 leds ó en su defecto 3 leds individuales. Equipo 1 Fuente de voltaje de CD. 1 Multímetro 1 Programador Universal 1 Protoboard Procedimiento Experimental 1. 2. 3. 4. Generar la tabla de valores en el editor de buffer del software SuperPro. Salvar el buffer en formato binario seleccionando la pestaña de Archivo/Guardar y asignando el nombre COMP4x4, designe la carpeta de almacenamiento que desee. Programe la memoria AT28C16 con archivo COMP4x4.BIN Implemente el circuito de la figura 2.2. Fig 2.2 Comparador de Magnitud de 4 bits 5. 6. Compruebe la función de comparación del circuito proponiendo una tabla de 8 valores para el dato A y 8 valores para el dato B. Llene la tabla 2.1 con los valores obtenidos del circuito y verifique que la operación se está realizando correctamente. Dispositivos Lógicos Programables 6 Práctica 2 Comparador de Magnitud Dato A Dato B Función Tabla 2.1 Cuestionario 1. 2. Obtenga las funciones de Boole para cada una de las 3 salidas del circuito, emplee mapas de Karnaugh. Determine de la hoja técnica el tiempo requerido para realizar la comparación. Dispositivos Lógicos Programables 7 Práctica 3 Contador Digital de la Sucesión de Fibonacci Laboratorio de Dispositivos Lógicos Programables 1. 2. Práctica 3 Contador Digital de la Sucesión de Fibonacci Tema: 2.3 Memorias de solo lectura (ROM’s). Objetivos Comprender los conceptos de diseño para circuitos secuenciales implementados sobre dispositivos lógicos programables. Implementar un contador programable sobre una memoria EEPROM que muestre secuencialmente los 13 primeros dígitos que forman la sucesión de Fibonacci. Introducción En matemáticas, la sucesión de Fibonacci es la sucesión infinita de números naturales: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144 ,233, 377, … La sucesión comienza con los números 1 y 1, y a partir de estos, cada término subsecuente es la suma de los dos anteriores siguiendo la regla: xn = xn-1 + xn-2 A los elementos de esta sucesión se les llama números de Fibonacci. Esta sucesión fue descrita en Europa por Leonardo de Pisa, matemático italiano del siglo XIII también conocido como Fibonacci. Tiene numerosas aplicaciones en ciencias de la computación, matemáticas y teoría de juegos. También aparece en configuraciones biológicas, como por ejemplo en las ramas de los árboles, en la disposición de las hojas en el tallo, en la flora de la alcachofa y en el arreglo de un cono. Fig. 3.1 Sucesión de Fibonacci en forma geométrica y en la naturaleza. En esta práctica se realizará un contador binario programable que muestre los primeros 13 valores de la serie de Fibonacci e intercalando entre ellos el número cero para poderlos visualizar en forma correcta en una serie de 8 leds. Este contador programable puede realizarse si implementamos una máquina secuencial con un dispositivo lógico programable como una EEPROM. Dispositivos Lógicos Programables 8 Práctica 3 Contador Digital de la Sucesión de Fibonacci Lo que se requiere es que un contador binario natural vaya incrementando el valor de las direcciones de entrada de la memoria para que se produzca un recorrido por los valores almacenados en las localidades internas y se vuelva a repetir de forma infinita. La máquina secuencial implementada de esta manera, es capaz de trasladarse a través de todos los estados almacenados sin utilizar los flip flops típicos de los sistemas secuenciales, puesto que no se requiere la utilización de las tablas de estado ni de los análisis de excitaciones. En esta práctica se realizará el conteo desde el número 1 hasta el 233 de la sucesión de Fibonacci debido a que como la salida está restringida a 8 bits, no podemos alcanzar el siguiente valor que sería 377. Hay que hacer notar que este circuito no es un generador de la sucesión puesto que no ejecuta el algoritmo de cálculo que define a la sucesión sino solo se limita a mostrar los primeros 13 valores de la sucesión empleando una máquina secuencial. Fig.3.2 Diagrama de estados del contador La tabla constará de 23 estados que serán recorridos secuencialmente a una frecuencia definida por el reloj de un contador de 5 bits que se deberá resetear al llegar a 26 cuentas. El valor cero insertado de forma artificial es simplemente para visualizar de forma más cómoda la secuencia. Hay que indicar que la inserción del cero no sería posible si se realizara el circuito con lógica digital secuencial discreta puesto que no puede tenerse un conteo que pasa múltiples veces por el mismo valor 0 en diferentes puntos del diagrama ya que esto rompe con la secuencia lógica, pues no se pueden definir estados siguientes diferentes para las mismas condiciones de estado anterior. El circuito integrado que usaremos como contador de 5 bits será un 74LS393 como el mostrado en la figura 3.3. Dispositivos Lógicos Programables 9 Práctica 3 Contador Digital de la Sucesión de Fibonacci Fig 3.3 Circuito contador doble de 4 bits 74LS393 Actividades previas a la realización de la práctica 1. 2. 3. 4. El alumno deberá realizar la lectura de la práctica. El alumno generará el archivo binario FIBONACI.BIN empleando el software del programador SuperPro, para ello deberá insertar la tabla de 26 valores que representan a la máquina de estados. El alumno realizará la simulación de los circuitos del procedimiento experimental considerando la figura 3.4 siguiendo los pasos del desarrollo. Considere emplear el circuito de memoria 2732 en sustitución del circuito AT28C16 de la práctica, considerando que tiene una terminal de direcciones extra. Esta sustitución es necesaria debido a que el simulador no tiene un modelo de simulación para la memoria AT28C16. Entregar los resultados de la simulación de forma impresa al profesor al inicio de la sesión de laboratorio. Material 1 Memoria AT28C16 1 Circuito integrado 74LS393 1 Circuito integrado 74LS08 8 Resistencias de 330 Ω 1 Barra de 8 leds ó en su defecto 8 leds individuales. Equipo 1 Fuente de voltaje de CD. 1 Multímetro 1 Programador Universal 1 Protoboard Procedimiento Experimental 1. 2. 3. 4. 5. 6. 7. Generar la tabla de valores en el editor de buffer del software SuperPro. Salvar el buffer en formato binario seleccionando la pestaña de Archivo/Guardar y asignando el nombre FIBONACI, designe la carpeta de almacenamiento que desee. Programe la memoria AT28C16 con archivo FIBONACI.BIN Implemente el circuito de la figura 3.4. Compruebe que el conteo se realiza de forma correcta con la inserción de los ceros entre cada valor. Diseñe dos máquinas secuenciales, una que cuente en código gray ascendente de 5 bits y un contador descendente binario natural de 5 bits, se debe poder seleccionar cuál de las 2 máquinas funciona. Implemente su diseño y pruebe que funcionen ambas máquinas. Dispositivos Lógicos Programables 10 Práctica 3 Contador Digital de la Sucesión de Fibonacci Fig. 3.4 Contador de la Secuencia de Fibonacci Cuestionario 1. 2. Analice y explique la función que realiza el contador y las compuertas AND, indicando en forma binaria su comportamiento. Investigue y comente acerca de las siguientes características de los dispositivos lógicos programables Proceso de diseño de los sistemas que los contienen Recursos en los PLD’s Seguridad. Confiabilidad. Costo. Flexibilidad Dispositivos Lógicos Programables 11 Práctica 4 Display Alfanumérico 7x5 con 2 máquinas secuenciales 1. 2. Laboratorio de Dispositivos Lógicos Programables Práctica # 4 Display Alfanumérico 7x5 con 2 máquinas secuenciales Tema: 2.3. Memorias de solo lectura (ROM’s). Objetivos Implementar 2 máquinas secuenciales individuales que controlen el desplegado de símbolos alfanuméricos en un display de 7x5 leds. Comprobar el funcionamiento de un registro de corrimiento implementado sobre una EEPROM. Implementar la sincronización del envío de datos y registro de corrimiento al display. Introducción En esta práctica realizaremos la activación de un display alfanumérico matricial de 35 leds, arreglados en 7 renglones y 5 columnas. Figura 4.1 Display de 7 renglones y 5 columnas Estos displays están construídos de tal forma que los leds de un renglón comparten la misma línea de conexión y asimismo los leds de una columna comparten una sola línea lo cual reduce el número de terminales para la activación de los 35 leds que de otra manera requerirían 70 terminales para su conexión individual. Cada uno de los leds se enciende cuando se aplica un voltaje de 5V en la columna y 0V en el renglón para displays de ánodo común y cuando se aplica 0V en la columna y 5V en el renglón para displays de cátodo común. Figura 4.2 Disposición de leds en el display 7 x 5 El display que utilizaremos en la práctica es de ánodo común por lo que enciende con 5V en sus columnas y con asignaciones de 0V en aquellos leds que deseamos encender. Diseño de Sistemas Digitales empleando Dispositivos Lógicos Programables PLDs 12 Práctica 4 Display Alfanumérico 7x5 con 2 máquinas secuenciales Debido a que el encendido del display se realiza columna por columa, se requiere construír un circuito de corrimiento de 5 bits que proporcione voltaje de 5V a cada una de las columnas en forma secuencial y que al mismo tiempo coincida con un cero en la posición del renglón del led que deseamos encender. El sistema deberá contar con 2 memorias, una que sirva para generar el registro de corrimiento y otra para almacenar los datos que vamos a desplegar en conjuntos de 5 datos de 7 bits. Los datos que deberán almacenarse en la memoria de datos, se muestran en la figura 4.3. Figura 4.3 Caracteres a desplegar Estos caracteres se deben almacenar a partir de la localidad cero de la memoria de datos y cubriendo 5 localidades, cada letra se seleccionará a partir de 4 bits de control que definen una localidad de memoria a partir de la cual se despliega cada una de las máquinas de estado. Los datos almacenados en la memoria solo emplean los 7 bits menos significativos y el octavo bit se cargará con cero. Actividades previas a la realización de la práctica 1. 2. 3. 4. El alumno deberá realizar la lectura de la práctica. El alumno realizará la programación de la primera memoria AT28C16 con con los datos del registro de corrimiento mostrados en la figura 4.5 y la segunda memoria se debe programar con la tabla de datos correspondiente a los caracteres, mostrada en la figura 4.6 Como la tabla solo contiene 12 caracteres y se puede controlar la exhibición de 16, el alumno deberá generar 4 caracteres adicionales e incluirlos en la programación. El alumno realizará la simulación de los circuitos del procedimiento experimental considerando la figura 4.4 siguiendo los pasos del desarrollo. Considere emplear el circuito de memoria 2732 en sustitución del circuito AT28C16 de la práctica, considerando que tiene una terminal de direcciones extra. Esta Diseño de Sistemas Digitales empleando Dispositivos Lógicos Programables PLDs 13 Práctica 4 Display Alfanumérico 7x5 con 2 máquinas secuenciales 5. sustitución es necesaria debido a que el simulador no tiene un modelo de simulación para la memoria AT28C16. Entregar los resultados de la simulación de forma impresa al profesor al inicio de la sesión de laboratorio. Material 2 Memoria AT28C16 1 74LS393 1 74LS08 1 Display de matriz de leds de 7 x 5 ánodo común Equipo 1 Fuente de voltaje de CD. 1 Multímetro 1 Programador Universal 1 Protoboard Procedimiento Experimental 1. Implemente el circuito de la figura 4.4. Figura 4.4 2. Programe la memoria 2716 que contendrá el registro de corrimiento con la tabla de la figura 4.5 Figura 4.5 Registro de corrimiento Diseño de Sistemas Digitales empleando Dispositivos Lógicos Programables PLDs 14 Práctica 4 Display Alfanumérico 7x5 con 2 máquinas secuenciales 3. Programe la memoria 2716 que contendrá la tabla de datos de acuerdo a la figura 4.6 Figura 4.6 Tabla de datos para 12 caracteres. 4. 5. 6. 7. 8. 9. Con una señal de reloj de 1Hz compruebe que se genera el registro de corrimiento y se produce el encendido de cada una de las columnas del circuito para una entrada de selección 0010. Incremente la frecuencia de reloj y verifique que la visualización se realiza cada vez más rápido. Aumente la frecuencia de reloj hasta que ya no pueda observarse el parpadeo de las columnas al apagarse, anote el valor de la frecuencia que produce este efecto. Compruebe que se pueden visualizar los 4 caracteres diseñados por el alumno. Diseñe una animación que muestre un asterisco que gire utilizando la siguiente secuencia de cuatro etapas y repitiéndose de forma constante. Implemente el circuito y pruébelo para mostrar la animación en el display. Cuestionario 1. 2. 3. 4. Cuál es la función de la compuerta AND en el sistema. Indique cual es la frecuencia mínima para que se produzca este efecto y porque se puede ver el carácter completo como si el encendido fuera simultáneo. Incluya las gráficas y valores para los 4 caracteres diseñados. Incluya el diseño del circuito de animación. Diseño de Sistemas Digitales empleando Dispositivos Lógicos Programables PLDs 15 Práctica 5 Decodificador de Teclado con GAL y algebra de Boole 1. 2. Laboratorio de Dispositivos Lógicos Programables Práctica 5 Decodificador de Teclado con GAL y algebra de Boole Tema: 2.6. Arreglos lógicos genéricos (GAL’s). Objetivos Implementar un decodificador de teclado matricial telefónico de 12 teclas. Obtener la representación en algebra de Boole de la tabla de verdad del decodificador Implementar las ecuaciones de Boole dentro de un dispositivo GAL22V10 Introducción En esta práctica realizaremos la decodificación de un teclado matricial de 12 teclas utilizado para la marcación en los teléfonos como el mostrado en la figura 5.1. Este teclado presenta un conjunto de 12 teclas arregladas en un formato de matriz que activa un renglón y una columna en correspondencia con la tecla presionada. Figura 5.1 Existen varias formas de decodificarlo, una de ellas utiliza un registro de corrimiento que activa los renglones en forma consecutiva del renglón 1 al 4, repitiendo el proceso una y otra vez a una frecuencia elevada, analizando el valor que presentan las columnas y haciendo el análisis de que renglón y columna están activas en el instante de tiempo en que se presiona la tecla, se puede por lo tanto asignar el código correspondiente en binario u otro código, de cada una de las teclas. En esta práctica emplearemos un método de decodificación que aprovecha una terminal del teclado que es común a todas las teclas y por lo tanto no requiere del registro de corrimiento externo. Este proceso de decodificación es totalmente estático ya que se emplean 7 resistencias conectadas a la fuente de alimentación y donde la tecla presionada funciona como un switch conectado a tierra y genera un cero lógico tanto en el renglón como en la columna donde está posicionada la tecla. Diseño de Sistemas Digitales empleando Dispositivos Lógicos Programables PLDs 16 Práctica 5 Decodificador de Teclado con GAL y algebra de Boole Salidas hacia la GAL R39 5V 1k 1k 1k 1k 1k 1k R40 R41 R42 R43 R44 R45 Gris 1 2 3 4 5 6 Azul 7 8 9 Amarillo * 0 # 1k Violeta Cafe Naranja Rojo Verde 0 Figura 5.2 Decodificación estática del teclado En esta práctica se requiere el planteamiento de las tablas de verdad para las 7 entradas, 3 columnas y 4 renglones y las 5 salidas, código binario de 4 bits para identificar 12 teclas y además 1 salida adicional para indicar que una tecla se ha presionado y por lo tanto el código de salida es válido, esto es necesario porque no podría distinguirse entre el código de salida 0000 debido a que ninguna tecla está presionada y el código 0000 debido a la tecla 0 que es un código válido. La asociación de códigos para cada tecla se muestra en la tabla 5.1, observe que el código de validez de código (V) esta activo en 1 solo para las 12 combinaciones mostradas de las 128 posibles y por lo tanto los 116 restantes deben tener el bit V = 0. Tecla 1 2 3 4 5 6 7 8 9 * 0 # Renglones A 0 1 1 0 1 1 0 1 1 0 1 1 BC 11 01 10 11 01 10 11 01 10 11 01 10 Columnas D 0 0 0 1 1 1 1 1 1 1 1 1 E 1 1 1 0 0 0 1 1 1 1 1 1 FG 11 11 11 11 11 11 01 01 01 10 10 10 Bit de código Válido V 1 1 1 1 1 1 1 1 1 1 1 1 Código de tecla WXYZ 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 0000 1011 Tabla 5.1 Actividades previas a la realización de la práctica 1. 2. 3. El alumno deberá realizar la lectura de la práctica. El alumno obtendrá las 5 ecuaciones de Boole que representan a cada una de las variables de salida de la tabla 5.1 (V, W, X, Y y Z) y comprobará que concuerdan con las ecuaciones del desarrollo. El alumno creará un proyecto en el programa ISPLEVER para insertar las ecuaciones de Boole. Diseño de Sistemas Digitales empleando Dispositivos Lógicos Programables PLDs 17 Práctica 5 Decodificador de Teclado con GAL y algebra de Boole 4. 5. 6. El alumno generará el archivo P5_PLDs.JED que se empleará para programar a la GAL. El alumno realizará la simulación de los circuitos del procedimiento experimental considerando la figura 5.3 siguiendo los pasos del desarrollo. El teclado deberá ser simulado con entradas individuales ya que el teclado del simulador solo puede ser decodificado en forma dinámica con registros de corrimiento. Entregar los resultados de la simulación de forma impresa al profesor al inicio de la sesión de laboratorio. Material 1 GAL22V10D 1 Teclado telefónico de 12 teclas. 4 Resistencias de 330 Ω 1 Barra de 8 leds ó en su defecto 5 leds individuales. Equipo 1 Fuente de voltaje de CD. 1 Multímetro 1 Programador Universal 1 Protoboard Procedimiento Experimental 1. Ejecute el software ISPLEVER. Figura 5.3 2. Cree un proyecto nuevo denominado P5_PLDs con lenguaje VHDL y en la carpeta que usted seleccione. Figura 5.4 3. Seleccione el tipo de dispositivo activando la casilla de: Show Obsolete Devices Seleccione Family: GAL Device Seleccione Device: GAL22V10D Seleccione Package Type: 24 PDIP Todos los parámetros restantes deben dejarse con su opción default. Considere la figura 5.5 para definir estas opciones Finalice el proceso para crear el proyecto. Diseño de Sistemas Digitales empleando Dispositivos Lógicos Programables PLDs 18 Práctica 5 Decodificador de Teclado con GAL y algebra de Boole Figura 5.5 4. Cree un archivo fuente nuevo y seleccione un tipo de proyecto VHDL Module Figura 5.6 5. Defina las variables de entrada y salida del sistema así como la indicación de si son entradas o salidas, según se muestra en la figura 5.7. Figura 5.7 6. 7. Figura 5.8 A partir de la información insertada se crea el archivo mostrado en la figura 5.8. Complete la información mostrada en la figura 5.9 para incluir la definición de terminales y las funciones de Boole para las variables V, W, X, Y y Z. Diseño de Sistemas Digitales empleando Dispositivos Lógicos Programables PLDs 19 Práctica 5 Decodificador de Teclado con GAL y algebra de Boole 8. Figura 5.9 Compile el proyecto con la opción JEDEC File como se muestra en la figura 5.10, obtenga el archivo P5_PLDs.JED y programe la GAL con dicho archivo. Figura 5.10 9. Implemente el circuito mostrado en la figura 5.11 considerando los cables del teclado mostrados en la figura 5.2. 10. Compruebe el código de cada una de las teclas y el bit de validez de código. Diseño de Sistemas Digitales empleando Dispositivos Lógicos Programables PLDs 20 Práctica 5 Decodificador de Teclado con GAL y algebra de Boole Figura 5.11 Cuestionario 1. 2. 3. Describa la función que realiza el comando LOC en el programa en VHDL. Imprima la hoja técnica de la GAL22V10D y describa las características y funcionalidad de las terminales de entrada y salida. Describa la característica de los tiempos de acceso y compárela con los tiempos de acceso de la implementación discreta considerando las funciones de Boole obtenidas en las actividades previas. Diseño de Sistemas Digitales empleando Dispositivos Lógicos Programables PLDs 21 Práctica 6 Implementación de Tablas de Verdad con GALs Laboratorio de Dispositivos Lógicos Programables 1. 2. Práctica 6 Implementación de Tablas de Verdad con GALs Tema: 2.6. Arreglos lógicos genéricos (GAL’s). Objetivos Implementar tablas de verdad de circuitos lógicos dentro de un dispositivo lógico programable considerando lenguaje VHDL. Utilizar la característica de concurrencia del lenguaje VHDL para la representación de una tabla de verdad. Introducción En esta práctica implementaremos las tablas de verdad de 3 circuitos lógicos empleando para ello la característica de concurrencia que tiene el lenguaje VHDL, el cual no ejecuta las instrucciones de forma secuencial sino de forma concurrente y cualquier cambio en las variables de entrada se refleja inmediatamente en las variables de salida puesto que el sistema funciona como lo hace un circuito verdadero, ya que este sistema no depende de la programación como lo hacen los microprocesadores. El primer circuito es un Codificador de código binario a un código de 7 segmentos que tiene una tabla de verdad como la mostrada en la figura 6.1. Código Binario ABCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Código de 7 segmentos abcdefg 1111110 0110000 1101101 1111001 0110011 1011011 1011111 1110000 1111111 1111011 1110111 0011111 1001110 0111101 1001111 1000111 Figura 6.1 Tabla de verdad del codificador binario a 7 segmentos Diseño de Sistemas Digitales empleando Dispositivos Lógicos Programables PLDs 22 Práctica 6 Implementación de Tablas de Verdad con GALs El cual se implementará a partir de la función WITH … SELECT del lenguaje VHDL, la cual permite definir la salida en función del valor de una variable de selección. En las variables de entrada se empleará el método de definición de vector lógico estándar, para poderlas manipular en forma de bloque. En el segundo circuito se implementará un Codificador de BCD a 7 segmentos considerando la variante de WITH … SELECT empleando la palabra OTHERS que define a todas las combinaciones de entrada que no han sido empleadas dentro de la tabla, sin importar si están en orden o no. De las 16 combinaciones posibles para 4 bits de entrada, solo se emplearán las 10 posibles para código BCD y las 6 restantes se agrupan en la declaración OTHERS. Para la tercera parte de la práctica emularemos el comportamiento de un circuito 74138, Codificador/Demultiplexor de 1 a 8, como el que se muestra en la figura 6.2 Figura 6.2 Circuito 74LS138 Este circuito integrado tiene 8 salidas (Y7 a Y0), 3 selectores de canal (C, B y A) y 3 habilitadores (G2A, G2B y G1), como se muestra en las figuras 6.2 y 6.3. Figura 6.3 Puede emularse el comportamiento del circuito 74LS138 empleando un dispositivo lógico programable GAL22V10D identificando solamente la tabla de verdad de la figura 6.4 e implementando dichas relaciones a través del lenguaje VHDL. Diseño de Sistemas Digitales empleando Dispositivos Lógicos Programables PLDs 23 Práctica 6 Implementación de Tablas de Verdad con GALs Figura 6.4 Tabla de verdad del circuito 74LS138 Para la implementación de este circuito emplearemos la función WHEN … ELSE en la cual se incluirán dos condiciones de selección y una asignación de salida. También se utilizará la definición de variables intermedias para facilitar la manipulación de los datos, estas se definirán a partir de la palabra clave SIGNAL. SIGNAL SELECTORES : std_logic_vector (2 DOWNTO 0); SIGNAL HABILITADORES : std_logic_vector (2 DOWNTO 0); El último elemento a utilizar será el comando de concatenación (&) para trabajar las señales de entrada en forma de vector. SELECTORES <= A & B & C; HABILITADORES <= G1 & G2A & G2B; Actividades previas a la realización de la práctica 1. 2. 3. 4. 5. 6. El alumno deberá realizar la lectura de la práctica. El alumno generará el archivo binario P6_Binario.JED empleando el software ISPLever, para el codificador binario a 7 segmentos de la figura 6.6. El alumno generará el archivo binario P6_BCD.JED empleando el software ISPLever, para el codificador BCD a 7 segmentos de la figura 6.6. El alumno generará el archivo binario P6_74138.JED empleando el software ISPLever, para la emulación del circuito 74LS138 de la figura 6.9 El alumno realizará la simulación de los circuitos del procedimiento experimental siguiendo los pasos del desarrollo. Entregar los resultados de la simulación de forma impresa al profesor al inicio de la sesión de laboratorio. Material 1 Circuito GAL22V10D 1 Display de 7 segmentos cátodo común 8 Resistencias de 330 Ω 1 Barra de 8 leds ó en su defecto 8 leds individuales. Diseño de Sistemas Digitales empleando Dispositivos Lógicos Programables PLDs 24 Práctica 6 Implementación de Tablas de Verdad con GALs Equipo 1 Fuente de voltaje de CD. 1 Multímetro 1 Programador Universal 1 Protoboard Procedimiento Experimental 1. Cree un proyecto en el software ISPLever denominado P6_Binario y genere el archivo P6_Binario.JED utilizando las instrucciones descritas en el archivo VHDL de la figura 6.5. Figura 6.5 Archivo VHDL para el codificador binario a 7 segmentos 2. Implemente el circuito de la figura 6.6. Figura 6.6 Codificador binario a 7 segmentos Diseño de Sistemas Digitales empleando Dispositivos Lógicos Programables PLDs 25 Práctica 6 Implementación de Tablas de Verdad con GALs 3. 4. Programe la GAL con el archivo P6_Binario.JED y compruebe el correcto funcionamiento de las 16 combinaciones del codificador. Cree un proyecto en el software ISPLever denominado P6_BCD y genere el archivo P6_BCD.JED utilizando las instrucciones descritas en el archivo VHDL de la figura 6.7. Figura 6.7 Codificador de BCD a 7 segmentos. 5. 6. Empleando el circuito de la figura 6.6, reprograme la GAL para realizar la comprobación del codificador BCD a 7 segmentos en sus primeras 10 combinaciones y las 6 combinaciones restantes sin activación del display. Cree un proyecto en el software ISPLever denominado P6_74138 y genere el archivo P6_74138.JED utilizando las instrucciones descritas en el archivo VHDL de la figura 6.8. Figura 6.8 Archivo VHDL para circuito 74138 (1ª parte) Diseño de Sistemas Digitales empleando Dispositivos Lógicos Programables PLDs 26 Práctica 6 Implementación de Tablas de Verdad con GALs Figura 6.8 Archivo VHDL para circuito 74138 (2ª parte) 7. Implemente el circuito de la figura 6.9. Figura 6.9 Emulador de circuito 74138 8. Programe la GAL con el archivo P6_74138.JED y compruebe el correcto funcionamiento de la tabla de verdad del circuito 74138. Cuestionario 1. 2. 3. Describa el significado de las siglas VHDL. Describa las características del lenguaje VHDL. Investigue las diferencias y similitudes entre una declaración de señal de entrada bit y una señal de entrada std_logic. Diseño de Sistemas Digitales empleando Dispositivos Lógicos Programables PLDs 27 Práctica 7 Control de Potencia con Flip Flops en dispositivos PLD 1. 2. Laboratorio de Dispositivos Lógicos Programables Práctica 7 Control de Potencia con Flip Flops en dispositivos PLD Tema: 2.6. Arreglos lógicos genéricos (GAL’s). Objetivos Comprender la utilización de las extensiones empleadas en las macroceldas de los PLD´s. Comprobar el procedimiento para asignar señales o funciones a las extensiones de los flip flops. Realizar el control de potencia de corriente alterna utilizando al PLD como elemento de control. Introducción El desarrollo de la tecnología de fabricación de los PLD´s permitió emplear elementos cada vez más sofisticados tanto en sus entradas como en sus salidas y eso derivó en la creación de sistemas electrónicos que permitan el almacenamiento, el encendido, el apagado, el cambio de polaridad y la multiplexación de las señales de salida. Estos elementos electrónicos que mejoran la funcionalidad de los PLD y su estructura básica, están concentrados en un elemento llamado macrocelda de salida lógica (Output Logic Macrocell) o OLMC. Figura 7.1 OLMC Output Logic Macrocell de la GAL22V10D En la OLMC del circuito GAL22V10D se puede observar que cada salida de la OR de minitérminos puede asociarse con un Flip Flop tipo D que tiene: Señal de reloj compartida que se distribuye a partir de la terminal número 1, la cual permite realizar diseños síncronos. Salidas 𝑄 y 𝑄̅ que permite obtener en la salida la polaridad normal y la negada. Una señal de control denominada AR (Asynchronous Reset) o Reset Asíncrono que produce que la salida Q vaya a bajo inmediatamente después de aplicarla sin intervención o relación con el reloj aplicado al flip flop. Diseño de Sistemas Digitales empleando Dispositivos Lógicos Programables PLDs 28 Práctica 7 Control de Potencia con Flip Flops en dispositivos PLD Una señal de control denominada SP (Synchronous Preset) o Preset Síncrono que produce que la salida Q vaya a alto en sincronía con el pulso de subida del reloj. Una señal de control que permite habilitar o deshabilitar la salida de la señal denominada OE (Output Enable) o Habilitador de Salida. Cada una de estas extensiones, a excepción del reloj pueden ser controlados por una señal de entrada al PLD o por una función lógica, siempre y cuando se haga una asociación de la señal con la extensión indicada a través de un punto y el nombre de la extensión al final del nombre de la señal. En esta práctica se aplicarán señales externas a cada una de las señales de control y se comprobará el funcionamiento del flip flop correspondiente en forma lógica como se muestra en la figura 7.2. salida.D = dato; salida.AR = !clear; salida.SP = !set; salida.OE = enable; Figura 7.2 asignación de señales a extensiones del Flip Flop La señal de salida de la GAL se aplicará a una interfaz de potencia para controlar el encendido y apagado de la carga con un voltaje de alterna de 127 V. Esta interfaz de potencia se realizará con un circuito optoaislador MOC 3010 que contiene un led infrarrojo y un triac con compuerta infrarroja que tiene como inconveniente el manejo de corrientes reducidas (100mA) aproximadamente, en la figura 7.3 se muestra el diagrama de terminales y el diagrama lógico. Debido a la baja corriente de salida se deberá utilizar un segundo TRIAC de corriente elevada para controlar a la carga. Figura 7.3 Opto Triac MOC 3010 El triac que controlará la potencia entregada a la carga será un TIC206D que puede manipular una corriente de 4 A. con un voltaje de hasta 400V, aunque se pueden emplear triacs de mayor corriente y voltaje. Figura 7.4 Triac TIC206D Actividades previas a la realización de la práctica 1. 2. 3. El alumno deberá realizar la lectura de la práctica. El alumno realizará la simulación del circuito del procedimiento experimental considerando la figura 7.6 siguiendo los pasos del desarrollo, debe omitirse la simulación para el dispositivo Opto aislador MOC3011 pues no produce los resultados reales del circuito y deberá ser probado solo en forma práctica. Entregar los resultados de la simulación de forma impresa al profesor al inicio de la sesión de laboratorio. Diseño de Sistemas Digitales empleando Dispositivos Lógicos Programables PLDs 29 Práctica 7 Control de Potencia con Flip Flops en dispositivos PLD Material 1 GAL22V10D 2 Resistencias de 330 Ω 1 TRIAC TIC206D 1 MOC3010 1 Foco incandescente 1 Cable de alimentación eléctrica 2 polos 1 Clavija Equipo 1 Fuente de voltaje de CD. 1 Multímetro 1 Programador Universal 1 Protoboard 1 Generador de funciones Procedimiento Experimental 1. El alumno creará el proyecto P7_MOC3010.PLD en el software Wincupl de acuerdo a la figura 7.5. Figura 7.5 Proyecto P7_MOC3010 2. 3. 4. 5. 6. 7. 8. Generar el archivo P7_MOC3010.JED. Programar la GAL22V10 con el archivo JED. Implementar el circuito de la figura 7.6. Calibrar el generador de funciones con una señal cuadrada de niveles TTL y una frecuencia de 1 Hz. Considere que la alimentación del foco es de 127 V de c.a. de la línea y que deberá tomar todas las precauciones necesarias para evitar una descarga eléctrica a algún miembro del equipo o a la fuente de voltaje. La clavija deberá instalarse en el cable y las otras 2 puntas deberán conectarse al circuito. Considere que el circuito del lado derecho de la figura 7.6 no está conectado a tierra. Diseño de Sistemas Digitales empleando Dispositivos Lógicos Programables PLDs 30 Práctica 7 Control de Potencia con Flip Flops en dispositivos PLD Figura 7.6 Compruebe la posición de las conexiones y evite que las terminales del cable de alimentación toquen alguna otra parte del circuito. 10. Compruebe el funcionamiento del reloj y el funcionamiento de las 4 terminales restantes que controlan al Flip Flop D. 11. Compruebe que el foco se encienda y apague de acuerdo a la salida de la GAL. 9. Cuestionario 1. 2. 3. Investigue las condiciones de funcionamiento del MOC 3010 con respecto a las corrientes y voltajes que se requieren para activar al led infrarrojo de entrada y las capacidades de corriente y voltaje del TRIAC de salida. Qué ventajas y desventajas tiene el controlar cargas de corriente alterna empleando rectificadores de estado sólido en lugar de relevadores. Investigue las características de los dispositivos denominados SCR y TRIAC que se emplean para el control de potencia alterna. Diseño de Sistemas Digitales empleando Dispositivos Lógicos Programables PLDs 31