Proyecto Reloj

4
Proyecto Final Análisis y Diseño de un Reloj con Sistema de Alarma Departamento de Ingeniería Eléctrica y Computación Instituto de Ingeniería y Tecnología, UACJ Materia: Electrónica Digital, Catedrático: Abimael Jiménez Pérez Fecha de Entrega: Viernes 23 de noviembre de 2012 1. Introducción Uno de los más importantes gadgets electrónicos, utiliza- dos por los estudiantes universitarios, es un reloj digital con alárma. Este proyecto consiste en utilizar todo el conoci- miento obtenido en electrónica digital para diseñar un reloj digital con alárma e implementarlo en un FPGA. 2. Objetivo Diseñar un sistema secuencial de un reloj digital con la op- ción 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á implementar- se con circuitos combinacionales y secuenciales a través de VHDL y la tarjeta Basys. 3. Materiales 1 Tarjeta FPGA Basys / Basys2. 1 Buzzer 4. Prerequisistos Multiplexores (Notas del curso y prácticas) Decodificadores (Notas del curso y prácticas) Codificadores (Notas del curso y prácticas) Divisores de frecuencia (Notas del curso y prácticas) Flip flops (Notas del curso y prácticas) Contadores (práctica 17) Máquinas de estados (práctica 17) Programación en VHDL 5. Descripción Funcional El sistema de reloj se implementará con cada uno de los bloques que se muestran en la figura 3. La señal 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 señal, a través de la entrada Clock, en todos los bloques del sistema. Apartir de la señal de reloj, Clock, de 50 MHz de la tarjeta Basys se generarán 3 señales de reloj con diferen- tes frecuencias, utilizando divisores de frecuencia. Como se muestra en el bloque conts1 de la figura 3, de los divisores de frecuencia se obtendrán 3 señales de reloj con las siguien- tes frecuencias: 512 Hz (PLS512), 2 Hz (PLS2) y 1 Hz (PLS1). La señal con frecuencia de 512 Hz se utilizará pa- ra multiplexar la información en los 4 displays, la señal 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 señal con frecuencia de 1 Hz se utilizará para el conteo de los segundos y minutos del sistema. En la parte izquierda de la figura 3, se muestran 4 blo- ques, unidades segundos (SegU), decenas segundos (SegD), unidades minutos (MinU) y decenas minutos (MinD), res- pectivamente. 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 señal de reloj PLS1 (con frecuencia de 1 Hz) y la señal de salida de este bloque es la entrada del siguiente bloque, segd, este mismo proce- dimiento continua con los bloques MinU y MinD. Como se muestra en la figura 3, en cada uno de estos bloques apa- rece la entrada S6-10, la cual determina el conteo de los segundos y minutos. Para los bloques de las unidades S6-10 1

Transcript of Proyecto Reloj

Page 1: Proyecto Reloj

Proyecto FinalAnálisis y Diseño de un Reloj con Sistema de

AlarmaDepartamento de Ingeniería Eléctrica y Computación

Instituto de Ingeniería y Tecnología, UACJMateria: Electrónica Digital, Catedrático: Abimael Jiménez Pérez

Fecha de Entrega: Viernes 23 de noviembre de 2012

1. IntroducciónUno de los más importantes gadgets electrónicos, utiliza-

dos por los estudiantes universitarios, es un reloj digital conalárma. Este proyecto consiste en utilizar todo el conoci-miento obtenido en electrónica digital para diseñar un relojdigital con alárma e implementarlo en un FPGA.

2. ObjetivoDiseñar un sistema secuencial de un reloj digital con la op-

ción de ajustar la hora y programar una alarma. El sistemautilizará cuatro displays, dos para representar los segundosy dos para representar los minutos y deberá implementar-se con circuitos combinacionales y secuenciales a través deVHDL y la tarjeta Basys.

3. Materiales1 Tarjeta FPGA Basys / Basys2.

1 Buzzer

4. PrerequisistosMultiplexores (Notas del curso y prácticas)

Decodificadores (Notas del curso y prácticas)

Codificadores (Notas del curso y prácticas)

Divisores de frecuencia (Notas del curso y prácticas)

Flip flops (Notas del curso y prácticas)

Contadores (práctica 17)

Máquinas de estados (práctica 17)

Programación en VHDL

5. Descripción Funcional

El sistema de reloj se implementará con cada uno de losbloques que se muestran en la figura 3. La señal de relojse obtendrá del oscilador primario de la tarjeta Basys, elcual genera una frecuencia de 50 MHz. Observe que todoel sistema está sincronizado con esta señal, a través de laentrada Clock, en todos los bloques del sistema.

Apartir de la señal de reloj, Clock, de 50 MHz de latarjeta Basys se generarán 3 señales de reloj con diferen-tes frecuencias, utilizando divisores de frecuencia. Como semuestra en el bloque conts1 de la figura 3, de los divisoresde frecuencia se obtendrán 3 señales de reloj con las siguien-tes frecuencias: 512 Hz (PLS512), 2 Hz (PLS2) y 1 Hz(PLS1). La señal con frecuencia de 512 Hz se utilizará pa-ra multiplexar la información en los 4 displays, la señal confrecuencia de 2 Hz se utilizará en los puntos decimales decada display para visualizar el conteo de los segundos delreloj (similar a los dos puntos que separan los minutos delos segundos en un reloj digital convencional) y la señal confrecuencia de 1 Hz se utilizará para el conteo de los segundosy minutos del sistema.

En la parte izquierda de la figura 3, se muestran 4 blo-ques, unidades segundos (SegU), decenas segundos (SegD),unidades minutos (MinU) y decenas minutos (MinD), res-pectivamente. Estos bloques se encargaran de realizar losconteos de los segundos y minutos del reloj digital. Observeque en el primer bloque, SegU, entra la señal de reloj PLS1(con frecuencia de 1 Hz) y la señal de salida de este bloquees la entrada del siguiente bloque, segd, este mismo proce-dimiento continua con los bloques MinU y MinD. Comose muestra en la figura 3, en cada uno de estos bloques apa-rece la entrada S6-10, la cual determina el conteo de lossegundos y minutos. Para los bloques de las unidades S6-10

1

Page 2: Proyecto Reloj

Electrónica Digital, Agosto-Diciembre 2012 2

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

El sistema del reloj digital tendrá dos push buttons SELe INC para ajustar los valores de hora/alarma e incremen-tar los valores, respectivamente. Este control se realizará através del bloque control1 de la figura 1. El bloque con-trol1 funcionará en base a una máquina de 9 estados. Elestado 0 será el estado inicial del sistema, en este estado lasseñales de salida del bloque control1, tendrán los siguientesvalores: (CSsu = 0, CSsd = 0, CSmu = 0, CSmd = 0 yH − al = 1). Estos valores son las entradas en los bloquesSegU, SegD,MinU y MinD, como se muestra en la figura3. El valor H−al = 1 indica que se estará enviando la infor-mación de la hora a los displays. En el estado 0 iniciará elreloj con el valor 0000, es decir cero minutos, cero segundos.

Al presionar el push button SEL la máquina de estadoscambia al estado 1 y el bloque control1 tendría las siguien-tes señales de salida (CSsu = 1, CSsd = 0, CSmu = 0,CSmd = 0 y H − al = 1). Con el valor de CSsu = 1 sehabilita la opción de ajustar el dígito de las unidades delos segundos, a través del push button INC. Una vez quese ajusta el valor de las unidades de los segundos, será po-sible ajustar el dígito de las decenas segundo presionandonuevamente el push button SEL, donde ahora la máquinade estados cambia al estado 2 y el bloque control1 ten-dría las siguientes señales de salida (CSsu = 0, CSsd = 1,CSmu = 0, CSmd = 0 y H − al = 1). Con el valor deCSsd=1 se habilita la opción de ajustar el dígito de las de-cenas de los segundos, a través del push button INC. Estemismo procedimiento se seguirá para ajustar los dígitos deunidades minuto y decenas minuto. Observe que durante to-do este proceso H−al = 1, indicando que se estará enviandola información de la hora a los 4 displays de la tarjeta.

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

Al seguir presionando el push button SEL y llegar al es-tado 5, el bloque control1 tendría las siguientes señales de

salida (CSsu = 1, CSsd = 0, CSmu = 0, CSmd = 0 yH − al = 0). A diferencia de los estados anteriores (0 al4) en este estado el valor de H − al = 0 indicará que aho-ra se visualizaran los dígitos de la alarma en los displays yCSsu = 1 nuevamente habilita la opción de ajustar el dígitode las unidades de los segundos de la alarma, a través delpush button INC. Al presionar nuevamente el push buttonSEL pasaremos a los estados 6, 7 y 8 para el ajuste de losdígitos de decenas segundo, unidades minuto y decenas mi-nuto de la alarma. Al presionar otra vez el push button SELse establece nuevamente el estado 0 y tanto la hora como laalarma quedarán ajustadas en el sistema.

Se sugiere que el valor de SEL sea representadoen 4 LEDs para que siempre se verifique el estadoen el que se encuentra la máquina de estados.

Una vez establecida la hora y la alarma el sistema fun-cionará de la siguiente manera: si los valores del reloj y laalarma son iguales en unidades segundo, decenas segundo,unidades minuto y decenas minuto, se activarán con 1 lógi-co las salidas ALsu, ALsd, ALmu y ALmd. Estas señalesserán las entradas del bloque alarm que se muestra en lafigura 2. En este bloque se enviará una señal a una salidade la tarjeta Basys si ALsu = 1, ALsd = 1, ALmu = 1 yALmd = 1, es decir cuando se active la alarma. Dentro deeste mismo bloque se generará un contador de 16 segundos,el cual será el tiempo que durará activada la alarma. El buz-zer activado por la alarma se desactivará con dos opciones:presionando el push button INC o al terminar el conteo delos 16 segundos.

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

Finalmente, el bloque displ1 se encargará de multiplexartanto los números de los segundos y minutos, como los tiem-

Page 3: Proyecto Reloj

Electrónica Digital, Agosto-Diciembre 2012 3

pos de activación de los cuatro displays de la tarjeta Basys.También en este bloque se realizará la decodificación de 7segmentos. Para entender el funcionamiento de estebloque perfectamente e implementarlo en el proyec-to será muy importante desarrollar la práctica 17.

NOTA: Para entender el diseño del sistema del re-loj digital y la metodología que se debe de seguir,será muy importante realizar y analizar la práctica17, ya que se seguirá la misma metodología e in-clusive se utilizaran algunos de los mismos bloques.El sistema del reloj digital se basa principalmente encontadores, por lo que se recomienda investigar todolo referente a contadores con flip flops en las notasdel curso y la bibliografía recomendada del curso.

6. RequisitosEl proyecto deberá cumplir con las siguientes especifica-

ciones:

Diseño del reloj con alarma utilizando cada uno de losbloques especificados en la figura 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 esquemático de cada uno de los bloques e in-terconectar todo el sistema como se realizó en la prác-tica 17.

El reporte del proyecto debera incluir:

1. Diagrama de transiciones.

2. Simulación del sistema (testbench)

3. Cálculos para determinar las frecuencias de 512, 2 y 1Hz (Hasta que punto llegará el conteo y el número deflip flops necesarios).

4. Determinar la cantidad total de Flip Flops utilizadosen el sistema.

5. Determinar las entradas y salidas.

6. Determinar el diagrama de transiciones de todo el sis-tema (estados presentes, entradas de control, estadospróximos, etc.).

7. En caso de ser necesario minimizar mediante mapas oálgebra de Boole, para obtener las expresiones lógicasnecesarias para determinar los circuitos de salida y en-trada a los Flip Flops.

8. Dibujo del diagrama esquemático o la imagen RTL dela herramienta ISEwebpack.

7. EvaluaciónEl proyecto debe ser entregado el día Viernes 23 de No-

viembre de 2012 como fecha límite, sin embargo, puede en-tregarse antes de esta fecha.

En el reporte a entregar es necesario incluir:

Introducción:

• Objetivo.

• Problemas a resolver.

• Soluciones propuestas.

• Breve organización del reporte.

Marco Teórico (Descripción de los principales circuitosutilizados en el sistema: codificadores, decodificadores,multiplexores, flip flops, etc.).

Desarrollo:

• Cálculos para divisor de frecuencia.

• Explicación del funcionamiento de cada uno de losbloques del sistema

• Explicación de las secciones más relevantes del có-digo.

• Diagrama esquemático.

• Implementación física en el FPGA.

Conclusiones:

• ¿Qué se logró / no se logró?

• ¿Qué mejora realizaría al diseño?

• ¿Qué se tendría que realizar para agregar los dígi-tos de la hora?

• ¿Qué significó realizar este proyecto?

Referencias / Bibliografía.

Apéndice: Código completo con comentarios.

Page 4: Proyecto Reloj

Electrónica Digital, Agosto-Diciembre 2012 4

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