Escolar Documentos
Profissional Documentos
Cultura Documentos
ResumenEl siguiente trabajo consiste en la presentacion del los flancos de subida, los flancos de bajada o cuando el reloj
analisis llevado a cabo para realizar el diseno de un cronometro alcanza su maximo voltaje, tal como se muestra en la Figura
con conteo de decimas de segundos y una capacidad o alcance 2.
maximo de 10 minutos, implementado en HDL a partir del
lenguaje Verilog. Para realizar el diseno del cronometro se
utilizaron distintos modulos, correspondientes por ejemplo a la
division de frecuencia de la senal de reloj, as como al manejo de
las funciones del cronometro, dentro de ellas el almacenamiento
de dos laps (vueltas). Todo ello se implemento a partir del
conocimiento adquirido en la clase teorica de Electronica Digital
I.
I. I NTRODUCCI ON
Figura 2. Composicion del reloj.
La propiedad de memoria y sincronismo es una de las
mas importantes en el mundo de la electronica digital, puesto A partir de esta definicion es posible determinar que existen
que a partir de ella se pueden crear circuitos que contengan circuitos secuenciales activados por flanco (de bajada o de
almacenamiento, que funcionen secuencialmente y ademas subida) y activados por nivel, es decir cambian su estado
que procesen informacion, lo cual es vital en las tecnologas cuando la senal de reloj alcanza su maximo o mnimo valor
actuales. de voltaje.
Debido a la gran importancia de los circuitos secuenciales La forma en que estos circuitos mantienen su estado es a
en el desarrollo de la tecnologa, se realiza la implementacion traves de la realimentacion; la realimentacion en los circuitos
de un cronometro digital con el objetivo de aplicar los con- digitales se produce cuando la salida del circuito es una
ceptos teoricos y con ello evidenciar el funcionamiento de los funcion del estado anterior y de las entradas presentes [1].
circuitos secuenciales, tales como los contadores. As mismo, Dentro de los circuitos secuenciales existen varios subtipos,
con la finalidad de comprender el diseno de circuitos de varios entre los cuales se pueden encontrar: los circuitos biestables,
estados y el uso de los registros para el almacenamiento de la monoestables y aestables.
informacion.
II-A. Circuitos biestables
II. MARCO TE ORICO
Los circuitos biestables como su nombre lo indica, poseen
Existen muchas ocasiones en donde se requiere que un
dos estados: el SET (activacion) y el RESET (desactivacion),
circuito cambie bajo consideraciones de las entradas y de su
en los cuales se pueden mantener indefinidamente, lo cual los
estado, es all donde se implementan los circuitos secuenciales
hace especialmente adecuados para el almacenamiento [2].
[1].
Estos circuitos reciben su nombre, debido a que son capaces
Estos circuitos tienen la propiedad de recordar el estado
de almacenar 1 bit (1 o 0). El principio de funcionamiento
en el que se encontraban en un momento previo y requieren
de los biestables se basa en el hecho de que a partir de la
de un medio por el cual los eventos puedan secuenciarse,
realimentacion se puede mantener (almacenar) un valor estable
este medio es una senal de reloj, esto es, un circuito especial
hasta que las condiciones de entrada cambien [3].
que genera pulsos electricos que se encargan de validar el
II-A1. Latches: Un latch es un dispositivo de almacena-
funcionamiento del circuito digital. Las senales de reloj tienen
miento temporal de dos estados, que tiene una estructura de
la forma mostrada en la Figura 1:
realimentacion la cual consiste en conectar cada una de las
salidas a la entrada opuesta. Su estructura es muy parecida a
la de los flip-flops, pero se diferencian en la forma mediante
la cual cambian de estado [2].
Los latch pueden a su vez subdividirse en varios tipos,
Figura 1. Senal de reloj. algunos de los cuales son: el latch S-R y el latch tipo D.
Latch S-R: Un latch S-R con entrada activa a nivel alto
Los cambios de estado en los circuitos secuenciales ocurren se compone de dos compuertas NOR acopladas, tal como se
solo en los pulsos del reloj y pueden establecerse ya sea en muestra en la Figura 3:
Un flip-flop activado por flancos cambia de estado con los
flancos positivos (de subida) o los flancos negativos (de bajada)
de la senal de reloj. Dentro de estos se encuentran los flip-flops
S-R, los D y los J-K.
Flip-flop S-R: Sus entradas S y R se denominan entradas
sncronas. En este circuito cuando S esta a nivel ALTO y R
esta a nivel BAJO, la salida Q se pone a nivel ALTO con el
flanco de disparo del impulso de reloj, pasando el flip-flop al
estado SET. Cuando S esta a nivel BAJO y R esta a nivel
ALTO, la salida Q se pone a nivel BAJO con el flanco de
Figura 3. Latch S-R. disparo del impulso de reloj, pasando el flip-flop al estado
RESET. Cuando tanto S como R estan a nivel BAJO, la salida
Su tabla de verdad se obtiene asumiendo para cada compa- no cambia de estado y cuando S y R estan a nivel ALTO, se
racion un posible estado inicial en las salidas Q y Q. A partir produce una condicion no valida. El diagrama de bloque de
de lo cual se obtienen condiciones de cambio, de no cambio un flip-flop S-R activado por flancos positivos se muestra en
y una condicion a evitar en la que el par de salidas no son la Figura 6:
complemento. Esto se puede observar en la Figura 4:
IV-3. Modulo contador: Este modulo constituye una de Figura 10. Contador asncrono de 0 a 9.
las partes mas importantes del cronometro, puesto que es el
encargado de realizar el conteo de tiempo. Este contador correspondio al contador de decimas de
segundo, cuyo primer flip-flop se alimento con la senal de IV-6. Multiplexor de seleccion: Este modulo tiene como
10Hz, de forma que el conteo fuera sincronizado. funcion escoger lo que se visualizara en el display. Para
Debido a que este contador se encargaba de validar los su correcto funcionamiento fue necesario crearse un variable
cambios en los otros contadores (de segundos y de minutos), (val) de 2 bits, la cual cambiaba sus valores al accionar
entonces a su entrada K se conecto el cable proveniente del los pulsadores de lap 1 y lap 2. Si esta variable tenia los
pulsador start/stop, de forma tal que cuando el valor de K valores 11 o 00 el multiplexor seleccionaba el BCD y el anodo
no era uno, el flip-flop entraba en un bucle infinito, lo cual correspondiente a el cronometro, si esta vala 01 el multiplexor
permitio que el conteo se pausara hasta el retorno de K a su seleccionaba el BCD y el anodo correspondiente a la lap 1 y
valor correcto (de 1). por ultimo si esta era 10 el multiplexor seleccionaba el BCD
Los contadores de unidades de segundo y de minutos fueron y el anodo correspondiente a la lap 2.
implementados con la misma logica del contador de decimas
de segundo, sin embargo, el contador de decenas de segundos IV-7. Decodificacion a siete segmentos: Se creo un modu-
requirio el diseno de un contador con 3 f.f. JK de 0 a 6, puesto lo con el objetivo de representar el codigo hexadecimal en
que una vez transcurridos 60 segundos debera darse paso al un display de 7 segmentos de la FPGA. Se asignaron como
conteo del minuto correspondiente. variables de entrada los bcd y anodo , y como variable
Este contador tambien fue implementado mediante un cir- de salida los segmentos del display nombrados sseg. Para
cuito asncrono y su logica se baso en la utilizacion de una realizar decodificacion se utilizo la instruccion always@()
senal clear activada por bajo, que mandara el conteo a cero que realiza el equivalente en otros lenguajes de programacion
una vez se llegara al valor de 7. a una interrupcion cada vez que alguna de las variables de
Ademas de realizar este contador, se tuvo que implementar entrada cambia.
un bloque de sincronizacion de forma que al llegar a los 60
segundos, tanto el contador de unidades de segundo como de Posteriormente se utilizo la estructura case(bcd) para rea-
decenas de segundo se volvieran a iniciar en cero, dando as lizar la decodificacion solo cuando haya una cambio en la
paso al conteo de minutos. variable de entrada bcd, se realizaron comparaciones hasta
A partir de cada contador, en total 4, se obtuvieron las llegar al valor de la variable de entrada bcd y se asignaron los
salias de cada uno de ellos y se establecieron como las senales estados correspondientes en los segmentos del display para tal
correspondientes a decimas de segundo, segundos y minutos, valor de entrada.
las cuales se almacenaron en arreglos de 4 bits para permitir
su almacenamiento mediante las laps. El esquematico del circuito obtenido a partir del programa
Xilinx es mostrado en las Figuras 11 y 12:
IV-4. Modulo Laps: Este modulo tiene como funcion
almacenar y visualizar las laps del cronometro. Para ello se
utilizo como entradas del modulo las salidas del cronometro,
las cuales asignaran su valor a unas nuevas salidas al presio-
narse por primera vez el pulsador correspondiente.
Para hacer posible la visualizacion de las laps al igual que
el retorno a la visualizacion del cronometro, fue necesario
introducir un contador el cual varia segun la cantidad de
veces que se acciona el pulsador. Donde contador igual a cero
equivale a la funcion de guardar los datos, contador igual a
uno corresponde a la visualizacion de el dato almacenado y
por ultimo contador igual a dos regreso a la visualizacion del
cronometro.
Por ultimo se implemento la funcion de reset lap la cual
corresponde a un pulsador, el cual al ser accionado mandara
a 0 todas las variables de lap incluyendo el contador. Se
utilizaron dos de este tipo de modulo ya que era necesario
el almacenamiento de 2 laps.
V. CONCLUSIONES
Se logro implementar adecuadamente el circuito del
cronometro, almacenando de manera correcta dos valores
de vueltas (laps) as como la generacion de un estado de
pausa del cronometro.
R EFERENCIAS
[1] http://www.ie.itcr.ac.cr/jdiaz/licenciatura/DISENO LOGICO/MATERIALES/
PRESENTACIONES/SECUENCIALES 1.pdf
Visitado: 18 de octubre de 2014.
[2] Fundamentos de sistemas digitales, Thomas L. Floyd, 9 edicion.
[3] http://dac.escet.urjc.es/docencia/ETC-ITIG LADE/teoria-
cuat1/tema7 circuitos secuenciales.pdf
Visitado: 18 de octubre de 2014.
[4] Harris D. y Harris S. , Digital Design and Computer Architecture.