Lógica Digital y Microprogramable
Lógica Digital y Microprogramable
Lógica Digital y Microprogramable
EDM
LÓGICA DIGITAL Y
MICROPROGRAMABLE
INDICE
Cap 6.- Circuitos MSI (2) Codificadores, decodificadores y comparadores ……….. 67.-
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
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.
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
__ __
8
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES
-----------------------------------------------------------------------------------------------------------
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.
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
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.
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
-----------------------------------------------------------------------------------------------------------
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.
Trabajaremos con los bits de paridad par, es decir número de bits en estado “1” par =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
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
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
1 0 0 0 1 0 1 0 1 0 0 1 0 0 1 1
b)
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.
_
18
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES
-----------------------------------------------------------------------------------------------------------
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
_ _ __
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
_
___
_ _ _____ _ __
_
_
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:
_
_
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
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.
21
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES
-----------------------------------------------------------------------------------------------------------
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. _
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:
_ _ _____ _ __ _ _ _ _
_ _
__ ___
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:
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
___
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.
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
_
_
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:
_
_ ___
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
-----------------------------------------------------------------------------------------------------------
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’.
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:
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
-----------------------------------------------------------------------------------------------------------
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í:
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:
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:
Si a continuación implementamos
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:
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
-----------------------------------------------------------------------------------------------------------
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
-----------------------------------------------------------------------------------------------------------
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:
46
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES
-----------------------------------------------------------------------------------------------------------
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:
47
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES
-----------------------------------------------------------------------------------------------------------
_
_ _
_ __ __
Uniendo “todas las piezas”, el circuito final que nos queda es:
48
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES
-----------------------------------------------------------------------------------------------------------
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’.
__
Podemos observar que los resultados son los mismos obtenidos anteriormente
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.
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
-----------------------------------------------------------------------------------------------------------
_ _!
_
__
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’:
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:
__ _ _ _
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.
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:
59
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES
-----------------------------------------------------------------------------------------------------------
Dos multiplexores de 4 canales de entrada
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:
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
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.
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 entrada I se saca por la salida indicada en las entradas de selección. Las funciones de salida son:
Y así sucesivamente.
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
-----------------------------------------------------------------------------------------------------------
66
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES
-----------------------------------------------------------------------------------------------------------
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
-----------------------------------------------------------------------------------------------------------
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!!!!.
72
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES
-----------------------------------------------------------------------------------------------------------
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
-----------------------------------------------------------------------------------------------------------
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
-----------------------------------------------------------------------------------------------------------
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
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
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.
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.
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.
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:
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.
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
Pero cuando tengo números binarios formados por más de un bit, al operar aparece el acarreo (carry)
Circuito semisumador
82
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES
-----------------------------------------------------------------------------------------------------------
Este se diferencia del anterior que para el bit i-ésimo se introduce el acarreo resultado del bit i-1.
83
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES
-----------------------------------------------------------------------------------------------------------
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
-----------------------------------------------------------------------------------------------------------
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:
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 ).
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.
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.
• 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.
• 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.
• 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.
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
-----------------------------------------------------------------------------------------------------------
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
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
91
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES
-----------------------------------------------------------------------------------------------------------
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 dan posteriormente
al tipo de registros.
93
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES
-----------------------------------------------------------------------------------------------------------
94
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES
-----------------------------------------------------------------------------------------------------------
Capítulo 10
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.
Las aplicaciones que podemos encontrar a estos circuitos monoestables serían las siguientes.
• 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
-----------------------------------------------------------------------------------------------------------
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
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
-----------------------------------------------------------------------------------------------------------
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
97
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES
-----------------------------------------------------------------------------------------------------------
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.
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
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.
102
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES
-----------------------------------------------------------------------------------------------------------
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 - - - - - - - -
103
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES
-----------------------------------------------------------------------------------------------------------
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.
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
104
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES
-----------------------------------------------------------------------------------------------------------
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.
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
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.
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.
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
-----------------------------------------------------------------------------------------------------------
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.
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
111
Sistemas de Control Secuencial Profesor: Juan P. Narváez
SISTEMAS DIGITALES
-----------------------------------------------------------------------------------------------------------
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
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
Periferico
C. selec
Bus Reloj
control
Sistema
Control
Bus de datos externo
Receptores
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.
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.
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
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
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)
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
-----------------------------------------------------------------------------------------------------------
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 ob tenemos 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 seultado 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 empleartemos mediante un decodificador de 2 a 4 para seleccionar una de las
cuatro. El resto de elementos los conectaremos en paralelo
Ejercicios varios:
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=> Raiz cuadrada de 262.144 = 512x512
- Nº de líneas del bus de direcciones, es ell 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 raiz 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 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 ndividido 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 reaqlidad 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 pastille 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 luegom 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.- Partien 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 FD800H y FFFF H.
Podemos observar que las líneas del bus de direcciuones A15 ……A11 nmon varían y su valor es “1”.
Luego ntendremos CS * = ( A15.A14.A13. A12.A11)*, Luego el circuito sería:
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