Вы находитесь на странице: 1из 147

Centro Salesiano

“Manuel Lora Tamayo”

SISTEMAS DE CONTROL SECUENCIAL

SISTEMAS DIGITALES

PROFESOR: JUAN P. NARVÁEZ


Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

INDICE

Cap 1.- Introducción ………………………………………………………………………… 1.-

Cap 2.- Sistemas de representación …………………………………………………………………. 5.-

Cap 3.- Algebra de Boole ………………………………………………………………………... 15.-

Cap 4.- Circuitos combinacionales ……………………………………………………………………. 31.-

Cap 5.- Circuitos MSI (1) Multiplexores y demultiplexores……………………………….. 56.-

Cap 6.- Circuitos MSI (2) Codificadores, decodificadores y comparadores ……….. 67.-

Cap 7.- Circuitos MSI (3) Circuitos aritméticos …………………………………………………. 78.-

Cap 8.- Biestables …………………………………………………………………………… 84.-

Cap 9.- Registros …………………………………………………………………………… 91.-

Cap 10.-Circuitos digitales auxiliares …………………………………………………………………… 93.-

Cap 11.-Autómatas finitos ………………………………………………………………………….. 99.-

Cap 12.-Sistemas microprogramables…………………………………………………………………. 115.-

Cap 13.-Circuitos secuenciales asíncronos …………………………………………………………… 138.-

2
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Capítulo 1
Introducción
Antes de entrar en los detalles de esta asignatura, es interesante tener una perspectiva mayor,
para entender el contexto de esta asignatura, en qué fundamentos se basa y cómo se relaciona
con el resto de asignaturas.
Electrónica
Esta asignatura trata sobre Electrónica. La Electrónica estudia el comportamiento de los
electrones en diversos medios, y se aplican estos conocimientos para conseguir que “los
electrones hagan lo que nosotros queramos”. Así por ejemplo, si construimos un circuito
electrónico constituido por una pequeña bombilla, una pila y un interruptor y lo conectamos,
lograremos que los electrones circulen por todo el circuito y que al atravesar la bombilla parte
de ellos se conviertan en luz1. ¡¡Hemos conseguido que los electrones nos obedezcan!!
Para “dominar” a los electrones, es necesario crear circuitos electrónicos, formados por
materiales conductores (cables) que unen todos los componentes del circuito, de la misma
manera que hay tuberías de agua que recorren nuestras casas, uniendo diferentes elementos:
grifos, llaves de paso, el contador del agua...
El objetivo de la electrónica aplicada es construir circuitos electrónicos para que los
electrones se comporten de la manera que a nosotros nos interese.

Tipos de electrónica
Electrónica Analógica
Uno de los grandes retos del hombre es el de manipular, almacenar, recuperar y transportar
la información que tenemos del mundo en el que vivimos, lo que nos permite ir progresando
poco a poco, cada vez con más avances tecnológicos que facilitan nuestra vida y que nos
permiten encontrar respuestas a preguntas que antes no se podían responder.
Ahora estamos viviendo un momento en el que esa capacidad de manipulación,
almacenamiento, recuperación y transporte de la información está creciendo
exponencialmente, lo que nos convierte en lo que los sociólogos llaman la “Sociedad de la
información”, y que tendrá (de hecho ya tiene) grandes implicaciones sociales.
Con la aparición de la electrónica las posibilidades para desarrollar esas capacidades
aumentaron considerablemente. Para comprender los principios de la electrónica analógica,
nos centraremos en un ejemplo concreto: la manipulación, almacenamiento, recuperación y
transporte de una voz humana.
Cuando hablamos, nuestras cuerdas vocales vibran de una determinada manera, lo que origina
que las moléculas del aire también lo hagan, chocando unas con otras y propagando esta
vibración. Si no existiesen esas moléculas, como en el espacio, el sonido no se podría
propagar.
Si medimos la vibración de una de estas moléculas, durante un intervalo corto de tiempo, y la
pintamos, podría tener una pinta como la que se muestra en la figura 1.2. A esta vibración la
llamaremos señal acústica.
Cuando esta señal acústica incide sobre un micrófono, aparece una señal eléctrica que tiene
una forma análoga a la de la señal acústica. Las vibraciones de las moléculas se han
convertido en variaciones del voltaje, que al final se traducen en vibraciones de los electrones.
Es decir, que con los micrófonos lo que conseguimos es que los electrones vibren de una
manera análoga a cómo lo hacen las moléculas del aire.

3
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Esta nueva señal eléctrica que aparece, se denomina señal analógica, puesto que es análoga a
la señal acústica original. De esta manera, con señales eléctricas conseguimos imitar las
señales del mundo real. Y lo que es más interesante, conseguimos que la información que se
encuentra en la vibración de las moléculas del aire, pase a los electrones. Cuanto mejor sea el
micrófono, más se parecerá la señal eléctrica a la acústica, y la información se habrá
“copiado” con más fidelidad.
La electrónica analógica trata con este tipo de señales, análogas a las que hay en el mundo
real, modificando sus características (ej. amplificándola, atenuándola, filtrándola...).
Fijémonos en el esquema. La persona que habla emite una señal acústica que es convertida en
una señal electrónica analógica por el micrófono. Estas dos señales son
Muy parecidas, pero la que sale del micrófono es más pequeña. Por ello se introduce en un
circuito electrónico, llamado amplificador, que la “agranda” (la ha manipulado).

A continuación esta señal se puede registrar en una cinta magnética de audio. Lo que se graba
es una “copia” de la señal, pero ahora convertida a señal magnética. En cualquier momento la
señal se puede volver a recuperar, convirtiéndose de señal magnética nuevamente a señal
eléctrica. Una parte del sistema se ha llamado “sistema de transmisión-recepción” indicándose
con esto que la señal eléctrica se puede transportar (Por ejemplo el sistema telefónico).
Finalmente se introduce por un altavoz que realiza la conversión inversa: pasar de una señal
eléctrica a una acústica que se puede escuchar.

4
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------
Los problemas de los sistemas analógicos son:
1. La información está ligada a la forma de la onda. Si esta se degrada, se pierde información
2. Cada tipo de señal analógica necesita de unos circuitos electrónicos particulares (No es lo
mismo un sistema electrónico para audio que para vídeo, puesto que las señales tienen
características completamente diferentes).
En las señales analógicas, la información se encuentra en la forma de la onda

Electrónica digital

Existe otra manera de modificar, almacenar, recuperar y transportar las señales,


solucionándolos problemas anteriores. Es un enfoque completamente diferente, que se basa en
convertir las señales en números.
Existe un teorema matemático (teorema de muestreo de Nyquist) que nos garantiza que
cualquier señal se puede representar mediante números, y que con estos números se puede
reconstruirla señal original.
De esta manera, una señal digital, es una señal que está descrita por números. Es un conjunto
de números. Y la electrónica digital es la que trabaja con señales digitales, o sea, con
números.
Son los números los que se manipulan, almacenan, recuperan y transportan.
Reflexionemos un poco. Estamos acostumbrados a escuchar el término televisión digital, o
radio digital. ¿Qué significa esto? Que la información que nos envían está en los propios
números y no en la forma que tenga la señal que recibidos. ¿Y qué es un sistema digital?, un
sistema que trabaja con números. ¿Y un circuito digital? Un circuito electrónico que trabaja
con números. ¡¡Y sólo con números!!
Si nos fijamos, con un ordenador, que es un sistema digital, podemos escuchar música o ver
películas. La información que está almacenada en el disco duro son números.
En la figura 1.5 se muestra un sistema digital. La señal acústica se convierte en una señal
eléctrica, y a través de un conversor analógico-digital se transforma en números, que son
procesados por un circuito digital y finalmente convertidos de nuevo en una señal
electrónica, a través de un conversor digital-analógico, que al atravesar el altavoz se
convierte en una señal acústica.

El utilizar circuitos y sistemas que trabajen sólo con números tiene una ventaja muy
importante: se pueden realizar manipulaciones con independencia de la señal que se esté
introduciendo: datos, voz, vídeo... Un ejemplo muy claro es Internet. Internet es una red
digital, especializada en la transmisión de números. Y esos números pueden ser datos,

5
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

canciones, vídeos, programas, etc... La red no sabe qué tipo de señal transporta, “sólo ve
números”.
La electrónica digital trabaja con números. La información está en los números y no en
la forma de señal. Cualquier señal siempre se puede convertir a números y recuperarse
posteriormente.

Circuitos y sistemas digitales


Ya podemos entender de lo que trata esta asignatura. En ella estudiaremos y diseñaremos
circuitos digitales, que manipulan números. Existen unos números en la entrada y nuestro
circuito generará otros números de salida (figura 1.6). Algunos números se considerarán
como datos y otros se usarán para el control del propio circuito. No nos preocuparemos de
dónde vienen estos números, pero ya sabemos que o bien vendrán de otro sistema digital, o
bien de una señal analógica que se ha convertido a números (se ha digitalizado).
Un circuito digital realiza manipulaciones sobre los números de entrada y genera unos
números de salida.

6
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Capítulo 2
SISTEMAS DE REPRESENTACIÓN
Conceptos
El concepto de número todos lo tenemos, pero un mismo número se puede representar de
muchas maneras. Por ejemplo, el número 10, lo representamos mediante dos dígitos, el ’1’ y
el ’0’. Si utilizásemos numeración romana, este mismo número lo representaríamos sólo con
un único dígito ’X’. Pero está claro que ambas representaciones, “10” y “X” hacen referencia
al mismo número diez.

Nosotros estamos acostumbrados a representar los números utilizando diez dígitos: ’0’, ’1’,
’2’, ’3’, ’4’, ’5’, ’6’, ’7’, ’8’, ’9’. Por eso nuestro sistema de representación se denomina
Sistema decimal o sistema en base diez.
Analicemos con un poco más de detalle el sistema decimal, que es el que manejamos
habitualmente.
Vamos a representar el número “tres mil doscientos ochenta y uno”:
3281
Observamos lo siguiente:
Está constituido por cuatro dígitos: ’3’,’2’,’8’ y ’1’.
El orden en el que están colocados es muy importante y si se modifica, se está representando
otro número.
Cuanto más a la izquierda está un dígito, más importante es.
Supongamos el número 3281 El dígito ’3’ es más importante que todos los que tiene a su
derecha. Tiene un peso mayor que el resto de dígitos. De hecho, este dígito ’3’ está
representando al número tres mil. El dígito ’2’ por estar en tercera posición comenzado desde
la derecha, representa el número doscientos, el ’8’ al ochenta y el ’1’ al uno. Podemos
descomponer el número de la siguiente manera:
3281 = 3000 + 200 + 80 + 1 = 3 1000 + 2 100 + 8 10 + 1 = 3 +2 +8 +1 _ ____ _ ____ _ ____ ___

Observamos que cada dígito está multiplicando una potencia de 10. Cuanto más a la izquierda
se sitúe el dígito, mayor será la potencia de diez por la que se multiplica.
En la figura 2.2 se muestra el número 3281 descompuesto en dígitos y pesos, y se indica cuál
es el dígito de mayor peso y cuál es el de menor.

Este sistema de representación también se llama sistema en base diez porque los pesos de los
dígitos son potencias de 10: El dígito de más de la derecha tiene un peso de 0 los siguientes
tienen pesos de 1,2, 3…
7
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Nosotros representamos los números en el sistema decimal, que consta de diez dígitos
Diferentes, asignándoles un peso que es una potencia de diez y que será mayor cuanto más
ala izquierda se encuentre el dígito.
¿Qué nos impide que utilicemos unos sistemas de representación en los que los pesos delos
dígitos, o incluso los dígitos sean diferentes de los del sistema decimal? Nada. Por ejemplo,
podemos emplear un sistema de representación octal (Base 8), que utiliza sólo ocho dígitos
(0,1,2...7) para representar cualquier número y los pesos de los diferentes dígitos serán
potencias de 8. En este sistema, si escribimos los dígitos 352 no se corresponden con el
número “trescientos cincuenta y dos” . Para calcular cuál es el número que representa hay que
multiplicar cada dígito por su correspondiente peso, obteniendo el número equivalente en el
sistema decimal.
352 = 3 64 + 5 8 + 2 = 248
El número 352 en representación octal es equivalente al número 248 del sistema decimal.
En el sistema octal, los dígitos tienen pesos que son potencias de 8, en lugar de potencias de
10 como en el sistema decimal. Para evitar confusiones cuando se trabaja con sistemas de
representación diferentes se escribe el número con el subíndice correspondiente que indica la
base.
______ ____ _ _ _

El subíndice 8 indica que el número está representado en un sistema octal y con el subíndice
10 se indica que lo está en un sistema decimal.
Sistema octal (Base 8)
Ya lo hemos visto en el apartado de introducción. Utiliza ocho dígitos: 0,1,2,3,4,5,6 y 7 y los
pesos son potencias de 8. No lo utilizaremos en esta asignatura.
Sistema binario (Base 2)
¿Se podrían utilizar sólo dos dígitos para representar cualquier número? Si, se denomina
sistema binario. Este sistema de representación sólo utiliza los dígitos 0 y 1 para
representar cualquier número. Fijémonos en lo interesante que resulta esto, ¡¡¡sólo con dos
dígitos podemos representar cualquiera de los infinitos números!!!
En el sistema binario los pesos de estos dígitos son potencias de 2. Veamos un ejemplo del
número binario 1 0 1 0 0 1 = 41 en decimal
__ __

El sistema binario tiene mucha importancia y lo utilizaremos constantemente en esta


asignatura. Fijémonos en lo que significa esta forma de representación. Utilizando sólo dos
dígitos, es posible representar cualquiera de los infinitos números. En la tecnología actual
disponemos de un elemento, llamado transistor, que se puede encontrar en dos estados
diferentes, abierto o cerrado, (El nombre técnico para estos estados es Corte y Saturación, pero
es más intuitivo pensar en un transistor como en un pequeño interruptor que puede estar
abierto o cerrado) a los que le asociamos los dígitos 0 y 1. Todos los circuitos integrados o
chips se basan en estos transistores y trabajan internamente en binario. Todas las operaciones
se realizan utilizando este sistema de representación, por eso es muy importante que lo
conozcamos, para entender cómo funcionan los microprocesadores y los chips por dentro.
El sistema binario utiliza sólo dos dígitos diferentes para representar cualquier número.
El peso de los dígitos es una potencia de 2.

8
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Sistema hexadecimal (Base 16)


¿Y sería posible utilizar más de 10 dígitos para representar los números?. También es
posible.
Ese es el caso del sistema hexadecimal, en el que se emplean 16 dígitos: 0, 1, 2, 3, 4, 5, 6, 7,
8, 9, A, B, C, D, E y F, donde las letras representan los números 10, 11, 12, 13, 14 y 15
respectivamente.
Los pesos de los dígitos son potencias de 16. Por ejemplo, el número hexadecimal
FE2A se puede descomponer igual que en el caso anterior, la única diferencia es que ahora la
base es 16, luego el número decimal equivalente es 65066
__ ___ ______ _ _____ _ _ _____ _ __

Este sistema, como veremos más adelante, se emplea para escribir números binarios de una
manera más compacta, dado que el paso de hexadecimal a binario y viceversa es inmediato.
Tabla de conversión para los sistemas
Decimal- binario- hexadecimal
La tabla que se muestra a continuación representa las equivalencias entre diferentes números
expresados en los sistemas decimal, binario, hexadecimal, Aiken, Exceso 3, y BCD
Natural, que son los que más usaremos.

a b c d Dec Hex Aik Exc3 Nat


0 0 0 0 0 0 0 - 0
0 0 0 1 1 1 1 - 1
0 0 1 0 2 2 2 - 2
0 0 1 1 3 3 3 0 3
0 1 0 0 4 4 4 1 4
0 1 0 1 5 5 - 2 5
0 1 1 0 6 6 - 3 6
0 1 1 1 7 7 - 4 7
1 0 0 0 8 8 - 5 8
1 0 0 1 9 9 - 6 9
1 0 1 0 10 A - 7 -
1 0 1 1 11 B 5 8 -
1 1 0 0 12 C 6 9 -
1 1 0 1 13 D 7 - -
1 1 1 0 14 E 8 - -
1 1 1 1 15 F 9 - -

Un dígito binario, que puede ser ’0’ ó ’1’, recibe el nombre de BIT, del término ingles
Binary DigiT (dígito binario). Utilizaremos los bits para indicar el tamaño de las entradas y
salidas de nuestros circuitos. Así por ejemplo podemos tener un circuito digital con 3 bits de
entrada y 4 de salida.
Los circuitos digitales sólo saben trabajar con números en binario, sin embargo a los
humanos nos es más cómodo trabajar en decimal. Trabajar con número binarios puede parecer
“poco intuitivo”. Vamos a ver cómo en determinadas ocasiones resulta muy intuitivo el
trabajar con números binarios.
Imaginemos que en una habitación hay 5 bombillas situadas en la misma línea, y que cada una
de ellas puede estar encendida o apagada. ¿Cómo podríamos representar el estado de estas5
bombillas mediante números?

9
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Una manera muy intuitiva sería utilizar el sistema binario, en el que utilizaríamos el dígito 1
para indicar que la bombilla está encendida y el dígito 0 para indicar que está apagada. Así
el número 01011 nos indica que la primera bombilla está apagada,
La segunda encendida, la tercera apagada y las dos últimas encendidas, como se muestra en la
figura 2.5. Esta forma de representar el estado de las bombillas es bastante intuitiva. Este es un
ejemplo en el que se puede ver que “pensar” en binario resulta más fácil que hacerlo
directamente en decimal

Sistema binario y sistema hexadecimal


El sistema hexadecimal se utiliza para representar números binarios de una forma más
compacta. Cada dígito hexadecimal codifica 4 bits, de manera que un número hexadecimal de
4 bits permite representar un número binario de 16 bits. Veamos un ejemplo:

1011000111101101 = B1ED
Podemos ver cómo es mucho más cómodo utilizar el número hexadecimal que el binario.
Pero, ¿cómo se pasa de binario a hexadecimal o vice-versa? El proceso es muy sencillo. Lo
único que hay que conocer es la tabla de equivalencia. El número en binario hay que dividirlo
en grupos de 4 bits empezando desde la derecha. La conversión del número binario anterior se
haría de la siguiente manera:

Bits y electrónica
Todavía nos queda una cosa por resolver. En la electrónica trabajamos con electrones,
forzándolos a que hagan lo que nosotros queremos. En el caso de los circuitos digitales, lo que
hacemos es operar con números. ¿Cómo conseguimos esto? ¿Cómo introducimos los números
en los circuitos digitales?

10
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

La solución a esto es asignar un voltaje a cada uno de los dos estados de un bit. Lo normal,
conocido como lógica TTL, es asignar el valor de 5 voltios al dígito ’1’ y 0 voltios al dígito
’0’.
Esta asignación de valores depende de la tecnología empleada.
En la figura se muestra un circuito digital que tiene un bit de entrada. Si queremos introducir
un dígito ’1’ ponemos el interrupción en la posición A, de manera que por la entrada E llegan
5 voltios. Si queremos introducir un dígito ’0’ ponemos el interruptor en la posición B, por lo
que llegan cero voltios.

Otros sistemas de representación


Para representar los números hemos visto que los circuitos digitales utilizan el sistema binario.
Y hemos estado utilizando el sistema binario natural, en el que los bits tienen de peso
Potencias de 2, que es lo más habitual. Sin embargo existen otros sistemas de representación
que son binarios en el sentido de que sólo usan los dos dígitos ’0’ y ’1’, sin embargo tienen
pesos diferentes. Algunos de estos sistemas, también conocidos como códigos son los
siguientes:
1. Código BCD: Decimal Codificado en Binario. Es una manera de representar números
Decimales en binario. A cada dígito decimal se le asignan 4 bits, correspondientes a su
número binario natural. Así por ejemplo para representar número decimal 21 en BCD,
utilizaremos en total 8 bits, 4 para uno de los dos dígitos:
21 = 0010 0001
Los primeros 4 bits representan al dígito ’2’ y los 4 siguientes al dígito ’1’.
2. Código AIKEN: Similar al BCD, pero con los pesos cambiados. Cada dígito decimal se
representa mediante 4 bits, siendo los pesos de estos bits: 2, 4, 2 y 1.
3. Código GRAY: Son una familia de códigos que se caracterizan porque el paso de un
número al siguiente implica que sólo se modifica un bit.
Terminología
BIT Dígito binario. Un bit puede tomar los valores 0 ó 1. Es la abreviatura de las palabras
inglesas de Binary digiT.
Byte Conjunto de 8 bits. El número más alto que se puede representar es el 11111111, que en
decimal es 255.

A continuación dibujamos una tabla que establece la relación existente entre los códigos más
frecuentes. Esta tabla es la ideal para hacer los cambios necesarios para diseños de cambios de
códigos o, para resolver circuitos combinacionales cuyos resultados estén codificados en un
código determinado.
Volvemos a poner la tabla de códigos, esta vez introducimos además el código Gray
En el cuadernillo de prácticas se diseñan varios circuitos de este tipo.

11
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

A B C D Bin Nat Aiken Ex 3 Hex Gray


0 0 0 0 0 0 0 0 0
0 0 0 1 1 1 1 1 1
0 0 1 0 2 2 2 2 3
0 0 1 1 3 3 3 0 3 2
0 1 0 0 4 4 4 1 4 7
0 1 0 1 5 5 2 5 6
0 1 1 0 6 6 3 6 4
0 1 1 1 7 7 4 7 5
1 0 0 0 8 8 5 8 15
1 0 0 1 9 9 6 9 14
1 0 1 0 10 7 A 12
1 0 1 1 11 5 8 B 13
1 1 0 0 12 6 9 C 8
1 1 0 1 13 7 D 9
1 1 1 0 14 8 E 11
1 1 1 1 15 9 F 10

Ejemplos de suma y resta en Hexadecimal

D48AC79D D48AC79D
CE8D7A5C - CE8D7A5C
1A31 8 41F9 0 5FD4D41

Transmisión de datos
En una transmisión de datos, habrá que tener en cuenta la posibilidad de que algunos de los
bits que conforman una determinada palabra pueda “mutar”.
En ese caso, además de sincronizar el emisor y receptor o, en su defecto introducir bits de
inicialización y de finalización, se dispondrá de un circuito capaz de detectar esa mutación,
identificar el bit mutado, representarlo y corregirlo.
Para conseguir todo lo anterior, se recurre al código Hamming, con bits de paridad par o bits
de paridad impar.
A continuación resolveremos un caso práctico con una palabra de tres bits.

Supongamos que pretendemos mandar una palabra de 3 bits. Con bits de paridad par

2 > n + p +1
N= nº de bits de la palabra
P= nº de bits de paridad => 2 > 4 +3 + 1
Luego el número de bits de paridad serán 3 para esa palabra de tres bits
Tendremos que transmitir un total de 7 bits para que puedan estar controlados los bits de
información
A continuación calculamos la posición de cada uno de ellos y también el nº de bits que
controla cada bits de paridad mediante la fórmula 2 siendo i = al número del bit que
estamos analizando : 1, 2, 3 …. Así que a cada bit le ponemos un subíndice.

P =2 = 2 = 2 = 1 => posición 1 y controla a los bits 1-3-5-7 alternos de uno en uno a


partir de él.
12
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------
P =2 = 2 = 2 = 2 => posición 2 y controla los bits alternos tomados de dos en dos y
a partir de él 2-3 y 6-7
P = 2 = 2 = 2 = 4 => posición 4 y controla los bits alternos tomados de cuatro en
cuatro a partir de él 4,5,6,7

Trabajaremos con los bits de paridad par, es decir número de bits en estado “1” par =0

A7 A6 A5 P4 A3 P2 P1 Si la palabra es 0011, tendremos


0 0 1 1 1 1 0

Calculamos el valor de los bits de paridad y ordenando:


A la derecha comprobamos el detector de error sin cambios
A7 A5 A3 P1 A7 A5 A3 P1 E1
0 1 1 => 0 0 1 1 1 0

A7 A6 A3 P2 A7 A6 A3 P2 E2
0 0 1 => 1 0 0 1 1 0
A7 A6 A5 P4 A7 A6 A5 P4 E4
0 0 1 => 1 0 0 1 1 0

A continuación supongamos que el bit 6 ha sufrido una mutación, es decir de de 0=>1

Los detetectores de error E4 E2 toman el valor 1 con lo que el resultado es 110 =6


Tanto el generador de bits de paridad y el detector de error, podemos observar que se
resuelven por puertas tipo X-OR.

Coma flotante.
Los números reales binarios que hemos estudiado se pueden representar en un formato
llamado coma fija. Es decir lo que se encuentra a la izquierda de la coma es la parte izquierda
y la de la derecha parte decimal. Desplazar la coma tiene enefecto de multiplicar por un factor
constante que en binario es una potencia positiva o negativa, si desplazamos hacia la izquierda
o hacia la derecha

A continuación hablaremos del sistema de representación por como flotante, a partir de un


número en binario o en decimal. Los sistemas de representación de coma flotante se utilizan
en las programaciones de autómatas programables.

El sistema de coma flotante se puede estudiar en 16, 32, ó 64 bits. El sistema de


representación será el mismo con la única salvedad del número de bits
La fórmula emplear será:

En general un número N expresado en coma flotante, en un sistema de numeración de base b,


se representa por:

13
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

N =SmM (b) elevado a SeE. Donde M es el valor absoluto de la mantisa, E es el valor del
exponente, Sm el signo de la mantisa, Se el signo del exponente y b la base. En base 2 ( b=2),
el conjunto resulta ser una palabra binaria

Con un ejemplo se verá más claro:

Representar en coma flotante en el sistema de 16bits, los casaos siguientes.


a) 100101,0110
b) -64,372
c) 0,00732

a) 0,1001010110 x 2 elevado a 0110

a) Sm Se/ Exp / Mantisa


0 0 0 1 1 0 1 0 0 1 0 1 0 1 1 0
b) -0,64372 x 10 elevado a 2
a continuación lo pasamos a binario multiplicando la parte decimal sucesivamente por
2 y después tomamos la parte entera de cada uno de ellos, es decir
-0,64372 x 2 = 1,28744  1
0,28744 x 2 = 0,57488  0 y así sucesivamente hasta obtener 10 bits. El resultado
sería

1 0 0 0 1 0 1 0 1 0 0 1 0 0 1 1
b)

c) 0,732 x 10 elevado a -2 Procedemos de la misma manera que anteriormente y el


resultado será

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

14
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Ejercicios resueltos

15
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

16
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Capítulo 3
ALGEBRA DE BOOLE
.
La operación +
Esta operación se define de la siguiente manera:
0+0=0
0+1=1
1+0=1
1+1=1
Las tres primeras operaciones nos resultan obvias, son iguales que la suma que conocemos,
sin embargo la expresión 1 +1= 1 nos puede resultar chocante, estamos utilizando otra
operación que NO ES LA SUMA, la denotamos con el mismo símbolo ’+’, ¡¡pero no es una
suma normal!! ¡¡Hay que cambiar el “chip”!! ¡¡Ahora estamos con Algebra de Boole!!
El resultado siempre es igual a ’1’ cuando alguno de los bits sumandos es igual a ’1’. O lo
que es lo mismo, El resultado de esta suma sólo da ’0’ si los dos bits que estamos
sumando son iguales a cero. En caso contrario valdrá ’1’.
¿Y para qué nos sirve esta operación tan extraña? Veamos un ejemplo. Imaginemos que hay
una sala grande a la que se puede acceder a través de dos puertas. En el techo hay una única
lámpara y existen dos interruptores de luz, uno al lado de cada puerta de entrada. Como es
lógico, la luz se enciende cuando algunos de los dos interruptores (o los dos) se activan. Esto
lo podemos expresar mediante una ecuación booleana. Para denotar el estado de uno de los
interruptores utilizaremos la variable booleana A, que puede valor ’0’ (Interruptor apagado)
ó ’1’ (interruptor activado). Para el otro interruptor usaremos la variable B. Y para el estado
de la luz, ’0’ (apagada) y ’1’ encendida, usaremos la variable F.
El estado en el que se encuentra la luz, en función de cómo estén los interruptores viene
dado por la ecuación booleana: F= A + B que indica que F=1 (Luz encendida) si alguno de
los interruptores está a ’1’ (activado).

Ya lo veremos más adelante, pero podemos ir adelantando unas propiedades muy interesantes.
Si A es una variable booleana, se cumple:
A+A=A
1+A=1
0+A=A
La operación
Esta operación se define así:
0 *0 = 0
0 *1 = 0
1 *0 = 0
1 *1 = 1
En este caso, la operación es más intuitiva, puesto que es igual que el producto de números
Reales. Si nos fijamos, vemos que el resultado sólo vale ’1’ cuando los dos bits están a ’1’,
o visto de otra manera, el resultado es ’0’ cuando alguno de los dos bits es ’0’.

17
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Vamos a ver un ejemplo. Imaginemos una caja de seguridad de un banco que sólo se abre
cuando se han introducido dos llaves diferentes, una la tiene el director y la otra el jefe de
seguridad.
Si sólo se introduce una de ellas, la caja no se abrirá. Modelaremos el problema así.
Utilizaremos la variable A para referirnos a una de las llaves (’0’ no introducida, ’1’
introducida) y la variable B para la otra llave. Con la variable F expresamos el estado de la
caja de seguridad (’0’ cerrada y ’1’ abierta). El estado de la caja lo podemos expresar con la
ecuación:
_
__
F=A.B
que indica que la caja se abrirá (F=1) sólo si A=1 (una llave introducida) y B=1 (la otra llave
introducida). En cualquier otro caso, F=0, y por tanto la caja no se abrirá.
Podemos ir adelantando algunas propiedades de esta operación:
A .A=A
A . 0=0
A . 1=1 .

La negación
La operación de negación nos permite obtener el estado complementario del bit o variable
booleana al que se lo aplicamos. Se define de la siguiente manera:
_
_

Es decir, que si se lo aplicamos a ’0’ obtenemos ’1’ y si se lo aplicamos al ’1’ obtenemos ’0’.
Esta operación nos permite cambiar el estado de una variable booleana. Si A es una variable
booleana A negada tiene el estado contrario.
_

Las propiedades del Álgebra de Boole


Las operaciones del Álgebra de Boole las podemos definir utilizando tablas de verdad:

18
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Las propiedades del Algebra de Boole son las siguientes:


1. Las operaciones + y . son CONMUTATIVAS

A+B=B+A A.B =B.A

2. Elemento Neutro
A+0=A A . 1 = A

3. Distributiva
A + (B . C) = (A + B) . (A + C) A. ( B + C) =A . B + A . C

4. Elemento inverso
_ _ __

Operación de negación definida por:


_
_

Teoremas importantes
Derivados de las propiedades fundamentales, existen una serie de Teoremas muy interesantes
e importantes que usaremos a lo largo de todo el curso. Algunos los utilizaremos en la teoría y
otros para los problemas.
Asociatividad
_ _ __
_
__ __ _

A +B+C+= (A + B) + C = A + ( B + C)
A . B . C = ( A . B) . C = A . (B . C)
Idempotencia:
B +B=B
___ _
_
B.B=B
_ _

Ley de Absorción
A+A.B=A
___
_ _
_ _ _ _ _ _ __
A.(A+B)=A
Este teorema es muy importante puesto que nos permite realizar simplificaciones en las
expresiones.
Leyes de DeMorgan
_
___
_ _ _____ _ __

Este teorema es también muy importante y lo usaremos constantemente.

_
_

Teorema de Shannon:
Este teorema es una generalización de las leyes de DeMorgan. Lo que nos dice es que
si tenemos cualquier expresión booleana negada, es igual a la misma expresión en la que todas
las variables estén negadas y en la que se sustituyan las operaciones + por . y viceversa.
_
____

19
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------
Funciones booleanas
Funciones reales y funciones booleanas
Vamos a definir Funciones booleanas, que son exactamente iguales a las funciones
matemáticas a las que estamos habituados pero con la particularidad de que las variables son
booleanas y que los valores devueltos por la función también son booleanos, es decir, una
función booleana sólo puede tomar los valores ’0’ ó ’1’.
__
_ _ __
__
__ _
__

Ejercicios:
Hacer el ejercicio 3
3.5. FUNCIONES BOOLEANAS 43
Funciones booleanas y tablas de verdad
Existen dos maneras de representar una función booleana. Una ya la conocemos, y es utilizado
expresiones booleanas. Así por ejemplo se puede definir la función booleana siguiente:

__
_

y hemos visto cómo podemos obtener todos los valores de esta función.
Existe otra manera de especificar una función booleana y es utilizando las tablas de
verdad. En ellas lo que estamos representando es el valor que debe tomar la función cuando
las variables de entrada toman todos los valores posibles. Así por ejemplo yo puedo definir
una función G de la siguiente manera:
A B G
0 0 0
0 1 1
1 0 0
1 1 1

¿Cuánto vale G si A=0 y B=1?. Miramos la tabla y vemos que G vale 1. Esta forma de definir
funciones booleanas es muy sencilla. El número de filas de la tabla de verdad depende del
número de variables que usemos.
Cuanto mayor número de variables, mayor cantidad de filas tendrá la tabla de verdad.
La regla que se cumple es la siguiente: “Si la función tienen n variables, la tabla de verdad
tendrá 2 elevado a n filas.
Si una función tiene 2 variables, su tabla de verdad tendrá 4 filas
Si la función tiene 3 variables, la tabla tendrá 8 filas
Si la función tiene 4 variables, la tabla tendrá 16 filas
Dada una tabla de verdad, ¿cómo podemos obtener la expresión booleana de la función? O
Obtención de una tabla de verdad a partir de una expresión
Esto es bastante sencillo. Lo primero que hay que hacer es identificar el número de variables
de la función, para conocer el tamaño de la tabla de verdad. A continuación escribimos
números en binario en la parte de las variables. Finalmente vamos fila por fila obteniendo el
valor de la función, utilizando la expresión.
Lo mejor es ver un ejemplo. Imaginemos que nos han dado la siguiente función, definida por
la expresión:
_
_

1. La función tiene 2 variables, luego la tabla de verdad tendrá 4 filas

Dibujamos una tabla de verdad con 4 filas, y ponemos en la parte de la izquierda el


número de fila en binario natural, comenzando por la fila 0.

20
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

A B F
0 0 0
0 1 1
1 0 0
1 1 0

3. Aplicando la expresión, vamos calculando el valor de F.


_ _ _ _ _

4. Ya podemos rellenar la tabla de verdad:

Veamos otro ejemplo, ahora con una función de 3 variables:


1. Como la función tiene 3 variables, la tabla de verdad tendrá 8 filas.
2. Dibujamos la tabla, poniendo en binario natural el número de fila, comenzando por 0:
3. Calculamos el valor de la función para cada una de las filas. El resultado se muestra a
continuación
A B C F
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 1

Obtención de una expresión a partir de una tabla de verdad


Cuando diseñemos circuitos combi nacionales, será muy normal que tengamos una tabla de
verdad que haya que convertir a expresiones booleanas. El proceso es sencillo, sin embargo
ocurre que dada una tabla de verdad se pueden obtener multitud de expresiones diferentes,
todas ellas equivalentes. Nuestra misión consistirá en obtener la expresión más simplificada
posible. Esto lo iremos viendo en los siguientes apartados.
Formas canónicas

A partir de una tabla de verdad, podemos obtener múltiples expresiones para la misma
función. Todas esas expresiones son equivalentes y podemos obtener unas expresiones de
otras aplicando las propiedades del Álgebra de Boole.
Existen dos tipos de expresiones que se obtienen directamente de la tabla de verdad, de forma
inmediata. Se denominan formas canónicas. Se caracterizan porque en todos los términos
de estas expresiones aparecen todas las variables.

Primera forma canónica


Una función que esté en la primera forma canónica se caracteriza porque está formada
por sumas de productos. Y recordemos que por ser una forma canónica, en todos sus
términos se ecuentran todas sus variables.

21
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Un ejemplo de una función de 3 variables, expresada en la primera forma canónica es la


siguiente.

Vemos que está constituida por la suma de tres términos y en cada uno de los términos están
todas las variables.
La obtención de la primera forma canónica, a partir de una tabla de verdad es inmediata. El
proceso se denomina “desarrollo de la tabla de verdad por unos”. Tomamos la tabla de verdad
y sólo nos fijamos en las filas en las que la función vale ’1’, olvidándonos del resto. Por cada
una de estas filas tendremos un sumando, constituido por el producto de todas las variables,
aplicando la siguiente regla:
Si una variable está a ’0’, en la fila escogida, usaremos la variable negada, y si está a ’1’
usaremos la variable sin negar.
Ejemplo:
Obtener la primera forma canónica, a partir de la siguiente tabla de verdad:

A B C F
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 1

Nos fijamos en las filas en las que F=1. Vemos que sólo hay tres filas, por tanto la función F
se podrá expresar como suma de tres términos. _

La función F será la suma de estos tres términos:

Esta función está constituida por la suma de tres términos y en cada uno de ellos es el
producto de las tres variables, bien negadas o no.
Vamos en algunos casos que esta expresión representa la misma función que la de la tabla de
verdad:
Segunda forma canónica
Una función en la segunda forma canónica se caracteriza porque está formada por un
producto de sumas. Y en todos sus términos deben aparecer todas sus variables, bien negadas
o no. Por ejemplo

está constituida por dos términos que van multiplicados, y cada uno de ellos está formado
por sumas.
La obtención de la segunda forma canónica, a partir de una tabla de verdad es inmediata. El
proceso se denomina “desarrollo de la tabla de verdad por ceros”. Tomamos la tabla de verdad
y sólo nos fijamos en las filas en las que la función vale ’0’, olvidándonos del resto. Por cada
una de estas filas tendremos un término, constituido por la suma de todas las variables,
aplicando la siguiente regla:
Si una variable está a ’1’, en la fila escogida, usaremos la variable negada, y si está a’0’
usaremos la variable sin negar.
Es decir, que esta regla es justo la contraria que cuando estábamos trabajando con la primera
forma canónica. Como vemos en la siguiente tabla de verdad
22
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------
Ejemplo:
Obtener la segunda forma canónica, a partir de la siguiente tabla de verdad:
A B C F
0 0 0 1
0 0 1 1
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1

Nos fijamos en las filas en las que F=0. En este ejemplo hay tres. Cada fila representa un
término, que estará multiplicando al resto. La función F desarrollada por la segunda forma
canónica, queda:
_ _ _ _ _ __ _ __ _ _ _ _
_ _
__ ___

Simplificación de funciones booleanas


Introducción
En las matemáticas con números Reales, estamos muy acostumbrados a simplificar. De hecho
es lo que nos han enseñado desde pequeños. Si una determinada expresión la podemos
simplificar, ¿por qué no hacerlo?, así seguro que nos ahorramos cálculos.
Cuando estamos diseñando circuitos digitales, utilizaremos funciones booleanas para
describirlos.
Y antes de implementarlos, es decir, antes de convertir las ecuaciones a componentes
electrónicos (puertas lógicas) tenemos que simplificar al máximo. Una de las misiones de los
Ingenieros es diseñar, y otra muy importante es optimizar. No basta con realizar un
circuito, sino que hay que hacerlo con el menor número posible de componentes
electrónicos. Y esto es lo que conseguimos si trabajamos con funciones simplificadas.
Las funciones booleanas se tienen que simplificar al máximo, para diseñar los circuitos
con el menor número de componentes electrónicos.
Y este será uno de los grandes caballos de batalla de esta asignatura: la simplificación de las
funciones. Esta simplificación la podemos realizar de dos maneras diferentes:
1. Utilizando las propiedades y Teoremas del Algebra de Boole. Se denomina método
analítico de simplificación de funciones. Hay que manejar muy bien estas propiedades para
poder eliminar la mayor cantidad de términos y variables.
2. Utilizando el método de Karnaugh. Es un método gráfico que si lo aplicamos bien, nos
garantiza que obtendremos la función más simplificada posible, a partir de una tabla de
verdad.
Normalmente las formas canónicas no son las expresiones más simplificadas.
Método analítico de simplificación de funciones
Desgraciadamente no existe tal método :-(. Hay que basarse en la experiencia y en el
conocimiento de las propiedades y teoremas del Algebra de Boole. Lo mejor es ver un
ejemplo:
Ejemplo: Simplificar la siguiente función:
Vamos a intentar aplicar la propiedad distributiva, lo que normalmente llamamos sacar factor
común. Operando con los términos 1 y 3:

Operando con los términos 2 y 4:


23
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

La función que nos queda es:

Tanto la función inicial, como la que hemos obtenido son funciones equivalentes. Tienen la
misma tabla de verdad, sin embargo, la segunda está mucho más simplificada: sólo tiene dos
sumandos y cada sumando tiene sólo dos variables.
__
__

Método de Karnaugh
En este apartado veremos un método para obtener la función más simplificada a partir de
una tabla de verdad.
Vamos a ir poco a poco, viendo los fundamentos de este método. Supongamos que tenemos
una función F(A,B,C) de tres variables, cuya tabla de verdad es:
Si la desarrollamos por la primera forma canónica obtenemos:

A B C F
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
Veremos como aplicando el método de Karnaugh podemos simplificar esta función. Vamos a
organizar esta misma tabla de la siguiente manera:

a b
0 1 11 10
c 0 0 1 1 1
1 0 1 1 1

Observamos lo siguiente:
En total hay 8 casillas, cada una correspondiente a una fila de la tabla de verdad
En cada casilla está colocado el valor de la función F, correspondiente a esa entrada.
Procedemos a tomar grupos que contengan el máximo número de unos, pero el número de
grupos mínimo. Luego se pueden formar dos grupos de cuatro. Hay que tener en cuenta que se
pueden asociar si los unos se encuentran al lado o arriba, nunca en diagonal. También primera
y última fila y primera y última columna, etc
El resultado será F = A + B

Para obtener una función que no se puede simplificar más hay que tomar el menor número
de grupos con el mayor número de ’1’ en cada grupo.
Funciones de 4 variables
¿Y qué ocurre si tenemos una función de 4 variables? La idea es la misma pero tendremos
una tabla más grande. El criterio de máxima simplificación es el mismo: hacer el menor
número posible de grupos con el máximo número de ’1’s. Veamos un ejemplo:

24
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Ejemplo:
Dada la siguiente tabla de verdad, obtener la expresión de F más simplificada posible:

Lo primero que hacemos es pasarlo al diagrama de Karnaugh

A B C D F
0 0 0 0 1
0 0 0 1 0
0 0 1 0 1
0 0 1 1 0
0 1 0 0 1
0 1 0 1 1
0 1 1 0 1
0 1 1 1 1
1 0 0 0 1
A B 1 0 0 1 0
C 0 1 11 10 1 0 1 0 1
0 1 1 1 1 1 0 1 1 0
1 0 1 0 0 1 1 0 0 1
11 0 1 0 0 1 1 0 1 0
10 1 1 1 1 1 1 1 0 1
Podemos observar que se pueden 1 1 1 1 0
tomar dos grupos, uno de cuatro unos
y otro de ocho con lo que el resultado será el siguiente:

Hay una operación que en electrónica digital se utiliza mucho, llamada XOR y que se denota
por el símbolo O Esta operación la podemos definir mediante una tabla de verdad:

Fijándonos en esta tabla podemos ver lo que hace: esta operación devuelve ’0’ cuando los dos
bits sobre los que operan son iguales, y ’1’ cuando con distintos. Tanto esta operación como
su negada, , las utilizaremos mucho, por ello vamos a ver cómo las podemos definir a partir
___

de las operaciones + y x, y ver algunas de sus propiedades.


Partiremos de la tabla de verdad, en la que además representaremos la operación negada:
Vamos a obtener las dos formas canónicas de ambas funciones. Estas expresiones las
utilizaremos bastante:
__

25
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

EJERCICIOS

26
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

27
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

28
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

29
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

30
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

31
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

32
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Capítulo 4
CIRCUITOS COMBINACIONALES
Introducción
Después de introducir y trabajar con el Algebra de Boole, vamos a volver a los circuitos
digitales. Recordemos que son circuitos electrónicos que trabajan con números, y que con la tecnología
con la que están realizados, estos números están representados en binario. Si tomamos un circuito
genérico y miramos en su interior, podemos ver que está constituido por otros circuitos más simples,
interconectados entre sí. Estos subcircuitos se pueden clasificar en dos tipos:
Circuitos combinacionales
Circuitos secuenciales

Así, podemos decir que todo circuito digital genérico tendrá una parte combinacional y otra parte
secuencial. En este capítulo nos centraremos en los circuitos combinacionales, que no tienen parte
secuencial. Estos circuitos se caracterizan porque NO almacenan información.
Las salidas están relacionadas con las entradas a través de una función booleana, como las vistas en el
capítulo anterior. Como veremos más adelante, los circuitos secuenciales son capaces de “recordar”
números que han recibido anteriormente.
En un circuito combinacional, las salidas dependen directamente del valor delas entradas, y no
pueden por tanto almacenar ningún tipo de información, sólo realizan transformaciones en las
entradas. Estos circuitos quedan caracterizados mediante funciones booleanas.
Cada bit de salida de un circuito combinacional, se obtiene mediante una función booleana aplicado a
las variables de entrada. Así, si un circuito tiene n salidas, necesitaremos n funciones booleanas para
caracterizarlo.
_

En este capítulo estudiaremos las puertas lógicas, que son los elementos que usamos para
construir estos circuitos, y cómo las funciones booleanas las podemos realizar mediante puertas lógicas,
lo que se denomina implementación de funciones booleanas.

33
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Puertas lógicas
En todas las ingenierías se utilizan planos que describen los diseños. En ellos aparecen dibujos, letras y
símbolos. Mediante estos planos o esquemas, el Ingeniero representa el diseño que tiene en la cabeza y
que quiere construir.
En electrónica analógica se utilizan distintos símbolos para representar los diferentes componentes:
Resistencias, condensadores, diodos, transistores... Algunos de estos símbolos se pueden ver
anteriormente.
En electrónica digital se utilizan otros símbolos, los de las puertas lógicas, para representar
las manipulaciones con los bits.

Puertas básicas
Puerta AND
Esta puerta implementa la operación del Algebra de Boole. La que se muestra en esta
figura tiene dos entradas, sin embargo puede tener más. Lo mismo ocurre con el resto de
puertas lógicas que veremos a continuación.

Puerta OR
Implementa la operación + del Algebra de Boole. Puede tener también más de dos entradas.

Puerta NOT (Inversor)


Tiene sólo una entrada y realiza la operación de negación lógica. Esta puerta se conoce
normalmente con el nombre de inversor.

Sólo con estos tres tipos de puertas se pueden implementar cualquier función booleana.

Ejemplo:
Analizar el siguiente circuito y obtener la expresión booleana de la salida:
El circuito está constituido por dos puertas, una AND de tres entradas y un inversor. A
la salida de la puerta AND se tiene el producto de las tres variables de entrada
_
_

y al atravesar el inversor se obtiene la expresión final de F, que es:


34
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Ejemplo:
Obtener la expresión booleana de salida del siguiente circuito:
El circuito está constituido por dos puertas AND, dos inversores y una puerta OR. La expresión de F es:

Otras puertas
Con las puertas básicas podemos implementar cualquier función booleana. Sin embargo existen otras
puertas que se utilizan mucho en electrónica digital.

Puerta NAND
El nombre viene de la abreviación de NOT-AND, y la operación que realiza es la negación
de un producto. Aplicando las leyes de DeMorgan vemos que la expresión a su salida es:
_
_ ___

Esta puerta también puede tener más de dos entradas.


Las puertas NAND tienen una característica muy importante y es que sólo con ellas
se puede implementar cualquier función booleana. Sólo hay que aplicar las propiedades
del Algebra de Boole a cualquier expresión booleana para dejarla de forma que sólo existan este tipo de
operaciones
Puerta NOR
Es una puerta OR negada (NOT-OR). Aplicando las leyes de DeMorgan:

Lo mismo que con las puertas NAND, con las puertas NOR se puede implementar cualquier función
booleana

35
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Puerta XOR

Ejemplo:
Analizar el siguiente circuito y obtener la expresión booleana de la salida:

a su salida siempre se obtendrá ’0’. Y aplicando las leyes de DeMorgan nos queda

Imágenes:

36
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

37
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Dos circuitos integrados, junto a una moneda de 1 euro

38
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Circuitos integrados
¿Y si ahora queremos construir un circuito? ¿Cómo lo implementamos físicamente? Las
puertas lógicas se encuentra encapsuladas dentro de circuitos integrados o también conocidos como
chips. En la figura se muestra una foto de dos de ellos, junto a una moneda de 1 euro para apreciar su
tamaño. Más coloquialmente, entre los alumnos, reciben el nombre de “cucarachas”, porque son negros
y tienen patas.
Hay una familia de circuitos integrados, 74XX, que está estandarizada de manera que se ha definido la
información que entra o sale por cada una de las patas. Así pueden existir multitud de fabricantes, pero
todos respectando el mismo estándar. En la figura se muestra un esquema del integrado 7402, que
contiene en su interior 4 puertas NOR de dos entradas.
Por las patas denominadas VCC y GND se introduce la alimentación del chip, que normalmente será de
5v, aunque esto depende de la tecnología empleada. Por el resto entrará lo que defina una determinada
función o salida de otra puerta, etc.
5v al dígito ’1’ y 0v al dígito ’0’.

Esquema del integrado 7402

A la hora de fabricar un diseño, estos chips se insertan en una placa y se interconectan las patas con el
resto de chips o partes de nuestro circuito. La interconexión se realiza por medio de cables. Cuando se
realiza una placa profesional, las interconexiones entre los chips son pistas de cobre en la superficie de
la placa. Estas placas reciben el nombre de placas de circuito impreso, o por sus siglas en inglés PCB
(printed circuito Board). En la figura se muestra la parte inferior de una de estas placas. Por los agujeros
se introducen las patas de los componentes y luego se sueldan. Los distintos agujeros están
interconectados por pistas de cobre. Además existe una capa de un barniz verde para que las pistas no
estén “al aire” y se puedan producir cortocircuitos.

39
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Otras tecnologías
La electrónica ha avanzado muchísimo y en los chips en los que antes sólo se podían integrar unas pocas
puertas lógicas, ahora se pueden integrar muchísimas más. De esta manera, los chips tradicionalmente se
han clasificado según el número de puertas que pueden integrar. Así tenemos la siguiente clasificación
de chips:

SSI (Small Scale Integration). Chips con menos de 12 puertas


MSI (Medium Scale Integration). Entre 12 y 100 puertas.
LSI (Large Scale Integration). Entre 100 y 10.000 puertas.
VLSI (Very Large Scale Integration). Más de 10.000 puertas
Los VLSI se corresponden con los microprocesadores y los microcontroladores. Muchos diseños que
antes se realizaban sólo con electrónica digital, ahora es más sencillo y barato hacerlos con un
microprocesador o microcontrolador y programarlos. Es decir, hacer software en vez de hardware.
Sin embargo, existen otras maneras de implementar circuitos digitales sin utilizar los chips
tradicionales, es decir, sin tener que recurrir a los chips de la familia 74XX. Esta nueva forma de diseñar
se denomina lógica programable. Existen unos circuitos integrados genéricos (PALs,GALs,
CPLDs,FPGAS), que contienen en su interior muchas puertas lógicas y otros componentes.

El diseñador especifica los circuitos digitales que quiere diseñar utilizando un lenguaje
de descripción hardware (Como por ejemplo el VHDL). Una herramienta software, conocida como
sintetizador, convierte esta descripción en un formato que indica cómo se deben interconectar los
diferentes elementos de este chip genérico. El chip “se configura” (es decir, realiza conexiones entre sus
elementos internos) según se indica en el fichero sintetizado, de manera que ¡¡¡¡nuestra descripción del
hardware se ha convertido en un circuito que hace lo que hemos indicado!!!!
¡¡¡Con esta técnica se pueden diseñar desde circuitos simples hasta microprocesadores!!! El hardware
está siguiendo la misma tendencia que el software. Los diseñadores de ahora utilizan sus propios
“lenguajes de programación” para especificar el hardware que están diseñando.
En esta asignatura se intenta dar una visión lo más independiente posible de la tecnología.
De manera que bien se diseñe con puertas lógicas, o bien se utilice un lenguaje de descripción hardware,
los conocimientos aquí adquiridos sirvan para ambos casos.

40
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Diseño de circuitos combinacionales


El proceso de diseño
En Ingeniería se entiende por diseñar el proceso por el cual se obtiene el objeto pedido a
partir de unas especificaciones iniciales. Cuando diseñamos circuitos combinaciones, estamos haciendo
lo mismo. Partimos de unas especificaciones iniciales y obtenemos un esquema, o plano, que indica qué
puertas básicas u otros elementos hay que utilizar así como la interconexión que hay entre ellos.
Los pasos que seguiremos para el diseño son los siguientes:
1. Estudio de las especificaciones iniciales, para entender realmente qué es lo que hay que diseñar.
Este punto puede parecer una trivialidad, sobre todo en el entorno académico donde las especificaciones
son muy claras. Sin embargo, en la realidad, es muy difícil llegar a comprender o entender qué es lo que
hay que diseñar.
2. Obtención de las tablas de verdad y expresiones booleanas necesarias. En el entorno
académico este suele ser el punto de partida. Nos describen qué función es la que se quiere
implementar y lo hacemos.
3. Simplificación de las funciones booleanas. ¡¡¡Este punto es importantísimo!!! No basta con
implementar una función y ya está. ¡¡Somos ingenieros!!. Hay que implementar la mejor función, de
manera que obtengamos el mejor diseño posible, reduciendo el número de puertas lógicas empleadas, el
número de circuitos integrados o minimizando el retraso entre la entrada y la salida.
4. Implementación de las funciones booleanas utilizando puertas lógicas. Aquí podemos tener
restricciones, como veremos. Puede ser que por especificaciones del diseño sólo se dispongan de puertas
tipo NAND. O puede ser que sólo podamos utilizar puertas lógicas con el mínimo número de entradas.
En ese caso habrá que tomar la función más simplificada y modificarla para adaptarla a este tipo de
puertas. El resultado de esto es la obtención de un esquema o plano del circuito.
5. Construcción. El último paso es llevar ese plano o circuito a la realidad, construyendo físicamente el
diseño. Esto se estudia en el laboratorio de esta asignatura, utilizando tecnología TTL.
En este apartado veremos el punto 4, es decir, veremos cómo a partir de una función (que ya está
simplificada) podemos obtener el circuito correspondiente, o cómo la podemos modificar para utilizar
un tipo determinado de puertas lógicas. Esto se denomina implementar una función.

Implementación de funciones con cualquier tipo de puertas


El proceso es muy sencillo. Sólo hay que tomar la función que queremos implementar e ir
sustituyendo las operaciones del Algebra de Boole por sus correspondientes puertas lógicas. Y como
siempre, lo mejor es ver un ejemplo.
Ejemplo 1:
Implementar la siguiente función, utilizando cualquier tipo de puertas lógicas:

Se trata de implementar un circuito que tiene tres bits de entrada: A, B y C y como salida
Se quiere obtener la función F indicada. Se puede realizar de muchas formas, pero vamos a ir poco a
poco. Primero nos fijamos que no tenemos ninguna restricción. Es decir, en el enunciado nos permiten
utilizar cualquier tipo de puerta lógica, y con cualquier número de entradas. Tampoco vamos a
simplificar la función, porque lo que queremos es ver cómo implementarla, aunque ya hemos visto que
siempre hay que simplificar!!! (y de hecho, esta función se puede simplificar más, ¿como?, se deja como
ejercicio). Vemos que en la función hay tres términos que van sumados:

La puerta lógica que representa la suma es la OR, por lo que podemos escribir:
41
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Ahora el problema es más sencillo. Hay que obtener esos tres términos independientemente.
Uno ya lo tenemos, que es A (es directamente una de las entradas). El término es el producto de B
y C negado y lo podemos obtener con una puerta AND así:

El término C negado lo obtenemos directamente a partir de un inversor:

Para obtener el término que es el último que nos falta, nos fijamos que es un producto de tres elementos,
por lo que usaremos una puerta AND de tres entradas:

y finalmente para obtener los términos A negado y B negado utilizamos sendos inversores:

y ahora unimos todas las piezas para obtener el circuito final:

42
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Ejemplo 2:
Implementar la siguiente función, utilizando el menor número posible de puertas lógicas de
cualquier tipo. La función está simplificada al máximo.

En este caso nos dicen que la función está simplificada al máximo ¿Está simplificada al máximo?
También nos introducen una restricción: usar el menor número posible de puertas lógicas.
Lo primero que se nos puede ocurrir es utilizar el método del ejemplo anterior, sustituyendo las
operaciones del Algebra de Boole por puertas lógicas. El circuito que obtenemos es el siguiente:

Hemos utilizado las siguientes puertas lógicas:


4 inversores
2 puertas AND de dos entradas
1 puerta OR de cuatro entradas
La única restricción que nos han impuesto es utilizar el menor número posible de puertas lógicas...
¿Podemos implementar este circuito con menos puertas?. Echemos un vistazo la función F.
Teniendo en cuenta que existen otras puertas, como las NAND, XOR, etc... vamos a realizar las
siguientes operaciones:

Teniendo en cuenta que: y que


La expresión de F que nos queda es la siguiente;

Si a continuación implementamos

Hemos conseguido simplificar aún más

Implementación de funciones con puertas NAND


Sólo con las puertas NAND es posible implementar cualquier función booleana. Para ello habrá que
hacer transformaciones en la función original para obtener otra función equivalente pero que se pueda
obtener sólo con puertas NAND. Para ver cómo podemos hacer eso, implementaremos las puertas NOT,
AND, OR y XOR usando sólo puertas NAND.
Para refrescar ideas, a continuación se muestra una puerta NAND de dos entradas y las formas de
expresar el resultado:
43
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Implementación de una puerta NOT


Si introducimos la misma variable booleana por las dos entradas de una NAND obtendremos lo
siguiente:

Tenemos un circuito por el que si introducimos una variable A, obtenemos a la salida su


complementario , es decir, se comporta exactamente igual que un inversor.
_

Implementación de una puerta AND


Tenemos que diseñar un circuito con puertas NAND que implemente la función

Lo que haremos será aplicar propiedades del Algebra de Boole a esta función hasta dejarla de forma que
la podamos implementar directamente con puertas NAND. Podemos hacer lo siguiente:

La expresión se implementa con una puerta NAND y la expresión será por tanto la negación de la
NAND. Como ya sabemos como negar utilizando una puerta NAND, el circuito resultante es:

Implementación de una puerta OR


La función que queremos implementar con puertas NAND es:
Aplicando propiedades del Algebra de Boole, esta expresión la convertimos en la siguiente:

que es el negado de un producto de dos términos, es decir, es una puerta NAND aplicada a A negado y
B negado.

44
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Implementación de una puerta XOR


La función a implementar con puertas NAND es:
Podemos modificarla de la siguiente manera:

El circuito nos queda así:


_

Ya tenemos implementada la función XOR sólo con puertasn NAND.

Ejemplo 1:
Implementar la siguiente función utilizando únicamente puertas NAND. La función está simplificada al
máximo:

Tendremos que aplicar la propiedades del Algebra de Boole para dejar esta expresión de
forma que la podamos implementar con puertas NAND. Como el enunciado no nos pone ninguna
restricción, podremos usar puertas NAND con el número de entradas que queramos. Una puerta NAND
de tres entradas puede realizar las siguientes operaciones:
Si aplicamos una doble negación a F y luego aplicamos sucesivamente las leyes de DeMorgan (o el
teorema de Shannon):

45
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Esta función es inmediata implementarla con puertas NAND:

Ejemplo 2:
Implementar la siguiente función utilizando sólo puertas NAND de 2 entradas:

Es la misma función que la del apartado anterior, sin embargo, ahora tenemos la restricción de que sólo
podemos usar puertas NAND de dos entradas. Si hacemos la misma transformación que antes,
obtenemos:

que tiene la forma y que se implementa fácilmente con una NAND de dos entradas:

El problema ahora es cómo implementar los términos


Vamos con el primero de ellos. Se puede escribir también de la siguiente forma (aplicando el “truco” de
la doble negación):
_ _ __
_
_ _

que se implementa de la siguiente forma:

El otro término lo podemos implementar de forma similar:

y ahora juntando todas las piezas e implementando lo que falta:

46
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Implementación de funciones con puertas NOR


Lo mismo que con las puertas NAND, con las puertas NOR se puede implementar cualquier función
booleana. Vamos a ver cómo se pueden implementar el resto de puertas lógicas. Recordemos que las
expresiones a las salidas de las puertas NOR son:

Implementación de una puerta NOT


Se hace de la misma manera que con las puertas NAND. Si introducimos la misma variable por las dos
entradas, obtenemos la variable negada:

Implementación de una puerta OR


La función a implementar es:
Esta expresión la podemos poner de la siguiente manera:
__ _ ____

es decir, que podemos utilizar una puerta NOR y luego un inversor, que ya sabemos cómo
implementarlo con puertas NOR. Lo que nos queda es:

Implementación de una puerta AND


La función a implementar es:
Podemos realizar las siguientes modificaciones para que pueda ser implementada con puertas NOR:

47
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------
_
_ _
_ __ __

Y el circuito quedaría así:

Implementación de una puerta XOR


La función a implementar es:
___

Haciendo las siguientes modificaciones:

Uniendo “todas las piezas”, el circuito final que nos queda es:

Hemos implementado la puerta XOR sólo con puertas NOR.

Aplicación: Diseño de un controlador para un robot seguidor de línea


Introducción
En este apartado diseñaremos un circuito digital que gobierne el comportamiento de un robot
seguidor de línea. El objetivo es que el alumno vea cómo todo lo aprendido hasta ahora se puede
aplicar, y obtener también algo de intuición sobre el tipo de circuitos digitales que se pueden diseñar.
Obviamente no construiremos el robot entero, esto nos llevaría más tiempo . Partiremos de
un robot ya existente, que tiene una estructura mecánica hecha con piezas de Lego, dos motores, dos
sensores para detectar el color negro sobre un fondo plano y la electrónica necesaria para controlar los
motores y leer los sensores. Este robot se comercializa bajo el nombre de Tritt. Sin embargo utiliza un
microcontrolador 6811 para implementar el “cerebro”. Nosotros diseñaremos nuestro propio cerebro
digital, para que el robot siga una línea negra. En la figura se muestra el microbot Tritt, junto a un
disquete, para hacerse una idea de las dimensiones que tiene.

48
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

APLICACIÓN: DISEÑO DE UN CONTROLADOR PARA UN ROBOT SEGUIDOR DE LÍNEA91

Figura El microbot Tritt

En la figura se muestra el mismo microbot Tritt pero sin la tarjeta CT6811 que lleva el
microcontrolador 6811. En vez de ella diseñaremos nuestro propio “cerebro digital”.

Especificaciones
Las especificaciones son:
Objetivo: Diseñar un circuito digital, capaz gobernar un microbot, haciendo que éste siga
una línea negra pintada sobre un fondo blanco.
Sensores: El microbot está dotado de dos sensores digitales capaces de diferenciar el color
negro del blanco. La salida de estos sensores es ’0’ cuando leen blanco y ’1’ cuando leen
negro. Denominaremos a este bit como C:

Sensor C
Color Blanco 0
Color Negro 1

Motores: Dos motores de corriente continua que son controlados cada uno mediante dos
bits, denominados S y P, descritos mediante la siguiente tabla de verdad:

P S Motor
0 0 Parado
0 1 Parado
1 0 Giro derecha
1 1 Giro izquierda

El bit P es el bit de ’Power’. Indica si el motor está conectado o no. El bit S es el del
sentido de giro. Según su valor el motor girará a la derecha o a la izquierda (siempre que
el motor esté activado, con P=1).
El robot: El esquema del robot es el siguiente (visto desde arriba):

49
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Sensor 1 Sensor 2
Motor 1 Motor 2
Ruedas

Algoritmo: El algoritmo para seguir la línea negra es muy sencillo. Mientras los dos sensores detecten
negro, el robot deberá avanzar. Cuando el sensor de la derecha detecte blanco y el de la izquierda negro,
el robot girará a la izquierda y cuando ocurra el caso contrario girará a la derecha. Si ambos sensores
leen blanco permanecerá parado. Esto se esquematiza en la siguiente figura:
Recto Giro izquierda Giro derecha

Diagrama de bloques
Como primera fase del diseño tenemos que entender qué es lo que se nos está pidiendo y
determinar el aspecto que tiene el circuito que hay que realizar. El circuito tendrá dos entradas
provenientes de los sensores, y cuatro salidas, dos para cada motor:
__

Tabla de verdad
Ahora hay que definir el comportamiento del circuito, utilizando una tabla de verdad. Este
comportamiento nos lo da el algoritmo de seguir la línea. La tabla de verdad es la siguiente:

50
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Con una ’x’ se han marcado las casillas de la tabla de verdad que es indiferente su valor.
Según nos convenga puede valer ’0’ ó ’1’.

Ecuaciones booleanas del circuito


Puesto que el circuito sólo tiene 2 variables de entrada, es inmediato obtener las expresiones de S1, P1,
S2 y P2

__

También se podría haber hecho Karnaugh:

Podemos observar que los resultados son los mismos obtenidos anteriormente

Implementación del circuito


El circuito, implementado con puertas lógicas básicas es el siguiente:

Si lo construimos utilizando puertas TTL, necesitamos dos integrados, uno para los inversores y otro
para la puerta OR. Si en vez de ello lo implementamos sólo con puertas NAND, el circuito es el
siguiente:

51
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Tiene también 3 puertas, pero ahora sólo es necesario un sólo circuito integrado.

Análisis de circuitos combinacionales


Por análisis entendemos lo contrario de diseño. Al diseñar partimos de unas especificaciones, obtenemos
una tabla de verdad o una función booleana, la simplificamos y la implementamos con puertas lógicas.
En el análisis partimos de un circuito y tendremos que obtener bien la tabla de verdad, bien la expresión
booleana, lo que nos permitirá analizar si el circuito era el más óptimo o nos permitirá hacer una re-
implementación de dicho circuito utilizando otra tecnología.
Si el circuito tiene pocas entradas, cuatro o menos, lo mejor es hacer la tabla de verdad. Para realizarla
tomaremos puntos intermedios en el circuito, que incluiremos también en la propia tabla. Iremos
rellenando el valor de estos puntos intermedios hasta obtener el valor de la función.
Y como siempre, lo mejor es ver ejemplos.

Ejemplo 1:
Obtener la tabla de verdad del siguiente circuito:

El problema se puede hacer de varias maneras. Y ese suele ser uno de los problemas. ¿Qué
camino escojo para obtener la tabla de verdad?. Por un lado podemos obtener la expresión de F, pasando
las puertas lógicas a operandos del Algebra de Boole y luego obtener la tabla de verdad.
O podemos obtener directamente la tabla de verdad. Sea cual sea el camino elegido, lo primero que
haremos será tomar puntos intermedios: seleccionamos las salidas de las puertas lógicas y les
asignamos una variable booleana:

52
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

En este circuito hemos tomado dos puntos intermedios, el a y el b. Si decidimos obtener F


usando el Algebra de Boole, la expresión que obtenemos es:

_ _!
_
__

Y ahora la representaríamos en una tabla de verdad. Sin embargo, suele ser más sencillo
obtener la tabla de verdad directamente del diseño y luego aplicar karnaugh para obtener la expresión
más simplificada de F, si fuese necesario. En la tabla de verdad dibujaremos nuevas columnas en las que
aparecen los puntos intermedios, que nos permitirán ir anotando los cálculos intermedios para obtener F
más fácilmente. La tabla de verdad sin rellenar es:

Y ahora vamos columna por columna, rellenando la información. Comenzaremos por la columna a. Hay
que hacer la NAND de B y C. Para no confundirnos, nos dibujamos la tabla NAND para dos variables:

53
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

y nos fijamos en que sólo vale ’0’ cuando ambas variables son 1. Recorremos las filas de B y C
buscando el caso en el que B=1 y C=1, y anotamos un ’0’. Para el resto de casos a=’1’. Nos queda lo
siguiente:

Se ha marcado con “negrita” los dos casos en los que B=1 y C=1. Para el resto de casos “no hemos
tenido que pensar”, se puede rellenar de forma directa. Este método nos permite obtener las tablas de
verdad de una manera muy rápida y cometiendo muy pocos errores.
Continuamos con la siguiente columna. En este caso hay que rellenar una columna con el producto entre
B y A. Nuevamente nos fijamos en la tabla de la operación AND y vemos que el resultado sólo vale ’1’
cuando B=1 y A=1. Para el resto de casos se tendrá ’0’:

Y por último ya podemos obtener el valor de F, aplicando una operación OR a la columna


a con la b. Por la definición de la operación OR (mirando su tabla), sabemos que sólo vale 0 cuando
ambos operandos son ’0’. Buscamos ese caso en la tabla y en el resto de filas ponemos un ’1’. La tabla
final es:

54
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Aunque no los pide el enunciado del ejercicio, vamos a obtener la expresión más simplificada de F,
usando Karnagh, y la vamos a comparar con la expresión F que antes obtuvimos. El diagrama de
Karnaugh es muy sencillo de obtener a partir de la tabla de verdad, puesto que sólo un ’0’. Pintamos este
’0’ en su casilla correspondiente (A=0, B=1 y C=1) y el resto de casillas valdrán ’1’:
Podemos hacer los siguientes grupos:

De los que obtenemos la expresión más simplificada de F:

__ _ _ _

Vemos que está más simplificada que la expresión inicial que obtuvimos aplicando el Algebra de Boole.

55
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Ejercicios

56
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

57
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Capítulo 5
CIRCUITOS MSI (1): Multiplexores y
demultiplexores
Introducción
Los circuitos MSI son los que están constituidos por un número de puertas lógicas comprendidos entre
12 y 100). En este capítulo veremos una serie de circuitos combinaciones que se utilizan mucho en
electrónica digital y que son la base para la creación de diseños más complejos. Aunque se pueden
diseñar a partir de puertas lógicas, estos circuitos se pueden tratar como “componentes”, asignándoles un
símbolo, o utilizando una cierta nomenclatura.

Los circuitos que veremos son los siguientes:


Multiplexores y demultiplexores
Codificadores y decodificadores
Comparadores
Lo más importante es comprender para qué sirven, cómo funcionan y que bits de entrada y salida
utilizan. Estos circuitos los podríamos diseñar perfectamente nosotros, puesto que se trata de circuitos
combinacionales y por tanto podemos aplicar todo lo aprendido en el capítulo

Similitud entre un multiplexor y un sistema de agua de una granja


Multiplexores
Conceptos
Un Multiplexor es un circuito combinacional al que entran varios canales de datos, y sólo uno de
ellos, el que hallamos seleccionado, es el que aparece por la salida. Es decir, que es un circuito que nos
permite SELECCIONAR que datos pasan a través de dicho componente.
Vamos a ver un ejemplo NO electrónico. Imaginemos que hay dos tuberías (canales de datos) por el que
circulan distintos fluidos (datos). Una transporta agua para regar y la otra agua potable.
Estas tuberías llegan a una granja, en la cual hay una única manguera por la que va a salir el agua (bien
potable o bien para regar), según lo que seleccione el granjero posicionando la llave de paso en una u
otra posición. En la figura se muestra un esquema. Las posiciones son la 0 para el agua potable y 1 para
el agua de regar.
Moviendo la llave de paso, el granjero puede seleccionar si lo que quiere que salga por la
manguera es agua potable, para dar de beber al ganado, o agua para regar los cultivos. Según cómo se
posicione esta llave de paso, en la posición 0 ó en la 1, seleccionamos una tubería u otra.
Pero ¿por qué sólo dos tuberías?. Porque es un ejemplo. A la granja podrían llegar 4 tuberías.
En este caso el granjero tendría una llave de paso con 4 posiciones, como se muestra en la

figura . Esta llave se podría poner en 4 posiciones distintas para dar paso a la tubería 0, 1,
58
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------
2 ó 3. Obsérvese que sólo pasa una de las tuberías en cada momento, ¡y sólo una!. Hasta que el granjero
no vuelva a cambiar la llave de paso no se seleccionará otra tubería.
Con este ejemplo es muy fácil entender la idea de multiplexor. Es como una llave de paso, que sólo
conecta uno de los canales de datos de entrada con el canal de datos de salida.
Ahora en vez de en tuberías, podemos pensar en canales de datos, y tener un esquema como el que se
muestra en la figura 5.3, en la que hay 4 canales de datos, y sólo uno de ellos es seleccionado por el
multiplexor para llegar a la salida . En general, en un multiplexor tenemos dos tipos de entradas:

Sistema de agua de 4 tuberías

59
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------
Dos multiplexores de 4 canales de entrada

Entradas de datos: (Las tuberías en el ejemplo).


Entrada de selección: Indica cuál de las entradas se ha seleccionado (posición de la llave
de paso).

Multiplexores y bits
Hemos visto cómo a un multiplexor le llegan números por distintas entradas y según el
número que le llegue por la entrada de selección, lo manda por la salida o no.
Recordemos que los circuitos digitales sólo trabajan con números.
Pero estos números, vimos que siempre vendrán expresados en binario y por tanto se podrán expresar
mediante bits. ¿Cuantos bits? Depende de lo grande que sean los números con los que se quiere trabajar.
En el interior de los microprocesadores es muy normal encontrar multiplexores de 8 bits, que tienen
varias entradas de datos de 8 bits. Pero se puede trabajar con multiplexores que tengan 4 bits por cada
entrada, o incluso 2, o incluso 1bit. En la figura 5.4 se muestran dos multiplexores que tienen 4 entradas
de datos. Por ello la entrada de selección tiene dos bits (para poder seleccionar entre los cuatro canales
posibles). Sin embargo, en uno las entradas de datos son de 2 bits y en el otro de 1 bit.

Los multiplexores en lo que principalmente nos centraremos son los que tienen canales de 1 bit. A partir
de ellos podremos construir multiplexores mayores, bien con un mayor número de canales de entrada o
bien con un mayor número de bits por cada canal.
Multiplexores de 1 bit y sus expresiones booleanas
Llamaremos así a los multiplexores que tienen canales de entrada de 1 bit, y por tanto
sólo tienen un bit de salida. Estudiaremos estos multiplexores, comenzando por el más simple de todos,
el que sólo tienen una entrada de selección.
Multiplexores con una entrada de selección
El multiplexor más simple es el que sólo tiene una entrada de selección, S, que permite
seleccionar entre dos entradas de datos, según que S = 0 ó 1 Su aspecto es el siguiente:
Entrada de

Esta figura será la que utilicemos normalmente aunque su representación real sea la que aparece
a continuación

60
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Podemos construir la tabla de verdad, en total hay tres entradas. Dos son de datos y una de
selección.

Cuántas filas habrá en la tabla 2 elevado a tres entradas nos dan un total de
8. Aplicando el método de Karnaugh

Obtenemos: o sea

¡¡Es justo la definición de un multiplexor!! La salida toma el valor de una de las entradas, según el
valor que tome la entrada de selección.
Multiplexores con dos entradas de selección.
El siguiente multiplexor en complejidad es el que tenga 2 entradas de selección, por lo
que se podrá seleccionar hasta 4 entradas posibles. Habrá por tanto 4 entradas de datos. El circuito
es como el siguiente:

Hay 4 entradas de datos y 2 entradas de selección, en total 6 entradas. Ahora hacemos lo


mismo que antes, construimos la tabla de verdad y aplicamos Karnaugh... pero.... ¿6 variables?
Tendríamos 2 elevado a 6 filas es decir 64 filas y si pretendemos hacer el Karnaugh sería muy laborioso.
De todas formas el resultado final sería:

En encuaderno de prácticas, utilizamos los multiplexores para dar solución a distintos circuitos
combinacionales

61
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Demultiplexores
Conceptos
El concepto de demultiplexor es similar al de multiplexor, viendo las entradas de datos como salidas y la
salida como entradas. En un multiplexor hay varias entradas de datos, y sólo una de ellas se saca por el
canal de salida. En los demultiplexores hay un único canal de entrada que se saca por una de las
múltiples salidas (y sólo por una!!!).
Si utilizamos el símil de la granja y las tuberías, podemos imaginar el siguiente escenario.
Supongamos que ahora a la granja le llega una única tubería con agua, pero en el interior de la granja
hay varias mangueras, cada una para limpiar una zona del establo o dar de beber a los animales de esa
zona. Cómo sólo hay un granjero, sólo podrá usar una de las mangueras cada vez (el granjero no podrá
usar a la vez dos mangueras, porque están en sitios diferentes!!).
Para seleccionar qué manguera quiere usar en cada momento, hay una llave de paso, de
manera que si la sitúa en una posición, el agua que viene por la entrada saldrá por la manguera 0,
mientras que si la sitúa en la otra posición, el agua saldrá por la manguera 1

De la misma manera que en los multiplexores puede haber varias entradas, en los demultiplexores puede
haber varias salidas. Por ejemplo en la figura 5.6 se muestra el mismo sistema de tuberías de la granja,
pero ahora hay 4 mangueras, para llegar a 4 zonas distintas de la granja.
Ahora el granjero tendrá que posicionar la llave de paso en una de las 4 posiciones posibles, para que el
agua salga por la manguera seleccionada.
Ya comprendemos cómo funcionan los demultiplexores. Si lo aplicamos al mundo de la electrónica, en
vez de tuberías tendremos canales de datos. Habrá un único canal de entrada, por el que llegarán
números, que saldrán sólo por uno de los canales de salida, el que tengamos seleccionado, como se
muestra en la figura
En general en un demultiplexor tendremos:
Una entrada de datos

Esquema de demultiplexor, como sistema de agua de una granja

Igual que el caso anterior pero con cuatro canales


62
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Podemos observar que el funcionamiento del mismo es igual que los multiplexores, con sus
entradas de selección sino que al revés. Varios canales de datos de salida. Sólo estará activo el que
se haya seleccionado.

Juntando multiplexores y demultiplexores

Uso de un multiplexor y demultiplexor para transmisión de datos por un único cable

Podemos ver que a la salida del multiplexor se encuentra la información enviada por los 4 sistemas.
Se dice que esta información está multiplexada en el tiempo. Al final de esta línea hay un
demultiplexor que realiza la función inversa. Un circuito de control selecciona periódicamente

63
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------
Ejemplos gráficos y tabla del demultiplexor de dos entradas de selección
y salidas de un bit por canal , que es el más utilizado.

La tabla de verdad abreviada la ponemos a continuación

La entrada I se saca por la salida indicada en las entradas de selección. Las funciones de salida son:

Y así sucesivamente.

Multiplexores con entrada de validación (ENABLE)


Los multiplexores, y en general la mayoría de circuitos MSI, disponen de una entrada adicional,
llamada entrada de validación (en inglés Enable). Esta entrada funciona como un interruptor de
encendido/apagado para el circuito MSI. Si la entrada de validación está activada, el circuito
funcionará normalmente. Pero si esta está desactivada, el circuito sacará el valor ’0’ por todas sus
salidas, independientemente de lo que llegue por sus entradas. Se dice que está deshabilitado (no está en
funcionamiento).
Las entradas de validación se les suele llamar E (del inglés Enable) y pueden ser de dos tipos: activas a
nivel alto ó activas a nivel bajo.

64
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Se puede poner esta tabla de manera más abreviada y el resultado aparece a continuación

Extensión de multiplexores
La idea es poder conseguir tener multiplexores más grandes a partir de otros más pequeños.
Y esto es necesario porque en nuestros diseños podemos necesitar unos multiplexores
grandes, sin embargo en el mercado nos encontramos con multiplexores menores. Tenemos que
saber cómo construir los multiplexores que necesitamos para nuestra aplicación a partir de los
multiplexores que encontramos en el mercado.
La extensión puede ser bien aumentando el número de entradas, bien aumentando el
número de bits por cada canal de datos o bien ambos a la vez.
Aumento del número de entradas
La solución es conectarlos en cascada. Lo mejor es verlo con un ejemplo. Imaginemos que necesitamos
un multiplexor de 8 canales, pero sólo disponemos de varios de 2 canales:

A continuación conectamos los multiplexores necesarios para obtener el de 8 entradas por comodidad
en el dibujo las entradas de selección se unen.

65
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

De la misma manera podíamos conectar multiplexores de cuatro entradas y obtener multiplexores de 16


canales
Aumento del número de bits por canal
Para conseguir esto hay que conectarlos en paralelo. Imaginemos que queremos
construir un multiplexor de dos canales de entrada, cada uno de ellos de 2 bits, y para ello
disponemos de multiplexores de 2 canales de un bit:

66
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Implementación de funciones con MX’s


Utilizando multiplexores es posible implementar funciones booleanas. En general, cualquier función de
n variables se puede implementar utilizando un multiplexor de n-1 entradas de selección.

67
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

68
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Capítulo 6
Codificadores, decodificadores y
comparadores
Introducción
En este capítulo veremos otros circuitos MSI: codificadores, decodificares y comparadores.
Codificadores
Conceptos
Los codificadores nos permiten “compactar” la información, generando un código de salida a partir
de la información de entrada. Y como siempre, lo mejor es verlo con un ejemplo.
Imaginemos que estamos diseñando un circuito digital que se encuentra en el interior de una cadena de
música. Este circuito controlará la cadena, haciendo que funcione correctamente.
Una de las cosas que hará este circuito de control será activar la radio, el CD, la cinta o
el Disco según el botón que haya pulsado el usuario. Imaginemos que tenemos 4 botones en la cadena,
de manera que cuando no están pulsados, generan un ’0’ y cuando se pulsa un ’1’ (Botones digitales).
Los podríamos conectar directamente a nuestro circuito de control la cadena de música, como se muestra
en la figura

Sin embargo, a la hora de diseñar el circuito de control, nos resultaría más sencillo que cada botón
tuviese asociado un número. Como en total hay 4 botones, necesitaríamos 2 bits para identificarlos. Para
conseguir esta asociación utilizamos un codificador, que a partir del botón que se haya pulsado nos
devolverá su número asociado:

El codificador que hemos usado tiene 4 entradas y 2 salidas, por lo que se llama codificador de 4 a 2

69
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Existen codificadores de mayor número de entradas, como el que vamos a ver en el siguiente ejemplo.
Imaginemos que ahora queremos hacer un circuito para monitorizar la situación de un tren en una vía.
En una zona determinada, la vía está dividida en 8 tramos. En cada uno de ellos existe un sensor que
indica si el tren se encuentra en ese tramo (el sensor devuelve 1) o fuera de él (valor 0). Se ve claramente
que cuando uno de los sensores esté activado, porque que el tren se encuentre en ese tramo, el resto de
sensores devolverán un ’0’ (No detectan al tren).
Si conectamos todas las entradas de los sensores a un codificador de 8 a 3, lo que tendremos es que a la
salida del codificador saldrá un número que indica el tramo en el que se encuentra el tren. El circuito de
control que conectemos a las salidas de este codificador sólo necesita 3 bits de entrada para conocer el
tramo en el que está el tren, y no es necesario 8 bits. ¡¡Su diseño será más simple!!. La tabla de verdad
es:
_ ___ _ ________

Ecuaciones
A continuación deduciremos las ecuaciones de un codificador de 4 a 2, y luego utilizaremos un método
rápido para obtener las ecuaciones de un codificador de 8 a 3.
El codificador de 4 a 2 que emplearemos es el siguiente:

Las ecuaciones las obtenemos siguiendo el mismo método de siempre: primero obtendremos la tabla de
verdad completa y aplicaremos el método de Karnaugh. Con ello obtendremos las ecuaciones más
simplificadas para las salidas
_

Al hacer la tabla de verdad, hay que tener en cuenta que muchas de las entradas NO SE
PUEDEN PRODUCIR. En las entradas de un decodificador, una y sólo una de las entradas estará activa
en cada momento. Utilizaremos esto para simplificar las ecuaciones. Se ha utilizado una X para indicar
que esa salida nunca se producirá:
_ _ __ _ _ _ _

70
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Tabla general para poder aplicar los Karnaugh

Las ecuaciones resultantes son las siguientes:

Las ecuaciones para el decodificador de 8 a 3 por el método rápido son las siguientes:

71
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Decodificadores
Conceptos
Un decodificador es un circuito integrado por el que se introduce un número y se activa una y sólo una
de las salidas, permaneciendo el resto desactivadas. Y como siempre, lo mejor es verlo con un ejemplo
sencillo. Imaginemos que queremos realizar un circuito de control para un semáforo. El semáforo puede
estar verde, amarillo, rojo o averiado. En el caso de estar averiado, se activará una luz interna “azul”,
para que el técnico sepa que lo tiene que reparar. A cada una de estas luces les vamos a asociar un
número. Así el rojo será el 0, el amarillo el 1, el verde el 2 y el azul (averiado) el 3
Para controlar este semáforo podemos hacer un circuito que tenga 4 salidas, una para una de las luces.
Cuando una de estas salidas esté a ’1’, la luz correspondiente estará encendida. Sin embargo, ocurre que
NO PUEDE HABER DOS O MAS LUCES ENCENDIDAS A LA VEZ.
Por ejemplo, no puede estar la luz roja y la verde encendidas a la vez!!!!.

Circuito de control del semáforo, usando un decodificador de 2 a 4

Si utilizamos un decodificador de 2 a 4, conseguiremos controlar el semáforo asegurándonos que sólo


estará activa una luz en cada momento. Además, el circuito de control que diseñemos sólo tiene que
tener 2 salidas
El funcionamiento es muy sencillo. Si el circuito de control envía el número 2 en binario 1 0 se
encenderá la luz verde (que tiene asociado el número 2) y sólo la luz verde!!!. Un
decodificador activa sólo una de las salidas, la salida que tiene un número igual al que se ha introducido
por la entrada. En el ejemplo del semáforo, si el circuito de control envía el número3, se activa la salida
y se encenderá la luz azul (y sólo esa!!).
A la hora de diseñar el circuito de control, sólo hay que tener en cuenta que cada luz del
semáforo está conectada a una salida del decodificador y que por tanto tiene asociado un número
diferente.

72
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Tablas de verdad y Ecuaciones


Decodificador de 2 a 4
Comenzaremos por el decodificador más sencillo, uno que tiene 2 entradas y 4 salidas, como se muestra
en la figura

Y las ecuaciones las podemos obtener desarrollando por la primera forma canónica. Puesto
que por cada función de salida sólo hay un ’1’, no se podrá simplificar (No hace falta que
hagamos Karnaugh):
_
_
__

Si_

Si el decodificador dispone de entrada de validación como los multiplexores, habrá que tenerlas en
cuenta y las ecuaciones irán multiplicadas por esa entrada. La entrada de validación puede ser activa a
nivel alto o bajo
Decodificador de 3 a 8
Tiene 3 entradas y 8 salidas. La tabla de verdad abreviada es la siguiente:
_ _ __ _ _

73
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Tipos de decodificadores según sus salidas


Las salidas de los decodificadores pueden ser activas a nivel alto o a nivel bajo. Así, tendremos dos
tipos: los decodificadores con salidas activas a nivel alto y los decodificadores con salidas activas a
nivel bajo. Todos los que hemos visto hasta ahora son decodificadores activos a nivel alto, lo que quiere
decir que si una salida está activa por ella sale un ’1’, y si está desactivada un ’0’. Sin embargo, en los
decodificadores con salidas activas a nivel bajo ocurre justo lo contrario.

Aplicaciones de los decodificadores


Además del uso normal de los decodificadores, como parte de nuestros diseños, existen otras
aplicaciones que veremos a continuación.
Como Demultiplexor
Si examinamos las tablas de verdad, observamos que realmente un decodificador con una entrada de
validación se comporta como un demultiplexor. De hecho no existen circuitos integrados con
demultiplexores, sino que se usan decodificadores.
También se pueden utilizar como:
Implementación de funciones

Ejemplo de implementación de una función con multiplexor , decodificador y puertas nand.

Ensayo y comprobación con decodificadores que implementan una función lógica


En un registro de cuatro bits, cuyas salidas están disponibles al exterior se almacena información en el
código BCD Natural,. Realizar la tabla de verdad de un circuito que detecte que el número contenido en
el registro esté comprendido entre 0 y 2 y entre 4 y 8.

Confeccionamos la tabla, según las premisas del enunciado y a continuación ponemos los Karnaugh
para deducir la ecuación con puertas nand y también para el multiplexor. Este último lo haremos de
forma distinta a como se ha explicado, aunque también se puede hacer utilizando la forma rápida

0 0 0 0 0 0
0 0 0 1 1 1
0 0 1 0 2 0
0 0 1 1 3 0
0 1 0 0 4 0
0 1 0 1 5 1
0 1 1 0 6 1
0 1 1 1 7 1
1 0 0 0 8 0
1 0 0 1 9 0
1 0 1 0 - 0
1 0 1 1 - 0
1 1 0 0 - 0
1 1 0 1 - 0
1 1 1 0 - 0
1 1 1 1 - 0

74
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Representación teórico-práctico de las tres formas de solución del


ejercicio propuesto

En las clases teóricas, se explicarán cómo se obtienen las ecuaciones a partir del decodificador y el
proceso de cálculo para la solución a través del multiplexor.

75
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

76
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

CIRCUITOS COMPARADORES

Introducción
En electrónica digital, como en otros campos, sobre todo en el analógico, es frecuente la comparación de
diversas magnitudes.
La comparación es algo imprescindible en todo el tema de regulación y control automático, para obtener
una determinada salida y en función de ella efectuar la realimentación y ajustes necesarios.
Analizaremos a continuación la comparación en el ámbito digital

Comparación de palabras.-
Iniciaremos el tema de comparadores con la comparación de dos palabras ( se le da el nombre de palabra
en lógica digital a un grupo de bits ordenados según su peso), en este caso de dos palabras de un solo bit.
Ejemplo:
Necesitamos comparar la palabra A con la palabra B, para ello dispondremos de una tabla
combinacional de dos entradas y de tres salidas.
Como es lógico las tres salidas serán: A>B A=B A<B

A B A>B A=B A<B


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

Directamente de la tabla podemos deducir los valores de las tres salidas

F A>B = A*B FA=B = A O B FA<B = A*B

Según hemos comprobado este circuito solo sirve para comparar dos palabras de un solo bit, podemos
deducir que, si la palabra es mayor en número de bits bastará con acoplar un número de comparadores
simples como bits tengan las palabras a comparar.
Lo más importante será que estando conectados en cascada, automáticamente se puedan conectar de un
bloque a otro en función de las comparaciones de los bits de menor peso.
Para efectuar todo esto debemos incorporar a las ecuaciones obtenidas anteriormente una nueva entrada
tal como aparece en el diagrama de bloques
Dicha entrada es la de Inhibición, para que cuando valga “0”, a partir de ahí el circuito deja de analizar
o comparar y cuando valga “1” se activará el bloque siguiente.
Las ecuaciones anteriores bastarán con modificarlas y convertirlas en las siguientes

F A>B = A*B*Ei FA=B =( A O B)* Ei FA<B = A*B*Ei

A continuación representaremos las ecuaciones

77
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Bastará confeccionar una tabla que sirva para que los comparadores simples se puedan activar en
función de los valores de A y B. Es decir cuando los dos bits de mayor peso de las palabras a comparar
sean iguales.
A continuación aparece la tabla que ejerce la función de comparación de dos palabras de cuatro bits.

A3B3 A2B2 A1B1 A0B0 A>B A=B A<B


A3>B3 X X X 1 0 0
A3<B3 X X X 0 0 1
A3=B3 A2>B2 X X 1 0 0
A3=B3 A2<B2 X X 0 0 1
A3=B3 A2=B2 A1>B1 X 1 0 0
A3=B3 A2=B2 A1<B1 X 0 0 1
A3=B3 A2=B2 A1=B1 A0>B0 1 0 0
A3=B3 A2=B2 A1=B1 A0<B0 0 0 1
A3=B3 A2=B2 A1=B1 A0=B0 0 1 0

Se deja el diseño final del comparador para que el alumno lo realice, en su momento en el cuadernillo de
prácticas.
Aunque comercialmente existan comparadores, es necesario que el alumno sepa diseñarlos, lo mismo
que otros circuitos del tipo MSI. Es decir circuitos que por sí mismos hagan una determinada operación,
como por ejemplo en este caso, en los sumadores , decodificadores, etc

78
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

79
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Capítulo 7
CIRCUITOS ARITMETICOS
SISTEMAS COMBINACIONALES ARITMÉTICOS
1. LA ARITMÉTICA BINARIA DE NÚMEROS CON SIGNO

La aritmética del sistema de numeración binario que hemos visto ha sido la de números sin signos, pero
en este apartado vamos a estudiar el tratamiento especial que tiene la consideración de signo. Y esto nos
dará lugar a diferentes representaciones.

1.1. Representación MAGNITUD-SIGNO

La representación en magnitud-signo de un número consiste en escribir el número es sistema binario


natural y añadir un bit a la izquierda con valor " 0 " para números positivos y con valor " 1 " para
números negativos.

1.2. Representación mediante COMPLEMENTOS

El utilizar la representación magnitud-signo en un sistema digital significaría la utilización de un


circuito para realizar las sumas y otro distinto para realizar restas. Por este motivo se utilizan los
complementos que son representaciones para convertir restas en sumas ( se resta sumando ) y así
simplificar la circuitería.

figura 1. proceso de conversión de operación resta en suma mediante los complementos

1.2.a. Complemento a uno ( C1 )

El complemento a uno de un número binario es el número que se obtiene al cambiar los ceros por unos
y unos por ceros (complementar). Por ejemplo, para obtener el C1 de 101101 sería 010010.

1.2.b. Complemento a dos ( C2 )

80
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------
El complemento a dos de un número binario es el que se obtiene sumando 1 al C1.

Los pasos que se deben seguir para decodificar un número representado en C2 son los siguientes,
teniendo en cuenta que el bit de más peso (MSB), representa el signo:

• Si el primer bit de la izquierda es 0 el número es positivo. Entonces el número representado es el


equivalente del número binario que forma el resto de bits.

• Si el primer bit es 1 el número es negativo. Entonces el número representado es el opuesto del


equivalente decimal del número binario que forma su complemento a dos.

Vamos a ver un ejemplo: el C2 (0001) sería +1, mientras que el C2 (1111) representa un número
negativo entonces lo que hago es obtener su C1 que sería 0000 y le sumo 1, obteniendo el 0001 que es el
número decimal 1, pero como se que es negativo, sería el -1.

Representación binaria en C2 con 4 bits

La operación aritmética de resta en C2 se realiza de la siguiente forma:

La representación binaria de +42 es 0101010 y poniendo el bit de signo será 00101010, mientras que el
C2(-19) será tomando el binario de 19 que es 0010011 realizo el C1 obteniendo el 1101100 y su C2 será
C1+1 = 1101101. Le añado un uno delante para indicar que es negativo y entonces realizo la resta (que
se ha transformado en una suma).

81
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------
Si la operación fuera una suma realizaría la codificación en C2 de ambos números como lo he hecho
para el número 42 de ejemplo anterior.

SUMADORES BINARIOS

La suma binaria para números de un bit es la siguiente:

Pero cuando tengo números binarios formados por más de un bit, al operar aparece el acarreo (carry)

Circuito semisumador y sumador completo

Circuito semisumador

Si realizamos el semisumador para dos números A y B de un bit nos queda:

Realizando su implementación mediante puertas queda

82
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Se le denomina normalmente HA de half-adder.

2.2. Circuito sumador completo

Este se diferencia del anterior que para el bit i-ésimo se introduce el acarreo resultado del bit i-1.

La tabla de verdad será :

Las expresiones lógicas obtenidas de la tabla de verdad son

Si implementamos mediante puertas:

83
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

2.3. Sumador paralelo con acarreo SERIE ( Ripple Carry )

El problema de este sumador es que el resultado no está disponible hasta que no se van generando desde
el bit menos peso al de más, o sea debo esperar a que lleguen al MSB. Por tanto, se trata de un circuito
lento que además aumenta su retardo según aumenta el número de bits de los operandos.

En este caso tendríamos que utilizar el sumador con acarreo paralelo o anticipado (Carry Look- Ahead)

Para solucionar el retardo con este circuito obtengo de forma rápida el acarreo de entrada de todas las
etapas del sumador. Por tanto los bits de la suma se obtienen simultáneamente.

84
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

La idea consiste en obtener la generación de acarreo ( Gi ) y la propagación de acarreo ( Pi ) de una


forma independiente de cada bit para la obtención del último acarreo mucho más rápido ( antes tenía que
esperar a que se realizaran todos para obtenerlo ).

De la misma manera que hemos incluido la solución del problema de diseño de la solución con
multiplexores y decodificadores, en el cuadernillo de prácticas tendremos ocasión de diseñar un caso
práctico de sumador.

85
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Capítulo 8
BIESTABLES
1. INTRODUCCIÓN: El biestable como elemento básico de memoria.

Los BIESTABLES nos son necesarios para la síntesis de los circuitos secuenciales, que son aquellos
cuya salida depende de la entrada actual y de las entradas en momentos anteriores. Los biestables serán
los encargados de almacenar ( MEMORIA ) el estado interno del sistema.

Pero aquí nos aparece un concepto nuevo llamado estado interno que para poder entenderlo
intuitivamente vamos a poner un ejemplo fuera de la electrónica. Si consideramos el sistema
BOLIGRAFO podemos definir:

• el conjunto de entradas: PULSAR Y NO PULSAR


• el conjunto de salidas : SALE PUNTA, ENTRA PUNTA y NO SE MUEVE PUNTA.
• el conjunto de ESTADOS INTERNOS : PUNTA DENTRO y PUNTA FUERA.

Como puedo observar los estados internos de un sistema me definen todas las situaciones diferenciadas
por las que puede pasar o a las que puede evolucionar mi sistema.

Los biestables son circuitos binarios ( con dos estados ) en los que ambos estados son estables de forma
que hace falta una señal externa de excitación para hacerlos cambiar de estado. Esta función de
excitación define al tipo de biestable ( D,T, RS o JK ).

En la electrónica combinacional no existía el tiempo, sin embargo en la electrónica secuencial es


esencial, la posición relativa en la que ocurren los sucesos ( eventos ).

Con la introducción anterior podemos definir formalmente un biestable como un circuito secuencial
con dos estados estables, es decir tiene memoria y una con una salida que puede permanecer
indefinidamente en uno de los dos estados posibles. Al ser secuencial las salidas dependen de las
entradas y del estado anterior. Un biestable almacena la información de 1 bit.
86
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------
Mediante biestables que son la base de los circuitos secuenciales en combinación con una adecuada
lógica combinacional podremos construir: contadores, registros de desplazamiento, temporizadores,
memorias y en general cualquier autómata.

2. Biestables RS con puertas NAND y NOR.

El estado del circuito biestable será el contenido de la memoria. La memoria se consigue mediante la
realimentación, o sea introduciendo la salida otra vez a la entrada. Si Qn es el estado actual o presente y
Qn+1 el estado futuro entonces se consigue el estado de memoria

Para poder modificar este estado de memoria debo añadir entradas y así cambiar el estado. Si
llamamos a estas entradas R ( reset ) y S ( set ) obtenemos el biestable RS. Los biestables RS se pueden
implementar con puertas NOR y NAND.

A este tipo de biestables que son activos por nivel se les denomina LATCH.

87
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Cuando aplicamos un “1” a S originamos una situación no permitida. Situación que eliminamos
utilizando el biestable JK.

88
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Hasta ahora los biestables representados son asíncronos, es decir no están sincronizados con una
determinada señal de reloj. Las salidas sólo dependen del valor de las entradas.
Los biestables síncronos, además desvalor de las entradas también dependerán de que exista una señal
de reloj. Esta señal se identificará por nivel, por flaco de subida o por flanco de bajada.
Preferentemente utilizaremos este último, debido a que de esta forma utilizaremos el flanco de subida
como instante en que se toma el valor de las entradas para que en función de estas, el biestable bascule
su salida.

Dicho de otra forma:


La necesidad de establecer los instantes de tiempo en un circuito secuencial basado en biestable nos
lleva a la introducción de señales de reloj que nos marcan esos instantes. En cuanto al comportamiento
respecto a los instantes de tiempo los circuitos se dividen en :

• Circuitos asíncronos : cada variación en las entradas afecta al estado del circuito ( es igual a
definir un nuevo instante de tiempo )
• Circuitos síncronos : Una señal de reloj establece los instantes en los que se modifica el estado
del circuito.

Los circuitos síncronos se dividen a su vez en :

• Síncronos por nivel : El instante en el que se modifica el estado del circuito es un semiciclo de
reloj.
• Síncronos por flanco : El instante en el que se modifica el estado del circuito es un flanco del
reloj.

Esto me lleva a la siguiente clasificación de los biestables :

• Latch: Se les llama así a los biestables asíncronos o síncrono por nivel. ( ver figura 2 el biestable
asíncrono RS por nivel ).
• Flip-flop : Se les llama así a todos los biestables síncronos por flanco.

Biestable RS síncrono por nivel

Se añade una señal de reloj al Latch RS básico ( asíncrono ) quedando de la siguiente forma

89
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Aquí tenemos que: R´= R. CK y S´= S.CK

La representación normal en los ejercicios sería de esta forma:

Esta representación corresponde a los biestables síncronos ya que aparece la señal de reloj en el centro.
Dibujamos también el preset y reset, si ambos los llevamos a tensión alta, los anulamos de manera que
el biestable evolucionará según el valor de las entradas y si al mismo tiempo coincide un flanco de
bajada del reloj (normalmente trabajaremos por flancos de bajada.

A continuación pondremos las tablas de excitación de los biestables más comunes utilizados en los
ejercicios para determinar las entradas en función de la señal de salida.

A B J K R S T D
0 0 0 X X 0 0 0
0 1 1 X 0 1 1 1
1 0 X 1 1 0 1 0
1 1 X 0 0 X 0 1

Esta tabla de excitación nos será de utilidad para la confección de las tablas para el diseño de los
contadores síncronos. Para determinar las conexiones de los contadores asíncronos, ya sean completos o
con puesta a cero o a un determinado número. Por supuesto será de ayuda inestimable para la
confección de los divisores de frecuencia. Desde el momento en que los registros de desplazamiento
están integrados por flip-flop, es necesario conocer su funcionamiento, ya sean síncronos o asíncronos y
cómo no, en la confección de memorias RAM.

90
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Hay que tener presente que en el caso de que necesitemos convertir un flip-flop en otro, si no
disponemos de las tablas de excitación sería imposible llevarlo a cabo.
A continuación se citan algunos ejercicios para justificar todo lo anterior

Por ejemplo Diseñar un contador síncrono con biestables D módulo 5

Qt Qt+1 Biestables
q1 q2 q3 q1 q2 q3 D1 D2 D3
0 0 0 0 0 0 1 0 0 1
1 0 0 1 0 1 0 0 1 0
2 0 1 0 0 1 1 0 1 1
3 0 1 1 1 0 0 0 0 0
4 1 0 0 0 0 0 0 0 0
5 1 0 1 x x x x x x
6 1 1 0 x x x x x x
7 1 1 1 x x x x x x

Una vez que hemos realizado la tabla sólo tenemos que dibujar el circuito teórico y práctico

Ejercicio para que el alumno intente diseñarlo: Realizar la tabla contador síncrono módulo 6 con
biestables JK

Ejercicio práctico resuelto:. Obtener un biestable JK a partir de un RS. Lo primero que tenemos que
hacer es poner la tabla de equivalencia de ambos biestables

Qt Qt+1 J K R S JK JK
0 0 0 x x 0 00 01 11 10 00 01 11 10
0 1 1 x 0 1 Qt 0 x x Qt 0 1 1
1 0 x 1 1 0 1 1 1 x 1 x x
1 1 x 0 0 x
S = J.Q´t R = K Qt

El resultado será el siguiente, el ejemplo lo hacemos con biestable asíncrono

91
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

El alumno como ejercicio podrá experimentar con los distintos biestables: de JK a RS o a T , o a D

92
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Capítulo 9
REGISTROS
Al igual que los contadores, los registros están formados por biestables . los registros comerciales están
formados por integrados MSI.
Los registros son bloques funcionales destinados a almacenar o registrar información binaria durante un
cierto tiempo. Así como un biestable puede almacenar un bit un conjunto de n biestables compondrá un
número n de bits. Los registros pueden ser de almacenamiento y de desplazamiento.
Los registros de almacenamiento están formados por un conjunto de biestables (normalmente de tipo D)
aislados entre sí, con una señal de reloj común a todos ellos, de forma que todos se cargan
simultáneamente los datos presentes en sus entradas, siendo accesibles en cada momento sus entradas y
salidas. Si los registros de almacenamiento se activan por nivel, también reciben el nombre de latch
(cerrojo), también se pueden disparar por flanco.
La forma en que se hacen llegar los datos de entrada o cómo se recogen en la salida da posteriormente al
tipo de registros.

Los datos pueden ser transferidos en serie y en paralelo.


Cuando, además de la función de memoria, se requiere dentro de un registro el poder de desplazar bit de
un biestable a otro, se generan los registros de desplazamiento.

Un registro de desplazamiento consta esencialmente de una cadena de biestables conectados en cascada,


siendo la salida de uno la entrada del siguiente. Para convertir el circuito en síncrono se conecta una
señal de reloj a todos los biestables para que transfieran al mismo tiempo su contenido.
Los registros de desplazamiento normalmente están formados por biestables del tipo JK.
Según la forma de recibir o dar información pueden dividirse en:
Entrada serie / salida serie
Entrada serie / salida paralelo
Entrada paralelo /salida serie
Entrada paralelo /salida paralelo
El desplazamiento puede conseguirse de izquierda a derecha o viceversa.
La utilización de los registros de almacenamiento hace honor a su nombre, de tal manera que están
destinados a almacenar una información durante un tiempo determinado para operar con ella o
simplemente representar los resultados en un display pasando a través de un decodificador.
La utilización de los registros de desplazamiento, también sirven para almacenar una información un
tiempo determinado hasta que ésta es volcada en uno de almacenamiento, pero entre otras, también se
utiliza como contadores y generadores de una determinada secuencia, algo que veremos más adelante.

El esquema que aparece a continuación es un registro de almacenamiento con biestables D. Entrada de


datos en paralelo y salida de datos también en paralelo. Podemos observar que las entradas preset están
conectadas a 5 v, con lo que las inutilizamos y el reset lo conectamos a un circuito automático, que en
un principio resetea y después cuando el condensador se cargue aplicamos cinco voltios con lo que
también anulamos la posibilidad de que el reset ponga a cero la salida del biestable. El tiempo que
tardará esta transición vendrá determinado por : T = 1,2 R. C, en los que la resistencia vendrá dada en
ohmios y la capacidad en faradios = al tiempo en segundos.

93
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

En la figura tenemos un ejemplo de un registro de desplazamiento, entrada serie/ salida paralelo

94
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Capítulo 10

CIRCUITOS DIGITALES AUXILIARES


Cuando se trabaja con circuitos digitales , frecuentemente es necesario utilizar circuitos que sean
capaces de generar impulsos o de conformarlos (adaptarlos), mantenerlos durante un tiempo
determinados, retardarlos, adaptar las señales que se obtienen de las puertas lógicas para excitar a otros
circuitos. Esos circuitos de los que estamos hablando podrían ser entre otros:
- Multivibradores monoestables
- Multivibradores astables
- Temporizadores
- Circuitos adaptadores de entrada y salida de puertas lógicas.

Los circuitos monoestables son circuitos que a su salida tienen un estado estable (0 o 1) y un estado
inestable ( 1 o 0). Estos circuitos permanecen en su estado estable durante un tiempo indefinido y
cuando se los excita por medio de una señal de disparo, permanecen en el estado inestable o metaestable
durante un tiempo relativamente largo, en comparación con el tiempo mínimo que necesita la señal de
disparo para pasar a ese estado.

Conclusión: Poseen un sólo estado estable y otro metaestable

Las aplicaciones que podemos encontrar a estos circuitos monoestables serían las siguientes.

- Generar impulsos de anchura controlable


- Conformar impulsos en sistemas digitales
- Regenerar y dar la forma primitiva a impulsos deformados en transmisión
- Retardar impulsos digitales
- Establecer un intervalo de tiempo fijo entre el principio y el fin de la transición de
datos

• Circuitos Biestables o Flip-Flop (FF): Son aquellos que cambian de estado cada vez que
reciben una señal de entrada (ya sea nivel bajo o alto), es decir retienen el dato de salida aunque
desaparezca el de entrada.
Conclusión: Poseen dos estados estables

• Circuitos Astables : Son circuitos gobernados por una red de tiempo R-C (Resistencia-
Capacitor) y un circuito de realimentación, a diferencia de los anteriores se puede decir que no
poseen un estado estable sino dos metaestables

De todos los circuitos astables el más conocido es el que se construye con un integrado NE555, no
obstante podemos utilizar casi cualquier elemento para confeccionar uno, en este caso con dos
inversores.

95
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Oscilador Simétrico con compuertas NOT

Supongamos que determinado momento la salida del inversor B está a nivel "1", entonces su entrada
esta a "0", y la entrada del inversor "A" a nivel "1". En esas condiciones C se carga a través de R, y los
inversores permanecen en ese estado.

Cuando el capacitor alcanza su carga máxima, se produce la conmutación del inversor "A". Su entrada
pasa a "0", su salida a "1" y la salida del inversor "B" a "0", se invierte la polaridad del capacitor y este
se descarga, mientras tanto los inversores permanecen sin cambio, una vez descargado, la entrada del
inversor "A" pasa nuevamente a "1", y comienza un nuevo ciclo. Este efecto es continuo y no parará
hasta que se desconecte.

Este oscilador es simétrico ya que el tiempo que dura el nivel alto es igual al que permanece en nivel
bajo. T = 2,5 R. C, donde el tiempo viene determinado en segundos , R en Ohmios y la capacidad en
faradios.

Si recordamos las leyes de De Morgan, podemos sustituir, si queremos, los inversores por puertas
NAND de dos entradas de la forma siguiente

De la misma forma podemos hacerlo con puertas NOR

Podemos utilizar las combinaciones que queramos, no obstante, podemos sustituir la resistencia R por
un potenciómetro o resistencia variable con lo que podemos variar la velocidad de conmutación del
mismo. Exactamente cambiamos la frecuencia de este generador de ondas cuadradas.
Podemos probar este en el programa, usando tres inversores

96
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Disparadores Schmitt Trigger

Algo que no vimos hasta ahora son las compuertas SCHMITT TRIGGER o disparadores de Schmitt, son
iguales a las compuertas vistas hasta ahora pero tienen la ventaja de tener umbrales de conmutación muy
definidos llamados VT+ y VT-, esto hace que puedan reconocer señales que en las compuertas lógicas
comunes serían una indeterminación de su estado y llevarlas a estados lógicos definidos, mucho mas
definidos que las compuertas comunes que tienen un solo umbral de conmutación.

Supongamos la salida a nivel lógico 1, C comienza a cargarse a través de R, a medida que la tensión
crece en la entrada de la compuerta esta alcanza el nivel VT+ y produce la conmutación de la compuerta
llevando la salida a nivel 0 y el capacitor comienza su descarga.

Cuando el potencial a la entrada de la compuerta disminuye por debajo del umbral de VT-, se produce
nuevamente la conmutación pasando la salida a nivel 1, y se reinicia el ciclo.

No sólo existen inversores Schmitt Trigger, sino también compuertas AND, OR, NOR, etc, y ya
sabemos como utilizarlas

A continuación representaremos una serie de circuitos, empezando por un circuito multivibrador


astable con elementos discretos.
Podemos observar el circuito que es completamente simétrico, con lo que una vez conectado se
producirán sobreoscilaciones hasta que el transistor de menor tensión de umbral se adelante al otro y se
ponga a conducir. Después los mecanismos de constante de tiempo serán los únicos que influirán en la
conducción de uno y el paso al corte de otro y viceversa, la señal de salida la tenemos presente en la
pantalla del osciloscopio.

97
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

También disponemos a continuación de un circuito multivibrador astable, con el integrado


555

La figura inferior también nos muestra un circuito monoestable, en el que el tiempo que durará el estado
inestable será aproximadamente t = 1,1 R.C, el resultado en segundos.

98
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Circuito retardador de señal con puertas lógicas. Estos circuitos se caracterizan por presentar a su salida
el estímulo de entrada retardado un tiempo t = 1,1 R.C. Estos circuitos presentan el inconveniente de
que la señal de disparo debe estar presente en la entrada hasta que se genere la señal de salida

99
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------
Imágenes de circuitos auxiliares

100
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Capítulo 11
AUTOMATAS FINITOS
Llamamos autómatas finitos a todos los circuitos sincronizados con la señal de reloj en un sistema.
Dentro de estos circuitos podemos incluir los contadores síncronos, divisores de frecuencia o cualquier
autómata que, una vez iniciado podamos obtener una salida debida a la evolución de los estados,
teniendo en cuenta o no, la señal de entrada.

Fundamentalmente existen dos tipos de de modelo de autómatas:


Modelo MOORE: La salida sólo depende de los estados internos, según podemos observar en la figura
siguiente:

101
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Modelo de autómata Mealy. La salida está asociada a las transiciones entre estados de entrada y de los
estados internos

ETAPAS DE DISEÑO DE CIRCUITOS SECUENCIALES SÍNCRONOS

- Pasar las especificaciones verbales al diagrama de estados


- Reducir estados equivalentes
- Construir la tabla de estados
- Asignar códigos a los estados
- Seleccionar elementos de memoria
- Obtener las tablas de excitación
- Simplificación de las funciones de excitación
- Implementación del circuito

Vamos a resolver un circuito aplicando las técnicas anteriormente descritas y lo resolveremos por Moore
y Mealy.

Realizar un circuito que actúe como un divisor de frecuencia por tres, como elemento síncrono. Es decir
por cada tres impulsos a la entrada obtenemos uno a la salida.

1º.- Un diagrama de estados es una representación de los estados internos de un circuito secuencial, es
decir una representación gráfica de su funcionamiento

Por supuesto, se puede prescindir de la representación del diagrama de estados y pasar directamente a
confeccionar la tabla de estados.
Incluso más adelante veremos que en determinados casos no hay que tener en cuenta la entrada X, ya
que podemos hacerla coincidir con la entrada de reloj. Esta forma reducida la emplearemos sobre todo
en los autómatas secuenciales asíncronos, autómatas industriales.

No obstante seguiremos con el mismo ejemplo y citaremos todos los pasos.

E. Presente Entrada x E. Siguiente Mealy Moore


Io 0 Io 0 1
Io 1 I1 0 1
I1 0 I1 0 0
I1 1 I2 0 0
I2 0 I2 0 0
I2 1 Io 1 0

102
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Qt Qt+1 J K A continuación asignaremos un código a cada uno de los estados.


0 0 0 - Io 00 I1= 01 I2= 11. Sólo tenemos que sustituir los estados por el código
0 1 1 - correspondiente en la asignación.
1 0 - 1 2 elevado a n >= 3 luego n = 2
1 1 - 0
Fig 1
A continuación seleccionaremos los elementos de memoria, es decir determinamos el tipo de de Flip-
flop, que en este caso se tratará de un JK.
Por supuesto tendremos en cuenta la tabla de excitación de la misma. ( Fig 1)
Ahora representaremos la tabla general

Q1Qo 00 01 11 10
Qt X Qt+1 FF- 1 FF-0 Mealy Moore Qt 0 0 0 x x
Qo Q1 X Qo Q1 J1 K2 Jo Ko S1 S2 1 0 1 x x
0 0 0 0 0 0 - 0 - 0 1
0 0 1 0 1 0 - 1 - 0 1 Q1Qo 00 01 11 10
0 1 0 0 1 0 - - 0 0 0 Qt 0 x x x 0
0 1 1 1 0 1 - - 1 0 0 1 x x x 1
1 0 0 1 0 - 0 0 - 0 0
1 0 1 0 0 - 1 0 - 1 0
1 1 0 - - - - - - - -
1 1 1 - - - - - - - -

A continuación ponemos los Karnaugh.

Q1Qo 00 01 11 10 Q1Qo 00 01 11 10 Q1Qo 00 01 11 10 Q1Qo 00 01 11 10


Qt 0 0 x x 0 Qt 0 x 0 x x Qt 0 0 0 x 0 Qt 0 1 0 x 0
1 1 x x 0 1 x 1 x x 1 0 0 x 1 1 1 0 x 0

Los resultados son los siguientes:

J1 = Qo. X K1 = X Jo = Q1*.X Ko = X S1 = Q1 . X So = Q1*. Q2*

A continuación podemos implementar el circuito.

103
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Circuito reducido con las dos salidas, Moore y Mealy

Tal como se ha citado anteriormente podemos hacerlo de manera reducida. Debido a que el tipo de
biestable es del tipo Master Slave, el circuito se encontrará activo en los flancos de bajada de la señal de
reloj. Haciendo coincidir la entrada X ( el nivel alto) con la señal activa del reloj, podemos prescindir de
la primera.

Luego si X=1 = Clock, podemos reducir la tabla o directamente de las funciones de salida la
reducimos.

J1 = Qo K1 = 1 Jo = Q1* Ko = 1 S1 = Q1 So = Q1* . Qo*

Importante para evitar que en la conexión, el autómata comience en un estado distinto de cero, lo
importante es añadir una entrada o puesta a cero automática o en frío ( que es la ideal), y otra, si lo
creemos conveniente que sería la asíncrona, manual o en caliente

A continuación aparecen los esquemas a los que anteriormente se ha hecho alusión:

104
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Hagamos otro ejemplo de autómata finito.

Diseñar un circuito que actúe como el lanzamiento de un dado , mediante autómata finito utilizando el
método MOORE, ya que existe coincidencia entre los estados y la salida.
2 elevado a n >= 6 => n =3 biestables

Diagrama de estados

Pasaremos del diagrama de estados a la tabla. La tabla, insisto puede diseñarse directamente sin pasar
por el diagrama de estados.

Qt QT+1 FF-2 FF-1 FF-0 Q2Q1 00 01 11 10


q2 q1 qo q2 q1 qo J2 K2 J1 K1 Jo Ko Qo 0 0 0 x x
0 0 0 0 0 0 1 0 X 0 X 1 X 1 0 1 x x
1 0 0 1 0 1 0 0 X 1 X X 1
2 0 1 0 0 1 1 0 X X 0 1 X
3 0 1 1 1 0 0 1 X X 1 X 1 Q2Q1 00 01 11 10
4 1 0 0 1 0 1 X 0 0 X 1 X Qo 0 x x 1 0
5 1 0 1 1 1 0 X 0 1 X X 1 1 x x x 0
6 1 1 0 0 0 1 X 1 X 1 1 X
7 1 1 1 X X X X X X X X 1

Q2Q1 00 01 11 10
Q2Q1 00 01 11 10
Qo 0 1 1 0 1
Qo 0 0 x x 0
1 x x x x
1 1 x x 1

Q2Q1 00 01 11 10
Q2Q1 00 01 11 10 Qo 0 x x x x
Qo 0 x 0 1 X 1 1 1 1 1
1 x 1 x 0x
J2 = Q1.Qo K2= Q1 J1 = Qo K1 = Q1+Q2 Jo= 1 Ko= 1
105
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

En el circuito se puede observar que hemos utilizado un display con decodificador incluido y en otra
ocasión hemos utilizado el display con siete entradas y el decodificador de binario a decimal de siete
segmentos. También disponemos en el circuito del Reset automático y manual

106
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------
Contadores

Contadores síncronos
Diseño de contador síncrono módulo 5.
2 elevado a n >= 5 => n=3 dispondremos de tres biestables.
Podemos observar que el módulo no coincide con la base 2 elevada a un cierto número, así que se trata
de un contador incompleto

Qt Qt+1 FF- 1 FF-2 FF-3 Z J1= q2.q3 K1= q1*


Qt q1 q2 q3 q1 q2 q3 J1 K1 J2 K2 J3 K3 Z
0 0 0 0 0 0 1 0 x 0 x 1 x 0 J2= 1 K2= 1
1 0 0 1 0 1 0 0 x 1 x x 1 0
2 0 1 0 0 1 1 0 x x 0 1 x 0 J3= q3 K3= q3
3 0 1 1 1 0 0 1 x x 1 x 1 0
4 1 0 0 0 0 0 x 1 0 x 0 x 1 Z= q1. q2*. q3* En el circuito no aparece esta
5 1 0 1 x x x x x x x x x 0 salida
6 1 1 0 x x x x x x x x x 0
7 1 1 1 x x x x x x x x x 0

q1q2 00 01 11 10 q1q2 00 01 11 10
q3 0 0 0 x x q3 0 1 1 x 0
1 0 1 x x 1 x x x x

q1q2 00 01 11 10 q1q2 00 01 11 10
q3 0 x x x x q3 0 x x x x
1 x x x 1 1 1 1 x x

q1q2 00 01 11 10 q1q2 00 01 11 10
q3 0 0 x x 0 q3 0 0 0 0 1
1 1 x x x 1 0 0 0 0

q1q2 00 01 11 10
q3 0 x 0 x x
1 x 1 x x

107
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Contadores asíncronos.
Contador asíncrono módulo 8
Este contador es completo porque coincide con la base 2 elevado a tres.

En este tipo de contadores, no utilizaremos tablas combinacionales para llegar a su diseño.

Lo primero que debemos tener en cuenta es que también este tipo de contadores se caracteriza porque se
dividen en: Completos e incompletos.
Estos últimos contadores incompletos se dividen en contadores con puesta a cero y con puesta a un
determinado módulo.

Todos, en principio se resuelven de la misma manera.


Lo primero es dibujar un oscilograma completo en el que aparecerán la entrada del reloj y a
continuación las distintas salidas de los biestables.

0 1 2 3 4 5 6 7

Como podemos observar en el circuito hemos establecido una señal de salida con una etapa de potencia
que activa un altavoz. Esta etapa de salida la hemos diseñado para cuando cuente 8 impulsos, mediante
una puerta AND obtengamos la salida correspondiente.

108
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

109
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Contador asíncrono módulo cinco


Este contador difiere del anterior en que no es completo, ya que tiene que contar ocho impulsos, es
decir en la salida observaremos que cuenta hasta cuatro y al próximo impulso pone a cero el contador.
Por supuesto este tipo de circuitos no llevará el reset automático, ya que lo que se pretende es que se
ponga a cero cuando cumpla unas determinadas condiciones y para ello llevará el circuito adecuado con
una NAND.
No obstante si queremos, podemos añadirle un reset manual.

110
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Podemos observar que cuenta cinco impulsos y en ese instante cuando pretende la 1ª memoria activarse,
rápidamente se ponen a cero las tres. Todo esto lo hacemos con la información del módulo que es 1 0 1,
lo introducimos en la puerta Nand y a la salida obtenemos un cero que es lo que aplicamos a los reset.
La alimentación de la NAND debe dar “1” para ello la alimentamos con las Qt del primero y del último
y con la Qt* negada de la memoria del centro.

Ejemplo de autómata finito: Contador síncrono módulo 13 con biestables JK

Como es módulo 13, quiere decir que el último número que aparecerá en el display es el 12, y al
próximo impulso se pondrá a cero el contador

Qt QT+1 FF-1 FF-2 FF-3 FF-4


Qt q1 q2 q3 q4 q1 q2 q3 q4 J1 K1 J2 K2 J3 K3 J4 K4
0 0 0 0 0 0 0 0 1 0 x 0 X 0 X 1 X
1 0 0 0 1 0 0 1 0 0 x 0 X 1 X X 1
2 0 0 1 0 0 0 1 1 0 x 0 X X 0 1 X
3 0 0 1 1 0 1 0 0 0 x 1 X X 1 X 1
4 0 1 0 0 0 1 0 1 0 x X 0 0 X 1 X
5 0 1 0 1 0 1 1 0 0 x X 0 1 X X 1
6 0 1 1 0 0 1 1 1 0 x X 0 X 0 1 X
7 0 1 1 1 1 0 0 0 1 x X 1 X 1 X 1
8 1 0 0 0 1 0 0 1 x 0 0 X 0 X 1 X
9 1 0 0 1 1 0 1 0 x 0 0 X 1 X X 1
10 1 0 1 0 1 0 1 1 x 0 0 X X 0 1 X
11 1 0 1 1 1 1 0 0 x 0 1 X X 1 X 1
12 1 1 0 0 0 0 0 0 x 1 X 1 0 X 0 X
13 1 1 0 1 x x x x x x X X X X X X
14 1 1 1 0 x x x x x x X X X X X X
15 1 1 1 1 x x x x x x X X X X X X

111
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

q1q2 00 01 11 10 q1q2 00 01 11 10 q1q2 00 01 11 10


q3q4 00 0 0 x x q3q4 00 x x 1 0 q3q4 00 0 x x 0
01 0 0 x x 01 x x x 0 01 0 x x 0
11 0 1 x x 11 x x x 0 11 1 x x 1
10 0 0 x x 10 x x x 0 10 0 x x 0

q1q2 00 01 11 10 q1q2 00 01 11 10 q1q2 00 01 11 10


q3q4 00 x 0 1 x q3q4 00 0 0 0 0 q3q4 00 x x x x
01 x 0 x x 01 1 1 x 1 01 x x x x
11 x 1 x x 11 x x x x 11 1 1 x 1
10 x 0 x x 10 x x x x 10 0 0 x 0

q1q2 00 01 11 10 q1q2 00 01 11 10
q3q4 00 1 1 0 1 q3q4 00 x x x x
01 x x x x 01 1 1 x 1
11 x x x x 11 1 1 x 1
10 1 1 x 1 10 x x x x

Las ecuaciones obtenidas de los Karnaugh serían:

J1= q2.q3.q4 K1=q2 J2= q3.q4 K2=q1+q3.q4 J3=q4 K3= q4

J4= q1*+q2* K4 = 1

112
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

DIVISORES DE FRECUENCIA

Los divisores de frecuencia, son circuitos capaces de dividir por un número la frecuencia del generador
aplicado a la entrada.
La construcción de un divisor de frecuencia es semejante, por no decir lo mismo que un contador
asíncrono.
Para empezar el diseño de un divisor de frecuencia habrá que reducir el número por el que queremos
dividir la frecuencia por un producto en el que cada uno de los factores sean los que resulten de
descomponerlo en factores primos.

113
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Por ejemplo si el número por el que queremos dividir es 30, lo descomponemos en 2x3x5.
Es decir habrá que diseñar tres divisores y después conectarlos entre sí, es decir la salida de uno será el
reloj o entrada del siguiente, tal como se puede observar en el oscilograma que figura a continuación.
En la confección de cada uno de ellos tendremos en cuenta la tabla de excitación de los biestables que lo
conforman, que normalmente trabajaremos con los slip-flops JK.
En el caso de que el divisor sea de un número primo distinto de los anteriormente citados, se
confeccionará como un contador asíncrono con puesta a cero.

A continuación diseñaremos un divisor de frecuencia por 30. Está claro que conectaremos uno de 2 con
otro de 3 y con otro de 5, de manera que el producto sea 30.

El analizador lógico que tenemos conectado lo representamos antes del circuito, en él podemos observar
la entrada de reloj y las distintas de salida.

114
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

115
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

116
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Capítulo 12
SISTEMAS MICROPROGRAMABLES
Un sistema microprogramable es un sistema electrónico digital formado por uno o varios chips
integrados capaz de interpretar y ejecutar secuencialmente las órdenes contenidas en un programa y a
una velocidad muy elevada.
Entre las aplicaciones Más importantes podemos destacar:
- Realizar cálculos matemáticos o aplicaciones informáticas, como podemos observar en
los ordenadores, que son sistemas microprogramables basados en los microprocesadores
- Controlar procesos industriales de seguridad o producción, como en el caso de autómatas
programables que controlan robots y cadenas de montaje que poseen microcontroladores
- Controlar el funcionamiento de aparatos domésticos, como … microondas, lavadoras,
que se encuentran controladas por microprocesadores y o microcontroladores.

Hardware y software
Todos los conocimientos y conceptos relacionados con el sistema microprogramable se agrupan en tres,
que son los siguientes:
Hardware . Son todos los circuitos y componentes electrónicos que componen el sistema
Software. Conjunto de instrucciones y rutinas con que se programa el sistema, así como todo lo
referente a los lenguajes empleados.
Firmware, es un término intermedio y se define como el conjunto de programas de un sistema
microprogramable grabados sobre un hardware pero inalterables por el usuario. El ejemplo más sencillo
es la memoria ROM-BIOS en los ordenadores.

Clasificación:
-Ordenadores personales. Son sistema microprogramables que utilizan un chip microprocesador.
Están destinados a los procesos informáticos, aunque añadiéndoles los sistemas de control externo
adecuados, son capaces de controlar procesos o máquina industrial
-Autómatas programables
Son sistema microprogramables basados en un microcontrolador al que se le añaden sistemas de control
de potencia tales como contactores o relés. Están destinados al control de maquinaria industrial y
automatización.
Pequeños automatismos y electrodomésticos
Son sistemas gobernados por microprocesadores, microcontroladores o dispositivos PLD, destinados a
controlar electrodomésticos, rótulos luminosos, calculadoras programables, pequeños sistemas de
alarmas y cualquier otro sistema que se pueda asociar a estos elementos.

117
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Usuario

Bus de direcciones
Periférico

C. selec

ROM RAM CPU Unidad


I/O

Bus Reloj
control

Sistema
Control
Bus de datos externo

Receptores

ESQUEMA DE BLOQUES DE UN SISTEMA MICROPROGRAMABLE CON


MICROPROCESADOR.

Unidad Central de Proceso. Su estructura es la de un circuito integrado LSI que posee en su interior
entre otros elementos:
- Unidad de decodificación e interpretación
- Unidad aritmética lógica
- Un contador de programa
- Registros de almacenamiento
La CPU controla por medio de instrucciones que decodifica e interpreta a las memorias, a la unidad de
entrada y salida I/O y a través de esta última a los periféricos y sistemas de control externo.

Reloj.- La CPU genera los impulsos de control de los restantes bloques, partiendo de las señales de onda
cuadradas suministradas por un generador de funciones llamado reloj. La frecuencia del reloj determina
la velocidad de operación y funcionamiento de la CPU y de todo en general
Buses. Se definen como el conjunto de de grupos de hilos que transportan información del mismo tipio y
que sirven para realizar la comunicación entre los diferentes bloques del sistema. Existen tres tipos de
buses, en dos de los cuales el número de de hilos está en función del número de bits de la palabra binaria
con la que trabaja el sistema.
- Bus de datos
- Bus de direcciones
- Bus de control

118
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Bus de datos. (Data Bus) Es el destinado a transportar los datos entre los diferentes bloques. Su número
de hilos es igual a la longitud de la palabra
Bus de direcciones. (Address Bus). Su misión es transmitir al bloque correspondiente la dirección con
la que va a trabajar la CPU. El número de líneas determina la capacidad de la memoria. El número de
direcciones de memoria que es capaz de controlar un microprocesador mediante su bus de direcciones,
se obtiene:
Nº de direcciones de memorias o palabras = a la base binaria 2, elevada al número de líneas del bus de
direcciones.
Así por ejemplo un micro de 8 bits posee 16 líneas luego = a 65.536 posiciones o bits = 64 Kb
Bus de control. (Control Bus) El micro utiliza un número de líneas para enviar o recibir órdenes que
realizan fines diversos, como R/W*, RESET, líneas de interrupción, Entrada de programación, etc.

Circuitos de selección de Chips. Es un conjunto de elementos decodificadores y multiplexores que


tienen la finalidad de obtener las señales de autorización de cada bloque del sistema, evitando que el
bloque de bus de direcciones tenga que llegar a todo el sistema

Unidad de entrada y salida (I/O) Todo sistema de desarrollo de microprocesador necesita


comunicarse con el exterior, ya sea para recibir o llevar información.
Estos dispositivos constituyen la frontera ( interface) entre los circuitos internos y los externos.
La necesidad de emplear circuitos específicos viene impuesta por la diferencia de las señales empleadas
en el interior y exterior del sistema:
Diferente frecuencia de trabajo. El microprocesador y las memorias trabajan a frecuencias muy
superiores al megahercio, mientras que los periféricos y receptores rara vez superan los kilohercios.
Diferencias en los códigos binarios de trabajo. Esto hace que tengamos que trabajar con convertidores
de códigos.
En algunos casos, las interfaces o unidades de entrada y salida son circuitos cuya complejidad puede
llevar a superar la de algunos microprocesadores.
Independientemente de su complejidad interna, además posee como mínimo estos elementos:
Registros de entrada y registro de salida.
El primero es un registro cuyo número de bits es igual al de la palabra utilizada y cuya carga está
controlada por un conjunto de interruptores electrónicos gobernados por la CPU. Se le denomina puerto
de entrada. La información que se envía desde los periféricos al puerto sólo se almacena cuando la CPU
lo autorice.
El segundo, el registro de salida, es un registro de almacenamiento de información de longitud igual al
de la palabra utilizada. Lo llamaremos puerto de salida.

Periféricos.
Podemos distinguir dos tipos de funciones: Periféricos de comunicación entre el sistema y el usuario y
periféricos de almacenamiento masivo de la información.
Periféricos de comunicación:
Teclado (Keyborad) Periférico de entrada, sirve para introducir datos mediante teclas y están adaptadas
en función del tipo de lenguaje empleado en la programación:
- Teclados hexadecimales para programar en lenguaje máquina.
- Teclados alfanuméricos, para programación en alto nivel
- Teclados especiales, con teclas de funciones específicas.
Pantallas y displays. Son los periféricos de salida más usuales, junto con las impresoras, por ejemplo:
Monitores de televisión (CTR), Cristal líquido (LCD), Visualizadores de tipo matricial de 7 segmentos,
etc

119
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------
Impresora. Periférico de salida básico, especializado en la producción de informes en formato papel,
los más importantes los de inyección de tinta y láser.
Interfaces de comunicación de E/S. son dispositivos periféricos que no deben confundirse con las
unidades (I/O) que sirve para intercomunicar sistemas microprogramables separados y serían:
- Interface RS-232 para comunicación serie
- Interface Centronics para comunicación paralelo
- Interface USB de comunicación universal

Conviene citar en este apartado uno de los elementos utilizados en la comunicación E/S y sería la puerta
triestada. Corresponde a un circuito como el que se cita a continuación, en el que si a la entrada de
control le aplicamos un uno la información pasa, independientemente si la niega o no. En el caso de que
esa información de control sea un cero no existe comunicación ya que se crea un estado de alta
impedancia, equivalente a un interruptor abierto.

CS =0 las puertas AND aplican señal baja a las


bases de los transistores => alta impedancia,
equivale a una desconexión real.
CS=1 Es lógico comprobar que las puertas
transmiten señales opuestas a los transistores con lo
cual, en un caso obtendremos un “1” y en otro caso
obtendremos un “0”.

Módem. Es un interface que permite la comunicación serie a distancia, por medio de redes telefónicas o
redes inalámbricas.

Periféricos de almacenamiento.
Unidades de disco magnético. Esta clase de periférico emplea un soporte plano y circular recubierto de
un material magnético donde se almacena la información
- Disco duro (hard disk)
- Disco flexible (floppy disk)
Unidades de disco óptico. Soporte plano circular de policarbonato, donde se almacena la información)
recubierto de una capa de aluminio que actúa como espejo: CD-ROM y DVD

Unidades de memoria flexible. Están fabricadas con memoria tipo Flash y SD (variedad de memoria
RAM) que posee un conector USB. Pendrive y Tarjeta

Sistemas de control externo.


Constituyen un conjunto de circuitos que sirven para realizar la comunicación entre el sistema
microprogramable y los procesos industriales o máquinas por él controlado.
- Transductores y sensores
- Convertidores A/D, D/A, V/I, etc
- Componentes de conmutación y potencia: relés, tiristores, contactores, etc.
- Circuitos de amplificación.

120
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Memorias
Antes de entrar a analizar las distintas memorias, volvemos a citar cierta clasificación de ellas.
Memorias centrales. Son las que se encuentran en el interior de los sistemas microprogramables y están
directamente regidas por la CPU. En ellas se almacenan los sistema operativos, las tablas de datos, el
programa de usuario que se encuentra en ejecución y los datos de la pila de memoria, según su principio
de funcionamiento existen los siguientes tipos:
• Memorias de núcleo de ferrita. Fue el primer tipo de memoria empleado, hoy en desuso.
Formadas por núcleos toroidales de algunas décimas de milímetro de diámetro recorridos por
tres hilos, dos de selección y uno de lectura.
• Memorias integradas. Son las únicas empleadas actualmente. Se clasifican en:
- Memorias de lectura y escritura, o memorias RAM
- Memorias de sólo lectura o memorias ROM
Memorias masa. Son las unidades de memoria de más alta capacidad que existen y están situadas en los
periféricos. Su función es almacenar grandes cantidades de datos, así como los programas de usuario y
el sistema operativo cuando no están en ejecución. Las más importantes hoy día son:
• Memorias en disco duro
• Memorias en disquete
• Memorias en disco óptico: CD-ROM y DVD
• Memorias integradas extraíbles: Pen Drive y SD

Clasificación de las memorias integradas


Memorias RAM.-
Las siglas RAM significan memoria de acceso aleatorio (Random Acces Memory). Son memorias
volátiles, en las que se puede leer y escribir
Tipos:
RAM estáticas o SRAM. Las celdas de memoria o de almacenamiento están formadas por flip-flops,
que permanecen indefinidamente en su estado mientras no se elimine la alimentación o se haga bascular.
RAM dinámicas o DRAM. Las celdas de almacenamiento están formadas por pequeños condensadores
que almacenan la información (Tecnología CMOS). Tienen el defecto de, por inevitables corrientes de
fuga pierden la información. Por tal motivo se requiere de un circuito de refresco (proceso de reescritura
periódico) que restablezca la información. El tiempo típico de refresco de 2 milisegundos. Este proceso
requiere un tiempo y una mayor complejidad de hardware, es decir la memoria dinámica no está
disponible en todo momento para ser leída o escrita, ya que el proceso de recarga no es instantáneo. Por
el contrario la DRAM ofrece la ventaja de un mayor número de bits por chip, lo que redunda en un
precio más bajo y en unas dimensiones de montaje más pequeñas, sin olvidar que el circuito de refresco
encarece un poco el conjunto.
RAM con pila. Este tipo de memorias es no volátil, es decir no pierden la información al ser
desconectadas, se trata de una memoria RAM CMOS que lleva incorporada en su encapsulado una
pequeña batería de litio que asegura una estabilidad de los datos durante diez años, con el chip extraído
del circuito.. en lugar de ellas hoy se utilizan las EEPROM, que estudiaremos a continuación.

Memorias ROM. Las siglas ROM significan, memorias de sólo lectura (Read Only Memory)
Son memorias no volátiles, en las que sólo se puede leer, ya que su proceso de grabado es más complejo
y se realiza normalmente fuera del sistema. Según la forma en que se procede a grabar los datos, se
dividen a su vez en los tipos siguientes:
• ROM (programable por máscara). Los datos se graban en la memoria durante su proceso de
fabricación. Proceso fotolitográfico. Evidentemente estos datos son indelebles y nunca se podrán
borrar o cambiar.

121
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

• PROM. (Rom programable) Grabadas o programadas por el usuario una sola vez. El fabricante
las suministra en estado virgen, con tos sus bits puestos a “0” o a “1”, según los tipos. El
proceso de grabación se hace mediante un equipo programador de PROM que produce fusiones
de carácter irreversible de acuerdo con los datos que se pretende grabar.
• EPROM (ROM borrable y programable) Son similares a las PROM, pero el proceso de
grabación no es destructivo. Los datos se almacenan induciendo cargas en electrodos de silicio
policristalino completamente aislados en el seno de una capa de óxido de silicio. La grabación se
realiza mediante un programador de EPROM y a partir de ese momento los datos permanecen
inalterables. Cuando se requiera borrar los datos, la devolvemos a su estado original mediante la
acción de rayos ultravioletas a través de una ventana dispuesta a tal fin. El número de ciclos de
borrado-grabado es limitado ya que el proceso produce una cierta degradación de los datos.
• EEPROM (ROM, borrables eléctricamente). Son las memorias que logran el ideal de alcanzar
una memoria de lectura-escritura que no pierde su contenido al cortar la alimentación. Estas
memorias pueden alterar su contenido sobre el montaje definitivo sin necesidad de extraer el chip
y sin utilizar una instrumentación específica.
• Tener en cuenta los siguientes términos. EAROM (ROM (alterable eléctricamente) y
EEPROM ((ROM borrable eléctricamente)

Resumen de las características DRAM


• La capacidad de almacenamiento de los chips de memoria DRAM es, a igualdad de tamaño,
superior a la de los chips de memoria SRAM.
• El consumo de las memorias DRAM es considerablemente superior al de las RAM
• La adaptación de las memorias DRAM a los sistemas basados en microprocesadores es más
complicada que la adaptación de memorias SRAM, dado que las primeras obligan a la
incorporación de la adecuada lógica de refresco.

Evolución de las memorias DRAM.


• Memoria FPM RAM (Fast Page Mode RAM) Memoria DRAM diseñada para trabajar en modo
página, es decir, para accesos a bloques de memoria consecutivo.
• Memorias EDO RAM (Extended Data Out RAM) Son una variante de las anteriores que
mediante la utilización de un búfer en su salida le permite estar finalizando la lectura de un dato
de la matriz y simultáneamente, decodificar la dirección del siguiente dato que se va a leer.
• Memorias SDRAM (Synchronous DRAM). Es el tipo de memoria DRAM más empleada hoy.
Su estructura consta de dos o más matrices, cuyo funcionamiento se organiza de forma que
mientras se está realizando el acceso a una matriz, otra se está preparando el siguiente acceso.
• Memorias DDR SDRAM (Double Date Rate SDRAM). La más moderna de la familia de
memorias DRAM soporta dos operaciones de memoria por ciclo de reloj, así que proporciona el
doble de velocidad.

Módulos de memorias.
• Módulos SIMM (Single In- Line Memory Module) hoy prácticamente en desuso.
- SIMM de 30 contactos (4 MB y 16 MB)
- SIMM de 72 contactos ( 16 MB y 32 MB)
- SIMM de 168 contactos (16 MB, 32 MB y 64 MB)
• Módulos DIMM de memoria DRAM ( Dual In-Line Memory Module). Este tipo es el empleado
actualmente. Consta como los anteriores de un conjunto de zócalo y tarjeta de circuito impreso
que contiene los chips de memoria, actualmente del tipo SDRAM o

122
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------
DDRAM, pero en éstos los conectores están en ambas caras y contienen información diferente. Estos
módulos trabajan con palabras de 64 bits
- DIMM de 72 contactos. Fueron los primeros en aparecer en el mercado
- DIMM de 144 contactos. Con memoria DDRAM t capacidad de 1024 MB por módulo
- DIMM de 168 contactos
- DIMM de 184 contactos con memoria SDRAM y capacidad de 512 MB por módulo
- DIMM de 200 contactos, para portátiles con memoria DDRAM y capacidad de 1024 MB
por módulo

Modo de acceso.

Se entiende por modo de acceso, el método que la memoria emplea para acceder a una información
almacena en ella.
• Acceso aleatorio. Se puede ir a cualquier posición directamente. El sistema asigna a cada
posición de memoria un código y por él la identifica. El tiempo de acceso es independiente de la
posición de la memoria. Un ejemplo de este tipo de memorias son las integradas RAM y ROM.
• Acceso secuencial. Las memorias de este tipo de acceso no se utilizan hoy día. Para acceder a
una determinada posición era necesario recorrer previamente todas las posiciones anteriores.
Formaban parte de las memorias masas ya que formaban parte de algunos periféricos. El
dispositivo más característico de este tipo de memoria es la cinta magnética.
• Acceso cíclico. Este modo de acceso es una combinación de los dos anteriores. Los dispositivos
de memorias que emplean este tipo de acceso son los discos duros, los disquetes los CDROM y
DVD. En todos los casos el disco está dividido en pistas concéntricas y en y en un número par de
divisiones. La información está almacenada en un sector. Para leer la cabeza accede de forma
aleatoria para localizar la pista y después de manera secuencial para acceder al sector.
• Acceso por Pila o LIFO (Last in, first out), último en entrar primero en salir
• Acceso por Pila o FIFO ( First in, first out) primero en entrar, primero en salir

123
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Repaso esquemático de las memorias , sus características, etc.. y


ejercicios de memorias
(Cálculo de estudios de memorias, bloques de memorias,
ampliación de memorias, programación de matrices PLA, etc…)

124
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

125
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

126
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

127
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

128
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

129
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

130
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

131
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

132
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Primer caso: construir una memoria de 1 Kx8 a partir de pastillas de 1 K x 4, número de líneas
del bus de direcciones, en ambas la misma, la única diferencia es el bus de datos, tendremos que utilizar
dos pastillas y de cada una sacamos el bus de datos y obtenemos ocho líneas del bus de datos total, el
resto se conectará en paralelo

133
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Segundo caso: Realizar una memoria de 2K x8 a partir de 1 X x 4. Tendremos que utilizar cuatro
pastillas, es el resultado de multiplicar lo que obtenemos de dividir ordenadamente, las memorias y el
bus de datos. Memoria total 2K => n =11 1k=> n=10, luego nos sobra una línea del bus de
direcciones, que a través de un inversor la utilizaremos para seleccionar la pareja de pastillas donde
leeremos o escribiremos, según que A10 sea “0” o “1”.

Tercer caso: Obtención de una memoria de 4 K x 4 a partir de memorias de 1K x4. Es obvio que
necesitaremos cuatro pastillas, como el bus de datos es el mismo, lo conectaremos en paralelo. La
memoria que pretendemos obtener es cuatro veces superior => que el bus de direcciones del total tiene
dos líneas más, luego las emplearemos mediante un decodificador de 2 a 4 para seleccionar una de las
cuatro. El resto de elementos los conectaremos en paralelo

Ejercicio de implementación de memoria, con lógica.


* Partiendo del bus de direcciones de un microprocesador, implementar con puertas lógicas el
circuito de selección de chips de una memoria RAM de 2 K, situado entre las direcciones 0000 y 07FFH

A15 ………………………Ao, es decir 0000 0000 0000 0000 => 0000 H


---------------------------
---------------------------
0000 0111 1111 1111 =>07FF H

Permanecen invariables de A15 a A11 Luego CS = A15.A14.A13.A12.A11


Cada uno de ellos está negado, después se niega todo porque CS lo está y a continuación empleamos De
Morgan y obtenemos el circuito de la figura

Ejercicios varios:

1.- ¿Qué significa que un microprocesador de 8 bits tenga 64 K de memoria?

R: Que el número de líneas del bus de direcciones es 16 => que 2 elevado a 16 = 65.536 bytes
O lo que es lo mismo : 64 x 1024 = 65.536
2.- ¿Cuántos Kilobytes son 131.072 bits?
R: 131.072/ 8 = 16.384 bytes luego si dividimos a su vez por 1024 => 8Kbytes
3.- Si una memoria está organizada en 64 k x4
R: - Nº de células de memoria 64x1024x4 = 262.144 bits
- Estructura de la matriz=> Raíz cuadrada de 262.144 = 512x512
- Nº de líneas del bus de direcciones, es el exponente al que hay que elevar 2 = 16
- Nº de líneas del bus de datos = 4 ( la segunda cifra de la organización)
- Nº de palabras o direcciones corresponde a la primera cifra 64k = 65.536
4.- Si una memoria está organizada en 8K x4
R: - Nº de bits => 8 x 1024 x 4 = 32.768

134
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

- Estructura: La raíz no es exacta luego primero dividimos por dos, porque está
multiplexada, se trata de una memoria DRAM = 128 x 128
- Nº de líneas del bus de direcciones n =13 desde Ao hasta A12
- Nº de líneas del bus de datos =
- Nº de palabras o direcciones = 8 x 1024 = 8.196

5.- Indicar las direcciones inicial y final de cada uno de los bloques que resultan de dividir un mapa de
memoria de 64 K en 16 bloques iguales:
R: - 64 K: 16 = 4K
Si queremos representar 4 K será 0001 0000 0000 0000 => 1000 H, como contamos
la primera dirección que es la cero habrá que restar uno => 0FFF H que es la equivalente a 4 K
tendremos lo siguiente:
0000H => 0FFFH
1000H => 1FFFH
2000H => 2FFFH
………………….
F000H => FFFFH
6.- Mismo ejemplo anterior pero dividido en 32 bloques => 64 : 32 = 2K 2040 = 2 a la n => n= 11

2 K = 0111 1111 1111 => 7 FF H por ser 1 menos en realidad sería 800 H
Luego loa grupos serían:
0000H => 07FF H 4000H => 47FF H C000H => C7FFH
0800H => 0FFF H ……………….. …………………..
-------------------- ………………… …………………..
3800H => 3FFF H 3FFFH => 7FFFH F800H => FFFFH

7.- Si situamos en un mapa de memoria a una pastilla de una RAM de 1 K desde la dirección 0400 H.
Cuales serán las direcciones comprendidas dentro de dicha pastilla de memoria?
1K = 1024 = 400 H restamos 1 y tenemos : 3FF H, luego solo tenemos que sumar a la primera
línea el equivalente de una memoria.
0400 H + 03FF H = 07FF H

8.- Si situamos en un mapa de memoria un módulo SIMM de memoria RAM de 4 M desde la dirección
A0000H. ¿Cuáles serán las direcciones comprendidas dentro de dicha pastilla de memoria?
* *
XXXX XXXX XXXX XXXX XXXX XXXX
* 1010 0000 0000 0000 0000
XXXX XXXX XXXX XXXX XXXX XXXX
0100 0000 0000 0000 0000 0000
La dirección final contando uno menos será 3FFFFF H Luego sumándole la inicial, tendremos:

49FFFFH
9.- Qué Cantidad de direcciones de memoria expresada en K existe entre las direcciones 1000H y
A7FFH
Restamos y obtenemos 97FFH => 9 millares y 8 centenas hexadecimales luego un millar son
cuatro K y 1 K = 4 centenas Luego: 36 K + 2 K ( que son 8 centenas ) = 38 K

135
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

10.- Partiendo del bus de direcciones de un microprocesador, realizar el circuito de selección de un chip
de memoria EPROM de 2 Kbytes, situado entre las direcciones hexadecimales FB80H y FFFF H.
Podemos observar que las líneas del bus de direcciones A15 ……A11 no varían y su valor es “1”.
Luego tendremos CS * = ( A15.A14.A13. A12.A11)*, Luego el circuito sería:

Análisis del circuito ADC y DAC

136
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

137
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

138
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------
Análisis de la Unidad Aritmético Lógica (ALU)

139
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Capítulo 13
CIRCUITOS SECUENCIALES
ASÍNCRONOS

En este tipo de circuitos, ocurre que las memorias no están sincronizadas con una señal de reloj, sino que
los relojes de cada una de ellas son distintos.
Anteriormente hemos visto los circuitos contadores asíncronos, en esta unidad estudiaremos los
circuitos, también llamados autómatas industriales. Para ello habrá que tener en cuenta que el proceso
será el mismo que los circuitos secuenciales síncronos o autómatas finitos.

ETAPAS DE DISEÑO DE CIRCUITOS SECUENCIALES ASÍNCRONOS

- Pasar las especificaciones verbales al diagrama de estados


- Reducir estados equivalentes
- Construir la tabla de estados
- Asignar códigos a los estados
- Seleccionar elementos de memoria
- Obtener las tablas de excitación
- Simplificación de las funciones de excitación
- Implementación del circuito

140
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Ejemplo de circuito secuencial asíncrono

Circuito de marcha y parada de un motor con una secuencia determinada.


Supongamos un circuito de marcha y parada de un motor con pulsadores A y B. al pulsar el A, el motor
no se pone en marcha hasta pulsar el siguiente B. Posteriormente pulsando cualquiera de ellos, el motor
se para, el hecho de pulsar los dos simultáneamente no modificará el estado. Utilizar en la solución Flip-
Flop JK

AB 00 01 11 10 00 01 11 10
1 --
Qt 0 0 1 x 2 0 x x x
0-3 0-5
1 0 1 1 x x 0 0 x 2
2 3 x 2 2 x x 0 0 1-4 0-3 --
3
3 3 4 x 2 0 x x x 1-4
4 5 4 4 x x 1 1 x 4 0-5 X X 3-5
1-4
5 5 6 x 6 1 x x x
5 0-5 3-5 X 4-6
6 7 6 6 x x 0 0 x X 1-6 2-6
7 7 1 x 2 0 x x x 6 0-7 3-7 3-7 X 5-7
1-6 0-7 4-6
7 -- 3-7 1-4 1-4 X 1-6
0-7 5-7

0 1 2 3 4 5 6

Obtenemos las siguientes parejas de estados: (0-1) (0-6) (0-7) (1-6) ( 1-7) (2-3) (6-7)
A continuación encontramos los grupos de estados que contengan un mayor número de éstos, es decir clases equivalentes con un mayor
número de estados y que cubran a las anteriores: (0-1-6)
(0-1-7) => (0-1-6-7) => a
(2-3) => b
(4) => c
(5) => d Con estos estados confeccionamos la tabla que cubra a la primitiva

AB 00 01 11 10 00 01 11 10 AB 00 01 11 10 00 01 11 10
Qt a a a a b 0 0 0 - Qt 00 00 00 00 01 0 0 0 -
b b c b b 0 - 0 0 01 01 11 01 01 0 - 0 0
c d c c - - 1 1 - 11 10 11 11 -- - 1 1 -
d d a - a 1 - - - 10 10 00 -- 00 1 - - -

141
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

0 0 0 1 - - - -
- - - - 0 0 0 0
- - - - 1 - - -

0 0 - 0 - 0 0 -

Qt Qt+1 FF-1 FF-2


z
0 0 0 -
q1 q2 q1 q2 J1 K1 J2 K2
A B 0 - 0 0

0 0 0 0 0 0 0 - 0 - 0 - 1 1 -
0 0 0 1 0 1 0 - - 0 0
0 0 1 0 1 0 - 0 0 - 1 1 - - -
0 0 1 1 1 0 - 0 - 1 -

0 1 0 0 0 0 0 - 0 - 0
0 0 0 0 - - - -
0 1 0 1 1 1 1 - - 0 -
0 1 1 0 0 0 - 1 0 - - 0 1 0 0 - - - -
0 1 1 1 1 1 - 0 - 0 1
- - - - 0 0 0 -
1 0 0 0 0 1 0 - 1 - - - - - - 0 1 - 1
1 0 0 1 0 1 0 - - 0 0
1 0 1 0 0 0 - 1 0 - -
1 0 1 1 - - - - - - -

1 1 0 0 0 0 0 - 0 - 0
1 1 0 1 0 1 0 - - 0 0
1 1 1 0 - - - - - - -
1 1 1 1 1 1 - 0 - 0 1

J1 = abq2
K1=bq2+aq2 = q2(a+b)
J2 =abq1
CIRCUITO TEÓRICO K2 =q1q2
Z = q1

ELALUMNO REALIZARÁ ADEMÁS EL CIRCUITO PRÁCTICO CON LOS DIFRENTES INTEGRADOS


Y ETAPA DE POTENCIA CON TRANSISTOR Y RELÉ
142
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

El producto final de una fabricación son barras metálicas, cuya longitud ha de ser inferior a L delimitada
por los dos emisores. La salida de los receptores de luz adopta dos niveles de tensión bien diferenciados,
según esté o no una barra situada entre él y su emisor respectivo. Se asigna por convenio el estado lógico
“1” cuando la barra esté situada delante del receptor y el estado”0”, en caso contrario. La trampilla será
accionada por el motor cuando la barra sea de una longitud superior a L. Una vez pasada la barra,
(cuando sea inferior a L), el sistema debe estar preparado para una nueva detección. El problema
consiste en diseñar un sistema secuencial asíncrono cuyas entradas sean las salidas de los receptores, que
denominaremos X1 y X2 y cuya salida Z accione el motor M mediante el circuito de potencia
adecuado. El cierre de la trampilla es
automático mediante un dispositivo
que acciona un motor paso a paso.

Obtenemos las clases: (0-1) (0-2)


(0-3) (0-4) (0-5)
(1-2) (1-3) (1-4) (1-5) (2-4) (3-5)

Obtenemos: (0-1-2-4) (0-1-3-5)

AB 00 01 11 10 00 01 11 10
0-2 Qt 0 0 - - 1 0 - - -
1 2 - 3 1 - - - 0
- -
2 2 4 - - 0 - - -
- - 4-5
3 - 5 3 - - - 1 -
- - - 4-5 4 - 4 - - - 0 - -
- - 4-5 - X 5 - 6 - - - 1 - -
AB 00 01 11 10 00 01 11 10
Qt a a a b a 0 0 - 0
Qt Qt+1 FF-1
A B z
b a b b b 0 1 1 0

J1 K1
AB 00 01 11 10 00 01 11 10
0 0 0 0 0 - 0
Qt 0 0 0 1 0 0 0 - 0
0 0 1 0 - 1 0
1 0 1 1 1 0 1 1 0
0 1 0 0 0 - 0
0 1 1 1 - 0 1 00 01 11 10 00 01 11 10 00 01 11 10
1 0 0 0 0 - 0 0 0 1 0 - - - - 0 0 - 0
1 0 1 1 - 0 0 - - - - 1 0 0 0 0 1 1 0
1 1 0 1 1 - -
1 1 1 1 - 0 1

143
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

CIRCUITO TEÓRICO

EL ALUMNO REALIZARÁ ADEMÁS, EL CIRCUITO PRÁCTICO CON LOS INTEGRADOS


CORRESPONDIENTES Y SALIDA CON ETAPA DE POTENCIA A BASE DE TRANSISTOR Y
RELÉ

144
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------
CIRCUITOS CONTADORES Y GENERADORES DE SECUENCIA A BASE DE REGISTROS DE
DESPLAZAMIENTO
Contador de décadas de cuatro etapas realizado con registros de desplazamiento con memorias JK

PROCEDEMOS A REALIZAR EL DIAGRAMA DE ESTADOS

Según el diagrama de estados, obtenemos varias posibilidades para su ejecución, por ejemplo:

A) S0 - S1 - S2 - S5 - S11 - S7 - S15 - S14 - S12 - S8 - S0


B) S0 - S1 - S3 - S7 - S15 - S14 - S13 - S10 - S4 - S8 - S0
C) S0 - S1 - S2 - S5 - S11 - S6 - S13 - S10 - S4 - S8 - S0
Representaremos mediante el diagrama de BRUIJN uno de ellos por ejemplo el C)

145
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Tabla de realimentación a partir del diagrama de Bruijn y a


continuación la pasaremos a la D C B A F tabla general
S0 0 0 0 0 1
S1 0 0 0 1 0
S D C B A F 00 01 11 10
S2 0 0 1 0 1
S0 0 0 0 0 1 S5 0 1 0 1 1 00 1 0 - 0
S1 0 0 0 1 0 S11 1 0 1 1 0 01 0 1 0 -
S2 0 0 1 0 1 S6 0 1 1 0 1
11 - - - 0
S3 0 0 1 1 - S13 1 1 0 1 0
S4 0 1 0 0 0 S10 1 0 1 0 0 10 1 1 - 0
S5 0 1 0 1 1 S4 0 1 0 0 0
S6 0 1 1 0 1 S8 1 0 0 0 0
S7 0 1 1 1 - F= d b + d c a +d c a
S8 1 0 0 0 0 S D C B A F
S9 1 0 0 1 - S9 1 0 0 1 0 S D C B A F
S10 1 0 1 0 0 S2 0 0 1 0 1 S3 0 0 1 1 1
S11 1 0 1 1 0 S7 0 1 1 1 1
S12 1 1 0 0 - S15 1 1 1 1 0
S13 1 1 0 1 0 S14 1 1 1 0 0
S14 1 1 1 0 - * S12 1 1 0 0 0
S15 1 1 1 1 - S8 1 0 0 0 1
* tablas de estados de control

146
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES ©
-----------------------------------------------------------------------------------------------------------

Generador de secuencia a partir de registros de desplazamiento. Supongamos que queremos


general la secuencia siguiente: 1 0 1 1 0 1 1 0. Podemos comprobar que se trata de tres etapas ya que la
secuencia contabiliza 8
Como se trata de tres memorias introducimos la secuencia a una de ellas y la información irá pasando a
las memorias siguientes como se expresa en la tabla adjunta.
Qa es la secuencia dada y a partir de ella se generan las demás. Podemos observar que hay
Qc Qb Qa
secuencias que se repiten y otras como 0 1 => 0 01 =>1 salidas distintas. Como esta
1 0 1
secuencia no se puede generar, no tenemos más remedio que utilizar una lógica de salida y
0 1 0
1 0 1
otra de realimentación
0 1 1
Hacemos directamente el diagrama de Bruijn
1 1 0
1 0 1
0 1 1
1 1 0

S C B A qR F S C B A qR F C B 0 1 11 10 C B 0 1 11 10
S0 0 0 0 1 1 S0 0 0 0 1 1 A A
S1 0 0 1 0 0 S1 0 0 1 0 0 0 1 1 0 0 0 1 1 1 0
S2 0 1 0 1 1 S2 0 1 0 1 1 1 0 1 0 1 1 0 0 1 1
S5 1 0 1 1 1 S3 0 1 1 1 1
S3 0 1 1 1 0 S4 1 0 0 1 0
S7 1 1 1 0 1 S5 1 0 1 0 1
S6 1 1 0 0 1 S6 1 1 0 0 1
S4 1 0 0 0 0 S7 1 1 1 0 0
qR= c a + c b + c b a F= ca+ba+ca

147

Вам также может понравиться