Você está na página 1de 4

Proyecto Final Anlisis y Diseo de un Reloj con Sistema de Alarma

Departamento de Ingeniera Elctrica y Computacin Instituto de Ingeniera y Tecnologa, UACJ Materia: Electrnica Digital, Catedrtico: Abimael Jimnez Prez Fecha de Entrega: Viernes 23 de noviembre de 2012

1.

Introduccin

5.

Descripcin Funcional

Uno de los ms importantes gadgets electrnicos, utilizados por los estudiantes universitarios, es un reloj digital con alrma. Este proyecto consiste en utilizar todo el conocimiento obtenido en electrnica digital para disear un reloj digital con alrma e implementarlo en un FPGA.

El sistema de reloj se implementar con cada uno de los bloques que se muestran en la gura 3. La seal de reloj se obtendr del oscilador primario de la tarjeta Basys, el cual genera una frecuencia de 50 MHz. Observe que todo el sistema est sincronizado con esta seal, a travs de la entrada Clock, en todos los bloques del sistema. Apartir de la seal de reloj, Clock, de 50 MHz de la tarjeta Basys se generarn 3 seales de reloj con diferentes frecuencias, utilizando divisores de frecuencia. Como se muestra en el bloque conts1 de la gura 3, de los divisores de frecuencia se obtendrn 3 seales de reloj con las siguientes frecuencias: 512 Hz (PLS512), 2 Hz (PLS2) y 1 Hz (PLS1). La seal con frecuencia de 512 Hz se utilizar para multiplexar la informacin en los 4 displays, la seal con frecuencia de 2 Hz se utilizar en los puntos decimales de cada display para visualizar el conteo de los segundos del reloj (similar a los dos puntos que separan los minutos de los segundos en un reloj digital convencional) y la seal con frecuencia de 1 Hz se utilizar para el conteo de los segundos y minutos del sistema. En la parte izquierda de la gura 3, se muestran 4 bloques, unidades segundos (SegU), decenas segundos (SegD), unidades minutos (MinU) y decenas minutos (MinD), respectivamente. Estos bloques se encargaran de realizar los conteos de los segundos y minutos del reloj digital. Observe que en el primer bloque, SegU, entra la seal de reloj PLS1 (con frecuencia de 1 Hz) y la seal de salida de este bloque es la entrada del siguiente bloque, segd, este mismo procedimiento continua con los bloques MinU y MinD. Como se muestra en la gura 3, en cada uno de estos bloques aparece la entrada S6-10, la cual determina el conteo de los segundos y minutos. Para los bloques de las unidades S6-10 1

2.

Objetivo

Disear un sistema secuencial de un reloj digital con la opcin de ajustar la hora y programar una alarma. El sistema utilizar cuatro displays, dos para representar los segundos y dos para representar los minutos y deber implementarse con circuitos combinacionales y secuenciales a travs de VHDL y la tarjeta Basys.

3.

Materiales
1 Tarjeta FPGA Basys / Basys2. 1 Buzzer

4.

Prerequisistos
Multiplexores (Notas del curso y prcticas) Decodicadores (Notas del curso y prcticas) Codicadores (Notas del curso y prcticas) Divisores de frecuencia (Notas del curso y prcticas) Flip ops (Notas del curso y prcticas) Contadores (prctica 17) Mquinas de estados (prctica 17) Programacin en VHDL

Electrnica Digital, Agosto-Diciembre 2012

tendr un valor de 0 o bajo para indicar que el conteo se realizar del 0 al 9 y para los bloques de las decenas S6-10 tendr un valor de 1 o alto para indicar que el conteo se realizar del 0 al 5.

El sistema del reloj digital tendr dos push buttons SEL e INC para ajustar los valores de hora/alarma e incrementar los valores, respectivamente. Este control se realizar a travs del bloque control1 de la gura 1. El bloque control1 funcionar en base a una mquina de 9 estados. El estado 0 ser el estado inicial del sistema, en este estado las seales de salida del bloque control1, tendrn los siguientes valores: (CSsu = 0, CSsd = 0, CSmu = 0, CSmd = 0 y H al = 1). Estos valores son las entradas en los bloques Se sugiere que el valor de SEL sea representado SegU, SegD, MinU y MinD, como se muestra en la gura en 4 LEDs para que siempre se verique el estado 3. El valor H al = 1 indica que se estar enviando la infor- en el que se encuentra la mquina de estados. macin de la hora a los displays. En el estado 0 iniciar el reloj con el valor 0000, es decir cero minutos, cero segundos. Una vez establecida la hora y la alarma el sistema funcionar de la siguiente manera: si los valores del reloj y la alarma son iguales en unidades segundo, decenas segundo, Al presionar el push button SEL la mquina de estados unidades minuto y decenas minuto, se activarn con 1 lgicambia al estado 1 y el bloque control1 tendra las siguien- co las salidas ALsu, ALsd, ALmu y ALmd. Estas seales tes seales de salida (CSsu = 1, CSsd = 0, CSmu = 0, sern las entradas del bloque alarm que se muestra en la CSmd = 0 y H al = 1). Con el valor de CSsu = 1 se gura 2. En este bloque se enviar una seal a una salida habilita la opcin de ajustar el dgito de las unidades de de la tarjeta Basys si ALsu = 1, ALsd = 1, ALmu = 1 y los segundos, a travs del push button INC. Una vez que ALmd = 1, es decir cuando se active la alarma. Dentro de se ajusta el valor de las unidades de los segundos, ser po- este mismo bloque se generar un contador de 16 segundos, sible ajustar el dgito de las decenas segundo presionando el cual ser el tiempo que durar activada la alarma. El buznuevamente el push button SEL, donde ahora la mquina zer activado por la alarma se desactivar con dos opciones: de estados cambia al estado 2 y el bloque control1 ten- presionando el push button INC o al terminar el conteo de dra las siguientes seales de salida (CSsu = 0, CSsd = 1, los 16 segundos. CSmu = 0, CSmd = 0 y H al = 1). Con el valor de CSsd=1 se habilita la opcin de ajustar el dgito de las decenas de los segundos, a travs del push button INC. Este mismo procedimiento se seguir para ajustar los dgitos de unidades minuto y decenas minuto. Observe que durante todo este proceso H al = 1, indicando que se estar enviando la informacin de la hora a los 4 displays de la tarjeta.

salida (CSsu = 1, CSsd = 0, CSmu = 0, CSmd = 0 y H al = 0). A diferencia de los estados anteriores (0 al 4) en este estado el valor de H al = 0 indicar que ahora se visualizaran los dgitos de la alarma en los displays y CSsu = 1 nuevamente habilita la opcin de ajustar el dgito de las unidades de los segundos de la alarma, a travs del push button INC. Al presionar nuevamente el push button SEL pasaremos a los estados 6, 7 y 8 para el ajuste de los dgitos de decenas segundo, unidades minuto y decenas minuto de la alarma. Al presionar otra vez el push button SEL se establece nuevamente el estado 0 y tanto la hora como la alarma quedarn ajustadas en el sistema.

Figura 1: Bloque del control para el sistema del reloj digital.

Figura 2: Bloque del control de la alarma de la gura 3.

Al seguir presionando el push button SEL y llegar al esFinalmente, el bloque displ1 se encargar de multiplexar tado 5, el bloque control1 tendra las siguientes seales de tanto los nmeros de los segundos y minutos, como los tiem-

Electrnica Digital, Agosto-Diciembre 2012

pos de activacin de los cuatro displays de la tarjeta Basys. 7. Evaluacin Tambin en este bloque se realizar la decodicacin de 7 El proyecto debe ser entregado el da Viernes 23 de Nosegmentos. Para entender el funcionamiento de este bloque perfectamente e implementarlo en el proyec- viembre de 2012 como fecha lmite, sin embargo, puede ento ser muy importante desarrollar la prctica 17. tregarse antes de esta fecha. En el reporte a entregar es necesario incluir: Introduccin: NOTA: Para entender el diseo del sistema del reloj digital y la metodologa que se debe de seguir, ser muy importante realizar y analizar la prctica 17, ya que se seguir la misma metodologa e inclusive se utilizaran algunos de los mismos bloques. El sistema del reloj digital se basa principalmente en contadores, por lo que se recomienda investigar todo lo referente a contadores con ip ops en las notas del curso y la bibliografa recomendada del curso. Objetivo. Problemas a resolver. Soluciones propuestas. Breve organizacin del reporte. Marco Terico (Descripcin de los principales circuitos utilizados en el sistema: codicadores, decodicadores, multiplexores, ip ops, etc.). Desarrollo: Clculos para divisor de frecuencia. Explicacin del funcionamiento de cada uno de los bloques del sistema Explicacin de las secciones ms relevantes del cdigo. Diagrama esquemtico. Implementacin fsica en el FPGA. Conclusiones: Qu se logr / no se logr? Qu mejora realizara al diseo? Qu se tendra que realizar para agregar los dgitos de la hora? Qu signic realizar este proyecto? Referencias / Bibliografa. Apndice: Cdigo completo con comentarios.

6.

Requisitos

El proyecto deber cumplir con las siguientes especicaciones: Diseo del reloj con alarma utilizando cada uno de los bloques especicados en la gura 3. Simular el funcionamiento del sistema en ISEwebpack, ste debera ser mostrado al entregar el proyecto. Implementar en el ISEwebpack cada uno de los bloques, realizar el esquemtico de cada uno de los bloques e interconectar todo el sistema como se realiz en la prctica 17. El reporte del proyecto debera incluir: 1. Diagrama de transiciones. 2. Simulacin del sistema (testbench) 3. Clculos para determinar las frecuencias de 512, 2 y 1 Hz (Hasta que punto llegar el conteo y el nmero de ip ops necesarios). 4. Determinar la cantidad total de Flip Flops utilizados en el sistema. 5. Determinar las entradas y salidas. 6. Determinar el diagrama de transiciones de todo el sistema (estados presentes, entradas de control, estados prximos, etc.). 7. En caso de ser necesario minimizar mediante mapas o lgebra de Boole, para obtener las expresiones lgicas necesarias para determinar los circuitos de salida y entrada a los Flip Flops. 8. Dibujo del diagrama esquemtico o la imagen RTL de la herramienta ISEwebpack.

Electrnica Digital, Agosto-Diciembre 2012

Figura 3: Bloques de un sistema de reloj digital con alarma.

Você também pode gostar