Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Electronica 2 PDF
Electronica 2 PDF
No obstante, la mayora de las personas (y por tanto potenciales usuarios de sistemas digitales) utilizan bsicamente el sistema numrico decimal, y desconocen el sistema binario. Luego, es necesario que los diseadores (no los usuarios) conozcan la manera de compatibilizar ambos sistemas numricos, es decir, algunas reglas para pasar de un sistema a otro. En principio disponemos de dos mtodos, una de cuyas diferencias se encuentra en el sistema en el que se realizarn las operaciones: mtodo polinmico, en el que las operaciones se realizan en el sistema destino; y mtodo iterativo, en el que las operaciones se realizan en el sistema fuente. Por lo tanto, y tomando la premisa de realizar todas las operaciones en el sistema decimal, utilizaremos el mtodo polinmico para pasar de binario a decimal y el mtodo iterativo para pasar de decimal a binario.
( N3 N2 N1 N0 ) =
Ni 10
i=0
Luego, si estamos en un sistema binario, nicamente hay que cambiar la base por la que se realizan las multiplicaciones. Luego, el resultado es:
3
( N3 N2 N1 N0 ) =
Ni 2
i=0
Una vez que conocemos la manera de obtener el valor numrico, si dicho valor numrico es calculado en el sistema decimal, tendremos su valor numrico en el sistema decimal. Por lo tanto, para pasar un nmero del sistema binario al sistema decimal nicamente hay que evaluar dicho sumatorio. En el caso que tengamos nmeros decimales, el procedimiento es el mismo pero con exponentes negativos. A modo de ejemplo presentamos varias conversiones en la figura 1.2.
100101 = 125+024+023+122+021+120 = 35 1111 = 123+122+121+120 = 15 011010 = 025+124+123+022+121+020 = 26 110.001 = 122+121+020+02-1+02-2+12-3 = 6.125 1000.10 = 123+022+021+020+12-1+02-2 = 8.5
Ni 2
i=1
N0 + -----2
Por lo tanto, el resto de la divisin por dos (la base) es el bit menos significativo. Si volvemos a hacer la divisin con el cociente que nos ha quedado, el nuevo resto ser el bit menos significativo del cociente, es decir, el bit N1 en la divisin del primer cociente. A modo de ejemplo, en la figura 1.3 mostramos varias conversiones de decimal a binario. Como se ha comentado previamente, el primer resto se corresponde con el bit menos significativo, mientras que el ltimo resto (o el cociente de la ltima divisin) se corresponde con el bit ms significativo. El mtodo anterior nicamente sirve para nmeros enteros, ya que al utilizar nmeros decimales, el resto no slo sera un bit sino que se correspondera con varios (ms concreta-
235 2 1 117 1
2 58 0
2 29 1
100 2 0 50 0 2 14 0 2 7 1
2 25 1
2 12 0
2 3 1
2 6 0
2 1 1
2 3 1
2 0
2 1 1
2 0
235)10 = 11101011)2
100)10 = 1100100)2
mente todos los decimales). Si estamos considerando nmeros decimales (con valores entre 1 y 0), su valor numrico sera el siguiente:
-m
N -1 N -2 N -m =
Ni 2
i = -1
En este caso, si en lugar de dividir, multiplicamos por dos (la base), el bit ms significativo pasa a ser la parte entera del nuevo nmero decimal, como se muestra a continuacin:
-m
( N -1 N -2 N -m ) 2 =
Ni 2
i = -2
i+1
+ N -1
Por lo tanto, si realizamos iterativamente estas multiplicaciones, podemos obtener todos los dgitos binarios decimales (detrs del punto decimal). Tambin hay que indicar que al igual que en el sistema decimal puede haber infinitos nmeros decimales, en el sistema binario tambin puede haberlos. En la figura 1.4 mostramos algunos ejemplos, en los cuales tomaremos como resolucin cuatro bits.
0.125)10 = 0.0010)2 0.125 * 2 = 0.250 0.250 * 2 = 0.500 0.500 * 2 = 1.000 0.000 * 2 = 0.000
0.200)10 = 0.0011)2 0.200 * 2 = 0.400 0.400 * 2 = 0.800 0.800 * 2 = 1.600 0.600 * 2 = 1.200
Por lo tanto, si queremos convertir un nmero con dgitos decimales y enteros, lo nico que se debe hacer es separar ambas componentes del nmero y convertirlas por separado. Una vez convertidas, nicamente debemos colocarlas en su sitio. En la figura 1.5 mostramos algunos ejemplos.
125.43)10 = 1111101.0110)2 125 2 1 62 0 0.43 * 2 = 0.86 2 31 1 0.86 * 2 = 1.72 2 15 1 2 7 1 0.72 * 2 = 1.44 2 3 1 0.44 * 2 = 0.88 2 1 1 2 0
64.75)10 = 100000.1100)2 64 2 0 32 0 0.75 * 2 = 1.50 2 16 0 0.50 * 2 = 1.00 2 8 0 2 4 0 0.00 * 2 = 0.00 2 2 0 0.00 * 2 = 0.00 2 1 1 2 0
= N7 2 + N6 2 + N5 2 + N4 2 + N3 2 + N2 2 + N1 2 + N0 2
= ( N 7 2 + N 6 2 + N 5 2 + N 4 2 ) 16 + ( N 3 2 + N 2 2 + N 1 2 + N 0 2 ) 16
Ahora, si en lugar de bits, utilizamos dgitos hexadecimales, nos quedara la siguiente expresin:
N7 N6 N5 N4 N3 N2 N1 N0
2
= ( H 1 ) 16 + ( H 0 ) 16
Luego, un dgito hexadecimal (octal) se correspondera con cuatro (tres) bits. Adems, la conversin de hexadecimal (octal) a binario o viceversa no debe realizarse sobre el nmero completo sino por grupos de cuatro (tres) bits. Luego, el mtodo para convertir nmeros binarios a hexadecimales (octal) se deben agrupar los bits en grupos de cuatro (tres), y convertir cada uno de los grupos por separado. En el caso de que los grupos no sean completos, se completarn con 0s a la izquierda (si el grupo est a la izquierda de la coma decimal) o a la derecha (si el grupo est a la derecha de la coma decimal). En el caso de que la conversin sea de hexadecimal (octal) a binario, se convertir dgito a dgito, en la cual se realizarn en grupos de cuatro (tres) bits. En la figura 1.6 mostramos algunos ejemplos de conversin directa entre sistemas binario y hexadecimal.
0011001011001.001101 0 6 5 9. 3 4 3 5 F A 0. 8
00110101111110100000.1000 2 A B
11001.1000101 1 9. 8 A
001010101011 C C 0. F F
01100000.1011001 6 0. B 2
110011000000.11111111
P3.- las operaciones tienen elementos identidad diferentes dentro de B. Estos elementos son definidos como 0 para (+) y 1 para (). a+0 = a a1 = a P4.- para cada elemento, a, del conjunto B, existe otro elemento denominado complemento, a tambin del conjunto B, tal que se cumple: a+a = 1 aa = 0 Cuando el conjunto es limitado al conjunto binario {0, 1} y las operaciones estn definidas segn la tabla 1.1 se habla de lgebra de conmutacin.
Tabla 1.1. Operaciones del lgebra de conmutacin.
a
0 0 1 1 0 1 0 1
b
1 1 0 0
a = a
0 0 0 1
ab
0 1 1 1
a+b
Una operacin estar determinada por la combinacin de entradas en la que su valor de salida sea nico, es decir, el producto estar determinado por la combinacin que hace que valga 1 (y por lo tanto, todas sus entradas sean 1), y la suma estar determinada por la combinacin que hace que valga 0 (y por lo tanto, todas sus entradas sean 0). A continuacin se muestra las principales leyes que se cumplen en cualquier lgebra de Boole, y por lo tanto, el lgebra de conmutacin. Principio de dualidad.- Cualquier teorema o identidad algebraica deducible de los postulados anteriores puede transformarse en un segundo teorema o identidad vlida sin mas que intercambiar las operaciones binarias y los elementos identidad. Teorema 1.1.- El elemento a del 4 postulado (denominado complemento o negacin de a) est unvocamente determinado, es decir, es nico. Teorema 1.2.- (o Teorema de elementos nulos) Para cada cualquier elemento a, se verifican las siguientes igualdades a+1 = 1 a0 = 0 Teorema 1.3.- Cada uno de los elementos identidad es el complemento del otro, es decir, 1 = 0 y 0 = 1 Teorema 1.4.- (o Teorema de idempotencia) Para cada elemento a, se verifican las siguientes igualdades: a+a=a aa=a
Teorema 1.5.- (o Teorema de involucin) Para cada elemento de a, se verifica que el complemento del complemento de a es a, es decir, (a) = a Teorema 1.6.- (o Teorema de absorcin) Para cada par de elementos, a y b, se verifica: a+ab=a a (a + b) = a Teorema 1.7.- Para cada par de elementos, a y b, se verifica: a + a b = a + b a (a + b) = a b Teorema 1.8.- (o Leyes de DeMorgan) Para cada par de elementos, a y b, se verifica (a + b) = a b (a b) = a + b Teorema 1.9.- (o Leyes de DeMorgan generalizadas) Para cualquier conjunto de elementos se verifica: (X0 + X1 + + Xn) = X0 X1 Xn (X0 X1 Xn) = X0 + X1 + + Xn Teorema 1.10.- (o Teorema de asociatividad) Cada uno de los operadores binarios (+) y () cumple la propiedad asociativa, es decir, para cada tres elementos, a, b y c, se verifica (a + b) + c = a + (b + c) (a b) c = a (b c)
Smbolos tradicionales
Puerta AND A B F Q
Puerta OR A B Q F
A Smbolos B internacionales Q
&
A B Q
F = AB...Q A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 ABC 0 0 0 0 0 0 0 1
F = A+B+...+Q A+B+C 0 1 1 1 1 1 1 1
F = A = A B 1 1 0 0 1 1 0 0
Figura 1.7.- Simbologa tradicional e internacional y tabla de combinaciones correspondientes a las puertas lgicas bsicas.
Puerta NAND A B F Q Puerta NOR A B Q F A B Q Puerta XOR F A B Q Puerta XNOR F
Smbolos tradicionales
Smbolos internacionales
A B Q
&
A B Q
A B Q
=1
A B Q
=1
F = AB...Q A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 ABC 1 1 1 1 1 1 1 0
F = A+B+...+Q A+B+C 1 0 0 0 0 0 0 0
F = AB...Q A B C 0 1 1 0 1 0 0 1
F = AB...Q A B C 1 0 0 1 0 1 1 0
Figura 1.8.- Simbologa tradicional e internacional y tabla de combinaciones correspondientes a las puertas lgicas compuestas.
10
En el caso de la simbologa, cabe destacar que la referencia a la negacin es un crculo (en el caso de la simbologa tradicional) y una lnea oblicua (en el caso de la simbologa internacional), independientemente de donde se encuentre (entrada o salida), como se muestra en la figura 1.9.
A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F = (ABC) 0 1 1 1 1 1 1 1
A B C F
A B C & F
11
A B
C A B
N2 = C N3 = A+B
A 0 0 0 0 1 1 1 1
B 0 0 1 1 0 0 1 1
C 0 1 0 1 0 1 0 1
N1 N2 N3 N4 0 1 1 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 0 1 0 0 0
F 1 0 0 0 0 0 1 1
El problema de diseo se puede definir de la siguiente forma: Dados un comportamiento y una funcionalidad, determina el circuito electrnico que los presenta. Dicho problema se suele dividir en dos partes: Obtencin de la funcin mediante su tabla de combinaciones. Obtencin de la frmula lgica a partir de su tabla.
12
Significado
Ningn sensor alcanza su valor Solamente alcanza su valor la luminosidad Solamente alcanza su valor la humedad Solamente no alcanza su valor la temperatura Solamente alcanza su valor la temperatura Solamente no alcanza su valor la humedad Solamente no alcanza su valor la luminosidad Todos alcanzan sus valores
Temp.
0 0 0 0 1 1 1 1
Hum.
0 0 1 1 0 0 1 1
Lumin.
0 1 0 1 0 1 0 1
Toldo
1 1 0 1 0 0 0 0
Riego
1 1 1 1 1 1 0 0
Tambin podramos obtener directamente una frmula transcribiendo directamente las especificaciones con las siguientes premisas: Una negacin de una variable se interpreta como el complemento de la variable. El y se interpreta como la operacin AND. El o se interpreta como la operacin OR. Por lo tanto las frmulas quedaran de la siguiente forma: TOLDO = TEMPERATURA HUMEDAD + LUMINOSIDADTEMPERATURA RIEGO = HUMEDAD + TEMPERATURA No obstante, se suele dar la tabla de combinaciones ya que es el punto de partida para la tarea siguiente.
Si consideramos los 0s (valor que identifica a una suma, como se vio anteriormente), cada combinacin que d dicho valor ser un trmino suma, los cuales se multiplicarn. En dicho trmino, todos sus operandos deben tomar el valor 0, por lo que si la variable de entrada vale 1 aparecer complementada para obtener el operador igual a 0; pero si vale 0 aparecer tal cual. Luego, la seal de salida RIEGO tomar la siguiente frmula:
RIEGO = (TEMP.+HUM.+LUM.)(TEMP.+HUM.+LUM.)
13
As, en la tabla 1.3 se muestran los trminos producto y suma correspondiente a las diferentes combinaciones de seales de entrada.
Tabla 1.3. Trminos producto y suma
A
0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1
B
0 1 0 1 0 1 0 1
Trmino producto
ABC ABC ABC ABC ABC ABC ABC ABC
Trmino suma
A+B+C A+B+C A+B+C A+B+C A+B+C A+B+C A+B+C A+B+C
No obstante, la frmula obtenida de la forma anterior no es mnima, y por lo tanto, el circuito asociado puede ser minimizado en el nmero de puertas y/o en el nmero de entradas de cada puerta. De hecho, si partimos de la frmula de la seal TOLDO, y aplicando las diferentes leyes del lgebra de Boole podemos llegar a la siguiente expresin:
TOLDO = TEMP.HUM.LUM. + TEMP.HUM.LUM. + TEMP.HUM.LUM. Aplicando la propiedad distributiva en los dos primeros trminos obtenemos TOLDO = TEMP.HUM.(LUM.+LUM.) + TEMP.HUM.LUM. Aplicando una de las formas del cuarto postulado al parntesis obtenemos TOLDO = TEMP.HUM. + TEMP.HUM.LUM. Aplicando la propiedad distributiva obtenemos TOLDO = TEMP.(HUM. + HUM.LUM.) Aplicando el teorema 1.7 al parntesis obtenemos TOLDO = TEMP.(HUM. + LUM.)
Luego, aplicando las diferentes leyes del lgebra de Boole podemos reducir la frmula lgica, y por lo tanto, el circuito asociado. El problema de utilizar este mtodo es que al utilizar ms leyes, existe ms probabilidad de equivocacin en su tratamiento. Una forma de minimizacin que no conlleva la aplicacin de tantas leyes es la utilizacin del mapa de Karnaugh. Un mapa de Karnaugh es una tabla de combinaciones con un disposicin especial, de tal forma que los valores de las variables de entrada correspondiente a una celda y sus adyacentes slo se diferencian en uno de ellos. En la figura 1.11 mostramos la estructura de los mapas de Karnaugh de dos, tres y cuatro variables, as como los mapas de Karnaugh correspondientes a las seales RIEGO y TOLDO. El mtodo para obtener la frmula a partir del mapa de Karnaugh consiste en seguir los siguientes pasos:
14
A B 0 1 0 1
C
AB 00 0 1 01 11 10
AB CD 00 01 11 10 00 01 11 10
TEMP. HUM.
1 1
0 1 TOLDO
0 0
0 0
LUM. 0 1
00
01
11
10
1 1
1 1 RIEGO
0 0
1 1
Obtener los grupos de 1s (0s) adyacentes cuyo nmero sea igual a una potencia de dos. Elegir el nmero mnimo de grupos que engloban a todos los 1s (0s). Por cada grupo de 1s (0s) hay un trmino producto (suma). En dicho trmino aparecern nicamente las variables que no cambien, de tal forma que la variables que tomen el valor 1 (0) aparecern sin complementar y si toman el valor 0 (1) aparecern complementadas. En la figura 1.12a mostramos el ejemplo de obtener las seales TOLDO y RIEGO utilizando trminos producto; mientras que en la figura 1.12b mostramos el mismo ejemplo utilizando trminos sumas.
TEMP. HUM. TEMP. HUM. 11 10
(a)
LUM. 0 1
00
01
1 1
0 1
0 0
0 0
LUM. 0 1
00
01
11
10
1 1
1 1
0 0
1 1
(b)
1 1
0 1
0 0
0 0
LUM. 0 1
00
01
11
10
1 1
1 1
0 0
1 1
TOLDO = (HUM.+LUM.)TEMP.
RIEGO = (TEMP.+HUM.)
Figura 1.12.- Ejemplos del mapa de Karnaugh: (a) utilizando trminos producto, y (b) utilizando trminos sumas.
16
F F = AB + AF + BF
Figura 2.1.- Ejemplo de circuito digital junto con sus formas de ondas. En las formas de onda podemos comprobar que la seal de salida F cambiar de valor (cuando sea necesario) despus del retraso de la puerta AND y OR. Otra caracterstica de este circuito que tambin podemos observar es que la salida no depende nicamente de las seales de entrada, A y B, ya que para una misma combinacin de entradas, AB = 10, obtenemos dos valores de salida diferentes, 0 y 1 respectivamente, mostradas en la figura 2.1. Si nos fijamos en las formas de onda, podemos observar que el valor de salida en dicha combinacin de entrada coincide con el valor que tena la seal de salida previamente. Este hecho implica que la salida depende de la historia pasada del circuito, adems de las seales de entrada. A estos sistemas que muestran dependencia con la historia, se les denomina sistemas secuenciales, ms formalmente Un circuito de conmutacin secuencial se define como un circuito bivaluado en el cual, la salida en cualquier instante depende de las entradas en dicho instante y de la historia pasada (o secuencia) de entradas. Estos sistemas estn ms extendidos que los sistemas puramente combinacionales, ya que presenta un aumento considerable en la funcionalidad. La dependencia de esta historia puede ser ventajosa e incluso necesaria para algunas aplicaciones en las que es necesario recordar una determinada situacin. Algunos ejemplos de esta ventaja (necesidad) pueden ser: La creacin de un reloj, que se modelada con la afirmacin la salida ser el valor complementario de su valor anterior, La creacin de un contador, que se modelada con la afirmacin la salida ser el resultado de sumar uno a su valor anterior,...
17
Un sistema de control de un paso a nivel, el cual debe saber cuando el tren est dentro del paso, est entrando, saliendo o est fuera. Por lo tanto, se ve cuando menos interesante incluir la dependencia del tiempo en los sistemas y en especial, en los sistemas digitales. Segn lo visto anteriormente, podemos dar un modelo de un sistema secuencial como el mostrado en la figura 2.2. En dicho modelo podemos observar la lgica combinacional que genera el procesado del sistema, y la realimentacin (a travs de elementos de memoria) que genera la dependencia con la historia del sistema.
Seales de entrada Seales de salida
Figura 2.2.- Modelo genrico de un sistema secuencial. Por lo tanto, los elementos de memoria son los encargados de temporizar la historia del circuito, es decir, indicar el momento en el que cambia la historia. Segn este cambio, podemos clasificar esta temporizacin en tres categoras: Temporizacin por realimentacin directa. Los cambios son considerados instantneamente (despreciando los retrasos de las conexiones). Temporizacin por elementos de retraso. Los cambios son considerados despus de que transcurra un tiempo estipulado, el cual viene determinado por el elemento de retraso utilizado. Temporizacin por elementos de memoria. Los cambios son considerados por un elemento de memoria, el cual suele estar controlado por una seal externa (denominada generalmente reloj). La opcin ms utilizada es la tercera, es decir, la utilizacin de elementos de memoria. Esta situacin es debida a que el control externo es mucho ms verstil que la realimentacin directa o a travs de un elemento de retraso en las cuales no existe ningn control directo sobre el cambio de la historia del sistema. Por lo tanto, vamos a considerar el estudio de los elementos de memoria, cuya importancia viene determinada por el comentario anterior. Adems, dichos elementos son bsicos para la generacin de memoria de semiconductores (muy utilizadas en sistemas informticos).
ELEMENTO DE MEMORIA
M L BI G N IC AC A IO N AL
18
0 1
1 0
0 1
El primer elemento est formado por dos inversores realimentados de tal forma que el valor a la entrada del primer inversor es el mismo que a la salida del segundo inversor, estando de acuerdo con el lazo de realimentacin. Por lo tanto, mientras que el dato de entrada no cambie, el dato de salida permanecer sin cambiar, es decir, quedar almacenado. De igual forma podemos comprobar que una simple lnea de conexin muestra el mismo comportamiento, de tal forma que la tensin es almacenada en el condensador parsito asociado a dicha lnea. La diferencia entre ambos elementos se encuentra en el tiempo que permanece almacenado el dato, caracterstica que se suele denominar duracin de la informacin. En el primer elemento, la informacin permanecer almacenada indefinidamente hasta que el dato de entrada cambie su valor. En cambio, en el segundo caso, de la misma forma que hay un condensador parsito, tambin existe una resistencia parsita, creando un camino de descarga a travs de la resistencia. Como el dato no es regenerado por ningn elemento (como sucede con los inversores en el primer elemento), cuando se sobrepasa un determinado tiempo, que se denomina tiempo de descarga y suele considerarse proporcional al producto RC, la tensin almacenada no es lo suficiente alta como para identificar un nivel lgico o cambia su valor. A este tipo de almacenamiento se denomina almacenamiento dinmico; mientras que cuando el dato permanece durante un tiempo indefinido, el almacenamiento se denomina almacenamiento esttico. En el caso del almacenamiento dinmico, para evitar la prdida de la informacin es necesario volver a almacenar la informacin de forma peridica (antes de superar el tiempo de descarga), lo cual se conoce como ciclo de refresco. Otra propiedad que podemos encontrar en los ejemplos anteriores consiste en un almacenamiento instantneo. Cuando el dato de entrada cambia, el valor almacenado en el elemento de memoria cambia de forma instantnea (despus de que se haya superado el retraso impuesto por el elemento), como podemos ver en la figura 2.4. A esta propiedad se la conoce con el nombre de transparencia, dicindose entonces que estamos considerando un elemento de memoria transparente.
19
Seal de entrada
Seal de salida
Figura 2.4.- Formas de onda correspondiente a un elemento de memoria transparente En contraposicin a este tipo de elementos podemos encontrar elementos de memoria no transparentes. En este tipo de elementos, los cambios correspondientes a los datos almacenados no obedecen directamente a los cambios de los datos de entrada, sino que solamente se producirn cuando lo indique un seal de control. As, los elementos mostrados en la figura 2.5(a) pertenecen a este grupo.
C Seal de entrada
(a)
(b)
Figura 2.5.- (a) Elementos de memoria controlados o no transparentes y (b) su formas de onda. Como podemos ver en la figura 2.5(b), la seal de control C controla un conmutador que permite o no el paso del dato de entrada al resto del elemento. As, mientras C tenga un valor bajo, evitando el paso del dato de entrada, el elemento mantiene almacenado el dato anterior (en el caso de las formas de onda se ha supuesto un nivel bajo). En esta fase de operacin se dice que el elemento es opaco o est en su fase opaca, de tal forma que se pierde toda influencia respecto a los datos de entrada. En cambio, cuando la seal C permite el paso del dato de entrada, el elemento obedece a este ltimo. En esta fase de operacin se dice que el elemento es transparente o est en su fase transparente. En funcin de esta seal de control o de criterios de transparencia, podemos clasificar a estos elementos de memoria en: Elementos sensibles al nivel o latches.- Son los elementos en los que la fase de transparencia se corresponde con el intervalo en el que la seal de control tiene su nivel activo. Elementos de memoria sensibles a la transicin o flip-flops.- Son los elementos en los que la fase de transparencia se corresponde con una transicin de la seal de control,
20
por lo que tambin se dice que carece de esta fase (por ser un instante y no un intervalo) y por tanto de esta propiedad. Este comportamiento se puede apreciar en la figura 2.6. De ambos tipos de elementos, los flipflops son los que muestran una mayor independencia con respecto a los datos de entrada, o lo que es lo mismo, una menor ventana de transparencia. Fase de transparencia
Seal de entrada
Seal de control C
Figura 2.6.- Formas de onda correspondientes a (a) los latches y a (b) los flip-flops. En la figura 2.7 mostramos la simbologa referente a los elementos de memoria.
D C Latch D Q Q D C Flip-flop D Q Q
21
estables y estados inestables. Cuando existe alguna transicin para la cual se llega al mismo estado desde el que se parte, se dice que es un estado estable. Mientras que si no existe ninguna transicin que cumpla la condicin anterior, se dice que es un estado inestable. Las transiciones correspondern a los eventos en las entradas que producirn los cambios de estado en el sentido de la flecha del arco. El cambio de estado se producir si la condicin de entrada coincide con la etiqueta asociada a dicha transicin. Consideremos el ejemplo de una puerta automtica de un garage, como se muestra en la figura 2.8. En dicho sistema se dispone de una puerta y tres sensores: un sensor de posicin del coche (S), un sensor para el mando a distancia (M), y un tope para determinar cuando la puerta ha alcanzado el mximo (puerta completamente abierta) o el mnimo (puerta completamente cerrada).
S M M=0 0xx E0 T T=1 x1x E3 T T=0 x0x S S=0 xx0 Diagrama de estado E2 S S=1 xx1 M M=1 1xx E1 T T=1 x1x E0 E1 E2 E3 000 E0 E1 E3 E3 001 E0 E1 E2 E3 010 E0 E2 E3 E0 T T=0 x0x MTS 011 E0 E2 E2 E0 100 E1 E1 E3 E3 101 E1 E1 E2 E3 110 E1 E2 E3 E0 111 E1 E2 E2 E0
Tabla de estado
En este ejemplo podemos determinar cuatro estados: un estado en el que la puerta permanece cerrada (E0), un estado en el que la puerta est subiendo (E1),
22
un estado en el que la puerta est abierta (E2), un estado en el que la puerta est bajando (E3). Es decir, posibles situaciones en las que se pueda encontrar nuestro sistema. En cambio, las transiciones son los eventos que tienen significado en el sistema y estado. La nomenclatura de estos eventos puede variar segn los diferentes autores: podemos encontrarlos referidos a la seal en s (cuando la seal vale 1 aparecer tal cual, mientras que si vale 0 aparecer complementada); o bien indicando explcitamente su valor (M=0); o bien dando valores segn un orden implcito, el cual ha sido determinado en algn momento). Algunos ejemplos de eventos son: No se ha pulsado el mando a distancia (M = 0). La puerta ha llegado a uno de los topes y el coche est delante de la puerta (T = 1 y S = 1). Debido a la existencia de multitud de mquinas equivalentes, no existe ningn procedimiento sistemtico que se pueda seguir para realizar esta traduccin. Luego la pericia del diseador ser un factor con muy alta influencia en la calidad de la traduccin obtenida. No obstante, existen una serie de guas que se pueden seguir. Entre estas guas podemos encontrar las siguientes: Pasar de una descripcin verbal a una secuencia de entrada/salida. Si se conoce alguna mquina vlida para nuestro sistema, se suele tomar como mquina de partida. Siempre se comienza por un estado conocido; en el caso de que exista un estado inicial, se empezar por l. Para cada estado se asigna una transicin por cada combinacin de entradas, indicando el prximo estado y el valor de las salidas. No hay que temer introducir nuevos estados en caso de duda, ya que durante el proceso de reduccin se eliminarn todos los estados sobrantes. Una vez obtenido el diagrama, se aplica la secuencia de entradas para comprobar que la secuencia de salida es correcta.
23
ciones: en las entradas de las puertas (estado presente) y en las salidas de las puertas (prximo estado). Derivacin de la tabla de transiciones, que ser parecido a una tabla de estados. Asignacin de estados. Obtencin de la tabla y/o diagrama de estados. Veamos esta tarea con un par de ejemplos. En la figura 2.9 mostramos un circuito secuencial con elementos de memoria, el cual se quiere analizar.
Q1 X
D Q
q1
Q2
D Q
F = q2
clk
24
X 00 01 10 11 0 00 10 01 11 1 11 01 10 00 X E0 = 00 E1 = 01 E2 = 10 E3 = 11 E0 E1 E2 E3 0 E0 E2 E1 E3 1 E3 E1 E2 E0
X E0
X E3 X X
q2 q1
Q2 Q1
E1 X
E2
q1
q1
xy E0
xy E1
x x+y+z y z
Figura 2.12.- Tablas de transicin y de estados correspondiente al ejemplo de la figura 2.11 La tarea de sntesis es el proceso contrario, para lo cual debemos seguir los pasos anteriores de forma inversa:
25
Obtencin del diagrama y/o tabla de estados Asignamiento de estados. Para lo cual vamos a utilizar una codificacin one-hot, que consiste en disponer de una seal de estado por cada uno de los estados. Determinacin de las funciones combinaciones de las seales de prximo estado y de salida. Implementacin de las funciones combinacionales anteriores con puertas e insercin de elementos de memoria donde corresponda. Veamos esta tarea con un par de ejemplos. Se desea obtener el circuito secuencial que gobierna la puerta automtica de garage mostrada en la figura 2.8
Como ya se ha comentado, obtener el diagrama de estados no es una tarea metdica sino que depende de la pericia del diseador. El diagrama de estados ya fue obtenido y se mostr en la figura 2.8. Debido a la codificacin one-hot, vamos a tener una seal de estado por cada estado, por lo que las funciones podemos extraerlas directamente del diagrama. La seal de prximo estado vendr determinada por todos los arcos que lleguen al estado en cuestin; mientras que la seal de estado presente vendr determinada por los arcos que salgan del estado, al cual habr que adjuntar la condicin del arco. As, en nuestro ejemplo, las funciones sern las siguientes: E0 = e0M + e3T E1 = e0M + e1T E2 = e1T + e2S E3 = e2S + e3T Podemos comprobar que solamente una de las seales de prximo estado anteriores tomar el valor 1 mientras que el resto sern iguales a 0. Una vez que tenemos las frmulas, las pasamos directamente a circuitos teniendo en cuanta que la seal de prximo estado ser la entrada del elemento de memoria, y la seal de estado presente ser la salida del elemento de memoria correspondiente, segn se muestra en la figura 2.13.
Veamos otro ejemplo. Se dispone de una mquina trituradora, en la cual hay dos sensores de presencia y dos motores de trituracin como se muestra en la FIGURA. Se pretende disear un circuito secuencial que controle los motores de tal forma que: Cuando no haya nada que triturar, los dos motores estn parados. Cuando el tanque est lleno, los dos motores deben funcionar simultneamente. Cuando el tanque est medio lleno, slo funcionar uno de los motores, concretamente el que estaba parado en la ltima vez que se produjo esta misma situacin.
Lo primero que tenemos que hacer es generar el diagrama de estado. Para ello, en primer lugar debemos identificar las posibles situaciones (estados) en los que la mquina se puede encontrar: Est funcionando nicamente el motor 0 (E01), por lo tanto M0=1 y M1=0. Est funcionando nicamente el motor 1 (E11), por lo tanto M0=0 y M1=1.
26
M E0 T D Q
e0
E1
D Q
e1
E2 S
D Q
e2
E3
D Q
e3
clk
S1
S2 M0 M1
27
tenemos que identificar los eventos que tengan sentido en cada uno de los estados. Por ejemplo, si estamos en el estado E00 y el tanque est por la mitad (S1S2), debemos ir al estado E11 (en el que slo funciona el motor que estaba previamente ocioso); si estamos en el estado E11 y el tanque se vaca (S1S2), debemos ir al estado E10 (en el que no funciona ningn motor, pero se indica que el motor ocioso era el 0). Luego, el diagrama de estados correspondiente se muestra en la figura 2.15.
S1S2 S1S2 S1S2 E00 S1S2 S1S2 E10 S1S2 S1S2 E11 S1S2 E01 S1S2 E02 S1S2 E12 S1S2 S1S2
28
S1 S2
E00
e00
E11
e11
E02
e02 M1 e10 M0
E10
E01
e01
E12
e12