2. INTRODUCCION
La proliferación de aplicaciones y el considerable aumento de la
complejidad experimentada por los circuitos digitales en los
últimos años hacen inviable el cubrimiento completo de esta
materia. El propósito ha sido desarrollar un conjunto de teorías
y problemas que den soporte y fundamenten adecuadamente a
todos los circuitos y técnicas de Diseño Lógico.
2
3. Objetivos del capítulo
Distinguir entre representación analógica y digital
Mencionar las ventajas y desventajas entre los sistemas analógicos y
digitales
Comprender la necesidad de tener convertidores ADC y DAC.
Realizar conversiones entre números decimales y binarios
Identificar un diagrama de tiempo
Establecer las diferencias entre transmisión paralela y serial.
3
4. Representación numérica
En casi todos los campos de la actividad humana se manejan
cantidades. Estas se miden, monitorean, registran se manipulan
…, se utilizan en muchos sistemas físicos. Cuando se manejan
diversas cantidades es importante representar sus valores
numéricos con eficiencia y exactitud. Existen dos maneras de
hacer esto: la analógica y la digital
4
5. Representación analógica
En la representación analógica una cantidad se representa con
un voltaje, corriente o movimiento de un indicador o medidor
que es proporcional al valor de esa cantidad.
Velocímetro de un automóvil
Termóstato (banda bimetálica)
Micrófono de audio
Estas cantidades pueden variar gradualmente sobre un intervalo
continuo de valores
5
7. Representación digital
En la representación digital una cantidad se representa por
símbolos llamados dígitos, los mismos que son de naturaleza
discreta, no existe ambigüedad cuando se lee el valor de una
cantidad digital, mientras que el valor de una cantidad
analógica con frecuencia está abierta a interpretación
7
8. Ejemplos: Cuáles de las siguientes cantidades son analógicas y cuáles son
digitales
Interruptor
Metro convencional
Temperatura
Granos de arena en la playa
Control del volumen de una radio
Control de ingreso de autos a un parqueadero
8
9. A manera de resumen podemos decir que:
Uno de los grandes retos del hombre es el de manipular, almacenar,
recuperar y transportar la información.
Como ejemplo desarrollaremos la manipulación, almacenamiento,
recuperación y transporte de una voz humana.
9
10. Si medimos la vibración de una
de estas moléculas, y
graficamos la posición,
obtenemos la forma de la onda
llamada señal acústica.
Si la 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.
10
11. MANIPULACIÓN, ALMACENAMIENTO, RECUPERACIÓN Y
TRANSPORTE DE UNA VOZ HUMANA
La electrónica analógica trata con este tipo de señales, análogas las que
hay en el mundo real, modificando sus características (ej. amplificándola,
atenuándola, filtrándola...).
En las señales analógicas, la información se encuentra en la forma
de la onda 11
12. PROBLEMAS DEL SISTEMA ANALÓGICO
o La información está ligada a la forma de la onda. Si
ésta se degrada, se pierde información.
o 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).
12
13. ELECTRÓNICA DIGITAL
Existe otra manera de modificar, almacenar, recuperar y
transportar las señales, solucionando los problemas
anteriores. Es un enfoque completamente diferente, que
se basa en convertir las señales en números.
Existe un teorema matemático (teorema de muestreo
de Nyquist) que nos garantiza que cualquier señal se
puede representar mediante números, y que con
estos números se puede reconstruir la señal
original
13
14. Una señal digital, es una señal que está descrita por
números. Es un conjunto de números. Y la electrónica
digital es la que trabaja con señales digitales, o sea, con
números.
Son los números los que se
manipulan, almacenan, recuperan y transportan.
14
15. Usar 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,
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.
15
18. CIRCUITOS Y SISTEMAS DIGITALES
En ella estudiaremos y diseñaremos circuitos digitales, que
manipulan números. Existen unos números en la entrada y
nuestro circuito generará otros números de salida. Algunos
números se considerarán como datos y otros se usarán para el
control del propio circuito. No nos preocuparemos de dónde vienen
estos números, pero ya sabemos que o bien vendrán de otro
sistema digital, o bien de una señal analógica que se ha convertido a
números (se ha digitalizado).
18
19. SISTEMAS DE REPRESENTACIÓN
NUMÉRICA
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.
Cuando representamos los números utilizando diez
dígitos: ‟0‟, ‟1‟,‟2‟, ‟3‟, ‟4‟, ‟5‟, ‟6‟, ‟7‟, ‟8‟, ‟9‟., estamos
usando el Sistema decimal o sistema en base
diez. 19
20. 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 a la izquierda se
encuentre el dígito; a este dígito se lo conoce como el más
significativo o MSD, y el que tiene menor peso como el menos
significativo o LSD y es el que se encuentra más a la derecha.
20
21. SISTEMA OCTAL
Utiliza ocho dígitos: 0,1,2,3,4,5,6 y 7 y los
pesos son potencias de 8.
( 2 5 1 )8
2 X 82 = 128
5 X 81 = 40
1 X 8o = 1
(169)1021
22. SISTEMA HEXADECIMAL
( 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F )
“Base 16”
( A F 2 ) 16
10 X 162 = 2560
15 X 161 = 240
2 X 16o = 2
(2802)10
22
23. SISTEMA BINARIO
Este sistema de representación sólo utiliza los dígitos 0 y 1
para representar cualquier número.
¡¡¡sólo con dos dígitos representamos los infinitos números!!!
Un dígito binario, 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.
23
25. En la tecnología actual disponemos de un elemento,
llamado transistor, que se puede encontrar en dos
estados diferentes, abierto o cerrado, a los que le
asociamos los dígitos 0 y 1. Todos los circuitos integrados
o chips se basan en estos transistores y trabajan
internamente en binario.
25
26. TABLA DE CONVERSIÓN DECIMAL-
BINARIO- OCTAL-HEXADECIMAL
DECIMAL BINARIO OCTAL HEXADECIMAL
0 0000 0 0
1 0001 1 1
2 0010 2 2
3 0011 3 3
4 0100 4 4
5 0101 5 5
6 0110 6 6
7 0111 7 7
8 1000 10 8
9 1001 11 9
10 1010 12 A
11 1011 13 B
12 1100 14 C
13 1101 15 D
14 1110 16 E
15 1111 17 F
26
29. CIRCUITOS DIGITALES Y EL
SISTEMA BINARIO
En los circuitos digitales, los números que se procesan, están
expresados en binario, tanto en la entrada como en la salida.
29
30. BITS Y ELECTRÓNICA
En los circuitos digitales, se usan dos tensiones ( voltajes) diferentes, una
para representar el dígito ’1’ y otra para representar el dígito ’0’. En
dispositivos digitales TTL, se usan 5 voltios para el digito ’1’ y 0 voltios
para el digito ’0’, SE CONOCE TAMBIÉN COMO LÓGICA POSITIVA
30
31. Trabajar con número binarios puede parecer “poco intuitivo”. Pero 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 estas 5
bombillas mediante números?
31
32. El sistema hexadecimal se utiliza para representar números binarios de
una forma más compacta. Cada dígito hexadecimal codifica 4 bits, de
manera que un número hexadecimal de 4
bits permite representar un número binario de 16 bits. Veamos un ejemplo:
32
33. TRANSMISIÓN PARALELA Y SERIAL
La información que se transmite se encuentra en forma binaria, representada por
voltajes a la salida del circuito de transmisión que están conectadas a las entradas
del circuito de recepción y puede ser realizada de manera PARALELA o SERIAL.
En la transmisión paralela se requiere de una salida por cada bit que se transmite y
estará conectada a su correspondiente entrada en el circuito de recepción, de
manera que todos los bits se transmitan de forma simultánea
Para la transmisión serial de los bits se requiere de una sola salida, de manera que
se transmitirá bit a bit, es decir de un bit a la vez en periodos regulares.
El principal compromiso entre estas dos técnicas son la velocidad de transmisión
frente a la simplicidad del circuito.
33
36. OTROS SISTEMAS DE
REPRESENTACIÓN que los circuitos digitales utilizan el
Para representar los números hemos visto
BINARIA
sistema binario. Y hemos estado utilizando el sistema binario natural, en el
que los bits tienen de peso potencias de 2, que es lo más habitual. Sin
embargo existen otros sistemas de representación que son binarios en el
sentido de que sólo usan los dos dígitos ’0’ y ’1’, sin embargo tienen pesos
diferentes. Algunos de estos sistemas, también conocidos como códigos
son los siguientes:
1. Código BCD: Decimal Codificado en Binario.
2. Código AIKEN: Similar al BCD, pero con los
pesos cambiados.
3. Código GRAY:
36
37. 1. Código BCD: Decimal Codificado en Binario. Es una manera de
representar números decimales en binario. A cada dígito decimal se le asignan
4 bits, correspondientes a su número binario natural. Así por ejemplo para
representar número decimal 21 en BCD, utilizaremos en total 8 bits, 4 para uno
de los dos dígitos:
21 = 0010 0001
Los primeros 4 bits representan al dígito ‟2‟ y los 4 siguientes al dígito ‟1‟.
2. Código AIKEN: Similar al BCD, pero con los pesos cambiados. Cada dígito
decimal se representa mediante 4 bits, siendo los pesos de estos bits: 2, 4, 2 y 1.
3. Código GRAY: Son una familia de códigos que se caracterizan porque el paso
de un número al siguiente implica que sólo se modifica un bit.
37
40. INTRODUCCIÓN
Cuando trabajamos en ingeniería, utilizamos ecuaciones y modelos
matemáticos que describren lo que estamos diseñando o analizando.
V max: velocidad máxima de transmisión por un canal
W : ancho de banda del canal de comunicación
n: número de estados de la señal
Expresión usada por un Ingeniero de Telecomunicaciones para el diseño de
canales o sistemas de comunicación.
40
41. Igualmente un físico nos puede indicar , a través de un modelo
matemático, la altura de la que cae un cuerpo en caída libre.
Podemos realizar los cálculos porque conocemos las operaciones y
propiedades que rigen estas ecuaciones, puesto que los números y las
variables son Reales. El conjunto de los Números Reales lo conocemos
muy bien, así como todas las operaciones definidas en él.
Puesto que los circuitos digitales trabajan con números, y que estos números
se expresan en binario. Veremos cómo con un conjunto de ecuaciones
podemos describir lo que hace un circuito, que transforma los números
de la entrada y los saca por la salida. Sin embargo, puesto que estos
números vienen expresados en binario, las variables y números utilizados
NO SON REALES.
41
42. Para describir un circuito digital utilizaremos
ecuaciones matemáticas. Sin embargo, estas
ecuaciones tienen variables y números que NO SON
REALES, por lo que NO podemos aplicar
las mismas propiedades y operaciones que conocemos.
Hay que utilizar nuevas operaciones y nuevas
propiedades, definidas en el ALGEBRA DE BOOLE.
42
43. OPERACIONES DEL ALGEBRA DE
BOOLE
La operación + : SUMA LÓGICA
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’.
A
A, B se denominan variables booleanas, porque solo
pueden tomar el valor de “1” ó “0”
43
B
44. A ECUACIÓN MATEMÁTICA
O FUNCIÓN LÓGICA DE LA
OPERACIÓN SUMA LÓGICA
F
B
Si A es una variable boolena, se cumple:
44
46. La operación . : PRODUCTO LÓGICO
El resultado de este producto sólo da ’1’ si los dos bits que estamos
operando son iguales a uno. En caso contrario valdrá ’0’.
A, B se denominan variables booleanas, porque solo
pueden tomar el valor de “1” ó “0”
46
47. ECUACIÓN MATEMÁTICA
O FUNCIÓN LÓGICA DE LA
OPERACIÓN PRODUCTO
LÓGICO
Si A es una variable boolena, se cumple:
47
49. La operación lógica Negación
La operación de negación nos permite obtener el estado complementario del bit
o variable booleana al que se lo aplicamos.
Si A es una variable booleana, A tiene el estado contrario; “se lee A negado”.
A
A 49
51. Las operaciones del álgebra de Boole, se pueden representar usando TABLAS
DE VERDAD.
0 0
1
1
2 2
3 3
Cuanto mayor número de variables, mayor
0
cantidad de filas tendrá la tabla de verdad.
1
2
n
3
4 2
5
6 n : número de variables 51
7
56. FUNCIONES BOOLEANAS
Las 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, sólo puede tomar los valores ’0’ ó ’1’.
Usemos un ejemplo de una función matemática de las que todos conocemos.
Se trata de una función Real que tiene una variable Real (x). Para cada valor
de x, obtenemos el valor de la función. Así haciendo los cálculos obtenemos
como valores de la función Números Reales.
56
57. También podemos definir funciones reales de 2 ó más variables
Como estamos acostumbrados a trabajar con este tipo de funciones, nos
resultan sencillas. Ahora vamos a definir funciones booleanas.
Sea la siguiente función booleana de una variable:
El valor devuelto por la función es el negado del
que se le pasa por la variable. Como la
variable A es booleana, sólo puede tomar los
valores ‟0‟ y ‟1‟. Los que la función F toma son:
57
58. Vamos a definir una función un poco más compleja, usando dos variables
booleanas, A y B:
¿Cuando vale F(0,0)? .
Sólo tenemos que sustituir en la función los valores de A y B por ‟0‟,
Calcular el valor de F para el resto de valores de entrada de A y B:
58
59. Fijándonos en esta función , podemos precisar varias cosas:
1. Puesto que las variables de entrada A y B, sólo pueden tomar los valores
‟0‟ y ‟1‟, hay 4 casos distintos:
2. Antes de calcular los valores que toma la función, según lo que valgan A y
B, se pueden aplicar algunas propiedades para obtener una función más
simplificada
59
60. Las funciones booleanas pueden ser de muchas más variables
Por cuestiones de comodidad, muchas veces no escribimos entre paréntesis
las variables de la función, así por ejemplo podemos definir una función de 3
variables de la siguiente manera:
EJERCICIOS:
Obtener el valor de las
siguientes funciones
booleanas, en todos los 60
casos.
61. FUNCIONES BOOLEANAS Y
TABLAS DE VERDAD
Existen dos maneras de representar una función booleana. Una ya la
conocemos, y es utilizando expresiones booleanas.
La otra 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. Definamos
una función G de la siguiente manera:
¿Cuánto vale G si A=0 y B=1?.
Miramos la tabla y vemos que G
vale 1.
61
62. ¿Qué relación hay entre una función definida mediante expresiones
booleanas y una función definida mediante una tabla de verdad?
Es decir, dada una tabla de verdad, ¿cómo podemos obtener la expresión
booleana de la función? O dada una función mediante una expresión, ¿cómo
obtenemos su tabla de verdad?.
Obtención de una tabla de verdad a partir de una expresión
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 de la función.
62
65. FORMAS CANÓNICAS
A partir de una tabla de verdad, podemos obtener múltiples expresiones para
la misma función. Todas esas expresiones son equivalentes y podemos obtener
unas expresiones de otras aplicando las propiedades del Álgebra de Boole.
Existen dos tipos de expresiones que se obtienen directamente de la tabla de
verdad, de forma inmediata. Se denominan formas canónicas. Se caracterizan
porque en todos los términos de estas expresiones aparecen todas las
variables.
Primera forma canónica
Está formada por sumas de productos. Y recordemos que por ser una
forma canónica, en todos sus términos se encuentran todas sus
variables.
65
66. Un ejemplo de una función de 3 variables, expresada en la primera forma
canónica es la siguiente:
Vemos que está constituida por la suma de tres términos y en cada uno de los
términos están todas las variables.
La obtención de la primera forma canónica, a partir de una tabla de verdad es
inmediato. 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’. 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.
66
67. Ejemplo:
Obtener la primera forma canónica, a partir de la siguiente tabla de verdad:
0
1
2
3
4
5
6
7
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.
67
68. Podemos verificar que esta expresión representa la misma función que la de la
tabla de verdad:
Comprobemos algunos casos: Para A=0, B=1 y C=0, vemos en la tabla de
verdad que F=0.
Para A=0, B=1 y C=1, en la tabla de verdad F=1.
Notación Simplificada:
A cada uno de los sumandos de una expresión en la primera forma canónica,
le corresponde una fila de la tabla de verdad, es decir, un número en
decimal. Así en la función anterior:
68
69. representa la fila de la tabla de verdad en la que A=0, B=0 y
C=1, y corresponde en decimal a la fila número 1.
representa la fila de la tabla de verdad en la que A=0, B=1 y
C=1, y corresponde en decimal a la fila número 3.
representa la fila de la tabla de verdad en la que A=1, B=1 y
C=1, y corresponde en decimal a la fila número 7.
De esta manera, esa función la podemos escribir así:
3
69
70. Ejercicios
1. Desarrollar las siguientes 2. Dadas las siguientes funciones,
tablas de verdad por la indicar si se encuentran expresada en
primera forma canónica: la primera forma canónica; obtenga
además la TV de cada función.
70
71. Segunda forma canónica
Está formada por un producto de sumas. Y en todos sus términos deben
aparecer todas sus variables, bien negadas o no. Por ejemplo:
Vemos que está constituida por dos términos que van multiplicados y que cada
uno de los términos están formados por sumas.
La obtención de la segunda forma canónica, a partir de una tabla de verdad es
inmediato. 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’. 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 ’0’, en la fila escogida, usaremos la variable sin negar, y
si está a ’1’ usaremos la variable negada.
71
73. Notación Simplificada:
Al igual que en la primera forma canónica en la expresión anterior, a cada
término le corresponde una fila de la tabla de verdad, es decir, un número en
decimal. Así :
3
Ejercicios
Desarrollar las siguientes tablas de verdad por la segunda forma canónica:
73
74. Dadas las siguientes funciones, indicar si se encuentran expresadas en la
primera forma canónica o en la segunda.
Obtener la tabla de verdad de cada función dada.
74
78. SIMPLIFICACIÓN DE FUNCIONES
BOOLEANAS
Introducción
En las matemáticas con números Reales, estamos muy acostumbrados a
simplificar, así seguro que nos ahorramos cálculos. Por ejemplo,
Una vez simplificada es mucho más fácil trabajar.
78
79. Cuando estamos diseñando circuitos digitales, utilizaremos funciones booleanas
para describirlos. Y antes de implementarlos, es decir, antes de convertir las
ecuaciones a componentes electrónicos (puertas lógicas) tenemos que
simplificar al máximo.
Una de las misiones de los Ingenieros es diseñar, y otra muy importante es
optimizar. No basta con realizar un circuito, sino que hay que hacerlo con el
menor número posible de componentes electrónicos. Y esto es lo que
conseguimos si trabajamos con funciones simplificadas.
Las funciones booleanas se tienen que
simplificar al máximo, para diseñar los circuitos
con el menor número de componentes
electrónicos.
79
80. Podemos simplificar las funciones booleanas de dos formas:
1. Utilizando las propiedades y Teoremas del Algebra de Boole. Se
denomina método analítico de simplificación de funciones. Hay que
manejar muy bien estas propiedades para poder eliminar la mayor
cantidad de términos y variables.
2. Utilizando el método de Karnaugh. Es un método gráfico que si lo
aplicamos bien, nos garantiza que obtendremos la función más
simplificada posible, a partir de una tabla de verdad.
Normalmente las formas canónicas no son
las expresiones más simplificadas.
80
81. Método analítico de simplificación de funciones
Se basa en el conocimiento y la correcta aplicación de las propiedades y
teoremas del Algebra de Boole.
Ejemplo:
Simplificar la siguiente función:
Operando con los términos 1 y 3:
Operando con los términos 2 y 4:
LA FUNCIÓN QUEDA
81
82. 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.
Simplificar la siguiente función:
REORDENANDO
Observamos que:
OBTENEMOS
82
88. MAPAS DE KARNAUGH
Es un método gráfico para obtener la función más simplificada a partir de
una tabla de verdad, basado en que el MDK es una representación de la
Tabla de verdad.
CELDA
Los MDK están constituidos por celdas y tendrá n
tantas celdas como filas tenga la tabla de verdad 288
90. MDK DE 3 VARIABLES 010 110
0
1
2
3
4
5
6
7
DOS CELDAS SON ADYACENTES SI SOLO CAMBIAN UNA VARIABLE A LA VEZ, ES DECIR UN BIT A LA
VEZ.
LAS CELDAS 0,4 SON ADYACENTES; LAS CELDAS 1,7 NO SON ADYACENTES
TAMBIÉN PODEMOS DECIR QUE LAS CELDAS 0,1,4 Y 5 FORMAN UN GRUPO DE 4 CELDAS
ADYACENTES 90
94. SIMPLIFICACIÓN DE FUNCIONES USANDO LOS MDK
0
1
2
3
4
5
6 1 1 1
7
1 1 1
Entre dos celdas adyacentes, sólo varía una variable de entrada. Por ejemplo,
si estamos en la celda inferior derecha, en la que A=1, B=0 y C=1. Si vamos a
la celda que está a su izquierda obtenemos un valor de las variables de: A=1,
B=1, C=1, vemos que sólo ha cambiado una de las tres variables, la B. Lo
mismo ocurre si nos desplazamos a cualquier otra celda adyacente.
94
95. Veamos una propiedad importante de esta tabla. Vamos a fijarnos sólo en los
términos que obtenemos si desarrollamos sólo dos celdas adyacentes con “1”,
como por ejemplo la marcada en la figura:
1 1 1
1 1 1
¡¡Se nos han simplificado!! Es decir, por el hecho de agrupar los términos
obtenidos de estas dos celdas adyacentes y sumarlos, se han simplificado.
95
96. 1 1 1
GRUPO 3
1 1 1
GRUPO 1 GRUPO 2
GRUPO 1
GRUPO 2
GRUPO 3
Por tanto, la función F también la podemos expresar como suma de estos
grupos:
está más simplificada que la forma
canónica 96
97. Veamos qué pasa si tomamos los
siguientes grupos: 1 1 1
1 1 1
GRUPO 1 GRUPO 2
¡¡Se observa que está más simplificada que la anterior!! Pero... ¿Es la
más simplificada? No, todavía podemos simplificarla más.
97
98. 1 1 1
1 1 1
GRUPO 1 GRUPO 2
¡¡¡Esta función está simplificada al máximo!!!
Criterio de máxima simplificación:
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 celdas
adyacentes que tienen ’1s’ en cada grupo. 98
99. Debemos considerar que los grupos de unos que se tomen sólo pueden
tener un tamaño de 1, 2, 4, 8, 16,...celdas (es decir, sólo potencias de dos).
Fijémonos en todas las funciones que hemos obtenido anteriormente:
¡¡Todas son funciones booleanas equivalentes!! (Porque tienen la misma
tabla de verdad). ¡¡Pero es la función F3 la que se usará
99
102. A C D
F G
1 1 1 1
1 1 1 1 1 1 AD
BD
1 1 1 1
B AC 1 1
F= AC + B
B C Grupo redundante, está formado sólo
por celdas que ya pertenecen a otros
grupos. Adiciona componentes
innecesarios
G =AD + BD + B C + A C D
102
103. H
B D
1 1
1
A B CD
1 1 ACD
1 1
H = B D + ACD + A B CD
103
104. DADAS LAS SIGUIENTES EXPRESIONES, DIBUJE EL MAPA DE KARNAUGH
CORRESPONDIENTE Y ENCUENTRE LA EXPRESIÓN MÍNIMA DE CADA UNA DE
ELLAS.
F1 (0,1,2,5,6,7)
3
G1 (1,3,5,6)
3
F (0,3,5,7,9,14,15)
4
G (1,3,5,8,9,12,14,16)
4
H (0,1,3,5,7,9,11,14,15)
4
104
105. EJERCICIOS
F G
1 1 1 1 1 1
1 1 1 1
H I
1 1 1 1
1 1 1 1
1 1 1 1
1 1 1 1
105
106. CONDICIONES DON’T CARE
En el diseño pueden presentarse casos en los que una combinación en la
entrada no sea de interés por cuanto nunca ocurrirían. Estas situaciones se
conocen como “condiciones no importa” o “don't care”.
Estas condiciones suelen expresarse en las tablas de la verdad con una 'X„ o
el símbolo Ø y al momento de realizar la simplificación podemos asumir que
este valor es uno o cero según más nos convenga (lo que haga la expresión
aún más reducida).
Un ejemplo clásico es que al circuito se le entregue para procesar un número
en BCD. Ya sabemos que el código BCD usa 4 bits para expresar los 10
dígitos decimales pero de esta forma sobran otras seis combinaciones que no
se usan (1010, 1011, 1100, 1101, 1110 y 1111).
Nuestra tabla de la verdad tendría seis casos que no nos importan ya que
sencillamente nunca ocurrirán.
106
107. A C
F G
1 Ø 1 1 1 Ø
1 Ø 1 1 Ø 1 1 1 D
1 1 1 1
B C Ø Ø 1
F= C + B B C
G =D + B C + A C
107
108. Sin tomar en cuenta las X Tomando las X como mejor convenga
108
110. Para describir los diseños, se utilizarán planos . En ellos aparecen
dibujos, letras y símbolos. En electrónica digital se utilizan los
símbolos, de las puertas lógicas, para representar las
manipulaciones con los bits. 110
112. CIRCUITOS INTEGRADOS
Para construir un circuito, lo implementamos físicamente con las puertas lógicas. Estas se encuentran
encapsuladas dentro de circuitos integrados o también conocidos como chips.
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 los pines. Así pueden existir multitud de fabricantes, pero
todos respetando el mismo estándar.
Por los pines 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 de pines entra o sale información binaria codificada
según la tecnología empleada. Por ejemplo se puede asociar
5v al dígito ‟1‟ y 0v al dígito ‟0‟, si se usa la tecnología TTL. 112
113. A la hora de fabricar un diseño, estos chips se insertan en una placa o protoboard
y se interconectan los pines 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
Circuito en Protoboard Circuito en placa impresa o PCB
113
117. Con sólo estas tres puertas lógicas se pueden implementar cualquier función lógica
Obtenga la
Expresión
booleana de
salida F
117
118. ANALISIS DE CIRCUITOS LÓGICOS
Se puede implementar la función Booleana que define la operación lógica EXOR
usando otras puertas lógicas.
Z=
118
119. La siguiente imagen nos muestra el proceso de unión de las compuertas AND, OR y NOT
para darnos como resultado la compuerta OR Exclusiva.
119
120. OTRAS PUERTAS LOGICAS
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
120
121. PUERTA NOR.
El nombre viene de la abreviación de NOT-OR, y la operación que realiza es la
negación de una suma.
Aplicando las leyes de DeMorgan
121
123. Implementación de funciones lógicas
Tomamos la función que queremos implementar y sustituimos las operaciones
Booleanas por sus correspondientes puertas lógicas.
Ejemplo : Implemente la siguiente función
123
124. Se ha utilizado las siguientes puertas lógicas:
Ejercicio:
4 inversores
2 puertas AND de dos entradas
Implementar la función, utilizando el menor número posible de puertas lógicas de cualquier tipo. La función
1 puerta OR de cuatro entradas
está simplificada al máximo.
Sin embargo podemos escribir la función F con los siguientes cambios:
Se usó:
1 puerta nand de 2 entradas
1 puerta exor
1 puerta or de 2 entradas
124
125. Implementación de funciones con puertas NAND
Sólo con las puertas NAND es posible implementar cualquier función boolena. Para ello
habrá que hacer transformaciones en la función original para obtener otra función
equivalente usando el ALGEBRA DE BOOLE pero que se pueda obtener sólo con
puertas NAND.
Para refrescar ideas, a continuación se muestra una puerta NAND de dos entradas y
las formas de expresar el resultado:
Implementación de una puerta NOT
125
126. Implementación de una puerta AND
• Implementación de una puerta OR
• Implementación de una puerta XOR
126
127. EJERCICIOS:
Implementar la siguiente función utilizando únicamente puertas NAND. La función
está simplificada al máximo:
127
128. Implementar la siguiente función utilizando sólo puertas NAND de 2 entradas
De la misma forma:
128
130. Implementación de funciones con puertas NOR
Al igual que con las puertas NAND, con las puertas NOR se puede implementar cualquier
función booleana. Recordemos que las expresiones a las salidas de las puertas NOR son:
Implementación de una puerta NOT
Implementación de una puerta OR
130
134. Ejercicios:
Implementar las siguientes funciones, utilizando cualquier tipo de puertas lógicas, sabiendo que
todas las funciones están simplificadas al máximo.
Implementar sólo con puertas NAND
Implementar sólo con puertas NOR
134
135. ENCUENTRE LA FUNCION LÓGICA DE SALIDA DE LOS SIGUIENTES
CIRCUITOS Y MINIMICELOS, DE SER POSIBLE, UTILIZANDO LA TECNICA
DEL MAPA DE KARNAUGH
135
136. Diseño de Circuitos Combinatoriales
En Ingeniería se entiende por diseñar el proceso por el cual se obtiene el
objeto pedido a partir de unas especificaciones iniciales.
Al diseñar circuitos, partimos de unas especificaciones iniciales y obtenemos
un esquema, o plano, que indica qué puertas u otros elementos hay que
utilizar así como la interconexión que hay entre ellos.
136
137. Los pasos para el diseño son los siguientes:
1. Estudio de las especificaciones iniciales para entender realmente qué es
lo que hay que diseñar
2. Obtención de las tablas de verdad y expresiones booleanas necesarias
3. Simplificación de las funciones booleanas. ¡¡¡Este punto es importantísimo
4. Implementación de las funciones booleanas utilizando puertas lógicas.
Aquí, puede ser que por especificaciones del diseño sólo se
dispongan de puertas tipo NAND. O puede ser que sólo podamos utilizar
puertas lógicas con el mínimo número de entradas. En ese caso habrá que
tomar la función más simplificada y modificarla para adaptarla a este tipo de
puertas.
5. Construcción. El último paso es llevar ese plano o circuito a la realidad,
construyendo 137
138. APLICACIONES
Diseñe un circuito lógico que tenga tres entradas A, B y C y que su salida sea alta
cuando la mayor parte de las entradas sea alta
138
139. • Diseñe un circuito lógico cuyas líneas de señales A, B , C y
D se utilizan para representar un número binario de 4 bits
con A como el MSB y D como el LSB. Las entradas binarias
alimentan a un circuito lógico que produce una salida
ALTA cuando el número binario es mayor que 6.
139
140. La figura muestra el diagrama de una alarma para automóvil empleada para
detectar ciertas condiciones no deseables. Los tres interruptores se emplean
para indicar el estado en el que se encuentra la puerta del lado del conductor,
el encendido y los faros respectivamente. Diseñe un circuito lógico con estos
tres interruptores como entradas, de manera que la alarma se active cuando se
presenten cualquiera de las siguientes condiciones:
•Los faros están prendidos mientras el encendido está apagado
•La puerta está abierta mientras el encendido está prendido.
140
141. Diseñe un circuito que permita visualizar las siguientes
representaciones, usando un display de 7 segmentos.
141
142. APLICACIONES
Desarrolle un circuito en el cual algunas
combinaciones de sus entradas representen las
vocales en un exhibidor de siete segmentos. Para
esto, invente lo que llamaremos el “código vocal”.
Se utilizará un DISPLAY de siete segmentos para
exhibir los resultados Utilice los segmentos
requeridos a encender, para formar las vocales
necesarias
142
143. Conexión de las entradas y salidas del circuito generador de código
vocal.
143
144. Sumador Completo
Diseñar un sumador completo, es decir que considere un
acarreo de inicio (entrada) y un acarreo de salida.
Xi Si
Full Adder
F.A.
Yi Ci+1
Ci
Diagrama de Bloque de un Sumador completo ( Full Adder)
de dos palabras de un bit 144
145. Sumadores en Cascada
Es posible realizar sumas de dos palabras de n bits, usando n
sumadores completos en cascada, esto quiere decir que los
acarreos de salida de los bits menos significativos deberán
estar conectadas a las entradas de acarreo de los bits más
significativos
145
147. Las compuertas pueden utilizarse para activar o inhibir el
paso de una señal de entrada A, controlando el nivel lógico
en la entrada de control B
147
152. Introducción
Hasta hoy todo era combinatorio (Sistemas Digitales I)
Las salidas dependían únicamente de las entradas en ese
momento.
En este curso abordaremos los Sistemas Secuenciales o
también llamados Maquinas de Estados Finitos.
La salida no solo depende de la entradas presentes, también
dependerá de la historia pasada, de lo que sucedió antes.
152
154. La diferencia principal entre un circuito combinacional y un circuito
secuencial es que en el segundo caso hay una realimentación de una
señal de salida hacia la entrada
A B Salida F actual Salida F futura
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1
154
155. Tipos de circuitos secuenciales
La mayor parte de los circuitos digitales son
circuitos secuenciales que funcionan PASO A
PASO, controlados por una señal de
sincronismo llamada señal de reloj o CLOCK
Existen dos tipos de circuitos secuenciales
Sincrónicos: Son sistemas cuyo comportamiento puede
definirse a partir del conocimiento de sus señales en
instantes discretos de tiempo.
Asincrónicos: Depende del orden que cambien las señales
de entrada y pueda ser afectadas en un instante dado de
tiempo.
155
156. Sistemas Sincrónicos
(Síncronos o bajo un control de tiempo, este control se denomina
Son sistemas que actúan
con clock)
reloj (clock).
Clock: es una señal que se alterna entre los valores lógicos 0 y 1 en un periodo regular.
T
156
157. El Clock
El Periodo (T): es el tamaño en tiempo de un ciclo.
La Frecuencia (f): es el inverso del periodo, 1/T y está dada en Hertz (Hz).
Ejemplo:
Una señal con frecuencia de 200 MHz, corresponde a una señal que tenga un
periodo de 5 ns.
En la mayoría de los sistemas sincrónicos, los cambios ocurren en las
transiciones donde la señal cambia de 0 a 1 ó de 1 a 0.
157
158. El CI 555 como Clock
Este dispositivo se lo configura como un multivibrador astable y genera un tren de
pulsos que nos sirve como señal de sincronismo
158
160. Observaciones del Diagrama
Tiene n entradas, (x’s)
El clock se comporta como una entrada más.
Tiene k salidas (z’s)
Tiene m dispositivos de almacenamiento binario (q’s)
Cada dispositivo podrá tener una o dos señales de entrada
Muchos sistemas tienen solo una entrada y una salida, pero
veremos ejemplos con varias entradas e incluso algunos
sistemas que no tienen entradas a no ser el clock.
Memoria: Flip-Flop’s.
160
161. Elementos de
Memoria
Celdas Binarias y Flip Flops
161
162. Celda Binaria o Latch
Un Latch es un dispositivo binario de almacenamiento, construido con dos o más
compuertas con realimentación.
P P = (S + Q)’
Q = (R + P)’
Ecuaciones del sistema
Q
Un Latch con compuertas NOR
S = Set
R = Reset
162
163. El Flip Flop
El Flip Flop es un dispositivo de almacenamiento binario con clock.
Bajo operaciones normales este dispositivo almacenará un 1 ó un 0 y sólo
cambiarán estos valores en el momento que ocurra una transición del clock.
Las transiciones que pueden producir cambios en el
sistema pueden ser cuando el clock va de 0 a 1, disparo
por rampa de subida (leadign-edge triggered), o cuando
el clock va de 1 a 0, disparo por rampa de bajada
(trailing-edge triggered).
163
164. Rampas de subida y de bajada
Clock
1
Rampa de
subida Rampa de
bajada
0
164
165. Flip Flop tipo D
Existen varios tipos de Flip Flops, nos concentraremos en dos
tipos, el D y el JK, el Flip Flop tipo D es el más usado y es
encontrado comúnmente en dispositivos lógicos
programables.
Otros, SR y T.
165
166. Flip Flop tipo D
Es el más sencillo en su operación.
El nombre proviene de Delay (retardo), ya que su salida es un
reflejo de lo que hay en la entrada con un retardo de un ciclo de
clock.
Clear Clear
q q
D D
q‟ q‟
Clock Clock
D con rampa de bajada D con rampa de subida
166
167. Flip Flop D, tabla de comportamiento y
diagrama de estados
D q q*
0 0 0
D q*
0 1 0
0 0
1 0 1
1 1
1 1 1
q* = D
Ecuación
167
168. Comportamiento de un Flip Flop
tipo D con Rampa de Bajada
Diagrama de tiempo
168
169. Variación de la entrada
La salida no se verá
afectada, ya que el
valor de la entrada D
solo es relevante en
el instante de la
rampa de bajada
169
170. Comportamiento de un Flip Flop
tipo D con Rampa de Subida
Diagrama de tiempo
170
171. Flip Flops con “Clear” y
“Preset”de Flip Flop podrá contar con estas entradas asincrónicas, en el
Cualquier tipo
caso de Flip Flops tipo D tenemos:
PRE’ CLR’ D q q*
0 1 X X 1 Constante
1 0 X X 0 inmediata
PRE q
D
0 0 X X - Invalido
1 1 0 0 0
Clock q‟ 1 1 0 1 0 Normal
CLR
1 1 1 0 1
1 1 1 1 1
171
173. Flip Flop tipo T (Toggle)
Tiene una entrada T, de tal forma que si T = 1, el
Flip Flop cambia el valor del estado actual y si T =
0, el estado permanece sin cambios.
Tablas de Comportamiento
T q q* T q*
0 0 0 0 q
0 1 1 1 q’
1 0 1
1 1 0
173
174. Diagrama de estados para el
Flip Flop T
1
0
0 T 0
1
1
Ecuación para el comportamiento del Flip Flop
q* = T +q
174
179. Tablas y diagramas de estados
Ejemplo de un sistema secuencial:
Un sistema con una entrada x y una salida z,
de tal forma que z = 1, si x ha sido 1 por tres
pulsos de clock consecutivos. La salida se
mantendrá en caso de que x siga siendo 1.
179
180. Tablas y diagramas de estados (2)
En este ejemplo, la salida depende únicamente del
estado del sistema y que se haya seguido el patrón
definido en la entrada del sistema.
En este tipo de Máquinas de Estado que sólo
dependen del estado actual del sistema son llamadas
de Modelos Moore ó Máquinas Moore, debido a Edward
F. Moore*.
180
181. Tablas y diagramas de estados (3)
No abordaremos todavía el diseño de un sistema secuencial, pero daremos
las herramientas necesarias para describirlo.
Tabla de Estados: es una tabla que describe las transiciones de una
máquina de estados finitos, en otras palabras, muestra las relaciones
funcionales entre las entradas, salidas y estados de la memoria. Para
cada combinación y cada estado, indica cual será la salida y cual será el
próximo estado después del siguiente pulso de clock.
Diagrama de Estados: Es una representación gráfica del comportamiento
del sistema, mostrando cada combinación de entrada y cada estado, de
la misma forma muestra el resultado de la salida y el valor del estado
siguiente después de un pulso de clock.
A continuación veremos la tabla y el diagrama de estados para el ejemplo.
181
183. Tablas y diagramas de estados (5)
Estado Estado Siguiente
Presente x=0 x=1 Salida
A A B 0
B A C 0
C A D 0
D A D 1
En el futuro nos referiremos al Estado Presente por el
símbolo q y el Estado Siguiente por el símbolo q*.
183
185. Circuito Secuencial – Modelo tipo
Moore con Flip Flops tipo D
1 2
•Del circuito encontramos: D1 q1q2 xq1
D2 xq1
z q2
185
186. Tabla y diagrama de estados
del circuito 0
q1* q2*
00
q1 q2 x=0 x=1 z 1
0 0 00 10 1 1
0 0
0 1 00 10 0
10
1 0 10 11 1 1
1 1
1 1 00 01 0
01 0 11
0 0
1
186
187. Circuito Secuencial – Modelo tipo Moore
con Flip Flops tipo JK
Este es un circuito de modelo tipo
Moore, ya que la salida z, que es
JA x KA xB
igual a A + B, es una función del JB KB x A
estado, o sea, el contenido de los flip
flops, y no de la entrada x. z A B
187
188. Tabla de estados para el
ejemplo anterior A* B*
A B x=0 x=1 z
0 0 01 11 0
0 1 00 10 1
1 0 10 01 1
1 1 11 10 1
Para completar la tabla hay que tener en cuenta las ecuaciones de
entrada de los flip flops y el funcionamiento de cada uno de ellos para
determinar el estado siguiente.
188
190. Diagrama de Estados para el
ejemplo
00
0 0
1
0
01 11 0
1 1
1
0 1
1
10
1
190
0
191. Ejemplo con el modelo Mealy
En algunos casos, la salida depende de la entrada actual así como del valor
de los estados actuales.
Este tipo de circuitos son clasificados como sistemas secuenciales de modelo
Mealy.
Un ejemplo de este modelo es este sistema.
191
192. Ecuaciones
Las ecuaciones de entrada y salida para el circuito son:
D1 xq1 xq2
D2 xq1q2
z xq1
Como son flip flops tipo D, entonces q* = D
192
193. Tabla de estados y diagrama
de estados
q1* q2* z 0/0
q1 q2 x=0 x=1 x=0 x=1
0/0
0 0 00 01 0 0
00 11
1/0
0 1 00 10 0 0 0/0
0/0 1/1
1 0 00 10 0 1
1 1 00 10 0 1 01 10
1/0
1/1
193
195. Diseñe un circuito que controle el funcionamiento de un semáforo bajo las
siguientes especificaciones:
Tiene una botonera START/STOP, cuando se presiona por una vez, el semáforo
inicia su funcionamiento en la luz roja.
El tiempo de duración de la luz roja y verde son iguales a 30 seg. , y la luz
verde - amarilla de 10 seg.
En cualquier instante, si se presiona por segunda ocasión la botonera
START/STOP el sistema se apagará.
195