117
DIVISIÓN DE INGENIERÍA MECATRÓNICA ACADEMIA DE INGENIERÍA MECATRÓNICA ANTOLOGÍA Electrónica Digital Lic. Edgar Hernández García 14 de Junio de 2016

Antología Electrónica Digital

  • Upload
    itsz

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

DIVISIÓN DE INGENIERÍA MECATRÓNICA ACADEMIA DE INGENIERÍA MECATRÓNICA

ANTOLOGÍA

Electrónica Digital

Lic. Edgar Hernández García

14 de Junio de 2016

PROPÓSITO DEL CURSO

La Electrónica Digital tiene una relevancia fundamental en la formación de un Ingeniero Mecatrónico ya que le permite conocer, diseña y aplicar los circuitos digitales para el control de los diferentes sistemas digitales. La asignatura reúne los fundamentos matemáticos, leyes y principios de la electrónica digital. De este modo el curso se compone de siete unidades en las que se abordan las características específicas del funcionamiento de los sistemas digitales:

En la primera unidad se presenta una breve introducción a la electrónica digital.

La segunda unidad contiene los tópicos relacionados con la codificación y los sistemas numéricos, involucrando en estos temas las operaciones básicas en el sistema binario y las diversas conversiones entre los distintos sistemas.

La unidad 3 revisa los fundamentos del álgebra de Boole y sus distintos axiomas y teoremas. Hacia el final de la unidad se introduce el concepto de la compuerta lógica.

En la unidad 4 se estudian las diferentes compuertas lógicas existentes en los circuitos digitales, así como sus encapsulados y familias lógicas.

La unidad 5 provee de los fundamentos de los circuitos combinacionales, que además servirán de base para la comprensión y construcción de circuitos electrónicos prácticos, tal como pueden ser los dispositivos sumadores, decodificadores y multiplexores, por mencionar algunos.

Los fundamentos del diseño secuencial son presentados en la unidad 6, lo cual es el sustento para la construcción de circuitos con memoria.

Por último, en la unidad 7, se hace un estudio básico de los conversores analógico-digital y digital-analógico.

Ésta asignatura requiere que el estudiante posea los conocimientos que se aportaron en las asignaturas de Programación Básica, Análisis de Circuitos Eléctricos. Es deseable que el estudiante posea alguna habilidad en la medición de corriente y voltaje, y que al menos se desarrolle en forma paralela algún curso de Electrónica Analógica Elemental. A su vez, ésta materia sirve de sustento a asignaturas posteriores, tales como: Circuitos Hidráulicos y Neumáticos, Microcontroladores, Controladores Lógico Programables.

Contenido 1. Fundamentos de sistemas digitales ................................................................................. 6

1.1. Señal digital y señal analógica ................................................................................. 6

1.2. Sistemas digitales y sistemas analógicos ................................................................. 6

1.3. Relación entre los sistemas analógicos y digitales .................................................. 8

2. Código y Sistemas Numéricos ...................................................................................... 10

2.1. Sistemas Numéricos ............................................................................................... 10

2.1.1. Sistema numérico decimal .............................................................................. 10

2.1.2. Sistema numérico binario ............................................................................... 11

2.1.3. Sistema numérico octal ................................................................................... 12

2.1.4. Sistema numérico hexadecimal ...................................................................... 12

2.1.5. Conversión entre sistemas numéricos ............................................................ 12

2.2. Operaciones básicas ............................................................................................... 14

2.2.1. Complemento ................................................................................................. 14

2.2.2. Suma ............................................................................................................... 15

2.2.3. Resta ............................................................................................................... 15

2.2.4. Multiplicación ................................................................................................. 17

2.2.5. División .......................................................................................................... 17

2.2.6. Representación de números binarios con signo .............................................. 18

2.3. Códigos binarios y alfanuméricos .......................................................................... 19

2.3.1. Código BCD ................................................................................................... 19

2.3.2. Código Reflejado o Gray ................................................................................ 20

2.3.3. Código ASCII ................................................................................................. 20

2.3.4. Código UNICODE ............................................................................................. 21

3. Álgebra de Boole .......................................................................................................... 23

3.1. Postulados y teoremas fundamentales ................................................................... 23

3.1.1. Funciones booleanas ....................................................................................... 27

3.1.2. Función simple y función compuesta ............................................................. 28

3.2. Simplificación de funciones boolenas ................................................................... 28

3.2.1. Minitérminos y maxitérminos ........................................................................ 29

3.2.2. Mapas de Karnaugh ........................................................................................ 30

3.2.3. Método de Quine-McClausky ........................................................................ 32

4. Compuertas Lógicas ..................................................................................................... 35

4.1. Niveles lógicos y compuertas lógicas .................................................................... 35

4.1.1. Compuerta NOT ............................................................................................. 36

4.1.2. Compuerta AND ............................................................................................. 36

4.1.3. Compuerta OR ................................................................................................ 36

4.1.4. Compuerta NAND .......................................................................................... 37

4.1.5. Compuerta NOR ............................................................................................. 37

4.1.6. Compuerta XOR ............................................................................................. 37

4.1.7. Compuerta XNOR .......................................................................................... 38

4.2. Familias Lógicas .................................................................................................... 38

4.2.1. Lógica Transistor-Transistor (TTL) ............................................................... 41

4.2.2. Familia Lógica MOS ...................................................................................... 53

4.2.3. Compatibilidad TTL-CMOS .......................................................................... 58

5. Circuitos Combinacionales ........................................................................................... 60

5.1. Introducción. .......................................................................................................... 60

5.2. Procedimiento de análisis ...................................................................................... 61

5.2.1. Obtención de Funciones Booleanas ................................................................ 61

5.2.2. Obtención de la Tabla de Verdad ................................................................... 62

5.3. Procedimiento de diseño ........................................................................................ 63

5.3.1. Circuitos de salida múltiple ............................................................................ 65

5.4. Circuitos aritméticos .............................................................................................. 69

5.4.1. Semisumador y sumador completo................................................................. 69

5.4.2. Sumador paralelo de n bits ............................................................................. 70

5.4.3. Semirestador y restador completo .................................................................. 71

5.5. Circuitos decodificadores y codificadores ............................................................. 72

5.6. Multiplexores y Demultiplexores .......................................................................... 75

6. Circuitos Secuenciales .................................................................................................. 78

6.1. Multivibradores ...................................................................................................... 78

6.2. Temporizadores ..................................................................................................... 80

6.2.1. CI 555 configuración astable .......................................................................... 80

6.2.2. CI 555 configuración monoestable ................................................................. 81

6.3. El Multivibrador biestable ..................................................................................... 83

6.3.1. El Latch SR ..................................................................................................... 84

6.3.2. Latch SR temporizado .................................................................................... 87

6.3.3. El Flip Flop ..................................................................................................... 89

6.4. Circuitos secuenciales ............................................................................................ 92

6.4.1. Tablas descriptivas y diagramas de estado ..................................................... 94

6.4.2. Ecuaciones de estado ...................................................................................... 96

6.5. Fundamentos de Diseño de Circuitos Secuenciales ............................................... 96

6.5.1. Contadores .................................................................................................... 101

6.5.2. Registros ....................................................................................................... 104

6.5.3. Memorias ...................................................................................................... 106

7. Convertidores ............................................................................................................. 109

7.1. Funcionamiento del ADC .................................................................................... 109

7.1.1. El conversor paralelo .................................................................................... 109

7.1.2. Conversor de rampa simple .......................................................................... 110

7.1.3. Conversor de doble rampa ............................................................................ 110

7.1.4. El conversor de aproximaciones sucesivas ................................................... 112

7.2. Funcionamiento del DAC .................................................................................... 113

7.2.1. Convertidor D/A de resistencias ponderadas................................................ 114

7.2.2. Convertidor D/A por modulación de ancho de impulso ............................... 115

Bibliografía ......................................................................................................................... 117

6

1. Fundamentos de sistemas digitales En ésta unidad el estudiante:

Conoce la diferencia entre la electrónica analógica y la electrónica digital, sabiendo

cuáles son sus ventajas y desventajas.

1.1. Señal digital y señal analógica Antes de poder hablar de sistemas, primero debemos conocer el concepto de señal, que, en

el área de la Física Aplicada, es la variación de una magnitud medido por supuesta con

algún parámetro, por ejemplo: corriente, voltaje, luz, calor.

De entre las clasificaciones de señales que se podrían hacer, tenemos dos de particular

relevancia en nuestro estudio:

Señal Analógica: Señal generada por algún fenómeno

electromagnético y que se puede representar mediante una

función matemática continua y dependiente del tiempo, con

amplitud y periodo variable.

Señal Digital: Señal generada por algún fenómeno

electromagnético y en la que cada segmento codifica valores

que representan magnitudes discretas.

Figura 1.1. Señales

1.2. Sistemas digitales y sistemas analógicos Cuando se considera que una señal además de representar una magnitud física, implica el

traslado de información útil (es decir, que sea factible interpretarse), entonces hablamos de

un sistema. Así entonces, un sistema analógico emplea señales analógicas en el traslado de

la información, mientras que los sistemas digitales emplean señales analógicas en el

traslado de la información.

Sistema analógico Sistema digital

Figura 1.2. Ejemplos de Sistemas

7

A los efectos de diferenciar entre un sistema digital de un sistema analógico supongamos

el sistema de la figura 1.3, donde un sistema electrónico indica el nivel de agua dentro de

un tanque, en este caso el nivel de agua está determinado por el potenciómetro (R), este

valor varia en forma continua a medida que el flotante sube o baja acompañando el nivel

del agua y hace mover el cursor del potenciómetro, el Medidor muestra en una escala

continua el nivel del agua en el tanque, constituyendo esto un sistema analógico.

Figura 1.3. Sistema analógico para indicar el nivel del agua

Si el indicador de nivel lo construyésemos según el esquema de la figura 1.4, la

información del nivel de agua en el tanque no varía en forma continua sino que asume

valores discretos, encendiéndose un determinado led según el nivel de agua en el tanque,

constituyendo esto un sistema digital.

Figura 1.4. Sistema digital para indicar el nivel de agua

Como se puede apreciar el sistema digital no representa todos los valores posibles que

puede tomar el nivel del agua en el tanque pero puede diseñarse un sistema tan preciso que

represente todos los niveles o valores que el usuario del sistema desee conocer.

Uno de los principales problemas de los sistemas analógicos es el ruido eléctrico, que se

pueden entender como perturbaciones que modifican el valor de la señal. En las señales

8

digitales, el ruido solo afecta al sistema si se supera el margen de tensión entre un nivel y

otro (figura 1.5)

Figura 1.5. El ruido en las señales.

1.3. Relación entre los sistemas analógicos y digitales Los sistemas electrónicos procesan la información que les llega a sus entradas. En general,

la información que llega a estas entradas proviene de magnitudes físicas del mundo real en

el que vivimos. Estas magnitudes son temperatura, presión, longitud, velocidad, tensión,

intensidad, etc. que tienen un carácter continuo o analógico. La utilización de alguna de

estas magnitudes dependerá de la aplicación específica para la que esté diseñando mi

sistema electrónico.

Figura 1.6. Un sistema analógico transfiere información a un sistema digital.

9

Es evidente que los sistemas digitales tienen infinitas aplicaciones y se pueden encontrar,

por ejemplo, en el diseño de computadores, instrumentación, control de procesos

industriales, control de semáforos, electrónica de automóviles (ABS, encendido electrónico,

etc.), simuladores para pilotos de aviones, aplicaciones en medicina, electrónica de

consumo (sonido y vídeo digital, TV, PC, telefonía móvil digital, etc.).

10

2. Código y Sistemas Numéricos En ésta unidad el estudiante:

Conoce y entiende los sistemas binarios, octal y hexadecimal; las conversiones entre

ellos y realiza operaciones básicas en los diferentes sistemas.

Conocer diferentes códigos para representar información en los sistemas digitales.

2.1. Sistemas Numéricos Los sistemas de numeración son conjuntos de dígitos usados para representar cantidades.

La cantidad de símbolos que utiliza el sistema para representar dichas cantidades define lo

que se denomina base. Así se tenemos los sistemas de numeración decimal, binario, octal,

hexadecimal, cuyas bases son: diez, dos, ocho, dieciséis, respectivamente.

Una cantidad (magnitud) se representa por una cadena de elementos, y cada elemento de la

cadena tiene un valor asociado a la posición que ocupa dentro de la cadena, estos sistemas

de numeración se llaman también sistemas de numeración posicionales. Así, la cantidad 33

está representada por una cadena de dos elementos, el tres. En ésta cadena el valor del ‘3’

de la derecha no es igual al valor del elemento ‘3’ de la izquierda:

33 = 3 ∙ 101 + 3 ∙ 100

2.1.1. Sistema numérico decimal El sistema de numeración decimal es el más usado, tiene como base el número 10, o sea

que posee 10 dígitos (o símbolos) diferentes para representar cualquier cantidad numérica:

0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

La posición de cada dígito en un número decimal indica la magnitud de la cantidad

representada y se le puede asignar un ‘peso’. Los ‘pesos’ para los números enteros son

potencias de 10, que aumentan de derecha a izquierda comenzando por 100 = 1.

Por ejemplo, el número decimal 72410 puede ser representado como:

72410 = 7 ∙ 102 + 2 ∙ 101 + 4 ∙ 100 Para los decimales los pesos son potencias de 10 que aumentan negativamente hablando de

derecha a izquierda comenzando por 10–1

0.2310 = 0 ∙ 100 + 2 ∙ 10−1 + 3 ∙ 10−2 Todo número entero N representado en cualquier base, puede descomponerse de modo

único en la forma:

𝑁 = 𝐴𝑛𝑏𝑛 + 𝐴𝑛−1𝑏𝑛−1 + … + 𝐴1𝑏1 + 𝐴0𝑏0 + 𝐴−1𝑏−1 + 𝐴−2𝑏−2 + … donde:

𝑏 es la base del número 𝑁 representado en decimal.

𝐴𝑖, dígito i-ésimo del número, 𝑖 = 0,1,2, . . . . , 𝑘.

𝑛 − 1: es la cantidad de dígitos enteros que tiene el número.

Ahora nos podríamos preguntar por qué tenemos como sistema de numeración usual al

sistema decimal, por qué es el más usado por todo tipo de gente, a qué se debe que en todo

11

el mundo sea el sistema utilizado por las personas (las máquinas no usan el sistema

decimal, sino el binario). La razón es que porque tenemos 10 dedos. Intuitivamente,

utilizábamos nuestra elemental calculadora: las manos, para contar, realizar sumas y restas

sencillas, etc.

2.1.2. Sistema numérico binario El sistema numérico binario es un sistema posicional de base 2, es decir que posee dos

símbolos para representar cualquier cantidad numérica: 0 , 1.

El equivalente decimal de un número binario se puede obtener a partir del polinomio antes

mencionado, de tal forma que

110102 = 1 ∙ 24 + 1 ∙ 23 + 0 ∙ 22 + 1 ∙ 21 + 0 ∙ 20 = 2610

Ejercicio 2.1: Convertir a decimal el número 101001012

101001012 = 1 ∙ 27 + 0 ∙ 26 + 1 ∙ 25 + 0 ∙ 24 + 0 ∙ 23 + 1 ∙ 22 + 0 ∙ 21 + 1 ∙ 20 = 16510 Ejercicio 2.2: Convertir a decimal el número 11.0112

11.0112 = 1 ∙ 21 + 1 ∙ 20 + 0 ∙ 2−1 + 1 ∙ 2−2 + 1 ∙ 2−3 = 3.37510

Los dígitos de un número binario se llaman bits. Bit es el acrónimo de Binary digit (dígito

binario).

La razón de ser del sistema binario, es que la información que se manipula dentro de un

sistema digital se hace de acuerdo a señales eléctricas. Mediante una señal eléctrica alta, se

representa el valor ‘1’ y mediante una señal eléctrica baja se representa el ‘0’.

Existen diferentes formas de codificar la información en el sistema binario, la más usual es

la codificación en binario natural, en esta forma de representación cada número es

representado por un código de 𝑛 bits, En la tabla 1.1 se presentan los 16 primeros números

en los sistemas numéricos más usados, entre ellos el binario natural

Tabla 2.1. Primeros 16 números en distintos sistemas

Decimal Binario Octal Hexadecimal

0 0000 00 0

1 0001 01 1

2 0010 02 2

3 0011 03 3

4 0100 04 4

5 0101 05 5

6 0110 06 6

7 0111 07 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

12

2.1.3. Sistema numérico octal El Sistema Numérico Octal consta de 8 símbolos para representar cualquier cantidad

numérica:

0 , 1 , 2 , 3 , 4 , 5 , 6 , 7

Tal como puede apreciarse en el tabla 1.1, éste sistema permite abreviar los 3 dígitos

binarios usados en la representación de los números del 0 al 7. Como se verá más adelante,

éste hecho facilita la conversión de números entre ambos sistemas.

Para saber qué número decimal corresponde a una cantidad en el sistema octal se usan las

mismas reglas de los sistemas numéricos posicionales:

123.48 = 1 ∙ 82 + 2 ∙ 81 + 3 ∙ 80 + 4 ∙ 8−1 = 83.510

2.1.4. Sistema numérico hexadecimal El Sistema Numérico Hexadecimal consta de 16 símbolos para representar cualquier

cantidad numérica.

0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 𝐴, 𝐵, 𝐶, 𝐷, 𝐸, 𝐹.

Donde 𝐴 equivale a 10 en base 10, 𝐵 equivale a 11 en base 10, 𝐶 equivale a 12 en base 10,

𝐷 equivale a 13 en base 10, 𝐸 equivale a 14 en base 10, 𝐹 equivale a 15 en base 10.

En este caso el sistema hexadecimal permite abreviar 4 dígitos del sistema binario.

De este modo:

𝐴12. 𝐵16 = 10 ∙ 162 + 1 ∙ 161 + 2 ∙ 160 + 11 ∙ 16−1 = 2578.687510

2.1.5. Conversión entre sistemas numéricos Como ya se dijo, podemos pasar de una representación de una magnitud en un sistema

numero b a un sistema de numeración de base 10 por aplicación del polinomio

N = An bn + An-1 b

n-1 + … + A1 b1 + A0 b

0 + A-1 b-1 + A-2 b

-2 + …

Ejercicio 2.3. Convertir el número 111012 a base 10.

= 1.20 + 0.21 + 1.22 + 1.23 + 1.24

= 1 + 4 + 8 + 16 = 2910

Ejercicio 2.4. Convertir el número binario 1111100_2 a base 10

= 1.26 +1.25 + 1.24 + 1.23 + 1.22 + 0.21 + 0.20

= 64 + 32 + 16 + 8 + 4 = 12410

Para cambiar de la base 10 a cualquier otra base:

13

Parte entera: Se divide por la base sucesivamente, tomando los restos en orden

inverso.

Parte decimal: Multiplicar el número por la base y tomar la parte entera, con el resto

se repite el proceso hasta obtener la cantidad de decimales deseados.

Ejercicio 2.5. Convertir el número 2910 en su equivalente en binario.

El número obtenido es

(0 1 1 1 0 1) 2 = 29 10

Notar que el número resultante se toma desde

el último resto hacia arriba, escribiéndose en

ese orden de derecha a izquierda.

Ejercicio 2.6. Convertir el número decimal 4573 al sistema hexadecimal

El número obtenido es

(4 5 7 3) 10 = 11DD16

Ejercicio 2.7. Convertir el número decimal 1036 al sistema octal

El número obtenido es

(1 0 3 6) 10 = 20148

Ejercicio 2.8. Convertir el número decimal 133.45 al sistema octal.

El número obtenido es

(133.45)10 ≅ 205.3468

Notar que la conversión de decimal a la base

deseada no necesariamente es exacta. Esto

explica el épsilon de los sistemas

informáticos.

La conversión entre los sistemas de base 2, 8 y 16 es casi directa, debido a que los dos

últimos son múltiplos del primero. De este modo:

Paso de la base 2 a la base 2^𝑛: se agrupan los bits de n en n, de derecha a izquierda

Paso de la base 2𝑛 a la base 2: se expande cada digito por los n bits

correspondientes

14

Ejercicio 2.9. Convertir el número binario 011100000001.11000100: (a) a octal; (b) a

hexadecimal.

(a) Octal: 011 100 000 001 . 110 001 000 = (3 4 0 1 . 6 1 0)8

(b) Hexadecimal: 0111 0000 0001 . 1100 0100 = (7 0 1 . C 4)16

2.2. Operaciones básicas Las operaciones aritméticas con números de base b ≠ 10 siguen las mismas reglas que los

números decimales. Sólo debe tenerse especial cuidado en emplear solo dígitos admisibles

para la base que se trabaja.

2.2.1. Complemento El complemento es una operación muy

importante en el entendimiento de la electrónica

digital que tiene su sustento en la Teoría de

Conjuntos: dado un conjunto universo U de

elementos, y un conjunto A formado por algunos

de los elementos de U, el complemento de A es

el conjunto formado por todos los elementos del

universo que no pertenecen al conjunto A, y se

denota por 𝐴′ o 𝐴𝑐.

Figura 2.1. Complemento de un

conjunto

En el caso de los sistemas numéricos tenemos dos tipos de complementos:

Complemento a la base menos uno o complemento radical disminuido, dado un numero

𝑁 en base 𝑏 de 𝑛 dígitos, el complemento radical disminuido se define como:

(𝑏𝑛 − 1) − 𝑁

Ejercicio 2.10. El complemento radical disminuido o complemento a 9 de 1238910 será:

876101238999999123891105

Ejercicio 2.11. El complemento radical disminuido o complemento a 1 del número 𝑁 =10110012 es:

(27 − 1) − 1011001 = 1111111 − 1011001 = 0100110

Complemento a la base o complemento radical, definido por la operación 𝑏𝑛– 𝑁, que

equivale a sumar al complemento radical disminuido de un número:

𝑏𝑛 − 𝑁 = (𝑏𝑛 − 1) − 𝑁 + 1

Ejercicio 2.12. Obtener el complemento radical de 1238910.

87610𝑐9 + 1 = 87611𝑐10

Ejercicio 2.13. Obtener el complemento a 2 de 10110012.

0100110𝑐1 + 1 = 0100111𝑐2

15

En los ejemplos anteriores se supuso que el número N era entero, si N tiene punto decimal

este debe eliminarse en forma temporal para poder complementar, la coma se devuelve

después en la misma posición relativa.

2.2.2. Suma Se sigue el algoritmo de siempre: dígito menos significativo se opera primero y el más

significativo último, considerando los acarreos correspondientes cuando el número

resultante tiene más de un dígito.

Ejercicio 2.14. Realizar la operación 1012 + 0012 =?

En el caso binario resulta útil

construir una tabla para la suma de

un dígito.

a b a+b Acarreo

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

Ejercicio 2.15. Resolver 3𝐴𝐹16 + 23𝐶16 =?

Como (F + C)16 es (15 + 12)10 = 2710 = 1B16

Como (1+A+3)16 es (1+10+3)10 = 1410 = E16

2.2.3. Resta El algoritmo de la resta es el mismo del sistema decimal, incluyendo aquella idea intuitiva

del ‘préstamo’.

Ejercicio 2.16. Realizar la operación 1012 − 0112

De nuevo, resulta útil construir una

tabla para la resta de un dígito.

a b a-b Acarreo

0 0 0 0

0 1 1 1

1 0 1 0

1 1 0 0

Desafortunadamente ésta forma de restar tiene dos inconvenientes: primero, en cifras de

varios dígitos y estando en un sistema numérico distinto del decimal tendemos a cometer

errores debido al hecho de tener que pedir préstamos y determinar el guarismo

correspondiente; en segundo término, cuando se implementa en un circuito electrónico

requiere de su propio arreglo, lo cual es poco práctico.

16

Si los números a restar se consideran sin signo (ambos positivos) se puede utilizar la regla

del complemento radical disminuido o la regla del complemento radical.

Resta con complemento radical: La resta de dos números sin signo (M–N) puede realizarse

de la siguiente forma:

Sumar a M el complemento a la base de N.

Si M ≥ N la suma producirá acarreo final 𝑏𝑛 que se desecha, lo que queda es el valor

de M – N.

Si M < N la suma no producirá acarreo final y es igual a 𝑏𝑛 − (𝑁– 𝑀), que es el

complemento a la base b de N – M. Para obtener la respuesta calcúlese el complemento a b

de la suma y coloque el signo negativo adelante.

Resta con complemento radical disminuido: La resta de dos números sin signo (𝑀– 𝑁)

puede realizarse de la siguiente forma:

I. Sumar a M el complemento a la base menos uno de N.

II. Verificar el acarreo final de la suma:

a. De ser igual a 1, se suma al dígito menos significativo de la primera suma, lo

cual genera el número resultante, el cual es positivo.

b. De ser igual a 0, tómese el complemento a la base menos uno de la suma y

agréguese un signo menos, el resultado es un número negativo.

Ejercicio 2.17. Use el complemento a la base disminuida para calcular 7253210 − 325010

Ejercicio 2.18. Use el complemento a la base disminuido para calcular 3218 − 5018

Compruebe el resultado haciendo la resta en decimal

Resta con complemento radical: La resta de dos números sin signo (𝑀– 𝑁) puede

realizarse de la siguiente forma:

I. Sumar a M el complemento a la base de N.

II. Verificar el acarreo:

a. Si es 1, se deshecha y el resultado es el resto de los dígitos sumandos.

b. Si es 0, entonces calcúlese el complemento a 𝑏 de la suma y coloque el

signo negativo adelante.

Ejercicio 2.19. Usando el complemento radical calcule 7253210– 325010.

17

Notar que el acarreo se descarta

Ejercicio 2.20. Usando el complemento radical calcule 325010 − 7253210.

Ejercicio 2.21. Dados 𝑀 = 10101002 y 𝑁 = 10000112 obtenga 𝑀 − 𝑁 y 𝑁 − 𝑀 por

complemento a 2.

2.2.4. Multiplicación Mismas reglas que en el algoritmo de base 10

Ejercicio 2.22. Multiplicar 10012 por 10112.

Considere la tabla de multiplicar binaria

a b 𝒂 ∙ 𝒃

0 0 0

0 1 1

1 0 1

1 1 0

2.2.5. División En este caso sólo revisamos la división binaria en el entendido de que finalmente es el

medio fundamental en los sistemas digitales, sin embargo, y como se ha dicho, el algoritmo

no varía del que conocemos desde la infancia.

18

Para el caso binario el proceso en este caso resulta más simple que el sistema decimal

puesto que cuando se verifica cuantas veces el divisor “cabe en” el dividendo, solo hay dos

posibilidades ‘0’ o ‘1’.

Ejercicio 2.23. Realizar la división de 010011102 entre 01102

2.2.6. Representación de números binarios con signo Las magnitudes en los sistemas digitales se representan a través de una combinación de

bits, en un sistema de 6 bits podríamos representar cantidades que van desde 0000002 a

1111112 (010 a 6310). Si queremos representar números negativos debemos valernos de

algún medio de representación para el signo. Esto se lleva a cabo agregando un bit para

representar el signo, de tal forma que por convención tal como ‘0’ equivales a signo ‘+’ y

‘1’ equivale a signo ‘-‘, es sistema entonces que en nuestro sistema de seis bits las

magnitudes que podemos representar van desde –31 a +31.

Por ejemplo:

El bit de signo se usa para indicar si un número es positivo o negativo, el resto de los bits se

usa para representar la magnitud en forma binaria. Para los números negativos, no obstante

existen tres formas de representar la magnitud:

Forma de magnitud verdadera. La magnitud se representa en binario natural

Forma de complemento a 1. Cuando se representa un número negativo en éste

formato, el bit de signo se conserva en ‘1’ y la magnitud se complementa a 1.

Forma de complemento a 2. En este caso la magnitud se complementa a 2.

Así por ejemplo:

+5710 = 0 1110012 Un número positivo, el bit de signo es cero

−5710 = 1 1110012 Número negativo en signo magnitud verdadera

−5710 = 1 0001102 Número negativo en signo complemento a 1

−5710 = 1 0001112 Número negativo en signo complemento a 2

19

Las tres formas de representación se utilizan en los sistemas digitales, algunos almacenan la

información en forma de magnitud verdadera y la transforman a forma de complemento

antes de realizar una operación aritmética.

Ejercicio 2.24. los siguientes números son números binarios en complemento a dos,

determine el valor decimal: a) 011002; b) 110102; y, c) 100012.

a) Como el signo es + la magnitud esta expresada en forma verdadera, entonces

011002 = +1210

b) Si complementamos la magnitud, C2 = (10102)’ = 01102, y dado que el signo se

conserva tendremos que 101102 = -610. c) Si complementamos la magnitud C2 = (00012)’ = 11112 y como el signo se

conserva tendremos que 111112 = -1510

2.3. Códigos binarios y alfanuméricos La codificación es en pocas palabras la abstracción simbólica de un objeto. En este caso los

números son precisamente un sistema de codificación que nos permiten representar

cantidades. Ahora conocemos el sistema numérico binario, que de hecho es llamado

también sistema binario natural, porque la codificación sigue el ordenamiento de los

números naturales, sin embargo, existen otros sistemas de códigos binarios cuya existencia

es motivada por las utilidades prácticas que pueden tener al desarrollar tecnología digital.

2.3.1. Código BCD El código BCD (Binary Code Decimal, decimal codificado en binario) utiliza 4 dígitos

binarios para representar un dígito decimal (0 al 9), observar la tabla 2.1. Tabla 1.2. Código BCD

Por ejemplo, la codificación en BCD del número decimal 59237 es:

Decimal: 5 9 2 3 7

BCD: 0101 1001 0010 0011 0111

20

2.3.2. Código Reflejado o Gray Pertenece a una clase de códigos llamado de cambio mínimo en los cuales solo cambia un

bit cuando se pasa de una combinación otra. También es llamado código cíclico, porque en

un conjunto elegido de bits para formar el sistema, el primero y el último código también

varían en un solo bit. Tabla 2.3. Código Gray

Decimal Código Gray

0 0000

1 0001

2 0011

3 0010

4 0110

5 0111

6 0101

7 0100

Este código se utiliza generalmente en dispositivos de entrada y salida, y especialmente en

aquellas situaciones donde se hace necesario efectuar controles sobre el sistema por su

facilidad de auto detección de errores.

2.3.3. Código ASCII En general los sistemas digitales deben poder reconocer código que representen no solo

números sino también letras y caracteres especiales. Estos códigos son llamados códigos

alfanuméricos.

Un conjunto completo de caracteres incluye:

26 letras minúsculas

+ 26 letras mayúsculas

10 cifras numéricas

~25 caracteres especiales

87 caracteres diferentes

Para representar 87 caracteres diferentes se requerirán 7 bits ya que con 7 bits podemos

representar 27 = 128 combinaciones posibles.

El código alfanumérico más conocido es el código ASCII (Código Estándar

Estadounidense para el Intercambio de Información) realizado sobre una longitud de 8 bits,

ya que, en el momento de su creación, se incluyeron además comandos abreviados por

carácter para su utilización desde la línea de comandos o consola del sistema operativo.

21

Tabla 2.4. Código ASCII

2.3.4. Código UNICODE El término Unicode alude a un sistema estándar de caracteres creado para permitir un fácil

manejo de la informática, visualización y transmisión de escritos de diversos lenguajes y

disciplinas técnicas, pero también incluye textos clásicos de lenguas ya muertas. En otras

palabras y de una manera más específica el Unicode es un formato común de caracteres,

que dentro del cual se encuentran cada uno de los caracteres de teclado de una

computadora. De acuerdo a lo plasmado el término deriva de los tres objetivos perseguidos

que son universalidad, unicidad y uniformidad.

22

Figura 2.2. Una vista a un fragmento del código UNICODE

23

3. Álgebra de Boole En ésta unidad el estudiante:

Conoce y aplica los postulados y teoremas fundamentales del álgebra booleana.

Representa las formas canónicas SOP y POS. Reduce funciones booleanas

utilizando los teoremas del álgebra de Boole.

Simplifica funciones booleanas mediante los métodos de mapas de Karnaugh y

McClausky.

3.1. Postulados y teoremas fundamentales El Álgebra de Boole surgió como un intento de incrustar las técnicas algebraicas para tratar

expresiones de la Lógica proposicional.

Empecemos entonces comprendiendo los estados lógicos Verdadero y Falso representados

numéricamente mediante el 1 y el 0. Vistos desde el punto de vista eléctrico podemos

interpretar como los estados de encendido-apagado de un foco (figura 3.1). Cuando el

circuito se cierra el foco se enciende y representa el estado lógico 1 o Verdadero; en caso

contrario, si el circuito está abierto, entonces tenemos el estado lógico 0 o Falso.

Figura 3.1. Representación eléctrica de los estados lógicos.

En éste orden de ideas, definimos al Álgebra de Boole como el conjunto de elementos ‘b’

que puede asumir dos valores posibles (0 o 1) y que están relacionados por dos operaciones

binarias suma (+) y producto (*) lógico, y que además cumple con conjunto de postulados.

Figura 3.2. Operaciones lógicas fundamentales.

24

De la figura 3.2 podemos obtener las tablas para la suma y producto lógico.

Tabla 3.1. Tablas de Operaciones Lógicas básicas.

Suma Lógica Producto Lógico

a b a+b

0 0 0

0 1 1

1 0 1

1 1 1

a b a∙b

0 0 0

0 1 0

1 0 0

1 1 1

Los postulados son los siguientes:

Postulado No 1. Las operaciones fundamentales son conmutativas.

a + b = b+ a

a ∙ b = b ∙ a

Postulado No 2. Existe el neutro aditivo, el ‘0’; y el neutro multiplicativo, el ‘1’.

a + 0 = a

a ∙ 1 = a

Postulado No. 3. Cada operación es distributiva respecto de la otra

a ∙ ( b + c ) = a ∙ b + a ∙ c

a + ( b ∙ c ) = (a+b) ∙ (a+c)

La primera ecuación distributiva es bien conocida en el álgebra ordinaria y su

25

interpretación no debería presentar ninguna dificultad.

Este postulado indica que podemos factorizar una expresión, es decir que si tenemos una

expresión de dos o más términos y estos términos tienen una (o más) variables en común,

estas variables pueden expresarse como factor común.

Ejemplos:

a) 𝑎𝑏𝑐 + 𝑎��𝑐 + 𝑎𝑏𝑐 = 𝑎 ∙ (𝑏𝑐 + ��𝑐 + 𝑏𝑐)

b) (𝑎 + 𝑏) ∙ (𝑎 + 𝑐) = 𝑎 + (𝑏 ∙ 𝑐)

Postulado No. 4. Para cada elemento 𝑎 del álgebra de Boole existe un elemento �� tal que:

𝒂 + �� = 𝟏

𝒂 ∙ �� = 𝟎

Los postulados cumplen además la Ley de Dualidad: cualquier expresión o identidad en el

Álgebra de Boole tiene su expresión dual que se constituye por el complemento de las

variables involucradas, el complemento de las constantes (0 por 1 y viceversa), y

cambiando sumas por productos (y viceversa).

Ejemplos:

𝑎 + 0 = 𝑎 Tiene como expresión dual:

�� ∙ 1 = ��

𝑎 + (𝑏 ∙ 𝑐) = (𝑎 + 𝑏) ∙ (𝑎 + 𝑐) Tiene como expresión dual:

�� ∙ (�� + 𝑐) = (�� ∙ ��) + (�� ∙ 𝑐)

Con estos postulados se pueden comprobar los siguientes teoremas que complementan los

fundamentos del Álgebra de Boole

. Teorema 1: Para cada elemento del álgebra se verifica que a + 1 = 1. Por dualidad se

puede inferir que 𝑎 ∙ 0 = 0.

Demostración:

Teorema 2: Para cada elemento del álgebra se verifica que: 𝑎 + 𝑎 = 𝑎. Por dualidad 𝑎 ∙ 𝑎 = 𝑎.

26

Demostración:

Teorema 3: Las operaciones suma y producto son asociativas

𝑎 + (𝑏 + 𝑐) = (𝑎 + 𝑏) + 𝑐 = 𝑎 + 𝑏 + 𝑐, y por dualidad,

( 𝑎 ∙ 𝑏 ) ∙ 𝑐 = 𝑎 ∙ ( 𝑏 ∙ 𝑐).

Demostración de la asociatividad de la suma mediante una tabla.

Teorema 4: Para cada elemento del Álgebra de Boole se demuestra que

𝑎[(𝑎 + 𝑏) + 𝑐] = 𝑎

𝑎 + [(𝑎𝑏)𝑐] = 𝑎

Demostración de la primera igualdad:

𝑎[ (𝑎 + 𝑏) + 𝑐 ] = 𝑎 (𝑎 + 𝑐) + 𝑎𝑐 = 𝑎 + 𝑎𝑐 = 𝑎

Teorema 5: Llamada ley de Absorción, para cualquier par de elementos del Álgebra de

Boole se demuestra que

𝑎 + (𝑎𝑏) = 𝑎

𝑎 (𝑎 + 𝑏) = 𝑎

Demostración:

Teorema 6: Para todo complemento de a se verifica que �� = 𝑎, llamada ley Involutiva o

ley de la doble negación.

27

Teorema 7: Leyes de De Morgan, para cada par de elementos del Álgebra de Boole se

demuestra que:

𝑎 + 𝑏 = �� ∙ ��

𝑎 ∙ 𝑏 = �� + ��

Demostración: en este caso no es simple, por lo que lo vamos desglosando:

Propiedad Distributiva

Propiedad Conmutativa

Propiedad asociativa

Postulado 4

Teorema 1

(3)

Si consideramos a la expresión (3) de la forma: 𝑧 + 𝑧 = 1

Donde 𝑧 = 𝑎 + 𝑏 y 𝑧 = �� ∙ ��

Entonces podemos considerar que �� ∙ �� es el complemento de 𝑎 + 𝑏, es decir,

�� + �� = 𝑎 + 𝑏

Ejercicios 3.1. Simplificar la expresión:

a) 𝑎��𝑑 + 𝑎���� =? Solución:

b) (�� + 𝑏)(𝑎 + 𝑏) =?

Solución:

(�� + 𝑏)(𝑎 + 𝑏) = ��𝑎 + ��𝑏 + 𝑏𝑎 + 𝑏𝑏

= 0 + ��𝑏 + 𝑎𝑏 + 𝑏

= 𝑏(�� + 𝑎 + 1) = 𝑏 ∙ 1

= 𝑏

c) (�� + 𝑐)(𝑏 + ��) =?

Solución:

(�� + 𝑐)(𝑏 + ��) = (�� + 𝑐 ) + (𝑏 + �� )

= �� 𝑐 + 𝑏 ��

= 𝑎 𝑐 + 𝑏𝑑

3.1.1. Funciones booleanas Una variable binaria ‘𝑏’ puede tomar el valor 0 o 1. Luego, una función de Boole es una

expresión formada con variables binarias y operadores booleanos (los correspondientes a la

suma y producto lógico y la negación). La notación es la misma que se usa en el cálculo, así

28

𝐹(𝑎, 𝑏, 𝑐) representa una función cuyas variables binarias son 𝑎, 𝑏, 𝑐, las cuales por

consecuencia cumplen con los postulados y teoremas del Álgebra de Boole. La función en

cuestión devuelve valores binarios en función de los valores de las variables, por ejemplo,

la función 𝐹(𝑎, 𝑏) = 𝑎�� devuelve los valores mostrados en la siguiente tabla.

Tabla 3.2. Un ejemplo de los valores de una función.

𝒂 𝒃 𝑭(𝒂, 𝒃)

0 0 0

0 1 0

1 0 1

1 1 0

Una función Booleanas se puede escribir en de varias maneras cuando se expresa a través

de su forma algebraica, sin embargo, la llamada forma estándar emplea términos en forma

de sumas (𝑎 + 𝑏 + 𝑐) y términos de productos (𝑎 𝑏 𝑐). Por ejemplo:

3.1.2. Función simple y función compuesta Una función booleana está en su forma compuesta cuando la expresión incluye los términos

como una combinación sumas y productos de las variables, sin ninguna regla en particular,

incluyendo términos que podrían ser redundantes. Por ejemplo, la función

𝐹(𝑎, 𝑏, 𝑐) = 𝑎��𝑐 + ��𝑐 + 𝑎�� está en una forma compuesta, ya que, por la teoría del Álgebra de Boole, algunos de los

términos podrían reducirse,

𝐹(𝑎, 𝑏, 𝑐) = 𝑎��𝑐 + ��𝑐 + 𝑎�� = (𝑎 + 1)��𝑐 + 𝑎�� = ��(𝑎 + 𝑐) El término de la última igualdad es una expresión más breve de la misma función, por lo

que es una función en su forma simple.

3.2. Simplificación de funciones boolenas Se llaman términos canónicos, a todo término de producto o de suma que contenga

absolutamente a todas las variables que intervienen en la función. Por ejemplo, en la

expresión:

el primero y segundo sumando están en su forma canónica, mientras que el tercero no lo

está. Cuando todos los términos están en su forma canónica se tiene una función canónica.

En nuestro ejemplo, la forma canónica sería:

𝐹(𝑎, 𝑏, 𝑐) = 𝑎��𝑐 + 𝑎𝑏𝑐 + 𝑎��(𝑐 + 𝑐) = 𝑎��𝑐 + 𝑎𝑏𝑐 + 𝑎��𝑐

29

Además, si la función está en su forma canónica tiene 2𝑛 términos, siendo 𝑛 la cantidad de

variables binarias de las cuales depende dicha función. Lo cual a su vez nos permite

construir la tabla de verdad correspondiente:

𝒂 𝒃 𝒄 F Decimal

0 0 0 0 0

0 0 1 0 1

0 1 0 1 2

0 1 1 0 3

1 0 0 1 4

1 0 1 1 5

1 1 0 0 6

1 1 1 0 7

3.2.1. Minitérminos y maxitérminos Una función canónica en forma de sumas de productos se puede expresar en forma

compacta usando una notación de sumatoria y cambiando los valores de las variables por 0

si están negadas y 1 si no lo están, e interpretando el valor binario que se forma al

considerar todos los dígitos del término. En este sentido el término 𝑎𝑏𝑐 al usar ésta regla

equivale a 110 y por lo tanto su valor numérico sería 6. Usando estas ideas:

𝐹(𝑎, 𝑏, 𝑐) = ��𝑏𝑐 + 𝑎��𝑐 + 𝑎��𝑐 = ∑(2,4,5)

Llamaremos minitérminos (en algunos textos, mintérminos) a las funciones canónicas

expresadas como sumas de productos.

La misma función se puede expresar canónicamente como productos de sumas si usamos

las leyes de De Morgan.

𝐹𝑚(𝑎, 𝑏, 𝑐) = ��𝑏𝑐 + 𝑎��𝑐 + 𝑎��𝑐 = (��𝑏𝑐 + 𝑎��𝑐 + 𝑎��𝑐) =

= ��𝑏𝑐 ∙ 𝑎��𝑐 ∙ 𝑎��𝑐 = (𝑎 + �� + 𝑐)(�� + 𝑏 + 𝑐)(�� + 𝑏 + 𝑐)

La última expresión representa a la función como producto de sumas, pero complementado,

para compensarlo complementamos a ambos lados:

𝐹𝑀(𝑎, 𝑏, 𝑐) = 𝐹𝑚 (𝑎, 𝑏, 𝑐) = (𝑎 + �� + 𝑐)(�� + 𝑏 + 𝑐)(�� + 𝑏 + 𝑐)

De donde implicamos que la forma en productos de sumas es el complemento de la forma

en minitérminos, razón por la cual y en contrasentido, llamaremos a éstos multiplicandos

los llamaremos maxitérminos (llamados también maxtérminos). En conclusión, para

nuestro ejemplo:

𝐹𝑀(𝑎, 𝑏, 𝑐) = (𝑎 + �� + 𝑐)(�� + 𝑏 + 𝑐)(�� + 𝑏 + 𝑐) = ∏(0,1,3,6,7)

El poder pasar de minitérminos a maxitérminos y viceversa es muy útil en la simplificación

de funciones.

30

3.2.2. Mapas de Karnaugh Las expresiones Booleanas pueden ser simplificadas por manipulación algebraicas, como se

ha visto en ejercicios anteriores. Como un ejemplo:

El método del mapa de Karnaugh en cambio, es un método tabular de reducción de

funciones basado en el cuarto postulado: 𝑎 + �� = 1, y ofrece un procedimiento directo,

para simplificar expresiones booleanas de hasta cinco variables. Se pueden trazar mapas

para mayor cantidad de variables, pero son más difíciles de manipular.

Este método en una representación bidimensional de la tabla de verdad de la función a

simplificar. Puesto que la tabla de verdad de una función de 𝑁 variables posee 2𝑁 filas, el

mapa 𝐾 correspondiente debe poseer también 2𝑁 cuadrados. Las variables de la expresión

son ordenadas en función de su peso y siguiendo el código Gray, de manera que sólo una de

las variables varía entre celdas adyacentes. La transferencia de los términos de la tabla de

verdad al mapa de Karnaugh se realiza de forma directa, albergando un ‘0’ o un ‘1’,

dependiendo del valor que toma la función en cada fila. Las tablas de Karnaugh se pueden

fácilmente realizar a mano con funciones de hasta 6 variables, para funciones de mayor

cantidad de variables es más eficiente el uso de software especializado1.

Ejercicio 3.2. Dada la función booleana 𝐹(𝑎, 𝑏, 𝑐) = 𝑎𝑏𝑐 + 𝑎��𝑐 + 𝑎𝑏𝑐 + 𝑎��𝑐 obtenga su

reducción mediante mapas de Karnaugh.

Solución:

I. Representamos la función en una tabla de verdad

a b c F

0 0 0 0

0 0 1 0

0 1 0 0

1 0 0 1

1 0 1 1

1 1 0 1

1 1 1 1

II. Construimos un mapa de Karnaugh de tantas celdas como filas tenga la tabla de

1 Wikipedia, La enciclopedia libre (2016). Mapa de Karnaugh. Consultado: 19/06/2016. Disponible:

https://es.wikipedia.org/wiki/Mapa_de_Karnaugh

31

verdad. Considere como referencias de columnas a combinaciones del par de

variables de menor valor significativo, codificándolas en código Gray. Algo similar

se hace para colocar las referencias de columna, aunque en este caso sólo al ser

sólo una variable la que resta, sólo se colocan en orden de 0 a 1. Observe el mapa

de éste ejercicio:

bc

00 01 11 10

a 0 0 0 0 0

1 1 1 1 1

III. Para reducir la función encierre con círculos o elipses, grupos de 1’s en potencias

de base dos: 2,4,8, etc., de celdas adyacentes, considere que la base de la tabla es

adyacente a la parte superior, y que el extremo izquierdo es adyacente al extremo

derecho. Para escribir la expresión resultante anote las variables cuyo valor no

cambia en el grupo formado. Vea el ejemplo.

En este caso se han agrupado los cuatro unos de la fila inferior, en los cuales la

única variable que no cambia es a.

De este modo la reducción es, como sabíamos por el Álgebra de Boole,

𝐹(𝑎, 𝑏, 𝑐) = 𝑎.

Ejercicio 3.3. Reducir la función 𝐹(𝑎, 𝑏, 𝑐, 𝑑) = ∑(6,8,9,10,11,12,13,14).

Solución:

I. Escribimos la función en forma de minitérminos:

𝐹(𝑎, 𝑏, 𝑐, 𝑑) = ��𝑏𝑐�� + 𝑎��𝑐�� + 𝑎��𝑐𝑑 + 𝑎��𝑐�� + 𝑎��𝑐𝑑 + 𝑎𝑏𝑐�� + 𝑎𝑏𝑐𝑑 + 𝑎𝑏𝑐�� II. Hacemos la tabla de verdad correspondiente.

No a b c d F

0 0 0 0 0 0

1 0 0 0 1 0

2 0 0 1 0 0

3 0 0 1 1 0

4 0 1 0 0 0

5 0 1 0 1 0

6 0 1 1 0 1

7 0 1 1 1 0

8 1 0 0 0 1

9 1 0 0 1 1

10 1 0 1 0 1

11 1 0 1 1 1

12 1 1 0 0 1

13 1 1 0 1 1

14 1 1 1 0 1

15 1 1 1 1 0

32

III. Construimos el mapa de Karnaugh

cd

00 01 11 10

ab

00 0 0 0 0

01 0 0 0 1

11 1 1 0 1

10 1 1 1 1

IV. Agrupamos y formamos la función

𝐹(𝑎, 𝑏, 𝑐, 𝑑) = 𝑎𝑐 + 𝑎�� + 𝑎�� + 𝑏𝑐��

3.2.3. Método de Quine-McClausky El método de Quine-McClausky es una combinación del método tabular y de un método

gráfico, el cual es factible de programarse con la finalidad de obtener un algoritmo que

permita la obtención de expresiones algebraicas minimizadas.

Describimos los pasos a seguir:

I. Identificar cada uno de los minitérminos implicados en la expresión algebraica,

o bien en la tabla de verdad. Por ejemplo, para:

𝐹(𝑎, 𝑏, 𝑐, 𝑑) = ��𝑐�� + 𝑎𝑏�� + ��𝑏𝑑 Y su tabla es

No a b c d F

0 0 0 0 0 1

1 0 0 0 1 1

2 0 0 1 0 0

3 0 0 1 1 0

4 0 1 0 0 1

5 0 1 0 1 1

6 0 1 1 0 0

7 0 1 1 1 0

8 1 0 0 0 1

9 1 0 0 1 1

10 1 0 1 0 0

11 1 0 1 1 0

12 1 1 0 0 1

13 1 1 0 1 1

14 1 1 1 0 0

15 1 1 1 1 0

Si la expresión algebraica no se muestre como suma de productos, deberá ser

manipulada algebraicamente de tal forma que se obtenga. Por ejemplo:

33

𝑥 = 𝑎𝑑 ��𝑐 �� = 𝑎𝑑 + ��𝑐 + 𝑏 II. Listar como números binarios cada uno de los términos implicados en la

expresión algebraica para posteriormente agruparlos en base al número de bits

iguales a uno que tenga cada uno de ellos.

Por ejemplo, para 𝑥(𝑎, 𝑏, 𝑐) = ∑(0,1,2,5,6,7) tenemos,

0 000 Forma el grupo 0, por no tener ningún bit igual a 1

1 001 Estos forman el grupo 1, por tener ambos términos un bit igualado a 1.

2 010

5 101 Estos forman el grupo 2, por tener ambos términos dos bits igualados a

1 6 110

7 111 Forma el grupo 3, por tener tres bits igualados a 1

III. Una vez identificados los grupos, se deben combinar los términos entre grupos

contiguos. Es decir, el grupo 0 con el grupo 1, el grupo 1 con el grupo 2, etc., de

tal forma que se marca con un guión solo el bit que difiere de 1 a 0 o viceversa.

Siguiendo con el ejemplo del paso anterior:

No Grupos Combinación de términos Expresión

0 000* 0,1 00-

1 001* 0,2 0-0

2 010* 1,5 -01

5 101* 2,6 -10

6 110* 5,7 1-1

7 111* 6,7 11-

Notar que los grupos cambian en función de los unos que han quedado tras

hacer la primera iteración. Los asteriscos indican los términos que han sido

usados en la combinación.

IV. De las expresiones obtenidas (con guiones), de nuevo formamos grupos en base

a la cantidad de unos en cada término, y se busca de nuevo realizar

combinaciones entre grupos contiguos, verificando otra vez que sólo cambien en

un bit. En nuestro ejemplo ya no es posible realizar más combinaciones.

V. Una vez que ya no se tienen elementos qué combinar se obtienen los implicantes

primos que surgen de los términos no marcados.

En nuestro ejemplo, al no haber más combinaciones, no hay elementos

marcados.

Combinación Términos Expresión en implicantes primos

0,1 00-

𝑥 = ���� + ��𝑐 + ��𝑐 + 𝑏𝑐 + 𝑎𝑐 + 𝑎𝑏

0,2 0-0

1,5 -01

2,6 -10

5,7 1-1

6,7 11-

34

Notar que los términos en guión no se incluyen en la expresión en implicantes

primos, además de que no tenemos una expresión mínima.

VI. Se listan los implicantes primos obtenidos en forma de filas, en una tabla en la

que las columnas corresponden a cada uno de los productos de sumas que

conforman a la expresión algebraica.

Siguiendo con el ejemplo:

0 1 2 5 6 7

0,1 00- x x

0,2 0-0 x x

1,5 -01 x x

2,6 -10 x x

5,7 1-1 x x

6,7 11- x x

VII. Se eligen los implicantes primos de tal forma que se cubran todas las columnas

(minitérminos) con el menor número de filas posible.

En nuestro ejemplo:

De este modo los implicantes que cumplen con el criterio son:

0,1 00-

2,6 -10

5,7 1-1

Por lo tanto, la minimización es: 𝑥(𝑎, 𝑏, 𝑐) = ���� + 𝑏𝑐 + 𝑎𝑐

35

4. Compuertas Lógicas En esta unidad el estudiante:

Conoce qué es una familia lógica y sabe diferenciar entre ellas.

Aplica las tablas de verdad de los diferentes operadores lógicos para obtener la

función booleana correspondiente a cada una de las compuertas lógicas.

4.1. Niveles lógicos y compuertas lógicas La electrónica digital es un área de la ciencia que estudia las señales eléctricas que varían

en forma discreta, considerando que se tienen bien identificados sus estados, razón por la

cual a un determinado nivel de tensión se le llama estado alto (High) o uno lógico; y a otro,

estado bajo (Low) o cero lógico. Los niveles lógicos equivalen a niveles de voltaje que

varían según la tecnología empleada.

Figura 4.1. Tensiones eléctricas como niveles lógicos.

La figura 3.1 esquematiza los rangos de voltaje que representan los estados lógicos de un

sistema binario, en el cual el valor 1 o verdadero se da en los niveles de voltaje alto, y el

valor 0 o falso se da en los niveles de voltaje bajo. Ésta forma de representar los valores de

verdad es llamada Lógica Positiva, porque es la interpretación natural de la mayoría de las

personas. Sin embargo, es posible representar los valores de verdad falsos con 1 o voltaje

alto, y los valores verdaderos con 0 o con voltaje bajo, lo que nos lleva a la Lógica

Negativa.

Figura 4.2. Interpretación de un proceso lógico en una compuerta.

Las compuertas son dispositivos que operan con aquellos estados lógicos mencionados.

Pueden asemejarse al proceso en una computadora, por un lado se ingresa un dato, la

compuerta realiza la operación lógica correspondiente a su tipo, y finalmente, muestra el

resultado en su salida.

36

Cada compuerta lógica realiza una operación aritmética o lógica diferente, que se

representa mediante un símbolo de circuito. A continuación, vamos a analizar las diferentes

operaciones lógicas una por una comenzando por la más simple.

4.1.1. Compuerta NOT La también llamada compuerta inversora, es un dispositivo electrónico de una única entrada

que devuelve el valor lógico opuesto del que se le introduce. por ejemplo, si se pone su

entrada a 1 (nivel alto) se obtiene una salida 0 (o nivel bajo), y viceversa.

a S

0 1

1 0

Tabla de Verdad

Figura 4.3. La compuerta Not.

4.1.2. Compuerta AND Una compuerta AND tiene dos entradas como mínimo y su operación lógica es el producto

lógico de ambas entradas. No se debe confundir la operación lógica con la operación

aritmética, ya que pueden no concordar con las aritméticas, aunque en este caso particular

coincidan. Su salida será alta si sus dos entradas están a nivel alto.

Símbolo

a b S

0 0 0

0 1 0

1 0 0

1 1 1

Tabla de verdad

Figura 4.4. Compuerta AND.

4.1.3. Compuerta OR Al igual que la anterior posee dos entradas como mínimo y la operación lógica, será una

suma lógica entre ambas. La operación lógica O es inclusiva; es decir que la salida es alta si

una sola de las entradas es alta o inclusive si ambas lo son. Es decir, basta que una de las

entradas sea 1 para que su salida también lo sea.

Símbolo

a b S

0 0 0

0 1 1

1 0 1

1 1 1

Tabla de verdad

Figura 4.5. Compuerta OR

37

4.1.4. Compuerta NAND La compuerta NAND es un dispositivo de dos entradas como mínimo, cuya salida es la

composición de poner una compuerta NOT después de una compuerta AND, de tal forma

que su salida es la inversa de ésta última. Su símbolo es casi el mismo que la AND,

agregando justo antes de la línea de salida un pequeño círculo, que es virtualmente significa

la inversión de dicha salida.

Símbolos

a b S

0 0 1

0 1 1

1 0 1

1 1 0

Tabla de verdad

Figura 4.6. Compuerta NAND

4.1.5. Compuerta NOR La compuerta NOR se obtiene conectando una NOT a la salida de una OR. El resultado que

se obtiene a la salida de esta compuerta es entonces la inversión de la operación lógica OR.

Lo mismo que en el caso anterior, sólo se agrega un círculo a la salida de la OR y se

obtiene el símbolo de la NOR.

Símbolos

a b S

0 0 1

0 1 0

1 0 0

1 1 0

Tabla de verdad

Figura 4.7. Compuerta NOR

4.1.6. Compuerta XOR La compuerta OR exclusiva u XOR, es una versión de la OR anteriormente vista, en la que

se anula la posibilidad de que ambas entradas en 1 den como salida 1 (ver tabla de verdad

en la figura 4.8). En Álgebra de Boole su expresión sería: 𝑆 = 𝑎�� + ��𝑏 = 𝑎 ⊕ 𝑏.

Símbolos

a b S

0 0 0

0 1 1

1 0 1

1 1 0

Tabla de

verdad

Figura 4.8. Compuerta XOR

38

4.1.7. Compuerta XNOR La compuerta XNOR, es simplemente la negación de la compuerta XOR. Por el Álgebra de

Boole tenemos que, 𝑎 ⊕ 𝑏 = 𝑎�� + ��𝑏 = 𝑎�� ∙ ��𝑏 = (�� + 𝑏)(𝑎 + ��) = ���� + 𝑎𝑏 = 𝑎 ⊙ 𝑏.

El último término en la igualdad es justamente la expresión de la función XNOR.

Símbolos

a b S

0 0 1

0 1 0

1 0 0

1 1 1

Tabla de verdad

Figura 4.9. Compuerta XOR

4.2. Familias Lógicas Las compuertas lógicas, como dijimos, son dispositivos electrónicos que sirven para

construir circuitos que simulen físicamente las expresiones dadas por la teoría del Álgebra

de Boole. Estos dispositivos electrónicos se constituyen en circuitos integrados digitales

(CI), que se agrupan en familias lógicas. Cada familia refiere una tecnología específica de

fabricación.

Las diversas familias lógicas caen en las amplias categorías basadas en el elemento

principal que se usa para la fabricación. Las familias bipolares (TTL Y ECL) utilizan el

transistor bipolar como elemento principal del circuito. Las familias de semiconductores de

óxido metálico (MOS) utilizan transistores de efecto de campo como elemento principal.

Si bien las familias TTL y CMOS dominan las áreas de aplicación que requieren

compuertas biestables, existen otras familias cuyas características se resumen la tabla 4.1.

Tabla 4.1. Familias lógicas de circuitos integrados digitales.

FAMILIA DTL RTL TTL STTL ECL CMOS

Compuerta básica NAND NOR NAND NAND OR

NOR

NAND

NOR

Fan-Out tipico 8-10 4 8-10 8-10 20-25 ilimitada

Retardo típico (ns) 30 20 6-33 3-10 1-2 25-35

Desempeño al ruido bueno aceptable aceptable aceptable aceptable Muy

bueno

Disipación de

potencia 10 mw 12 mw 1-25 mw 2-20 mw alta 0.01 w

La nomenclatura con que se definen los parámetros más importantes de los circuitos

lógicos se ha estandarizado:

39

VIH (mín.), Voltaje de entrada de alto nivel: es el nivel de tensión mínimo que se

requiere para un “1” lógico en la entrada.

VIL(máx.), Voltaje de entrada de bajo nivel: es el nivel de tensión máximo

admitido que se requiere para un “0” lógico en la entrada.

VOH (mín.) Voltaje de salida de alto nivel: es el valor de tensión en la salida del

circuito lógico para un estado de “1” lógico.

VOL (máx.) Voltaje de salida de bajo nivel: es el valor de tensión en la salida del

circuito lógico en un estado de “0” lógico.

IIH, Corriente de entrada de alto nivel: corriente que fluye en una entrada cuando

se aplica una tensión VIH en dicha entrada.

IIL, Corriente de entrada de bajo nivel: corriente que fluye en una entrada cuando

se aplica una tensión VIL en dicha entrada.

IOH, Corriente de salida de alto nivel: corriente que fluye desde la salida en el

estado “1” lógico.

IOL, Corriente de salida de bajo nivel: corriente que fluye desde la salida en el

estado “0” lógico.

Otros parámetros relevantes:

Fan-Out, Carga máxima de la salida: número máximo de entradas lógicas que se

pueden conectar en una salida (figura 4.10).

Figura 4.10. Compuertas en paralelo en la misma salida (Fan-Out)

tPLH, es el tiempo de retardo para pasar de un estado lógico “0” a “1”.

tPHL, es tiempo de retardo para pasar de un estado lógico “1” a “0”.

Figura 4.11. Tiempos de retardo en un circuito integrado.

40

Icc, corriente que se toma de la fuente de alimentación, esta corriente variara de

acuerdo a los estados lógicos de la salida del circuito.

Inmunidad al ruido: es la capacidad del circuito para tolerar señales ruidosas en

sus entradas o la variación de tensión admisible a la entrada de una compuerta sin

que esta cambie de estado.

El margen de ruido en el estado alto se define como:

VNH = VOH (min) – VIH (min)

El margen de ruido en el estado bajo se define como:

VNL = VIL (max) – VOL (max)

Figura 4.12. Esquematización del ruido en los niveles lógicos.

Como se puede ver en la figura 4.12, la tensión de salida (A) si es “0” lógico podrá

superar a Vol en un valor menor o igual a VNL antes de que la entrada B deje de

reconocer un “0” lógico. Igualmente observamos que el valor VOH en A podrá

disminuir VNH voltios antes de que la entrada B deje de reconocer un “1” lógico.

Todos los parámetros indicados se obtienen de las hojas de datos (datasheets) del fabricante

Figura 4.13. Fragmento de una hoja de datos.

41

4.2.1. Lógica Transistor-Transistor (TTL) La familia Transistor-Transistor Logic, basa su funcionamiento en arreglos de transistores

de tipo de unión bijuntura (BJT). El circuito básico es la compuerta NAND, su circuito se

muestra en la figura siguiente (figura 4.14)

Figura 4.14. Compuerta base de la familia TTL.

Para describir el funcionamiento de este circuito convendremos primero que las dos

entradas A y B están en estado lógico “1” (5 voltios), en estas condiciones por la juntura B–

E de Q1 no circula corriente y por la juntura B–C circula una corriente que pone en estado

de conducción al transistor Q2, así la tensión de colectora de Q2, 0.8 voltios llevando a Q3 al

corte y a Q4 a estado de conducción. En estas condiciones la salida tendrá un valor menos o

igual a 0,4 voltios (figura 4.15).

Figura 4.15. Salida en nivel bajo de la compuerta NAND.

42

Para el caso de la Figura 4.16, donde una entrada tendrá el valor lógico “0”, la tensión en la

base de Q2 lo lleva al corte y la corriente que fluye por Q2 activa el transistor Q3

obteniéndose una tensión de más de 2,4 voltios en la salida.

Figura 4.16. Salida en nivel alto de la compuerta NAND

Los circuitos TTL son circuitos de drenaje de corriente, las salidas reciben corriente de las

entradas.

Figura 4.17. Drenaje de corriente en un CI TTL.

Del análisis del circuito (figura 4.17) surge que se podrá obtener el mismo funcionamiento

si eliminamos Q3 y conectamos directamente R4 al colector Q4, sin embargo, con esto

tendríamos dos inconvenientes:

a) Una elevada corriente circulando por R4 con Q4 en estado de saturación (5 V/130

40 mA) lo que aumentaría significativamente el consumo de energía en el CI.

43

b) Se aumentaría la impedancia de salida en estado alto, con la configuración actual el

transistor Q1 actúa como seguidor y su impedancia de salida es baja (10 ). Esta

baja impedancia ofrece una constante de tiempo breve para cambiar de estado.

Una desventaja de la configuración actual ocurre durante la transición de “0” a “1” en la

salida ya que Q4 se desactiva después que Q3 y por un instante ambos transistores conducen

y circulan una corriente relativamente grande (30 a 40 mA).

La relación de potencia disipada/velocidad se muestra en la gráfica de la figura 4.18, se

puede apreciar que la potencia disipada se incrementa cuando se reduce la demora en la

respuesta del CI.

Figura 4.18. Respuesta en el tiempo con respecto de la potencia disipada.

De las curvas propuestas por el fabricante vemos que existen diferentes subfamilias

(series). La serie L (54LXX) y la serie LS (54LSXX) utilizan la tecnología Schottky es

decir utilizan transistores que poseen el diodo Schottky entre la base y el colector para

impedir que el transistor se sature (figura 4.19), el resultado es una reducción en los

tiempos de conmutación.

Figura 4.19. Diodo Schottky en un arreglo transistor.

44

La serie S utiliza valores pequeños de resistencia

Figura 4.20. El diodo Schottky en un arreglo NAND

Para ayudar a reducir los tiempos de cambio, esta trae como consecuencia un aumento en la

disipación de energía. Nótese que los transistores Q3 y Q4 se han reemplazado por

Darlington para ofrecer una mejor rapidez en el cambio de la salida de “0” a “1”.

La serie LS, de menor velocidad que la S utiliza el transistor Schottky pero con valores de

resistencia más elevados (figura 4.21).

Figura 4.21. Arreglo de la subfamilia LS

Ejercicio 4.1. Determinar el consumo de energía de un circuito realizado con CI 5400 y la

energía si el mismo circuito se implementa con CI 54S00.

45

Ejercicio 4.2. Determinar el tiempo de demora de la señal de entrada de la figura 4.22.

Figura 4.22. Arreglo del ejercicio 4.2.

4.2.1.1. Carga de dispositivos TTL Cargas Unitarias: A fin de simplificar el diseño con circuitos TTL, los fabricantes han

establecido factores de carga de entrada y salida estandarizados en términos de la corriente.

Estas corrientes se denominan cargas unitarias (UL) y se definen como sigue:

Tipo

ICCH (ma)

todos “1” salida

min max

ICCL (ma)

todos “0” salida

min.

máx.

ICC (mA)

promedio

por

categoría

Potencia

promedio por

categoría

Vcc = 5v

Potencia

total

Promedio

00 4 8 12 22 2 2 mA x 5v = 10

mW 40 mw

S00 10 16 20 36 3,75 3,75 mA x 5v =

18,75 mw 75 mw

Tipo Tda (ns) Tdb (ns) Tdc (ns) Tdsalida (ns) Ttotal (ns)

00 7 11 7 11 36

S00 3 3 3 3 12

46

1 Carga Unitaria (UL) = 40 A en estado lógico ‘1’

= 1,6 mA en estado lógico ‘0’

Estos factores de carga unitaria representan las corrientes máximas de entrada para la serie

TTL estándar. En otras palabras, la máxima corriente que fluye en una entrada TTL en

estado ALTO es Iih(max) = 40 A y la corriente máxima que fluye en una entrada TTL en

estado BAJO es Iil(max) = 1.6 mA

La siguiente tabla muestra el factor de carga para las series de circuitos TTL

Serie Carga de entrada Factor de carga

Alta Baja Alta Baja

7400 1 UL 1 UL 10 UL 10 UL

74H00 1.25 UL 1.25 UL 1.25 UL 1.25 UL

74L00 0.5 UL 0.1 UL 10 UL 2.5 UL

74S00 1.25 UL 1.24 UL 25 UL 12.5 UL

74LS00 0.5 UL 0.25 UL 10 UL 5 UL

La figura 4.23 muestra una salida TTL en estado bajo conectado a varias entradas.

Figura 4.23. Salida en nivel bajo a varias entradas TTL.

Si bien el transistor Q4 está saturado su resistencia interna no es cero y un incremento de la

corriente Iol producirá un aumento de la tensión Vol. Este incremento no podrá superar

VoL(max) y esto limitará la corriente IOL y por lo tanto el número de cargas IIL que pueden

conectar.

La situación en estado alto en la salida se muestra en la figura 4.24, aquí Q3 provee la

corriente a las entradas, si la corriente IOH se hace demasiado grande VOH puede disminuir

por debajo de su valor límite VOH(min).

47

Figura 4.24. Salida en nivel alto a varias entradas TTL

Ejercicio 4.3: Determinar la cantidad de compuertas que pueden conectarse a la salida de

una compuerta NAND 5400 de la figura 4.25.

Figura 4.25. Arreglo del ejercicio 4.3.

Solución:

a) Salida en estado ‘0’

IOL = 16 mA (max), IIL = 1.6 mA

𝐶𝑎𝑟𝑔𝑎 𝑀á𝑥𝑖𝑚𝑎 =𝐼𝑂𝐿

𝐼𝐼𝐿=

16

1.6= 10

b) Salida en estado ‘1’

IOH = 400 μA, IIH = 40 μA

𝐶𝑎𝑟𝑔𝑎 𝑀á𝑥𝑖𝑚𝑎 =𝐼𝑂𝐻

𝐼𝐼𝐻=

400

40= 10

4.2.1.2. Otras características de la familia TTL a) Entradas Flotantes: si una entrada no se conecta actúa como “1” lógico debido a que

la unión B-E de Q1 no se polariza en estado directo.

48

b) Entradas no utilizadas: no es conveniente dejar entradas flotantes ya que esta puede

actuar como una antena y captar ruidos que pueden modificar la salida, las entradas

no utilizadas deben conectarse a +V a través de una resistencia de 1k , la función

de esta resistencia es la de proteger a Q1.

Figura 4.26. Entradas no usadas a nivel alto.

c) En aquellos casos donde la entrada debe mantenerse en “0” (figura 4.27) la

resistencia R deben ser del menor valor posible de tal forma que la tensión

producida por la circulación de IIL sea menor que VIL(max).

Figura 4.27. Entrada a cero a través de una resistencia.

d) Oscilaciones momentáneas de corriente: dada la diferencia de velocidad en la

conmutación de los transistores Q3 y Q4 en sistemas donde la entrada a una

compuerta lógica es de variación lenta, se producen oscilaciones momentáneas de la

corriente.

Figura 4.28. Oscilaciones de corriente en un TTL.

La oscilación es ampliada por los efectos de cualquier capacitancia de carga en la

salida del circuito. La técnica más común de filtrado es la conexión de pequeños

capacitores conectados de Vcc a tierra en cada CI (figura 4.29).

49 Figura 4.29. Eliminación de oscilaciones en CI’s.

e) AND por conexión, en la figura 4.30(b) vemos la realización de una función And

por conexión, en ella se han eliminado la compuerta and, presente en la figura 4.30

(b)

Figura 4.30. Dos formas de obtener la AND: (a) Por compuerta; (b) Por conexión.

Los circuitos TTL convencionales no permiten la configuración AND por conexión,

supongamos que conectamos dos salidas, una de estas salidas está en estado Alto y

otras en estado Bajo.

Figura 4.31. Arreglo TTL en configuración And por conexión.

50

En este caso Q4 es una caja de resistencia muy baja y tomara una corriente elevada,

esta corriente puede afectar a Q4b al superarse Iol. Esta situación empeora si aumenta

la cantidad de puertas conectadas.

Para permitir esta conexión algunos circuitos TTL se fabrican con salida a colector

abierto. Como se observa en la figura 4.32 en estos circuitos se han eliminado Q3,

D1 y R4.

Figura 4.32. TTL a colector abierto.

La resistencia Rc extendida al CI debe ser elegida de manera que cuando una salida

pase a Bajo mientras las otras permanezcan en Alto, la corriente drenada no exceda

su límite Iol.

Podría parecer que el valor de Rc debe hacerse lo más grande posible, sin embargo,

debe entenderse que las capacidades parásitas se cargan a través de esta Rc por lo

que una Rc grande afectaría la velocidad de transición. Para no afectar la velocidad

la resistencia Rc debe hacerse lo más chica posible.

Ejercicio 4.4. El CI 7405 contiene 6 inversores con salida de colector abierto en el circuito

de la figura 4.33(a). Determinar:

a) La función de salida 𝒇.

b) El valor de Rc, use la figura 4.33(b) como referencia.

Figura 4.33. Configuración de circuitos del ejercicio 4.4.

51

Solución:

a) 𝑓(𝑎, 𝑏, 𝑐, 𝑑, 𝑒, 𝑥) = 𝑎’ ∙ 𝑏’ ∙ 𝑐’ ∙ 𝑑’ ∙ 𝑒’ ∙ 𝑥’ b) Si suponemos que solo un inversor tiene su salida en BAJO , el transistor de salida

de ese inversor debe poder drenar ,las corrientes Irc e IIL.

Iol(max) = Irc + ∑ IIL Iil = 1,6 mA

16 mA = IRC + 8 mA

IRC = 16 mA – 8 mA = 8 mA

5758

4.05(max)

(min)

RC

OLcc

cI

VVR

Ejercicio 4.5. Para una compuerta NAND 74L500 obtener la curva Vsalida = F(Ventrada)

deduciendo sus intervalos lógicos VIL, VOL, VIH, VOH y comparar los datos obtenidos con

los del fabricante.

Figura 4.34. Arreglo para el ejercicio 4.5.

Ejercicio 4.6. Medir los tiempos de propagación de subida y bajada con carga de 200 pF,

para efectuar la medida poner en cascada las 4 compuertas de CI 74L500.

Figura 4.35. Arreglo para el ejercicio 4.6.

Ejercicio 4.7. Para el CI 74L500 medir el consumo estático

a) Para todas las entradas en “0”

b) Para todas las entradas en “1”

4.2.1.3. El tercer estado Una variante en la configuración de la salida permite que existan 3 estados posibles en la

salida: ALTO, BAJO Y ALTA IMPEDANCIA (este último llamada Hi-Z). En el estado

Hi-Z Q3 y Q4 se desactivan de manera que la salida sea una alta impedancia conectada a

tierra.

El 3er estado se obtiene modificando el circuito básico como se muestra en la figura 4.36.

Entrada Salida1

23

52

Figura 4.36. Configuración para alta impedancia.

En este circuito:

Con E = 1 el circuito opera como un inversor normal debido a que una tensión alta

no afecta a Q1 ni a Q2.

Con E = 0 el circuito pasa a Hi-Z independientemente del estado de A, un “0” en E

polariza directamente la juntura B-E de Q1 y corta Q2 hacemos la corriente de R2 se

deriva por D2 y Q3 se corta con ambos transistores Q3 y Q4 cortados el terminar de

salida es esencialmente un circuito abierto.

Las salidas de los circuitos integrados que poseen el tercer estado se pueden conectar en

paralelo sin sacrificar la velocidad de transición, no obstante, debe tenerse en cuenta que

solo uno de los CI puede estar activo en un determinado instante.

Figura 4.37. CI con tercer estado.

Un separador de triple estado es un circuito que se utiliza para controlar el paso de una

señal lógica, los Integrados 74125 y 74126 son los más comúnmente utilizados.

53 Figura 4.38. Nomenclatura de integrados de Alta Impedancia.

Los circuitos con tercer estado se encuentran disponibles también en la tecnología MOS

4.2.2. Familia Lógica MOS Esta familia de semiconductor de óxido metálico basa su fabricación en el transistor de

efecto de campo (FET), existen dos tipos conocidos: FET de canal N y FET de canal P.

Figura 4.39. Semiconductores MOS.

En el FET de canal N, cuando la compuerta (g) es negativa respecto a la fuente (s), el FET

es un circuito abierto del drenaje (D) a la fuente. Si la compuerta es positiva con respecto a

la fuente el FET es un cortocircuito del drenaje a la fuente. En el caso del FET de canal P la

operación es la misma excepto que se invierten las polaridades.

Es probable que la operación del FET parezca similar a la del transistor bipolar, pero

existen diferencias importantes. En el bipolar el factor de control es la corriente de base;

por ejemplo, es en el transistor NPN cuando la base se hace positiva respecto al emisor,

fluye una corriente de la base al emisor y es esta corriente la que activa al transistor.

Además, el transistor entra en saturación, es decir, el voltaje del colector al emisor

desciende a un valor despreciable solo cuando fluye la suficiente corriente por el colector.

Por el contrario, en el FET el voltaje compuerta-fuente controla la impedancia drenaje –

fuente mediante la acción de un campo electroestático (de allí su nombre de efecto de

campo) y la corriente de compuerta, prácticamente no puede medirse. Cuando el FET se

activa la tensión drenaje fuente es casi cero.

54

Estas características del FET permiten construir CI con consumo de energía

extremadamente bajos.

Los circuitos digitales que emplean FET se deriva en 3 categorías.

P-MOS -> FET de canal P

N-MOS -> FET de canal N

CMOS -> MOS complementario que utilizan FET de canales P y N.

Los P-MOS y N-MOS tienen una mayor densidad de integración que los C-MOS y resultan

por lo tanto más económicas que los C-MOS.

La categoría N-MOS tiene el doble de densidad de integración que la P-MOS y es casi dos

veces más rápida.

El C-MOS tiene la mayor complejidad y la menor densidad de integración, pero tiene

mayor velocidad y menor disipación de energía que las otras dos.

4.2.2.1. Subfamilia N-MOS Inversor N-MOS. Q1 se diseña de tal manera de que

tenga una resistencia R0N mucho mayor que Q2. La

resistencia en OFF de Q2 es del orden de 1010 .

Si realizamos el análisis considerando a los transistores

como resistencia tendremos:

a) Cuando 𝑉𝑖𝑛 = 0 𝑉 ⟹ 𝑄2 = 𝑂𝐹𝐹

b) Cuando 𝑉𝑖𝑛 = 5 𝑉 ⟹ 𝑄2 = 𝑂𝑁

Figura 4.40. Inversor N-MOS.

Figura 4.41. Circuito equivalente.

55

NAND N-MOS. En este caso vemos que Q1 también aquí actúa como una resistencia de

carga mientras Q2 y Q3 son interruptores controlados por las entradas Ay B (figura 4.42).

Si A y B está en “0” el FET correspondiente está en OFF y presta una alta resistencia.

Cuando A y B están en “1”, Q2 y Q3 están en ON y la salida es baja.

Figura 4.42. NAND N-MOS: (a) Implementación; (b) y (c), circuitos equivalentes.

Los circuitos con tecnología P-MOS serán los mismos excepto para la polaridad del voltaje.

Ejercicio 4.8. La compuerta NOR N-MOS se muestra en la figura 4.43. Realice el análisis

de su funcionamiento

.

Figura 4.43. Arreglo NOR-NMOS

56

4.2.2.2. Subfamilia CMOS La lógica C-MOS es más rápida y de menor consumo que las anteriores, pero de mayor

complejidad en la fabricación. Utiliza FET de tipo P y N, pero además es la más simple de

producir que la TTL y tiene mayor densidad de integración.

Inversor C-MOS. Analizamos el circuito de la figura

4.44, para Vin = Vdd, Q1 está cortado con una resistencia

equivalente elevada (1010) y la compuerta Q2 estará en

conducción con RoN = 1 k, la salida Vout será en

consecuencia un cero lógico con un valor cercano a los 0

voltios.

Si Vin = 0 voltios las condiciones se invierten y entonces

Vout Vdd.

Figura 4.44. Inversor C-MOS

Ejercicio 4.9. Las configuraciones de las compuertas NAND y NOR se muestran en las

figuras 4.45 y 4.46 respectivamente, realice el análisis correspondiente.

Figura 4.45. Compuerta NAND C-MOS.

Figura 4.46. Compuerta NOR C-MOS.

Características importantes de la familia de los C-MOS:

a) Niveles de tensión: operan con voltaje que van de 3 a 15 voltios.

b) Los subniveles de salida estarán muy próximos a los 0v en nivel bajo y a Vdd en

nivel Alto. La razón de esto es que la resistencia de entrada de una compuerta MOS

es tan grande (1012 ohms) que casi no carga a la salida de la compuerta que la

impulsa

c) El nivel de ruido se puede determinar como sigue:

VNH = VOH (min) – VIH (min)= Vdd – 70% = 30% Vdd

VNL = VIL (max) – VOL (max)= 30% - 0= 30% Vdd

57

d) Disipación energía: en estado estático es extremadamente baja, la potencia disipada

crece en función a la frecuencia con la cual los circuitos cambian de estado, por

ejemplo: Una compuerta que disipa 10 nW en estado estático, disipara 0,1 mW si

cambia a una frecuencia de 100khz y 1mW en 1MHZ. De este modo una

compuerta CMOS comienza a perder algunas de sus ventajas sobre otras familias

lógicas cuando aumenta la frecuencia. La potencia disipada por una compuerta

CMOS es semejante a una compuerta LS-TTL con frecuencia superior a 5 MHz.

e) fan out: el factor de carga en estos circuitos no está limitado por la corriente que

deben derivar los componentes ya que las resistencias son muy elevadas y las

corrientes casi nulas.

El problema aquí aparece por la capacidad que presenta cada entrada C-MOS, la

salida C-MOS tendrá entonces que cargar y descargar estas capacitancias lo que trae

aparejado en incremento en el tiempo de propagación. Así pues, el factor de carga

depende de la máxima demora de propagación admisible, normalmente se limita en

50 para una operación en baja frecuencia ( 1MHz).

f) Entradas no usadas: las entradas CMOS nunca deben dejarse desconectadas ya que

son muy susceptibles al ruido y a las cargas estáticas.

g) A semejanza de los circuitos TTL, los dispositivos CMOS y MOS requieren de

transiciones razonablemente rápidas en la entrada para una operación confiable. En

general los dispositivos CMOS funcionaran a nivel óptimo con las transiciones

menores a 15 S cuando Vdd = 5 V y menores a 4 S cuando Vdd = 10 V

El 3er estado en CMOS. Las salidas CMOS nunca deben interconectarse, si se

interconectan y estas salidas asumen valores lógicos diferentes se obtendrá una tensión

Vdd/2 debido a la división de voltaje producido por las resistencias equivalentes.

Figura 4.47. Arreglo para el análisis del 3er estado CMOS.

Este voltaje está dentro del intervalo indeterminado y es inadmisible para activar otras

compuertas. Para el control del 3er estado se implementa una configuración como la de la

figura 4.48.

58

Figura 4.48. Arreglo para implementar el 3er Estado CMOS.

4.2.3. Compatibilidad TTL-CMOS En un arreglo salida TTL y entrada CMOS tendríamos

el problema de que, dado que la resistencia de entrada

CMOS es muy alta no carga la salida del TTL, pero

existe un problema debido a que la salida TTL tiene

un estado ALTO (VOH) muy próximo a VIH(min) de

una CMOS, la solución a este problema es la conexión

(figura 4.49) de una resistencia entre la salida TTL y

+5V, esta resistencia logra que la tensión de salida se

eleve cerca de Vcc (5V).

Figura 4.49. Conexión TTL-

CMOS.

Ahora, si tenemos una salida CMOS y una entrada

TTL, la entrada TTL no requiere mucha corriente en

estado alto IIH (max) = 40 µA, por lo que no habría

problemas. En cambio, el estado Bajo es un problema

debido a que IIL es relativamente alta, ésta corriente es

exigida al TTL, que al pasar a través de RON puede

elevar VOL por encima de VOL(max) del TTL.

Figura 4.50. Conexión CMOS-

TTL sin corrección.

Normalmente un dispositivo CMOS podrá impulsar

una sola compuerta TTL del tipo LS. Por esto una

solución de conexionado serÍa como el de la figura

4.51.

Figura 4.51. Conexión CMOS-

TTL corregida.

Ejercicio 4.10. Calcule VOH para una

salida CMOS que impulsa 10 entradas TTL.

Solución:

𝑰(𝑰𝑯)(𝑻𝑻𝑳) = 𝟒𝟎𝝁𝑨

Caída de tensión en 𝑅𝑜𝑛 (𝐶𝑀𝑂𝑆)

𝑉𝑅𝑜𝑛 = 1𝑘Ω ∗ 40𝐴 ∗ 10 = 0,4 𝑉

Figura 4.52. Arreglo para el ejercicio 4.10.

59

De este modo:

VOH (CMOS) = VDD – VRON

VOH (CMOS) =5 – 0,4 = 4,6 V

VOH (CMOS) > VIH (min) (TTL)

Ejercicio 4.11. Para una compuerta NAND CMOS 4011

obtener la curva V0= F(VIN) en vació y con una carga de

1K, para tensiones de realimentación de 5 y 12 voltios.

Compare los datos obtenidos con los proporcionados con

el fabricante.

Figura 4.53. Arreglo del

ejercicio 4.11.

Ejercicio 4.12. Medir los tiempos de propagación de subida y bajada en vacío y con carga

de 100 de una sola puerta NAND 4011.

60

5. Circuitos Combinacionales En esta unidad el estudiante:

Diseña e implementa circuitos combinacionales.

5.1. Introducción. Los circuitos lógicos de sistemas digitales, pueden ser combinatorios o secuénciales. Un

circuito combinatorio consta de compuertas lógicas cuyas salidas en cualquier momento se

determinan directamente a partir de los valores de las entradas presentes. Un circuito

combinatorio realiza una operación de procesamiento de información determinada que se

puede especificar lógicamente por medio de un conjunto de expresiones booleanas. Los

circuitos secuenciales emplean elementos de almacenamiento llamados multivibradores

biestables (flip–flops) además de las compuertas lógicas. El estado de los elementos de

almacenamiento, a su vez, es función de las entradas previas. Como consecuencia, las

salidas de un circuito secuencial dependen no solo de los valores presentes de las entradas,

sino también de las entradas pasadas, y el comportamiento del circuito debe especificarse,

por una secuencia de tiempo de entradas y estados internos. Los circuitos secuenciales se

presentan en la siguiente unidad.

Un circuito combinatorio consta de variables de entrada, compuertas lógicas o de lógica, y

variables de salida. Las compuertas lógicas, aceptan señales de las entadas y generan

señales en las salidas. Este proceso transforma informaciones binarias de datos de entrada

en datos de salidas requeridos. En la figura siguiente se presenta un diagrama en bloques de

un sistema combinacional.

Figura 5.1. Esquema general de un circuito combinacional.

Las M variables de entrada provienen de una fuente externa y las N variables de salida se

dirigen a un destino externo. Cada variable de entrada y salida existe físicamente como una

señal binaria que representa el equivalente de un ‘1’ o un ‘0’ lógico.

Para n variables de entrada existen 2n combinaciones binarias posibles. Para cada

combinación binarios de las variables de entrada existe un valor binario de salida posible.

61

Por lo tanto, un circuito combinacional se puede especificar a través de una tabla de verdad

que presente los valores de salida de cada combinación de la variable de entradas.

Existen circuitos combinacionales que se emplean frecuentemente en el diseño y la

construcción de computadores digitales. Estas componentes están disponibles en circuitos

integrados y se clasifican como circuitos MSI (mediana escala de integración).

5.2. Procedimiento de análisis El análisis de un circuito combinacional, consiste en determinar la función que ejecuta el

circuito. Se inicia con un diagrama de un circuito lógico, dado y culmina con un conjunto

de funciones booleanas cuya tabla de verdad junto con una posible explicación de la

operación del circuito

El primer paso en el análisis consiste en asegurarse de que el circuito dado sea

combinacional y no secuencial. El diagrama de un circuito combinatorio tiene compuertas,

lógicas sin elementos de retroalimentación o almacenamiento. Una trayectoria de

retroalimentación existe si hay una conexión de la salida de una compuerta a la entrada de

otra, que forma parte de la entrada de la primera compuerta.

Cuando se verifica que un diagrama lógico es un circuito combinacional, se puede

proceder a obtener las funciones booleanas de salida o la tabla de la verdad.

5.2.1. Obtención de Funciones Booleanas Para mostrar el proceso de obtención de una función booleana consideremos el siguiente

circuito.

Figura 5.2. Circuito combinacional para ejemplo de deducción de funciones booleanas.

Los pasos a seguir son:

I. Identificar y nominar las salidas de aquellas compuertas cuyas entradas está en

función de la variable de entrada para luego escribir la función Booleana que la

expresa.

𝑇1 = �� 𝑐 II. Identificar y nominar aquellas compuertas que tengan como entrada las variables

de entrada y/ o las salidas de las compuertas identificadas en el paso anterior.

Escribir su función.

b

c

a

1 2

64

5

1

23

89

10T3

T2

T1

62

𝑇2 = 𝑎 ∙ 𝑇1 III. Repetir el paso anterior hasta llegar a las variables de salida.

𝑇3 = 𝑇1 ∙ 𝑇2 = (�� ∙ 𝑐) ∙ (𝑎 ∙ (�� ∙ 𝑐)) = 𝑎 ∙ �� ∙ 𝑐

5.2.2. Obtención de la Tabla de Verdad La obtención de la tabla de verdad de un circuito combinacional es un proceso sencillo, una

vez que se conocen las funciones booleanas de salida, se procede a construir una tabla de

verdad en la cual se escribirán todas las combinaciones posibles de las variables que

intervienen en la función y luego tomando estas combinaciones se reemplaza en la función

booleana para así obtener el valor de la salida.

Siguiendo con el ejemplo, para algunas combinaciones

tenemos:

Para la combinación 0

𝑇3 = (1 ∙ 0) ∙ (0 ∙ (1 ∙ 0)) = 0

Para la combinación 5

𝑇3 = (1 ∙ 0) ∙ (0 ∙ (1 ∙ 0)) = 0

Tabla de Verdad del ejemplo

# a b c 𝑇3

0 0 0 0 0

1 0 0 1 0

2 0 1 0 0

3 0 1 1 0

4 1 0 0 0

5 1 0 1 1

6 1 1 0 0

7 1 1 1 0

Si no se tiene la función booleana se puede recurrir a un simulador en software donde

podremos ir probando los valores a la entrada y verificar la salida, aunque deberíamos de

ser capaces de realizar ésta misma actividad a mano. Su docente le sugerirá el software más

adecuado para realizar una simulación. En la figura 5.3 se muestra el software LogiSim

simulando las combinaciones hechas en el ejemplo presente.

Figura 5.3. Simulación en software del circuito de ejemplo.

63

Ejercicio 5.1. Encontrar la función booleana y la tabla de verdad del circuito de la figura

siguiente. Realice la simulación en software y arme el circuito correspondiente para

verificar sus resultados.

Figura 5.4. Circuito para el ejercicio 5.1.

Solución:

𝐹 = 𝐴 ∙ 𝐶 + 𝐴 ∙ 𝐵 + 𝐵 ∙ 𝐶

Y la tabla de verdad construida a partir de la función F, para

todas las combinaciones posibles de las variables de entrada es la

que se muestra en el recuadro de la derecha.

Tabla de Verdad

A B C F

0 0 0 0

0 0 1 0

0 1 0 0

0 1 1 1

1 0 0 0

1 0 1 1

1 1 0 1

1 1 1 1

5.3. Procedimiento de diseño El diseño de circuitos combinacionales comienza desde la especificación del problema y

culmina en un diagrama de circuito lógico o en un conjunto de funciones booleana del cual

se puede obtener el diagrama lógico.

En el procedimiento se aplican los siguientes pasos:

I. De las especificaciones del circuito, determínese el número de entradas y salidas y

asígnese un símbolo alfabético (o, letra) a cada una.

II. Construirla tabla de verdad que define la relación entre entradas y salidas

analizando 2n posibles combinaciones (n = cantidad de variables de entrada).

III. Obtener las funciones booleanas a partir de la tabla de verdad y simplifíquese por

el método de Karnaugh (o algebraicamente) para cada una de las salidas.

IV. Dibujar el diagrama lógico

Ejercicio 5.2. Diseñar un circuito con tres variables de entrada y una de salida. La salida

debe ser de un 1 lógico cuando el valor decimal que representan las entradas sea menor que

64

tres y 0 lógico en caso contrario. Utilícense solo compuertas NAND en la construcción del

diagrama. Realícese la simulación en software y física del diseño.

Solución:

i) Definimos las variables, en este caso se identifica claramente que necesitamos

tres variables de entrada a, b, c y una de salida S.

ii) Construimos la tabla de verdad que cumpla con el enunciado.

# a b c S

0 0 0 0 1

1 0 0 1 1

2 0 1 0 1

3 0 1 1 0

4 1 0 0 0

5 1 0 1 0

6 1 1 0 0

7 1 1 1 0

iii) Obtenemos la expresión booleana, en este ejemplo lo haremos como suma de

producto.

𝑆 = ����𝑐 + ����𝑐 + ��𝑏𝑐 iv) Aplicamos la reducción, en este caso por mapas de Karnaugh

𝑆 = ��𝑐 + ����

v) Construimos el diagrama lógico.

Figura 5.5. Primera aproximación al resultado.

Como puede apreciarse no cumple con el requerimiento de emplear compuertas

AND, lo cual se puede lograr si a la función resultante se le aplican las Leyes

de De Morgan, lo cual se deja al estudiante.

65

5.3.1. Circuitos de salida múltiple Cuando un circuito combinacional posee más de una salida, cada una de ellas puede ser

tratada en forma independiente, obteniéndose un diagrama lógico para cada una de ellas. El

riesgo que se corre en estos casos es la posibilidad de duplicar funciones con el

correspondiente aumento innecesario del costo, pero se simplifica notablemente el diseño y

se reducen las posibilidades de error. Además, se simplifica el mantenimiento del sistema.

De todas formas, mencionaremos que el método tabular Karnaugh permite la simplificación

de múltiples funciones si dadas las funciones 𝐹1 (𝑎, 𝑏, 𝑐), 𝐹2 (𝑎, 𝑏, 𝑐, ), y 𝐹3 (𝑎, 𝑏, 𝑐), se

aplican las siguientes sentencias:

a) Representar en una tabla aquellos términos canónicos que se repiten en 𝐹1, 𝐹2, 𝐹3.

b) Representar en una tabla aquellos términos que se repiten 𝐹1 y 𝐹2 y que no se

representaron en la tabla anterior.

c) Representar en una tabla aquellos términos que se repiten en 𝐹1 y 𝐹3 y que no se

representaron en las tablas anteriores.

d) Representar en una tabla aquellos términos que se repitan en 𝐹2 y 𝐹3 y que no se

representaron en las tablas anteriores.

e) Representar en una tabla los términos que solo están en 𝐹1 y que no se representaron

en las tablas anteriores.

f) Representar en una tala los términos que solo están en 𝐹2 y que no se representaron

en las tablas anteriores.

g) Representar en una tala los términos que solo están en 𝐹3 y que no se representaron

en las tablas anteriores.

h) Escribir las funciones booleanas para las funciones tomando los términos que le

correspondan a cada función de todas las tablas.

𝐹1, 𝐹2, 𝐹3

𝐹1,𝐹2

𝐹1, 𝐹3

𝐹2, 𝐹3

𝐹1

𝐹2

𝐹3

66

De este modo:

F1= términos de la tabla (𝐹1, 𝐹2, 𝐹3) + Términos de la tabla (𝐹1,𝐹2) +

+Términos de la tala (𝐹1, 𝐹3) + Términos de la tabla 𝐹1.

F2= términos de la tabla (𝐹1, 𝐹2, 𝐹3) + Términos de la tabla (𝐹1,𝐹2) +

+Términos de la tala (𝐹2, 𝐹3) + Términos de la tabla 𝐹2.

F3= términos de la tabla (𝐹1, 𝐹2, 𝐹3) + Términos de la tabla (𝐹1, 𝐹3) +

+Términos de la tala (𝐹2, 𝐹3) + Términos de la tabla 𝐹3.

Ejercicio 5.3. Diseñar un circuito que sirva de interfaz entre dos computadoras, tal como se

observa en el diagrama siguiente:

Figura 5.6. Condiciones para el ejercicio 5.3

Solución:

Según se observa, los códigos correspondientes a las cuatro primeras letras del alfabeto

deben enviarse a la segunda computadora. La problemática está en que la primera

computadora envía códigos de 3 bits, mientras que la segunda computadora espera datos de

2 bits. Entonces la interfaz tiene como propósito la conversión de los códigos.

Elaboramos una tabla de conversión en la cual las entradas son los valores de 𝑥𝑖 y las

salidas serán los valores 𝑦𝑗.

𝑥1 𝑥2 𝑥3 𝑦1 𝑦2 Letra

0 0 0 1 0 C

0 0 1 1 0 C

0 1 0 X X

0 1 1 0 0 A

1 0 1 1 1 D

1 1 0 0 1 B

1 1 1 0 1 B

Realizamos los mapas de Karnaugh, siguiendo los preceptos citados.

67

Planteamos el mapa donde

se repiten 𝑦1 e 𝑦2

𝑥1, 𝑥2

𝑥3

00 01 11 10

0 X

1 X 1

Planteamos el mapa de

términos no repetidos 𝑦1

𝑥1, 𝑥2

𝑥3

00 01 11 10

0 1

1 1

Planteamos el mapa de

términos no repetidos 𝑦2

𝑥1, 𝑥2

𝑥3

00 01 11 10

0 1

1 1

Entonces:

y1 = x1 x2 + x1 x2 x3

𝑦2 = 𝑥1 𝑥2 + 𝑥1 𝑥2 𝑥3 Y el circuito lógico queda como en la figura 5.7.

Figura 5.7. Circuito solución del ejercicio 5.3.

Ejercicio 5.4. Diseño de un decodificador BCD a 7 segmentos. Las pantallas digitales

que se encuentran en las calculadoras electrónicas y relojes digitales, se valen de

dispositivo de despliegue como son los diodos emisores de luz (LED) o despliegue de

cristal líquido LCD). Cada digito del display está formado por siete segmentos, cada uno de

los cuales consta de un LED, o cristal líquido que se puede iluminar por medio de señales

digitales (figura 5.8).

Figura 5.8. Display a 7 segmentos.

Un decodificador BCD, a siete segmentos es un circuito combinacional que acepta un

digito decimal de BCD y genera las salidas apropiadas para encender los segmentos que

68

permiten su presentación en el display. Las siete salidas del decodificador: a, b, c, d, e, f, g,

seleccionan los segmentos correspondientes en los despliegues, como se muestra en la

figura 5.8. La designación numérica escogida para representar los dígitos decimales se

presenta en la siguiente tabla para un display de cátodo común. Diseñe, simule y construya

el decodificador necesario.

A B C D a b c d e f g

0 0 0 0 1 1 1 1 1 1 0

0 0 0 1 0 1 1 0 0 0 0

0 0 1 0 1 1 1 1 0 1

0 0 1 1 1 1 1 1 0 0 1

0 1 0 0 1 1 0 0 1 1

0 1 0 1 1 0 1 1 0 1 1

0 1 1 0 0 1 1 1 1 1

0 1 1 1 1 1 1 0 0 0 0

1 0 0 0 1 1 1 1 1 1 1

1 0 0 1 1 1 1 0 0 1 1

1 0 1 0

Zona no representable

1 0 1 1

1 1 0 0

1 1 0 1

1 1 1 0

1 1 1 1

Figura 5.9. Esquema general de la solución del ejercicio 5.4.

Ejercicio 5.5. Circuito comparador. Un circuito de ésta clase es capaz de decidir si un par

de números de n bits son iguales o en su defecto indicar cuál es mayor o menor. En este

ejercicio se desea crear un dispositivo comparador de dos bits. Se tienen como entradas a

los números 𝐴 = 𝑎1𝑎0 y 𝐵 = 𝑏1 𝑏0, donde las letras minúsculas representan cada bit del

69

número y su subíndice indica el orden de significancia del bit. Como salidas tenemos a 𝑧1,

𝑧2, 𝑧3, cada una con la significancia que se da en la imagen. Obtener: la tabla de verdad

correspondiente, las ecuaciones booleanas, la simulación en software y la simulación física.

Figura 5.10. Condiciones para el ejercicio 5.5.

5.4. Circuitos aritméticos Como es lógico suponer, un circuito aritmético es un circuito combinatorio que realiza

operaciones aritméticas tales como la suma, resta, multiplicación y división con números

binarios o con números decimales codificados binariamente.

5.4.1. Semisumador y sumador completo La operación aritmética más básica es la suma o adición de dos dígitos binarios de cuatro

maneras posibles: 0 + 0 = 0, 0 + 1 = 1, 1 + 0 = 1, y, 1 + 1 = 10. Las tres primeras

operaciones producen una suma de un dígito, pero cuando ambos sumandos son iguales a 1,

la suma binaria consta de dos cifras. Cuando la suma da lugar a un bit significativo

adicional el acarreo obtenido de la suma de dos bits se suma al siguiente par de bits

significativo de orden superior.

Un arreglo que realice la adición de dos bits recibe el nombre de semisumador o sumador

medio. Se muestra a continuación la tabla de verdad, las ecuaciones booleanas descriptivas

y el circuito lógico.

Entradas Salidas

x y S C

0 0 0 0

0 1 1 0

1 0 1 0

1 1 0 1

De este modo:

𝑆 = 𝑥 ⊕ 𝑦

𝐶 = 𝑥𝑦

Figura 5.11. Circuito semisumador

70

El circuito sumador completo es un arreglo combinatorio en el que además de realizar la

suma de dos números de un bit, considera un acarreo de una suma de bits precedente. Para

modelar el arreglo se debe considerar una tabla de verdad con tres entradas: los números 𝑥

e 𝑦, y el acarreo de entrada 𝐶𝑖𝑛. Las salidas serían las mismas S; y con una pequeña

diferencia, 𝐶𝑜𝑢𝑡, el acarreo de salida del sumador completo. La tabla de verdad para el

diseño es el que se muestra a continuación.

Entradas Salidas

𝑪𝒊𝒏 x y S 𝑪𝒐𝒖𝒕

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1 Tabla de verdad del sumador completo

Ejercicio 5.6. Obtenga las ecuaciones booleanas descriptivas del sumador completo.

Impleméntelas en software y arme el circuito correspondiente.

Figura 5.12. Esquema de solución para el ejercicio 5.6.

5.4.2. Sumador paralelo de n bits Un sumador paralelo binario es un circuito digital que produce la suma aritmética de dos

números binarios en paralelo. Consta de circuitos sumadores completos conectados en

cascada, con el acarreo de salida de un sumador completo conectado al acarreo de entrada

del sumador completo siguiente. La figura 5.13 ilustra la interconexión de cuatro

sumadores completos (FA) para producir un sumador paralelo de cuatro bits, teniendo

como sumandos a 𝐴 = 𝑎3𝑎2𝑎1𝑎0 y 𝐵 = 𝑏3𝑏2𝑏1𝑏0. Los acarreos se encadenan a través de

los sumadores completos. Un sumador paralelo de n bits requiere n sumadores completos,

con cada acarreo de salida conectado al acarreo de entrada del sumador completo del

siguiente orden significativo.

71

Figura 5.13. Esquema de un sumador paralelo de 4 bits.

Existe otra forma de crear sumadores binarios, los cuales utilizan un arreglo en serie, pero

son circuitos de tipo secuencial, tópico de la unidad 6.

Ejercicio 5.6. Usando el diseño logrado en el ejercicio 5.5, construya un sumador de cuatro

bits, simulándolo en software y presentando su armado físico.

5.4.3. Semirestador y restador completo De la misma manera en que se desarrolla el semisumador se puede diseñar un semirestador.

De nuevo se empieza realizando la tabla de verdad para deducir las ecuaciones

correspondientes.

Entradas Salidas

x y R P

0 0 0 0

0 1 1 1

1 0 1 0

1 1 0 0

De este modo:

𝑆 = 𝑥 ⊕ 𝑦

𝑃 = ��𝑦

Figura 5.14. Circuito semirestador.

Puede observar que la única diferencia con el circuito semisumador es el arreglo que se

hace para el préstamo P, que sustituye al acarreo.

De la misma manera podemos realizar la tabla para un restador completo, lo que en éste

caso significa tomar en cuenta el préstamo que se hace en un bit de precedencia. Observe

que en éste caso la resta se efectúa como 𝑥 − 𝑦 − 𝑃𝑖𝑛Mostramos una tabla parcial del

mismo.

72

Entradas Salidas

x y 𝑷𝒊𝒏 R 𝑷𝒐𝒖𝒕

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 0

Tabla de verdad parcial del restador completo.

Ejercicio 5.7. Simule en software y arme en físico el circuito semirestador. A continuación,

complete la tabla de verdad del circuito restador completo, diseñe, simule y arme el circuito

lógico correspondiente.

5.5. Circuitos decodificadores y codificadores Las cantidades discretas de información se representan en sistemas digitales con código

binarios. Un código binario de n bits puede representar hasta 2n elementos distintos de

información codificada.

El decodificador es un circuito combinacional que convierte información binaria en hasta

2n salidas únicas. Si un decodificador posee n entradas y m salidas, se cumple que m = 2” y

se denomina decodificador n x m.

Un decodificador de binario a decimal de 2 x 4 (n = 2 y m = 4) se ilustra en la figura 5.15.

(a)

(b)

Figura 5.15. Decodificador 2×4: (a) Diagrama lógico interno; (b) Bloque simbólico

73

Es de notar en el símbolo lógico la entrada E marcada con un círculo en su terminal, lo

mismo que las salidas Di, lo que significa que se manejan en lógica negativa, es decir, se

toma como valor verdadero al nivel de voltaje bajo o ‘0’.

Lo anterior se refleja en la tabla de verdad correspondiente, la cual se muestra a

continuación.

E A1 A0 D0 D1 D2 D3

0 0 0 0 1 1 1

0 0 1 1 0 1 1

0 1 0 1 1 0 1

0 1 1 1 1 1 0

1 X X 1 1 1 1 Tabla de verdad del decodificador 2×4.

Las entradas 𝐴0 y 𝐴1, son el valor binario a codificar, mientras que las 𝐷𝑖 indican un código

distinto dependiendo de la combinación en la entrada, cada D encendida indica el número

decodificado, así, si selecciona 𝐴1 = 1 y 𝐴0 = 0, entonces 𝐷2 = 0, mientras que 𝐷0 =𝐷1 = 𝐷3 = 1.

La terminal E permite que el módulo funcione o no funcione, razón por la cual se le conoce

como terminal de habilitación (ENABLE). De este modo, la variable E tiene como

finalidad:

Inhibir el funcionamiento del módulo cuando su valor el ‘1’.

Permitir que el modulo funcione con normalidad cuando su estado es ‘0’.

Ejercicio 5.8. Realice la implementación en software y en protoboard del decodificador

2×4 presentado y confirme la tabla presentada.

Ejercicio 5.9. Siguiendo la idea del decodificador 2×4, diseñe un decodificador 3×8, pero

con señal de habilitación y salidas en nivel alto. Debe presentar, tabla de verdad,

simulación en software y circuito en protoboard.

El codificador como bien se puede suponer, es lo opuesto del decodificador, asigna un

código determinado a una determinada señal de entrada.

El código generado será de n bits y dependerá del total de señales a codificar. Por ejemplo,

si se requiere codificar 4 señales, se requerirán de 2 bits; si se requieren de 8 señales serían

necesarios 3 bits. Así su nomenclatura sería: codificador de 2n entradas × n bits de salida.

74

Ejercicio 5.10. Diseñar un codificador 8×3, considerando la siguiente tabla

𝑫𝟎 𝑫𝟏 𝑫𝟐 𝑫𝟑 𝑫𝟒 𝑫𝟓 𝑫𝟔 𝑫𝟕 x y z

1 0 0 0 0 0 0 0 0 0 0

0 1 0 0 0 0 0 0 0 0 1

0 0 1 0 0 0 0 0 0 1 0

0 0 0 1 0 0 0 0 0 1 1

0 0 0 0 1 0 0 0 1 0 0

0 0 0 0 0 1 0 0 1 0 1

0 0 0 0 0 0 1 0 1 1 0

0 0 0 0 0 0 0 1 1 1 1 Tabla de verdad para el ejercicio 5.10

Solución: De la tabla de verdad tenemos,

𝑥 = 𝐷4 + 𝐷5 + 𝐷6 + 𝐷7

𝑦 = 𝐷2 + 𝐷3 + 𝐷6 + 𝐷7

𝑧 = 𝐷1 + 𝐷3 + 𝐷5 + 𝐷7 Por lo que el diagrama lógico es el mostrado en la figura 5.16. Se deja al

estudiante su simulación en software y el armado físico.

(a)

(b)

Figura 5.16. Codificador 8×3: (a) Diagrama lógico interno; (b) Bloque simbólico

En el codificador obtenido en el ejercicio 5.10, se considera que solo se activa una señal de

entrada por vez. Pero, ¿qué sucedería si se activasen más de una? La respuesta se debe

extraer de las ecuaciones. Supongamos por ejemplo, que 𝐷1 = 1 y 𝐷4 = 1, en este caso

resultaría que 𝑥 = 1, 𝑦 = 0, 𝑧 = 1, que se corresponde con el caso en el que se activa

75

únicamente D5 = 1. Al dispositivo con ésta característica se le denomina codificador sin

prioridad.

Para resolver este problema, existen codificadores para los que, en caso de activarse más de

una entrada, la salida será la que corresponde a la mayor de ellas, independientemente de

las restantes inferiores. Adicionalmente, se suelen codificar dos salidas más: una indica que

ninguna entrada está activa, y la otra que alguna entrada está activa. Esta medida permite

discernir entre los supuestos de que el circuito estuviera deshabilitado por la no activación

de la señal de capacitación, que el circuito no tuviera ninguna entrada activa, o que la

entrada número 0 estuviera activada.

Ejercicio 5.11. Se desea diseñar un codificador con prioridad 4×2, con una salida adicional

Z que indique si alguna de las señales de entrada 𝐼𝑖, 𝑖 = 0,1,2,3, está activa (a 1). Se

muestra como ayuda la tabla de verdad correspondiente. Obtenga el diagrama lógico

correspondiente. Deberá mostrar como evidencia las ecuaciones booleanas descriptivas, la

simulación en software, y presentar el diseño armado. Se debe comprobar la prioridad al

decodificar el valor más alto cuando se active más de una señal de entrada.

Tabla para el ejercicio 5.11. Nota: Las ‘X’ son condiciones de ‘no importa’.

5.6. Multiplexores y Demultiplexores El multiplexor es un módulo combinacional que selecciona a su salida una de las 2n

posibles entradas usando para ello las n líneas de selección. A las entradas se les suele les

suele llamar canales, de tal forma que para distinguir entre multiplexores se les nombra

como Mux 2n×1 canales. En la figura 5.17 se presenta el bloque lógico de un Mux de 4×1.

(a)

Tabla de Verdad

𝑺𝟏 𝑺𝟎 M

0 0 A

0 1 B

1 0 C

1 1 D

A, B, C y D representan valores 0 o 1 en los canales

de datos de entrada, 𝑐0, 𝑐1, 𝑐2, 𝑐3, respectivamente.

(b)

Figura 5.17. Multiplexor 4×1: (a) Bloque lógico; (b) Tabla de verdad simplificada.

76

Ejercicio 5.12. Obtener la circuitería interna de un multiplexor 4×1, como el mostrado en

la figura 5.17.

Solución: Tomamos como base la tabla mostrada en 5.17(b), pero la expandimos para

expresar los valores de cada entrada. Cuando alguna entrada es seleccionada,

los valores disponibles en las otras entradas no importan, lo cual

representaremos con ‘X’. Así la tabla correspondiente sería la que se muestra

a continuación.

𝑺𝟏 𝑺𝟎 𝑬𝟎 𝑬𝟏 𝑬𝟐 𝑬𝟑 M

0 0 A X X X A

0 1 X B X X B

1 0 X X C X C

1 1 X X X D D

De este modo: 𝑀 = 𝐴 + 𝐵 + 𝐶 + 𝐷,

A su vez: 𝐴 = 𝑆1 𝑆0 𝐸0, 𝐵 = 𝑆1 𝑆0 𝐸1,

𝐶 = 𝑆1 𝑆0 𝐸2, 𝐷 = 𝑆1𝑆0𝐸3.

Y el diagrama lógico es el mostrado en la figura 5.18. Queda al estudiante la

simulación en software y el armado físico del circuito.

Figura 5.18. Circuito solución del ejercicio 5.12.

El demultiplexor es, por supuesto, el caso opuesto del multiplexor, coloca el valor binario

asignado a su entrada, a uno de los 2n canales de salida, el cual se escoge a partir de sus n

terminales de selección.

En la figura 5.19 se presentan el bloque lógico y la tabla de verdad simplificada para un

Demux 1×4.

77 (a)

Tabla de Verdad

𝑆1 𝑆0 A B C D

0 0 M 0 0 0

0 1 0 M 0 0

1 0 0 0 M 0

1 1 0 0 0 M M es el nombre de la terminal de entrada, cuyo valor

puede ser 0 o 1.

(b)

Figura 5.19. Demultiplexor 4×1: (a) Bloque lógico; (b) Tabla de verdad-

Ejercicio 5.13. Diseñar, simular y armar la circuitería interna de un Demux como el de la

figura 5.19.

78

6. Circuitos Secuenciales En esta unidad el estudiante:

Describe el funcionamiento de los circuitos secuenciales y desarrolla

aplicaciones básicas de los mismos.

6.1. Multivibradores En electrónica, un multivibrador es un circuito oscilador capaz de generar una onda

cuadrada. Según su funcionamiento se clasifican en:

Astables, u oscilador libre, genera ondas a partir de su propia fuente de

alimentación, su funcionamiento es continuo, es decir, no requiere de intervención

alguna para oscilar.

Por Disparo, requieren de una señal de disparo o impulso para pasar a estado activo

(oscilante). A su vez pueden ser:

o Biestables, si poseen dos estados o niveles de oscilación.

o Monoestables, si poseen sólo un estado.

Ejercicio 6.1. En la figura 6.1. se muestra un ejemplo de un oscilador astable a partir de

transistores NPN BC548C.

(a) (b)

Figura 6.1. Oscilador astable: (a) Diagrama eléctrico; (b) Forma de onda.

i. Realice una simulación en Proteus del mismo y verifique la forma de onda que se

muestra en 6.1. (b), obtenga la frecuencia del circuito. Posteriormente arme el

circuito en protoboard y repita el cálculo de la frecuencia en un osciloscopio.

79

ii. Cambie las resistencias R2 y R3 por valores de R2=R3=65 kΩ y R2=R3=100 kΩ y

repita el inciso anterior en cada caso. ¿Qué efecto tiene sobre la forma de onda?

iii. Cambie las capacitancias C1 y C2 por valores de C1=C2=50 µF y C1=C2=100 µF.

De nuevo repita el inciso i. ¿Cómo cambia la forma de onda en cada caso?

iv. Consulte en libros de electrónica y/o en internet la descripción del funcionamiento

del circuito oscilador. Pida asesoría con su docente de electrónica analógica para

comprender el funcionamiento del transistor de ser necesario. Elabore un informe

con las evidencias del trabajo realizado, así como del sustento teórico deducido de

su investigación. ¿Existe una manera de predeterminar la frecuencia de

funcionamiento de un circuito como el realizado en este ejercicio?

Ejercicio 6.2. La figura 6.2 muestra el circuito de un multivibrador monoestable

empleando de nuevo transistores NPN BC548C.

Figura 6.2. Circuito monoestable a transistor.

i. Obtenga la forma de onda generada por el circuito en Proteus, usando el

osciloscopio que proporciona el simulador. ¿Qué ocurre al pulsar el botón?

Implemente físicamente el circuito y compare sus formas de onda con el obtenido

en el simulador.

ii. Sustituya el capacitor por uno de 10 µF y uno 220 µF, y repita el proceso del inciso

anterior.

iii. Sustituya a R6 con valores de resistencia de 50 kΩ Y 100 kΩ y repita el proceso del

inciso i.

80

iv. Consulte en libros de electrónica y/o en internet la descripción del funcionamiento

del circuito oscilador. Elabore un informe con las evidencias del trabajo realizado,

así como del sustento teórico deducido de su investigación. ¿Existe una manera de

predeterminar el tiempo de operación de un circuito como el realizado en este

ejercicio?

6.2. Temporizadores Existen en el mercado un conjunto de circuitos integrados denominados temporizadores

(timers) especialmente diseñados para realizar multivibradores monoestables y astables. El

temporizador 555 (NE555 de Signetics en versión bipolar y TLC555 de Texas Instruments

en versión CMOS) es un circuito integrado barato y muy popular que fue desarrollado en

1972 por Signetics Corporation.

El integrado en cuestión se fabrica en varios tipos de encapsulado (figura 6.3): 8 pines

MINIDIP, cápsula DIP de 14 pines y encapsulado metálico TO-99.

(a) (b)

(c)

Figura 6.3. Encapsulado del CI 555: (a) DIP 8 pines; (b) DIP 14 pines; (c) TO-99 8 pines.

6.2.1. CI 555 configuración astable La figura 6.4. presenta el diagrama genérico para el

funcionamiento astable del CI 555.

La entrada RESET se conecta a 𝑉𝐶𝐶 para evitar

salidas nulas. El capacitor en el pin 5 no es

indispensable, sin embargo, inhibe ruidos.

La resistencia equivalente 𝑅1 + 𝑅2 y la capacitancia

C determinan la constante de carga, mientras que 𝑅2 y

C determinan la constante de descarga. Figura 6.4. Configuración astable

CI 555.

81

Al estar cortocircuitadas los pines 2 y 6, por lo

que están a la misma tensión. Si el capacitor C

está descargado al conectar la alimentación,

entonces el disparo (TRIG) y el umbral (THR) se

encontrarán a tensión de masa, en estas

circunstancias y por la configuración interna del

CI la salida (pin 3) estará a nivel alto (figura 6.5).

Al mismo tiempo C se empezará a cargar a través

de 𝑅1 + 𝑅2. Éste capacitor se carga hasta un

máximo de 2/3 del voltaje de alimentación a

razón de:

𝑡1 = 0.693(𝑅1 + 𝑅2)𝐶1

Luego ese mismo capacitor se descargará a 1/3

del voltaje de alimentación a razón de:

𝑡2 = 0.693 𝑅2𝐶1

Figura 6.5. Formas de onda en la salida

en el 555 en configuración astable.

De este modo la frecuencia de operación de la configuración astable se puede calcular de la

expresión:

𝐹 =1

𝑇=

1.44

(𝑅1 + 2𝑅2)𝐶

Ejercicio 6.3. Diseñar un oscilador astable a 1 kHz con una onda lo más cuadrada posible,

con fuente de alimentación a 10V. Aspectos a evaluar: Presentación visual (circuitería) +5,

presentación oral +5, entrega posterior con un reporte en electrónico conteniendo cálculos,

toma de forma de onda y medición de frecuencia en osciloscopio, presentar un margen del

error entre los cálculos y la frecuencia real obtenida +5.

Ejercicio 6.4. Realizar los cálculos necesarios y la circuitería necesaria para obtener una

onda cuadrada de que vaya de los 10 Hz a un 1KHz. Aspectos a evaluar: Presentación

visual (circuitería) 5, presentación oral +5, puntualidad +5.

6.2.2. CI 555 configuración monoestable El CI 555 tiene dos configuraciones para el modo monoestable: salida normalmente baja,

lo cual significa que mientras no se aplique la señal de disparo, la salida estará a voltaje

bajo, y pasará a alto temporalmente cuando se aplique el disparo; y, salida normalmente

82

alta, que implica que la salida está normalmente a voltaje alto, y pasará a voltaje bajo

temporalmente cuando se aplique el disparo.

En la figura 6.6 se ofrece la configuración monoestable con salida normalmente baja. La

salida se encuentra a nivel bajo si el pin de disparo está por encima de 1/3 del voltaje de

alimentación. Luego, la salida pasa a 2/3 del voltaje de alimentación si el voltaje desciende

por debajo de 1/3 de ese voltaje en el pin de disparo. En otras palabras, el estado en reposo

del monoestable es la salida a nivel de voltaje bajo y el disparador está normalmente en

estado alto. La señal de disparo se aplica con un voltaje bajo, y de este modo la salida pasa

a nivel de voltaje alto temporalmente, para después volver a su estado de reposo.

El tiempo en estado alto depende de cuánto tarde en cargarse el capacitor 𝐶1. Después de

ello volverá a su estado normalmente bajo en la salida.

El intervalo en estado alto se determina por:

𝑡 = 1.1 𝑅𝐶1

𝐶2 es de nuevo un capacitor cuya única función es limitar el ruido externo, cuyo valor es de

10 nF.

(a)

(b)

Figura 6.6. Configuración monoestable del CI 555, salida normalmente baja:

(a) Diagrama eléctrico; (b) Formas de onda

Del mismo modo la figura 6.7 presenta la configuración monoestable con salida

normalmente alta. En este caso el estado en reposo del circuito es el nivel de voltaje alto, la

señal de disparo normalmente es un voltaje bajo. Al aplicar el nivel de voltaje alto en la

terminal de disparo, la salida del arreglo se activa presentando temporalmente un nivel de

voltaje bajo, para después volver a su estado de reposo. La ecuación para el cálculo del

83

tiempo en estado activo es la misma que en la configuración monoestable con salida

normalmente baja. De nuevo 𝐶2 = 10 𝑛𝐹.

Figura 6.7. Diagrama eléctrico del monoestable con salida normalmente alta.

Ejercicio 6.5. Diseñar un circuito monoestable con salida normalmente baja para una

temporización de 10 segundos. Aspectos a evaluar: Presentación visual (circuitería) +5,

presentación oral +5, entrega posterior con un reporte en electrónico conteniendo cálculos y

la medición del tiempo real, presentar un margen del error entre los cálculos y el tiempo

real obtenido +5.

Ejercicio 6.6. Realizar los cálculos necesarios y la circuitería necesaria para obtener un

oscilador monoestable con salida normalmente baja capaz de variar el tiempo de 5 a 30

segundos. Aspectos a evaluar: Presentación visual (circuitería) 5, presentación oral +5,

puntualidad +5.

6.3. El Multivibrador biestable Un biestable es un circuito oscilador (multivibrador) que es capaz de permanecer en uno de

dos estados posibles durante tiempo indefinido en ausencia de perturbaciones. Ésta

característica es lo que les hace especialmente útiles en electrónica digital porque permite el

almacenamiento de información.

Se clasifican en:

Síncronos o asíncronos, según usen o no señal de reloj, respectivamente.

Latches, si se activan por nivel de voltaje; o Flip-Flops, si se activan al leer la

transición en los niveles de voltaje (figura 6.8), ya sea alto a bajo (flanco negativo)

o de bajo a alto (flanco positivo).

84

Figura 6.8. Niveles de Voltaje y flancos.

Ejercicio 6.7. Implemente en software y físicamente el circuito presentado en la figura 6.9,

use transistores de propósito común, como el BC548. Describa el funcionamiento del

arreglo al presionar los botones etiquetados como Set y Reset. ¿Qué utilidad podría tener un

circuito como éste?

Figura 6.9. Circuito para el ejercicio 6.10.

6.3.1. El Latch SR El Latch más simple es el SR (Set-Reset). Tiene por finalidad poner un 1 en la salida (Set),

almacenarlo y borrarlo (Reset). El SR se puede construir con compuertas NOR o NAND

(figura 6.10).

85

Figura 6.10. Latch Set-Reset.

Ejercicio 6.8. Obtención de la tabla de verdad del latch SR. En un simulador realice el

arreglo del SR con compuertas NOR según se muestra en la figura 6.11 y obtenga la tabla

de verdad del arreglo. Tome como salida la terminal indicada con Q. El indicador luminoso

etiquetado con Q’, no se considera indispensable, sin embargo, por convención se

considera el complemento de la “auténtica” salida Q. A continuación arme el circuito

físicamente y compruebe la tabla obtenida.

Solución: La siguiente tabla muestra el proceso de prueba:

Paso Acción en simulación

I. Al comenzar la simulación

tenemos como condiciones

iniciales S=R=Q=0. En este caso

no se cumple que Q’ sea el

complemento de Q, es una

condición no deseada.

Consideraremos por convención

que el sistema no está activo en

ésta situación.

II. Al presionar Set, Q pasa de 0 a

1. Incluso si se deja de pulsar

Set, Q permanece en 1. Se dice

que se ha almacenado un dato,

“se ha puesto a uno”. Notar que

en reposo la señal de disparo

está a cero, y se dispara con

unos.

Q

Q'

10k

10k

SET

RESET

Vcc

220

U3

NOR

U4

NOR

220

Q

Q'

10k

10k

SET

RESET

Vcc

220

U3

NOR

U4

NOR

220

86

III. A continuación, si presionamos

Reset, Q pasa de 1 a 0. Incluso al

soltar Reset, Q permanece en 0.

Se dice que se ha eliminado el

dato o que se ha limpiado, o “se

ha puesto a cero”. Notar que en

este paso y en el anterior, Q’ se

comporta como el complemento

de Q.

IV. Si intentamos presionar Set y

Reset a la vez obtenemos de

nuevo, un estado prohibido, por

ser una situación “provocada”

por la acción de los disparos, y

porque no se cumple que Q’ sea

el complemento de Q.

Así, una tabla que describe los pasos de I a III es la que se muestra a

continuación. Se hace hincapié en que aquí se considera una condición

inicial Q=1 y se supone que Q’ cumple con ser el complemento de la salida.

Además, Q(t) representa el estado anterior y Q(t+1) el estado siguiente en la

misma salida Q.

Q(t) S R Q(t+1)

1 0 0 1

1 0 1 0

0 1 0 1

1 0 0 1

1 1 0 1

Una tabla simplificada es la que se presenta a continuación.

S R Q(t+1) Función

0 0 Q(t) Dato conservado

0 1 0 Limpia

1 0 1 Pone a uno

1 1 ? Indeterminado

Q

Q'

10k

10k

SET

RESET

Vcc

220

U3

NOR

U4

NOR

220

Q

Q'

10k

10k

SET

RESET

Vcc

220

U3

NOR

U4

NOR

220

87

El bloque lógico para latch SR se muestra en la figura 6.11, configurado de manera

equivalente para la simulación del ejercicio 6.8. Notar la posición de la salida Q.

Figura 6.11. Implementación del bloque lógico SR.

Ejercicio 6.9. Repita el ejercicio 6.8 usando la configuración con compuertas NAND.

Considere que las entradas SET y RESET emplean ahora lógica negativa, normalmente

están a estado alto y se disparan con estados bajos, sin embargo, la salida sigue empleando

lógica positiva.

6.3.2. Latch SR temporizado Al latch SR se le puede incorporar un arreglo de compuertas a la entrada que permita

habilitar o deshabilitar el funcionamiento del arreglo, tal arreglo se minimiza al emplear

compuertas NAND (figura 6.12).

(a)

(b)

Figura 6.12. Latch SR con terminal de habilitación: (a) Circuito: (b) Bloque lógico.

88

Ejercicio 6.10. Basado en la experiencia de los ejercicios 6.8 y 6.9 obtenga la tabla de

verdad del circuito presentado en la figura 6.12. Debe incluir como entrada a la señal de

habilitación (Enable=E).

La señal de habilitación puede usarse a su vez para lograr que el dispositivo reaccione sólo

cuando un nivel de voltaje provisto por un circuito multivibrador astable habilite al sistema,

así el SR funcionará de manera temporizada (figura 6.13).

Figura 6.13. Arreglo del latch SR con señal de habilitación conectado a un astable.

Ejercicio 6.11. Arme físicamente el circuito de la figura 6.13 y compruebe que el arreglo

funciona de manera temporizada. De ser necesario disminuya la frecuencia del astable.. ¿El

latch responde al pulso alto o al pulso bajo? Agregue un inversor entre la salida del astable

y la terminal etiquetada como CLK, ¿responde al pulso alto o al bajo? ¿El astable responde

sólo a los cambios de nivel de voltaje (flancos) en el astable o responde durante el pulso?

En la figura 6.14. se presenta el bloque lógico del latch SR temporizado en el que se

incluye de manera explícita la terminal de reloj (clock), la cual puede estar expresada como

un triángulo como en este caso o mediante las siglas CLK o CP.

89

Figura 6.14. Bloque lógico del latch SR temporizado.

6.3.3. El Flip Flop El Flip-Flop (aquí abreviado FF) es fundamentalmente un arreglo de latchs temporizados en

el que se busca que las salidas respondan a los cambios en las entradas exclusivamente en

los periodos de transición (flancos) de voltaje ya sean de alto a bajo o de bajo a alto,

mientras que el resto del tiempo conservan su estatus previo.

Existen dos tipos flip-flops:

Flip-Flop maestro-esclavo, es un juego de dos latchs temporizados conectados en

cascada, en la que el que recibe los datos externos es llamado maestro, el cual a su

vez traspasa sus cambios de estado, con un cierto retardo de tiempo al segundo

latch, llamado esclavo. En la figura 6.15 se muestra un arreglo maestro-esclavo a

partir de latches SR. Como puede apreciarse las salidas 𝑄𝑚y 𝑄𝑚’ son conectadas a

las entradas S y R del latch esclavo. El hecho de que el esclavo tenga su terminal de

reloj complementada respecto del maestro provoca que el traspaso se dé en los

flancos negativos, así si se diese un cambio S o R en el intervalo de tiempo después

del flanco ésta señal es ignorada hasta que se da el siguiente flanco.

Figura 6.15. Flip-Flop RS maestro-esclavo.

Flip-Flop disparado por flanco, igualmente sincroniza el cambio de estado

durante la transición del pulso de reloj, pero a expensas de un voltaje de umbral

específico, las entradas son aseguradas y el FF no se ve afectado por cambios

90

adicionales en las entradas (figura 6.16). En otras palabras, aunque también

responde a las transiciones, el voltaje en la transición de pulsos de reloj además

debe superar un voltaje mínimo para que el dato a la entrada sea leído.

Figura 6.16. Arreglo de un Flip-Flop RS disparado por flanco.

Ejercicio 6.12. Arme en protoboard los arreglos de las figuras 6.15 y 6.16, y las formas de

onda correspondientes con ayuda de un generador de funciones y un osciloscopio. Exponga

sus hallazgos en un breve informe. Debe mostrar evidencias de la toma de formas de onda y

la toma de valores.

El flip-flop SR es útil en el entendimiento del funcionamiento de estos dispositivos, pero no

se produce comercialmente debido a su estado prohibido, dejando su funcionamiento sólo

91

en su configuración latch (en TTL el 74LS279). A cambio la industria fabrica circuitos

integrados que son variantes del flip-flop RS:

FF tipo D. En esta variante del SR la entrada S se interconecta a la entrada R a

través de un inversor, de tal forma que sus entradas quedan reducidas a una: la

terminal D (figura 6.17 (a)). La tabla de transición se muestra en la figura 6.17 (c).

En TTL su nomenclatura es 74LS74.

(a)

(b)

(c)

Figura 6.17. FF tipo D: (a) Diagrama interno; (b) Bloque lógico; (c) Tabla de transición.

FF tipo JK. Es justo una versión mejorada del RS, aquí la entrada J (Jump) hace las

veces de S, y K (Kill) hace las veces R (figura 6.18). La diferencia con el SR radica

en que por su configuración evita el estado prohibido, para en su lugar, entregar el

complemento de Q(t) en el estado siguiente Q(t+1). Nomenclatura TTL: 74LS112.

(a)

(b)

(c)

Figura 6.18. FF tipo JK: (a) Diagrama interno; (b) Bloque lógico; (c) Tabla de transición.

FF tipo T. La T viene de “toggle” (conmutación). Es una modificación del FF JK,

en la que la salida K es cortocircuitada hacia J, de tal modo que queda una sola

92

entrada T (figura 6.19). Su principal característica es la de complementar la salida

Q(t) en el estado siguiente Q(t+1), cuando se habilita la entrada (T=1) y cuando

ocurre un flanco.

(a)

(b)

(c)

Figura 6.19. FF tipo T: (a) Circuito; (b) Bloque lógico; (c) Tabla de transición.

Ejercicio 6.13. Implemente en un simulador los circuitos mostrados en las figuras 6.17,

6.18 y 6.19 y compruebe las tablas de transición.

6.4. Circuitos secuenciales Un circuito de conmutación secuencial se define como un circuito bivaluado en el cual, la

salida en cualquier instante depende de las entradas en dicho instante y de la historia pasada

(o secuencia) de entradas (figura 6.20).

Figura 6.20. Esquema de un circuito secuencial.

Esta definición implica una serie de características inherentes a estos sistemas. Entre éstas

podemos destacar las siguientes:

93

Poseen uno o más caminos de realimentación, es decir, una o más señales internas o

de salida se vuelven a introducir como señales de entradas. Gracias a esta

característica se garantiza la dependencia de la operación con la secuencia anterior.

Como es lógico, existe una dependencia explícita del tiempo. Esta dependencia se

produce en los lazos de realimentación antes mencionados. En estos lazos es

necesario distinguir entre las salidas y las entradas realimentadas. Esta distinción se

traducirá en un retraso de ambas señales (en el caso más ideal).

Al tener componentes de tipo biestables, los circuitos secuenciales pueden se asíncronos y

síncronos. A los sistemas que emplean circuitos secuenciales síncronos se les conoce como

Máquinas de Estado. Existen dos modelos básicos:

Modelo Moore. Las salidas dependen de los estados en la salida de la circuitería de

memoria (secuencial). Las salidas del módulo de memoria son llamadas variables

de estado.

Figura 6.21. Diagrama a bloques de una máquina Moore.

Modelo Mealy. Las salidas dependen de los estados en el circuito de memoria y de

las entradas del arreglo completo.

Figura 6.22. Diagrama a bloques de una máquina Mealy.

94

Un circuito puede usar sólo un modelo de éstos o presentar combinaciones de ambos.

6.4.1. Tablas descriptivas y diagramas de estado Aunque las tablas de transición de los biestables son útiles para comprender su

comportamiento, no permite visualizar las posibles aplicaciones que tienen las celdas

secuenciales básicas (flip-flops). Por lo anterior existen otras maneras de expresar la

información tabular, a saber:

Tabla de funcionamiento. Es una tabla que representa las combinaciones en las

entradas y presenta como salida la situación en el ciclo siguiente de Q a partir de

dichas entradas. Q(t) es el estado anterior, mientras que Q(t+1) es el estado

siguiente. Se utiliza, por lo general, en la descripción del funcionamiento de los Flip

Flops comerciales (figura 6.23).

S R Q(t+1)

0 0 Q(t)

0 1 0

1 0 1

1 1 * Figura 6.23. Tabla de funcionamiento del FF SR.

Tabla de Excitación. En esta tabla se colocan en primer término el estado presente

(Q(t)) y en seguida el posible estado siguiente (Q(t+1)). En segundo término se

colocan las entradas (en este caso serían S y R), cuyas combinaciones se colocan en

función de cómo deberían estar para provocar el cambio de estado en Q que se

indica a la izquierda.

Q(t) Q(t+1) S R

0 0 0 X

0 1 1 0

1 0 0 1

1 1 X 0 Figura 6.24. Tabla de excitación del FF SR.

Tabla Característica o Tabla de Estados. Como se puede apreciar en la figura

6.25, es una variante de la tabla de excitación Es una tabla en la que se colocan

como entradas al estado anterior, y las variables de excitación del flip flop (en

nuestro ejemplo S y R). Como salida se pone al estado siguiente, cuyos valores se

95

colocan en función de las combinaciones que aparecen como entradas (figura 6.25).

Éste tipo de tabla es muy útil en el diseño de un circuito secuencial.

Q(t) S R Q(t+1)

0 0 0 0

0 0 1 0

0 1 0 1

0 1 1 *

1 0 0 1

1 0 1 0

1 1 0 1

1 1 1 * Figura 6.25. Tabla de estados del FF SR

Un elemento directamente relacionado con la tabla de estados es el diagrama de estados,

que es una representación gráfica de los cambios de estado en un dispositivo secuencial.

Los estados se representan mediante círculos. El flujo de estados se indica mediante una

flecha. Provee nombres y asigna códigos a cada estado. Especifica las condiciones para el

cambio de estado. En la figura 6.26 tenemos el diagrama de estados del Flip Flop RS.

Figura 6.26. Diagrama de estados para el FF SR.

96

6.4.2. Ecuaciones de estado En un proceso de diseño secuencial, el diagrama de estados permite obtener la tabla de

estados ésta a su vez permite la escritura de la llamada ecuación de estado, utilizando los

métodos de reducción usuales vistos en el Álgebra de Boole.

Por ejemplo, de acuerdo con la figura 6.25, tendríamos el mapa de Karnaugh de la figura

6.27.

Figura 6.27. Mapa de Karnaugh para el análisis del FF SR.

De donde:

𝑄(𝑡 + 1) = 𝑆 �� + 𝑄(𝑡)�� = �� (𝑆 + 𝑄(𝑡)) = �� (𝑆 + 𝑄(𝑡))

𝑄(𝑡 + 1) = �� + (𝑆 + 𝑄(𝑡) ) = 𝑅 + (𝑆 + 𝑄(𝑡) )

Para obtener el circuito lógico suponemos que Q(t+1) es una salida y que Q(t) es una

entrada tal como se aprecia en la figura 6.28 (a). Luego simplemente cortocircuitamos Q(t)

con Q(t+1), puesto que en realidad son el mismo nodo (figura 6.28 (b)). Evidentemente el

resultado es el latch SR con compuertas NOR que se presentó previamente en la figura 6.10

(a)

(b)

Figura 6.28. Interpretación de la ecuación de estado: (a) Entradas y salidas separadas;

(b) Interconexión de la terminal de retroalimentación.

6.5. Fundamentos de Diseño de Circuitos Secuenciales En el proceso de diseño de un circuito secuencial se debe considerar una serie de pasos que

no necesariamente se deben seguir al pie de la letra, pero que facilitarán la obtención del

diagrama lógico correspondiente. Se debe tener claro que lo que se busca es escoger las

celdas secuenciales básicas (los flip-flops) y en función de ellas diseñar el bloque

combinacional que cumpla con los requerimientos del problema.

Los pasos para este procedimiento son:

97

I. Establecer claramente en palabras la descripción del comportamiento del circuito.

Es deseable la adquisición o la realización de toda información que ayude a este

aspecto, por ejemplo, construyendo un diagrama de estados.

II. Con la información del paso I obtener la tabla de estados. De ser posible verificar la

posibilidad de reducir estados.

III. Asignar valores binarios a los estados para determinar la cantidad de flip-flops

necesarios. Como flip-flop puede manejar un bit, entonces, para dos estados

requerimos un flip-flop, para cuatro estados requerimos de dos flip-flops, etc. Podría

ser útil asignar a cada flip-flop una etiqueta literal: A, B, C, etc. Además, considere

que es posible que un circuito podría tener estados sin usar, los cuales pueden

considerarse como condiciones de “no importa”, que deben usarse inteligentemente.

IV. Elegir el flip-flop para el diseño. En general, podría usarse cualquiera, sin embargo,

uno u otro puede conducir a un circuito combinatorio extenso o pequeño, o bien

facilitar o complicar el diseño.

V. Construir las tablas necesarias para a través de ellas determinar el comportamiento

de todo el sistema.

VI. Usando cualquiera de los métodos de simplificación deducir las funciones de salida

del sistema y las posibles funciones de entrada del flip-flop.

VII. Dibujar el diagrama lógico.

Ejercicio 6.14. Construir un circuito que en un sistema de comunicación serial sea capaz de

detectar la secuencia 0-0-1, use el modelo de una máquina Moore.

Solución: Por la interpretación del texto, dibujamos un diagrama de estados (figura

6.29).

Figura 6.29. Diagrama de estados (Moore) para el ejercicio 6.14.

98

Se observa que se requieren dos flip-flops, a los cuales llamaremos X e Y.

Obtenemos la tabla de estados

Estado presente Entrada Estado siguiente Salidas

𝑸𝒙 𝑸𝒚 I 𝑸𝒙 𝑸𝒚 S

0 0 0 0 1 0

0 0 1 0 0 0

0 1 0 1 0 0

0 1 1 0 0 0

1 0 0 0 0 0

1 0 1 1 1 1

1 1 0 0 1 0

1 1 1 0 0 0

De la tabla anterior se verifica la ecuación para la salida: 𝑆 = 𝑄𝑥𝑄𝑦.

Ahora elegimos el tipo de FF, en este caso seleccionamos el tipo D. Luego,

para obtener el circuito combinacional a la entrada de cada FF, agregamos a

la tabla de estados anterior dos columnas, una para cada entrada de FF. Éstas

columnas se llenan en función de cómo debería estar cada entrada D en

función de las entradas del sistema y los estados anteriores, para cambiar

hacia el estado siguiente correspondiente.

Estado presente Entrada Estado siguiente Entradas de los

Flip- Flops

Salidas

𝑸𝒙 𝑸𝒚 I 𝑸𝒙 𝑸𝒚 𝑫𝒙 𝑫𝒚 S

0 0 0 0 1 0 1 0

0 0 1 0 0 0 0 0

0 1 0 1 0 1 0 0

0 1 1 0 0 0 0 0

1 0 0 0 0 0 0 0

1 0 1 1 1 1 1 1

1 1 0 0 1 0 1 0

1 1 1 0 0 0 0 0

El término para 𝐷𝑥 se puede obtener por inspección: 𝐷𝑥 = 𝑄𝑥 𝑄𝑦 𝐼 + 𝑄𝑥𝑄𝑦

𝐼.

Del mismo modo para 𝐷𝑦, tenemos, 𝐷𝑦 = 𝑄𝑥 𝑄𝑦

𝐼 + 𝑄𝑥 𝑄𝑦 𝐼 + 𝑄𝑥𝑄𝑦 𝐼.

Para reducir considere:

𝐷𝑦 = 𝐼 (𝑄𝑥 ⊕ 𝑄𝑦 ) + 𝑄𝑥𝑄𝑦

𝐼

Por lo que el circuito lógico queda como en la figura 6.30. Se deja al

estudiante su simulación y armado físico. ¿Efectivamente el circuito

obtenido es una máquina de estados de tipo Moore?

99

Figura 6.30. Circuito lógico solución del ejercicio 6.15.

Ejercicio 6.16. Repita el ejercicio 6.15, usando ahora el modelo de una máquina Mealy.

Solución: Ahora el diagrama de estados es el mostrado en la figura 6.31.

Figura 6.31. Diagrama de estados del ejercicio 6.16.

La tabla de estados correspondiente es:

100

Estado presente Entrada Estado siguiente Salidas

𝑸𝒙 𝑸𝒚 I 𝑸𝒙 𝑸𝒚 S

0 0 0 0 1 0

0 0 1 0 0 0

0 1 0 1 0 0

0 1 1 0 0 0

1 0 0 0 0 0

1 0 1 0 0 1

1 1 X 0 0 0

De donde la salida es: 𝑆 = 𝑄𝑥 𝑄𝑦 𝐼.

De nuevo elegimos FF tipo D y lo agregamos a la tabla de estados.

Estado presente Entrada Estado siguiente Entradas de los

Flip- Flops

Salidas

𝑸𝒙 𝑸𝒚 I 𝑸𝒙 𝑸𝒚 𝑫𝒙 𝑫𝒚 S

0 0 0 0 1 0 1 0

0 0 1 0 0 0 0 0

0 1 0 1 0 1 0 0

0 1 1 0 0 0 0 0

1 0 0 0 0 0 0 0

1 0 1 1 1 1 1 1

1 1 0 0 1 0 1 0

En este caso no requerimos de mapas de Karnaugh para verificar que:

𝐷𝑥 = 𝑄𝑥 𝑄𝑦 𝐼

𝐷𝑦 = 𝑄𝑥 𝑄𝑦

𝐼

Y entonces el circuito lógico es el que se muestra en la figura 6.32 (página

siguiente). De nuevo se deja al estudiante la simulación y el armado del

circuito.

Comparando los dos arreglos, responda a las siguientes preguntas:

¿Puede explicar por qué es una máquina de estados tipo Mealy?

¿Qué ventajas presenta este arreglo respecto del tipo Moore?

¿Qué inconvenientes encuentra en este nuevo arreglo?

101

Figura 6.32. Circuito lógico solución del ejercicio 6.16.

6.5.1. Contadores Un circuito secuencial que pasa por una secuencia prestablecida de estados conforme se

van aplicando una serie de pulsos se llama contador. Los pulsos de entrada (de cuenta),

pueden ser pulsos de reloj o de alguna fuente externa y no necesariamente estar

sincronizados con el reloj del sistema contador.

El contador más simple es aquel que sigue la secuencia de la numeración binaria natural,

por lo que es llamado contador binario. Un contador de binario de n bits es capaz de

realizar desde 0 hasta 2𝑛 − 1. Un ejemplo podría ser un contador binario de 3 bits, cuyo

diagrama de estados se presenta la figura 6.33.

Figura 6.33. Diagrama de estados para un contador binario de 3 bits.

Es posible mostrar que la implementación física de contadores es simple si se modela con

flip-flops tipo T. En la figura 6.34 se implementa el contador de 3 bits empleando como FF

base al T.

102

Figura 6.34. Contador de 3 bits. El FF tipo T se implementa con un FF tipo JK

cortocircuitando sus entradas.

Ejercicios 6.17. Muestre los pasos intermedios para implementar el diagrama de estados de

la figura 6.33, en un circuito como el de la figura 6.34.

El contador comentado es un arreglo cuyo funcionamiento es incondicional, es decir, tan

sólo ponerle alimentación, éste empezará el proceso de conteo. Una variante del circuito

anterior es aquel que permite realizar una pausa en el proceso. En la figura 6.35 mostramos

el diagrama de estados para un contador con pausa de dos bits, cuando la entrada I=0

cuenta de manera ascendente. Cuando I=1 el contador se detiene, en cuanto se vuelve a

poner a 0 continua su conteo desde el número en que se hizo la pausa.

Figura 6.35. Diagrama de estados para un contador con pausa de dos bits.

103

El circuito correspondiente para el diagrama de estados de la figura 6.35 se muestra en la

figura 6.36, usando en este caso FF tipo D.

Figura 6.35. Circuito para el contador de dos bits con pausa.

Ejercicio 6.18. Desarrolle los pasos intermedios que llevan desde el diagrama de estados

hasta el circuito contador con pausa de dos bits. Implemente en protoboard el circuito

diseñado.

Ejercicio 6.19. En la figura 6.36 mostramos el circuito lógico para un contador ascendente-

descendente de dos bits. Auxiliándose de un software simulador, obtenga el diagrama de

estados que describa la operación del mismo. En base a lo anterior obtenga la tabla de

estado y compruebe las ecuaciones descriptivas del circuito.

104

Figura 6.36. Circuito lógico de un contador ascendente-descendente de dos bits.

6.5.2. Registros Un registro es un grupo de celdas de almacenamiento binario capaz de retener la

información contenida. En este sentido un grupo de FF's son un registro, siempre que éstos

operen de manera sincronizada. Así, un registro de n-bits tiene un grupo de n flip-flops y

tiene la capacidad de acumular cualquier información binaria que contiene n bits. Los

registros también pueden contener elementos combinacionales realizando alguna tarea

relativa, como controlando cuándo y cómo se trasfiere nueva información al registro.

Un cierto tipo de dispositivos similares a los registros se pueden armar a partir de latches,

lo que provoca que éstos sean sensibles al pulso en la retención de un dato, razón por la

cual se les llama retenedores. Denominaremos registros a aquellos que están formados con

celdas que son sensibles a los flancos (de subida o bajada), es decir, con auténticos flip-

flops.

El registro más simple es aquel formado por un arreglo de flip-flops sin ninguna compuerta

externa. La figura 6.37 muestra tal registro construido con cuatro flip-flops tipo D y un

pulso de reloj común de entrada. El pulso de reloj de entrada habilita todos los flip-flops de

manera que Ia información disponible presente en las cuatro entradas pueda ser trasferida al

registro de 4 bits. A su vez las cuatro salidas pueden ser cateadas para obtener la

información acumulada en el registro

105

Figura 6.37. Registro con carga en paralelo de 4 bits:

Otro tipo de registros es aquel que puede hacer transferencia bit a bit, uno cada vez,

desplazando los bits del registro fuente hacia el registro de destino, razón por la cual se les

denomina registros de desplazamiento. La figura 6.38 ilustra un registro de

desplazamiento de cuatro bits.

Figura 6.38. Registro de desplazamiento de 4 bits

En la figura La salida serial (S0) del registro A va a la entrada serial (SI) de un registro B.

Para prevenir la pérdida de información almacenada en el registro fuente, al registro A se le

obliga a recircular su información conectando la salida serial a su terminal de entrada serial.

El contenido inicial en el registro B es desplazado hacia afuera a través de su salida serial y

se pierde a no ser que se desplace a un tercer registro de desplazamiento. La entrada de

control de desplazamiento determina cuándo y cuántas veces se desplazan los registros.

Esto se hace por medio de la compuerta AND que permite pasar los pulsos de reloj a Ios

terminales CP solamente cuando el control de desplazamiento es 1.

Figura 6.39. Ejemplo de transferencia serie entre registros de desplazamiento.

106

Ejercicio 6.20. Pruebe en simulador los arreglos mostrados en las figuras 6.37, y 6.39.

Ejercicio 6.21. Empleando multiplexores diseñe un registro de 4 bits que permita la carga

en paralelo y el desplazamiento a la derecha.

6.5.3. Memorias Los registros, cuando son vistos desde el punto de vista computacional se clasifican en:

Operacionales, que son registros que acumulan información binaria en sus flip-

flops de manera temporal y poseen arreglos combinacionales para la realización de

tareas de procesamiento de datos.

Almacenadores, son registros cuya única tarea es la retención de datos.

Una unidad de memoria es una colección de registros de almacenamiento (también

llamados, registros de memoria) que actúan conjuntamente con los circuitos asociados

necesarios para trasferir información hacia adentro y hacia afuera de tales registros.

La memoria almacena información binaria organizada por grupos llamados palabras y cada

palabra ocupa un registro de memoria. Las palabras pueden contener cualquier tipo de

código que bien puede ser un operando, una instrucción, un grupo de caracteres

alfanuméricos u otro tipo de información binaria. La comunicación entre una unidad de

memoria y lo que la rodea se logra por medio de dos señales de control y dos registros

externos. Las señales de control especifican la dirección de la trasferencia requerida, esto

es, cuando una palabra debe ser acumulada en un registro de memoria o cuando una palabra

almacenada previamente debe ser trasferida hacia afuera del registro de memoria. Un

registro externo especifica el registro de memoria particular escogido entre los que estén

disponibles; el otro especifica la configuración de bits particular de la palabra en cuestión

(figura 6.40).

Figura 6.40. Diagrama a bloques de una unidad de memoria.

107

Un ejemplo más explícito se muestra en la figura 6.41. En él tenemos tres registros: el

registro de direcciones de memoria, (MAR, Memory Address Register), el registro de

intercambio temporal de memoria (MBR, en inglés Memory Buffer Register) y el registro

de memoria de almacenamiento (M) que justamente es direccionada por MAR. Como el

número binario equivalente en MAR es el decimal 42, el registro de memoria direccionado

por el MAR es justo aquel que se localiza en la línea (dirección) 42.

Figura 6.41. Ejemplo de la gestión de una unidad de memoria.

La secuencia de operaciones necesarias para transferir una palabra de la unidad de memoria

con destino al MBR es:

i. Trasferir los bits de dirección de la palabra seleccionada al MAR.

ii. Activar la entrada de control de lectura.

En este ejemplo, la información binaria contenida en el presente, en el registro de memoria

de la posición 42, es transferida a la memoria de intercambio (figura 6.42).

Figura 6.42. Transferencia de memoria desde la unidad de memoria al MBR.

108

La secuencia de operaciones necesarias para almacenar una nueva palabra a la memoria es:

i. Trasferir los bits de dirección de la palabra seleccionada al MAR.

ii. Trasferir la palabra al MBR.

iii. Activar la entrada de control de escritura.

El resultado de nuestro para un ejemplo de escritura se ilustra en la figura 6.43. Los bits de

datos del MBR se almacenan en la dirección 42 del registro de memoria.

Figura 6.43. Transferencia de datos hacia la unidad de memoria.

Ejercicio 6.22. En un simulador electrónico diseñe una memoria de 4 nibbles. Use

multiplexores para direccionar las ubicaciones de memoria, a la vez de que debe evidenciar

el circuito combinatorio que habilite la escritura y lectura de datos en memoria, desde y

hacia el MBR.

109

7. Convertidores En esta unidad el estudiante:

Conoce, describe e implementa los diferentes tipos de convertidores de señal

existentes.

7.1. Funcionamiento del ADC El conversor es un dispositivo que recibe una señal de entrada Vent y la transforma en una

palabra digital Pd con una precisión y resolución dadas mediante una comparación con una

tensión de referencia Vreq.

En un convertidor A/D ideal la palabra digital está relacionada con la señal de entrada por

la expresión.

1,021

JJi

Vref

VentPd

i

i

Este cociente se realiza en binario, El resultado exacto sería un número infinito de bits, por

lo que se comete un error de cuantificación al tomar solamente una cantidad finita de ellos.

Si llamamos n a la cantidad real de bits, del conversor se tendrá 2n niveles posibles y el

error máximo cometido es de la mitad de la distancia entre dos niveles, o sea:

𝑉𝑘 𝑁

𝑉𝑟𝑒𝑓= 𝐾, o bien, 𝐸𝑚á𝑥 =

1

2 𝑉𝑟𝑒𝑓

2𝑛

Los conversores A/D, admiten señales analógicas de entradas de corriente o tensión, de una

única polaridad o bipolar.

7.1.1. El conversor paralelo Compara simultáneamente la señal de entrada con

una serie de niveles de referencia, debiéndose usar

tantos comparadores como niveles se desee obtener

(figura 7.1).

En este arreglo:

𝑛 = 𝑐𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑑𝑒 𝑏𝑖𝑡𝑠

𝑁 = 2𝑛 ⟹ 𝑛 = log2 𝑁

𝑁 = 𝑐𝑎𝑛𝑡𝑖𝑑𝑎𝑑 𝑑𝑒 𝑐𝑜𝑚𝑝𝑎𝑟𝑎𝑑𝑜𝑟𝑒𝑠

𝑉𝑘 = 𝐾 𝑉𝑟𝑒𝑓

𝑁

𝐾 =𝑉𝑟𝑒𝑓

2𝑛

Figura 7.1. Conversor AD paralelo.

110

El tiempo de comparación es pequeño, pero el elevado número de componentes lo hace

costoso.

7.1.2. Conversor de rampa simple Integra una tensión de referencia hasta que la rampa generada, alcanza un nivel de tensión

igual al de la señal de entrada. Durante este tiempo en contador cuenta los impulsos

generados por un oscilador patrón. El resultado del contador es proporcional a la tensión de

entrada.

La figura 7.2 (a) muestra un arreglo genérico para la construcción de este tipo de

conversores. En 7.2 (b) ilustra cómo se da el proceso de comparación.

(a)

(b)

Figura 7.2. Conversor AD de rampa simple: (a) Configuración; (b) Formas de onda.

El tiempo de conversión es largo y la precisión no es buena, debido a las variaciones de la

capacidad C, a la corriente Id y a la frecuencia del oscilador.

7.1.3. Conversor de doble rampa El conversor A/D, de doble rampa (figura 7.3), soluciona algunos de los

condicionamientos de la precisión mencionados, debido a que, al realizar dos rampas

consecutivas, se compensan los errores producidos.

Figura 7.3. Modelo de un conversor AD de doble rampa.

111

La primera rampa, se realiza integrando la entrada durante un tiempo fijo. La segunda

rampa, se obtiene integrando una tensión de referencia, el tiempo de integración de la

segunda depende del nivel que se ha obtenido de la primera integración, durante este

tiempo el contador cuenta los impulsos de un oscilador patrón.

Figura 7.4. Interpretación de la conversión AD en un modelo de doble rampa.

El proceso es como sigue:

Al iniciarse la operación S1, se cierra y aplica una tensión a la entrada del

integrador, mientras que S2 permanece abierto. El integrador genera la rampa

ascendente, dado que el voltaje de entrada (Vent), se supone constante mientras dure

la medición, finalmente se obtiene una carga máxima en un tiempo que llamamos

Ta (figura 7.4), este tiempo determina una cuenta Nm de pulsos del oscilador.

Al iniciarse el ascenso de Vc el detector de nivel de cero dará una salida “1” los

pulsos del oscilador llegaran al contador y este alcanzara una cuenta Nm

mencionada (máxima capacidad de conteo del contador elegido).

Al completarse la cuenta Nm (todos los bits de salida del contador en ‘1’), un

sistema combinacional producirá la apertura de S1, el cierre de S2 y el reset del

contador.

Ahora el capacitor comienza a descargarse a corriente constante y el contador a

efectuar un segundo conteo durante un tiempo Td, hasta que el detector de cero

ponga un ‘0’ en la entrada A de la compuerta AND, ahora el contador habrá

alcanzado un valor Nd.

Si Tr es el periodo del reloj la salida digital del dispositivo contador (Nd) es

equivalente al tiempo Td. A su vez Td es proporcional a Vent.

𝑇𝑎 = 𝑁𝑚 𝑇𝑟, 𝑇𝑑 =𝑇𝑎

𝑉𝑟 𝑉𝑒𝑛𝑡, 𝑇𝑑 = 𝑇𝑟 𝑁𝑑

𝑉𝑒𝑛𝑡 = 𝑉𝑟

𝑇𝑟

𝑇𝑎 𝑁𝑑 =

𝑉𝑟

𝑁𝑚𝑁𝑑

112

El tiempo máximo de conversión, es el necesario para contar 2∙2n, impulsos de reloj, siendo

n el número de bits de la salida digital.

7.1.4. El conversor de aproximaciones sucesivas Optimiza el tiempo de conversión mediante la realización de un algoritmo de

aproximaciones sucesivas (figura 7.5):

Figura 7.5. Conversor AD por aproximaciones sucesivas

Utiliza un comparador, un conversor D/A paralelo y un registro de aproximaciones

sucesivas. El algoritmo consiste en la aproximación bit por bit de la salida empezando por

el bit de mayor peso que corresponde a la mitad de la máxima excursión de la tensión de

referencia. Una ilustración del proceso se muestra en la figura 7.6.

Figura 7.6. Ilustración de las formas de onda en un AD por aproximaciones sucesivas.

Para comprender el proceso considere el siguiente ejemplo: supongamos que trabajamos

con un conversor de 4 bits y una Vref = 12 voltios, entonces, el mínimo escalón de tensión

será 12/24 = 0.75 voltios. Consideremos que la tensión de entrada (a digitalizar) es 7,5

113

voltios. En el 1er pulso de reloj el registro de aproximaciones sucesivas pondrá el código

binario 1000 que equivale a 6 voltios. Como el comparador indica que este valor es menor

que la Vent, entonces el código cambia a: 11009 voltios. Una segunda comparación indica

que este valor es mayor que la entrada entonces 1010 7.5 voltios. Como la tercera

comparación indica que este valor es igual a la entrada entonces el valor digital de la

entrada es 1010.

El número máximo de iteración será igual al número de bits del convertidor y su tiempo de

conversión está relacionado con el tiempo de ciclo del procesamiento.

7.2. Funcionamiento del DAC El proceso de conversión Digital analógica, (D/A) es el proceso de tener el valor expresado

en código binario (digital), y convertirlo en un voltaje o corriente equivalente. La

transformación se realiza mediante una correspondencia entre las 2n combinaciones binarias

posibles a la entrada y las 2n valores de tensión (o corriente) obtenidas a partir de una

tensión de referencia (Vref)

El proceso consiste en hacer una ponderación de cada bit y sumar el resultado de todas las

ponderaciones multiplicadas por el valor del bit correspondiente

𝑉𝑠𝑎𝑙 = ∑ 𝑉𝑝𝑜𝑛𝑑 𝛿𝑛, donde 𝛿𝑛 = {0 , 1}

Las señales digitales, b0, b1, b2, …, derivan generalmente del registro de salida de un

sistema digital. En un sistema digital de 4 bits, los 24 = 16, diferentes números que

representan 16 diferentes niveles de tensión (figura 7.7).

(a)

Para un rango de 0 a 7.5 V

𝑏3 𝑏2 𝑏1 𝑏0 Valor (V)

0 0 0 0 0

0 0 0 1 0.5

0 0 1 0 1

0 0 1 1 1.5

0 1 0 0 2

0 1 0 1 2.5

0 1 1 0 3

0 1 1 1 3.5

1 0 0 0 4

1 0 0 1 4.5

1 0 1 0 5

1 0 1 1 5.5

1 1 0 0 6

1 1 0 1 6.5

1 1 1 0 7

1 1 1 1 7.5

(b)

Figura 7.7. Interpretación de una conversión DA de 4 bits:

(a) Dispositivo Digital; (b) Tabla de conversión

114

La resolución de una conversión D/A se define como la menor variación que puede ocurrir

en la salida analógica menor resultado de un cambio en la entrada digital.

En la tabla de la figura 7.7, podemos apreciar que la resolución es de 0,5 Volts, puesto que

Vout no puede variar en no menos de 0,5 volt. La forma de onda de la salida Vout es una

escalera. Aunque la resolución pueda expresarse como la cantidad de voltaje o corriente por

etapa, resulta más útil expresarla como un porcentaje de la salida de escala completa.

Si la salida a escala completa es 1111 que equivale a un Vout = 7.5 Volt y el tamaño de

escalón es 0.5 Volt. la resolución porcentual sería:

𝑅[%] = 100 1

2𝑛≈

𝛥𝑉

𝑉𝑟𝑒𝑓

𝑅[%] = 100 ∙0.5

7.5= 6.66 %

𝑅[%] = 100 ∙1

24 = 6.25 %

Por supuesto, la resolución porcentual se hace menor cuando el número de bits de entrada

se incrementa.

7.2.1. Convertidor D/A de resistencias ponderadas El convertidor de resistencias proporciona a la salida un valor de tensión

𝑉𝑠𝑎𝑙 = −𝑅 ∑ 𝛿𝑛𝑉𝑟𝑒𝑓

2𝑛𝑅 = − 𝑉𝑟𝑒𝑓 ∑

𝛿𝑛

2𝑛 , donde 𝛿𝑛 = {0 , 1}.

El circuito de la figura 7.8 utiliza trayectorias de corriente en paralelo, cada una de ellas

controladas por las salidas binarias, la corriente que circula por cada rama del circuito

depende de la tensión de referencia (Vref) y de la resistencia serie (2nR)

Figura 7.8. Modelo de un convertidor DA de resistencias ponderadas.

115

La exactitud de este conversor depende de dos factores:

a) La exactitud de las resistencias.

b) La exactitud de los valores de tensión de referencia

La gran cantidad de resistencias de diferentes valores y de alta precisión es una desventaja

del sistema.

La figura 7.9 muestra una variante del circuito donde se observa que los valores de

resistencia son solo dos, los valores de corriente que circula por las resistencias 2R está en

progresión geométrica de razón ½ debido a que en cada punto de unión de las resistencias

R – R la impedancia del circuito es igual a R.

Figura 7.9. Mejora del arreglo de resistencias para el DA.

La corriente de entrada al amplificador operacional es la suma de las corrientes de cada

rama la cual produce una tensión de salida Vsal.

𝑖0 = ∑𝛿𝑛

2𝑛

𝑉𝑠𝑎𝑙 = −𝑖0 𝑅 = − 𝑅 𝐼 ∑𝛿𝑛

2𝑛 = − 𝑉𝑟𝑒𝑓 ∑𝛿𝑛

2𝑛, donde 𝛿𝑛 = {0 , 1}.

7.2.2. Convertidor D/A por modulación de ancho de impulso Es un convertidor que en una primera etapa convierte el código digital en una señal

pulsante de anchura controlada y posteriormente mediante un filtro pasabajas convierte esta

señal en una señal analógica.

En el circuito de la figura 7.10 se observa que un elemento del modelo compara la señal a

convertir (de n bits) con el valor de un contador de la misma cantidad de bits, al igualarse la

señal de entrada y el valor del contador la salida cambia de estado. El periodo de la señal de

modulada es el tiempo necesario para contar 2𝑛 pulsos del oscilador.

116

Figura 7.10. Modelo por ancho de pulsos para un convertidor DA.

117

Bibliografía

Morris Mano, M. Lógica Digital y Diseňo De Computadores. Ed. Prentice Hall,

1982.

Morris Mano, M. Diseño Digital, Ed. Pearson Educación,1987.

Tocci, Ronald J. y Widmer Neal S. Sistemas Digitales Principios y Aplicaciones.

Ed. Person Educación, 8va. Edición. 2003.

Guzmán, R. (2010). Multivibrador astable a transistores: explicación. Obtenido de

Electrónica y ciencia:

http://electronicayciencia.blogspot.mx/2010/04/multivibrador-astable-

transistores.html

Herrera Vaquero, E., Hernández Vaquero, S., Ponce Acosta, C., & Trujillo Jimenez,

J. A. (30 de 05 de 2012). Electrónica Digital FIME Universidad Veracruzana.

Obtenido de Google Sites: https://sites.google.com/site/electronicadigitaluvfime/

Wikipedia La enciclopedia libre. (25 de Octubre de 2015). Multivibrador. Obtenido

de Wikipedia.org: https://es.wikipedia.org/wiki/Multivibrador