Documente Academic
Documente Profesional
Documente Cultură
Titular de captulo
seal digital
TRATAMIENTO
seal digital
seal analgica
ALTAVOZ
Contenido
1.1. Principios de la electrnica digital. 1.2. lgebra de Boole. 1.3. Puertas lgicas. 1.4. Simplificacin de funciones lgicas. 1.5. Familias de los circuitos integrados digitales.
Objetivos
u Conocer los principios de la electrnica digital. u Dominar el lgebra de Boole. u Saber implementar funciones con puertas lgicas. u Saber simplificar funciones lgicas. u Conocer las familias de los circuitos integrados digitales.
Cada uno de los dos dgitos del sistema binario (0 y 1) se denomina bit (binary digit). Para representar estos dos bits, en los circuitos digitales se emplean dos niveles de tensin: l Nivel alto (High): Representa el uno lgico y corresponde al nivel de tensin ms elevado. l Nivel bajo (Low): Representa el cero lgico y corresponde al nivel de tensin ms bajo. A este convenio se le conoce con el nombre de lgica positiva y es el que se utilizar a lo largo de todo el libro. Por el contrario, existe otro convenio conocido como lgica negativa, en el cual el uno lgico se representa por un nivel bajo y el cero lgico por un nivel alto. Las tensiones que se utilizan para representar los ceros y los unos lgicos reciben el nombre de niveles lgicos. Aunque lo ideal sera que un nivel de tensin representara el nivel alto (HIGH) y otro nivel de tensin representara el nivel bajo (LOW), en la realidad no sucede as, ya que un nivel alto puede ser cualquier valor de tensin comprendido entre un mximo y un mnimo que especifica el fabricante y lo mismo sucede con el nivel bajo. El uso de este pequeo margen de tensiones en los niveles lgicos se debe a que los circuitos digitales pueden verse afectados por agentes externos, varindolos ligeramente.
VV H(mx.) H(mx)
HIGH
VV H(mn.) H(min)
Nivel 1
Zona de incertidumbre
VV L(mx.) L(mx)
LOW
VV L(mn.) L(min)
Nivel 0
C
60 50 40 30 20 10
C
seal analgica
60 50 40 30 20 10
Como cada nivel lgico tiene un mximo y un mnimo, existirn cuatro tensiones diferentes denominadas: l VH(mx.): Indica la tensin mxima para el nivel alto. l VH(mn.): Indica la tensin mnima para el nivel alto. l VL(mx.): Indica la tensin mxima para el nivel bajo. l VL(mn.): Indica la tensin mnima para el nivel bajo. De esta forma, se interpretara como uno lgico cualquier tensin comprendida entre VH(mn.) y VH(max.) y como cero lgico a cualquier tensin comprendida entre VL(mn.) y VL(mx.). Pero queda una zona, tal y como muestra la Figura 1.3, entre VL(mx.) y VH(mn.) denominada zona de incertidumbre, ya que una tensin dentro de este rango podra ser interpretada tanto como un uno como un cero. El ancho de este margen depende de las condiciones en las que se encuentre el circuito, tales como: tensin de alimentacin, tecnologa utilizada en la fabricacin, etc.
1 2 3 4 5 6 grfica A
1 2 3 4 5 6 grfica B
ITES-PARANINFO
PULSO POSITIVO
flanco de subida flanco de bajada
PULSO NEGATIVO
flanco de bajada
flanco de subida
Hasta ahora hemos considerado que estos pulsos son ideales. Sin embargo, en un pulso real estos flancos de subida y de bajada no son del todo verticales, sino que transcurre un tiempo desde que la seal pasa de nivel bajo a nivel alto (tr ) y viceversa (tf ). En la Figura 1.6 podemos ver los tiempos que se definen a continuacin: l tr (Time Rising) o tiempo de subida: Es el tiempo que tarda en pasar del 10% al 90% de la seal. La razn de este 10% superior e inferior se debe a la no linealidad de las seales en esta zona. l tf (Time Falling) o tiempo de bajada: El tiempo que tarda en pasar del 90% al 10% de la seal. El motivo de este 10% es el mismo que el anterior. l tw (Time Width) o anchura del pulso: En un pulso real se define como el intervalo de tiempo que transcurre entre el 50% del flanco de subida y el 50% del flanco de bajada.
w t tw
tt w
w
Las caractersticas de una seal digital son: l La frecuencia, que se define como el inverso del periodo (f=1/T), siendo el periodo el tiempo total que dura un tren de impulsos que se repite de forma peridica en el tiempo. l El ciclo de trabajo, que indica el porcentaje de tiempo durante el cual la seal est a nivel alto. En otras palabras, se define como la razn entre el ancho de impulso (tw ) y el periodo (T) de la seal, expresado en tanto por ciento. Ciclo de trabajo (%) = (tw / T) 100 Por ejemplo, una seal del 50% de ciclo de trabajo estar durante medio periodo a nivel alto y el otro medio periodo a nivel bajo. Como se observa en la Figura 1.4, los impulsos estn delimitados por dos lneas verticales denominadas flancos: l Flanco de subida (Rising edge): Es el cambio de nivel bajo a nivel alto. l Flanco de bajada (Falling edge): Es el cambio de nivel alto a nivel bajo. Como muestra la Figura 1.5, en un pulso positivo primero nos encontramos el flanco de subida y luego el de bajada, mientras que en un pulso negativo ocurre al revs.
90% 90% 50% 50% 10% 10%
trr
ttff
ITES-PARANINFO
EJEMPLOS: De octal a decimal: 761(8 = 782 + 681 + 180 = 497(10 De binario a decimal: 101,01(2 = 122 + 021 + 120 + 02-1 + 12-2 = 5,25(10 De hexadecimal a decimal: 3F(16 = 3161 + 15160 = 63(10
LSB 0 13 2
1
6 2 0 3 2 1 1
LSB 2 3
26 8
LSB MSB
26 16 10 1
MSB
A
MSB
...
MSB
LSB
...
MSB
LSB
...
MSB
LSB
Ejemplo 1.2. Conversin de una base decimal con parte fraccionaria a cualquier base.
ITES-PARANINFO
Por el contrario, para convertir un nmero de base binaria a octal, se realiza formando grupos de 3 bits, empezando por el menos significativo (Ejemplo 1.4). Si al realizar las agrupaciones hacen falta dgitos, se rellenan con ceros.
Al igual que antes, para convertir un nmero de base octal a hexadecimal, se debe convertir el nmero octal a binario y, a continuacin, se realizan agrupaciones de 4 bits, empezando por el menos significativo. Para finalizar, se transforma a su dgito equivalente en hexadecimal (Ejemplo 1.8).
Por el contrario, para convertir un nmero de base binaria a hexadecimal, el cambio es directo y se realiza formando grupos de 4 bits, empezando por el menos significativo (Ejemplo 1.6). Si al realizar las agrupaciones hacen falta dgitos, se rellenan con ceros.
Como podemos observar, cada bit tiene un valor significativo diferente, siendo el bit ms significativo el situado ms a la izquierda y denominado MSB (Most Significant Bit). Por el contrario, el bit menos significativo es el situado ms a la derecha y se denomina LSB (Less Significant Bit).
ITES-PARANINFO
El cdigo BCD-AIKEN
Este cdigo no es cclico, ni continuo, pero s ponderado y autocomplementario, por ejemplo, el 5 es autocomplementario con el 4, el 6 con el 3...
Cdigos alfanumricos
En muchas ocasiones no slo se necesitan nmeros, sino tambin cdigos alfanumricos para representar instrucciones, como en el caso de los ordenadores. Los ms utilizados son el ASCII y el ASCII extendido. l ASCII (American Standard Code for Information Interchange), del ingls, cdigo estndar americano para el intercambio de informacin. Este cdigo permite representar nmeros, caracteres alfabticos (minscula y mayscula) y otros smbolos muy utilizados. Para ello, dispone de 128 caracteres diferentes que son representados por un cdigo binario de 7 bits, de los cuales, los 32 primeros son de control y, por tanto, no imprimibles. l ASCII extendido. Este cdigo, adoptado por IBM para su ordenador PC, aade 128 caracteres ms a los del ASCII estndar, tales como, letras griegas, caracteres grficos, etc. Para representarlos utiliza un cdigo binario de 8 bits.
Valor decimal Carcter Valor decimal Carcter Valor decimal Carcter Valor decimal Carcter
El cdigo BCD-5421
Este cdigo ponderado recibe el nombre de 5421 porque si sumamos los pesos que hay sobre los bits que estn a uno, nos indica el valor del nmero en decimal. Este cdigo se utilizaba mucho en las tarjetas perforadas, para introducir nmeros en un sistema. Por ejemplo, el 9 es 1100, los unos recaen sobre el 5 y el 4 y, si los sumamos, obtenemos el nmero 9. Los nmeros mayores que 5 tienen el dgito de peso 5 a uno y los menores a cero.
El cdigo BCD-EXCESO 3
Este cdigo es autocomplementario y, como su nombre indica, es idntico al BCD, pero sumndole tres a cada uno de los nmeros.
El cdigo GRAY
Es un cdigo continuo, cclico y no ponderado, en el que cada combinacin se diferencia de la siguiente nicamente en un bit. Esta importante propiedad hace que sea utilizado en aplicaciones como encoders (codificadores de posicin angular).
El cdigo Johnson
Es un cdigo continuo y cclico, los nmeros que podemos codificar son 2n, donde n es el nmero de bits del cdigo. Por
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
Espacio ! # $ % & ( ) * + / 0 1 2 3 4
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
@ A B C D E F G H I J K L M N O P Q R S T
96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116
` a b c d e f g h i j k l m n o p q r s t
ITES-PARANINFO
Valor decimal
Carcter
Valor decimal
Carcter
Valor decimal
Carcter
Valor decimal
Carcter
Multiplicacin binaria
Las reglas bsicas para multiplicar dgitos binarios son: 00=0 01=0 10=0 11=1
21 22 23 24 25 26 27 28 29 30 31
53 54 55 56 57 58 59 60 61 62 63
5 6 7 8 9 : ; < = > ?
85 86 87 88 89 90 91 92 93 94 95
U V W X Y Z [ \ ] ^ _
117 118 119 120 121 122 123 124 125 126 127
u v w x y z { } ~ DEL
x1 0 1
La multiplicacin binaria Figura 1.9. Multiplicacin binaria. se realiza de igual forma que la decimal. Para ello, se realizan los productos parciales, desplazando cada producto parcial una posicin hacia la izquierda y, para finalizar, se suman los productos parciales. La Figura 1.9 muestra un ejemplo.
Suma binaria
Las reglas bsicas para sumar dgitos binarios son: 0 + 0 = 0 con acarreo 0 0 + 1 = 1 con acarreo 0 1 + 0 = 1 con acarreo 0 1 + 1 = 0 con acarreo 1
1
acarreo acarreo
Por ejemplo, si queremos sumar 010 (2) con 010 (2), como se observa en la Figura 1.7, la suma de la columna de la derecha (0 + 0 = 0) es cero sin acarreo. En la columna del medio (1 + 1 = 0) es cero y hay acarreo. Por ltimo, en la columna de la izquierda (1 + 0 + 0 = 1) la suma es uno y no hay acarreo. Por lo que el resultado es: 100 (4).
Resta binaria
Las reglas bsicas para restar dgitos binarios son: 0-0=0 0-1=1 1-0=1 1-1=0 con acarreo 0 con acarreo 1 negativo con acarreo 0 con acarreo 0
-1
acarreo acarreo
1001 0011
N Positivo
Por ejemplo, si queremos restar 100 (4) con 010 (2), como ilustra la Figura 1.8, la resta de la columna de la derecha (0 0=0) es cero sin acarreo. En la columna del medio (0 - 1= 1) es uno y se genera un acarreo negativo. Por ltimo, en la columna de la izquierda (-1 + 1 - 0= 0) la resta es cero y no hay acarreo. Por lo que el resultado es: 010 (2).
ITES-PARANINFO
C1
Como es de suponer, si volvemos a realizar el complemento a 2 o el complemento a 1 (segn el caso) de un nmero negativo, obtenemos el mismo nmero pero positivo.
Como se puede observar, existen diferencias entre ambos sistemas: l El sistema del complemento a 1 tiene dos valores para el 0 (0000 y 1111). As pues, si tenemos 4 bits, podremos representar los nmeros comprendidos entre el +7 y el -7, ya que: 24 = 16 - 2 (hay dos ceros). A este cdigo se le denomina simtrico, porque existe el mismo nmero de positivos que de negativos. l En el sistema del complemento a 2, el cero nicamente tiene un valor (0000 para 4 bits), por lo que es un cdigo asimtrico. Es decir, el nmero de valores positivos es diferente al de negativos. Por ejemplo, para el caso de 4 bits, con este sistema podremos representar los nmeros comprendidos entre el +7 y el -8. En la Tabla 1.4 se muestra un ejemplo de ambos cdigos.
DECIMAL -2 -1 0 1 2 3 C1 1101 1110 0000/1111 0001 0010 0011 C2 1110 1111 0000 0001 0010 0011
10
ITES-PARANINFO
l Postulados del lgebra de Boole: a) Suma a+0=a a+1=1 a+a=a a+a=1 b) Multiplicacin a0=0 a1=a aa=a aa=0 c) Complementacin o inversin = a=a l Teoremas y leyes booleanas: a) Ley de absorcin a + (ab)= a Demostracin: a + (ab)= a(b+1)= a1= a a (a+b)= a Demostracin: a (a+b)= (aa) + (ab)= a +(ab)= a b) Leyes de transposicin (ab)+(ac) = (a+c) (a+b) (a+b)( a+c) = (ac) + (ab) (ab)+(ab)= (a+b) (a+b) ( a+ b)(a+b)= (ab) + (ab)
(a+b)(a+c)= a+(bc) Demostracin: (aa)+(ac)+(ab)+(bc)= = a(1+c)+(ab)+(bc)= a+(ab)+(bc)= a+(bc) c) Teoremas de DeMorgan: Son tiles a la hora de realizar simplificaciones. a b=a+b a + b=ab
Una forma cannica de una funcin lgica es el producto o la suma en la cual aparecen todas las variables en su forma directa o negada de la expresin. Al primero de ellos, producto cannico, se le denomina minterm y a la suma cannica se le denomina maxterm.
MINTERM
Se llama minterm o primera forma cannica a la funcin escrita en forma de suma de productos que contiene todas las variables de la expresin (negadas o no) en todos los productos. Por ejemplo, la funcin F1 no est en su forma cannica, mientras que la funcin F2 s lo est: l F1= (abc)+(ab)+(ab) no est en su forma cannica, ya que no aparece la variable c en todos los trminos. l F2= (abc)+(abc) est en su forma cannica, ya que todas las variables aparecen en todos los trminos. A cada trmino se le llama minterm; por ejemplo, la funcin F2 tiene dos.
ITES-PARANINFO
11
MAXTERM
Se llama maxterm o segunda forma cannica a la funcin escrita en forma de producto de sumas que contiene en las sumas todas las variables de la expresin (negadas o no). Por ejemplo, la funcin F1 no est en su forma cannica, mientras que la funcin F2 s lo est: l F1= (a+b+c)( a+b)(a+b) no est en su forma canni-
abc 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1
F 0 0 0 1 0 0 0 1
donde t representa a la variable que falta en el trmino. Al realizar esta operacin no alteramos la funcin, ya que estamos -= 0). sumndola cero (t t Por ejemplo, la funcin: F=b(a+b) no se encuentra en su forma cannica de producto de sumas, ya que en el primer trmino falta la variable a. As que, para obtener su forma cannica, debemos sumar al primer trmino (aa), quedando la funcin de la siguiente forma: F = (b+(aa)) (a+b)= (a+b)( a+b)(a+b)
ca, ya que no aparece la variable c en todos los trminos. l F2= (a+b+c)( a+b+c) est en su forma cannica, ya que todas las variables aparecen en todos los trminos. A cada trmino se le llama maxterm; por ejemplo, la funcin F2 tiene dos. Para pasar una funcin a su forma cannica se le suma (tt ),
ab 0 0 1 1 0 1 0 1
F 0 1 0 1
12
ITES-PARANINFO
una de las combinaciones de las entradas, se trata de una indeterminacin. Una indeterminacin indica que con esa combinacin de entradas da igual que a la salida haya un cero o un uno, ya que por alguna circunstancia nunca se podr dar esa combinacin de entradas. Estas indeterminaciones son muy tiles a la hora de simplificar mediante los mapas de Karnaugh (Apartado 1.4.1).
F= (a@b@c)+(a@b@c)+(a@b@c)+(a@b@c)
F= (a+b+c)@(a+b+c)@(a+b+c)
ITES-PARANINFO
13
Expresin booleana
Y=X
Cronograma
Tabla de verdad
X Y 0 1 1 0
X Y
Figura 1.17. Puerta NOT.
Expresin booleana
X Z
X Z
&
Y = XZ
Cronograma
Tabla de verdad
X 0 0 1 1
Z 0 1 0 1
Y 1 1 1 0
X Z Y
Figura 1.20. Puerta NAND.
Expresin booleana
X Z
X Z
&
Y = XZ
Cronograma
Tabla de verdad
X 0 0 1 1
Z 0 1 0 1
Y 0 0 0 1
X Z Y
Figura 1.18. Puerta AND.
Expresin booleana
X Z
Y X Z
Tabla de verdad
>1
Y = X+Z
Cronograma
Puerta OR (O)
La puerta OR tiene dos o ms entradas y una nica salida. Realiza la operacin que se conoce como suma lgica. Se la denomina tambin puerta unin: la salida se pondr a nivel alto cuando lo est al menos una de sus entradas. Dicho de otra forma, la salida Y estar a nivel alto cuando la variable X o Z lo estn.
Smbolo lgico
Estndar IEC
X 0 0 1 1
Z 0 1 0 1
Y 1 0 0 0
X Z Y
Expresin booleana
X Z
Y X Z
Tabla de verdad
>1
Y = X+Z
Puerta EXCLUSIVE OR (O EXCLUSIVA)
Cronograma
X 0 0 1 1
Z 0 1 0 1
Y 0 1 1 1
X Z Y
Figura 1.19. Puerta OR.
Aunque esta puerta puede implementarse a partir de las puertas bsicas anteriores, como se utiliza en muchas aplicaciones, se trata como una nica puerta con su propio smbolo lgico. En este tipo de puertas, la salida tendr un nivel lgico alto cuando una de sus entradas est a nivel alto y la otra a nivel bajo, y tendr un nivel bajo cuando ambas estn al mismo nivel lgico.
14
ITES-PARANINFO
Expresin booleana
X Z
Y X Z
Tabla de verdad
=1
Y=X+Z
Cronograma
X 0 0 1 1
Z 0 1 0 1
Y 0 1 1 0
X Z Y
Expresin booleana
X Z
Y X Z
Tabla de verdad
Y=X+Z
Cronograma
La puerta bffer anterior no cambia el valor de la entrada; slo da ms corriente. Sin embargo, existen otras puertas, denominadas triestado, que tienen una segunda entrada para provocar que la puerta entre en un tercer estado denominado estado de alta impedancia (en la Figura 1.26 podemos ver su smbolo lgico).
X 0 0 1 1
Z 0 1 0 1
Y 1 0 0 1
X Z Y
X ENABLE
Cuando la entrada ENABLE est a cero, la salida sigue a la entrada. Por el contrario, si ENABLE est a uno, la salida no sigue a la entrada y se pone como una resistencia infinita o circuito abierto (Hi-Z). La Tabla 1.7 muestra su tabla de verdad.
ENTRADA (X) 0 1 X ENABLE 0 0 1 SALIDA (Y) 0 1 Hi-Z
FUNCIN
La X de la columna de la entrada indica que, indistintamente de lo que haya en dicha entrada, la salida es siempre la misma. Aparte de bfferes triestado, existen puertas inversoras, NAND, etc. La utilidad de este tipo de puertas triestado reside en que podemos conectar sus salidas entre s, siempre y cuando estn todas menos una en alta impedancia. Ms adelante veremos un ejemplo de esta aplicacin, como compartir un bus (conjunto de lneas) por varias puertas o registros.
ITES-PARANINFO
15
Las variables de la funcin se reparten entre los dos ejes de coordenadas tomando como referencia el vrtice superior izquierdo. En cada una de las celdas se hace coincidir cada una de las posibles combinaciones que pueden realizarse con las variables de cada eje. El orden de colocacin de las combinaciones no es aleatorio, sino que se debe realizar de forma que entre una y otra slo cambie el valor de un bit. Una vez construida la tabla, se rellena completamente de unos y ceros. Para ello la funcin estar en su forma cannica, por lo que se pueden dar dos casos:
a 0 0 1 1
a b
b 0 1 0 1
F 0 1 0 1
a@b F=(a@b)+(a@b) a @b
2 VARIABLES
3 VARIABLES
0 1 0 ab ab 1 ab ab
0 1 0 0 0 1 1 1
Funcin F= b simplificada
4 VARIABLES
ab cd 00 01 11 10 00 0 0 0 0 01 1 1 1 0 11 0 0 1 0 10 0 0 0 0
F=(a@c@d)+(a@b@d) Funcin simplificada
ab cd 00 01 11 10 00 abcd abcd abcd abcd 01 abcd abcd abcd abcd 11 abcd abcd abcd abcd 10 abcd abcd abcd abcd
Figura 1.27. Correspondencia entre trminos.
16
ITES-PARANINFO
ab cd 00 01 11 10 00 0 0 1 0 01 1 1 1 1 11 1 1 1 1 10 1 0 1 1
F=(b+c+d)@(a+b+d) Funcin simplificada
Figura 1.30. Simplificacin desde una funcin cannica de producto de sumas.
Una vez relleno todo el mapa, se agrupan todos los ceros en bloques de 2, 4, 8..., al igual que en la suma de productos. En el caso de que se d la tabla de verdad y aparezcan trminos indiferentes X, podrn formar parte de los grupos de ceros si con ello conseguimos agrupar ms. Los trminos de la funcin simplificada se obtienen representando las variables de forma directa cuando el valor es un cero y de forma negada, cuando es un uno. En la Figura 1.30 podemos ver un ejemplo.
ITES-PARANINFO
17
Familias lgicas
Bipolar
TTL ECL I2L
MOS
pMOS nMOS CMOS
Figura 1.31. Familias lgicas.
BiCMOS
74 LS XXX
Tipo de chip Tecnologa Serie Figura 1.32. Identificacin de un chip TTL.
Las dos primeras cifras indican la serie. En el caso de la TTL existen dos: l 74 para la serie comercial estndar. Su funcionamiento est garantizado para temperaturas entre 0 y 70 C. l 54 para la serie militar, que presenta prcticamente las mismas caractersticas que la serie 74. Su diferencia radica fundamentalmente en la temperatura de funcionamiento que, en este caso, est comprendida entre -55 y 125 C. Su precio es ms elevado que el de la serie 74. Las letras siguientes que aparecen en el circuito integrado indican la tecnologa utilizada. En la familia TTL son: l Serie 54XXX/74XXX: Pertenece a la serie TTL estndar. Esta serie disipa 10 mW por puerta con un tiempo de propagacin de 10 ns. l Serie 54LXXX/74LXXX (TTL Low-power): Esta serie obtiene un menor consumo (1 mW por puerta), pero su tiempo de propagacin es mucho mayor, de unos 33 ns. l Serie 54SXXX/74SXXX (TTL Schottky): Mediante la incorporacin de un componente denominado diodo Schottky, mejora el tiempo de propagacin, reducin-
18
ITES-PARANINFO
BiCMOS (Bipolar-CMOS)
Esta tecnologa/familia lgica (introducida comercialmente en 1985) combina en un nico circuito integrado la tecnologa bipolar y la CMOS. Combinando estas dos tecnologas, BiCMOS ofrece la baja potencia de disipacin de la CMOS, la elevada velocidad de la bipolar y la capacidad de suministrar una corriente mayor. Como contrapartida, la BiCMOS tiene un alto coste de fabricacin, debido a la complejidad de estos dispositivos. Las series ms utilizadas en la familia lgica BiCMOS son: Serie 54ABTXXX/74ABTXXX (Advanced BiCMOS Technology): Su tensin de alimentacin es de 5 V, con un tiempo de propagacin inferior a los 5 ns y un consumo que ronda los 0,5 mW por puerta. Serie 54LVTXXX/74LVTXXX (Low Voltage BiCMOS Technology): Reduce la tensin de alimentacin a 3,3 V, aunque sus entradas y salidas toleran 5 V, lo que hace que sea compatible con la familia TTL. Esta serie reduce el tiempo de propagacin a 3,5 ns (un 24% ms rpida que la ABT) y con consumo inferior a los 330 W por puerta. Serie 54ALVTXXX/74ALVTXXX (Advanced Low Voltage BiCMOS Technology): Esta serie puede alimentarse tanto a 3,3 V como a 2,5 V, aunque sus entradas y salidas toleran 5 V, lo que la hace compatible con la familia TTL. El tiempo mximo de propagacin es de 2,5 ns a 3,3 V y de 3,5 ns a 2,5 V. Alimentada a 2,5 V tambin disipa menos de 330 W por puerta. A modo de resumen, la Figura 1.33 muestra la posicin relativa de las diferentes familias lgicas en funcin de los tiempos de propagacin y la potencia disipada.
ITES-PARANINFO
19
IIL VIL
IOH VOH
Vcc
IIH VIH
IOL VOL
Una vez vistos los datos que el fabricante nos suministra, podemos ver las diferencias entre la familia TTL y CMOS en la Tabla 1.8.
TTL ENTRADA SALIDA VOHmx VOHmn VOLmx VOLmn = = = = 5V 2,4V 0,4V 0V CMOS para VDD = 5 V ENTRADA VIHmx VIHmn VILmx VILmn = = = = 5V 3,5V 1,5V 0V SALIDA VOHmx VOHmn VOLmx VOLmn = = = = 5V 4,9V 0,1V 0V
= = = =
5V 2V 0,8V 0V
Como se puede apreciar en la Tabla 1.8, una puerta TTL no puede atacar directamente a una puerta CMOS. Esto es debido a que el margen de tensin de salida de la puerta TTL a nivel alto puede oscilar entre 2,4 y 5 V y las puertas CMOS necesitan como mnimo 3,5 V para que se interprete como un nivel alto. Sin embargo, existen familias especficas de HCMOS que son compatibles con este montaje (74HCTXX). Por el contrario, una puerta CMOS s puede atacar directamente a una TTL.
20
ITES-PARANINFO
TTL
VOHmx= 5V
SALIDA
ENTRADA
margen de ruido a nivel alto
IOL VOL
IIL IIL
HIGH
VOHmn= 2,4V
HIGH
VIHmn= 2V
VOH IIH
LOW
VILmn= 0V
LOW
VILmx= 0,8V
VILmn= 0V
VN(H)= VOHmn - VIHmn= 2,4V - 2V= 0,4V VN(L)= VILmx - VOLmx= 0,8V - 0,4V= 0,4V
CMOS
VOHmx= 5V
SALIDA
ENTRADA
VIHmx= 5V
HIGH
VOHmn= 4,9V
margen de ruido a nivel alto
HIGH
VIHmn= 3,5V
INVERSOR IDEAL
VOLmx= 0,1V
VILmx= 1,5V
X X Y
Y
Cronograma
LOW
VILmn= 0V
LOW
VILmn= 0V
X Y
50%
50%
50%
50%
VN(H)= VOHmn - VIHmn= 4,9V - 3,5V= 1,4V VN(L)= VILmx - VOLmx= 1,5V - 0,1V= 1,4V
Figura 1.35. Clculo del margen de ruido de las familias TTL y CMOS.
tPHL
tPLH
Observando la Figura 1.37, podemos definir dos tiempos: l tPHL: Tiempo que tarda la salida en pasar de nivel alto a nivel bajo. l tPLH: Tiempo que tarda la salida en pasar de nivel bajo a nivel alto. As pues, el tiempo de propagacin vendr dado por la siguiente expresin: (tPLH + t PHL) tp= 2
1.5.6. FAN-OUT
Cuando conectamos a la salida de una puerta lgica 1 la entrada de otra puerta lgica 2, sta absorbe una corriente cuando la salida de la puerta lgica 1 est a nivel alto. Esta absorcin de corriente por parte de la puerta lgica 2 provoca que el nivel lgico de la salida de la puerta lgica 1 baje ligeramente. Por el contrario, si la salida de la puerta lgica 1 se encuentra a nivel bajo, la entrada de la puerta lgica 2 suministra corriente, que es absorbida por la salida de la primera puerta, provocando que suba ligeramente el nivel lgico de la salida. Si aumentamos el nmero de entradas que conectamos a la salida de la puerta lgica 1, el efecto aumenta, llegando un momento en el que el nivel alto o el nivel bajo entra en la zona de incertidumbre y aparece el correspondiente peligro de que los circuitos no lo interpreten correctamente. As pues, se puede definir el fan-out como el nmero de entradas que puede atacar una puerta lgica, manteniendo el nivel de la salida. Es decir, la mxima carga que una puerta puede soportar. Al igual que el margen de ruido, hay fan-out a nivel alto y a nivel bajo. l FAN-OUT a nivel alto: Viene dado por la expresin: F.O.(H)=IOH/IIH. Observando la Figura 1.36 se puede deducir fcilmente su clculo. l FAN-OUT a nivel bajo: Viene dado por la expresin: F.O.(L)=IOL/IIL. En la Figura 1.36 se puede ver cmo se calcula.
ITES-PARANINFO
21
Todos los encapsulados de circuito integrado tienen un sistema estndar para numerar los pines. En la parte superior del encapsulado, se designa el pin 1 mediante un identificador que puede ser un pequeo punto, una muesca o una esquina biselada. Empezando por el pin 1, el nmero de pin aumenta a medida que se gira siguiendo el sentido contrario a las agujas del reloj. La Figura 1.40 ilustra la numeracin de los pines para el formato DIP o SOIC de 14 pines y PLCC de 20 pines.
Pin 1
Muesca
3 1 2 3 4 5 6 7 14 13 12 11 10 9 8 4
Pin 1
19 18
pads vcc
8 9 13
14
gnd
Figura 1.38. Estructura de un Circuito Integrado.
22
ITES-PARANINFO
&
B
Ejercicios prcticos
ENTRENADOR H L H L A F2 B R LED ENTRENADOR
S R LED
L L H H
Tabla 1.10. Resultados de los ensayos 2 y 3. Figura 1.41. Conexin del circuito 1.
A L L L L H H H H B L L H H L L H H C L H L H L H L H S
Una vez finalizado el ensayo de ambos circuitos, observar los resultados F1 y F2, identificar qu tienen en comn y explicar por qu.
A B S
Figura 1.44. Conexin y cronograma del circuito 4.
ITES-PARANINFO
23
&
Autoevaluacin
1.5 La forma cannica de suma de productos se denomina...
a) Minterm. b) Maxterm. c) Ninguna de las anteriores.
&
37,4(8 175,1(10
s Ejercicios propuesto
1.6 Convertir los siguientes nmeros positivos a negativos en C1 y C2: 01010(2
01101(2
01110(2
01111(2
01001(2
1.9 Calcular el fan-out y el margen de ruido de una puerIIHmx = 40 A IILmx = -1,6 mA VILmx = 1,5 V VIHmn = 3,5 V
24
ITES-PARANINFO
A A B B C C S S
Figura 1.46.
1.14 A partir de la tabla de verdad obtenida en el ejercicio anterior, disear un circuito lo ms reducido posible que lo implemente. lgica de la serie ALS alimentada a 5 V y con las siguientes caractersticas: ICCH = 250 A ICCL = 230 A ICCT = 5 nA
A B C D E
Figura 1.45.
ITES-PARANINFO
25
Captulo
Titular de captulo
Sistemas combinacionales
Introduccin
En el Captulo 1 hemos estudiado las puertas lgicas como elementos individuales que realizan una operacin lgica bsica. Con el uso de estas puertas lgicas hemos sido capaces de desarrollar funciones booleanas que generan una salida. Dicha salida tomar uno u otro estado lgico dependiendo del valor de las entradas. A este tipo de circuitos, en los que con una misma combinacin de entrada obtenemos a la salida siempre el mismo valor, se les denomina circuitos lgicos combinacionales. Como hemos mencionado, la implementacin de las funciones booleanas se realiza mediante puertas lgicas, pero en muchos casos estos circuitos se repiten tanto que los fabricantes los comercializan integrado todo en un nico chip. En este captulo vamos a estudiar los circuitos combinacionales MSI (Medium Scale Integration) o escala media de integracin, capaces de contener en su interior entre 10 y 100 puertas lgicas. Estos circuitos combinacionales se clasifican segn la funcin que desempean en los siguientes grupos: u Circuitos de comunicacin: Se utilizan para la transmisin y manipulacin de las seales digitales. En este captulo se tratarn: - Multiplexores y demultiplexores. - Codificadores y decodificadores. - Generadores y detectores de paridad. u Circuitos aritmticos: Realizan operaciones aritmticas con los datos binarios que reciben. En este captulo se tratarn: - Comparadores binarios. - Sumadores. - Restadores.
Contenido
2.1. Convenios para las entradas, salidas... 2.2. Multiplexores. 2.3. Codificadores. 2.4. Decodificadores. 2.5. Demultiplexores. 2.6. Generadores y detectores de paridad. 2.7. Comparadores binarios. 2.8. Circuitos aritmticos.
Objetivos
u Conocer los circuitos combinacionales fundamentales. u Saber disear circuitos combinacionales. u Saber realizar operaciones con circuitos combinacionales.
Sistemas combinacionales
l l l l
n entradas de datos. Una nica salida. p entradas de control. Una o varias entradas de habilitacin o seleccin.
El nmero de entradas de datos (n) viene dado por la siguiente ecuacin: n= 2p El funcionamiento de un multiplexor es el siguiente: el circuito canaliza la informacin de una de las entradas de datos por la salida. Para indicar cul de las entradas de datos deseamos canalizar por la salida, lo hacemos mediante las lneas de control. Todo esto es posible siempre y cuando est activada la entrada de habilitacin (enable). En caso contrario el multiplexor no funcionara, mostrando siempre a la salida el mismo nivel lgico, independientemente del valor de las entradas de datos y de las entradas de control. Su funcionamiento se puede comparar a un conmutador de mltiples entradas y una nica salida que se controla con las lneas de control. En la Figura 2.2 se puede observar el funcionamiento, la tabla de verdad y la implementacin con puertas lgicas de un multiplexor de 4 entradas.
MUX 4:1
I0 I1 I2 I3 Z
Tabla de verdad
Seleccin Validacin Entradas Salida
S 1 S0
E 0 1 1 1 1
I3 I2 I 1 I 0 XXXX X X X I0 X X I1 X X I2X X I3 X X X
Z L I0 I1 I2 I3
Salida
X 0 0 1 1
X 0 1 0 1
E S 0 S1
E I0
S0 S1
I1
S0 S1
Z
S0 S1
I2
E0 E1 E2 E3
Circuito Combinacional
I3
S0 S1
Z= E (S 0 S 1 I 0 + S 0 S 1 I 1 + S 0 S 1 I 2 + S0 S 1 I3 )
2.2 Multiplexores
Son circuitos combinacionales que poseen las siguientes entradas y salidas:
Donde n indica el nmero de entradas y z el nmero de salidas; as, por ejemplo, el circuito integrado XX152 posee un multiplexor de 8:1, mientras que el XX150 incluye un multiplexor de 16:1. Tambin existen circuitos comerciales que en lugar de integrar un nico multiplexor integran varios.
28
ITES-PARANINFO
Sistemas combinacionales
ste es el caso del XX153, que en su interior tiene un doble multiplexor de 4:1. En este circuito, las lneas de control son comunes a ambos multiplexores, teniendo cada multiplexor sus entradas de datos y salida independientes. Pero existe un problema: el multiplexor de mayor capacidad fabricado tiene 16 lneas de entrada de datos, por lo que, si necesitamos un multiplexor mayor, deberemos interconectar varios. Por ejemplo, si disponemos nicamente de multiplexores con ocho entradas de datos y necesitamos un multiplexor de 32:1, para construirlo necesitaramos cinco multiplexores de este tipo. Cuatro de ellos se utilizaran para obtener las 32 entradas de datos, teniendo en comn las lneas de menor peso de las entradas de control. Las salidas de estos cuatro multiplexores se llevaran a las entradas del quinto multiplexor, el cual tendra conectado en sus entradas de seleccin las lneas de control de mayor peso. Por otro lado, todas las entradas de habilitacin estaran conectadas entre s, para que se active o desactive todo el conjunto. El resto de las lneas de entrada de datos y de control que no se utilizan se conectaran a masa (nivel bajo). Es muy importante, en un circuito digital, no dejar una entrada al aire (sin conectar), ya que si se produce un ruido podra alterar el valor de esa entrada y el circuito no funcionaria correctamente. La Figura 2.3 muestra cmo quedara el conexionado.
I0 I1 I2 I3 I4 I5 I6 I7 I0 I1 I2 I3 Z I4 I5 I6 I7S 0 S 1 S 2
Su funcionamiento sera el siguiente: Si introducimos por las lneas de control la combinacin: S4, S3, S2 y S0=0 y S1=1. Con las tres lneas de menor peso de las entradas de control seleccionaramos la entrada 2 de datos de los cuatro primeros multiplexores. A continuacin, las dos lneas de control de mayor peso elegirn la entrada 0 del quinto multiplexor, obteniendo de esta forma a la salida el dato deseado. En la implementacin de la Figura 2.4 podemos observar el proceso de seleccin.
I0 I1 I2 I3 I4 I5 I6 I7 I0 I1 I2 I3 I4 I5 I6 I7S
S1 S 2
I0 I1 I2 I3 I4 I5 I6 I7S 0 S 1 S 2
I0 I1 I2 I3 I4 I5 I6 I7S 0 S 1 S 2
MUX 8:1
I0 I1 I2 I3 I4 I5 I6 I7S
S1 S 2
MUX 8:1
I0 I1 I2 I3 Z I4 I5 I6 I7S 0 S 1 S 2
I0 I1 I2 I3 Z I4 I5 I6 I7S 0 S 1 S 2
MUX 8:1
I0 I1 I2 I3 I4 I5 I6 I7S
I0 I1 I2 I3 I4 I5 I6 I7S 0 S 1 S 2
MUX 8:1
Vcc
Figura 2.4. Seleccin de una lnea.
S1 S 2
I0 I1 I2 I3 Z I4 I5 I6 I7S 0 S 1 S 2
MUX 8:1
ITES-PARANINFO
29
Sistemas combinacionales
Para implementar una funcin mediante multiplexores, sta primero debe estar en su forma cannica de suma de productos. Una vez obtenida, conectamos las variables a las entradas de control y asignamos a cada entrada de datos el nivel lgico requerido por la tabla de verdad. Por ejemplo, si tenemos la funcin: F = (ab)+(ab), la funcin se hace uno cuando (ab)=1 o (ab)=1, por lo que la entrada de datos 1 (seleccionada por 01) y la entrada de datos 3 (seleccionada por 11) se conectan a un nivel alto. Para terminar, se conectan el resto de las entradas que no hacen uno a la funcin a nivel bajo. En la Figura 2.5 podemos ver cmo quedaran conexionadas.
I0 I1 I2 I3 Z I4 I5 I6 I7S 0 S 1 S 2
Vcc Vcc
Salida
a b c
Figura 2.6. Implementacin de una funcin de nmero de entradas de control igual al nmero de variables menos uno.
I0
Vcc Vcc
I1 Z I2 I3 S0 S 1 F
2.3 Codificadores
Un codificador es un circuito digital que se encarga de transformar un determinado cdigo, ya sea decimal u octal, a binario natural o BCD. Estos circuitos combinacionales poseen las siguientes entradas y salidas: l M entradas de datos. l N salidas de datos. l Una entrada de habilitacin o seleccin. El nmero de entradas de datos (N) viene dado por la siguiente ecuacin: M 2N Existen dos tipos de codificadores:
a b
Figura 2.5. Implementacin de una funcin de nmero de variables igual al nmero de entradas de control.
l El nmero de entradas de control del multiplexor es igual al nmero de variables menos uno. En este caso, una vez obtenida la funcin en su forma cannica de suma de productos, encontramos que n entradas de control = n variables-1. Para su realizacin, conectamos todas las variables menos una a las entradas de control. La variable sobrante se conecta de forma directa o negada segn sea requerido a las entradas del multiplexor. Por ejemplo, si tenemos un multiplexor con tres lneas de control y tenemos que implementar la funcin: F= (abcd) + (abcd)+(abcd); conectamos directamente a las entradas de control las variables a, b y c y observamos que la funcin se - d)=1 hace uno cuando (abcd)=1 o (abc o (abcd)=1. En el primer y segundo trmino se selecciona la misma entrada (011), pero la variable d en una est negada y en la otra sin negar. Lo que significa que, indiferentemente del valor que tome d, si a=0, b=1 y c=1 la funcin se hace uno, por lo que se conectar directamente la entrada 2 a un nivel alto. Por otro lado, el tercer trmino selecciona la entrada 7 (111) y nicamente hace uno a la funcin cuando d toma el valor cero, por lo que se conectar a la entrada 7 la variable d negada. De esta forma, si a=1, b=1 y c=1, seleccionar la entrada 7 y el valor del trmino pasar a depender de la variable d. Si d=1, entonces, como est negada, sera cero y no cumplira el trmino. Por el contrario, si d=0, negada es 1 y s cumplira el trmino y, por tanto, la funcin. Para finalizar el montaje, se conectan el resto de las entradas a nivel bajo. En la Figura 2.6 podemos ver cmo quedaran conexionadas.
Vcc Vcc
I0 I1 I2 I3 I4 I5 I6 I7
Z0 Z1 Z2 E
0 1 1 Salidas
Vcc Vcc
Figura 2.7. Codificador sin prioridad de ocho entradas.
30
ITES-PARANINFO
Sistemas combinacionales
binario natural y se activar una nica salida. Por tanto, si el decodificador posee n entradas, el nmero de salidas vendr dado por la siguiente ecuacin: Salidas < 2n En la Figura 2.9 se ilustra su tabla de verdad, as como su funcionamiento:
E
0 1 1 1 1 1 1 1 1
I7 I6 I5 I4 I3 I2 I 1 I 0
X X X X X XX X 0 0 0 0 0 00 1 0 0 0 0 0 01 0 0 0 0 0 0 10 0 0 0 0 0 1 00 0 0 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 00 00 00 00 0 0 0 0
Z 2 Z1 Z 0
0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1
0 Entradas en binario 1 1
I0 I1 I2 E
Z0 Z1 Z2 Z3 Z4 Z5 Z6 Z7
0 0 0 0 Salidas 0 en decimal 0 1 0
Vcc
E
0 1 1 1 1 1 1 1 1
I2 I1 I0
XXX 000 001 010 011 1 1 1 1 0 0 1 1 0 1 0 1
Z7 Z6 Z5 Z4 Z3 Z2 Z1 Z0
0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0
Vcc Vcc
I2 I3
E
0 1 1 1 1
I3 I2 I1 I0
XXXX 0001 001X 0 1 XX 1 XXX
Z 1 Z0
0 0 0 1 1 0 0 1 0 1
2.4 Decodificadores
Este circuito acta de forma inversa al codificador. Es decir, por las entradas recibir informacin codificada en
ITES-PARANINFO
31
Sistemas combinacionales
Vcc salidas
a b c d e f g
punto decimal
entradas en binario
decodificador excitador
R display
Figura 2.10. Conexin de un decodificador excitador a un display.
l Displays de ctodo comn: En esta configuracin, el ctodo de todos los LEDs est unido al terminal comn, y los nodos a cada una de las salidas del decodificador activo a nivel alto. Al igual que en la configuracin anterior, la unin entre el display y el decodificador se realiza a travs de una resistencia limitadora. Como ilustra la Figura 2.13, slo se iluminarn aquellos segmentos que estn con un nivel alto.
a f
g
punto decimal
b a
g f
alimentacin
e d
punto decimal
punto decimal
Como existen circuitos activos a nivel bajo y a nivel alto, existirn diferentes configuraciones de displays: l Displays de nodo comn: Como su nombre indica, el nodo de todos los LEDs que forman el display est unido a un terminal comn, y el ctodo de cada LED va unido a una salida del decodificador activo a nivel bajo. Esta unin entre el display y el decodificador se realiza a travs de una resistencia (para que no se queme el display, limitando la corriente a 10 mA y la tensin a 1,6 V, ya que un circuito digital suministra una tensin mayor). En este caso, slo se iluminarn aqullos que
32
ITES-PARANINFO
Sistemas combinacionales
Hasta ahora, se han descrito las entradas y salidas adicionales, pero este circuito plantea un problema. Este problema radica en que tenemos cuatro entradas, por tanto 16 combinaciones diferentes. Sin embargo, los nmeros binarios BCD son 10 (del 0 al 9), por lo que si se da a la entrada del decodificador un cdigo mayor que el 9 BCD, en los displays obtendremos smbolos extraos. En la Figura 2.15 podemos observar todos los smbolos que pueden aparecer en los displays y la Tabla 2.2 representa la tabla de verdad del decodificador, con todas sus posibilidades de funcionamiento.
A0 A1 A2 A3
RBI
a b c d e f g
XX47
LT BI/RBO
0 1 2 3 4 5 6 7 8 9 A B C D E F
Figura 2.14. Decodificador BCD - 7 segmentos.
-l BI/ RBO (Blanking Input/Ripple Blanking Output): Esta lnea puede funcionar como entrada o salida. Lo habitual es que funcione como salida e indica si el nmero a visualizar es cero o distinto de cero. La Tabla 2.1 resume todas las posibilidades de estas lneas.
LT 0 X 1 1 1 R BI X X 0 1 X ----- BI / R B O 1 (salida) 0 (entrada) 0 (salida) 1 (salida) 1 (salida) A3 A2 A1 A0 X X 0 0 0 0 (cero) 0 0 0 0 (cero) Cualquier n menos el cero Funcin Enciende todos los segmentos Se apagan todos los segmentos Se apagan todos los segmentos Aparece el cero Decodificacin normal
----- --------- -------La utilizacin de las lneas BI/RBO y RBI permite que no se visualicen los ceros a la izquierda del dgito ms significativo y los ceros a la derecha del menos significativo. Por ejemplo, si queremos representar un nmero formado por parte entera y parte decimal y disponemos de cuatro displays para la parte entera y de cuatro para la parte decimal, lo idneo sera que, si queremos visualizar, por ejemplo, el nmero 35,57, no estuvieran iluminados con ceros el resto de los displays. Para conseguir que los ceros ms significativos de la parte entera no se visualicen, se conectan los decodificadores de la forma indicada en la Figura 2.16. Su funcionamiento es el siguiente: l Al conectar la entrada RBI del primer decodificador a masa, slo mostrar en el display el dgito si las entradas A3, A2, A1 y A0 no estn a nivel bajo, es decir, que el nmero a visualizar no es el cero. l En nuestro ejemplo, al no ser visualizado el dgito por -bajo ser un cero, la salida BI/ RBO se pone a nivel - y, como esta salida se conecta a la entrada RBI del siguiente decodificador, sucedera lo mismo.
ENTRADA /SALIDA SALIDAS a 0 1 0 0 1 0 0 0 0 0 1 1 1 0 1 1 1 1 0 b 0 0 0 0 0 1 1 0 0 0 1 1 0 1 1 1 1 1 0 c 0 0 1 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 d 0 1 0 0 1 0 0 1 0 1 0 0 1 0 0 1 1 1 0 e 0 1 0 1 1 1 0 1 0 1 0 1 1 1 0 1 1 1 0 f 0 1 1 1 0 0 0 1 0 0 1 1 0 0 0 1 1 1 0 g 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 0
ENTRADAS LT 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 X 1 0 RBI 1 X X X X X X X X X X X X X X X X 0 X A3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 X 0 X A2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 X 0 X A1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 X 0 X A0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 X 0 X
BI/RBO 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 1
ITES-PARANINFO
33
Sistemas combinacionales
l En el tercer display, las entradas A3, A2, A1 y A0 no estn todas a un nivel bajo, por lo -que muestra el dgito. Al mostrarlo, su salida BI/ RBO se pone a nivel alto. De esta forma, aunque el siguiente decodificador tuviera que mostrar - un cero, ste se visualizara, ya que su entrada RBI est a nivel alto.
cuando aparezca el dgito cero no se visualizar
Vcc
padeo del encendido y apagado y tiene la sensacin de que todos los displays estn encendidos a la vez. Adems del ahorro de corriente, la multiplexacin permite otras ventajas como el ahorro de decodificadores, ya que podemos disponer de un nico decodificador que enviar la informacin en cada momento del display que est encendido.
0
A2 A3 A0 A1
RBI
Vcc
0
A2 A3 A0 A1
RBI
Vcc
3
A2 A3 A0 A1
RBI
Vcc
RBI
LT
LT
LT
LT
A2 A3
A0 A1
Por el contrario, para conseguir que los ceros menos significativos de la parte decimal no se visualicen, se conectan los decodificadores de la forma indicada en la Figura 2.17. Su principio de funcionamiento es el mismo que el expuesto en la parte entera.
Vcc
a b c d e f g
a b c d e f g
a b c d e f g
a b c d e f g
RI/RBO
RI/RBO
RI/RBO
RI/RBO
5
A2 A3 A0 A1
RBI
Vcc
7
A2 A3 A0 A1
RBI
Vcc
0
A2 A3 A0 A1
RBI
Vcc
0
A2 A3 A0 A1
RBI
LT
LT
LT
LT
a b c d e f g
a b c d e f g
a b c d e f g
a b c d e f g
RI/RBO
RI/RBO
RI/RBO
RI/RBO
I0 I1
Z1 Z2 Z3
Figura 2.18. Implementacin de una funcin mediante decodificadores. Figura 2.17. Conexin de los decodificadores de la parte decimal.
- en la salida 1 del decodificador habr Cuando se d (ab), un cero lgico y cuando se d (ab), lo habr en la salida 3. Para terminar el circuito, ambas salidas se conectan a las entradas de una puerta NAND, con el fin de obtener un uno lgico a su salida cuando est seleccionada alguna de estas combinaciones. En la Figura 2.18 se puede observar el ejemplo resuelto. Idntico procedimiento se emplea para un decodificador con salidas a nivel alto, con la diferencia de que la puerta en lugar de ser una NAND es una OR.
2.5 Demultiplexores
Como se puede suponer, estos circuitos combinacionales realizan la funcin inversa que los multiplexores. Para ello, disponen de una nica entrada y varias salidas:
34
ITES-PARANINFO
Sistemas combinacionales
l Una nica entrada de datos. l n salidas. l p entradas de control. El nmero de salidas de datos (n) viene dado por la siguiente ecuacin: n= 2p Comercialmente no existen demultiplexores, sino que se emplean decodificadores. Para ello, se utiliza el enable (habilitacin) como entrada de datos y las entradas de datos del decodificador como entradas de control. Su funcionamiento es muy simple. Por ejemplo, si disponemos de un decodificador con salidas activas a nivel bajo, cuando haya un cero lgico en la entrada (enable), el circuito estar habilitado y pondr un cero (cero de la entrada) en la salida que tengamos seleccionada con las entradas de control. Por el contrario, cuando en la entrada (enable) haya un uno lgico, el decodificador estar inhabilitado, obtenindose en todas sus salidas un uno lgico, por lo que tendremos en la salida seleccionada el contenido de la entrada. La Figura 2.19 ilustra su funcionamiento y la tabla de verdad.
Z0 Z1 Z2 Z3 Z4 Z5 Z6 Z7
or
ns m
tra
I0
Entradas de seleccin
I1 I2 E
Salidas
Para detectar estos errores en la transmisin se utilizan los circuitos generadores-detectores de paridad. Estos circuitos, para detectarlos, aaden un bit ms a la seal, denominado bit de paridad. Este bit indica si el nmero de unos o el de ceros es par o impar, de forma que si se produce un error en un bit de la seal, el comparador de paridad lo detecta. Por ejemplo, supongamos que tenemos dos ordenadores conectados mediante una seal compuesta por 8 bits (Figura 2.21). Si en el emisor colocamos un generador de paridad, tendramos un bit adicional. Este bit sera un cero si el nmero de unos es par y un uno si el nmero de unos es impar. Como en nuestro ejemplo hay cuatro unos lgicos y cuatro ceros lgicos, este bit de paridad sera cero. Si por alguna circunstancia, durante la transmisin, uno de los bits de la seal se altera, el comparador de paridad del receptor detectara que el bit de paridad no es correcto y no se dara por vlida la seal.
Entrada de datos
Tabla de verdad
Validacin Entradas Salidas
E
0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
I2 I1 I0
0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Z7 Z6 Z5 Z4 Z3 Z2 Z1 Z0
1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Como se ha mencionado, se puede indicar si es par el nmero de unos o el de ceros, por lo que existirn dos convenios: l Paridad par en la transmisin (even parity): Si el nmero de unos lgicos es impar, se pone a uno el bit de paridad. En caso contrario se pone a cero.
re
ce
pt
or
is
ITES-PARANINFO
35
Sistemas combinacionales
l Paridad impar en la transmisin (odd parity): Si el nmero de unos lgicos es par, se pone a uno el bit de paridad. En caso contrario se pone a cero. Por estas entradas se indica al circuito el resultado de la comparacin anterior. Para ello, estas entradas se conectan a las salidas del comparador anterior (Figura 2.23). Por ejemplo, si tenemos que comparar dos nmeros de ocho bits, necesitaremos dos de estos comparadores. En uno de ellos, comparamos la parte alta (los cuatro bits de mayor peso) de ambos nmeros y, en el otro, la parte baja. Las entradas adicionales del comparador de los bits de menor peso se conectan a las salidas del comparador de mayor peso. Para finalizar, las entradas adicionales del comparador de los bits de mayor peso se conectan de la siguiente forma: IA>B y IA<B a un nivel bajo y IA=B a un nivel alto, para indicar que como no hay una etapa anterior, el resultado de la comparacin anterior es igual. En la Figura 2.23 podemos ver su conexionado.
OR
AD
A B
IA>B
XX85
XX85
E G L
A4 A5 A6 A7
A0 A! A2 A3
A0 A! A2 A3
A0 A! A2 A3
G E L
CO M PA R
IA=B IA<B
B4 B5 B6 B7 B0 B1 B2 B3
Existen comparadores comercializados como el XX85. Este comparador de dos nmeros de cuatro bits tiene las siguientes caractersticas: l Comparacin binaria o BCD. l Tres salidas con todas las posibles comparaciones: A=B, A>B y A<B. l Fcilmente ampliable. Esta ltima caracterstica es muy interesante, ya que permite comparar nmeros de cualquier longitud. Para ello, el circuito dispone de tres entradas adicionales denominadas: l IA>B l IA=B l IA<B
Su funcionamiento es muy simple: el comparador de los bits de menor peso mira sus entradas adicionales. Si est activada IA>B indica directamente que el nmero A es mayor que B, ya que los bits ms significativos del nmero A son mayores que los de B. Lo mismo sucede si est activada la entrada IA<B. Si por el contrario est activada la entrada IA=B, como la comparacin anterior (los bits ms significativos son iguales), ahora el resultado de la comparacin depende de los bits de menor peso. Para ello, el circuito compara bit a bit, dndonos el resultado activando alguna de sus salidas. Estas salidas, a su vez, se podran conectar a otro comparador. La Tabla 2.3 muestra su funcionamiento.
ENTRADAS A3,B3 A3>B3 A3<B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A3=B3 A2,B2 X X A2>B2 A2<B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A2=B2 A1,B1 X X X X A1>B1 A1<B1 A1=B1 A1=B1 A1=B1 A1=B1 A1=B1 A1=B1 A1=B1 A1=B1 A0,B0 X X X X X X A0>B0 A0<B0 A0=B0 A0=B0 A0=B0 A0=B0 A0=B0 A0=B0 A>B X X X X X X X X 1 0 0 X 1 0
36
ITES-PARANINFO
Sistemas combinacionales
ER AD D
Cn-1 0 1 0 1 0 1 0 1
An
Sn Cn
C n-1
HA
LF
-A
DD
S C
Como se puede deducir de la Figura 2.26, necesitaremos tantos sumadores como bits tenga la palabra. Por ejemplo, la Tabla 2.5 representa la tabla de verdad de un sumador completo de dos bits.
ENTRADAS An 0 0 0 0 1 1 1 1 Bn 0 0 1 1 0 0 1 1 SALIDAS Sn 0 1 1 0 1 0 0 1 Cn 0 0 0 1 0 1 1 1
Recordando las reglas bsicas de la suma binaria, se puede deducir su tabla de verdad (Tabla 2.4).
ENTRADAS A 0 0 1 1 B 0 1 0 1 S 0 1 1 0 SALIDAS C 0 0 0 1
ER
De la Tabla 2.5 se pueden obtener fcilmente las ecuaciones lgicas de salida del circuito e implementarlo con puertas lgicas como se muestra en la Figura 2.27.
FUNCIONES: Sn= (A n B n) C n-1 Bn))
De la Tabla 2.4 se pueden obtener las ecuaciones lgicas de salida del circuito e implementarlo con puertas lgicas como indica la Figura 2.25.
FUNCIONES: S = (AB) + (AB)= A C = AB B
An Bn Sn
A S B C
Figura 2.25. Implementacin de un circuito semisumador. Figura 2.27. Implementacin de un circuito sumador completo.
FU LL -
Bn
Cn= (A n Bn ) + (Cn-1 (A n
C n-1
Cn
ITES-PARANINFO
37
Sistemas combinacionales
ENTRADAS An 0 0 0 0 1 1 1 1 Bn 0 0 1 1 0 0 1 1
ACARREO Cn-1 0 1 0 1 0 1 0 1 Cn 0 0 0 1 0 1 1 1
Como se puede observar en la Tabla 2.6, cuando An y Bn son cero, independientemente del valor del acarreo inicial (Cn-1 ), el acarreo de salida (Cn ) no se genera. Sin embargo, cuando una de las dos entradas An o Bn es cero y la otra uno, el acarreo de entrada se propaga, es decir, el acarreo de salida es idntico al de entrada. Por ltimo, cuando An y Bn son uno, el acarreo se genera, es decir, siempre hay acarreo de salida (independientemente del de entrada). Por lo que se pueden deducir las siguientes funciones: l Funcin de propagacin: Cn= Cn-1 Pn= An Bn
An
SUMADOR
Bn
A1
SUMADOR
B1
A0
B0
SUMADOR
Cn
Cn-1
C1
C0
C-1
l Funcin de generacin: Cn= 1 Gn= An Bn Por tanto el acarreo se puede expresar como:
Sn
S1
S0
Cn= Gn + (Cn-1 Pn) = (An Bn) + (Cn-1 (An Bn)) Si damos valores a n: C0=G0+(C-1P0) C1=G1+(C0P1)=G1+(P1G0)+(P1P0C-1) C2=G2+(C1P2)=G2+(P2G1)+(P2P1G0)+(P2P1P0C-1) -----------------------------------------------------------------Cn=Gn+(PnGn-1)+(PnPn-1Gn-2) +...+ (PnPn-1...P1G0)+(PnPn-1...P0C-1) Donde no se depende del acarreo anterior: G0=A0B0 G1=A1B1 G2=A2B2 ...... Gn=AnBn P0=A0 B0 P1=A1 B1 P2=A2 B2 ...... Pn=An Bn
B 7B 6B 5B4 B 3B 2B 1B0 A 7A 6A5A4 A 3A 2A1A0 B3 B2 B1 B0 B 3 B 2 B1 B0 A 3 A 2 A1 A0 A 3 A 2 A1 A0
Observando la Figura 2.28 se puede entrever el inconveniente de esta conexin: cuando se introduzcan en los sumadores todos los bits que componen los nmeros a sumar, habr que esperar un retardo hasta que el resultado obtenido sea correcto. Es decir, se realiza la suma de los dos bits de menor peso ms el acarreo anterior, tardando un tiempo d en generar el resultado de la suma y el acarreo de salida, que ser el acarreo de entrada de la siguiente etapa. Por tanto, el tiempo de retardo vendr dado por: Retardo= n d [Segundos] donde: l n: Nmero de sumadores. l d: Retardo de un circuito sumador.
C3
C0
C3
C0
C-1
B 7 B 6 B5 B4 B 3B 2B 1B0 A 7A 6A5A4 A 3A 2A1A0 B3 B2 B1 B0 B 3 B 2 B1 B0 A 3 A 2 A1 A0 A 3 A 2 A1 A0
C3
C0
C3
C3
C0
38
ITES-PARANINFO
Sistemas combinacionales
Para realizar todas estas operaciones existen unos circuitos comerciales en los que, introduciendo todos los bits de ambos nmeros a sumar, se generan los acarreos. En la Figura 2.29 se ha mostrado el conexionado de estos circuitos. Para solucionar este problema hay que aumentar la longitud del nmero (en complemento a 2 se realiza prolongando el bit de signo), tal y como indica la Figura 2.30.
Con 9 bits -120 - 18 = (-120) + (-18) (-120) 1 1 0 0 0 1 0 0 0 + (-18) 1 1 1 1 0 1 1 1 0 (-138) 1 1 0 1 1 1 0 1 1 0 (2
Figura 2.30. Forma de solucionar el overflow prolongando los nmeros de 8 a 9 bits.
Para realizar estas restas, ya sea en complemento a 1 o en complemento a 2, se utiliza un sumador completo. Pero en lugar de llevar los dos nmeros directamente al sumador, a uno de ellos se le intercala un circuito complementador. Este circuito tiene los mismos bits de entrada que de salida (tamao del nmero), con la excepcin de que posee dos entradas adicionales que controlan los modos de funcionamiento (Tabla 2.7).
M 0 0 1 1 EI 0 1 0 1 SALIDA Dato en C1 Puesta a uno Dato normal Puesta a cero
+18(10- 10(10 = 18(10+ (-10(10) +18(10= 010010(2 +10(10= 001010(2 -10(10= 110101 (2
l Restas con nmeros en Complemento a 2: Si por el contrario queremos restar 7-3 utilizando el complemento a 2, deberemos realizar la operacin: 7+ (-3). Con lo cual, primero se hace el complemento a 2 de tres y el resultado se suma al siete. Si al realizar la suma de los bits de signo existe un acarreo, ste se desprecia tal y como indica el Ejemplo 2.2.
+7 (10 - 3 (10 = 7(10+ (-3(10) +7 (10 = 0000 0111(2 +3 (10 = 0000 0011(2 -3(10 = 1111 1101 (2 (+7) 0000 0111 + ( -3) 1111 1101 (+4) 1 0 0 0 0 0 1 0 0 (2
Por ejemplo, para disear un circuito que sume dos nmeros o los reste en complemento a 2, bastar con un conmutador que seleccionar el modo de funcionamiento. Como ilustra la Figura 2.31, cuando el conmutador est a masa, el complementador realiza el complemento a 1 del operando A (las entradas M y EI estn a cero) y, mediante una puerta inversora, se consigue introducir un uno en el acarreo inicial del sumador, obteniendo de esta forma el complemento a 2 del nmero.
operando B=6 operando A=2
0 1 1 0
0 0 1 0
Si tenemos dos nmeros de ocho bits en complemento a 2 (rango entre -128 y 127), al realizar la resta se puede producir error por salirse de rango (el resultado tiene ms de 8 bits). Este error se conoce como overflow y el bit de signo indica el error, ya que, como en el caso del Ejemplo 2.3, si sumamos dos nmeros negativos el resultado no puede ser positivo, y viceversa.
Con 8 bits -120 - 18 = (-120) + (-18) (-120) 1 0 0 0 1 0 0 0 + (-18) 1 1 1 0 1 1 1 0 (+118) 1 0 1 1 1 0 1 1 0 (2
Ejemplo 2.3. Error de overflow en las operaciones.
A3 A2 A1 A0 EI M Y3 Y2 Y1 Y0
1 1 0 1
M=0 (resta)
B3 B2 B1 B0
A3 A2 A1 A0
C3
ITES-PARANINFO
39
Sistemas combinacionales
Si, por el contrario, deseamos realizar una suma, el conmutador se pone a Vcc, por lo que mediante la puerta inversora no habr acarreo inicial y en la entrada M habr un uno lgico y, por tanto, el dato saldr del complementador sin ser alterado. Como en el caso anterior, la entrada EI est permanentemente a masa. En la Figura 2.32 se muestra el proceso.
operando B=6 operando A=2
0 1 1 0
0 0 1 0
A3 A2 A1 A0 EI M Y3 Y2 Y1 Y0
0 0 1 0
M=1 (suma)
B3 B2 B1 B0
A3 A2 A1 A0
C3
40
ITES-PARANINFO
Sistemas combinacionales
&
Ejercicios prcticos
2.3 Ensayo y experimentacin de un generador
de paridad de 8 bits Montar un circuito como el de la Figura 2.35 y obtener los valores de salida para las combinaciones de entradas mostradas en la Tabla 2.9.
b c
S
E0 E1
F
E2 E3
Una vez completada la Tabla 2.8, observar sus salidas y sus entradas, identificar de qu circuito combinacional se trata y dar nombre a sus entradas y salidas.
a b c d
I0
I1 I2 I3
Z0 Z1 Z2 Z3 Z4 Z5 Z6 Z7 Z8 Z9
XX42
F
b bit de paridad
F a
Montar el circuito de la Figura 2.34 y deducir los trminos de la funcin que se obtienen a la salida del decodificador. Una vez obtenida la funcin, simplificarla al mximo e implementarla con puertas lgicas observando con cul de los dos montajes se simplifica ms el circuito.
ITES-PARANINFO
41
Sistemas combinacionales
SALIDAS F
BLOQUE A
B A
D C
B A
D C
XX47
a b c d e f g
XX47
a b c d e f g
Si utiliza paridad par, la salida se activa cuando hay un error en la transmisin o cuando los datos son vlidos?
&
Autoevaluacin
c) Atacar a una u otra cosa segn el tipo de decodificador.
42
ITES-PARANINFO
Sistemas combinacionales
&
s to s e u p o r p s io ic c r Eje
a b ba + ba ba P P P x
0 1 1 1 3 2 1 1 1 1 0
a b ba
0 0 0
multiplexor de 8:1 con entradas y salidas activas a nivel alto: F= ( abc)+(ac) multiplexor de 8:1 con entradas y salidas activas a nivel alto: - F= ( abcd)+(a d)+( ac) el decodificador comercial 74LS154: F= (abcd)+(ab)
acarreo
2.5 Implementar la siguiente funcin lgica empleando 2.6 Disear un circuito cuyo funcionamiento sea tal que,
al introducirle tres dgitos binarios, se obtengan en un display de nodo comn las salidas mostradas en la Tabla 2.11.
ENTRADAS 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 SALIDAS DISPLAY A B C D E F G H
para guardarlos. Se pretende disear un circuito que muestre en un display de ctodo comn el volumen de lquido de los 4 depsitos. La capacidad de cada depsito es de 9 litros. Cada depsito dispone de 9 sensores, que se activan a nivel bajo cuando el volumen de lquido supera el nivel que mide el sensor. El sensor 1 se activa cuando el nivel del lquido supera un litro, el 2 cuando se superan 2 litros, etc. La seleccin del depsito a visualizar se realiza mediante dos entradas S0 y S1 en binario natural como indica la Figura 2.39.
9
A1...A 9
depsito 1
4
a1...a 4
depsito 3
9
C1...C9
4
c1...c 4
depsito 4
9
D1...D9
4
d1...d 4
S 1 S0
seleccin
codificado en binario natural con 8 bits. Se desea disear un circuito que realice la suma de los dos nmeros mayores. Se pide:
A B
2 2
X
Figura 2.38.
b) Implementar el circuito completo, disponiendo nicamente de circuitos comparadores 74LS85, multiplexores 74LS157 y sumadores 74LS83.
VI SU
AL IZ
AC I
depsito 2
9
B1...B 9
BLOQUE 1
4
b1...b4
BLOQUE 2
ITES-PARANINFO
43
Captulo
Titular de captulo
Sistemas secuenciales
Introduccin
Los circuitos digitales se clasifican en dos clases de sistemas: u Sistemas combinacionales. u Sistemas secuenciales. Hasta ahora se han estudiado los sistemas combinacionales; en stos, el estado de las salidas depende nicamente del estado de las entradas. Es decir: para una misma combinacin de entrada se obtiene a la salida siempre el mismo valor. Por el contrario, en los sistemas secuenciales, las salidas no dependen nicamente de las entradas, sino tambin del estado anterior en el que se encontraba el sistema. Por tanto, para la misma combinacin de entrada pueden existir distintas salidas. De lo que se deduce que estos sistemas deben tener una cierta capacidad de memoria. Estas clulas de memoria estn formadas por biestables, que pueden ser de dos tipos: latches y flip-flops.
Estructura de un sistema combinacional Estructura de un sistema secuencial
entradas
Entradas
SISTEMA COMBINACIONAL (multiplexores, sumadores, ...)
CIRCUITO COMBINACIONAL
Salida
salidas
Contenido
3.1. Circuitos secuenciales bsicos: latch. 3.2. El flip-flop. 3.3. Caractersticas de funcionamiento de los flip-flops. 3.4. Registros. 3.5. Contadores. 3.6. Autmatas finitos.
Objetivos
u Conocer los circuitos secuenciales bsicos. u Saber disear circuitos secuenciales. u Emplear flip-flops en aplicaciones sencillas. u Utilizar adecuadamente los diferentes contadores.
Sistemas secuenciales
En esta situacin, se produce lo que se denomina una carrera (race). Es decir, ambas salidas se activan a uno, pasando luego ambas a cero, luego a uno..., y as continuamente, hasta llegar a una situacin estable, ya que una de las dos puertas ser ms rpida. Todos estos posibles estados del latch se reflejan en la Tabla 3.1.
ENTRADAS S 0 0 1 1 R 0 1 0 1 SALIDAS Q Q Q0 Q0 0 1 (reset) 1 0 (set) No vlida
Tabla 3.1. Tabla de verdad de un latch con entradas activas a nivel alto.
S R
Q Q
R Circuito
Smbolo lgico
S R
Q Q
S Circuito
Smbolo lgico
Su principio de funcionamiento es el mismo que un latch S-R activo a nivel alto, con la variacin de que este latch se resetea y se pone a uno con un nivel bajo. En este tipo de latches, en lugar de ser no vlida la condicin R=1 y S=1, lo es cuando ambas entradas estn a cero. En la Tabla 3.2 se puede ver su funcionamiento en forma de tabla de verdad.
Como se observa en la Figura 3.2, la entrada toma una muestra de la salida. Esta caracterstica es la que provoca que dependa del estado anterior. Su funcionamiento es muy simple: supongamos que en un inicio la salida Q est a cero y por tanto Q a uno. Si en las entradas S y R introducimos un cero lgico, se realizara: -la NOR de Q y S, dando como resultado uno; y la NOR de Q y R, dando lugar a un cero lgico, por lo que la salida no vara. Si, por el contrario, introducimos un cero lgico en la entrada S y un uno lgico en la entrada R, al realizar la misma operacin que antes, obtenemos a la salida Q un cero (Reset o puesta a cero) y en Q un uno lgico. Si ahora introducimos un cero lgico en la entrada R y un uno lgico en la entrada S, la salida Q se pondr a uno (Set o puesta a uno) y Q a cero. Sin embargo, existe un estado no vlido, que se produce cuando se introduce a la vez en ambas entradas (R y S) un uno lgico.
ENTRADAS S R 0 0 1 1 0 1 0 1
Tabla 3.2. Tabla de verdad de un latch con entradas activas a nivel bajo.
46
ITES-PARANINFO
Sistemas secuenciales
Aunque la Figura 3.4 muestra la representacin e implementacin con puertas lgicas de un latch con entradas activas a nivel alto, este tipo de latch existe tanto en versiones con entradas activas a nivel bajo como a alto. Su principio de funcionamiento consiste en lo siguiente: cuando el conmutador se encuentra en la posicin 2, a la salida del latch hay un uno lgico debido a que la entrada Set est a cero y la entrada Reset a uno (a travs de la resistencia). Cuando pasamos de la posicin 2 a la 1, se producen los indeseados rebotes en la entrada set (ceros y unos). Pero como la entrada reset del latch permanece siempre a uno, la salida no vara (ver tabla de verdad). Cuando el conmutador ha alcanzado su posicin de equilibrio, los rebotes desaparecen y el circuito se encuentra con un cero en la entrada reset y un uno en la entrada set, producindose el reseteado del circuito (puesta a cero).
S E R
Q Q
3.1.6. Latch D
A diferencia de los latches S-R, los D tienen nicamente una entrada (D). Para la fabricacin de este latch , se parte de un S-R, en el que se han unido las entradas S y R a travs de un inversor de la forma mostrada en la Figura 3.6.
latch S-R
Su funcionamiento es muy simple, mientras permanezca la entrada de validacin desactivada, independientemente del estado de las entradas Set y Reset, el circuito no variar la salida. Por el contrario, cuando la entrada de validacin est activada, el latch funcionar de la forma habitual. En la Tabla 3.3, se muestra la tabla de verdad de un latch S-R con entradas activas a nivel alto y entrada de validacin.
ENTRADAS S X 0 0 1 1 R X 0 1 0 1 E 0 1 1 1 1 Q SALIDAS Q
Q Q
D Circuito
Q
Figura 3.6. Latch D.
Smbolo lgico
Tabla 3.3. Tabla de verdad de un latch con entradas activas a nivel alto y entrada de validacin.
Su funcionamiento - es muy simple: cuando la entrada D est a nivel alto ( S=0 y R=1) el latch en SET (Q=1) y cuando - estla entrada D est a nivel bajo ( S=1 y R=0) el latch se encuentra en estado (Q=0). - RESET - De - esta forma, nunca se dar el caso de S=1 y R=1, ni S=0 y R=0, eliminndose la condicin no vlida. En la Tabla 3.4 se representa su tabla de verdad.
ENTRADAS D 0 1 SALIDAS Q Q 0 1 1 (reset) 0 (set)
Vcc
R1 R2
Al igual que con el latch S-R, existen latches D con entrada de validacin, cuyo funcionamiento es idntico al de los latches S-R. En la Figura 3.7 se puede ver su diseo as como su funcionamiento.
D Q E D E Q Q
S R
Q Q
Circuito D E Q
Smbolo lgico
S
paso de paso de posicin 2 a 1 posicin 1 a 2
+Vcc
0
Cronograma
ITES-PARANINFO
47
Sistemas secuenciales
3.2 El flip-flop
Como se ha expuesto anteriormente, estos circuitos de memoria se utilizan para la realimentacin de circuitos digitales. Pero presentan un pequeo problema: cuando la entrada enable del latch est a nivel alto, el circuito funciona como un bucle cerrado. Es decir, el dato en la entrada D acta sobre la salida Q, que ser tomada para la realimentacin, inicindose, a continuacin, una nueva carrera por el lazo de realimentacin con el consiguiente posible cambio de la salida Q. Esta situacin se repetir hasta que no se ponga la entrada enable a nivel bajo. Al producirse, en la salida Q se obtiene un dato indeterminado como muestra la Figura 3.8.
Carrera por el lazo de realimentacin
Para representar si el flip-flop es activo por flanco de bajada o de subida, se emplea el siguiente criterio: si es activo por flanco de subida, se representa la entrada de reloj con un tringulo. Por el contrario, si es activo por flanco de bajada, se representa con un tringulo unido a un crculo. Ambas representaciones se muestran en la Figura 3.10.
Smbolo lgico S
CLK
S
CLK
R
activo con el flanco de subida
R
activo con el flanco de bajada
D
SISTEMA COMBINACIONAL
Q Q
LATCH D
Vcc
Para solucionarlo, ser necesario otro tipo de biestable como dispositivo de memoria, que slo cambie de estado cuando se active una seal de control. Los dispositivos que operan de esta forma son los flip-flops, los cuales utilizan una seal de control denominada reloj, clock o simplemente CLK para controlar de forma precisa cundo los datos presentes en las entradas tienen efecto sobre la salida. Ventajas de los flip-flops respecto a los latches: l El flip-flop, a diferencia del latch, puede mantener un estado constante a su salida mientras se introduce un nuevo estado por sus terminales de entrada. l Inmunidad al ruido, ya que si se produce un ruido en la entrada enable de los latches, ste, por muy pequeo que sea, cambia el estado de las salidas. Por el contrario, si el circuito tiene una entrada de reloj, este ruido debe tener un ancho mnimo para que lo interprete. Se podra definir un flip-flop como un circuito secuencial sncrono, en el que cambia el contenido de sus salidas cuando se produce un cambio en la entrada de reloj. La entrada de reloj de los flip-flops puede ser activa por el flanco de subida (Positive-Edge-Triggered) o de bajada (Negative-Edge-Triggered). En la Figura 3.9, se puede observar la representacin del flanco de subida y de bajada.
tren de impulsos o seal de reloj
Para realizar un circuito que sea capaz de detectar esta transicin de pulso, se utiliza uno como el representado en la Figura 3.11. El pulso de reloj es negado tres veces consiguiendo de esta forma que el pulso est negado respecto al original y retardado tres veces el tiempo de retardo de la puerta NOT. Este retardo provoca que el pulso negado entre desplazado un pequeo tiempo respecto al pulso original. Llevando ambas seales a la entrada de una puerta NAND, se consigue a su salida un pulso invertido de duracin tres veces el tiempo de propagacin. Este pulso se invierte para obtener un estrecho pulso positivo que atacar al circuito.
(3td)
CLK (reloj)
cada uno de los inversores introduce un retardo (3td)
S Q CLK R Circuito
Figura 3.12. Flip-Flop S-R.
detector de transicin de pulso
Q
flanco de subida flanco de bajada
48
ITES-PARANINFO
Sistemas secuenciales
Como se puede observar en la Tabla 3.5, su tabla de verdad es idntica a la del latch S-R con la diferencia de que la salida no bascula (cambia) hasta que no se produce un flanco de bajada o de subida (segn su forma de activacin).
ENTRADAS S R CLK CLK
(flanco de subida) (flanco de bajada)
J Q CLK K
Circuito de transicin de pulso
J CLK K
S R
Q Q
CLK
SALIDAS Q Q
Comentario
Circuito J Q
CLK
0 0 1 1
0 1 0 1
Q0 0 1 -
Smbolo lgico
Figura 3.14. Flip-flop J-K activo por flanco de subida.
3.2.2. Flip-flop D
Este tipo de flip-flop es muy til cuando se desea almacenar informacin de un bit. Para obtener un flip-flop D, se parte de un flip-flop S-R, al cual se le han unido ambas entradas insertando un inversor como muestra la Figura 3.13.
D CLK S R Q Q D Q Q
En la Tabla 3.7 se representa su tabla de verdad, en la cual se ha eliminado la condicin no vlida por una que hace bascular la salida (toggle).
ENTRADAS J 0 0 1 1 K 0 1 0 1 CLK SALIDAS Q Q Q0 0 1 Q0 Q0 1 0 Q0
CLK
CLK
Tabla 3.7. Tabla de verdad de un flip-flop J-K activo por flanco de subida.
CLK
CLK
3.2.4. Flip-flop T
Al igual que suceda con el flip-flop S-R, existe una variante del J-K. Esta variante consiste en unir las dos entradas en una denominada T como se muestra en la Figura 3.15.
Activo porflanco flanco de bajada activo por de bajada Figura 3.13. Flip-flop D activo por flanco de subida y de bajada.
Su funcionamiento es el siguiente: cuando en la entrada D hay un nivel alto, ste pasa a la salida con el flanco activo de la seal de reloj y lo mismo sucede si hay un nivel bajo. En la Tabla 3.6 se representa su tabla de verdad.
ENTRADAS D CLK CLK
(flanco de subida) (flanco de bajada)
T CLK
J K
Q
CLK
Q Q
CLK
SALIDAS Q Q
Comentario
Smbolo lgico
Figura 3.15. Flip-flop T activo por flanco de subida.
0 1
0 1
1 0
Reset Set
Como se puede observar en la Tabla 3.8, nicamente van a existir dos posibles estados: cuando la entrada est a uno, con un pulso activo de reloj la salida bascula; por el contrario, si la entrada est a cero, con un pulso activo de reloj la salida no cambia.
ENTRADAS T 0 1 CLK SALIDAS Q Q0 Q0 Q Q0 Q0
ITES-PARANINFO
49
Sistemas secuenciales
Cronograma
J
CLK
K PRE
CLR
CLR Q
cambio preset cambio clear
l TPLH: Tiempo que transcurre desde que la seal Set alcanza un 50% y la salida bascula un 50% del nivel bajo al alto. En la Figura 3.17c, se representa su medicin. l TPHL: Tiempo que transcurre desde que la seal Reset alcanza el 50% y la salida bascula un 50% del nivel alto al bajo. En la Figura 3.17d, se representa su medicin.
(a) CLK Q
t PLH
50% 50%
(b) CLK Q
t PHL
50% 50%
(c) SET Q
50% 50%
(d) RESET Q
50% 50%
50
ITES-PARANINFO
Sistemas secuenciales
CIR 1
D
lgica combinacional
Q Q
CLK
D CLK
50% 50%
CIR 2
D
lgica combinacional
Q Q
CLK
tS
Figura 3.18. Tiempo de set-up.
CLK
Figura 3.20. Circuito prctico.
Despus debemos tener en cuenta el retardo de los flip-flops (TPLH y TPHL). Como el mayor de ellos es TPLH, le cogemos como tiempo de propagacin de los flip-flops (TPff). A continuacin, le sumamos TS, para asegurarnos de que va a estar el dato el tiempo necesario antes de que se produzca el flanco activo. Para finalizar, se podra pensar que es necesario sumarle el tiempo hold, pero no es necesario, dado que, cuando se producen las salidas de los flip-flops, stas van a las entradas de los circuitos combinacionales y stos tienen un retardo mayor que el tiempo hold.
D CLK
50% 50%
th
Figura 3.19. Tiempo de hold.
TPLH = Tpff
Por tanto el periodo mnimo de la seal de reloj ser la suma de: TPLH + TCIR 1+ TS. Siendo la frecuencia mxima de reloj el inverso de este periodo mnimo como se muestra en la Figura 3.21.
3.4 Registros
Los registros son circuitos secuenciales constituidos por una serie de biestables conectados en cascada. Los registros tienen diversas aplicaciones prcticas como: l Transmitir y recibir datos en serie y en paralelo. l Conversin de datos en formato serie a paralelo y viceversa. l Almacenamiento de informacin (memoria). Existen diversos tipos de registros dependiendo de cmo se conecten las entradas y las salidas entre los biestables. Los tipos ms importantes son:
En primer lugar, como las salidas de los flip-flops se conectan a las entradas de los circuitos combinacionales y sus salidas a las entradas de los flip-flops, habr que tener en cuenta el retardo de los circuitos combinacionales para que d tiempo a realizar el lazo cerrado. Como los circuitos combinacionales tienen diferente tiempo de propagacin, elegimos el ms lento.
ITES-PARANINFO
51
Sistemas secuenciales
Su funcionamiento es idntico al registro anterior pero, en este caso, al transcurrir los cuatro ciclos de reloj, tenemos a la salida un dato de 4 bits en lugar de uno (Figura 3.25). Una aplicacin de estos registros es la conversin de datos serie a paralelo.
CLK
entrada de datos
0 0 1 1 0
Q0 Q1 Q2 Q3
salida de datos
Q Q
Q0
Q Q
Q1
Q Q
Q2
Q Q
Q3
CLK
CLK
CLK
CLK
CLK
Su funcionamiento es el siguiente: supongamos que al inicio todos los flip-flops estn reseteados (Q=0). Cuando se produce el primer flanco de subida de la seal de reloj, el contenido de la entrada del primer flip-flop pasa a su salida (a la entrada del segundo flip-flop)... Por lo que se puede deducir, observando el cronograma de la Figura 3.23, que -transcurridos cuatro ciclos de reloj- el primer dato ledo por la entrada del registro saldr por la salida. La aplicacin de este tipo de registro es como unidades de retardo.
CLK
entrada de datos
7
Shift/load
D0
D1
D2
D3
Q0 Q1 Q2 Q3
salida de datos
transcurridos cuatro ciclos de reloj obtenemos a la salida el contenido de la entrada
CLK
P4 P1
P5 P2
P6 P3
Q Q
Q Q
Q Q
Q Q
CLK
CLK
CLK
CLK
En la Figura 3.26, se representa un registro de desplazamiento paralelo-serie de 4 bits. Los datos se introducen en paralelo por las lneas D0, D1, D2 y D3. Estos datos se cargan simultneamente en los flip-flops cuando la entrada Shift/ L o ad se pone a nivel bajo y se produce un flanco activo de reloj (las puertas P1, P2 y P3 permiten su paso).
Q Q
Q Q
Q Q
CLK D0 D1 D2 D3
shift/load
salida de datos
1 0 1 1
CLK
CLK
CLK
CLK
Q0
Q1
Q2
Q3
Cuando la entrada Shift/ L o ad est a nivel alto, las puertas P4, P5 y P6 permiten el desplazamiento en serie hacia la dere-
52
ITES-PARANINFO
Sistemas secuenciales
cha de los bits almacenados, producindose la salida de todos los datos una vez transcurridos cuatro ciclos de reloj. La utilidad de estos registros se hace patente a la hora de convertir datos paralelos a serie para poderlos enviar por un cable. Los contadores se clasifican, segn la forma de conectar la seal de reloj a los biestables, en asncronos y sncronos.
D0
D1
D2
D3
Q Q
Q Q
Q Q
Q Q
J
CLK
Q
CLK
J K
Q
CLK
CLK
CLK
CLK
CLK
CLK
K
Q0 Q1 Q2 Q3
Q0
Figura 3.29. Contador asncrono de 2 bits.
Q1
Su funcionamiento es el siguiente: suponiendo que todos los flip-flops al inicio estn reseteados, cuando se produce un flanco de subida de la seal - de reloj, las salidas del primer flip-flop cambian Q=1 y Q=0. Como la entrada de reloj del segundo flip-flop est conectada a la salida Q del primero, ste no vara al no producirse un flanco de subida en dicha salida. Cuando se produce el segundo flanco de subida de la seal de reloj, las salidas del primer flip-flop cambian tomando el valor Q=0 y Q=1. Como ahora s se produce un flanco de subida en la seal Q, el segundo flip-flop cambia el estado de sus salidas. De esta forma, el proceso se repetira indefinidamente.
3.5 Contadores
Los contadores son circuitos secuenciales cuya salida representa el nmero de impulsos que se le aplica a la entrada de reloj. La parte ms elemental de estos contadores est formada por biestables interconectados. Estos contadores pueden contar de forma ascendente, si su contenido se incrementa con cada impulso o descendente si se decrementa. Aunque existen contadores que pueden contar de ambas formas (up/down counters), segn el estado de una entrada. Las aplicaciones de los contadores son las siguientes: l Relojes y temporizadores. l Divisores de frecuencia. l Frecuencmetros.
CLK Q0 Q0 Q1
0 0
1 0
0 1
cuenta ascendente
1 1
0 0
repeticin
reseteado
Como se puede observar en el cronograma de la Figura 3.30, el contador en su salida indica el nmero de impulsos de la seal de reloj recibidos en binario. Pero, aparte de contar impulsos, divide la frecuencia de la seal de reloj.
ITES-PARANINFO
53
Sistemas secuenciales
Por ejemplo, si observamos la salida del primer flip-flop, esta seal tiene de frecuencia la mitad que la seal de reloj original. Por otro lado, la salida del segundo flip-flop tiene una frecuencia cuatro veces menor. Si el contador tuviera un mayor nmero de flip-flops, se obtendra una seal de frecuencia mucho menor que la de reloj (siendo siempre estas divisiones mltiplos de 2). Pero este tipo de contadores presenta un pequeo inconveniente. Como se ha visto, la seal de reloj va conectada al -primer flip-flop y la entrada de reloj del segundo a la salida Q del primero. Por lo que, cuando se produce el segundo flanco de subida de la seal de reloj, los dos flip-flops deben cambiar de estado. Primero lo hace el flip-flop 1 y, transcurrido su tiempo de propagacin, la salida bascula, producindose un flanco de subida, lo que provoca el cambio del segundo flip-flop el cual tardar un tiempo en obtener la salida (Figura 3.31). Por ejemplo, para la realizacin de un contador de mdulo seis necesitaremos una lgica combinacional que al detectar el estado 6 (110(2), active la seal de reset de todos los contadores y reinicie la secuencia (Figura 3.32). De esta forma evitamos que el contador pase por los 8 estados posibles que tiene, por ser un contador de 3 bits (23).
Detecta el 110(2
Vcc
J
CLK
Q
CLK
J K
Q
CLK
CLR
J K
Q
CLK
CLR
CLR
CLK Q0 Q1
1 0 0
t PLH (CLK a Q0)
2 1 0
t PHL (CLK a Q0)
3 0 1 1 1
t PLH (CLK a Q0)
4 0 0
t PHL (Q0 a Q1) t PHL (CLK a Q0)
Q0
Q1
Q2
Como se puede ver en el cronograma de la Figura 3.33, existe una breve transicin del contador antes de resetearse. Esta transicin indica al contador el paso por el estado 110(2.
CLK Q0 Q1 Q2 CLR
1 0 0 0
tP
2 1 0 0
2tP
3 0 1 0
tP
4 1 1 0
3tP
5 0 0 1
tP
6 1 0 1
3tP
7 0 0 0
tP
Si se conectan ms flip-flops, este tiempo de espera hasta que la salida es correcta aumenta, lo que limita la frecuencia de funcionamiento del contador. Esta frecuencia mxima vendr determinada por la expresin: 1 f<(N Tp) Donde N indica el nmero de flip-flops que constituyen el contador y Tp el tiempo de programacin de un flip-flop. Por ejemplo, supongamos que en nuestro caso el Tp = 10 ns, por lo que la frecuencia de funcionamiento deber ser menor de: 1/ (2 10ns) = 50 MHz.
1 0 0
Detecta el 110(2 y se resetea. El proceso es tan rpido que no se percibe dicha secuencia.
BIESTABLES (FLIP-FLOPS)
CLK
Figura 3.34. Esquema bsico de un contador sncrono.
54
ITES-PARANINFO
Sistemas secuenciales
La Tabla 3.11 presenta la asignacin de los estados, donde FF0, FF1 y FF2 son los 3 biestables necesarios. A esta tabla se la denomina tabla de codificacin de estados.
CODIFICACIN FF2 0 0 0 0 1 1 1 1 FF1 0 0 1 1 0 0 1 1 FF0 0 1 0 1 0 1 0 1
ESTADO 0 1 2 3 4 5 6 7
Con esta asignacin de cdigos de estado, la Tabla 3.10 se reescribe tal y como muestra la Tabla 3.12.
ESTADO ACTUAL ESTADO FUTURO FF0 0 1 0 1 0 1 0 1 FF2 0 0 0 1 1 1 1 0 FF1 0 1 1 0 0 1 1 0 FF0 1 0 1 0 1 0 1 0
estado
Figura 3.35. Estados de un contador sncrono de 3 bits.
FF2 0 0 0 0 1 1 1 1
FF1 0 0 1 1 0 0 1 1
2. Realizar la tabla simblica de transiciones: Esta tabla es otra forma de representar el diagrama de estados y est compuesta por dos columnas: en la columna estado actual se representa el estado en el que se encuentra el sistema, mientras que la columna estado futuro representa el estado al que evoluciona el sistema despus del flanco activo de reloj.
ESTADO ACTUAL 0 1 2 3 4 5 6 7 ESTADO FUTURO 1 2 3 4 5 6 7 0
Tabla 3.12.
4. Crear la tabla de transiciones codificada: Esta tabla (Tabla 3.13) tiene dos columnas al igual que la tabla simblica de transiciones: l Estado actual: Representa el valor de la salida de los flip-flops (salida Q). l Estado futuro: Representa el valor de la salida que los flip-flops deben tomar tras el siguiente flanco activo. Se las denomina como Q+.
ESTADO ACTUAL Q2 0 0 0 0 1 1 1 1 Q1 0 0 1 1 0 0 1 1 Q0 0 1 0 1 0 1 0 1 Q2+ 0 0 0 1 1 1 1 0 ESTADO FUTURO Q1+ 0 1 1 0 0 1 1 0 Q0+ 1 0 1 0 1 0 1 0
3. Realizacin de la tabla de codificacin de estados: Hasta aqu se dispone de la descripcin formal del sistema. En este punto se pasa a su realizacin fsica. Como se observa en el diagrama de estados o en la tabla simblica de transiciones, el sistema tiene 8 estados; es decir, debe ser capaz de memorizar ocho estados diferentes. El nmero de biestables (n) necesarios para materializar la memoria del sistema depende del nmero de estados del mismo (N), segn la relacin: N= 2n n=log2 N. En este caso como N=8, son necesarios 3 biestables para codificar los estados del contador. Es decir, hay que asignar cdigos binarios a los diferentes estados del sistema descritos en el diagrama.
ITES-PARANINFO
55
Sistemas secuenciales
5. Realizacin de las tablas de excitacin: Para conseguir que un determinado flip-flop pase de un estado actual (Q) al estado futuro (Q+), es preciso aplicarle la excitacin correspondiente en sus entradas. Para ello, se emplean las tablas de excitacin, que son las tablas de verdad de los flip-flops pero vistas a la inversa. Es decir, la entrada como funcin de la salida. Por ejemplo, la Tabla 3.14 muestra la tabla de excitacin de los flip-flops D y J-K.
FLIP-FLOP D Q 0 0 1 1 Q+ 0 1 0 1 D 0 1 0 1 Q 0 0 1 1 FLIP-FLOP J-K Q+ 0 1 0 1 J 0 1 X X K X X 1 0
Una vez obtenidas las funciones, se puede implementar el circuito como muestra la Figura 3.37.
Circuito Circuito combinacional combinacional
Q Q
Q0
Para continuar el diseo del contador, elegimos uno de los dos tipos de flip-flop. Como es lgico, el uso de uno u otro tiene sus ventajas e inconvenientes. Si se eligen los flip-flops D, el circuito tendr ms lgica combinacional que si cogemos los J-K (se simplifican ms las ecuaciones). Por el contrario, su cableado es ms simple debido a que tienen una nica entrada. Para relizar el diseo de nuestro contador, vamos a escoger flip-flops D. Por tanto, teniendo en cuenta la tabla anterior, se construye una nueva tabla donde la columna de estados futuros se sustituye por la excitacin necesaria para hacer llegar a los flip-flops a tales estados, como muestra la Tabla 3.15.
ESTADO ACTUAL Q2 0 0 0 0 1 1 1 1 Q1 0 0 1 1 0 0 1 1 Q0 0 1 0 1 0 1 0 1 D2 0 0 0 1 1 1 1 0 ESTADO FUTURO D1 0 1 1 0 0 1 1 0 D0 1 0 1 0 1 0 1 0
CLK
Q Q
Q1
CLK
D
CLK
Q Q
Q2
CLK
6. Obtencin del circuito combinacional, simplificacin e implementacin: Una vez obtenida la tabla de excitacin del contador sncrono, el problema se reduce a obtener las funciones de las tres excitaciones D2, D1 y D0. Para ello, utilizamos los mapas de Karnaugh como se indica en la Figura 3.36.
Q1 Q0 Q2 00 0 1 Q1 Q0 Q2 00 0 1 Q1 Q0 Q2 00 0 1
01
11
10
01
11
10
01
11
10
0 0 1 0 1 1 0 1
0 1 0 1 0 1 0 1
1 0 0 1 1 0 0 1
D2
D1
D0
D0= Q0 D1= (Q1@ Q0)+(Q1@ Q0)= Q1r Q0 D2= (Q2@ Q1@ Q0)+(Q2@ Q1)+(Q2@ Q0)= [Q2@( Q1@ Q0)]+[Q2@( Q1+ Q0)]= Q2r ( Q1@ Q0)
56
ITES-PARANINFO
salidas salidas
Sistemas secuenciales
La forma de obtener dichas variables de salida va a dar lugar a dos modelos de autmatas finitos: Moore y Mealy. e) f) g) h) Seleccin de los elementos de memoria. Tabla de excitacin. Simplificacin de las funciones de excitacin. Implementacin del circuito.
Para entender mejor cada uno de estos pasos, realizaremos un ejemplo con un detector de secuencia; es decir, un circuito con una entrada serie a travs de la cual recibe la informacin binaria en sincronismo con un reloj. Dicho detector debe activar su salida cuando haya recibido la secuencia 111000. a) Paso de las especificaciones verbales del problema al diagrama de estado Un diagrama de estados representa de una forma grfica los estados internos por los que va a pasar el autmata finito; dichos estados se representan mediante crculos diferenciados por etiquetas (nmeros, letras, etc.) y las transiciones entre ellos se representan mediante flechas que unen a los crculos. Partiendo de las especificaciones que nos dan en el ejemplo a disear, rpidamente podemos deducir que slo habr una variable de entrada (por la que llega la secuencia) y otra de salida (que se activa en el caso de recibir la secuencia especificada). El nmero de estados internos parece lgico que sean al menos seis, ya que son seis los bits que componen la secuencia que estamos buscando. Siguiendo el modelo de Moore, los crculos que representan los estados internos contienen la denominacin de dicha variable y el valor de salida. De esta forma se indica que la salida tendr el valor especificado mientras que no se cambie de estado, sea cual sea el valor de las entradas. El estado de la variable/s de entrada se representa sobre las flechas de transicin.
1 0 A/0 1 0 0 G/1 B/0 0 1 1 C/0 1 D/0 1 0 E/0 0
1 F/0
En general, cualquier problema puede resolverse a travs de los dos modelos y ser, a medida que se dibuje el diagrama de estados de la mquina, cuando el diseador aprecie cual de las dos realizaciones es ms conveniente para el problema concreto. Aunque en la mayora de los casos ambos mtodos sean igualmente vlidos, la realizacin de Moore presenta una mayor inmunidad al posible ruido de las entradas.
Estado
Salida
Como se puede observar en la Figura 3.40, la salida ser siempre 0 mientras se encuentre en el estado A. Por lo que, para pasar al siguiente estado (B), en la entrada tendr que haber un 1 en las cercanas del flanco de reloj. En el modelo de Mealy, los crculos que representan los estados internos contienen la denominacin de dicha variable, que en este caso va sola sin indicar el estado de salida. La variable/s de entrada se representa sobre la flecha de transicin al igual que la variable de salida, indicando de esta forma que en el modelo de Mealy la salida depende del estado interno en el que se encuentra y del valor de la variable de entrada en cada instante. Segn ambos diagramas de estados, tenemos un estado inicial A. Este detalle es de suma importancia: todo sistema secuencial debe empezar a funcionar a partir de un estado conocido, ya que al conectar la alimentacin al sistema, los flip-flops del mismo tendern a un determinado estado (cero o
ITES-PARANINFO
57
Sistemas secuenciales
uno), resultando una combinacin aleatoria que puede corresponder a un estado que ni siquiera est definido en el diagrama con lo que el funcionamiento del sistema sera, en principio, impredecible. Para evitar que esto pueda suceder, inicializaremos los flip-flops al estado deseado mediante las entradas asncronas preset y clear de los mismos.
1/0 E 0/0 F
Estado Entrada actual A A B B C C D D E E F F G G 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Modelo Mealy Modelo Moore
si se trata del mtodo de Moore. Es decir, debe ser capaz de memorizar seis o siete estados diferentes dependiendo del mtodo empleado. El nmero de biestables (n) necesarios para materializar la memoria del sistema depende del nmero de estados del mismo (N), segn la relacin: N 2n. En este caso como N=6 y 7, son necesarios 3 biestables para codificar los estados del detector de secuencia. La Tabla 3.17 presenta la asignacin de los estados, donde FF0, FF1 y FF2 son los 3 biestables necesarios.
0/0 A
1/0 0/0
0/1 Entrada/Salida Figura 3.41. Diagrama de estados del detector de secuencia (Mealy).
En el momento de poner en marcha el sistema, ste evolucionar al estado A donde se quedar a la espera del primer uno, pasando despus a los siguientes estados si se dan las condiciones: l l l l B: Recibido el primer uno. C: Recibido dos unos consecutivos. D: Recibido tres o ms unos consecutivos. E: Recibido al menos tres unos consecutivos seguidos de un cero. l F: Recibido al menos tres unos consecutivos seguidos de dos ceros. l G (Moore) o A (Mealy): Recibido al menos tres unos consecutivos seguidos de tres ceros. El sistema activa su salida y se queda en su estado inicial a la espera de una nueva secuencia. b) Reduccin de estados equivalentes En algunas ocasiones es posible obtener un diagrama de estados ms reducido, eliminando estados equivalentes. El criterio a seguir a la hora de buscar estos estados redundantes es el siguiente: dos estados son equivalentes y pueden reducirse a un estado nico, si, y slo si, ambos estados evolucionan al mismo estado final, para cada una de las posibles combinaciones de las entradas, siendo adems las salidas asociadas a los estados las mismas. c) Tabla simblica de transiciones Esta tabla es otra forma de expresar el diagrama de estado de una forma ms adecuada para seguir con el resto del diseo. Se representa en una columna el estado actual, en otra el valor de la variable/s de entrada, en una tercera columna el estado futuro que representa al estado al que debe evolucionar y en la ltima la salida. En nuestro caso, como estamos analizando ambos modelos (Mealy y Moore), la Tabla 3.16 representa las dos ltimas columnas desglosadas en dos tipos. d) Codificacin de estados Hasta este momento hemos designado a cada estado interno con una letra por ser la forma ms cmoda para nosotros, pero como los elementos de memoria son binarios, habr que codificar estos estados en forma binaria. Como se observa la tabla simblica de transiciones, el sistema tiene seis estados si se trata del mtodo de Mealy y siete
ESTADO A B C D E F G
Con esta asignacin de cdigos de estado, la Tabla 3.16 se rescribe tal y como muestra la Tabla 3.18.
Estado Entrada actual 000 000 001 001 010 010 011 011 100 100 101 101 110 110 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Modelo Mealy Modelo Moore
Estado futuro Salida Estado futuro Salida 000 001 000 010 000 011 100 011 101 001 000 001 0 0 0 0 0 0 0 0 0 0 1 0 000 001 000 010 000 011 100 011 101 001 110 001 000 001 0 0 0 0 0 0 0 0 0 0 0 0 1 1
Tabla 3.18. Sustitucin de las variables de los estados por el valor binario asignado.
58
ITES-PARANINFO
Sistemas secuenciales
e) Seleccin de los elementos de memoria En este punto se decide qu elemento va a ser utilizado como memoria en el diseo, es decir, flip-flops, rels, etc., para lo cual nos basaremos en las condiciones de velocidad y de simplificacin analizadas en el Apartado 3.5.4. En nuestro caso, utilizaremos flip-flops del tipo D. f) Tabla de excitacin Una vez seleccionado el tipo de memoria que vamos a emplear, y conociendo su tabla de excitacin (Tabla 3.14), la Tabla 3.18 se transforma en la tabla de excitacin del circuito que se representa en la Tabla 3.19.
Estado actual Q2 0 0 0 0 0 0 0 0 1 1 1 1 Q1 0 0 0 0 1 1 1 1 0 0 0 0 Q0 0 0 1 1 0 0 1 1 0 0 1 1 Entrada 0 1 0 1 0 1 0 1 0 1 0 1 Estado futuro Q2+ Q1+ Q0+ 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 1 0 1 D2 D1 D0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 1 1 0 1 Salida 0 0 0 0 0 0 0 0 0 0 1 0
h) Implementacin del circuito Partiendo de las ecuaciones obtenidas en el paso anterior, pasamos a la implementacin del circuito, tal y como se muestra en la Figura 3.43.
circuito combinacional
salida
D0
Para no hacer ilegible la Tabla 3.19, nos hemos decantado por uno de los mtodos, ya que el proceso de realizacin de ambos es idntico. g) Simplificacin de las funciones de excitacin Una vez obtenida la tabla de excitacin del detector de secuencia, el problema se reduce a obtener las funciones de las tres excitaciones (D2, D1 y D0) y de la salida en funcin de Q2, Q1, Q0 y la entrada. Para ello, utilizamos los mapas de Karnaugh como se indica en la Figura 3.42.
Q2 Q 1 Q0 Entrada 00 01 11 10 00 Q2 Q 1 01 11 10 Q0 Entrada 00 01 11 10 00 01 11 10
CLR
Q Q
Q0 Q0
CLK
FF0
D1
CLR
Q Q
Q1 Q1 Q2 Q2
CLK
RST
FF1
D2
CLR
Q Q
0 0 0 0
0 0 0 1
0 0 0 0
1 0 0 0
0 0 1 0
0 1 1 0
0 0 0 0
0 0 0 0
CLK
CLK
memoria
FF2
entrada
D2= (Q2Q1Q0E)+(Q2Q1 Q0 E)
D1= (Q2Q1E)+(Q2Q0 E)
Q2 Q 1 Q0 Entrada 00 01 11 10 00
Q2 Q 1
0 1 0 0
01
0 1 1 0
11
0 0 0 0
10
1 1 1 0
Q0 Entrada 00 01 11 10
00
0 0 0 0
01
0 0 0 0
11
0 0 0 0
10
0 0 0 1
Salida= (Q2Q1Q0E)
ITES-PARANINFO
59
Sistemas secuenciales
&
l l l
Ejercicios prcticos
MODO DE FUNCIONAMIENTO
Este circuito es un registro que permite todas las posibilidades de aplicacin explicadas. De ah su sobrenombre de universal. Para ello, dispone de dos entradas (S0 y S1) que seleccionan el modo de funcionamiento, cuatro salidas (Q0, Q1, Q2 y Q3) y de las siguientes seales: CLK: - Entrada de reloj activa en el flanco de subida. C LR: Entrada de puesta a cero activa a nivel bajo. DSR: Entrada de datos - desplazamiento hacia la derecha. l DSL: Entrada de datos - desplazamiento hacia la izquierda. l A, B, C y D: Entradas en paralelo.
Montar el circuito de la Figura 3.44 y completar el cronograma de la Figura 3.45, para cada una de las posibilidades de funcionamiento (en total 4 cronogramas, uno para S0=0 y S1=0, para S0=0 y S1=1, para S0=1 y S1=0 y otro para S0=1 y S1=1). Es recomendable, para realizar el ejercicio, escoger una frecuencia de reloj lo suficientemente baja para poder ver los cambios.
Una vez completado el cronograma de la Figura 3.47, responder a las siguientes cuestiones: a) Cul es el mdulo de contador? b) De cuntos bits es el contador? Con un contador de este nmero de bits cul es el nmero mximo de estados por el que podra pasar? c) Por qu es un contador asncrono y no sncrono? 3.3. Ensayo y experimentacin de un contador sncrono up/down Los circuitos XX190 y XX191 son contadores que permiten la cuenta tanto ascendente como descendente. La diferencia entre los dos radica en que, el XX190 cuenta en BCD (0 al 9) y el XX191 es un contador binario de 4 bits (0 al 15). En nuestro caso vamos a ensayar el primero, y de esta forma podemos llevar la salida a un display para visualizar el nmero de cuenta.
Una vez completados todos los cronogramas, sealar en la Tabla 3.20 los modos de funcionamiento de este registro universal segn la combinacin de las entradas S0 y S1.
60
ITES-PARANINFO
Sistemas secuenciales
Este circuito, adems de la entrada D/ U que selecciona el modo de cuenta, posee otra serie de prestaciones adicionales que se describen a continuacin: l Carga paralela de datos: Con un nivel bajo en la entrada L OAD permite de forma asncrona la carga en paralelo de los datos presentes en las entradas A, B, C y D. l Salida MAX/MIN: Esta salida da un pulso a nivel alto cuando el contador llega al estado - de cuenta 9 (1001(2) en modo ascendente (D/ U=0), o cuando el contador alcanza estado 0 (0000(2) en modo descendente (D/ U=1). l Entrada C T EN: Permite la habilitacin o inhabilitacin del circuito. Cuando est a nivel bajo, el circuito est habilitado y puede contar los flancos de subida que recibe. Por el contrario, si est a nivel alto, el contador est en modo hold. En dicho modo, ignora los flancos activos que le llega por la entrada de reloj y, por tanto, no cuenta. l Salida RCO: Esta salida se pone momentneamente a nivel bajo cuando el contador pasa por el estado ms alto de cuenta (9 en cuenta ascendente y 0 en cuenta descendente) como muestra el cronograma de la Figura 3.48.
A0 A1
A2 A3
QC QD
QA QB
CLK
A B C D
LOAD
CTEN
XX190
D/U
a b c d e f g
Vcc
RBO
MAX/ MIN
Vcc
-Las seales RCO, C T EN y MAX/MIN se utilizan para la ampliacin de contadores en paralelo. Una vez conocido el funcionamiento del contador, montar el circuito de la Figura 3.49 y completar el cronograma de la Figura 3.50 indicando el nmero que se visua-
Cmo conectara el circuito para que contara de forma descendente entre 7 y 4 (ambos incluidos)? Si es necesario utilice puertas lgicas. Montar el circuito diseado y comprobar su funcionamiento.
ITES-PARANINFO
RBI
LT
BI/RBO
XX47
61
Sistemas secuenciales
&
Autoevaluacin
3.5 Un registro es...
a) Un grupo de biestables interconectados. b) Un contador sncrono. c) Un contador asncrono.
62
ITES-PARANINFO
Sistemas secuenciales
&
s to s e u p o r p s io ic c r Eje
3.5 Disear un circuito que divida una frecuencia patrn
entre 2, 4, 8 16 segn se seleccione con dos seales (P1 y P0) en binario. Para disear el circuito, usar exclusivamente contadores sncronos y multiplexores. mediante un pulsador (P0). Al activarse dicho pulsador, pasados 5 segundos, la alarma se activa. La alarma se desactiva mediante otro pulsador (P1). Al activar el pulsador P1, si la alarma estaba sonando, dejar de sonar transcurridos 10 segundos. Si, por el contrario, an no ha comenzado a sonar, no lo hace volviendo todo el sistema al reposo. Para medir los tiempos, se dispone de un temporizador que genera un pulso cada segundo.
Teniendo en cuenta los siguientes datos, determinar cul ser la frecuencia mxima de la seal de reloj a la que puede funcionar el circuito de la Figura 3.52. DATOS: tp (puertas lgicas): 15 ns tp (flip-flop D): 10 ns tset-up (flip-flop D): 2 ns thold (flip-flop D): 3 ns
Una vez iluminado el quinto LED, se realizar la misma secuencia pero en sentido inverso, iluminando el quinto y resto apagados. Luego se ilumina el cuarto y se apaga el quinto. Al llegar al primer LED, se repite el proceso de forma indefinida.
3.3 Disear un contador asncrono de mdulo 7 con biestables J-K y las puertas lgicas necesarias. tables D y las puertas lgicas necesarias.
un contador que cuente de forma ascendente del 50 hasta el 99. Una vez alcanzado este nmero, decrementa de uno en uno, hasta alcanzar el valor inicial. Una vez alcanzado el valor inicial, repite el proceso. El nmero de cuenta es visualizado en todo momento por dos displays de nodo comn.
ITES-PARANINFO
63