GUIAS ÚNICAS DE LABORATORIO ECUACIONES DE ESTADO AUTOR: ALBERTO CUERVO SANTIAGO DE CALI UNIVERSIDAD SANTIAGO DE CALI DEPARTAMENTO DE LABORATORIOS DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE EECCUUAACCIIOONNEESS DDEE EESSTTAADDOO ECUACIONES DE ESTADO Introducción Un circuito secuencial puede ser descrito mediante una tabla de estado, un diagrama de estado o mediante las ecuaciones de estado. En el primer caso se presenta la información en forma tabular, en el segundo en forma gráfica y en las ecuaciones de estado se presenta la información que describe el comportamiento del sistema secuencial en forma algebraica. En el presente artículo se describe un sistema secuencial mediante sus ecuaciones de estado, se diseña el mismo utilizando flip-flops JK para ser implementado en el laboratorio utilizando el módulo DIGI-BOARD2 disponible en la universidad Santiago de Cali. Teoría General del Circuito Secuencial Sincrónico La diferencia fundamental entre un circuito combinatorio y un circuito secuencial consiste en que en el primero las señales de salida en un momento dado del tiempo dependen solamente de los valores que tengan las señales de entrada al circuito combinacional en ese mismo momento del tiempo. Por el contrario, en un circuito secuencial los valores que presentan las salidas del circuito en un momento dado del tiempo dependen no solamente de los valores de las entradas en ese momento, sino también de los valores que han tenido dichas entradas en instantes anteriores en el tiempo. Debido a lo anterior, adicionalmente a la lógica combinatoria deben haber elementos de memoria que recuerden los valores pasados de las señales de entrada al mismo. En la figura 1 se muestra el diagrama funcional general de un circuito secuencial sincrónico. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE EECCUUAACCIIOONNEESS DDEE EESSTTAADDOO Circuito Secuencial entradas salidas X1 X2 Xn Y1 Ym LÓGICA COMBINACIONAL A B C Elementos de Memoria (flip-flops) JA KA JB KB JC KC pulsos de reloj Figura 1. Diagrama general de un circuito secuencial sincrónico En esta figura se ha representado un circuito secuencial sincrónico con n entradas, m salidas y tres elementos de memoria o flip-flops: A, B y C. Los pulsos de reloj se aplican simultáneamente a todas las entradas de reloj de los flipflops que tenga el circuito de forma tal que estos cambiarán de estado en sincronismo con dichos pulsos, esto es, cuando ocurran los flancos de los pulsos de reloj a los cuales son sensibles los flip-flops. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE EECCUUAACCIIOONNEESS DDEE EESSTTAADDOO A, B y C no son más que las salidas de los flip-flops, y JA, KA….Kc las entradas de excitación de los mismos si disponemos de flip-flops JK. El estado peresente en el circuito secuencial no es más que el conjunto de estados individuales de cada uno de los flip-flops. Esto es, el estado 101 del circuito secuencial es aquel estado en que el flip-flop A se encuentra en el estado 1, el flip-flop B en 0 y el flip-flop C en el estado 1. De acuerdo con lo anterior, el número de estados que puede tener un circuito secuencial es igual a 2r, donde r es el número de flip-flops que posee dicho circuito. En el esquema de la figura 1, el circuito tendría 8 estados posibles. Como las salidas de una lógica combinacional dependen de las entradas a la misma, analizando la figura 1 se puede plantear que en un circuito secuencial se cumple que las salidas del mismo son funciónes de A,B,C,X1,X2,…Xn esto es: salidas = f1(estado presente, entradas) La relación anterior plantea que el valor en que se encuentra una salida cualquiera de un circuito secuencial en un momento dado depende no solamente de los valores que tengan las señales de entrada en ese momento, sino también del estado presente en el circuito secuencial. Se debe observar que el estado presente en un circuito secuencial depende de cómo llegó el circuito a ese estado, es decir de valores anteriores en las señales de entrada al mismo. Similarmente se puede plantear una relación similar para las funciones de excitación de los flip-flops. funciones de excitación = f(estado presente, entradas) Como los valores que tengan las funciones de excitación de los flip-flops en el momento de ocurrir un pulso de reloj cualquiera determinan el estado siguiente de cada uno de los flip-flops, es decir, el estado después de la ocurrencia del pulso de reloj, se puede plantear una dependencia similar para el estado siguiente del circuito. estado siguiente = f2(estado presente, entradas) En la figura 2 se ilustra lo anteriormente expuesto. El estado presente es el estado que tiene el circuito antes y en el momento de ocurrir un pulso de reloj n y el estado siguiente es el estado después de ocurrir dicho pulso. En esta figura se ha supuesto que los flip-flops son sensibles a los flancos negativos de los pulsos de reloj. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE EECCUUAACCIIOONNEESS DDEE EESSTTAADDOO estado presente estado suguiente pulsos de reloj n-1 n n+1 tiempo Figura 2. Duración de un estado en el circuito secuencial De lo anterior se desprende que el tiempo mínimo que dura un estado en un circuito secuencial es igual a un período de los pulsos de reloj. Se plantea que es un tiempo mínimo pués eventualmente el circuito puede permanecer en el mismo estado por varios períodos hasta que sea obligado a cambiar de estado al cambiar el valor de alguna señal de entrada. Ecuaciones de estado Un circuito secuencial queda completamente determinado si en cada estado presente en que se encuentre se conoce. 1. Los valores de las señales de salida del circuito y 2. El estado siguiente al cual pasa el circuito cuando ocurra un pulso de reloj. Como el estado del circuito secuencial es el conjunto de estados de los flip-flops individuales, para conocer el estado siguiente del circuito se debe conocer el estado siguiente de cada uno de los flip-flops. Una ecuación de estado es una expresión algebraica que proporciona el estado siguiente de un flip-flop particular en función del estado presente en un circuito secuencial y de los valores que tengan las señales de entrada al mismo. El lado izquierdo de la ecuación denota el estado siguiente y el lado derecho es una función de Boole que evaluada produce el valor del estado siguiente del flip-flop. Por ejemplo, la ecuación de estado A(t+1) = x´A´B + xA´B´ es la ecuación de estado del flip-flop A de un circuito secuencial con dos flip-flops A y B y una sola señal de entrada: x. La ecuación anterior nos dice que el estado siguiente del flip-flop A, A(t+1), es 1 si: 1. el estado presente en el circuito es el estado 01 y x=0, ó 2. el estado presente en el circuito es el estado 00 y x=1. En cualquier otra condición, el estado siguiente del flip-flop A será el estado 0. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE EECCUUAACCIIOONNEESS DDEE EESSTTAADDOO De la discusión anterior se desprende que para conocer el estado siguiente de un circuito secuencial harán falta r ecuaciones de estado, donde r es el número de flipflops de dicho circuito. Planteamiento del problema. Las siguientes ecuaciones describen completamente un circuito secuencial: A(t+1) = Bx´+ AB + Ax´ B(t+1) = A´x + A´B + Bx Y = AB´x 1. Diseñe el circuito secuencial utilizando flip-flops JK 2. Encuentre la tabla de estados y el diagrama de estados del circuito. 3. Monte el circuito en el laboratorio en el módulo DIGI-BOARD2 y compruebe la operación del mismo. Solución Las ecuaciones anteriores se refieren a un circuito secuencial con dos flip-flops A y B, por lo que tendrá 4 estados: 00, 01, 10 y 11. Igualmente tiene una entrada x y una salida Y. Por comodidad encontraremos la ecuación característica de un flip-flop JK, esto es, la ecuación que nos proporciona el estado siguiente del flip-flop cuando ocurra un pulso de reloj en función de los valores presentes en sus entradas de excitación J K y del estado presente en el mismo. J Q reloj K Q J K Q(t+1) 0 0 0 1 Q 1 1 0 1 1 0 Q Tabla característica Figura 3. Flip-flop JK y tabla característica En la figura 3 se muestra la tabla característica del flip-flop JK que define la operación de este tipo de flip-flop. Q es el estado presente en el flip-flop y Q(t+1) es el estado siguiente del mismo. Se debe observar que Q(t+1) y Q no son dos variables distintas, es la misma variable, ambas denominaciones representan la salida del flipflop pero en momentos del tiempo diferentes. Así, Q es el valor de la salida del flipflop antes de que ocurra un pulso de reloj, y Q(t+1) después de que ocurra el pulso. Evaluando esta tabla característica se puede construir la tabla que se muestra en la figura 4 que nos da el estado siguiente del flip-flop en función del estado presente, y de las entradas de excitación J y K. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE EECCUUAACCIIOONNEESS DDEE EESSTTAADDOO De la tabla de la figura 4 se puede construir el mapa de Karnaugh de la figura 5 para encontrar Q(t+1) de forma simplificada como se muestra a continuación Q(t+1) = JQ´+ K´Q…………….ecuación característica del flip-flop JK J K Q Q(t+1) Q 0 0 0 O 0 0 1 1 0 1 0 0 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 1 1 1 1 0 Figura 4. Tabla del flip-flopJK JK 00 01 11 10 0 0 0 1 1 1 1 0 0 1 Q(t+1) = JQ´+ K´Q ecuación característica Figura 5. Mapa de Karnaugh y ecuación característica de un flip-flop JK De acuerdo a lo anterior podremos plantear las ecuaciones características de los flipflops A y B de nuestro problema. A(t+1) = JA A´+ K´A A y B(t+1) = JBB´+ K´BB Donde JA y KA son las entradas J y K del flip-flop A, y JB y KB las correspondientes al flip-flop B. De la ecuación de estado del flip-flop A se puede plantear lo siguiente. A(t+1) = Bx´+ AB + Ax´ = (A+A´)Bx´+ AB + Ax´= Bx´A´ + (Bx´+ B + x´)A Comparando esta expresión con la ecuación característica del flip-flop A se obtienen las funciones de las entradas de excitación de este flip-flop. JA = Bx´ y KA = (Bx´+ B + x´)´= (B´+ x) B´x = B´B´x + B´x x= B´x ´B´x = B´x Procediendo de forma similar con el flip-flop B se encuentra: B(t+1) = A´x + A´B+ Bx = A´(B+B´)x + A´B + Bx = A´x B´ + (A´x + A´ +x) B = A´x B´+ (A´+ x) B Por tanto JB = A´x y KB = (A´+ x)´ = Ax´ De las funciones encontradas de las entradas de excitación JK de los flip-flops A y B conjuntamente con la función de la señal de salida Y se puede elaborar el circuito secuencial que se muestra en la figura 6 formado por 2 flip-flops JK, 1 inversor y 5 compuertas AND. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE EECCUUAACCIIOONNEESS DDEE EESSTTAADDOO Lógica combinacional entrada x salida Y A J A´ K B J B´ K Elementos de memoria reloj Figura 6 Circuito secuencial Evaluando las ecuaciones de estado del circuito secuencial se puede encontrar el estado siguiente para cada estado presente y cada estado que tenga la señal de entrada x. Similarmente, como la señal de salida Y = AB´x, esta señal sólo tendrá el valor de 1 lógico cuando el circuito se encuentre en el estado 10 y la señal de entrada x = 1. Lo anterior se resume en la tabla de estados que se muestra en la figura 7. Esta tabla nos informa por ejemplo que si el circuito se encuentra en el estado 10, si x=0 se queda en el estado 10, pero si x=1 pasa al estado 00 cuando ocurra un pulso de reloj. Similarmente, la salida Y=0 en el estado 10 si x=0, pero en este mismo estado 10 la salida Y=1 si x=1, etc. DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE EECCUUAACCIIOONNEESS DDEE EESSTTAADDOO Observe que a diferencia de un circuito combinacional, la salida puede tener diferentes valores aún para el mismo valor de la señal de entrada. Estado Presente Estado siguiente x= 0 x=1 AB AB AB 00 01 10 11 00 11 10 10 Salida 01 01 00 11 x=0 y x=1 y 0 0 0 0 0 0 1 0 Figura 7. Tabla de Estados. De la tabla de estados de la figura 7 puede ser fácilmente obtenido el diagrama de estados que se muestra en la figura 8. 0/0 00 1/0 1/1 1/0 01 10 0/0 0/0 0/0 11 1/0 Figura 8. Diagrama de Estados DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE EECCUUAACCIIOONNEESS DDEE EESSTTAADDOO Trabajo en el laboratorio Conecte las salidas de los flip-flops a LEDs para poder visualizar el estado presente y siguiente del circuito secuencial. Utilice las entradas asincrónicas de los flip-flops para colocar al circuito en un estado en particular y el teclado para colocarle un estado a la señal de entrada x. Conecte la salida Y a otro LED para comprobar su valor y con el pulsador aplique un pulso de reloj para comprobar el estado siguiente del circuito. Repita el procedimiento anterior con cada estado del circuito secuencial. Bibliografía. • Víctor P Nelson, H. Troy Nagle, Bill D. Carroll y J. David Irwiin, “Análisis y Diseño de Circuitos Lógicos Digitales”, Prentice-Hall Hispanoamericana SA. • System Technik, “MÓDULO DIGI BOARD2 Descripción Técnica”. • M. Morris Mano, “Lógica Digital y Diseño de Computadores”, Editorial Dossat S.A. • J.F. Wakerly, “Digital Design Principles and Practices”, Englewoos Cliffs, NJ: Prentice Hall DDEEPPAARRTTAAM MEENNTTOO DDEE LLAABBOORRAATTOORRIIOOSS GGUUIIAASS DDEE EECCUUAACCIIOONNEESS DDEE EESSTTAADDOO