Docstoc

Ejercicios de Digitales usados por Ing. Herrera, EPN

Document Sample
Ejercicios de Digitales usados por Ing. Herrera, EPN Powered By Docstoc
					Ejercicios básicos de sistemas digitales

Javier García Zubía

Ejercicios básicos de sistemas digitales
4ª edición aumentada y corregida

2006 Universidad de Deusto Bilbao

Ninguna parte de esta publicación, incluido el diseño de la cubierta, puede ser reproducida, almacenada o transmitida en manera alguna o por ningún medio, ya sea eléctrico, químico, mecánico, óptico, de grabación o de fotocopia, sin permiso previo del editor.

Publicación impresa en papel ecológico Compuesto según diseño de JosuKa Díaz Labrador  Universidad de Deusto Apartado 1 – E-48080 Bilbao ISBN: Depósito Legal: Impreso en España/ Printed in Spain

Índice
1. Códigos binarios .......................................................................................1 2. Manipulación básica booleana..............................................................17 3. Diagramas de Veitch-Karnaugh ...........................................................33 4. Sistemas combinacionales a nivel de bit o de puerta lógica .............47 5. Sistemas combinacionales a nivel de palabra o MSI........................105 6. Biestables................................................................................................141 7. Registros y Contadores ........................................................................159 8. Autómatas..............................................................................................177

v

Prólogo
Uno de los principales cometidos de un profesor es facilitar el trabajo al alumno en la medida de lo posible, por ejemplo mediante este libro. Quede dicho esto en primer lugar para no llamar a nadie a engaño: éste no es un libro clásico de teoría, ni tampoco lo es de ejercicios resueltos. La enseñanza en clase de toda asignatura técnica tiene dos aspectos esenciales: la teoría y los ejercicios. Como el tiempo asignado a las clases es limitado, éste se dedica principalmente a la teoría; así en el tiempo restante, a veces escaso, el profesor plantea y resuelve ejercicios. Estos ejercicios de clase son completados con otros que el alumno deberá resolver fuera del horario de clase con el fin de asentar los conocimientos y habilidades adquiridas. Este libro tiene por objetivo facilitar la labor del alumno fuera de clase. Para ello no sólo se entregan los enunciados, sino que también se acompañan de las tablas y diagramas que ayuden en su resolución. De este modo el libro parece un crucigrama a completar por el alumno, con sus casillas inicialmente vacías. El libro facilita el desarrollo del curso y la comunicación entre el profesor y la clase. Ayuda al alumno a preguntar sus dudas y al profesor a detectar las lagunas en lo enseñado. Los ejercicios que aquí se presentan son de procedencia muy variada. La mayoría son originales, otros son los ejercicios típicos, además de los que ya han caído en examen (que tanto gustan a los alumnos), y de algunos han sido enunciados por los propios alumnos. Por último quiero agradecer a mis compañeros de curso Jose Antonio Aranguren y Alfonso Barba sus siempre acertados comentarios, ya que sin ellos este libro no sería tan completo Bilbao, julio de 2000

vii

Prólogo a la 2ª edición
Cualquiera que conozca la primera edición de este libro verá que ésta es en principio idéntica, pero ha cambiado algo. En primer lugar, he añadido a cada capítulo una breve introducción teórica. En estas 2 ó 3 páginas intento recordar al lector no tanto las bases teóricas de los ejercicios siguientes, sino sobre todo los métodos que debe aplicar para resolverlos. Algunos pensarán que esta introducción es demasiado breve, pero no quisiera desvirtuar el enfoque original del libro. A aquel que quiera profundizar en los aspectos teóricos le remito al libro “Sistemas Digitales” cuyos autores somos José Mª Angulo Usategui y yo mismo, y fue editado por Paraninfo en el año 2001. En segundo lugar, el lector podrá ver que han desaparecido algunos de los temas que se trataban en el anterior libro. Esto ha sido así para dejar sitio a nuevos ejercicios, y sobre todo para eliminar del libro enfoques y técnicas ya superadas. Un ejemplo de esto último es que en el libro ya no hay ejercicios de contadores asíncronos, pues éstos van (o deben) desaparecer de un curso reglado de electrónica digital. Por último, en el libro hay muchos ejercicios nuevos, sobre todo en los últimos capítulos, que son los más prácticos (los primeros simplemente fortalecen la metodología del alumno). Sólo cuando el lector se proponga resolver los ejercicios verá las nuevas incorporaciones. Éstas sobre todo se centran en los ejercicios combinacionales y secuenciales MSI o funcionales, es decir, aquellos que usan bloques como multiplexores, comparadores, contadores, etc. Estos nuevos ejercicios vienen a completar el hueco que tenía el primer libro, a cambio han desnudado un poco el libro, perdiendo el libro en estos temas su aspecto de crucigrama. Cabe decir que la complicación de estos nuevos ejercicios es baja. Primero porque el nivel del curso sigue siendo el básico, y segundo porque este tipo de sistemas está siendo implementado con dispositivos PLD más que con puertas lógicas, utilizando lenguajes de descripción hardware como ABEL, VHDL, etc.; técnicas y métodos que quedan totalmente fuera de este libro. Sólo me queda esperar que este libro siga siendo útil a aquellos profesores y alumnos que lo utilizan.

viii

Prólogo a la 3ª edición
En esta tercera edición poco cabe decir que no se sepa ya. Cada dos años sale una nueva edición. En ésta se añaden nuevos ejercicios, desaparecen otros y se corrigen los fallos. En resumen, una nueva edición aumentada y corregida. El objetivo del libro se mantiene: ayudar en el seguimiento del curso en el aula con ejercicios que refuercen o introduzcan lo aprendido. Desde este punto de vista, son los alumnos los que dan valor al libro. Los alumnos o profesores más interesados cuentan con una edición de estos ejercicios resueltos. La editorial Paraninfo ha publicado en el 2003 el libro “Problemas Resueltos de Electrónica Digital”. Por último, y como siempre, quiero agradecer a mis compañeros de asignatura sus aportaciones y recomendaciones para este libro, especialmente a Alfonso Barba por todos estos años juntos en la electrónica digital. Sigo contando con José Antonio Aranguren, Iván Trueba e Ignacio Angulo. Como siempre, estaré encantado de recibir comentarios o nuevos ejercicios a mi dirección de correo zubia@eside.deusto.es.

ix

1. Códigos binarios
Introducción metodológica
Resolver ejercicios de códigos es muy fácil, tanto que algunos prefieren liarse. En este tema se exige al alumno que sepa representar información binaria y operar con ella. La información común de nuestro mundo diario es alfanumérica, pero en el reducido campo de nuestra asignatura solo representaremos números, así que todo es más fácil. Volviendo a nuestro mundo, sabemos que estos números los representamos siempre en decimal, en el único código decimal que utilizamos. Este código por ser único no tiene ni nombre (sí lo tiene), es simplemente el decimal. Vayamos ahora al mundo digital, en él los números se representan en binario, pero frente al mundo real no existe un único código binario, existen muchos. La razón de que existan muchos códigos binarios es porque ninguno de ellos es lo suficientemente bueno para eliminar a los otros. Cada código binario está especializado en un campo, aunque hay un par de códigos binarios que están por todas partes: el código binario puro y el BCD puro. En este momento tenemos un código decimal y muchos binarios. Llamamos escribir a pasar de decimal a binario, y leer a pasar de binario a decimal. Esta descripción muestra un claro favoritismo a nuestro mundo; mejor sería decir que pasamos de un código a otro, o dicho más adecuadamente, que transcodificamos. Una vez que sepamos representar información binaria, debemos saber operar con ella. Como nuestro curso es básico, aprenderemos las operaciones básicas binarias, que son las lógicas y las aritméticas, siendo estas últimas las que más se practican en los siguientes ejercicios, donde sumaremos, restaremos y complementaremos. Resumiendo, debemos saber pasar del código decimal a cualquiera de los binarios, y viceversa, y sumar, restar y complementar en cualquier código binario. Empecemos por saber leer y escribir, y luego por sumar, restar y complementar.

1

Ejercicios de sistemas digitales

Transcodificación binario-decimal Antes de escribir o leer hay que saber de qué tipo de número estamos hablando: sin signo o con signo. Seguidamente hay que saber qué código estamos usando. De momento hay que distinguir entre códigos de palabra o de dígito. La diferencia metodológica estriba en que para usar el primer código hay que saberse una regla, y para usar el segundo hay que saberse una tabla. Pero ya estamos hablando de métodos, es momento de describirlos. Paso de decimal a código binario de palabra Dada una secuencia decimal, se le aplica con rigor la regla del código binario elegido, que puede ser, básicamente, uno de tres: binario puro, Gray y exceso. De decimal sin signo a binario puro sin signo Se divide sucesivamente el número decimal entre dos hasta que el cociente es 1 ó 0. En este momento el equivalente binario se obtiene leyendo el último cóciente y los restos de abajo arriba. Por ejemplo: 19 en decimal se escribe 10011 en binario puro 19/2=9 Resto=1 9/2=4 Resto=1 4/2=2 Resto=0 2/2=1 Resto=0 En realidad con poco tiempo de práctica nadie aplica este método, todos lo hacemos a ojo y con acierto. Al fin y al cabo tenemos que acabar escribiendo magnitudes en binario como en decimal; nuestro mundo también va a ser el digital binario. De binario puro sin signo a decimal sin signo Se obtiene el sumatorio de los bits ponderados con las correspondientes potencias de 2. Por ejemplo: 10011 en binario puro es 19 en decimal 10011= 1x24 + 0x23 + 0x22 + 1x21 + 1x20 = 16+0+0+2+1 Pero igual que en el caso anterior, nadie aplica esta regla tan larga como exacta, una vez que tengamos confianza leeremos directamente del binario. Al fin y al cabo, nuestro mundo es binario y no deberíamos pasar al decimal.

2

1. Códigos binarios

De decimal con signo a binario puro con signo en complemento a 1 o en complemento a 2. La regla de escritura es muy sencilla como muestra la siguiente tabla. Binario puro con C-1 positivos: binario puro y añadir 0 negativos: C-1 del positivo decimal binario puro +13 1101 -13 +1 1 -1 0 0 Binario puro con C-2 positivos: binario puro y añadir 0 negativos: C-2 del positivo binario puro con C-2 01101 10011 01 11 00

binario puro con C-1 01101 10010 01 10 00

De decimal con signo a binario puro con exceso a 2n-1-1 y 2n-1. Lo primero es decir que ese valor n se refiere al número de bits utilizados. Bueno, pues escribir en este código es tan sencillo como saber sumar en decimal y escribir en binario puro. La regla es sumar el exceso (por eso se llama así el código) al decimal original y luego codificar esta suma en binario puro sin signo. En la tabla de ejemplos consideraremos que los bits son siempre 5. decimal +13 -13 +1 -1 0 binario puro con X16 (13+16)=29 → 11101 (-13+16)=3 → 00011 (+1+16)=17 → 10001 (-1+16)=15 → 01111 (0+16)=16 → 10000 binario puro con X15 (13+15)=28 → 11100 (-13+15)=2 → 00010 (+1+15)=16 → 10000 (-1+15)=14 → 01110 (0+15)=15 → 01111

Paso de cualquier código binario de palabra a decimal En este caso basta con aplicar el método inverso de cada código. No es necesario alargar más esta parte de la metodología. Solo un consejo: debéis aplicar con rigor y sin miedo la regla del código utilizado, no valen excepciones. En esto se diferencia el lenguaje binario del humano.

3

Ejercicios de sistemas digitales

Paso de decimal a código binario BCD Si los anteriores códigos se basaban en una regla, éstos se basan en una tabla. El método consiste en sustituir cada dígito decimal por los cuatro bits correspondientes. A continuación se ofrece una tabla con alguno de los códigos BCD, con los más comunes. decimal 0 1 2 3 4 5 6 7 8 9 BCD puro 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 BCD XS3 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 Aiken 0000 0001 0010 0011 0100 1011 1100 1101 1110 1111 BCD 5421 0000 0001 0010 0011 0100 1000 1001 1010 1011 1100

Algunos alumnos tienen tendencia a buscar y aprender la regla que subyace en esta tabla, pero no siendo esto malo debe recordarse que la que manda es la tabla, no la regla intuida. decimal 42 75 00 99 BCD puro 0100 0010 0111 0101 0000 0000 1001 1001 BCD XS3 0111 0101 1010 1000 0011 0011 1100 1100 Aiken 0100 0010 1101 1011 0000 0000 1111 1111 BCD 5421 0100 0010 1010 1000 0000 0000 1100 1100

Para pasar de un código BCD a decimal habrá que aplicar la tabla inversa a cada grupo de cuatro bits. Parece sencillo aunque tiene alguna particularidad. Visto cómo escribir y leer en binario puro queda saber cómo operar con esos números representados. Paso de binario a código Gray Si bien hay una relación relación entre el decimal y el Gray, realmente el Gray se relaciona con el binario. Las reglas de transformación GrayBinario, y viceversa, son muy sencillas. A continuación se muestra la correspondiente a 4 bits.

4

1. Códigos binarios

Binario → Gray g3=b3 g2=b3⊕b2 g1=b2⊕b1 g0=b1⊕b0

Gray → Binario b3=g3 b2=g3⊕g2 b1=g3⊕g2⊕g1 b0=g3⊕g2⊕g1⊕g0

Operaciones con información binaria Básicamente hablamos de operaciones lógicas: AND, OR, NOT, etc. y aritméticas: suma, resta y complemento. Las primeras serán vistas en el siguiente capítulo, pasemos a las aritméticas. Una vez más todo pasa por aplicar el método rigurosamente, y habrá tantos como códigos binarios utilicemos. Suma en binario puro sin signo Este es la suma básica, y es tan sencilla como sumar en decimal. La tabla de la suma es: 0 + 0= 0 y me llevo 0 (S=0 y C=0) 0 + 1= 1 y me llevo 0 (S=1 y C=0) 1 + 0 = 1 y me llevo 0 (S=1 y C=0) 1 + 1 = 1 y me llevo 1 (S=0 y C=1) Suma en binario puro con signo en complemento a 2 1. Sumar las secuencias binarias según la regla del binario puro. 2. Despreciar el acarreo final. 3. Habrá desborde si los dos últimos acarreos son distintos. Suma en binario puro con signo en complemento a 1 1. Sumar las secuencias binarias según la regla del binario puro. 2. Recircular el acarreo final, volverlo a sumar en el primer bit. 3. Habrá desborde si los dos últimos acarreos son distintos. Complemento a 1 de una secuencia binaria 1. Negar los bits, los 0 se convierten en 1, y viceversa. Complemento a 2 de una secuencia binaria 1. Complementar a 1. 2. Sumar 1, despreciando el acarreo final si se produce. Resta en binario puro con signo en complemento a 1 1. Complementar a 1 el sustraendo.

5

Ejercicios de sistemas digitales

2.

Sumar el minuendo y el sustraendo negado según la regla del C1.

6

1. Códigos binarios

Resta en binario puro con signo en complemento a 2 1. Complementar a 2 el sustraendo. 2. Sumar el minuendo y el sustraendo negado según la regla del C2. Como consejos finales: • Identifica bien cuál es el código de partida y cuál es el de llegada. • Identifica si el número a leer o escribir tiene signo o no. • Ten presente (a la vista) la regla o tabla que vas a aplicar. • Aplica el método o tabla radicalmente. • Recuerda que un código es algo arbitrario y no necesita de tu inteligencia. • Comprueba el resultado en la medida de lo posible: si has pasado de A a B, siempre podrás darle la vuelta y ver si obtienes de nuevo A.

7

Ejercicios de sistemas digitales

Ejercicios
1.1 Pasa de decimal a binario, y viceversa.

Binario Decimal 01 1101 1100 1111 0011 0101 1010 0000 000000 110011 10101 0100011 01111000 0110011 000000011 11011 011 100000001 00110

Decimal 1 7 9 12 34 32 33 01 00001 100 205 63 64 4 56 62 1023 0000 015

Binario

8

1. Códigos binarios

1.2

Convierte entre sí los siguientes números hexadecimales y binarios.

Hexadecimal 12A 3C0 4 FF D1A 11

Binario

00100110 010100001 11001101100 10000 1000 01001

9

Ejercicios de sistemas digitales

1.3

Pasa de decimal a BCD puro, y viceversa.

DEC. 4 32 63 0 1 00 36 12 04 100

BCD puro

00110010000 01100011 00000000 01000010 10000111 000100000000 0010 000010011001 00111100

10

1. Códigos binarios

1.4

Anota para cada número de bits, el rango de valores asociado a cada código. Anota fuera de la tabla las expresiones generales para cada código.

Núm. bits BP sin signo 1 2 3 4 5 6 7 8 9 10

BP con C-2

11

Ejercicios de sistemas digitales

1.5

Anota para cada secuencia binaria la secuencia decimal que le corresponde, según sea el código en el que se lea dicha secuencia binaria.

Secuen. Binaria 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Según BP sin Según BP con signo signo en C-2

12

1. Códigos binarios

1.6

Codifica las siguientes magnitudes decimales con signo en el código binario puro con signo en C-2. Selecciona cuidadosamente el número de bits para codificar cada número.

Decimal +15 +36 +8 +1 +0 -10 -4 -9 +17 -17 -001 -106 -64 -63 +36 -44 -0 -99 -1585 +1260

Binario con C-2

13

Ejercicios de sistemas digitales

1.7

Obtén el número decimal con signo correspondiente a cada secuencia binaria codificada en binario puro con signo en C-2.

Decimal leído Binario según BP con C-2 100 00111 10100 11000 10011101 1100 011111 10000 11111 01111 1111 10010100 11111111 1011001 0000001

14

1. Códigos binarios

1.8

Completa las siguientes sumas binarias, indicando en cada caso si ha habido o no desborde. Comprueba los datos anotando a la izquierda los resultados decimales. Binario Puro Dec. Binario Puro

Dec.

+

1100 01

00110 + 110

101000 + 000001

11000 + 10011

11001 + 1111001010

010 + 00010

1001001010 +1000010011

0100001 +0111101

111111111 + 1

11011010 + 1110000101

15

Ejercicios de sistemas digitales

1.9

Completa las siguientes sumas binarias en BP con signo en C-2, indicando en cada caso si ha habido o no desborde. Y viceversa. Binario con signo en C-2 Decimal Binario con C-2

Dec.

00101 + 11100

(5) + (-3)

11010 + 00011

(-5) + (3)

0001101 + 1101000

(00) + (-12)

1111001 + 0110000

(-12) + (-20)

0011 + 1100

(-37) + (37)

16

2. Manipulación básica booleana
Introducción metodológica
En este capítulo practicarás con las bases del álgebra de Boole y sus representaciones. Si en el anterior capítulo hemos presentado unos métodos que han de ser aplicados con rigidez, qué decir de este capítulo en el que practicaremos con un álgebra, la de Boole. En esta introducción no daremos muchos ejemplos porque la alargarían innecesariamente. Operadores básicos y no básicos booleanos Recordemos los operadores lógicos o booleanos. A 0 0 1 1 B 0 1 0 1 A+B 0 1 1 1 A⋅B 0 0 0 1 A 1 1 0 0 (A+B) 1 0 0 0 (A⋅B) 1 1 1 0 A⊕B 0 1 1 0

Obtener la tabla de verdad de cualquier expresión booleana Simplemente habrá que sustituir las variables por las combinaciones de 0 y 1 y operar según la anterior tabla. El proceso es lento pero infalible. No merece la pena correr. Por ejemplo, para obtener la tabla de verdad de f= B ⋅(A+C⋅ (A+B) ) habría que plantear una tabla con 8 filas, de 000 a 111. Para cada una de las filas habría que proceder como para 000: f(000) = 0 ⋅(0+0⋅ (0+0) ) = 1⋅(0+0⋅ (1)) =1⋅0 = 0 Lo rápido que cada uno quiera ir es una cuestión libre, pero sólo habrá un resultado correcto, un solo resultado lógico.

17

Ejercicios de sistemas digitales

Demostración de un teorema booleano por inducción perfecta Al menos tenemos dos caminos para demostrar un teorema: el clásico método algebraico y el particular de la inducción perfecta. Este último camino dice que si se comprueba la veracidad de un teorema para todos las posibles combinaciones de entrada, entonces el teorema lo es en conjunto. O sea, que si se cumple para cada caso, se cumple en general. Este camino se puede usar en álgebra de Boole porque las variables tienen sólo dos valores posibles: 0 y 1, mientras que en nuestra álgebra no, porque cada variable puede tomar infinitos valores. Obtener la forma normal de una tabla de verdad 1. Forma normal disyuntiva: sumar los minitérminos con un 1 en f. 2. Forma normal conjuntiva: multiplicar los maxitérminos con un 0 en f Obtener la tabla de verdad de un circuito lógico La operación es tan lenta como sencilla: asignar a las variables los 0 y 1 de una fila de la tabla de verdad, y seguir el efecto de estos bits a través de las puertas hasta llegar a la salida. Por ejemplo, la siguiente figura muestra la obtención de la salida del circuito para la entrada 000
0 0 Ai Bi Ci-1 0 0 0 0 0 0 0 0

0 Ci 0 0 0 Si 0 0

Si(000) = 0 y Ci(000) = 0 Visto cómo obtener una fila de la tabla, las demás son tan fáciles como lentas de obtener.

18

2. Manipulación básica booleana

Negar una expresión booleana Para negar una expresión booleana cualquiera basta con aplicar el teorema de Demorgan recursivamente: 1. La negación de una suma es el producto de las variables negadas. 2. La negación de un producto es la suma de las variables negadas. Negar una suma de productos (SOP) o un producto de sumas (POS) 1. Una SOP negada se convierte en una POS con las variables negadas. 2. Una POS negada se convierte en una SOP con las variables negadas. Implementación de una expresión booleana Basta con sustituir cada operador lógico algebraico por su operador lógico gráfico: cambiar símbolos por gráficos. Implementación de una suma de productos (SOP) Aparecen dos niveles: el primero con tantas AND como productos parciales y el segundo con una sola OR para la suma global. Implementación de un producto de sumas (POS) Aparecen dos niveles: el primero con tantas OR como sumas parciales y el segundo con una sola AND para el producto global. Implementación de funciones sólo con NAND o con NOR Cualquier expresión booleana puede ser implementada solo con NAND o con NOR. Implementación de una SOP con NAND: 1. negar cada sumando original, 2. cambiar las sumas por productos, 3. negar la expresión en conjunto e 4. implementar en dos niveles con NAND.

19

Ejercicios de sistemas digitales

Implementación de una POS con NOR: 1. negar cada factor original, 2. cambiar los productos por sumas, 3. negar la expresión en conjunto e 4. implementar en dos niveles con NAND. SOP con NAND f = xy+ x y + y z f = f1+f2+f3 f= f= f= f = f1+f2+f3 POS con NOR f = (x+y)( x + y )( x + z ) f = f1·f2·f3 f= f= f = f1·f2·f3

f1 · f2 · f3 xy · x y · x y z

f1 + f2 + f3

f = x+y + x + y + x + z

20

2. Manipulación básica booleana

Ejercicios
2.1 Obtén en la tabla de verdad la columna resultado de cada una de las siguientes funciones. f1 = A⋅B⋅C f3 = A⋅(B+ C ) f5 = B ⋅(A+C⋅ (A+B) ) f7 = (A+B)⋅( A + B ) f2 = A+B+C f4 = (A+B)⋅(B+C) f6 = (A+C)⋅ (B⋅(C+B)) f8 = A+B⋅(A+C⋅B(A+B))

ABC 000 001 010 011 100 101 110 111

f1

f2

f3

f4

f5

f6

f7

f8

21

Ejercicios de sistemas digitales

2.2

Demuestra los teoremas principales utilizando el método de inducción perfecta. Es decir, completa las correspondientes columnas de la tabla de verdad y comprueba que son idénticas.

Teoremas de una variable Elem. Identidad X 0 1 0+X X 1⋅X El. Complementario 1 X⋅ X 0

X X+ X

Prop. Idempotencia X 0 1 X+X X X⋅X X

Elemento Nulo X+1 1 X⋅0 0

Teoremas de dos variables Teorema de Absorción X Y X+X⋅Y X X⋅(X+Y) X 00 01 10 11 Teorema de Demorgan (X+Y) ( X ⋅ Y ) (X⋅Y) ( X + Y )

22

2. Manipulación básica booleana

Teoremas de tres variables Propiedad Distributiva X Y Z X⋅(Y+Z) 000 001 010 011 100 101 110 111 X⋅Y+X⋅Z X+(Y⋅Z) (X+Y)⋅(X+Z)

Teorema de Demorgan Extendido X Y Z (X+Y+Z) 000 001 010 011 100 101 110 111 X Y Z (XYZ) X +Y +Z

23

Ejercicios de sistemas digitales

2.3

Aplica el teorema de Demorgan a las siguientes sumas de productos (SOP) y productos de sumas (POS).

f1 f2 f3 f4 f5

AB+CD = A B +D = D +A C D B = D = =

A+BC+BD+ B ABCD+ A A +B B

C + B C D +A C

f6 f7 f8

AB+AC+A B D+ A ABCD = (A+B)+(C+D) =

C

=

f9 = ( A + C )( A +D)( A +C+ D )(B+D)

f10 (B+D)(A)(A+ C +D)( A +C+D) =

24

2. Manipulación básica booleana

2.4

Pon al lado de cada igualdad Verdadero (V) o Falso (F).

x+1 = x·1 (x+y) = x + y (x·y) = x · y (x· (y·z) ) = ( (x·y) ·z)

x+ x = x+1 x+x = x·x x+(x·y) = x·(x+y) 0+x = 1·x

(x+ (y+z) ) = ( (x+y) +z)

x· x = x·0

25

Ejercicios de sistemas digitales

2.5

Dibuja los circuitos lógicos correspondientes a las expresiones SOP y POS de f1, f4, f8 y f10 del ejercicio 2.3.

26

2. Manipulación básica booleana

2.6

Analiza los siguientes circuitos obteniendo las correspondientes tablas de verdad.

Ai Bi Ci-1

Ci

Si

X/Ai 0 0 0 0 1 1 1 1

Y/Bi 0 0 1 1 0 0 1 1

Z/Ci-1 0 1 0 1 0 1 0 1

f1

f2

Si

Ci

27

Ejercicios de sistemas digitales

2.7

Analiza el siguiente circuito obteniendo su tabla de verdad.
B3 B2 B1 B0

X3

X2

X1

X0

B3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

B2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

X3

X2

X1

X0

28

2. Manipulación básica booleana

2.8

Analiza el siguiente circuito obteniendo su tabla de verdad.

E7 E6 E4 E3 E2 E1 E0

S2

S1

S0

E7 1 0 0 0 0 0 0 0 0 0 1 1

E6 0 1 0 0 0 0 0 0 0 0 0 1

E5 0 0 1 0 0 0 0 0 0 0 0 1

E4 0 0 0 1 0 0 0 0 0 1 0 1

E3 0 0 0 0 1 0 0 0 0 1 0 1

E2 0 0 0 0 0 1 0 0 0 1 0 1

E1 0 0 0 0 0 0 1 0 0 0 0 1

E0 0 0 0 0 0 0 0 1 0 0 1 1

S2

S1

S0

29

Ejercicios de sistemas digitales

2.9

Analiza el siguiente circuito obteniendo su tabla de verdad.
A2 A1 A0 EI

S0

S1

S2

S3

S4

S5

S6

S7

EI A2 A1 A0 S7 S6 S5 S4 S3 S2 S1 S0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 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

30

2. Manipulación básica booleana

2.10

Analiza el siguiente circuito obteniendo su tabla de verdad.
D0 D1

D2 D3

BPI1

D4 D5

D6

D6 0 1 0 1 0 0 0 1 1 1 0 1

D5 0 0 1 1 0 1 0 1 1 1 0 1

D4 0 1 0 1 0 1 0 1 1 1 0 1

D3 0 0 1 1 0 0 0 0 1 1 0 1

D2 0 1 0 0 1 1 0 0 1 1 0 1

D1 0 0 1 0 1 0 1 0 1 0 0 1

D0 BPI1 0 1 0 0 1 0 1 1 0 0 1 1

31

3. Diagramas de VeitchKarnaugh
Introducción metodológica
Este capítulo está dedicado a los diagramas de Veitch-Karnaugh, a cómo escribirlos y a cómo leerlos (simplificarlos). La razón porque la que estos diagramas tienen un capítulo para sí es que se utilizan mucho a lo largo de la asignatura, y que si bien es muy fácil escribirlos, no lo es tanto simplificarlos. Escritura u obtención de un V-K a partir de la tabla de verdad Partiendo de una tabla de verdad para obtener el V-K: 1. Dibujar el V-K y asignar las variables con cuidado. 2. Recordar qué casilla se relaciona con cada fila de la tabla. 3. Escribir sólo los 1 y las X de la tabla verdad en el V-K. La relación entre casillas y filas es fija. Para 3 y 4 variables:
A 0 B 2 4 6 5 7 C 1 3

A 0 B D 4 5 1 8 12 13 9

C 10 14 15 11 2 6 7 3

Simplificación o lectura de un V-K Si escribir un V-K es algo directo, simplificarlo no lo es tanto. Simplificar es una habilidad; es un método heurístico, es decir, hay simplificaciones fáciles y difíciles, y la experiencia del alumno es importante. Antes de dar las pautas de simplificación recordemos que simplificar es rodear todos los 1 con el menor número de lazos, siendo éstos del mayor tamaño posible. A veces es importante aplicar esta definición para quitarnos las dudas que pueden aparecer por espejismos estéticos. Para simplificar un V-K podemos seguir el método canónico o el intuitivo.

33

Ejercicios de sistemas digitales

Método canónico Método intuitivo Formar los lazos de 1 que no Formar el lazo o lazos más puedan ser de 2 grande. Formar los lazos de 2 que no Formar el siguiente lazo más puedan ser de 4 grande. Seguir así hasta rodear todos los Seguir así hasta rodear todos los 1. 1. El mejor método es el canónico, pero el que mejor se acomoda a nuestra forma de hacer las cosas es el intuitivo. En las simplificaciones fáciles aplicaremos la intuición, y en las difíciles el canónico y la definición general. Para aprender a simplificar basta con practicar. Antes de empezar, ahí van unos pocos consejos: • se puede simplificar mucho o poco, pero nunca mal, • no importa que los lazos se crucen entre sí (es lo que se busca), • una casilla puede pertenecer a varios lazos (es lo que se busca), • desterrar ciertos gustos estéticos a la hora de simplificar, • resolver las situaciones incómodas con algo de ingenio, • la función simplificada no tiene por qué ser única, • nunca formar un lazo con sólo X, • los lazos han de ser de 1, 2, 4, 8.... casillas, • un V-K es un cilindro doble: arriba-abajo, dcha-izqda y • los lazos han de ser cuadrados, tiras, etc.

34

3. Diagramas de Veitch-Karnaugh

Ejercicios
3.1
f1

Simplifica las funciones representadas por su diagrama V-K. C A 1 B 1 1 1 1 1 1 1 1 1 1 1 1 D B 1 1
f2

C A 1 1 1 1 1 1 1 1

D

C
f3

C
f4

A 1

A 1 1 1 1

B D 1

1 1

1 1 1 1 D

B 1 1

C
f5

C
f6

A 1 1 1 1 1 1 D

A 1 1 1 1 1 1

B D

1 1

B

1 1

1 1

35

Ejercicios de sistemas digitales

C
f7

C
f8

A 1 1 1 1 1 D

A 1 1 1 1 1 1 1 1 1

B D

1 1 1

B

C
f9

C
f10

A 1 1 1 1 1 1 1 1 1 D

A 1 1 1 1 1 1

B D

B

1 1

C
f11

C
f12

A 1 1 1 1 1 1 1 D

A 1

B D

1

B 1

1 1

1 1 1

1

36

3. Diagramas de Veitch-Karnaugh

C
f13

C
f14

A

A 1

B D

1 1 1

1 1

1 1

1 D

B 1

1 1

1

1 1 1

C
f15

C
f16

A 1

A 1 1 1 1 1 1 1 1 1 1 1

B D 1 1 1 1

1 D

B

1 1

C
f17

C
f18

A 1

A 1 1 1 1 1 1 1 1 1

B D 1 1 1 1

1 D

B

1 1 1

1 1 1

37

Ejercicios de sistemas digitales

C
f19

C
f20

A 1 1 1 1 1 1 1 1 1 1 D 1

A 1 1 1 1 1 1 1 1 1 1 1 1 1 1

B D

1 1 1

B

C
f21

C
f22

A 1 1 1 1 1 1 1 1 1 1 1 1 1 D

A 1 1 1 1 1 1 1 1 1

B D

1 1 1

B

1

C
f23

C
f24

A 1 1 X 1 X X X X D

A 1 1 X

B D

B

1 1

X X

38

3. Diagramas de Veitch-Karnaugh

C
f25

C
f26

A 1

A X 1 1 X 1 1 X X X 1 1 X

B D

X X

X X

1 1 1 D

B

X 1

C
f27

C
f28

A 1 1 X 1 X D

A 1 X 1 X 1 1 X

B D

1 1

X 1 1

B

X 1 X

C
f29

C
f30

A 1 1 1 1 X D

A

B D

1 1 X

X 1 X

1 1 X

B 1 1

1 X

1 1 X

39

Ejercicios de sistemas digitales

C
f31

C
f32

A X X 1 1 1 1 1 1 1 X 1 D

A 1 X X 1 1 X

B D

1 1

B

1

X 1

C
f33

C
f34

A X 1 X 1 X D

A 1 X 1 1 X X X X 1 1 1 1 1

B D

B

1 1 X

C
f35

C
f36

A X 1 X 1 1 1 X D

A X X X X X X X X X X X X X

B D

1 1

1 X

B

X X X

40

3. Diagramas de Veitch-Karnaugh

C
f37

C
f38

A 1 1 1 1 1 X X X X X X X X D

A X X X X X X X X

B D

1 1 1

B X X

X 1 X

C
f39

C
f40

A 1 1

A 1 1 1 1 1 1 1 1

B D 1

1 1 1 D

B

C
f41

C
f42

A 1 1 1 1 1 1 1 D

A 1 1 1 1 1 1 1 1 1 1

B D

1

B

41

Ejercicios de sistemas digitales

C
f43

C
f44

A 1 1 1 1 1 1 D

A 1 1 1 1 1 1 1 1 1 1 1

B D

1 1

1 1

B

1 1

C
f45

C
f46

A 1 1 1 1 1 1 D

A 1 1 1 1 1 1 1 1

B D

B

C
f47

C
f48

A 1 1 1 1 1 1 1 1 1 1 1 D

A 1 1 1 1 1 1 1 1 1 1 1 1

B D

1

B

1 1 1

42

3. Diagramas de Veitch-Karnaugh

C
f49

C
f50

A

A 1 1 1 1 1 1 X 1 X 1 X

B D

1 1 X X X D

B

1 1

C
f51

C
f52

A 1 1 X X X X X 1 D

A X X X

B D

1 X

B

X

C
f53

C
f54

A 1 1 1 D

A X X X X X X X 1 X X X

B D

1 1

X X

1

B

X X 1

43

Ejercicios de sistemas digitales

C
f55

C
f56

A

A X 1 1 1 1 X X X 1 1 1

B D X 1 X X 1 X D

B

X 1

C
f57

C
f58

A X 1 X D 1 1

A

B D X 1

1 1 1

B

C
f59

C
f60

A X X 1 1 X X X D

A X X X X X

B D

X X

1 1 X

B

X X X

44

3. Diagramas de Veitch-Karnaugh

C
f61

C
f62

A 1

A X

B D 1 1 1 1

1 1 1 D

B 1 1

X X

X X X X X

C
f63

C
f64

A 1 1 1 1 1 1 1 1 1 1 D 1

A 1 X X X X 1 1 1

B D

B

1 1

X X 1

C
f65

C
f66

A 1 1 X X 1 X X X 1 D

A 1 1 X X 1 X X X 1

B D

1

B

1 1

45

4. Sistemas combinacionales a nivel de bit o de puerta lógica
Introducción metodológica
En los anteriores capítulos hemos practicado con distintas herramientas básicas de análisis y diseño. Ahora con la caja de herramientas medio llena es momento de abordar diseños de cierta complejidad. Todo lo que vamos a hacer es aplicar los métodos vistos antes. La relación siguiente muestra el flujo de diseño (descendente) y el de análisis (ascendente). Con el diseño vamos con paso firme (gracias a los métodos) hacia una meta (el circuito lógico), y con el análisis comprobamos sin dudas (gracias a los métodos) que la meta alcanzada es la esperada (gracias a las especificaciones) • Descripción textual del sistema a diseñar. • Determinación de las variables de entrada y salida. • Tabla de verdad. • Forma normales. • Diagramas de Veitch-Karnaugh. • Expresiones mínimas. • Expresiones NAND/NOR u otras. • Circuito lógico. • Implementación mediante CI’s de puertas lógicas. Todos los pasos de esta lista son conocidos y dominados por el alumno, ahora solo debe aplicarlos con orden. El alumno debe saber que la calidad de todo el diseño depende de la tabla de verdad; de su verdad. Para obtener una correcta tabla de verdad son válidos algunos consejos: • lo bien escrito que esté el enunciado es muy importante,

47

Ejercicios de sistemas digitales

•

plantea siempre 2n filas en la tabla de verdad, no quites filas,

48

4. Sistemas combinacionales a nivel de bit o de puerta lógica

• • • • • • •

cada fila es una pregunta, la respuesta es la salida, entiende el enunciado o pide aclaraciones, la salida solo puede ser 0 ó 1, si no es una será la otra, utiliza las condiciones libres con responsabilidad, aunque una X no se deba dar, puede llegar a darse por desgracia, si tienes dudas con una fila, pasa a la siguiente y completa la tabla despacio, leyendo cada fila de entrada y escribiendo cada salida con cuidado y agilidad.

49

Ejercicios de sistemas digitales

Ejercicios
4.1 Tres sensores binarios miden una señal. Diseña el circuito digital que ofrezca en la salida el valor representativo de los tres sensores, es decir, el valor mayoritario. S2 0 0 0 0 1 1 1 1 S1 0 0 1 1 0 0 1 1 S0 0 1 0 1 0 1 0 1 S

50

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.2

Diseña el mínimo circuito capaz de dividir dos números naturales de dos bits cada uno (A1A0 y B1B0), para obtener su cociente y resto. A1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 C1 C0 R1 R0

Formas canónicas

51

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

52

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.3

Implementa el mínimo circuito capaz de multiplicar dos números en binario puro de dos bits cada uno. (A1A0 y B1B0). A1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 S3 S2 S1 S0

Formas canónicas

53

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

54

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.4

Diseña el mínimo circuito que implemente el C-2 de un numero de cuatro bits. E3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 E2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 E1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 E0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 C3 C2 C1 C0

Formas canónicas

55

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

56

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.5

Obtén el circuito mínimo capaz de obtener el C-9 de un numero BCD. B3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 C93 C92 C91 C90

Formas canónicas

57

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

58

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.6

Diseña un circuito combinacional capaz de detectar un error en la codificación de un numero decimal en BCD. B3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 E

Formas canónicas

59

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

60

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.7

Tenemos cuatro tanques (A, B, C y D). Los tanques A y B tienen un sensor que se activa cuando el nivel es demasiado alto. Por otra parte, los tanques C y D tienen un sensor que se activa cuando la temperatura es demasiado baja. Construir el diagrama lógico que activa la alarma cuando A o B tienen un nivel demasiado alto, o cuando la temperatura de C o D es demasiado baja. A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 AL

Formas canónicas

61

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

62

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.8

Una veleta indica mediante cuatro señales N, S, E y O qué viento sopla, si es que sopla. Diseña el circuito mínimo que decodifique las anteriores señales sobre un 7-segmentos, según el siguiente criterio: • Si sopla del norte se activa el segmento a; si del sur, d. • Si sopla del este se activan b y c; si del oeste, se activan e y f. • Si sopla del noreste se activan a y b; si del noroeste, a y f. • Si sopla del sureste se activan c y d; si del suroeste, d y e. N 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 S 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 E 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 O 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 a b c d e f g

Formas canónicas

63

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

64

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.9

Repetir el ejercicio anterior pero en caso de que las señales aporten información errónea se excitará todo el 7 segmentos. S 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 E 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 O 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 a b c d e f g

N 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Diagramas de Veitch-Karnaugh

65

Ejercicios de sistemas digitales

66

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.10

Implementa el mínimo circuito decodificador BCD a 7 segmentos. B2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 a b c d

correspondiente

a

un

B3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

e

f

g

Diagramas de Veitch-Karnaugh

67

Ejercicios de sistemas digitales

68

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.11

Cuatro señales de entrada A3, A2, A1 y A0 representan una cantidad binaria que proviene de un circuito de control de presión de una bomba hidraúlica. Diseña un circuito lógico que active la señal VERDE cuando el valor binario de las entradas esté comprendido entre 6 y 11, la AZUL si es menor de 6 y la ROJA si supera 11. A3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 A1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 A V R

Formas canónicas

69

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

70

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.12

Se desean controlar dos bombas B1 y B2 en función de la cantidad de agua en un depósito. Los sensores B (nivel bajo de agua) y A (nivel alto de agua) entregan un uno lógico cuando el agua supera dicho nivel. Los sensores TB1 y TB2 indican mediante un uno si la temperatura de las bombas B1 y B2 ha superado el límite de funcionamiento. Si el nivel se encuentra: • por debajo de B se deben activar las dos bombas; • por encima de B pero por debajo de A se debe activar una bomba, preferiblemente B1 (teniendo en cuenta su temperatura); • por encima de A se deben desactivar B1 y B2; • si la temperatura del motor superara el límite, éste debería pararse. Cualquier situación anómala en los valores de los sensores conllevará la parada de ambas bombas por seguridad. TB1 TB2 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 A 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 B1 B2

71

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

72

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.13

Diseña un comparador de dos números A y B de dos bits, que indique si A > B, A = B y A < B. A1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 A0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 A>B A=B A<B

Formas canónicas

73

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

74

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.14

Una máquina dispone de cuatro ranuras de 25, 25, 10 y 5 pts. en las que cabe una única moneda. En la salida dispone de un mecanismo para ofrecer el producto. Para dar las vueltas tiene varios dispensadores de monedas de 5 y 10 pts, cada uno entrega una única moneda. Diseña el circuito que cuando el valor de la entrada iguale o supere las 40 pts entregue el producto y los cambios correspondientes. 25 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 25 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 10 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 5 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Formas canónicas

75

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

76

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.15

La nota de un alumno se recibe codificada en binario puro. Obtén el mínimo circuito que visualice la nota en un 7 segmentos según la siguiente regla: • Suspenso (0-4): excita el segmento g. • Aprobado (5): excita el segmento a. • Bien (6): excita los segmentos a y b. • Notable (7-8): excita los segmentos a, b y c. • Sobresaliente (9): excita los segmentos a, b, c y d. • Matrícula de Honor (10): excita todos los segmentos menos el g. B2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 a b c d e f g

B3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

Formas normales

77

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

78

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.16

Implementa el mínimo circuito que active una de dos salidas: led rojo y led verde. El led verde se activará cuando la temperatura de entrada se encuentre entre [–3 , +4] ºC, y el rojo en el resto de los casos. La temperatura estará codificada con cuatro bits en binario puro con signo en complemento a 2. B3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 LV LR

Formas canónicas

79

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

80

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.17

Implementa el mínimo circuito capaz de cambiar pesetas en euros. La máquina acepta monedas de 5, 10, 25 y 50 pesetas y puede entregar monedas de 1, 2, 5, 10 y 20 céntimos de euro. Téngase en cuenta que cada entrada y salida sólo puede recibir y entregar una sola moneda. P5 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 P10 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 P25 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 P50 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Formas canónicas

81

Ejercicios de sistemas digitales

82

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.18

Implementa el mínimo circuito capaz de controlar los semáforos de una rotonda. La rotonda dispone de cuatro calles de entrada E3-0, en las que entran 5 coches por minuto, 15 c/m, 25 c/m y 30 c/m, respectivamente, y de cuatro calles de salida S3-0, que permiten el paso de 5 coches por minuto, 10 c/m, 20 c/m o 40 c/m, respectivamente. Si se sabe que nunca vendrán coches por más de dos calles de entrada a la vez, activar de forma adecuada los semáforos de las calles de salida para que éstos saquen tantos coches como los que entran. E5 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 E15 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 E25 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 E30 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 S5 S10 S20 S40

Formas canónicas

83

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

84

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.19

Implementa un transcodificador de binario puro de cuatro bits a dos dígitos BCD. E3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 E2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 E1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 E0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 A3 A2 A1 A0 B3 B2 B1 B0

Formas canónicas

85

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

86

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.20

Implementa el circuito mínimo capaz de sumar dos números de dos bits codificados en binario puro con signo en C-2. La suma siempres deberá estar entre [-2 , +2]. A1 A0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 S2 S1 S0

Formas canónicas

87

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

88

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.21

Implementa el circuito mínimo capaz de comparar dos números de dos bits codificados en binario puro con signo en complemento a 2. A1 A0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B0 A>B A=B A<B 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

Formas canónicas

89

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

90

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.22

• • • •

Un proceso dispone de dos depósitos, D1y D2, con dos sensores cada uno: arriba y abajo (SA y SB). En total cuatro sensores: S1A, S1B, S2A y S2B. Ambos depósitos intercambian de continuo sus contenidos a través de las válvulas VA y VB que sólo pueden tomar los valores 1, 3 o 5. Partiendo de que cada depósito puede estar en los niveles alto, medio y bajo, implementar el circuito que obtiene los valores VA y VB: Mismo nivel en D1 y D2, entonces VA=VB=1. Si un depósito está un nivel por encima del otro, entonces el que más tiene se pondrá a nivel 3, y el otro a 1. Si un depósito está dos niveles por encima del otro, entonces el que más tiene se pondrá a nivel 5, y el otro a 1. Nunca se podrán dar situaciones imposibles. S2B VA3 VA2 VA1 VA0 VB3 VB2 VB1 VB0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

S1A S1B S2A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 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

91

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

92

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.23

• • •

Una máquina expendedora de golosinas tiene cuatro entradas: dos para el dinero introducido D1-D0 (10 y 5 céntimos de euro) y dos para seleccionar el producto P1-P0 (11 para pipas, 10 para chicles, 01 para cerillas y 00 para no comprar). Las pipas cuestan 10 céntimos, el chicle 7 y las cerillas 3. Implementa el mínimo circuito capaz de visualizar en un siete segmentos cuántos céntimos faltan o sobran para el producto elegido. Notas: Sin monedas en la entrada, el 7-segmentos no visualiza nada. No tiene sentido meter monedas sin seleccionar un producto. El usuario nunca meterá monedas desaprovechadas. Es decir, el usuario nunca meterá dos monedas, si llegara con cualquiera de las dos. Dicho de otra forma, siempre se podrá visualizar la cantidad en el 7-segmentos. D0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 P1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 P0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 a b c d e f g

D1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

93

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

94

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.24

Implementa el mínimo circuito capaz de decodificar sobre siete diodos led (L6-L0) el valor de un dado de 1 a 6 codificado en BCD puro. Es decir, llega el valor de la tirada (de 1 a 6) codificado en BCD y hay que visualizarlo sobre siete diodos. Los siete diodos se disponen tres arriba, tres abajo y uno en medio, y la forma de activarlos será siguiendo el dibujo del dado. D2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 D1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 L6 L5 L4 L3 L2 L1 L0

D3 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

95

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

96

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.25

Implementa el mínimo circuito capaz de sumar dos números A y B de dos bits en binario puro con signo en C-2. La salida se visualizará en dos 7-segmentos: en el de la derecha se visualizará la magnitud y en el de la izquierda se excitará o no el segmento g para visualizar el signo. La salida siempre estará en el rango [-2 , +2]. A0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Sg a b c d e f g

A1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

97

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

98

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.26

Implementa el mínimo circuito capaz de dividir (cociente y resto) dos números binarios de dos bits cada uno. Tanto la entrada como las salidas estarán codificadas en binario puro con signo en C-2. A0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 B1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 B0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

A1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

99

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

100

4. Sistemas combinacionales a nivel de bit o de puerta lógica

4.27

Implementa el mínimo circuito capaz detectar el tipo de diamante recibido según cuatro entradas. Tres de ellas son sensores lumínicos puestos a diferentes alturas, alto, mediano y bajo, SA, SM y SB. Si un diamante es grande debe interferir las tres señales lumínicas, si es mediano, dos (SM y SB), si es pequeño, una (SB) y si es enano, ninguna. Además se dispone de un sensor de peso en quilates (SP) que se pone a 1 si supera los tres quilates, y a 0 en caso contrario. Las condiciones son: • Si un diamante es grande o mediano, debe pesar al menos 3 quilates. • Si es pequeño, nunca debe pesar más de 3 quilates. • Los diamantes enanos se rechazan. • Las condiciones irreales, se consideran imposibles. Visualizar en un 7 segmentos: GRANDE=3, MEDIANO=2, PEQUEÑO=1, RECHAZADO=0 SM 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 SB 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 SP 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 a b c d e f g

SA 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1

101

Ejercicios de sistemas digitales

1

1

1

1

102

4. Sistemas combinacionales a nivel de bit o de puerta lógica

Diagramas de Veitch-Karnaugh

103

5. Sistemas combinacionales a nivel de palabra o MSI
Introducción metodológica
En este capítulo abordamos la descripción y diseño de y con sistemas combinacionales funcionales o de palabra. Estos sistemas son: codificador, decodificador, multiplexor, demultiplexor, comparador, sumador, restador, generador/detector de paridad, etc. A la hora de diseñar con estos sistemas el método no es sistemático, sino más intuitivo y desordenado. Cada alumno en cada caso puede seguir una orientación top-down o bottom-up, osea, de lo total a lo particular, o viceversa. Está claro que en los diseños fáciles esta elección no tiene sentido, pero si el diseño es complicado debemos tomar una estrategia general, en mi caso prefiero de lo particular a lo general: bottom-up. Una buena forma de afrontar estos diseños es pensando que el circuito final es una frase y que las palabras que la forman son los distintos bloques conocidos. Así pensemos en términos de palabras y en cómo conectarlas para conseguir la frase deseada. Palabras más comunes: Codificador: pasa de un código decimal humano a uno binario máquina. Comunica el exterior con el interior. Decodificador: el complementario del codificador. Además puede verse como un señalador que activa a uno de varios. Multiplexor: encaminador, selector. Es un if hardware. Quizá el más versátil de los bloques. Demultiplexor: complementario del multiplexor. Muy parecido al decodificador. Los demultiplexores no son muy comunes. Comparador: lo que indica su propia palabra. Sumador, restador, etc.: lo que indica su propia palabra.

105

Ejercicios de sistemas digitales

Consejos de diseño con bloques funcionales Antes de empezar a juntar palabras para formar frases, hay que desterrar una aproximación muy común en los alumnos a la hora de diseñar: pensar en términos de software. Estamos utilizando hardware, y si hay algo distinto al software es el hardware (a pesar de que el primero se basa en el segundo). Nunca pensemos en qué acción abordar en cada momento, nunca utilicemos ideas como orden, depués, antes, tiempo, etc.; en hardware todo va a la vez. Es muy común implementar todas las opciones en hardware, y de todas ellas sacar al exterior una sola de ellas. Por ejemplo, con dos líneas de control: sumar(00), restar(01), multiplicar(10) y dividir(11). En software solo aplicaríamos una de las operaciones, la resultante del case o if; mientras que en hardware las implementaremos todas, y a través del un multiplexor solo pasará una de ellas al exterior. Otro consejo tiene que ver con usar cuidadosamente las líneas de control de los bloques, principalmente EI (enable input). Si tenemos varios bloques podemos hacer que solo uno de ellos se despierte, quedando el resto dormidos, utilizando sus líneas de EI y seguramente un decodificador para ver qué bloque es el que se despierta. Pocos consejos más se pueden dar. En este tipo de diseños la paciencia, la experiencia, la creatividad y el rigor son pautas a seguir, y nunca olvidemos que siempre podemos y debemos comprobar que lo que hace nuestro diseño es lo que esperábamos. Solo un comentario más. Si sirve de consuelo, valga decir que este tipo de diseño está siendo sustituido por la lógica programable (y otros sistemas microprogramados). En este nuevo campo la intuición sigue siendo un referente, pero de forma más metódica.

106

5. Sistemas combinacionales a nivel de palabra o MSI

Ejercicios
5.1 Dos números decimales A y B son introducidos mediante sendos selectores. Se desea ver en un 7-segmentos sólo el mayor de ellos. Si ambos resultaran iguales, no se visualizaría nada.

107

Ejercicios de sistemas digitales

5.2

Dos números decimales A y B son introducidos mediante sendos selectores. Se desea ver en un 7-segmentos el resultado de la resta, A-B, sólo en el caso de que ésta haya resultado positiva o cero, en caso contrario no debe visualizarse nada.

108

5. Sistemas combinacionales a nivel de palabra o MSI

5.3

Dos números decimales A y B son introducidos mediante sendos selectores. Se desea ver en un 7-segmentos el resultado de la resta, A-B o B-A, que resulte positiva, según sea A>B o B<A, respectivamente.

109

Ejercicios de sistemas digitales

5.4

Tres números decimales A, B y C son introducidos mediante sendos selectores. Se desea ver en un 7-segmentos sólo el mayor de ellos.

110

5. Sistemas combinacionales a nivel de palabra o MSI

5.5

Una cancha de baloncesto de un equipo pobre dispone de cuatro selectores decimales para los puntos del equipo local y visitante, pero sólo de dos 7-segmentos para visualizar los puntos. Diseñar un circuito que con un interruptor I visualice los puntos del equipo local (I=0) o del visitante (I=1). Añadir un indicador para que el público sepa qué puntos está viendo.

111

Ejercicios de sistemas digitales

5.6

Obtener el valor absoluto de un número de cuatro bits codificado en binario puro con signo en complemento a 2.

112

5. Sistemas combinacionales a nivel de palabra o MSI

5.7

Disponemos de las notas, N1 y N0, de un alumno codificadas en BCD. Diseñar el circuito que obtiene la nota final según las preferencias del profesor expresadas con las líneas de control C1C0: • C1C0=00 Nota media redondeada por defecto. • C1C0=01 Nota mínima. • C1C0=10 Nota máxima. • C1C0=11 Nota media redondeada por exceso.

113

Ejercicios de sistemas digitales

5.8

Cuatro países, A, B, C y D, votan en un consejo. Visualizar en un 7-segmentos el resultado de la votación sabiendo que en caso de empate decide el voto de calidad de A. Además, el país anfitrión tiene un interruptor de trampa para dar la vuelta al resultado.

114

5. Sistemas combinacionales a nivel de palabra o MSI

5.9

En una votación los países están separados por bloques: cuatro países en A y tres en B. En un 7-segmentos se visualizará el resultado de la votación: si hay mayoría en A ése es el resultado, pero si hay empate en A el resultado lo marca B.

115

Ejercicios de sistemas digitales

5.10

Basándote en un comparador de cuatro bits en binario puro, diseña un comparador de cuatro bits en complemento a 2.

116

5. Sistemas combinacionales a nivel de palabra o MSI

5.11

Visualizar en cuatro 7 segmentos, y según el valor de P1 y P2, el mes, el día, la hora, los minutos, los segundos y las décimas de segundo del día en curso, y también la hora y los minutos de la alarma. P1 0 0 1 1 P2 0 1 0 1 Visualizado HH MM (horas minutos) SS DD (segundos y décimas) HH MM (alarma) MM DD (mes y día)

117

Ejercicios de sistemas digitales

5.12

Un hotel dispone de 16 habitaciones, cada una de ellas con una alarma. Diseña el circuito que multiplexe las 16 alarmas sobre los 16 led’s de los que dispone el vigilante en la cabina de control.

118

5. Sistemas combinacionales a nivel de palabra o MSI

5.13

Completa la tabla de verdad de un decodificador BCD-7 segmentos suponiendo que todas las líneas son activas por nivel bajo.

BI / LT RBI E3 E2 E1 E0 RBO a b c d e f g

0 1 1 1 1 1 0 1 1 1

0 1 1 0 1 0 1 1 1 0

0 1 0 1 1 1 1 1 0 1

0 1 1 0 1 1 1 0 0 1

0 0 1 0 1 1 1 0 1 1

0 0 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 1 1 1 0 1 0 1 0 1 0 0 0 0 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 1 0 0 0 1 0 0 1 1 0 1 1 1 0 1 0 0 1 1 0 1 1 0 0 1 0 0 0 1 1 1 0 0 0 1

119

Ejercicios de sistemas digitales

5.14

Tres números decimales A, B y C son introducidos mediante sendos selectores. Se desea ver en dos 7-segmentos los dos números mayores.

120

5. Sistemas combinacionales a nivel de palabra o MSI

5.15

Se dispone en la entrada de tres números de cuatro bits, obtener en la salida la suma de los dos menores.

121

Ejercicios de sistemas digitales

5.16

Se dispone en la entrada de tres números de cuatro bits, obtener en la salida la resta positiva de los dos menores.

122

5. Sistemas combinacionales a nivel de palabra o MSI

5.17

Para entrar en un recinto hay que pasar dos puertas, P1 y P2. Para entrar por P1 hay que introducir un dígito BCD mayor o igual que 5 y para pasar por la puerta P2 hay que introducir un número que esté entre tres unidades por arriba o por debajo de la mitad del número introducido en la puerta P1. Por ejemplo, si introducimos 8, entramos por P1 y debemos meter un número entre 1 (4-3) y 7 (4+3).

123

Ejercicios de sistemas digitales

5.18

Un expendedor de golosinas recibe por un lado, codificado en cuatro bits en binario puro, el dinero introducido y por otro recibe de cuatro microrruptores, G, Ch, R y P (gominolas, chicle, regaliza y pipas) el producto solicitado. Si cada producto anterior cuesta 2, 3, 5 y 6 pesetas, respectivamente, implementa el circuito que visualice en un 7-segmentos cuánto dinero falta o sobra, y en dos diodos led si se debe entregar el producto (LP=1) o si el usuario debe completar el dinero (LD=1).

124

5. Sistemas combinacionales a nivel de palabra o MSI

5.19

Diseña el circuito que basado en sistemas MSI es capaz de visualizar en un 7-segmentos el valor mediano de tres dígitos BCD. En caso de que dos o más dígitos fueran iguales, se visualizará cualquiera de ellos. Completa el circuito para que los números pares no se visualicen.

125

Ejercicios de sistemas digitales

5.20

En una votación hay cinco países: A y B con valor doble que C, D y E. En un 7-segmentos se verá un 1 o un 0, según se haya ganado o perdido la votación. Si los tres países de menos peso se opusieran al voto de A y B, entonces el resultado quedaría vetado, y no se vería nada en el 7-segmentos. Por ejemplo, si A y B votaran SÍ (4) y C, D y E votaran NO (3), entonces no se vería nada en el 7-segmentos, pero si A, B, C, D y E votaran SÍ (7 votos), por supuesto que se vería un 1 en el 7-segmentos.

126

5. Sistemas combinacionales a nivel de palabra o MSI

5.21

Una planta química dispone de dos depósitos de 9 litros A y B para albergar un determinado líquido. Ambos depósitos cuentan con un sensor que indica el nivel de llenado en litros del mismo mediante un código en BCD (NA, NB respectivamente). Además existen dos bombas, una capaz de traspasar líquido del depósito A al B, a la que llamaremos Bomba1 y que se activa mediante la señal de control B1 y la otra que traspasa el líquido del depósito B al A a la que llamaremos Bomba2 y que se activa a través de la línea de control B2. Implementa un circuito que busque mantener ambos depósitos al mismo nivel. Además se debe mostrar la diferencia en litros existente entre ambos depósitos mediante un display de 7 segmentos. En la visualización no importa si tiene más líquido A que B, o viceversa.

127

Ejercicios de sistemas digitales

5.22

Dibuja un circuito alternativo del sumador BCD.

128

5. Sistemas combinacionales a nivel de palabra o MSI

5.23

Implementa el circuito que visualiza en un 7-segmentos el número de 1 que tiene una entrada de 8 bits. Así, si la entrada fuera 01011110 debería verse un 5.

129

Ejercicios de sistemas digitales

5.24

Un equipo de fútbol busca animar a su equipo en el partido de vuelta de la copa, para que el equipo se clasifique necesita ganar por dos o más goles. Tenemos como entradas dos dígitos BCD: goles del equipo de casa (GEC) y goles del equipo visitante (GEV) y el club está dispuesto a pagar si somos capaces de hacer funcionar una sirena mientras el equipo esté clasificado. Además, el club quiere que se visualice en un 7 segmentos los goles de diferencia, pero solo si estos favorecen al equipo local.

130

5. Sistemas combinacionales a nivel de palabra o MSI

5.25

Dadas dos entradas A y B de 4 bits cada una codificadas en binario puro sin signo, dibuja el circuito MSI capaz de visualizar sobre un 7-segmentos la resta positiva A-B o B-A, según cuál sea positiva.

131

Ejercicios de sistemas digitales

5.26

Dos motores, M1 y M2, de una planta de montaje deben girar aproximadamente a la misma velocidad para que el ensamblaje de las piezas se realice correctamente. Cada motor cuenta con un medidor de vueltas por segundo que indica la velocidad a la que gira expresada mediante un código BCD, VM1 y VM2. Implementar un circuito que active una señal sonora cuando la velocidad de giro de los motores difiera en más de 2 unidades. Asimismo siempre que dicha diferencia de velocidad sea mayor que cero (el cero no se visualizará), esta se mostrará en un display de 7 segmentos y se activará uno de los dos diodos led LM1 o LM2 para indicar cuál de los dos motores va más rápido. Además cuando los motores giren exactamente a la misma velocidad se encenderá un LED que indicará el funcionamiento óptimo del sistema.

132

5. Sistemas combinacionales a nivel de palabra o MSI

5.27

Las dos ruedas A y B de un robot deben ir a la misma velocidad, para ello cada una dispone de un acelerador y de un freno. El sistema entrega la velocidad de giro de cada rueda en BCD, estando su valor entre 0 y 9: VA y VB. Para conseguir que ambas ruedas vayan a la misma velocidad se plantea como estrategia restar las velocidades, aplicar la diferencia al freno de la rueda rápida y lo mismo con el acelerador de la rueda lenta. Por ejemplo si A va a 9 rpm y B a 6 rpm, entonces A se frena con valor 3 y B se acelera con valor 3. El circuito debe obtener el valor del acelerador y el freno de cada rueda: AA, FA, AB y FB. Además se quieren visualizar dichos valores siempre y cuando sean distintos de 0. Así el usuario verá cuánto está frenando y acelerando cada rueda.

133

Ejercicios de sistemas digitales

5.28

Diseñar un circuito MSI que tiene como entradas cuatro bits E30 y dos de control C1-0. La salida será la propia entrada rotada hacia la izquierda con recirculación por la derecha de tantos bits como indiquen las dos líneas de control. Por ejemplo, si la entrada es 1101 y C1-0=10, la salida será S3-0=0111.

134

5. Sistemas combinacionales a nivel de palabra o MSI

5.29

Cada cuadrado negro de la figura es un pulsador del usuario. En la salida se activará cada una de las filas y columnas según qué pulsador se haya activado. En primer lugar, y teniendo en cuenta que solo se puede activar un pulsador (o ninguno), diseñar el circuito que genere las señales ABC y DEF, y en base a estas que excite una de las nueve salidas S9-0. Seguidamente, repetir el diseño pero considerando que se pueda activar más de una entrada a la vez, excitándose solo la salida de más peso. P0 P1 P2 D P3 P4 P5 E P6 P7 P8 F

A

B

C

135

Ejercicios de sistemas digitales

5.30

Diseñar el circuito capaz de sumar/restar dos números de cinco bits cada uno, A4-0 y B4-0, codificados en binario puro con signo en C-2. Además del resultado se deben obtener tres flags o indicadores de resultado: • FZ: flag de cero, se pone a 1 si el resultado es cero. • FS: flag de signo, se pone a 1 si el resultado es negativo. • FO, flag de overflow, se pone a 1 si el resultado ha desbordado el rango de los cinco bits.

136

5. Sistemas combinacionales a nivel de palabra o MSI

5.31

Dada la tabla del código ASCII, diseñar el circuito capaz de indicar en la salida si la entrada se corresponde con un número o una letra, indicando en este último caso si se trata de minúscula o mayúscula. Las salidas serán cuatro indicadores: de número N, de letra, L, de mayúscula M y de minúscula m. B7-5 B7-5 000 001 NUL DEL SQH DC1 STX DC2 ETX DC3 EQT DC4 ENQ NAK ACK SYN BEL ETB BS CAN HT EM LF SUB VT ESC FF FS CR GS SO RS SI US B7-5 010 SP ! " # $ % & ' ( ) • + ' . / B7-5 011 0 1 2 3 4 5 6 7 8 9 : ; < = > B7-5 100 A B C D E F G H I J K L M N O B7-5 101 P Q R S T U V W X Y Z [ \ ] B7-5 110 \ a b c d e f g h i j k l m n o B7-5 111 p q r s t u v w x y z  :  ' DEL

B4-1 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

137

Ejercicios de sistemas digitales

5.32

Como en el ejercicio 5.29 se dispone de un teclado de 16 pulsadores, el 0 en la esquina inferior izquierda y la F en la esquina superior derecha. Obtén varias salidas: • NADA. Indica que no se ha pulsado ninguna tecla. • CORRECTO. Indica que se ha activado una sola tecla. • ERRORFILA. Se ha pulsado más de una tecla en la misma fila. • ERRORCOLUMNA. Se ha pulsado más de una tecla en la misma columna. • NÚMERO. Obtiene en BP con cuatro bits el número pulsado CORRECTO. • NÚMEROB. Obtiene el número activado de más peso, aunque sea ERRÓNEO.

138

5. Sistemas combinacionales a nivel de palabra o MSI

5.33

Un contador genera una secuencia de tres bits que se repite: 000, 001, 010,....110, 111, 000, etc. Se dispone de un visualizador con 8 segmentos en forma de cruz y aspa, es decir, como una tarta cortada en ocho pedazos (cuatro verticales y cuatro diagonales). Diseñar el circuito capaz de activar los segmentos según los siguientes criterios: • Activar uno y solo uno cada vez. El del centro superior para el 000, el siguiente diagonal para el 001, y así hasta llegar al último diagonal para el 111. • Activar cada vez un segmento más empezando con el central para el 000, luego se activarán el anterior y el siguiente diagonal, y por último se activarán todos con la opción 111.

139

6. Biestables
Introducción metodológica
En este capítulo practicaremos con los biestables, que son la base del diseño secuencial. Para completar los ejercicios que a continuación se relacionan bastará con saber qué es sincronismo y cómo se comporta cada biestable. Comportamiento de biestables La siguiente tabla resume el comportamiento de los biestables asíncronos, síncronos por nivel o por flanco. Esquema
S R-S R Q

Tabla
S R 1 1 0 0 Qt Qt-1 1 0 Q=Q=1 1 0 1 0

Q

D Ck D

Q

Q

CK 0 1 1

D X 0 1

Qt Qt-1 0 1

J Ck K J-K

Q

Q

CK ↑ ↑ ↑ ↑

J 0 1 0 1

K 0 0 1 1

Qt Qt-1 1 0 Qt-1

D Ck D

Q

CK ↑ ↑

D 0 1

Qt 0 1

Q

T Ck

T T

Q

CK ↑ ↑

T 0 1

Qt Qt-1 Qt-1

Q

141

Ejercicios de sistemas digitales

Obtención de un cronograma Para obtener un cronograma solo hay que tener delante las tablas anteriores, marcar cada cambio en la entrada y en el reloj y dibujar la salida correspondiente. Es un proceso que debe ser cuidadoso y ágil, y no olvidemos que un fallo se arrastra a lo largo de todo el cronograma. Análisis de un circuito secuencial básico El método es el visto para sistemas combinacionales: elegir unos bits de entrada y ver qué efecto tienen en las salidas, teniendo siempre presentes las tablas anteriores.

142

6. Biestables

Ejercicios
6.1 Completa los dos cronogramas adjuntos para una báscula R-S asíncrona con puertas NAND.

S

R

Qt

Qt t

S

R

Qt

Qt t

143

Ejercicios de sistemas digitales

6.2

Completa el cronograma adjunto para unas básculas J-K síncronas por flanco ascendente y descendente, respectivamente Q↑ y Q↓.

Ck

J

K

Q↑ Q↓ t

144

6. Biestables

6.3

Completa el cronograma adjunto para las dos básculas J-K Maestro/Esclavo, J-K M/S. En la primera el maestro es activo por nivel alto y el esclavo lo es por nivel bajo, mientras que en la segunda es al revés, el maestro es activo por nivel bajo y el esclavo lo es por nivel alto.

Ck

J

K

QM (NA)

QS (NB)

QM (NB)

QS (NA) t

145

Ejercicios de sistemas digitales

6.4

Completa los dos cronogramas cuidadosamente. En el primero el maestro es activo por nivel bajo, y el esclavo por alto. En el segundo es al revés.

Ck J K QM QS Q↑ t

146

6. Biestables

Ck J K QM QS Q↓ t

147

Ejercicios de sistemas digitales

6.5

Completa los cronogramas siguientes correspondientes a biestables síncronos tipo D, por flanco y por nivel, respectivamente.

Ck

D

Q↑ Q↓ t

Enable

D

QNA t

148

6. Biestables

6.6

Completa el siguiente cronograma.

Ck JSDT KR
J-K

Q↑ Q↓
R-S

Q
D

Q↑ Q↓ QNA QNB
T

Q↑ Q↓ t

149

Ejercicios de sistemas digitales

6.7 Ck JSTD KR

Completa el siguiente cronograma.

J-K Q↑ Q↓ R-S Q T Q↑ Q↓ D Q↑ Q↓

t

150

6. Biestables

6.8 Ck JD K J-K QM (NA)

Completa el siguiente cronograma.

QS (NB)

QM (NB)

QS (NA) J-K Q↑ Q↓ D Q↑ Q↓

t

151

Ejercicios de sistemas digitales

6.9 Ck

Completa el siguiente cronograma.

JD

K

J-K QM

QS

QM

QS J-K Q↑

Q↓

t

152

6. Biestables

6.10 Ck

Completa el siguiente cronograma.

JD

K

J-K QM

QS

QM

QS J-K Q↑

Q↓

t

153

Ejercicios de sistemas digitales

6.11

La tabla de verdad adjunta describe el comportamiento de una báscula tipo W-V. Completa el cronograma adjunto.

Ck ↑ ↑ ↑ ↑ X-↑

W 0 1 0 1 X

V 0 1 1 0 X

Q(t) 0 1 Q(t-1) Q’(t-1) Q(t-1)

Operación Puesta a 0 Puesta a 1 Reposo Basculamiento No sincronizado

Ck W V Q↑ Q↓ t

154

6. Biestables

6.12

Completa las tablas de verdad que describen a los siguientes circuitos lógicos. Indica a qué biestable corresponde cada circuito y qué señales son A, B y C.
B Q

A B

Q

A

A 0 0 1 1
B A C

B Q(t) 0 1 0 1

Operación

A 0 0 1 1

B Q(t) 0 1 0 1

Operación

Q

A 0 0 0 0 1 1 1 1

B 0 0 1 1 0 0 1 1

C 0 1 0 1 0 1 0 1

Q(t)

Operación

155

Ejercicios de sistemas digitales

6.13

Completa las tablas de verdad que describen a los siguientes circuitos lógicos. Indica a qué biestable corresponde cada circuito y qué señales son A y B.

A T B Ck Q Q

A D B Ck Q Q

Ck ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ 0

A 0 0 0 0 1 1 1 1 X

B Qt-1 T 0 0 1 1 0 0 1 1 X 0 1 0 1 0 1 0 1 X

Q(t)

Ck ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ 0

A 0 0 0 0 1 1 1 1 X

B Qt-1 T 0 0 1 1 0 0 1 1 X 0 1 0 1 0 1 0 1 X

Q(t)

156

6. Biestables

6.14

Completa el cronograma adjunto para el circuito de la figura. ¿Cuál es el cometido de este sencillo circuito lógico?
Ent Ck Q Q Q1

D

Q

D

Q

Q2

Sal

Ck

Ent

Q1

Q2

Sal

t

157

Ejercicios de sistemas digitales

6.15

Dado el cronograma de la figura, completa la tabla adjunta que describe el comportamiento de este biestable fantasma. Explica con palabras qué hace. ¿Puedes implementarlo usando algún biestable ya existente?

Ck

E1

E0

Q

t
CK ↑ E1 0 E0 0 Q Función

↑

0

1

↑

1

0

↑

1

1

158

7. Registros y Contadores
Introducción metodológica
En este capítulo se van a abordar diversos aspectos del diseño secuencial. Primero practicaremos con registros y contadores, y luego abordaremos diseños de cierta complejidad que incluyan registros y/o contadores y/o bloques combinacionales. Diseño de un registro universal cualquiera Éste es un ejercicio teórico, con poca aplicación práctica. Los pasos a dar son: • dibujar tantos flip-flop D como bits tenga el registro, • asignar a cada entrada D un multiplexor con tantas entradas como opciones, • trabajar con la opción 0(00) de todos los multiplexores a la vez: asignando a cada entrada la señal que corresponda a esa opción, • seguir con la opción 1(01), y así hasta completarlas todas. Diseño de un contador asíncrono de módulo inferior Los pasos son: • diseñar el contador asíncrono de módulo completo, • decodificar con una NAND el primer estado no deseado y • unir la salida de la NAND a las preset y clear que aseguren el primer estado deseado. Análisis de un contador asíncrono de módulo inferior Los pasos son: • determinar cuál hubiera sido la secuencia normal, • determinar qué estado decodifica la puerta NAND: (n) y • determinar qué estado fuerza la salida de la NAND: (m). • El contador va de m a (n-1). Diseño de un contador síncrono Los pasos a dar son más que los de un contador asíncrono: • escribir la secuencia del contador ya codificada en el código deseado • plantear una tabla de verdad con Qt, Qt+1 y D o J-K o etc.,

159

Ejercicios de sistemas digitales

• • • • • •

buscar para cada fila de la tabla cuál es el siguiente estado en la secuencia y copiarlo en Qt+1, repetir lo anterior para todas las filas, a cada transformación de Qt en Qt+1 asignarle un valor de D o JK (ver tabla adjunta), plantear los V-K que cada D o J-K, simplificar cada V-K y obtener el circuito lógico. Qt 0 0 1 1 Qt+1 0 1 0 1 D 0 1 0 1 J 0 1 X X K X X 1 0

Diseño de sistemas secuenciales con bloques funcionales Lo dicho para sistemas combinacionales en el capítulo 5 es válido de nuevo ahora. El diseño vuelve a ser intuitivo y muy dependiente de la complejidad del diseño y de la experiencia del diseñador. Una vez más es muy importante tener claro qué hace cada bloque: Registro paralelo-paralelo: memorización de datos. Registro de desplazamiento: conversión serie-paralelo y paralelo-serie y control por rotación de bits. Contador: cuenta tiempo y eventos. Estos dispositivos también cuentan con líneas de EI y similares, que con un uso inteligente potencian enormemente a los registros y contadores.

160

7. Registros y Contadores

Ejercicios
7.1 Completa el cronograma adjunto correspondiente al esquema de la figura. Indica de qué contador se trata. El contador se incializa con Q2-0=000.
Q0 CK
D Q

Q1
D
Q

Q2
D
Q

Q

Q

Ck Q0 Q1 Q2 t

161

Ejercicios de sistemas digitales

7.2

Diseña un contador síncrono ascendente BCD activo por flancos ascendentes.

Q3Q2Q1Q0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1

Q3Q2Q1Q0 J3 K3 J2 K2 J1 K1 J0 K0

Formas canónicas

162

7. Registros y Contadores

Diagramas de Veitch-Karnaugh

163

Ejercicios de sistemas digitales

164

7. Registros y Contadores

7.3

Diseña un contador síncrono ascendente en BCD, donde los estados no deseados se comportan como sigue: de 10 y 11 se pasa a 2, de 12 y 13 a 4 y de 14 y 15 a 8.

Q3Q2Q1Q0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1

Q3Q2Q1Q0

D3

D2

D1

D0

Formas canónicas

165

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

166

7. Registros y Contadores

7.4

Diseña un contador síncrono módulo 10 basándote en el contador síncrono BCD CI 74160. Haz lo mismo para los contadores de módulo 1000, 60 y 12 en BCD.

167

Ejercicios de sistemas digitales

7.5

Diseña un contador síncrono módulo 10 que al llegar a 9 se detenga, reanudando la cuenta al activarse el Clear. Es decir, cuenta de 0 a 9 y se detiene.

168

7. Registros y Contadores

7.6

Diseña un reloj basándote en un reloj de entrada de frecuencia 1 Khz. Visualiza la secuencia en 7-segmentos.

169

Ejercicios de sistemas digitales

7.7

Diseña un contador síncrono módulo 10 que cuente bien al ritmo de un reloj o bien al ritmo de un pulsador. Para que cuente con el reloj un interruptor I debe ser 0, y contará al ritmo del pulsador (da igual flanco de subida que de bajada) cuando el interruptor sea 1.

170

7. Registros y Contadores

7.8

Una puerta se abre automáticamente si recibe síncronamente por la señal de entrada la secuencia 1011. Esta secuencia debe darse en los últimos cuatro flancos de reloj. Utiliza en el diseño un registro de desplazamiento.

171

Ejercicios de sistemas digitales

7.9

Visualiza en un 7-segmentos el dígito BCD que se recibe en serie y sincronizado con una señal de reloj. Si el dígito recibido fuera erróneo no se visualizará.

172

7. Registros y Contadores

7.10

Se dispone únicamente de 10 microrruptores y cuatro pulsadores para cargar cuatro dígitos de entrada en BCD. La entrada quedará cargada en sendos registros paralelos.

173

Ejercicios de sistemas digitales

7.11

Se desea automatizar la obtención del premio que corresponde a cada boleto de lotería de tres números. Un circuito recibe en serie bloques de tres bits binarios. Cada uno de estos bits indica si el dígito en cuestión es igual al dígito del número premiado. En cuanto al orden, primero se recibe el bit con el resultado de comparar las unidades, luego el de comparar las decenas y se acaba con el de las centenas. Se desea activar en la salida uno o ninguno de los tres diodos led que indican el premio obtenido, P1, P2 y P3. Se gana el P1 si sólo coincide la cifra de las unidades, se gana el P2 si coinciden las unidades y las decenas y se gana el gordo, el P3, si aciertan todos los cifras. Los premios no se acumulan.

174

7. Registros y Contadores

7.12

Diseña un circuito capaz de multiplexar sobre cuatro 7segmentos el contenido de cuatro dígitos BCD. Esto es, para los cuatro 7-segmentos disponemos de 7 entradas y de cuatro de líneas de enable, una para cada 7-segmentos. Diseña el circuito de visualización si se parte de una señal de reloj de 200 hz. Repite lo mismo para un reloj de 1 Khz. Diseña un contador de coches presentes en un garage hasta un máximo de 99 coches. El pulsador PE indica la entrada, y el pulsador PS, la salida. Implementa el contador basándote en un 74190 y en un 74193. Un microbot tiene en una rueda cuatro marcas ópticas. Se desea activar una alarma cuando la rueda dé más de tres vueltas por segundo. Téngase en cuenta que la frecuencia del reloj es 100 hz. El médico del ambulatorio quiere tener un sistema para controlar el turno de consulta. Hasta un máximo de 99, dos 7segmentos visualizan el número de turno que aumenta con el pulsador, P, que tiene el médico. Pero además, éste necesita hacer trampa de vez en cuando, y para ello tiene ocho microrruptores para introducir los dos dígitos BCD del número que quiere forzar al pulsar el pulsador de trampa, PT. Diseñar el circuito lógico capaz de satisfacer al médico. Diseña con circuitos tipo MSI el circuito capaz de indicar que un usuario ha ganado el juego. El juego consiste en que el usuario accione un pulsador J al menos tres veces en un segundo. Para controlar el juego disponemos de un reloj de 10 Hz. Las salidas serán dos: por un lado un 7-segmentos mostrará cuántas veces se ha pulsado en el segundo en juego y por otro un zumbador se activará mientras el usuario no iguale o supere los tres pulsos de J en el segundo en juego, es decir, que pite mientras el jugador esté perdiendo. Añade un pulsador P para reiniciar el juego una vez finalizada una partida.

7.13

7.14

7.15

7.16

175

Ejercicios de sistemas digitales

7.17

Diseña con circuitos tipo MSI el circuito capaz de abrir y cerrar la puerta de entrada de una empresa: M=01 abre, M=10 cierra y M=00 se para. La puerta tiene un sensor óptico que entrega un 1 cuando detecta a una persona, SP. En la situación anterior la puerta se abre durante un tiempo que va de 4 a 9 segundos, según lo introducido en cuatro microrruptores. Si una persona se para delante de la puerta (del sensor), la puerta está abierta todo el tiempo, y no solo los 4-9 segundos. Además de lo anterior, el sistema tiene un led que parpadea al ritmo de un segundo mientras se abre o cierra la puerta. El reloj, CK, tiene una frecuencia de 10 Hz.

176

8. Autómatas
Introducción metodológica
En este capítulo practicarás el diseño de autómatas, tan de Moore como de Mealy. Operadores básicos y no básicos booleanos Si los ejercicios del capítulo 4 eran combinacionales, los de este capítulo son los correspondientes secuenciales. El diseño de aquéllos y éstos se parece metodológicamente. En el diseño combinacional se partía de un texto del que obteníamos una tabla de verdad, y de ésta y tras una serie de manipulaciones obteníamos el circuito lógico. Pues bien, en los autómatas el método es muy parecido, sólo que del texto se obtiene el diagrama de transición de estado (DTE), y de éste el circuito lógico. Si en el diseño combinacional el paso más delicado era obtener la tabla de verdad (de su acierto dependía el resto), en los autómatas es obtener el DTE. El DTE es a los sistemas secuenciales lo que la tabla de verdad era para los combinacionales. Un DTE se compone de entradas, salidas, estados y transiciones. Determinar las dos primeras es relativamente fácil, pero determinar los estados puede ser una tarea difícil, que necesita de experiencia. Para obtener un DTE hay que tener en cuenta que: • a veces se puede conocer el número de estados a priori, normalmente no, • los estados coinciden con justamente eso: los estados de la evolución del autómata, • los estados a veces coinciden con los participios o gerundios que aparecen al leer o contar el enunciado, • de un estado deben salir en principio 2n transiciones, donde n es el número de entradas, • puede que haya transiciones imposibles, saliendo menos de 2n transiciones de cada estado, • en un autómata con entradas asíncronas, las transiciones de entrada a un estado suelen rebotar en él (autolazo),

177

Ejercicios de sistemas digitales

• • • • • •

•

es muy interesante contar (narrar) la historia o evolución de un autómata para obtener su DTE, es muy corriente que la historia de un DTE no sea única, que haya varias, así podremos hablar de distintos escenarios, el autómata es algo dinámico, mientras que la tabla de verdad es estática, no puede haber transiciones idénticas saliendo de un mismo estado: es síntoma de que ese estado debe subdividirse en dos, un autómata no debe chirriar, debe ir suave; debe dar la sensación de que el DTE describe con normalidad al autómata, al encajar nuevas situaciones o escenarios al DTE en curso, éstas deben unirse a él con suavidad (sin chirriar), expresión de que el DTE está bien y una vez obtenido el DTE a partir del enunciado, también se puede ir al revés, leyendo las historias que el DTE cuenta.

Diseño de un autómata Los autómatas pueden ser de Moore o de Mealy, y ambos tienen parecidos y diferencias. Para ahondar en las diferencias teóricas lo mejor es acudir al libro. Algunas diferencias prácticas son: • algunos enunciados piden Moore y otros Mealy, pero la mayoría son indiferentes al tipo de autómata, • en Mealy la salida es obtenida antes que en Moore; Mealy es más ágil y nervioso que Moore, que es más ordenado y tranquilo, • los estados en Mealy suelen o pueden ser más abstractos que en Moore, • los estados en Moore coinciden mejor con los participios y los gerundios antes comentados, • suele ser más cómodo obtener el DTE de Moore que el de Mealy, pero es cuestión de gustos, • Mealy suele o puede tener menos estados que Moore, es más económico, • en el diseño de Moore hay que plantear más tablas que en el de Mealy y • en muchos casos los circuitos de Moore y de Mealy se comportan de igual modo.

178

8. Autómatas

Una vez obtenido el DTE que describe al autómata, para llegar al circuito lógico correspondiente basta con seguir los pasos mostrados en la siguiente figura.
Enunciado Textual Comprensión, Experiencia e Intuición

Diagrama de Transición de Estados Reordenación

Tabla de Transición de Estados

Método de Equivalencia entre Estados Tabla de Transición de Estados Mínima Codificación de Estados Tabla de Transición de Estados Codificada Tablas de Verdad de los Biestables Tabla de Excitación de Biestables Diagramas de Veitch-Karnaugh Expresiones Simplificadas Implementación Circuito Lógico y Digital

Todos los pasos incluidos en la figura son muy sencillos (excepto la obtención del DTE), y se basan en ir obteniendo tablas hasta llegar a los diagramas de V-K de los que obtener las ecuaciones que conformarán el circuito lógico final. En el proceso de diseño, la diferencia entre Mealy y Moore es: • en Mealy la tabla de transición de estados es única y en Moore se divide en dos: la de estados y la de salidas, • en Mealy la tabla de excitación de los biestables contiene también a la salida, en Moore la salida está en una tabla aparte y • en Mealy los V-K de J-K (o D) y de las salidas tienen el mismo tamaño, en Moore no; los V-K de las salidas son de menor tamaño que los de J-K.

179

Ejercicios de sistemas digitales

Diseño de un autómata de Mealy Por ejemplo, podemos plantear el diseño de un autómata de Mealy capaz de sumar en serie dos secuencias A y B que reciben la entrada síncronamente. El DTE de Mealy es el de la figura adjunta.

Una vez que tenemos el DTE los restantes pasos no tienen problema. Obtención de la Tabla de Transición de Estados. TTE La TTE no es más que la reordenación en forma de tabla de la información gráfica del DTE. Es decir, es una transformación de gráfico a tabla, de hecho el DTE no es necesario, aunque sí es cómodo su uso para aclarar el diseño.
AB 00 01 10 11 C0 C0/0 C0/1 C0/1 C1/0 C1 C0/1 C1/0 C1/1 C1/1

Tabla de Transición de Estados Codificados En este paso debemos codificar en binario cada estado, asignando a cada estado una combinación de bits, llamados variables de estado Qi. En la tabla de la izquierda asignamos a C0 el 0 y a C1 el 1, aunque podíamos haberlo hecho al revés. Seguidamente sustituimos cada estado por su codificación para obtener la tabla de transición de estados codificada (tabla derecha).
Q C0 0 C1 1 AB Q 00 01 10 11 0 0/0 0/1 0/1 1/0 1 0/1 1/0 1/0 1/1

180

8. Autómatas

Tabla de Excitación de Biestables Las tablas de excitación de los biestables D y J-K son las siguientes.
Qt Qt+1 J K 0 0 0 X 0 1 1 X 1 0 X 1 1 1 X 0 D 0 1 0 1

En la Tabla de Excitación primero reordenamos en filas el panel de TTE, luego escribimos el Qt+1 correspondiente a cada Qt y finalmente el valor correspondiente de J-K o D. En la tabla siguiente usaremos biestables J-K.
t Q A 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 B 0 1 0 1 0 1 0 1 S 0 1 1 0 1 0 0 1 t+1 Q 0 0 0 1 0 1 1 1 J K 0 x 0 x 0 x 1 x x 1 x 0 x 0 x 0

Obtención de las expresiones mínimas Ahora, y a partir de la tabla anterior, podemos obtener sus correspondientes diagramas de V-K y simplificarlos.
B S A 1 Q 1 1 S=A⊕B⊕Q 1 A J=A⋅B J Q X X X X 1 B

B K A X X Q 1 X X

K=A⋅B

Implementación del circuito y análisis Queda por último obtener el circuito lógico.
A B Ck K INICIO Q J Q

S

181

Ejercicios de sistemas digitales

Diseño de un autómata de Moore Para el DTE de la figura obtengamos rsumidamente el circuito.

Obtención de la Tabla de Transición de Estados y de Salida
Z0 Z1 Z2A Z2B 0 Z0 Z0 Z0 Z0 A 1 Z1 Z2 Z3 Z3 Est. Z0 Z1 Z2A Z2B S 0 0 0 1

Tabla de Excitación de biestables
t t+1 Q1 Q0 A Q1 Q0 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1
A J1 Q0 J1=A⋅Q0 Q1 X X X X 1 K1 Q0 K1=A Q1 X 1 X X X X

J1 K1 J0 K0 0 X 0 X 0 X 1 X 0 X X 1 1 X X 1 X 1 0 X X 0 1 X X 1 X 1 X 0 X 0
A

Simplificación de funciones y circuito lógico
A J0 Q0 Q1 1 1 X X X X K0 Q0 Q1 X X X X 1 1 1 A

J0 = A

K0 = A + Q1

A

J1

Q1

J0

Q0

S Q0 S = Q1⋅Q0

Q1 1

Ck K1 Q1 K0 Q0 S

INICIO

182

8. Autómatas

Ejercicios
8.1 Diseña e implementa el autómata de Mealy capaz de detectar tres o más unos consecutivos en la línea de entrada.

Diagrama de transición de estados

Tablas de transición de estados y de codificación Estados E=0 E=1 Estados Q1Q0

Q1 Q0

E=0

E=1

183

Ejercicios de sistemas digitales

Tabla de excitación de biestables y salidas E 0 0 0 0 1 1 1 1 Q1 Q0 Q1 Q0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 S J1 K1 J0 K0

Diagramas de Veitch-Karnaugh

184

8. Autómatas

8.2

Diseña e implementa el autómata de Mealy capaz de detectar en la línea de entrada la secuencia 1011, teniendo en cuenta posibles solapamientos en la secuencia.

Diagrama de transición de estados

Tablas de transición de estados y de codificación Estados E=0 E=1 Estados Q1Q0

Q1 Q0

E=0

E=1

185

Ejercicios de sistemas digitales

Tabla de excitación de biestables y salidas E 0 0 0 0 1 1 1 1 Q1 Q0 Q1 Q0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 S J1 K1 J0 K0

Diagramas de Veitch-Karnaugh

186

8. Autómatas

8.3

Diseña los autómatas de Moore y Mealy capaces de detectar en la línea de entrada la secuencia 1010, teniendo en cuenta posibles solapamientos en la secuencia.

Diagrama de transición de estados

187

Ejercicios de sistemas digitales

8.4

Diseña el autómata de Mealy capaz de detectar tres o más unos o ceros consecutivos en la línea de entrada.

Diagrama de transición de estados

Tablas de transición de estados y de codificación Estados E=0 E=1 Estados Q2Q1Q0

Q2Q1 Q0

E=0

E=1

188

8. Autómatas

Tabla de excitación de biestables y salidas E 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Q2 Q1 Q0 Q2 Q1 Q0 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 S J2 K2 J1 K1 J0 K0

Formas canónicas

Diagramas de Veitch-Karnaugh

189

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

190

8. Autómatas

8.5

Diseña los autómatas de Moore y Mealy capaces de detectar en la línea de entrada las secuencias 1111 y 11011, teniendo en cuenta posibles solapamientos en las secuencias, así como el paso de una secuencia a otra.

Diagrama de transición de estados

191

Ejercicios de sistemas digitales

8.6

Diseña e implementa el autómata de Mealy capaz de detectar en la línea de entrada las secuencias 1010 o 110, permitiendo solapamientos y paso entre secuencias.

Diagrama de transición de estados

Tablas de transición de estados y de codificación Estados E=0 E=1 Estados Q1Q0

Q1 Q0

E=0

E=1

192

8. Autómatas

Tabla de excitación de biestables y salidas E 0 0 0 0 1 1 1 1 Q1 Q0 Q1 Q0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 S J1 K1 J0 K0

Diagramas de Veitch-Karnaugh

193

Ejercicios de sistemas digitales

8.7

Diseña los autómatas de Moore y Mealy capaces de detectar en la línea de entrada las secuencias 101 y 010, permitiendo solapamientos y paso entre secuencias.

Diagrama de transición de estados

194

8. Autómatas

8.8

Diseña el autómata capaz de detectar el posible error en la transmisión de un mensaje a través de una línea serie. El código de transmisión es el Manchester que asocia a cada bit a transmitir dos bits, así el cero se codifica como 0-1, y el 1 como 1-0. Para iniciar la transmisión o reiniciarla después de un error se dispone de un pulsador P.

Diagrama de transición de estados

195

Ejercicios de sistemas digitales

8.9

Diseña el autómata de Moore que implemente un contador módulo 4 reversible según la línea de control MODO; si vale 1 cuenta ascendentemente, si vale 0 descendentemente. Cuando se produzca el paso de un modo a otro se empezará por el primer estado de la nueva secuencia.

Diagrama de transición de estados

Tablas de transición de estados y de codificación Estados E=0 E=1 Estados Q2Q1Q0 S2 S1 S0

Q2Q1 Q0

E=0

E=1

196

8. Autómatas

Tabla de excitación de biestables y salidas E Q2 Q1 Q0 Q2 Q1 Q0 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 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

Formas canónicas

Diagramas de Veitch-Karnaugh

197

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

198

8. Autómatas

8.10

Diseña el autómata que implemente un contador módulo 8 según la línea de control MODO; si valiera 1 contaría ascendentemente, si valiera 0 no contaría, manteniéndose en su estado. En el paso de reposo (MODO=0) a contaje el nuevo estado será el posterior al actual, por ejemplo de 4 en reposo se pasará a 5.

Diagrama de transición de estados

Tablas de transición de estados y de codificación Estados E=0 E=1 Estados Q2Q1Q0

Q2Q1 Q0

E=0

E=1

199

Ejercicios de sistemas digitales

Tabla de excitación de biestables y salidas E Q2 Q1 Q0 Q2 Q1 Q0 S2 S1 S0 J2 K2 J1 K1 J0 K0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 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

Formas canónicas

Diagramas de Veitch-Karnaugh

200

8. Autómatas

Diagramas de Veitch-Karnaugh

201

Ejercicios de sistemas digitales

8.11

Diseña el autómata de Mealy que implemente un sumador serie. Los bits llegan por dos líneas bit a bit, de menor a mayor peso, en la salida se debe obtener la suma de los bits en curso, teniendo en cuenta los acarreos.

Diagrama de transición de estados

Tablas de transición de estados y de codificación Estados AB=00 AB=01 AB=10 AB=11 Estados Q

Q

AB=00 AB=01 AB=10 AB=11

202

8. Autómatas

Tabla de excitación de biestables y salidas A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 Q 0 1 0 1 0 1 0 1 Q S J K

Formas canónicas

Diagramas de Veitch-Karnaugh

203

Ejercicios de sistemas digitales

8.12

Diseña el autómata de Moore que implemente un sumador serie.

Diagrama de transición de estados

Tablas de transición de estados y de codificación Estados AB=00 AB=01 AB=10 AB=11 Estados Q1Q0 S

Q2Q1 Q0

AB=00

AB=01

AB=10

AB=11

204

8. Autómatas

Tabla de excitación de biestables y salidas A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Q1 Q0 Q1 Q0 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 J1 K1 J0 K0

Formas canónicas

205

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

206

8. Autómatas

8.13

Obtén el autómata correspondiente a un registro de tres bits de desplazamiento a la derecha. Haz lo mismo para un un desplazamiento a la izquierda y para uno derecha/izquierda con línea de CONTROL.

Diagrama de transición de estados

207

Ejercicios de sistemas digitales

8.14

Diseña e implementa el automáta de Mealy capaz de generar el bit de paridad par desde los 1’s para un mensaje de tres bits. El mensaje se recibe en serie bit a bit, cada tres bits la salida deberá tomar el valor correspondiente al criterio enunciado, durante los dos primeros bits, arbitrariamente, la salida valdrá cero.

Diagrama de transición de estados

Tablas de transición de estados y de codificación Estados E=0 E=1 Estados Q2Q1Q0

Q2Q1 Q0

E=0

E=1

208

8. Autómatas

209

Ejercicios de sistemas digitales

Tabla de excitación de biestables y salidas E 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Q2 Q1 Q0 Q2 Q1 Q0 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 S J2 K2 J1 K1 J0 K0

Formas canónicas

Diagramas de Veitch-Karnaugh

210

8. Autómatas

Diagramas de Veitch-Karnaugh

211

Ejercicios de sistemas digitales

8.15

Diseña los automátas de Moore y Mealy capaces de generar el bit de paridad par desde los 1’s para cuatro bits. El mensaje se recibe en serie bit a bit, cada cuatro bits la salida debe tomar el valor correspondiente al criterio enunciado, durante los tres primeros bits, arbitrariamente, la salida valdrá cero.

Diagrama de transición de estados

212

8. Autómatas

8.16

Diseña el autómata que se comporte como un codificador 4:2 con prioridad. Los cuatro de bits de entrada se recibirán secuencialmente empezando por el de menos peso. Obtén asimismo únicamente el diagrama de transición de estados si la entrada en serie comenzara por el bit de más peso.

Diagrama de transición de estados

Tablas de transición de estados y de codificación Estados E=0 E=1 Estados Q2Q1Q0

Q2Q1 Q0

E=0

E=1

213

Ejercicios de sistemas digitales

Tabla de excitación de biestables y salidas E 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 Q2 Q1 Q0 Q2 Q1 Q0 S1 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 S0 J2 K2 J1 K1 J0 K0

Formas canónicas

Diagramas de Veitch-Karnaugh

214

8. Autómatas

Diagramas de Veitch-Karnaugh

215

Ejercicios de sistemas digitales

8.17

Diseña el autómata de Moore que se comporte como un comparador. En todo instante el autómata indicará si la secuencia A es mayor, menor o igual que la secuencia B. Ambas secuencias se recibirán en serie empezando por el bit de menos peso. Piensa en cómo sería el autómata si se empezara por el bit de más peso.

Diagrama de transición de estados

Tablas de transición de estados y de codificación Estados AB=00 AB=01 AB=10 AB=11 Estados Q1Q0 MIm

Q1 Q0

AB=00 AB=01 AB=10 AB=11

216

8. Autómatas

Tabla de excitación de biestables y salidas A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Q1 Q0 Q1 Q0 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 J1 K1 J0 K0

Formas canónicas

Diagramas de Veitch-Karnaugh

217

Ejercicios de sistemas digitales

Diagramas de Veitch-Karnaugh

218

8. Autómatas

8.18

Un limpiaparabrisas tiene pulsadores de marcha y paro -M y P-. Si se pulsa M se activa, si se pulsa P se para, además es prioritario el pulsador de parada. Implementa el autómata de Mealy capaz de controlar el limpiaparabrisas.

Diagrama de transición de estados

Tablas de transición de estados y de codificación Estados MP=00 MP=01 MP=10 MP=11 Estados Q

Q

MP=00 MP=01 MP=10 MP=11

219

Ejercicios de sistemas digitales

Tabla de excitación de biestables y salidas M 0 0 0 0 1 1 1 1 P 0 0 1 1 0 0 1 1 Q0 Q0 0 1 0 1 0 1 0 1 S J0 K0

Formas canónicas

Diagramas de Veitch-Karnaugh

220

8. Autómatas

8.19

Un limpiaparabrisas idéntico al anterior, pero dispone de un detector detector de reposo –R-, de tal forma que cuando activamos la parada, ésta no se produce hasta que el limpiaparabrisas haya alcanzado la posición de reposo. Plantea los autómatas de Moore y de Mealy correspondientes.

Diagrama de transición de estados

221

Ejercicios de sistemas digitales

8.20

Un limpiaparabrisas con detector de reposo R y un único pulsador P. Si se pulsa pasa al estado contrario que estaba, y ahí se mantiene hasta que estando en reposo el pulsador éste se vuelva a activar, pasando por tanto al estado contrario. El limpia no se para hasta alcanzar el reposo.

Diagrama de transición de estados

222

8. Autómatas

8.21

Una puerta se abre al activar un pulsador. La apertura se produce hasta que alcanza el tope de apertura, detectado por el sensor A. A partir de ese momento se produce el cierre de la puerta, hasta alcanzar el tope de cierre, detectado por el sensor C, y en ese momento se produce la parada.

Diagrama de transición de estados

223

Ejercicios de sistemas digitales

8.22

Un depósito de agua que da servicio al consumo dispone de dos bombas de llenado B1 y B2 y de dos sensores de nivel, inferior y superior, respectivamente. Si el nivel estuviera por debajo del inferior se activrían ambas bombas, si el nivel estuviera por encima del superior nos se activarían las bombas y si el nivel estuviera entre el superior y el inferior se activaría una única bomba, aquella que lleve más tiempo inactiva.

Diagrama de transición de estados

224

8. Autómatas

8.23

Hay que controlar las puertas de cristal de un edificio. Disponemos de un detector de personas P, de un detector de puerta abierta A y de un detector de puerta cerrada C. Si viene un persona se abre la puerta. Si la puerta empieza abrirse, completa su ciclo entero aunque desaparezca la persona. Si sigue apareciendo gente la puerta permanece abierta continuamente. Si cuando estaba cerrándose la puerta aparece una persona, la puerta vuelve a abrirse, completando un nuevo ciclo.

Diagrama de transición de estados

225

Ejercicios de sistemas digitales

8.24

Un motor dispone de dos pulsadores PA y PP, de arranque y parada, respectivamente. Si el motor estuviera quieto y se pulsara PA, el motor no giraría hasta que se soltara PA, y viceversa, si el motor estuviera girando y se pulsara PP, el motor no se pararía hasta que se soltara PP. Es decir, la activación o desactivación se produce por paso de 1 a 0. Repetir el ejercicio con un único pulsador P: si el motor estuviera girando la activación del pulsador lo pararía, y su estuviera parado la activación del pulsador lo arrancaría.

Diagrama de transición de estados

226

8. Autómatas

8.25

En un desvío de trenes se desea automatizar el cambio de vía. Si el tren es largo debe ir por la vía A (A=1) y si es corto por la vía B (B=1). Para saber si un tren es corto o largo disponemos de dos detectores ópticos (E y S) separados entre sí 50 metros: si en algún momento los detectores están ON el tren es largo, siendo corto en caso contrario. Supóngase que mientras se mide un tren otro no puede entrar en la zona de medidad y que el desvío está suficentemente lejos como para que todo vaya bien.

Diagrama de transición de estados

Tablas de transición de estados y de codificación Estados ES=00 ES=01 ES=10 ES=11 Estados Q1Q0 AB

Q1 Q0

ES=00

ES=01

ES=10

ES=11

227

Ejercicios de sistemas digitales

Tabla de excitación de biestables y salidas A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 Q1 Q0 Q1 Q0 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 J1 K1 J0 K0

Formas canónicas

Diagramas de Veitch-Karnaugh

228

8. Autómatas

Diagramas de Veitch-Karnaugh

229

Ejercicios de sistemas digitales

8.26

Un microbot se usa para recoger las piezas fabricadas por el operario en B y llevarlas a A para empaquetarlas. Así el microbot va de A a B, el operario tiene un pulsador P y el microbot tiene dos bumpers (BA y BB). El microbot está en A en reposo y al pulsar P el operario va hacia a B para coger la pieza, al llegar a B retorna a A para llevar la pieza y detenerse hasta un próximo pulso en P, pero si mientras está regresando de B a A se pulsara de nuevo P, entonces el microbot regresaría a B para recoger una nueva pieza y luego volver a A. Es decir, P inicia el ciclo y P lo interrumpe para volver a B. Controlar el motor del microbot con dos salidas S10: quieto (S10=00), deAaB (S10=01) y deBaA (S10=10).

Diagrama de transición de estados

230

8. Autómatas

8.27

Un secador de pelo, S, en un vestuario tiene un pulsador, P, y un detector de persona bajo el secador, D. Cuando se pulsa (P=1) y hay alguien debajo (D=1), el secador se activa, y lo seguirá haciendo mientras haya alguien debajo, aunque se suelte el pulsador. El secador se para al no haber nadie debajo. Controlar la activación del secador.

Diagrama de transición de estados

231

Ejercicios de sistemas digitales

8.28

Diseña un contador módulo cuatro controlado por un pulsador P, por cada pulso el contador aumenta en uno su valor. Plantea dos soluciones, una que cuenta al apretar el pulsador y otra que lo hace al soltar el pulsador. Modifícalo para que cuente de 0 a 3 y se pare, recomenzando la cuenta con un pulsador de inicio, PI.

Diagrama de transición de estados

232

8. Autómatas

8.29

Para abrir una caja fuerte se dispone de dos pulsadores, P1 y P0. Si se pulsa P1 (nivel alto) se genera un 1, y si se pulsa P0 (nivel alto) se genera un 0. La caja fuerte se abrirá con la secuencia 110011. En cuanto la secuencia sea errónea, se activará la salida de AL de alarma. Para intentar una nueva clave, habrá que reiniciar con Clear.

Diagrama de transición de estados

233

Ejercicios de sistemas digitales

8.30

En un juego con dos jugadores cada uno dispone de un pulsador, PA y PB, gana aquel que pulse antes que el otro después de oir/ver una señal del juez. El resultado se visualizará en dos diodos led, LA y LB, según quién gane. El juego no recomenzará hasta activar el Clear. Modificar el diseño para incluir un pulsador de Inicio y otro para el juez, J. Además habrá un nuevo diodo que se active al pulsar el juez para indicar partida en juego.

Diagrama de transición de estados

234

8. Autómatas

8.31

La unidad de control de un computador necesita recibir como primer flanco del reloj uno ascendente. Diseña el circuito que tiene como entradas las señales de Clear y Ck y que debe obtener como salida una nueva señal de reloj CK’ cuyo primer flanco, tras la activación del Clear, sea uno ascendente.

Diagrama de transición de estados

235

Ejercicios de sistemas digitales

8.32

Se desea automatizar la obtención del premio que corresponde a cada boleto de lotería de tres números. Un circuito recibe en serie bloques de tres bits binarios. Cada uno de estos bits indica si el dígito en cuestión es igual al dígito del número premiado. En cuanto al orden, primero se recibe el bit con el resultado de comparar las unidades, luego el de comparar las decenas y se acaba con el de las centenas. Se desea activar en la salida uno o ninguno de los tres diodos led que indican el premio obtenido, P1, P2 y P3. Se gana el P1 si sólo coinciden las unidades, se gana el P2 si coinciden las unidades y las decenas y se gana el gordo, el P3, si aciertan todos los dígitos.

Diagrama de transición de estados

236

8. Autómatas

8.33

Diseñar el autómata capaz de generar un pulso de nivel 1 y duración 1 pulso de reloj por cada pulso de una señal externa y duración t>1 pulso de reloj. Es decir, convertir un pulso de duración t en un pulso de duración T. Trabaja con tres opciones: • Detectar el flanco de subida. • Detectar el flanco de bajada. • Detectar el flanco de subida y de bajada.

237

Ejercicios de sistemas digitales

8.34

Copiar en la salida la señal de entrada, pero con un flanco de retardo.

238

8. Autómatas

8.35

Una línea de transmisión está a nivel alto en reposo y transmite bloques de tres bits. Para enviar un bloque de tres bits, primero la línea pasa a 0, luego vienen los tres bits, luego pasa a 0 de nuevo, para quedar finalmente a 1 en reposo. El autómata a diseñar debe recibir la información y presentarla en pararlelo acompañada de un bit de error cuando en la transmisión se incumplan las condiciones de transmisión.

239

Ejercicios de sistemas digitales

8.36

En una cadena de producción la longitud de las barras metálicas que se fabrican no debe ser mayor que L. Se dispone de dos detectores (D1 y D2, D1 es el primero y D2 el segundo) separados por una distancia L en la cinta que transporta a la barra metálica. Si el autómata a diseñar detectara que la longitud es mayor que L, debería abrir una trampilla posterior (T=1 abre la trampilla), de modo que la barra caería a la caja de rechazados. Si la barra fuera más corta que L, la trampilla no se abriría (T=0) y la barra seguiría su camino. No consideres situaciones imposibles; se supone que nunca viene una nueva barra hasta que la actual no pasado por D1 y D2.

240

8. Autómatas

8.37

Un sistema de alarma tiene un detector de personas, cuando detecta una, la alarma se pone a 1, y así se queda aunque desaparezca la persona. Para parar la alarma el guarda deberá activar un pulsador de rearme, PR. En este caso la alarma volverá a 0, y así se quedará hasta que detecte una nueva persona.

241

Ejercicios de sistemas digitales

8.38

Obtén el DTE del autómata capaz de controlar las duchas de entrada a una piscina: si la salida DUCHAS se pone a 1, éstas se activan, en caso contrario no. El pasillo con duchas tiene dos sensores: uno de entrada, E, y uno de salida, S. Las duchas deben activarse cuando alguien entrando desde los vestuarios se encuentre entre E y S, mientras que si la persona va desde las pisicinas al vestuario, las duchas no deberán activarse en ningún caso, aunque esté entre E y S. Considérese que nunca habrá más de una persona en el pasillo de las duchas, o sea, que todos entran y salen de uno en uno, y que nunca se mezclan en el pasillo.

242

8. Autómatas

8.39

Obtén el DTE capaz de controlar la única salida de una cafetera (CAF). La cafetera cuenta con un pulsador de arranque y un detector de jarra de café. Al pulsar, la cafetera se enciende y así se queda hasta que no se retire la jarra, lo que conlleverá su apagado. Además, la cafetera jamás debe funcionar en ausencia de jarra, ya que se desbordaría el café.

243

Ejercicios de sistemas digitales

8.40

Un motor es capaz de no girar (00), girar a la derecha (01) y girar a la izquierda (10). Se desea controlar las dos salidas del motor con dos entradas: un pulsador de marcha (P) y un detector de reposo. El motor se va a usar para agitar una coctelera, cuando el barman pulse P el motor dará una vuelta a la derecha hasta volver a quedar en reposo, si quisiera otra vuelta, debería volver a pulsar P, y en este caso la vuelta sería a izquierdas, asegurando una correcta agitación del cóctel. Resumiendo, al pulsar da una vuelta a la derecha hasta volver a alcanzar el reposo y detenerse, al volver a pulsar da una vuelta a la izquierda hasta volver a alcanzar el reposo y detenerse, un nuevo pulso volvería a girar la coctelera a la derecha, y así sucesivamente.

244

8. Autómatas

8.41

Dibujar el DTE de un autómata capaz de detectar errores en la transmisión de un mensaje de 7 bits + 1 con bit de paridad par desde los unos. La entrada está a estado alto "1" mientras no se transmite nada (en reposo). Un bit a cero indica el comienzo de la transmisión de los 8 bits (7+1). Al acabar el mensaje, la línea vuelve a quedar en estado alto o de reposo.

245

Ejercicios de sistemas digitales

8.42

Dibujar el DTE de un autómata capaz de automatizar la obtención de vino tinto. Se dispone de mosto de cuatro tipos de uva, muy bueno, bueno, regular y malo, MMB, MB, MR y MM. Cada botella se llena en 8 segundos de mezcla de los diferentes mostos según la siguiente tabla: • VINO TINTO FINO: 8 segundos de MMB. • VINO TINTO BUENO: 1 segundo de MMB, 6 segundos de MB y uno de MR. • VINO TINTO DE MESA: 4 segundos de MB, 3 segundos de MR y uno de MM. • VINO TINTO NORMAL: 3 segundos de MR y cinco de MM. El reloj, CK, evoluciona a 1Hz.

246

8. Autómatas

8.43

Se dispone de un teclado con dos entradas ENTRA y SALE y una tecla de INICIO. Para indicar ENTRA o SALE primero se pulsa INICIO y luego se pulsa una tecla durante el tiempo que sea. Se debe generar un pulso 0-1-0 en la salida adecuada, SENTRA y SSALE. El resto del tiempo ambas salidas quedarán a 0. Además se debe excitar una salidad de ERROR cuando éste se dé. Dibujar el DTE capaz de gestionar las entradas frente a las tres salidas.

247


				
DOCUMENT INFO
Shared By:
Categories:
Stats:
views:6262
posted:10/17/2009
language:Spanish
pages:257
Description: Ejercicios de Digitales usados por Ing. Herrera, EPN