Dokumen - Tips - Reloj Digital 559dfba0deb48
Dokumen - Tips - Reloj Digital 559dfba0deb48
Dokumen - Tips - Reloj Digital 559dfba0deb48
Por:
Américo Álvarez Surci
http://slide pdf.c om/re a de r/full/re loj-digita l-559dfba 0de b48 1/44
INDICE GENERAL
INDICE DE FIGURAS IV
INDICE DE TABLAS V
RESUMEN VI
1.3. Metodología 2
5. 2. Mejor as 35
6. BIBLIOGRAFÍA 36
7. ANEXOS 36
7.1. Tarj eta Cyclone II - DE2 de Alt era 36
INDICE DE FIGURAS
Figura 1: Reloj Digital
Figura 2: Reloj Atómico NIST-F1, EE.UU.
Figura 3: Decodificador Básico
Figura 4: Diagrama de Pines CI 7447
Figura 5: Contador Síncrono Modulo-3
Figura 6: Diagrama de Tiempos Contador Flanco descendente
Figura 7: Contador Asíncrono
Figura 8: Multivi brador Astable con transistores
Figura 9: Multivibrador astable con CI 555
Figura 10: Ejemplo de “Entity”
Figura 11: Diagrama de bloques del Segundero
Figura 12: Diagrama de bloques del decodificador
INDICE DE TABLAS
Tabla 1: Decodificador binari o a display 7 segmentos ánodo común
Tabla 2: tabla de verdad de CI 7447
Tabla 3: Secuencia de Cuenta de CI 7490
Resumen
Con la utili zación de contadores, decodificadores y varios otros componentes digit ales se
implementara en laboratorio un reloj que nos mostrara horas, minutos segundos, además se
implementara este mismo en una tarjeta de estudio DE2, utilizando lenguaje de descripción de
hardware VHDL.
Se visualizara el r eloj en displays de 7 segmentos, contara con la funcionalidad de modificar la
hora, además que contara con un clock de 1 segundo.
1.1. Introducción
En los tiempos actuales es masiva l a uti li zación de Sistemas Digitales ya que propor cionan una serie de vent ajas con respecto
a la electrónica analógica, y ha sido utilizada incluso en dispositivos pequeños como un reloj, el cual ha pasado del uso de las
manecill as para la indicación de la hora a propor cionar una visuali zación numéri ca de la misma gracias a la electr ónica digital.
El r eloj digital es un proyecto ampli amente conocido y r eali zado en cursos básicos de sistemas digit ales, con este pr oyecto se
pretende demostrar todo lo aprendido en dicho curso.
La bibliografía que se puede encontr ar sobre este tema es extensa, el añadido de este t rabajo es que aparte de di señar el reloj
con circuitos integrados comunes, se utiliza la descripción de hardware para describir nuestro reloj digital.
5/9/2018 Re loj Digita l - slide pdf.c om
1.2. Objetivos
1.2.1. Objeti vo pr incipal
Diseño e impl ementación de un Reloj digit al uti li zando componentes digitales básicos y descripción de este, utili zando VHDL.
Descripción de dif erentes contadores digitales para la utili zación en segundero, minut ero y horas.
Manejo de decodificadores de binario a 7 segment os (di splay).
Descripción en un solo modulo, para representar el r eloj.
1.3. Metodología
La elaboración de este proyecto ti ene dos etapas import antes: hardw are y el softw are
En la parte de hardware nos enfocaremos en el diseño util izando diferent es circuitos integrados básicos, conectados de tal f orma
que emulen el funcionamiento de un t ípico reloj digit al.
Y cuando nos referimos a software util izaremos el paquete infor mático Quatus-2 , para r ealizar la descripción de hardw are utilizando
el lenguaje vhdl, para describir nuestr o cir cuito reloj digit al. Además para corr ecciones si se lo amerit a se empleara el soft ware
Proteus , para la simulación de nuestro circuit o a montar en laborator io.
5/9/2018 Re loj Digita l - slide pdf.c om
Se denomina reloj a un i nstr umento que permite medir el ti empo. Existen diversos ti pos, que se adecuan según el pr opósito:
Conocer l a hora actual (reloj de pulsera (automático o 'de cuerda') , reloj de bolsillo, reloj de salón o pared, cronómetr o)
Medir la duración de un suceso (cronógrafo, reloj de arena)
Señalar las horas por sonidos parecidos a campanadas o piti dos (r eloj de péndulo, reloj de pulso con bip a cada hora)
Activar una alarm a en cierta hora específica (r eloj despertador)
Los relojes se uti li zan desde la ant igüedad. A medida que ha ido evolucionando la ciencia y la tecnología de su fabricación, han
ido apareciendo nuevos modelos con mayor precisión, mejor pr estancia y menor costo de fabri cación. Es quizá uno de los
instrumentos más populares que existen actualmente y casi t odas las personas disponen de uno o varios r elojes personales de
pulsera. Mucha gent e, además de la uti li dad que los caracteriza, los ostenta como símbolo de distinción y estatus social.
La mayor precisión conseguida hasta ahora es la del úl ti mo reloj atómico desarr ollado por la Oficina Nacional de
Normalización (NIST) de los EE.UU., el NIST-F1, puesto en marcha en 1999, es tan exacto que tiene un margen de error de solo un
segundo cada 20 millones de años. A pesar de ello, los físicos continúan experimentando con nuevas variaciones, como los másers de
hidrógeno (Townes), los de bombeo óptico de rubidio (Kasler) o los recientemente propuestos de mercurio, que permitirían
alcanzar mayor pr ecisión.
En agosto de 2004 del NIST hicieron la pr imera demostración de un reloj atómico del tamaño de un cir cuito int egrado. Esto
represent a un reloj cien veces menor que cualquier ot ro constr uido hasta la fecha y con un consumo de sólo 0,079 vatios.
Un reloj di git al es un tipo de reloj que basa su funcionamiento en la electr ónica digit al para marcar el t iempo.
La invención, en 1956, del reloj di git al supuso una gran revolución en el campo de la relojería porque se consiguió fabri car relojes
mucho más baratos y pr ecisos que los de funcionamiento mecánico.
5/9/2018 Re loj Digita l - slide pdf.c om
Para representar la hora, muchos relojes digitales usan los siete segmentos LED (los que se usan en el proyecto), VFD o LCD, para
formar cada uno de los números. Estos relojes tambi én incluyen ot ros elementos, para indi car si la hora es por la mañana AM o por
la tarde PM, así como si está activada la alarma y a qué hora está programada.
Los relojes digit ales son muy pequeños, úti les y barat os. Por estas razones se han incorporado a la mayoría de equipos electr ónicos.
La rupt ura pri ncipal con el reloj mecánico es que se eli minaron t odos los mecanismos que había en el interior de la caja de los relojes
y fueron sustit uidos por unos cir cuitos electr ónicos ali mentados por una pequeña batería y que facili taba la lectur a directa del
tiempo.
Debido a lo barato que son l os relojes digit ales ya se han i mpuestos en muchas apli caciones, y así la mayoría de despertadores son ya
digitales, los reloj es que hay en electr odomésti cos, ordenadores, teléfonos celul ares, automóvil es, etc. Asimismo, muchos de los
relojes de pulsera que se utili zan son digitales si bien en el campo de los relojes de pulsera se han impuesto los reloj es electr ónicos
analógicos de cuarzo.
5/9/2018 Re loj Digita l - slide pdf.c om
La exacti tud del reloj depende de la base de ti empos, que puede consistir en un oscil ador o en un adaptador que, a part ir de
una referencia, genera una señal periódi ca. El divi sor de fr ecuencia es un cir cuito digit al formado por una sucesión de contadores
hasta obtener una frecuencia de 1 Hz, que permit e mostr ar segundos. Si se quiere mostrar décimas, la di visión se deti ene al ll egar a
los 10 Hz. Esta frecuencia pasa al módulo de pr esentación, que puede ser electr ónico o mecánico, donde otr os divi sores van
separando los segundos, minut os y horas para presentarl as mediante algún t ipo de display.
Decodificador:
Se tr ata de un di sposit ivo con n entr adas y 2n salidas donde en función de la combinación binaria de sus entradas, una y sólo
una de las salidas se activa. Es decir, convierte un código binario de entrada en código "1-entre-n”. Su símbolo para el caso DEC 2:4
con habili tación y sali das activa en alta, su tabla de verdad y sus ecuaciones de cada sali da se muestran a continuación:
5/9/2018 Re loj Digita l - slide pdf.c om
La cuenta de números se lo reali zara en binario 4 bits, no obstante este número de base 2 no r epresenta los números
decimales 0 a 9 mostrados por un típico reloj, por t al moti vo se uti li zara decodifi cadores de 4 bit s a 7 segmentos.
Los displays de ánodo común son acti vos en ni vel bajo y ti enen un punt o común que es la alimentación de este. Para mostrar
números decimales en los displays, los 7 bit s deben de obedecer l a siguiente t abla:
Binario Display
Decimal 4bits 7 segmentos
B3 B2 B1 B0 a b c d e f g
0 0 0 0 0 0 0 0 0 0 0 1
1 0 0 0 1 1 0 0 1 1 1 1
2 0 0 1 0 0 0 1 0 0 1 0
3 0 0 1 1 0 0 0 0 1 1 0
4 0 1 0 0 1 0 0 1 1 0 0
5 0 1 0 1 0 1 0 0 1 0 0
6 0 1 1 0 1 1 0 0 0 0 0
7 0 1 1 1 0 0 0 1 1 1 1
8 1 0 0 0 0 0 0 0 0 0 0
9 1 0 0 1 0 0 0 0 1 0 0
10 1 0 1 0 X X X X X X X
11 1 0 1 1 X X X X X X X
12 1 1 0 0 X X X X X X X
13
14 1
1 1
1 0
1 1
0 X X XX X X XX XX X X XX
15 1 1 1 1 X X X X X X X
Tabla 1: Decodifi cador binario a display 7 segmentos ánodo común
De la t abla, los elementos marcados con “X”, no serán util izados por que t an solo necesit amos los números 0 al 9, el circuit o
integrado que reali za la decodificación de binario a display ánodo común es el 7447.
5/9/2018 Re loj Digita l - slide pdf.c om
5/9/2018 Re loj Digita l - slide pdf.c om
2.1.2. Contadores
Los contadores son cir cuit os que ti enen la pr opiedad de increment ar su contenido ( ascendentes), decrementarlo
(descendentes) o ambas (reversibles). Un contador módulo-K cuenta K valores de forma cíclica, normalmente entr e 0 y el K-1.
Además, estos di sposit ivos pueden tener operaciones que permitan cargar un estado i nicial de cuent a, (carga o load) y restablecer el
estado i nicial de cuenta, ya sea el cero para cont adores ascendentes (clear) o todos los bit s a 1 (estado 2 n-1) para los descendentes
(preset).
Existe gran diversidad de contador es dependiendo del ti po de operaciones que realizan y del tamaño del contador. El t amaño
se especif ica por el módulo ( p.ej.: módulo 10) o por el número de bit s en caso de módulos 2n. Por ejemplo, en la siguiente figura se
muestr a el esquema de un contador síncrono ascendente de módulo 8 ( 3 bi ts) con las operaciones de cuenta arriba, carga, puesta a 0
e inhibición.
En la siguiente figura aparece la secuencia de salidas de un contador módulo 8 ascendente. Como se observa, el periodo de
las señales de salida va duplicándose, lo que motiva que a los contadores se les denomine, también, divisores de frecuencia.
5/9/2018 Re loj Digita l - slide pdf.c om
Al momento de defini r nuestr o reloj requerir emos de dos contadores modulo-60 para el segundero y el mi nut ero, además de
un contador modulo-24 para las horas si nuestr as horas son en ese sistema.
Hay dos formas de realizar contadores: 1) los de rizado (ripple-counter) o contadores asíncronos; y 2) l os síncronos. En los
contadores de ri zado la salida de cada biestable se utili za como señal de r eloj del siguiente.
El cir cuito int egrado 7490 nos brinda un contador BCD de modulo-10. Con la int erconexión de varios podemos reali zar
contadores de módulos mayores (p.ej.: modulo-60) .
5/9/2018 Re loj Digita l - slide pdf.c om
Note A: Salida QA tiene que estar conectada a la entrada B para la cuenta BCD
5/9/2018 Re loj Digita l - slide pdf.c om
Los contadores digi tales ant eriorment e vistos, util izar una señal de clock que no es otr a cosa más que un tr en de pulsos con
una fr ecuencia dada. La precisión del reloj depende de esta frecuencia de clock.
En electr ónica, un astable es un multivibr ador que no t iene ningún estado estable, lo que signi fica que posee dos estados
"cuasi-estables" entr e los que conmuta, permaneciendo en cada uno de ell os un t iempo determinado. La frecuencia de conmutación
depende, en general, de la carga y descarga de condensadores.
También podemos obtener un multivibrador utilizando el CI 555, que un circuito integrado ampliamente conocido con
mucha información.
5/9/2018 Re loj Digita l - slide pdf.c om
Este t ipo de funcionamiento se caracteriza por una sali da con for ma de onda cuadrada (o r ectangular) continua de ancho
pr edefinido por el diseñador del circuit o. El esquema de conexión es el que se muestra. La señal de sali da ti ene un ni vel alto por un
ti empo t1 y un ni vel bajo por un t iempo t 2. La duración de estos tiempos depende de los valores de R1, R2 y C, según las fórmulas
siguientes:
t 1 R
ln 2 1
R2 C t 2 R
ln 2 2
C
y
t 1 0.693 R1 R2 C t 2 0.693 R2 C
La frecuencia con que la señal de sali da oscila está dada por la fórmula:
1
f
0.693 C R1
2 R2
5/9/2018 Re loj Digita l - slide pdf.c om
Los lenguajes de descripción hardware son lenguajes de alt o nivel con una sint axis similar a los de pr ogramación (C, ADA,
Pascal, Modula, etc.) y una semánti ca que permite el modelado y simulación de los disposit ivos hardware a diferent es niveles de
abstr acción. Los pri meros lenguajes de este ti po sólo pr etendían servir de vehículo de comunicación del diseño. Los actuales
lenguajes han adquir ido un alt o grado de estandarización y han adoptado los nuevos conceptos de la ingeniería de software,
permi ti endo la verificación de la especifi cación del diseño mediante simulación.
2.3.1. VHDL
VHDL es un lenguaje de descri pción de cir cuitos electrónicos digit ales que uti li za distintos niveles de abstracción. El
significado por sus siglas VHDL es VHSIC (Very High Speed I ntegrated Cir cuits) Hardware Descripti on Language. Esto signi fica que
VHDL permit e acelerar el pr oceso de diseño.
VHDL no es un lenguaje de pr ogramación, por ello conocer su sintaxis no impli ca necesariamente saber diseñar con él. VHDL
es un lenguaje de descripción de hardware genérico, que permi te describi r circuitos síncronos y asíncronos. Para realizar esto
debemos:
Los circuitos descritos en VHDL pueden ser simulados utilizando herramientas de simulación para reproducir el funcionamiento del
circuito. Además utilizando herramientas de síntesis se puede implementar dicho circuito en un dispositivo lógico programable o en un
circuito integrado.
VHDL es un lenguaje y como tal, posee sus ti pos de datos y operadores. Los datos se almacenan en obj etos que conti enen valor es de
un ti po dado.
IDENTIFICADORES.
- CONSTANT.Los objetos de esta clase ti enen un valor inicial que es asignado de forma pr evia a la simulación y que no puede
ser modificado durant e ésta.
o constant identi ficador: ti po:= valor;
- VARIABLE. Los objetos de esta clase cont ienen un úni co valor que puede ser cambiado dur ante la simulación con una
sentencia de asignación. Las variables generalment e se util izan como índi ces, principalmente en i nstr ucciones de bucle, o para tomar
valores que permit an modelar componentes. Las variables NO representan conexiones o estados de memori a.
o vari able identi ficador: ti po [:= valor];
- SIGNAL. Los objetos de esta clase contienen una lista de valores que incluye el valor actual y un conjunto de valores futuros. Las
señales representan elementos de memori a o conexiones y si pueden ser sintetizadas.
Los puert os de una ent idad son i mplícit ament e declarados como señales en el momento de la declaración, ya que estos
represent an conexiones. También pueden ser declaradas en la arqui tectur a antes del BEGIN, lo cual nos permi te r eali zar conexiones
entre diferentes módulos.
o signal identificador: ti po;
VHDL permite utilizar tipos predefinidos, así como otros definidos por el usuario.
BIT 0, 1
BIT_VECTOR (range*)
BOOLEAN TRUE, FALSE
CHARACTER {ascii}
STRING {ascii}
SEVERITY_LEVEL {WARNI NG, ERROR, FALURE}
INTEGER range*
NATURAL range*
POSITIVE range*
REAL range*
TIME
*(range: n_min TO n_max; n_max DOWNTO n_min)
STD_LOGIC.Tipo predefinido en el estándar IEEE 1164. Este ti po representa una lógica mult ivaluada de 9 valores. Además
del ‘0’ l ógico y el ‘1’ lógico, posee alt a impedancia ‘Z’, desconocido ‘X’ ó sin inicializar ‘U’ entr e otros. Igual que se permi te crear un
vector de bits se puede crear un vector de std_logic, STD_LOGIC_VECTOR. Para poder utili zar el t ipo std_logic hay que añadir la
librería que lo soport a.
Para poder uti lizar el t ipo:
use i eee.std_logi c_1164.all .
Para poder utilizar las funciones aritmeticológicas definidas (suma, resta multiplicación)
use ieee.std_logic_arith.all.
Si l os vectores están en r epresentación binaria pura
use i eee.std_logi c_unsigned.all .
Los vector es están en C2
use i eee.std_logi c_unsigned.all .
TIPO ENUMERADO es un t ipo de dato con un grupo de posibles valores asignados por el usuari o. Los ti pos enumerados se
uti li zan pr incipalmente en el di seño de máquinas de estados
type nombre is (valor 1, valor 2, …);
Los tipos enumerados se ordenan de acuerdo a sus valores. Los programas de síntesis automáticamente codifican
binariamente los valores del tipo enumerado para que estos puedan ser sint eti zados. Algunos programas lo hacen mediante una
secuencia binaria ascendente, otr os buscan cual es la codifi cación que mejor conviene para tr atar de minimizar el circuito o para
incrementar la velocidad del mi smo una vez que la descripción ha sido sint etizada. También es posibl e asignar el t ipo de codificación
mediante directi vas pr opias de la herr amienta de síntesis.
TI POSCOMPUESTOS un tipo compuesto es un ti po de dato formado con element os de otr os tipos, existen dos formas de ti pos
compuestos, arrays y r ecords.
Américo Álvarez Surci 15
UN ARRAY es un objeto de datos que consiste en una “colección” de element os del mi smo tipo.
type nombre is array (r ango) of ti po;
UN RECORD es un objeto de datos que consiste en una “colección” de element os de distintos tipos.
type nombre is r ecord
elemento1: tipo_de_dato1;
elemento2: tipo_de_dato2;
end record;
OPERADORES.
Un operador nos permit e constr uir dif erentes tipos de expresiones mediante los cuales podemos calcular datos utili zando
diferentes objetos de datos con el t ipo de dato que maneja dicho objeto. En VHDL existen di stint os operador es de asignación con lo
que
cual se
notransfieren
existe en nivalores de un objeto
ngún lenguaje de datos a otro,
de pr ogramación y operadores
de alto nivel. de asociación que relacionan un objeto de datos con otro, lo
abs
*, / , mod, rem
+ (sig.), - (sig)
+ , -, &
and, or, nand, nor, xor
:= asignación de valores a constant es y vari ables.
< = asignación de valor es a señales.
ENTIDADES(ENTITY)
Una entidad es la abstr acción de un circuito, ya sea desde un complejo sistema electr ónico hasta una simple compuerta
lógica. La entidad únicamente describe la forma externa del circuito, aquí se enumeran l as entr adas y las sali das del diseño.
Una entidad es análoga a un símbolo esquemático de los diagramas electrónicos, el cual describe las conexiones del
disposit ivo hacia el r esto del diseño. Lo siguiente muestr a un ejemplo de su conteni do:
Los puertos pueden ser para señales de entr ada in, sali da out, entrada-sali da o un buffer; que util izará el modo in/ out.
Además, la enti dad puede defini r un valor genéri co (GENERIC) que se uti li zará para declarar l as pr opiedades y constantes del
circuit o, independientemente de cuál sea la arquitectur a.
enti ty nombre is
generic (cte1: tipo := valor1; cte2: tipo:= valor 2; …);
port (entr ada1, entr ada2, …: in tipo;
salida1, sali da2, …: out t ipo;
puert oi : modo tipo);
end nombre;
ARQUITECTURA (ARCHITECTURE).
Los pares de ent idades y arqui tectur as se uti li zan para repr esentar la descripción completa de un diseño. Una arquitectur a
describe el funcionamiento de la enti dad a la que hace referencia. Si una enti dad la asociamos con una “caja” en la que se enumeran
las int erfaces de conexión hacia el exterior , entonces la arquit ectur a repr esenta la estr uctur a int erna de esa caja. Sus pri ncipales
funciones son:
-- tipos
-- señales
-- componentes
begin
-- código de descripción
-- instrucciones concurrentes
-- ecuaciones booleanes
process
begin
-- código de descripción
end process;
end arch_name;
Una arquitectur a se describe por comportamiento o por estr uctur a. Una entidad puede tener más de una arquit ectur a, pero cuando
se compile se debe indicar cuál es la arqui tectur a que queremos uti li zar.
PROCESS: Cuando en VHDL se escribe un process, dentro de él aparece la parte secuencial del circuito. La simulación no
entr a en el process hasta que no haya variado alguna de las señales o variables de su lista de sensibi lidad independientemente de lo
Américo Álvarez Surci 18
que este contenido dentr o del pr ocess. Por otr o lado únicamente dentr o de un pr ocess pueden aparecer las sentencias de tipo if y
else y nunca puede aparecer una sentencia del ti po wait.
Sentencias de descripción
WAIT esta instrucción es uti li zada en pr ocesos que no ti enen lista de sensibilidad:
wait on signal_list;
wait for time_expression;
wait until condition;
Eventos sobre las señales (‘EVENT) nos indican cuando ocurre un cambio en la señal
signal'event
signal'last_event
signal'last_value
CASE – case
WHEN solo son is
expresión apl icables dentr o de un process
when alt ernati va_l = > ... –instr ucciones secuenciales
when alt ernati va_n = > ... -- instr ucciones secuenciales
when others = > ... -- instr ucciones secuenciales
end case;
WHEN – ELSE
Signal_name <= valor_1 when condi ción1 else
valor_2 when condi ción2 else
...
Describi remos el proyecto a implementarse en laboratori o mediante component es básicos ya vistos en el anteri or capitulo. Ademas
mostraremos cada bloque controlador por separado, para que pueda observarse en plenit ud el diseño uti li zado para el reloj digit al.
Al pr imer contador se conecta el clock de 1Hz, diseñado previament e con un mul ti vibr ador astable, como es un contador BCD
este cuenta de 0 al 9 una vez concluida esta cuenta vuelve a comenzar en 0. El segundo cont ador cuent a del 0 hasta el 5 y cuando es
6 esta habil it a mediante el and los resets de ambos contadores comenzando la cuenta en 0 otr a vez. El clock del segundo contador
será el bi t de mayor peso posicional de del primer contador, que cuando cambie de “1” a “0” ( flanco de bajada) hará como un pulso
de clock.
La cuenta reali zada por los contadores BCD es de binario ( 0000 - 1001) del 0 al 9, este código binario será decodif icado a 7
segmentos para un display anodo común
Cuando se menciona ánodo común es que el segmento se enciende con un “0” lógico, porque el punto común está conectado
a la ali mentación o “1” lógico.
Y simi lar al segundero cada salida del contador se conecta a un decodif icador de 4bit s a 7 segmentos, para mostr ar l os 2
dígitos del minutero.
Se pondrá 2 botones conectados a la alimentación, que nos emularan estos pulsos (clock de los bloques minutero y horero)
en cualquier momento que el usuario requiera modif icar la hora a una cualquiera.
Cuando se presione un botón r eseteara el modulo inmediatamente inferior , asi que se tendr á que modif icar hor as, luego
minutos en ese orden.
1- Un bloque segundero contador modulo-60, uti li zamos una señal de este para habil it ar el bl oque minut ero cada 60 segundos.
2- Un bloque minutero cont ador modulo-60, uti li zamos una señal de este para habil it ar el bloque horero cada 60 minut os.
3- Un bloque de horas contador modulo-24.
Además de mostrar la hora esta se debe modificar en cualqui er momento que el usuario r equiera mediant e 2 botones para
modificar horas y minutos.
Ya que no tenemos limi taciones económicas, ni de CI al momento de r eali zar la descripción en vhdl , se añadirá un selector que
cuando este en “1” se pueda modificar l a hora y cuando este en “0” no se pueda. Además de un Reset para reini ciar nuestr o sistema.
1 -----------------------------------------------------------------
2 -- Reloj Digital
3 -- Autor: Américo Alvarez S.
4 -----------------------------------------------------------------
5 library ieee;
6 use ieee.std_logic_1164.all;
7
8 entity reloj_v3 is
9 port(clk_50Mhz:in std_logic;
10 reset,ajuste:in std_logic;
11
12 ajuste_hh,ajuste_mm:in std_logic; std_logic_vector(0 to 6)
hex0,hex1,hex2,hex3,hex4,hex5:out
13 );
14 end reloj_v3;
15
16 architecture rtl of reloj_v3 is
17 signal clk0,clk1,clk2,clk3,clk4,clk5: std_logic:='0';
18 signal clk_a1,clk_a2:std_logic:='0';
19 signal ajuste_sync:std_logic;
46
47 if (count
else count<<=0;
max) then count <=count + 1;
48 end if;
49 if (count <= half) then clk0 <='0';
50 else clk0 <='1';
51 end if;
52 end if;
53 end process;
54 -- definimos el reloj como tal
55 process (clk0,reset,ajuste,ajuste_hh,ajuste_mm)
56 variable uu_s: integer range 0 to 10;
57 variable dd_s: integer range 0 to 6;
58 variable uu_m: integer range 0 to 10;
59 variable dd_m: integer range 0 to 6;
60 variable uu_h: integer range 0 to 10;
61 variable dd_h: integer range 0 to 3;
62 begin
63 -- señal asincrona de reset
64 if (reset='1') then
65 uu_s:=0;
66 dd_s:=0;
67 uu_m:=0;
68 dd_m:=0;
69 uu_h:=0;
70
71 dd_h:=0;
else
72 -- definimos segundos contador mod 60
73 if (clk0'event and clk0='1') then
74 uu_s:= uu_s+1;
75 clk1 <= '0';
76 if (uu_s=10) then
77 uu_s := 0;
78 clk1 <= '1';
79 end if;
80 end if;
81 if (clk1'event and clk1='1') then
82 dd_s:= dd_s+1;
83 clk2 <= '0';
84 if (dd_s=6) then
85 dd_s := 0;
86 clk2 <= '1';
87 end if;
88 end if;
89 -- señal de ajuste minutos
105
106 if (clk3'event
dd_m:= dd_m+1; and clk3='1') then
107 clk4 <= '0';
108 if (dd_m=6) then
109 dd_m := 0;
110 clk4 <= '1';
111 end if;
112 end if;
113 -- señal de ajuste minutos
114 clk_a2<=(clk4 and not ajuste_sync) or (ajuste_hh and
115 ajuste_sync);
116 -- definimos horas contador mod 24
117 if (clk_a2'event and clk_a2='1') then
118 uu_h:= uu_h+1;
119 clk5 <= '0';
120 if (uu_h=10) then
121 uu_h := 0;
122 clk5 <= '1';
123 end if;
124 end if;
140
141 hex4
hex5 <=
<= numero(uu_h);
numero(dd_h);
end process;
end rtl;
Tabla 5: Código VHDL reloj di git al
Figura 15: Plano Cir cuit al completo del Reloj di git al
Figura 16: cada 60 Pulsos de 1Hz, se envía un I mpulso (clock del mi nut ero)
Figura 17: cada 60 impul sos del minutero, se envía un Impulso (clock del hor ero)
Las señales de salida de los displays de 7 segmentos se los muestr a en su equivalente decimal del numero de 7 bits que
represent a, según la siguiente t abla:
clock de 1 hz tubo errores de exactitud al momento de calcular el 1Hz por el error que lleva cada resistencia y capacit or
utilizado para realizar el oscilador astable.
La descripción en vhdl nos ahorr o mucho tiempo y se le dio el añadido del acti var el ajuste de hora y un reset del sistema. La
descripción fue más rápida y es fácil detectar los errores en sint axis del l enguaje de nuestr a descripción, en fut uras ocasiones
se debería de dar más manejo a este lenguaje, así no se tendr á falencias en componentes que hay pocos en nuestro mercado.
5. 2. Mejor as
Impl ementar un reloj que además nos brinde un calendari o, la fecha del día en que nos encontr amos. Se puede utili zar el
impulso de reset del modulo de horas, para reali zar la cuenta de días, y estos r eali zarían de meses. Se podría impl ement ar un
calendario utilizando una memoria EEPROM ya que los meses varían en número de días.
Añadir al reloj una alarma a manera de despertador u otr a alarma según sea el agrado del diseñador. Se podría implementar
esto con comparadores, que se intr odusca la hora de alarma a un registro y que cuando l a hora sea igual que el dato
guardado en el registro, se encienda la alarma, y cuando se apage de igual manera con otro registro para apagar la alarma a
los “X” segundos.
Añadir a este mismo reloj un cronometr o digital ut il izando los displays empleados. El inconvenient e estaría en el reloj de
10Hz.
Impl ementarlo en pantalla LCD 16x2.
6. BIBLIOGRAFÍA
1. Problemas de circuitos y sistemas digi tales Mc Graw Hill
2. Fundamentos de lógica digit al con diseño VHDL Stephen Brow n – Zvonko Vranesic
3. Cir cuit Desing with VHDL Volnei A. Pedroni
4. DE2_UserManual
5. htt p:/ / www .iesleonardo.info/ ele/ pro/ CURSO%202001-2002/ p02-relojdi gital/
7. ANEXOS
DE2 board provides users many featur es to enable vari ous multi media project development. Component selection was made
according to the most popular design i n volume production multi media products such as DVD, VCD, and MP3 players. The DE2
platform allows users to quickly understand all t he insight t ri cks to design real mult imedia projects for i ndustr y.
9
18Green UserLEDs
Red User LEDs
16 x 2 LCD Modul e
50MHz Oscil lator and 27MHz Oscil lator for external clock sources
24-bit CD-Qualit y Audio CODEC wi th l ine-in, line-out, and microphone-in jacks
VGA DAC(10-bit high-speed t riple DACs) w it h VGA out connector
TV Decoder (NTSC/ PAL) and TV in connector
10/ 100 Ethernet Contr oller wi th socket.
USB Host/ Slave Contr oller w it h USB type A and t ype B connector s.
RS-232 Tr ansceiver and 9-pi n connector
PS/ 2 mouse/ keyboard connector
IrDA transceiver
Two 40-pin Expansion Headers wit h diode protecti on
DE2 Lab CD-ROM which cont ains many examples wit h source code to exercise the boards, including: SDRAM and Flash
Cont roll er, CD-Quali ty Music Player, VGA and TV Labs, SD Card reader, RS-232/ PS-2 Communication Labs, NIOSII , and
Control Panel API