Está en la página 1de 21

UNIVERSIDAD DE EL SALVADOR FACULTAD DE INGENIERIA Y ARQUITECTURA ESCUELA DE INGENIERA ELECTRICA CICLO I 2012

Asignatura: Sistemas Digitales I.

Catedrtico: Ing. Salvador Germn.

DESARROLLO Y FUNCIONAMIENTO DE FLIP FLOP. CONTADORES Y RELOJ DIGITAL

Estudiantes: Hernndez Lemus, Vctor Hugo Hernndez Morales, Jeovanni Alexander HL04001 HM08003

Ciudad Universitaria 15 de Junio de 2012

INTRODUCCION: En casi todos los tipos de equipo digital se encuentran los dispositivos flip-flops programados o conectados como contadores, usndose no solamente como contadores sino como equipo para dar la secuencia de operacin, divisin de frecuencias, as como para la manipulacin matemtica. En el sentido ms elemental, los contadores son sistemas de memoria que recuerdan cuntos pulsos de reloj han sido aplicados en su entrada. La secuencia en que esta informacin se almacena depende de las condiciones de la aplicacin y del criterio del diseador de equipo lgico. Muchos de los contadores ms comunes se encuentran disponibles en paquetes de circuitos integrados construidos por las empresas dedicadas al desarrollo electrnico. El contador tipo cascada es un contador bsico comnmente implementado con circuitos integrados. De todos los contadores ste es el ms sencillo en lgico y, por lo tanto, el de diseo ms fcil, sin embargo este contador est limitado por su velocidad de operacin. Puesto que los flip-flops en el contador tipo cascada no estn bajo el mando de un solo pulso de reloj, este contador es asincrnico. En el desarrollo de este ensayo detallare la diferencia entre contador sncrono y asncrono asi como las diferentes formas de lo contadores ya sean estos de conteo ascendente como descendente asi como su programacin para la creacin de contadores base N o base 2 n.

OBJETIVOS:

General: Aplicar los conocimientos adquiridos en la ctedra de sistemas digitales I para desarrollar un reloj digital mediante el uso de los Flip Flop, y otros dispositivos electrnicos digitales. Especficos:
Comprender tanto de forma terica como prctica el funcionamientos de los dispositivos digitales Flip Flopy ampliar el conocimiento en el uso de las compuertas lgicas. Desarrollar y controlar los dispositivos digitales Flip Flop y su uso como contadores ascendentes y descendentes mediante el software de desarrollo VHDL y observar su comportamiento en el software de simulacin TINA. Construir un reloj digital por medio del uso de dispositivos estudiados en clase y desarrollados en este proyecto, creando adems un generador de pulsos de reloj mediante el uso del dispositivo LM555, conocer su utilidad y su amplia gama de aplicaciones.

MARCO TEORICO: FLIP-FLOPS Los circuitos lgicos se clasifican en dos categoras. Los grupos de puertas descritos hasta ahora, y los que se denominan circuitos lgicos secunciales. Los bloques bsicos para construir los circuitos lgicos secunciales son los flip-flops. La importancia de los circuitos lgicos se debe a su caracterstica de memoria. Los flip - flops tambin se denominan "cerrojos", "multivibradores biestables" o "binarios". Estos dispositivos electrnicos son construidos a partir de las ya conocidas con anterioridad las compuertas lgicas, es decir que estas son la base para su construccin y dichos dispositivos son la base en gran parte para la construccin de contadores y relojes digitales. Entre los Flip Flop ms conocidos se encuentran, los RS, D, T y JK a continuacin describo cada uno de ellos.

FLIP-FLOPS RS Este es el flip - flop bsico, su smbolo es el siguiente:

Figura 1: Smbolo lgico de un flip-flop SR El flip-flop tiene dos entradas R (reset) y S (set), se encuentran a la izquierda del smbolo. Este flip-flop tiene activas las entradas en el nivel BAJO, lo cual se indica por los circulitos de las entradas R y S. Los flip-flop tienen dos salidas complementarias, que se denominan Q y 1, la salida Q es la salida normal y 1 = 0. El flip-flop RS se puede construir a partir de puertas lgicas. A continuacin mostraremos un flip-flop construido a partir de dos puertas NAND, y al lado veremos su tabla de verdad correspondiente .

Construccin mediante compuertas NAND.

Modo de operacin Prohibido Set Reset Mantenimiento FLIP FLOP D:

Entradas R S 0 0 0 1 1 0 1 1

Salidas Q Q 1 1 1 0 0 1 No cambia

El flip-flop tipo D es un elemento de memoria que puede almacenar informacin en forma de un "1" o "0" lgicos. Este flip-flop tiene una entrada D y dos salidas Q y Qn. Tambin tiene una entrada de reloj, que en este caso, nos indica que es un FF disparado por el borde o flanco descendente (ver el tringulo y la pequea esfera en la entrada en los diagramas inferiores). Si se disparara por el borde ascendente no habra la pequea esfera. El flip-flop tipo D adicionalmente tiene dos entradas

asincrnicas que permiten poner a la salida Q del flip-flop, una salida deseada sin importar la entrada D y el estado del relol. Estas entradas son: PRESET (poner) y CLEAR (Borrar). Es importante notar que estas son entradas activas en nivel bajo

FLIP FLOP J-K: Este flip-flop J-K se considera como el FF universal. Su smbolo lgico se muestra en la figura. Tiene dos entradas para datos etiquetadas como J y K as como otra para el pulso de reloj (CK). Tambin tiene dos salidas: Q y Q. La flecha (>) en la entrada CK indica que es disparado por flanco ascendente; el crculo seala que el disparo se hace con el flanco descendente, lo cual significa que los datos se transfieren desde las entradas hasta la salida Q cuando el pulso de reloj efecta una transicin desde ALTO hasta BAJO.

FLIP FLOP T: El flip-flop T se obtiene del tipo JK cuando las entradas J y K se conectan para proporcionar una entrada nica designada por T. El flip-flop T, por lo tanto, tiene slo dos condiciones. Cuando T = 0 ( J = K = 0) una transicin de reloj no cambia el estado del flip-flop. Cuando T = 1 (J = K = 1) una transicin de reloj complementa el estado del flip-flop. Su unidad bsica se dibuja a continuacin que, como acta por "niveles" de amplitud (0-1) recibe el nombre de Flip-Flop T activado por nivel (FF-T-AN). Cuando no se especifica este detalle es del tipo Flip-Flop T maestro-esclavo (FFT-ME). Su ecuacin y tabla de funcionamiento son Q = T q

CONTADORES: Son dispositivos digitales capaces de realizar conteos de pulsos de reloj o eventos realizados de forma manual para generar los pulsos o conteos. Los contadores son construidos mediante arreglos de Flip Flops interconectados ya sea de forma Sncrona o de forma Asincrona. Esto representa la forma de conectar la entrada de reloj CLK de cada Flip Flop. Los contadores adems pueden ser ascendentes (- a +) o descendentes (+ a -) e incluso pueden crearse de tal forma que puedan realizar ambas tareas seleccionando por medio de un selector.

Contador Sncrono.
El contador sincrnico elimina los retrasos acumulativos de los flip-flops que se vieron en los contadores tipo rizado. Todos los flip-flops en el contador sincrnico estn bajo el control del mismo pulso de reloj. La velocidad de repeticin est limitada slo por el retraso de uno de los flip-flops, ms el retraso introducido por los bloques de control. El diseo de contadores sincrnicos para cualquier base numrica diferente de alguna potencia de 2 se dificulta ms que los contadores tipo rizado, pero el diseo se simplifica mediante el uso de la tcnica de mapas de Karnaugh.

En la Figura se muestra un contador sincrnico de 4 dgitos binarios con cargo en paralelo. El cargo en paralelo, tambin conocido como cargo adelantado es el ms rpido de los dos mtodos de control de flip-flops. De acuerdo con la tabla de estados, el flip-flop A se requiere que cambie de estado con la ocurrencia de cada pulso de reloj, el flip-flop B cambia cuando QA = 1; C cambia de estado cuando QA = Qn = 1, y D cambia de estado cuando QA = QB = QC = 1. El control del flipflop A se puede lograr mediante la conexin de JA y KA a un 1 lgico; el control del flip-flop B se logra con la conexin de JB y KB a QA; el control del flip-flop C se logra mediante la salida invertida de un bloque NAND de 2 entradas, cuyas entradas son QA y QB. El flip-flop D se controla en la misma forma que C, excepto que las entradas del bloque NAND son QA, QB y QC.

Contadores Asncronos. El contador tipo rizado es un contador bsico comnmente implementado con circuitos integrados. De todos los contadores ste es el ms sencillo en lgica , por lo tanto, el de diseo ms fcil, sin embargo este contador est limitado por su velocidad de operacin. Puesto que los flip-flops en el contador tipo rizado no estn bajo el mando de un solo pulso de reloj, este contador es asincrnico. En la figura se muestra un contador binario tipo rizado de 4 dgitos.

Inicialmente todos los flip-flops estn en el estado lgico 0 (QA = QB = QC = QD =0). Se aplica un pulso de reloj en la entrada de reloj del flip-flop A causando que QA cambie de 0 lgico a 1 lgico, el flip-flop B no cambia de estado, ya que es disparado por la transicin negativa del pulso, o sea, cuando la entrada de reloj

cambie de 1 lgico a 0 lgico. Con la llegada del pulso del reloj al flip-flop A, QA cambia de 1 a 0; este cambio de estado crea la transicin negativa del pulso necesaria para disparar el flip-flop B y, por lo tanto, QB cambia de 0 a 1, la llegada del decimosexto pulso del reloj todos los flip-flops estn en el estado 1, y el pulso nmero 16 causa que QA, QB, QC y QD cambien a 0 lgico

Contador Construido con FF JK, Asincrono de 4 bits, imagen de su simulacin en TINA, no posee set y clear.

Contador MOD9 El mdulo de un contador es el nmero de estados distintos por el que el contador puede pasar de forma secuencial. El nmero mximo de posibles estados de un contador es 2^n, donde n representa el numero de flip-flops del contador. Tambin se pueden disear contadores que tengan un nmero de estados en su secuencia que sea menor que el mximo de 2^n. La secuencia resultante se le conoce como secuencia truncada.

Entonces, un mdulo tpico en los contadores con secuencia truncada es de nueve, tambin conocido como MOD9. Cuya secuencia va de cero (0000) a ocho (1000). Algo muy importante que debemos de tomar en cuenta es que para obtener una secuencia truncada, es necesario forzar al contador a que inicie un nuevo ciclo antes de haber pasado por todos los estados normales. Este contador tiene que comenzar de nuevo en el estado 0000 despus de pasar por el estado 1000.

DESARROLLO.

Relog Didital: Un reloj digital es un ejemplo muy bien aplicado del uso de los contadores para dicho ejemplo se necesita de la aplicacin cierta lgica comprendida por los conocimientos tomados en esta ctedra y adquiridos por la investigacin adicional. Para el diseo de un reloj digital existen diferentes formas segn la necesidad y la capacidad del diseador para este ejemplo he tratado de tomar el caso mas sencillo posible para poder explicarlo de la forma mas comprensible posible. Tomando en cuenta que el diseo puede ser modular lo que hace un poco mas viable su comprensin, ya que se necesita disear dos mdulos de similar funcin Segundos y Minutos y un modulo con una funcin diferente como lo son las horas. En el caso de el modulo de los segundos son necesarios un contador MOD10 Ascendente y un contador MOD6 Ascendente dicho modulo nos permite realizar conteos de 0 hasta 59, ubicados en el sentido siguiente.

MOD6 'realiza conteos de 0 a 5'

MOD10 'realiza conteos de 0 a 9

Este mismo diseo es utilizado para realizar el conteo de los minutos, utilizando la misma lgica y activando el contador MOD10 cuando el contador MOD6 de los segundos sea reseteado a cero, es decir cuando hayan pasado 59 conteos y los contadores MOD10 y MOD6 sean reiniciados a 000 y 0000 respectivamente el Clk del MOD10 de los minutos es iniciado en 0001, siguiendo con esa misma secuencia hasta completar su mximo conteo 101 y 1001. Para el diseo de los mdulos de las horas se construy un contador MOD10 y

un contador de 2 Bit para los conteos de 0 a 2 00 10 para poder demostrar hasta 23 horas ya que se nos pide un formato de reloj de 24 horas. La lgica seguida es similar a la de los mdulos de segundos y minutos ya que el contador de las horas es activado cuando los minutos hayan llegado a su mximo conteo que es 101 1001, es decir que cuando el contador de los minutos es reiniciado a cero llega un pulso de reloj a la entrada Clk de el contador MOD10 de el modulo de las horas. DIAGRAMA DE FLUJO HORAS MINUTOS SEGUNDOS

El diseo del modulo de las horas requiere de cierta lgica la cual nos permite el poder reiniciar dicho contador cuando ha llegado a su cuenta mxima 23 horas y el modulo de los minutos ya este completo con 59 el de segundos tambin. Para ello se hizo uso de compuertas lgicas NAND que ya existen en TINA y por Compuertas OR diseadas en la tarea anterior, dicho circuito se encuentra mostrado en las graficas que se presentan a continuacin. Para la presentacin de los digitos de dicho proyecto se ha utilizado Display de siete segementos para lo cual la salidas Q de los contadores han sido conectadas a un convertidor de cdigo 8421 a siete segmentos que tambin fue diseado en la tarea anterior.

GRAFICAS DE MUESTRAS DE LOS CONTADORES Y FLIP-FLOP

Flip-flop JK con entradas SET y RESET.


Cdigo VHDL library IEEE; use IEEE.STD_LOGIC_1164.all; entity ffjk is port( J : in BIT; K : in BIT; CLK : in BIT; Q : out BIT ); end ffjk; architecture arch_ffjk of ffjk is SIGNAL pre_q : BIT; begin PROCESS(clk) BEGIN IF clk='1' THEN IF (J='0' AND K='1') THEN pre_q <= '0'; ELSIF(J='1' AND K='0') THEN pre_q <= '1'; ELSIF (J='1' AND K='1') THEN pre_q <= NOT pre_q; END IF; END IF; END PROCESS; Q <= pre_q; end arch_ffjk;

Flip Flop D con Set y Clear.

Cdigo vhdl
library IEEE; use IEEE.STD_LOGIC_1164.all; entity ffd is port(

D : CLK Set Clr Q :

in BIT; : in BIT; : in BIT; : in BIT; out BIT

);

end ffd; architecture arch_ffd of ffd is begin PROCESS(clk) BEGIN IF (Set ='0' AND Clr='0') then IF clk='1' then -- Flanco de Subida Q <= D; END IF; ELSIF (Set='0' AND Clr='1') then Q <= '0'; ELSIF (Set='1' AND Clr='1') then Q <= '1'; END IF; END PROCESS; END arch_ffd;

Flip Flop T con Set y Clear.

Codigo VHDL
entity fft is port(

library IEEE; use IEEE.STD_LOGIC_1164.all;

); end fft;

T : CLK Set Clr Q :

in BIT; : in BIT; : in BIT; : in BIT; out BIT

architecture arch_fft of fft is SIGNAL pre_q : BIT; begin PROCESS(clk) BEGIN IF (Set='0' AND Clr='0') THEN IF (CLK='1') THEN pre_q <= NOT pre_q; END IF; ELSIF (Set='0' AND Clr='1') THEN pre_q <= '0'; ELSIF (Set='1' AND Clr='0') THEN pre_q <= '1'; END IF;

END PROCESS; Q <= pre_q; end arch_fft;

Contador UP de 4 bits.

Codigo VHDL

library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_arith.all; entity contador is port( clk : in STD_LOGIC; clr : in STD_LOGIC; QA : out STD_LOGIC; QB : out STD_LOGIC; QC : out STD_LOGIC; QD : out STD_LOGIC ); end contador; --.......................................... architecture arch_contador of contador is SIGNAL pre_q: unsigned(3 downto 0); begin PROCESS(clk, clr) BEGIN IF clr = '1' THEN pre_q <= "0000"; ELSIF (clk ='1') THEN pre_q <= pre_q +1;

END IF; END PROCESS; QA <= pre_q(0); QB <= pre_q(1); QC <= pre_q(2); QD <= pre_q(3); end arch_contador;

Contador DOWN MOD 9

Codigo VHDL

library IEEE; use IEEE.STD_LOGIC_1164.all; use IEEE.STD_LOGIC_arith.all; entity contador is port( clk : in STD_LOGIC; clr : in STD_LOGIC; QA : out STD_LOGIC; QB : out STD_LOGIC; QC : out STD_LOGIC; QD : out STD_LOGIC ); end contador; --.......................................... architecture arch_contador of contador is SIGNAL pre_q: unsigned(3 downto 0); begin PROCESS(clk, clr) BEGIN IF clr = '1' THEN pre_q <= "0000"; ELSIF (clk ='1') THEN pre_q <= pre_q -1; IF(pre_q="1111")THEN pre_q<="1000"; END IF; END IF; END PROCESS; QA <= pre_q(0); QB <= pre_q(1); QC <= pre_q(2); QD <= pre_q(3);

end arch_contador;

Imagen de muestra de la salida de reloj.

Modulo contador de segundos y/o minutos

Modulo contador de Horas

RESULTADOS DE INVESTIGACIN LIBRERAS DE ALTERA, QUE PERMITEN USAR FLIP-FLOP YA DISEADOS Uso de componentes Supongamos que queremos realizar un flip-flop T a partir de uno D. Las ecuaciones son:T_DATA_IN = D_CLOCK;D_DATA_IN = not D_Q;Supongamos que ya tenamos una entidad llamada FF_D que es un flip-flop D, con entradasDATA_IN y CLOCK, y salidas Q y NOT_Q, y se desea usar para realizar el Flip-flop T.El cdigo que realiza esto es el siguiente: library IEEE;use IEEE.STD_LOGIC_1164.all;entity FF_T isport (DATA_IN: in STD_LOGIC;Q: out STD_LOGIC;NOT_Q: out STD_LOGIC);end FF_T;architecture A of FF_T iscomponent FF_D-- Aqu se indica que se usar la entidad FF_Dport (DATA_IN: in STD_LOGIC;-- Se indica su estructura.CLOCK: in STD_LOGIC;-Los nombres de los puertosQ: out STD_LOGIC;-- deben coincidir con los originalesNOT_Q: out STD_LOGIC );end component;signal CXN_D_Q: STD_LOGIC;-- para conectar a Q y Data_in del flip-flop DbeginFD : FF_D port map (-- puerto de componente=> puerto o seal de entidadDATA_IN=> CXN_D_Q, -- se separan por , CLOCK => DATA_IN,Q => CXN_D_Q, -- se conecta Q con DATA_IN NOT_Q=> NOT_Q -- el ultimo no lleva , );end A; Se cre la seal CXN_D_Q pues no se pueden conectar dos puertos de

componentes entre s directamente, ni tampoco dos puertos del mismo componente. Una entidad se puede entendercomo un circuito, y un componente como un integrado. Para conectar por ejemplo dos pines delintegrado entre ellos, es necesario un cable (signal) que lo realice. Un puerto tambin puedeconectarse directamente a una salida del circuito (idealmente) sin necesidad de ningn cable.Hay que tener en cuenta que para la correcta compilacin de los componentes, el nombre dearchivo debe coincidir con el de la entidad. En Xilinx ISE se debe tener atencin que los nombresde los componentes sean adems coincidentes en maysculas/minsculas. Si se desea realizar un circuito con dos o ms componentes del mismo tipo, se deben crear los port map necesarios. La definicin de component es slo una: architecture A of VARIOS_FF iscomponent FF_Dport (...);end component;...begin...FD_A : FF_D port map (...) ;FD_B : FF_D port map (...) ;...FD_N : FF_D port map (...) ;end A ;

Investigue algunas formas de crear un tren de pulsos. El circuito integrado 555 El circuito integrado 555 es un dispositivo altamente estable utilizado para la generacion de seales de pulsos. En la figura se muestra su distribucion funcional de pines y las dos formas ms comunes de presentacin las cuales son las ms usuales: el encapsulado de doble fila o DIP ( Dual- in line package ) y el metlico. La presentacin DIP de 8 pines es la ms comn. El encapsulado metlico se utiliza principalmente en aplicaciones militares e industriales. Tambin esta disponible en encapsulado de montaje superficial, con la referencia LM555CM de

national. El chip consta internamente de 23 transistores, 2 diodos y 12 resistencias. Opera con tensiones de alimentacin desde 4.5 V hasta 18 V y puede manejar corrientes de salida hasta de 200 mA, una capacidad suficiente para impulsar directamente entradas TTL, LED, zumbadores, bobinas de rele, parlantes piezoelctricos y otros componentes. Modulo PWM del PIC 16F877A El Modulo PWM del PIC 16F877 tiene una resolucion maxima de 10 bit y su salida se toma del pin RC2, por lo cual debe estar configurado como salida en el registro Tris C.

Periodo PWM El Periodo del Modulo PWM es configurado dando un valor al registro PR2. Este periodo puede ser calculado usando la siguiete formula: PWM Period = [(PR2) + 1] 4 TOSC Prescale del Timer 2 Como ya es sabido la frecuencia esta determinada por 1/Periodo PWM Cuando el valor del Timer 2 alcanza el valor de PR2, los siguientes eventos ocurren en el siguiente ciclo de tiempo: - TMR2 es limpiado - El pin CCP1 es puesto a 1 - El Periodo de trabajo del PWM es cambiado de CCPR1H a CCPR1L

CONCLUSIONES.

Con el desarrollo de este trabajo ampliamos los conocimientos en la lgica digital lo cual estimula para seguir adquiriendo conocimientos en esta rea tan importante de la electrnica.

Se puso en prctica lo estudiado en la ctedra a cerca de los biestables o Flip Flop, y su forma de uso para desarrollar contadores y otros dispositivos secuenciales. Se desarrollo un reloj digital por medio de contadores asncronos diseados con Flip Flop JK con Set y Clear, con lo cual se pudo comprobar de forma practica la manipulacin de contadores de la forma 2^n a contadores MOD N utilizando compuertas lgicas para su truncamiento. El desarrollo de la practica no termino con todos los objetivos deseados ya que con el tiempo que se tiene en mi caso no fue suficiente para solucionar ciertas fallas en la prctica que en la lgica no se tienen.

BIBLIOGRAFIA http://es.scribd.com/doc/44112969/Tutorial-b-E1sico-de-VHDL http://www.ing.unlp.edu.ar/islyd/IDLconVHDL2010.pdf http://picmicrocontroller877.blogspot.com/2007/10/modulo-pwm-del-pic16f877a.html

También podría gustarte