Los circuitos digitales se emplean en productos electrónicos como videojuegos, hornos de microondas, sistemas de control para automóviles, dispositivos biomédicos, entre otros; también los podemos encontrar equipos de prueba como medidores, generadores y osciloscopios, dispositivos de telecomunicación y consumo masivo como los celulares, radios, televisores y computadores personales.
La era de la electrónica Digital está en auge y las técnicas digitales han reemplazado a muchos de los circuitos análogos empleados en el pasado.
El papel o finalidad de la Educación es generar valores y conocimientos que permitan convertir a todos los individuos en seres capaces de pensar, sentir, realizar, generar e innovar, para contribuir al mejoramiento y beneficio de la sociedad a la cuál pertenecen.
La Educación abierta o a distancia apoyada en tecnología no se debe limitar al conocimiento, debe asumir el reto de desarrollar las herramientas necesarias que le permitan al estudiante ser un participante activo de su proceso de aprendizaje, éste debe ser inquieto, preguntón crítico y motivarse cada vez más en lo que aprende de su profesor y motivar en él un sentimiento investigativo e innovador.
El enfoque de este tipo de Educación está orientado al estudiante, quién es el directo responsable de su proceso de aprendizaje, por lo tanto, para el desarrollo de este curso se implementa un modelo pedagógico y andragógico de aprendizaje interactivo virtual con el apoyo técnico necesario que apoye la Psicología de Aprendizaje, haciendo énfasis en sus tres elementos: Perdurabilidad, Transparencia y Habilidad Práctica. Esto permitirá contrarrestar las desventajas que se presentan en la Educación virtual como son la desmotivación y deserción del estudiante por la lentitud del proceso y por la reducción de la interacción personal.
Pueden complementar este curso a través de mi Edublog http://www.edublogcircuitosac.blogspot.com/p/electronica-digital.html
Page 1
Page 2
Analizar y aplicar los conceptos básicos y técnicos de diseño en sistemas lógicos combinacionales y secuenciales programables.
Implementar circuitos que controlen secuencias y procesos automáticos.
Diseñar sistemas digitales para la manipulación y procesamiento de datos.
Breve Descripción
El desarrollo de la electrónica, se ha constituido en uno de los más grandes sucesos de la época moderna y ha sido fundamental para los grandes adelantos tecnológicos, en casi todos los campos del saber.
Las herramientas y conocimientos de electrónica digital son necesarios para el análisis, diseño e implementación de circuitos y sistemas digitales, en especial con el almacenamiento, transformación y comunicación de la información en forma digital.
Considero importante descatacar el papel que la Universidad Nacional de Colombia en la realización de esta obra gracias algunos referentes teóricos, y gráficos que complementé a partir de mi experiencia, formación complementaria de Pregrado e Investigación durante mi proceso de Doctorado en Atlantic International University.
DEDICATORIA:
A Dios Padre Todo Poderoso y a la Santísima Virgen María por concederme los dones y gracias necesarias para continuar en el camino de la fe, la esperanza y la caridad, y al inspirarme con los dones del Espíritu Santo para mantenerme en el temor de DIOS como principio básico de la Sabiduría. Alcanzar grandes cosas requiere grandes sacrificios como el de nuestro Señor Jesucristo, así mismo para alcanzar mi título en AIU he tenido grandes sacrificios que han valido la pena y a través de su formación han transformado mi vida.
A mi esposa mi Bella Princesa Kathy Faridy Hurtado Márquez por su paciencia, comprensión y amor y a mi Bebe de tres años Sara Gabriela “son el Tesoro más valioso que tengo en el cofrecito de mi corazón”. A mi mamá Ofelia Espinosa, mis tíos José Hernán, Lilia, Lucila y su esposo David y mis primas Luz Angélica y Gloria Patricia con su hija Diana Melissa quienes me enseñaron el valor de la perseverancia, la dedicación y autodisciplina, así como el valor de luchar por mis ideales.
A la memoria de mi tío José Hernán Espinosa Martínez quien fue un padre para mí (mi mentor) y le debo lo que soy hoy día “que la luz de su alma nos siga guiando por el camino de la vida”.
A mis suegros Carlos y Gabriela quienes se han convertido en mis segundos padres. A mis hijos Santiago quien me ha mostrado que con nobleza y decisión se pueden superar los obstáculos, Natalia criterio y fortaleza y Juanita un orgullo con ternura, y valor a pesar de la distancia son un aliciente para hacer de mis acciones un ejemplo de vida y Brahian Stiven con su amor y ternura me han transformado mi vida.
RUBEN DARIO
Page 3
Presentación
1. Sistemas Numéricos
1.1. Sistema Decimal 1.2. Sistema Binario 1.3. Sistema Hexadecimal 1.4. Sistema Octal 1.5. Conversiones de un Sistema a Otro 1.6. Representación de Números Enteros y de Punto Flotante 1.7. Operaciones Aritméticas en Binario
2. Principios de Diseño de Lógica Combinacional
2.1. ¿Qué es Electrónica Digital? 2.2. Álgebra de Boole a. Operaciones Booleanas y Compuertas Básicas b. Compuertas Lógicas Combinadas c. Circuitos Integrados y Circuito de Prueba d. Propiedades de las Operaciones Booleanas e. Teoremas Boléanos f. Teoremas de DeMorgan 2.3. Simplificación de Expresiones Lógicas 2.4. Implementación de Funciones Lógicas mediante Compuertas 2.5. Síntesis de Diseño de Circuitos Combinacionales 2.6. Métodos para Sintetizar Circuitos Lógicos a. Método de Suma de Productos (SDP) b. Método de producto de sumas (PDS) c. Mapas de Karnaugh d. Algoritmo de Quine - McCluskey
3. Circuitos Lógicos Combinacionales
3.1. Circuitos Aritméticos 3.2. Decodificadores 3.3. Registros de Tres Estados 3.4. Codificadores 3.5. Multiplexores y Demultiplexores 3.6. Generadores de Paridad 3.7. Comparadores 3.8. Implementación de Funciones Lógicas con Decodificadores 3.9. Implementación de Funciones Lógicas con Multiplexores 4. Lógica Secuencial 4.1. Oscilador Simétrico con compuertas NOT 4.2. Disparadores Schmitt Trigger 101 4.3. Oscilador de Cristal 102 4.4. Osciladores Controlados 104 4.5. Circuito Integrado 555 104
4.6. CI 555 como Multivibrador Astable 106
4.7. CI 555 como Multivibrador Monoestable 106 4.8. Circuitos Monoestables 107
4.9. Circuitos Biestables (FLIP-FLOPs) 4.9.1. FLIP-FLOP Básico R-S (Reset-Set) 108
4.9.2. FLIP FLOP RS - Controlado por un pulso de reloj 109 4.9.3. FLIP-FLOP D 110
Page 4
4.9.6. FLIP-FLOP T (Toggle)
5. Contadores y Registros 5.1. Contadores de Propagación 114 5.2. Contador de propagación ascendente 114
5.3. Contadores con números
MOD < 2
n
5.4. Contador de propagación descendente 116
5.5. Contadores Sincrónicos 117
5.6. Ejemplos de Contadores en Circuito Integrado 120
5.7. Registros de Corrimiento 123
5.8. Registro de Corrimiento Básico
5.9. Tipos de Entradas y Salidas en los Registros de Corrimiento 124
5.10. Registros de corrimiento bidireccionales 5.11. Registros en Circuito Integrado 126
5.12. Aplicaciones de los Registros de Corrimiento 128 5.13. Contador en Anillo 128
6. Análisis y Diseño de Circuitos Secuenciales 130
6.1. Teoría de Máquinas de Estado (FSM) 6.2. Máquinas de Estado de Mealy y Moore 6.3. Ecuaciones Lógicas 132 6.4. Tablas de Estado 6.5. Diagramas de Estado 134
6.6. Tablas de Transición de FLIP-FLOPs 6.7. Mapas de Karnaugh 135
6.8. Análisis y Diseño de Circuitos Secuenciales Sincrónicos 136
6.9. Diseño de Circuitos Secuenciales con FLIP-FLOPs D 6.10. Estados no usados 141
6.11. Análisis de Circuitos Secuenciales Asincrónicos 144
6.12. Ejemplos de Control Secuencial 149
7. Dispositivos Lógicos Programables 154 7.1. Tipos de PLD
7.2. Estructura de los Dispositivos Lógicos Programables Básicos 155
7.3. Herramientas para la Automatización del Diseño Electrónico 156
7.4. Principios y Aplicaciones de los Dispositivos Lógicos Programables como las PALs y las GALs.
7.5. Arquitectura de Diversos PLD's Secuenciales 163 7.6. Memorias 7.7. Aplicaciones de las Memorias 177
7.8. Lógica programable temprana 185 Bibliografía
ANEXO 1 Evaluación Diseño Electrónico Digital 187
ANEXO 2 Respuestas Evaluación Diseño Electrónico Digital 192
Page 5
Los circuitos digitales se emplean en productos electrónicos como videojuegos, hornos de microondas, sistemas de control para automóviles, dispositivos biomédicos, entre otros; también los podemos encontrar equipos de prueba como medidores, generadores y osciloscopios, dispositivos de telecomunicación y consumo masivo como los celulares, radios, televisores y computadores personales.
La era de la electrónica Digital está en auge y las técnicas digitales han reemplazado a muchos de los circuitos análogos empleados en el pasado.
El papel o finalidad de la Educación es generar valores y conocimientos que permitan convertir a todos los individuos en seres capaces de pensar, sentir, realizar, generar e innovar, para contribuir al mejoramiento y beneficio de la sociedad a la cuál pertenecen.
La Educación abierta o a distancia apoyada en tecnología no se debe limitar al conocimiento, debe asumir el reto de desarrollar las herramientas necesarias que le permitan al estudiante ser un participante activo de su proceso de aprendizaje, éste debe ser inquieto, preguntón crítico y motivarse cada vez más en lo que aprende de su profesor y motivar en él un sentimiento investigativo e innovador.
El enfoque de este tipo de Educación está orientado al estudiante, quién es el directo responsable de su proceso de aprendizaje, por lo tanto, para el desarrollo de este curso se implementa un modelo pedagógico y andragógico de aprendizaje interactivo virtual con el apoyo técnico necesario que apoye la Psicología de Aprendizaje, haciendo énfasis en sus tres elementos: Perdurabilidad, Transparencia y Habilidad Práctica. Esto permitirá contrarrestar las desventajas que se presentan en la Educación virtual como son la desmotivación y deserción del estudiante por la lentitud del proceso y por la reducción de la interacción personal.
Para lograr aprendizajes sistémicos en la educación, es necesario avanzar hacia un modelo de pedagogía y andragogía que se identifique con los aspectos sociales que se espera, impacten, para lograr así, una transformación de la realidad a través de la educación.
El presente curso ha sido elaborado a partir de mi experiencia docente y profesional aplicada en la Universidad Autónoma de Manizales, Universidad de Caldas y algunas otras Instituciones del Eje Cafetero.
El Curso Diseño Electrónico Digital brindará a los estudiantes los conceptos y técnicas empleadas en el diseño de sistemas lógicos combinacionales y secuenciales, las herramientas y conocimientos de los Circuitos Digitales, a través de ejercicios de aplicación para afianzar los conceptos vistos, y el aprendizaje significativo, facilitando transferir los conocimientos adquiridos a otros contextos de su quehacer profesional.
Dedico este trabajo a mi bella esposa Kathy Faridy, a mis hijos Santiago, Natalia y Juanita, a mi mamá Ofelia, tías Lilia y Lucila y demás miembros de mi familia y en especial a la memoria de mi tío José Hernán Espinosa Martínez quien fue un padre para mí (mi mentor) y le debo lo que soy hoy día “que la luz de su alma nos siga guiando por el camino de la vida”.
Rubén Darío
Page 6
El sistema decimal es universalmente empleado para representar cantidades en el mundo real. Los sistemas electrónicos digitales tienen que recoger la información y convertirla en dígitos binarios para procesarla internamente. Así mismo, cuando la información es procesada, es necesario convertir esta información, por lo general a decimal antes de llevarla al mundo exterior. En realidad, no se manejan solamente estos dos sistemas, en la práctica se hace necesario utilizar códigos que facilitan el manejo de otras características. En este capítulo, se describirá el código decimal, el código binario, el hexadecimal, el octal, las operaciones entre estos sistemas, las distintas conversiones entre los diferentes sistemas y algunas representaciones de números binarios.
Sistemas Binario y Hexadecimal
El sistema binario es el más utilizado en los circuitos electrónicos digitales. Existen otros dos sistemas, en las aplicaciones digitales; El hexadecimal y el octal. Su ventaja radica en la facilidad que ofrecen para representar de forma reducida los números binarios.
1.1. Sistema Decimal
El sistema decimal es un sistema en base 10. En una cantidad decimal cada dígito tiene un peso asociado a una potencia de 10 según la posición que ocupe. Los pesos para los números enteros son potencias positivas de diez, aumentado de derecha a izquierda, comenzando por 10 0 =1.
Peso:....10 6 10 5 10 4 10 3 10 2 10 1 10 0
Los pesos para los números fraccionarios son potencias negativas de diez, aumentando de izquierda a derecha, comenzando por 10 -1 .
Peso:....10 6 10 5 10 4 10 3 10 2 10 1 10 0 , 10 -1 10 -2 10 -3 10 -4
La expresión general para descomponer el valor de una magnitud expresada en cualquier sistema numérico para obtener su valor decimal:
d i = Dígito en la posición i.
r = Base del sistema utilizado.
n = No. de dígitos fraccionarios.
p = No. de dígitos enteros.
La base r del sistema numérico es el número total de dígitos permitidos para el sistema.
Ejemplo 235.63 = 2x10 2 + 3x10 1 + 5 x 10 0 + 6x10 -1 + 3x10 -2
Page 7
El sistema binario es un sistema en base dos. Es el sistema utilizado por los computadores digitales y tiene sólo dos valores lógicos posibles - "0 y 1" - para sus coeficientes, los cuales se pueden representar físicamente de distintas maneras, como las siguientes:
• Tensiones alto y bajo.
• Interruptor cerrado o abierto.
• Sentido de magnetización de un núcleo magnético.
• Corriente eléctrica alta o baja.
Los dígitos 0 y 1 se llaman bits.
En un número entero binario el BIT a la derecha es el BIT menos significativo (LSB, Least Significant Bit) y tiene un peso de 2 0 =1. El BIT del extremo izquierdo el BIT más significativo (MSB, Most Significant Bit) y tiene un peso dependiente del tamaño del numero binario. Los pesos crecen de derecha a izquierda en potencias de 2. En números fraccionarios el bit a la izquierda de la coma es el MSB y su peso es de 2 -1 = 0,5. Los pesos decrecen de izquierda a derecha en potencias negativas de 2.
Peso: 2n -1 ....2 4 2 3 2 2 2 1 2 0 , 2 -1 2 -2 2 -3 ......2 -n .
En el cual n es el número de bits a partir de la coma binaria. La tabla 1.1.1. muestra la equivalencia de los números decimales del 0 al 15 a su correspondiente binario.
Tabla 1. Sistema decimal y binario
Ejemplo 101101,11 = 1x2 5 + 0x2 4 + 1x2 3 + 1x2 2 + 0x2 1 + 1x2 0 + 1x2 -1 + 1x2 -2
En decimal se tiene: 32 + 8 + 4 + 1 + 0,5 + 0,25= 45,75 10.
Page 8
El sistema hexadecimal es un sistema en base 16 y consta de 16 dígitos diferentes que son: del 0 al 9 y luego de la letra A a la F, es decir 10 dígitos numéricos y seis caracteres alfabéticos.
El sistema hexadecimal se usa como forma simplificada de representación de números binarios y debido a que 16 es una potencia de 2(2 4 =16), resulta muy sencilla la conversión de los números del sistema binario al hexadecimal y viceversa.
La tabla 2. Muestra los números decimales de 0 al 15 con su equivalencia en binario y hexadecimal.
Para convertir un número hexadecimal en un número binario se reemplaza cada símbolo hexadecimal por un grupo de cuatro bits.
Ejemplo:
El número 4F5B 16 en binario equivale a
El sistema octal es un sistema en base 8 y está formado por 8 dígitos. En un número octal, los pesos crecen de derecha a izquierda en potencias de 8.
Peso: 8 4 8 3 8 2 8 1 8 0
La tabla 3. Muestra los números decimales de 0 al 17 con su equivalencia a binario y octal.
Page 9
Observe que en octal los dígitos 8 y 9 no se usan. La conversión de un número octal en decimal se obtiene multiplicando cada dígito por su peso y sumando los productos.
Ejemplo: 1725= 1x8 3 + 7x8 2 + 2x8 1 + 5x8 0 = 512+448+16+5= 981
Código decimal binario (BCD)
El código decimal binario (BCD Binary Code Decimal) es utilizado para expresar los diferentes dígitos decimales con un código binario. Por consiguiente, el código BCD tiene diez grupos de código y resulta práctico para convertir entre decimal y BCD.
El código 8421: Pertenece al grupo de códigos BCD. El nombre 8421 indica los diferentes pesos de los cuatro bits binarios (2 3 , 2 2 , 2 1 , 2 0 ). La tabla 4. Muestra los números decimales de 0 al 9 con su equivalencia en BCD.
Con un número de 4 bits se pueden representar 2 4 combinaciones posibles, pero al emplear el código 8421 se incluyen solamente 10 grupos de código binario, en consecuencia las combinaciones 1010, 1011, 1100, 1101, 1110, 1111 no se utilizan.
Page 10
Ejemplo: Convertir a BCD el número decimal 6498.
Reemplazando por los valores de la tabla 4. Se obtiene,
6498 10 = (0110 0100 1001 1000) 8421
1.5. Conversiones de un Sistema a Otro
Las conversiones entre números de bases diferentes se efectúan por medio de operaciones aritméticas simples. Dentro de las conversiones más utilizadas se encuentran:
1.5.1. Conversión de Decimal a Binario
Para la conversión de decimal a binario se emplean dos métodos. El primero es divisiones sucesivas y el segundo es suma de potencias de 2.
Por divisiones sucesivas: Se va dividiendo la cantidad decimal por 2, apuntando los residuos, hasta obtener un cociente cero. El último residuo obtenido es el BIT más significativo (MSB) y el primero es el BIT menos significativo (LSB).
Ejemplo Convertir el número 153 10 a binario.
El resultado en binario de 153 10 es 10011001
Por sumas de potencias de 2: Este método consiste en determinar el conjunto de pesos binarios cuya suma equivalga al número decimal.
Ejemplo: Convertir el número 153 10 a binario.
153 10 = 2 7 + 2 4 + 2 3 + 2 0 = 128 + 16 +8 +1; 153 10 = 10011001 2
1.5.2. Conversión de Fracciones Decimales a Binario
Para la conversión de fracciones decimales a binario se emplean el siguiente método.
Por suma de potencias de 2: Emplea la misma metodología de la suma de potencias de 2 pero se trabaja con potencias negativas.
Page 11
Ejemplo Convertir el número 0,875 10 a binario.
0,875 10 = (2 -1) + (2 -2) + (2 -3) = 0,5 + 0,25 + 0,125 = 0,111 2
Por multiplicaciones sucesivas: La conversión de números decimales fraccionarios a binario se realiza con multiplicaciones sucesivas por 2. El número decimal se multiplica por 2, de éste se extrae su parte entera, el cual va a ser el MSB y su parte fraccional se emplea para la siguiente multiplicación y seguimos sucesivamente hasta que la parte fraccional se vuelva cero o maneje un error moderado. El último residuo o parte entera va a constituir el LSB.
Ejemplo: Convertir el número 0,875 10 a binario.
El resultado en binario de 0,875 10 es 0,111 2 .
1.5.3. Conversión de Decimal a Hexadecimal
En la conversión de una magnitud decimal a hexadecimal se realizan divisiones sucesivas por 16 hasta obtener un cociente de cero. Los residuos forman el número hexadecimal equivalente, siendo el último residuo el dígito más significativo y el primero el menos significativo.
Ejemplo: Convertir el número 1869 10 a hexadecimal.
El resultado en hexadecimal de 1869 10 es 74D 16.
1.5.4. Conversión de Decimal a Octal
En la conversión de una magnitud decimal a octal se realizan divisiones sucesivas por 8 hasta obtener la parte entera del cociente igual a cero. Los residuos forman el número octal equivalente, siendo el último residuo el dígito más significativo y el primero el menos significativo.
Ejemplo: Convertir el número 465 10 a octal.
Page 12
El resultado en octal de 46510 es 721 .
1.5.5. Conversión de Binario a Decimal
Un número binario se convierte a decimal formando la suma de las potencias de base 2 de los coeficientes cuyo valor sea 1.
Ejemplo: Convertir el número 1100 2 a decimal.
1100 2 = 1x2 3 + 1x2 2 = 12 10
1.5.6. Conversión de Binario a Hexadecimal
El método consiste en conformar grupos de 4 bits hacia la izquierda y hacia la derecha del punto que indica las fracciones, hasta cubrir la totalidad del número binario. Enseguida se convierte cada grupo de número binario de 4 bits a su equivalente hexadecimal.
Ejemplo: Convertir el número 10011101010 a hexadecimal.
El método consiste en hacer grupos de 3 bits hacia la izquierda y hacia la derecha del punto que indica las fracciones, hasta cubrir la totalidad del número binario. Enseguida se convierte cada grupo de número binario de 3 bits a su equivalente octal.
Ejemplo: Convertir el número 01010101 2 a octal.
1.5.8. Conversión de Hexadecimal a Decimal
En el sistema hexadecimal, cada dígito tiene asociado un peso equivalente a una potencia de 16, entonces se multiplica el valor decimal del dígito correspondiente por el respectivo peso y realizar la suma de los productos.
Ejemplo Convertir el número 31F 16 a decimal.
31F 16 = 3x16 2 + 1x16 + 15 x 16 0 = 3x256 + 16 + 15 = 768 + 31 = 799 10
Page 13
La conversión de hexadecimal a binario se facilita porque cada dígito hexadecimal se convierte directamente en 4 dígitos binarios equivalentes.
Ejemplo: Convertir el número 1F0C 16 a binario.
1F0C 16 = 1111100001100 2
1.5.10. Conversión de Octal a Decimal
La conversión de un número octal a decimal se obtiene multiplicando cada dígito por su peso y sumando los productos:
Ejemplo: Convertir 4780 8 a decimal.
4780 = (4 x 8 3 )+(3x8 2 )+(8x8 1 )+(0x8 0 ) = 2048+192+64+0= 2304
1.5.11. Conversión de Octal a Binario
La conversión de octal a binario se facilita porque cada dígito octal se convierte directamente en 3 dígitos binarios equivalentes.
Ejemplo: Convertir el número 715 8 a binario. 715 8 = (111001101) 2
1.6. Representación de Números Enteros y de Punto Flotante: Los computadores deben interpretar números positivos y negativos. Los números binarios se caracterizan por su magnitud y su signo. El signo indica si el número es positivo o negativo y la magnitud el valor del número.
1.6.1. Representación de Números Binarios Enteros: Existen tres formas de representar los números binarios enteros con signo:
a. Signo - magnitud. b. Complemento a 1. c. Complemento a 2.
a. Signo - Magnitud
En el sistema Signo - Magnitud los números positivos y negativos tienen la misma notación para los bits de magnitud pero se diferencian en el bit del signo. El bit del signo es el bit situado más a la izquierda en el número binario:
• En números positivos se emplea el bit "0".
• En números negativos se emplea el bit "1".
• El número no debe estar complementado.
Ejemplo: El número decimal 21 se expresa en binario de 6 bits 010101, donde el primer bit "0" denota el bit de una magnitud positiva. El número decimal -21 se expresa en binario 110101, donde el primer bit "1" denota el bit de una magnitud negativa.
Page 14
b. Complemento a 1:
El complemento a 1 en binario se obtiene cambiando los unos por ceros y los ceros por unos. La representación de números positivos en complemento a 1 sigue las mismas reglas del sistema signo-magnitud y la representación de los números negativos en complemento 1 es el complemento a 1 del número positivo.
Ejemplo: El número decimal 21 se expresa en complemento a 1 a 6 bits como 010101, donde el primer bit "0" denota el bit de una magnitud positiva.
El complemento 1 a 6 bits del decimal -21, se obtiene por medio del complemento a 1 del número positivo 010101 el cual es 101010.
c. Complemento a 2
Los computadores utilizan la representación binaria en complemento a 2 para representar números negativos. La representación de números positivos en complemento a 2 sigue las mismas reglas del sistema signo-magnitud y la representación de los números negativos en complemento a 2 se obtiene de la siguiente forma:
1. Se representa el número decimal dado en magnitud positiva. 2. El número de magnitud positiva se representa en forma binaria positiva. 3. Se obtiene el complemento 1 del número binario obtenido en el paso anterior mediante el cambio de los unos por ceros y viceversa. 4. Al complemento 1 se le suma uno y el resultado es la representación en el complemento 2.
Ejemplo: Representar el número -5 10 en binario, utilizando el complemento a 2 con 5 bits.
Ejemplo: Obtener el complemento a 2 del número positivo de 8 bits 00000101 2 (+5 10 ) .
El equivalente en complemento a 1 es 11111010. El complemento a 2 del número es 11111011. Comprobando los pesos en decimal se puede demostrar la obtención del negativo del número inicial utilizando el método del complemento a 2:
11111011 2 = (-128 + 64 + 32 +16 + 8 + 0 + 2 + 1) 10 = - 5 10
En la representación en complemento 2 el primer bit del lado más significativo puede interpretarse como el signo, siendo cero para números positivos y 1 para números negativos. Se puede comprobar que si a una cantidad negativa expresada en complemento 2 se le saca su complemento 2, se obtiene la magnitud positiva correspondiente.
Page 15
En los computadores los números se representan en punto fijo y en punto flotante.
Punto fijo: Se usa para los números enteros con signo o fracciones con signo. En este caso las cantidades se representan en forma binaria en complemento a 1 ó a 2 y se pueden utilizar longitudes de 8, 16 y 32 bits. En 8 bits el rango va desde 128 hasta 127. El número de combinaciones diferentes de un número binario de n bits es:
Nº total de combinaciones: 2 n .
En los números con signo e complemento a 2, el rango de valores para números de n bits:
(2 n-1 ) a + (2 n-1 -1).
a. Enteros con signo
Los enteros de punto fijo usan un punto binario a la derecha del LSB.
Ejemplo El número de punto fijo de 8 bits 01110101 en complemento a 2, por tener un 0 en el bit de signo representa:
El número entero positivo 1110101 ó la fracción positiva 0.1110101
b. Fracciones de punto fijo
Las fracciones de punto fijo usan el punto binario entre el bit de signo y el MSB.
Ejemplo: El número de punto fijo de 8 bits 11001111 en complemento a 2, por tener un 1 en el bit de signo representa: El número entero negativo -0110001 ó la fracción negativa -0. 0110001.
Punto flotante: El punto flotante se utiliza para representar números no enteros, números muy grandes o números muy pequeños.
m x r e donde, m es la mantisa y es un Un número en punto flotante se expresa como
número de punto fijo, e es el exponente o característica y es un entero de punto fijo, r es la base. En los computadores personales se usa base 2.
La mantisa representa la magnitud del número. El exponente es la parte que representa el número de lugares a desplazar el punto decimal o binario.
Sí tenemos un número de punto fijo de la forma ± (a n-1 .... a 0 . a -1 ….a -m ) r en forma de punto flotante será de la forma ± ( . a n-1 ....a -m ) r x r n , la base generalmente se omite.
Con frecuencia la mantisa m se escribe con magnitud y signo de la siguiente forma, y en forma de fracción M = (s m . a n-1 … a -m ) donde, s m indica el signo (1 para una cantidad negativa y 0 para una cantidad positiva) y . a n-1 … a -m representa la magnitud.
Page 16
Un número de punto flotante está normalizado si el exponente se ajusta de modo que la mantisa tenga un valor distinto de cero en la posición más significativa.
Ejemplo: El número +1010.0111 en representación normalizada en punto flotante da como resultado
(0.10100111) x 2 4
El estándar ANSI/IEEE 754-1985 define tres formatos para los números de punto flotante:
• Precisión sencilla: Utiliza 32 bits.
• Doble precisión: Utiliza 64 bits
• Precisión ampliada: Utiliza 80 bits.
Ejemplo: Un formato a 32 bits es el siguiente, El exponente desplazado se obtiene adicionando 127 al exponente real y convirtiéndolo al binario correspondiente.
1.7. Operaciones Aritméticas en Binario
Los circuitos de control básicos y los computadores efectúan operaciones aritméticas. Estas operaciones se realizan en sistema binario y las leyes que las rigen, son paralelas a las usadas en el sistema decimal. A continuación se describe cada una de las metodologías para realizar tales operaciones.
a. Suma Binaria
La suma de dos cantidades binarias empieza con la suma de los dos dígitos menos significativos de los sumandos y un acarreo inicial de cero ó uno (Acarreo C in ). Esta operación puede producir un bit de acarreo (Acarreo C out ) para la suma de la siguiente posición significativa. En la tabla 7. Las entradas A, B y Cin denotan al primer sumando, el segundo sumando y el acarreo de entrada. Las salidas S y Cout representan a la suma y el acarreo de salida.
Page 17
Ejemplo: Efectuar la suma de 010110 y 101010.
La suma de 2 magnitudes binarias en representación de complemento a 2, da como resultado la suma binaria en complemento a 2.
b. Resta Binaria:
En la resta binaria, los bits del minuendo de las columnas se modifican cuando ocurre un préstamo. En la tabla 1.4.2. las entradas A, B y B in denotan el minuendo, el sustraendo y el bit prestado. Las salidas D y P representan a la diferencia y el préstamo. La tabla muestra los resultados de una resta binaria de dos bits,
Para A=0, B=0 y B in =1, hay que tomar prestado un 1 de la siguiente columna más significativa, lo cual hace P=1 y agregar "en decimal" 2 a A. La resta 2-0-1=1, da como resultado en binario D=1.
Los préstamos se propagan hacia la izquierda de columna en columna.
Ejemplo: Restar 1001 2 de 10011 2.
Renglón 2, Tabla 1.4.1. 0 - 1 = 0 con un préstamo de la columna izquierda. 10 - 1 = 1 Renglón 1, Tabla 1.4.1. 0 - 0 = 0 sin préstamo. Renglón 3, Tabla 1.4.1. 1 - 0 = 0 sin préstamo.
Renglón 4, Tabla 1.4.1. 1 - 1= 0 sin préstamo. ↓
↓
↓
↓
1 Préstamo 1 0 0 1 1 - 0 1 0 0 1 0 1 0 1 0
Page 18
Rebasamiento: Se presenta cuando la suma de la columna más significativa genera un acarreo. Este sólo se puede producir cuando ambos números son positivos o negativos.
Ejemplo: Efectuar la suma de 865 10 y 412 10 .
Ejemplo: Efectuar la suma de 110 2 y 110 2 .
Resta binaria en Complemento a 2
En la lección anterior se vió que el signo de un número positivo ó negativo se cambia calculando su complemento a 2. La resta de dos números con signo se calcula sumando el complemento a 2 del sustraendo al minuendo y descartando cualquier bit de acarreo final. El siguiente procedimiento es necesario para calcular la resta de dos números:
1. Obtener el complemento a 2 del sustraendo.
2. Efectuar la suma del minuendo y el sustraendo en complemento a 2.
3. Sí la suma presenta rebosamiento indica que la repuesta es positiva. Ignore el rebasamiento.
4. Si no hay rebosamiento, entonces la repuesta es negativa. Para obtener a magnitud del número binario, obtenga el complemento a dos de la suma.
Ejemplo: Sustraer (1010111 - 1001000) 2
1. El complemento a 2 de 1001000 es 0111000.
2. Sumamos el primer sumando y el complemento a 2 obtenido.
Page 19
3. La respuesta es 0001111 2.
Multiplicación Binaria
La multiplicación de dos cantidades binarias es necesario considerar lo siguiente:
La multiplicación binaria cumple las mismas reglas de la multiplicación decimal. En el próximo ejemplo se ilustrará la multiplicación binaria.
Ejemplo: Multiplicar las cantidades 1011 y 1101.
Multiplicación con signo: Se representan los operandos en complemento 2 y el resultado también se obtiene en complemento 2. El último multiplicando desplazado se niega.
Page 20
Page 21
Page 22
Page 23
Page 24
Page 25
Figura 17. Prueba de una de las compuertas del Circuito Integrado 74LS08
En aplicación a los circuitos digitales, podríamos decir que no importa el orden de conexión de las entradas a una compuerta OR.
Page 26
En la figura 19 se muestra la aplicación de la propiedad a las compuertas OR,
En la figura 20 se muestra la aplicación de la propiedad a las compuertas AND,
Page 27
Page 28
(X 1 + X 2 +.....+ X n )’ = X 1 ’ · X 2 ’ · ..... · X n ’
En el caso de dos variables se tiene, (X + Y)’ = X’ · Y’
El circuito equivalente a la ecuación anterior se muestra en la figura 22.
(X 1 · X 2 ·.....· X n )’ = X 1 ’ + X 2 ’ + .....+ X n ’
En el caso de dos variables se tiene, (X · Y)’ = X’ + Y’
El circuito equivalente en dos variables a la ecuación se muestra en la figura 24.
Page 29
Tabla 8.1. Propiedades, Tablas y Representación Gráfica del Algebra de Boole
Page 30
Page 31
2.4. Implementación de Funciones Lógicas mediante Compuertas.
derecho. Por lotanto, la expresión de esta compuerta OR es [(A+B)’·C]+D.
Page 32
Ejemplo: X’, Y’, X, Y.
• Dominio de una expresión booleana: Es el conjunto de variables contenido en una expresión booleana.
Ejemplo: Determine el dominio de la expresión X’·Y·Z + X·Y’·Z·W.
El dominio es X, Y, Z, W.
• Término normal: Un producto o término suma en donde ninguna variable aparece repetida.
Ejemplo de término repetido: X·Y·Y, Z·X’·X’·Y
Ejemplo de término no repetido: X’·Y·Z, Z·Y’·X
• Término producto: Un solo literal o el producto lógico (multiplicación booleana) de dos o más literales.
Ejemplo: X’, X·Y’, Z·Y, X·Y’·Z
Un término producto es 1 sólo para una combinación de valores de las variables.
Ejemplo: El término producto X·Y'·Z es 1 sólo para X=1, Y=0 y Z=1 y es 0 para el resto de combinaciones. El valor en binario será 101 ó 5 en decimal.
• Término suma: Un solo literal o una suma lógica (suma booleana) de dos o más literales.
Ejemplo: X, X + Y’,X’+Z’, X+Y+Z, X+Y’+Z’
Un término suma es 1 cuando cualquier literal que lo compone es 1.
Ejemplo: El término X+Y’+Z’ es 0 para X=0 ó Y=1 ó Z=1 y es 1 para el resto de combinaciones. El valor en binario será 011 ó 3 en decimal.
• Suma de productos: Suma lógica de términos productos (Ver tabla 9).
Ejemplo: X’+ X·Y’ + Z·Y + X·Y’·Z
Forma estándar de la suma de productos: Una suma de productos no se encuentra en su forma estándar cuando alguno de los términos producto no contiene alguna de las variables del dominio de la expresión.
Ejemplo
Page 33
X’·Y·Z + X·Y’·Z·W. El dominio es X, Y, Z, W. El primer término producto no contiene el literal W ó W'.
Ejemplo
X'·Y·Z'.W + X·Y·Z·W. En cada uno de los términos de la expresión aparecen todas las variables del dominio. Por lo tanto, la suma de productos está en su forma estándar.
• Producto de sumas: Producto lógico de términos suma (Ver tabla 9).
Ejemplo: X·(X+Y’)·(X’+Z’)·(X+Y+Z)·(X+Y’+Z’).
Forma estándar del producto de sumas: Un producto de sumas no se encuentra en su forma estándar cuando alguno de los términos suma no contiene alguna de las variables del dominio de la expresión.
Ejemplo
(X’+W+Z')·(X'+Y’+Z+W')·(X+Y). El dominio es X, Y, Z, W. El primer término suma no contiene el literal Y ó Y'. El tercer término suma no contiene los literales Z ó Z' y W ó W'.
Ejemplo
(X'·Y·Z'.W)·(X·Y'·Z·W). En cada uno de los términos de la expresión aparecen todas las variables del dominio. Por lo tanto, el producto de sumas está en su forma estándar.
• Mintérmino: Es un término de producto con n literales en el cual hay n variables. De n variables obtenemos 2 n mintérminos.
Ejemplo de mintérminos de 3 variables: X’·Y’.Z’, X’.Y’.Z, X’.Y.Z’, X’.Y.Z, X.Y’.Z’, X.Y’.Z, X.Y.Z’, X.Y.Z. (Ver tabla 9.).
• Maxtérmino: Es un término de suma con n literales en el cual hay n variables. De n variables obtenemos 2 n maxtérminos. (Ver tabla 9.).
Ejemplo de maxtérminos de 3 variables: X+Y+Z, X+Y+Z’, X+Y’+Z, X+Y’+Z’, X’+Y+Z, X’+Y+Z’, X’+Y’+Z, X’+Y’+Z’. (Ver tabla 2.2.1.).
Page 34
Page 35
A’·B
2. La segunda condición se presenta cuando A es 1 y B es 0. Esta condición ocasiona un resultado 1, si el producto lógico es:
A·B’
Page 36
2. Repetir el paso 1 para todos los términos de la expresión que no contengan todas las variables (o sus complementos) del dominio. Resolver los términos intervenidos.
Page 37
Page 38
F 5 = (F 5 ')' = (A'·B' + A·B)' =(A'·B')'·(A·B)' = [(A')'+(B')']·(A'+B') = (A+B)·(A'+B')
Page 39
Page 40
F 1 = (m 3 , m 4 , m 5 , m 6 , m 7 ) = A’·B·C + A·B’·C’+ A·B’·C + A·B·C’+ A·B·C
Page 41
Page 42
Page 43
Page 44
Page 45
Page 46
Simplificar la función de Boole F 5 = Σ (m 0 , m 4 , m 7 , m 9 ) con condiciones de importa,
Page 47
1. Enumerar en una tabla todos los mintérminos en forma binaria, organizados según el número de unos que contenga. La aplicación de este paso se muestra en la tabla 18.
Page 48
La metodología consiste en comparar el primer mintérmino con el resto de los términos del segundo grupo. Así, los términos del segundo grupo se comparan con los mintérminos del grupo siguiente. De la forma anterior, se procede con los demás mintérminos de los demás grupos. Los mintérminos utilizados se les pone una marca (√ ) con el fin de ir diferenciando los términos utilizados y la variable apareada en el proceso se reemplaza con un guión para denotar la eliminación de la variable. Los términos no marcados en la tabla son los primeros implicantes primos (PI X ). Los mintérminos utilizados se les pone una marca (√ ) con el fin de ir diferenciando los términos utilizados y la variable apareada en el proceso anterior se reemplaza con un guión para denotar la eliminación de la variable.
cada implicante primo. La letra X en la tabla 20 indica el mintérmino contenido en cada implicado por fila. Por ejemplo, en la tabla se observa en el primer renglón los mintérminos 2, 3, 6 y 7 para el primer implicante primo. El resto de la tabla se construye de forma similar.
Page 49
En la tabla se seleccionan las columnas de los mintérminos que contengan solamente una cruz. En este ejemplo, hay dos mintérminos cuyas columnas tienen una sola cruz: 6 y 15. Es decir, la selección del primer implicado PI 1 (A’·C) garantiza que el término mínimo 6 está incluido en la función. De la misma forma, el término mínimo 7 está cubierto por el primer implicado PI 7 (A'·B·C·D). Los primeros implicados que cubren los mintérminos con una sola cruz, se llaman primeros implicados esenciales (en la tabla se encuentran marcados con un asterisco) y son indispensables en la construcción de la función.
4. Seleccionar en cada columna los mintérminos que estén cubiertos por los primeros implicados esenciales. Por ejemplo, el primer implicado esencial * PI 1 (A’·C) cubre los mintérminos 2, 3, 6 y 7. De la misma forma, el primer implicado esencial *PI 7 (A'·B·C·D) cubre los mintérminos 7 y 15. Hasta el momento la selección de primeros implicados cubre los mintérminos 2, 3, 6, 7 y 15 excepto 1, 8, 9 y 10. Estos términos mínimos deben ser seleccionados por medio de otros primeros implicados esenciales. En la tabla 2.5., la selección de los primeros implicados PI 3 y PI 6 garantiza el cubrimiento de los términos mínimos 1, 8, 9 y 10. En la tabla 21 se muestra el proceso de selección.
La función simplificada se obtiene de la suma de los primeros implicados hallados:
F= PI 1 + PI 3 +PI 6 + PI 7
F= (0-1-) + (-001) + (10-0) + (-111)
F = A'·C + B’·C’·D + A·B’·D’ + B·C·D
Page 50
Los circuitos lógicos se dividen en combinacionales y secuenciales. Los circuitos combinacionales consisten en variables de entrada, compuertas lógicas y variables de salida que cumplen funciones intermedias de mediana escala de integración. El nivel de complejidad de los sistemas combinacionales puede llegar al caso de millones de entradas, dispositivos, interconexiones y salidas. La comprensión de estos circuitos se hace por medio de la división en subsistemas o estructuras más simples.
Hay esencialmente tres tipos de funciones en el diseño de circuitos lógicos combinacionales:
a. Funciones aritmético lógicas (ALU): Encargados de realizar operaciones locales entre dos datos de n bits. (Sumadores, restadores, multiplicadores y operaciones lógicas bit a bit).
b. Funciones de ruta de datos: Guían el tráfico de datos e instrucciones entre las distintas partes de un sistema de cálculo (de memoria a unidad aritmética, etc,..). Su clave es el carácter controlado del movimiento a través de compuertas que se abren o cierran de forma sincrónica, en general, de acuerdo con pulsos de un reloj. (multiplexores, demultiplexores).
c. Circuitos cambiadores de código: Para cada tipo de proceso existe una representación digital de la información que es más adecuada que otras. Su ejemplo más general es el de las memorias de solo lectura (ROM), que son en realidad circuitos que sintetizan funciones múltiples de forma que cada bit de la palabra de salida puede ser una función lógica cualquiera de todos los bits de entrada.
3.1. Circuitos Aritméticos
El diseño de sistemas digitales involucra el manejo de operaciones aritméticas. A continuación se implementarán los circuitos de suma y resta de números binarios.
La suma o adición binaria es análoga a la de los números decimales. La diferencia radica en que en los números binarios se produce un acarreo (carry) cuando la suma excede de uno mientras en decimal se produce un acarreo cuando la suma excede de nueve(9). Del gráfico de la figura 1 podemos sacar las siguientes conclusiones:
1. Los números o sumandos se suman en paralelo o en columnas, colocando
2. 2. El orden de ubicación de los números no importa (propiedad conmutativa).
En la figura 38 se indican las reglas que rigen la suma binaria y en la figura 40 se muestra un circuito lógico llamado semisumador, que suma 2 bits (A y B) que genera un bit de suma y un bit de acarreo cuando este se produce.
Page 51
La resta o sustracción de números binarios es similar a los números decimales. La diferencia radica en que, en binario, cuando el minuendo es menor que el sustraendo, se produce un préstamo o borrow de 2, mientras que en decimal se produce un préstamo de 10.
Al igual que en la suma, el proceso de resta binaria, se inicia en la columna correspondiente a la de los dígitos menos significativos. En la figura 39 se indican las reglas que rigen la resta binaria.
Semisumador: La operación de un Semisumador conforme a las reglas de la suma binaria mostradas en la figura 38 se puede sintetizar mediante las siguientes 2 operaciones booleanas:
=A(xor)B (suma) Co=A·B (acarreo)
Para realizar una suma binaria donde se tenga presente un carry de entrada se debe implementar un circuito que tenga presente esta nueva variante; como es el caso del sumador completo (Figura 42).
El bit de suma es 1, sólo si las variables A y B son distintas. El bit de acarreo Co es 0 a no ser que ambas entradas sean 1. Por consiguiente, la salida S puede expresarse en términos de la operación EXOR: = A’·B + A·B’ = A ⊕ B
Page 52
Sumador Completo: El sumador completo acepta dos bits y un acarreo de entrada y genera una suma de salida junto con el acarreo de salida. El sumador completo tiene 3 entradas que se suman y son: A, B, y Cin (entrada de arrastre), y las salidas habituales y Co (suma y salida de arrastre)
La tabla 22 muestra la tabla de verdad del sumador completo. Las entradas A, B y C in denotan al primer sumando, el segundo sumando y el acarreo de entrada. Las salidas S y C out representan a la suma y el acarreo de salida.
El mapa de karnaugh de la salida C out se muestra en la figura 41.
Page 53
La salida C out está dada por:
Semirrestador: La operación de un Semirrestador como el mostrado en la figura 43 se puede resumir mediante las ecuaciones booleanas:
Di=A·B(neg)+A(neg)·B= A(xor)B (diferencia) Bi=A(neg).B (borrow)
El circuito tiene dos entradas binarias y dos salidas. La figura 43 muestra el símbolo lógico y el circuito las entradas son A(minuendo) y B(sustraendo) y la salida Di corresponde a la diferencia y Bo al préstamo de salida.
Si A≥ B, existen tres posibilidades 0-0=0, 1-0=0 y 1—1=1. El resultado es el bit de diferencia Di. Si A<B se tiene 0-1 y es necesario prestar un 1 de la siguiente posición significativa de la izquierda. El préstamo agrega 2 al bit del minuendo de manera similar cuando en el sistema decimal se agrega 10 al dígito del minuendo.
La tabla de verdad 23. Está dada por las reglas de la resta binaria.
Page 54
La salida Di coincide con la operación EXOR y se puede expresar de la siguiente forma:
Di = A’·B + A·B’
La salida Bo está dada por la suma de productos de los términos presentes en el renglón 2 de la tabla de verdad:
Bo = A’·B
Restador Completo
El Restador completo realiza la resta entre dos bits, considerando que se ha prestado un 1 de un estado menos significativo. En la tabla 24 las entradas A, B y C denotan el minuendo, el sustraendo y el bit prestado. Las salidas Di y Bo representan a la diferencia y el préstamo.
En las combinaciones del mapa donde C=0, se tienen las mismas condiciones para el semisumador.
La función de la salida Di de un restador es la misma que la salida de un sumador completo:
D = A’·B’·C + A’·B·C’ + A·B’·C’ + A·B·C = (A ⊕ B) ⊕ C in
El mapa de karnaugh de la salida Bo se muestra en la figura 44.
Page 55
La salida Bo está dada por:
P = A’·B + A’·C + B·C
El símbolo y circuito lògico se muestra en la figura 45.
Page 56
Sumador y Restador de Cuatro Bits
Las operaciones aritméticas se pueden implementar mediante circuitos lógicos. El nivel de sencillez obtenido en los circuitos está dado por la técnica de diseño utilizada. La implementación de una unidad aritmética que realice las operaciones de suma y resta en un sólo circuito, es más simple comparándola con una de dos circuitos para las mismas funciones.
La suma de dos números binarios de cuatro bits se realiza de derecha a izquierda, teniendo en cuenta las correspondientes posiciones significativas y el bit de arrastre (acarreo C inx ). El bit de arrastre generado en cada posición se utiliza en la siguiente posición significativa. La figura 46 muestra la suma de dos números de cuatro bits.
En un sumador completo, la suma de un par de bits genera un bit de acarreo. Un sumador de 2 números de n bits se puede implementar de la forma descrita a continuación. Los bits de la posición menos significativa se suman con un acarreo inicial de 0, generando el bit de suma y el de acarreo. El bit de acarreo generado es usado por el par de dígitos en la siguiente posición significativa. La suma se propaga de derecha a izquierda según los acarreos generados en cada sumador y los sumandos presentes. Por consiguiente, la suma de dos 2 números binarios de n bits se puede implementar mediante la utilización de n sumadores completos. Así, para números binarios de dos bits se necesitan dos sumadores completos; para números de cuatro bits cuatro sumadores. En la figura 47 se muestra un sumador de cuatro bits.
El símbolo lógico del sumador de cuatro bits se muestra en la figura 48.
Page 57
Un sumador se puede modificar en forma de sustractor invirtiendo cada bit del sustraendo y sumando 1 al establecer un acarreo de entrada C in1 .
Observese el complementador de la figura 49. Si la entrada de control es igual a S=0, la entrada de datos I pasa sin ningún cambio a la salida. Si S=1, la entrada de datos se complementa.
El funcionamiento de este elemento se describe en la tabla de verdad 25.
De la tabla de verdad se observa que Y = S ⊕ I. La figura 50 muestra la función EXOR como complementador.
Page 58
Una sola entrada de control S con n líneas de entrada de datos I i sirve para complementar o no complementar la entrada, según la operación de resta o suma binaria. La figura 51 ilustra un complementador de 4 bits.
El circuito completo de un sumador/restador de 4 bits se representa en la figura 52.
Page 59
Sumador en BCD
La suma en código BCD utiliza las mismas reglas de la suma binaria vistas en la figura 38 Si una suma de dos números es menor o igual que 9, el número BCD resultante es válido. Si la suma es mayor que 9, o si se genera un acarreo el resultado no es válido. En este caso, se suma el número binario 0110 para pasar de nuevo al código BCD. Si se genera acarreo al sumar 0110, éste se suma al siguiente grupo de 4 bits. En los siguientes ejemplos se verán los casos que se pueden presentar.
Ejemplo Sumar los números 01000101 (45) 10 y 00010010(12) 10 .
La suma de la figura 53 no genera acarreos.
Ejemplo Sumar los números 00111001(39) 10 y 01010110(56) 10 .
La suma de los cuatro bits menos significativos de la figura 54 genera acarreo.
Figura 54. Suma BCD con acarreo en el dígito BCD menos significativo
Ejemplo Sumar los números 01111001(79) 10 y 00110101(35) 10 .
La suma de dígito BCD menos significativo de la figura 55 genera acarreo, al igual que el segundo dígito BCD.
Page 60
Un sumador BCD es un circuito que suma dos dígitos en BCD. En una suma BCD, la suma 9+9+1=19 es el valor máximo resultante, siendo el 1 en la suma el acarreo de entrada. Los dígitos BCD con un acarreo de entrada, se agregan en un sumador binario de cuatro bits para producir la suma binaria. Los números decimales se listan en la tabla 3.11.1. C 1 es el acarreo de la suma de los números A y B de entrada (ver figura 56) y los dígitos S 1 a S 4 son el resultado de la suma binaria, donde cada dígito tiene los pesos 8, 4, 2, 1 del código BCD. Cuando la suma binaria es menor o igual a 1001, no se agrega nada a la suma. Cuando el número binario es mayor que 1001 se obtiene una representación en código BCD no válida. La suma del número binario 0110 a la suma binaria convierte la representación a un código BCD válido. En la figura la suma del número 0110 se realiza por medio de un segundo sumador inferior. Este código BCD válido se observa en la tabla 3.11.1 en la columna de suma BCD. Las salidas S 5 a S 8 representan la suma BCD. C 2 es el acarreo de salida de la suma BCD.
El circuito necesario para detectar la condición de acarreo o suma binaria mayor a 1001 se obtiene de la tabla de verdad. Cuando C 1 es 1 se necesita sumar 0110 o una correción. Lo mismo entre las combinaciones 1010 y 1111, se tiene una corrección cuando S 2 =S 4 =1 ó S 3 =S 4 =1. La expresión lógica de la corrección es:
Page 61
El circuito lógico necesario para implementar el sumador BCD se muestra en la figura 56
Unidad Aritmética y Lógica (ALU)
Una unidad aritmética lógica puede realizar un conjunto de operaciones aritméticas básicas y un conjunto de operaciones lógicas, a través de líneas de selección. En inglés ALU significa Arithmetic Logic Unit (Unidad Aritmética Lógica). La figura 57. Muestra el diagrama de bloques de una ALU.
Page 62
Las cuatro entradas de A se combinan con las de B generando una operación de salida de cuatro bits en F. La entrada de selección de modo S 2 distingue entre las operaciones aritméticas y lógicas. Las entradas de selección S 0 y S 1 determinan la operación aritmética o lógica. Con las entradas S 0 y S 1 se pueden elegir cuatro operaciones aritméticas (con S 2 en un estado) y cuatro lógicas (con S 2 en otro estado). Los acarreos de entrada y salida tienen sentido únicamente en las operaciones aritméticas. El diseño de una ALU implica el diseño de la sección aritmética, la sección lógica y la modificación de la sección aritmética para realizar las operaciones aritméticas y lógicas.
Sección Lógica
Los datos de entrada en una operación lógica son manipulados en forma separada y los bits son tratados como variables binarias. En la tabla 27 se listan cuatro operaciones lógicas OR, EXOR, AND y NOT. En el circuito, las dos líneas de selección (S 1 , S 0 ) permiten seleccionar una de las compuertas de entrada, correspondientes a la función F i .
El circuito lógico de la figura 58 es una etapa de un circuito lógico de n bits.
Sección Aritmética
El componente básico de la sección aritmética es un sumador en paralelo (ver figura 47). Las operaciones aritméticas configuradas en el circuito aritmético se presentan en la tabla
Page 63
28. En una ALU, la suma aritmética se puede implementar con un número binario en A, otro número en la entrada B y el acarreo de entrada C in en un valor lógico 0. El resto de las funciones se enuncian en la columna descripción.
La implementación de las funciones anteriores por medio de un circuito lógico sencillo se describe a continuación. El circuito se diseña bajo el precepto de intervenir cada entrada B i para obtener las siguientes funciones:
La figura 59 muestra el circuito.
Por medio de estas funciones se pueden lograr las funciones de la tabla 28 al agregar el número N i (tabla 29) a la entrada A, a través de un sumador en paralelo para cada etapa, teniendo en cuenta el valor de la entrada C in . El circuito combinacional aritmético se muestra en la figura 60, la entrada A se denomina M i en el sumador completo.
Page 64
Diseño de una Unidad Aritmética Lógica: se deben seguir los siguientes pasos:
1. Diseñar la sección aritmética independientemente de la sección lógica. 2. Determinar las operaciones lógicas del circuito aritmético, asumiendo que los acarreos de salida de todas las etapas son 0.
3. Modificar el circuito aritmético para obtener las operaciones lógicas requeridas.
El diseño simple de una ALU se hace utilizando el sumador completo para generar las operaciones lógicas de la unidad. Por lo tanto es necesario introducir una variable de control adicional (S 2 ), con el fin de seleccionar entre las operaciones lógicas y aritméticas. En este diseño, un valor S 2 = 1 hace que el circuito efectúe operaciones lógicas. Recordando la salida de un sumador completo:
F = (A i ⊕ B i ) ⊕ C in
A partir de esta ecuación, es posible obtener la función lógica requerida, utilizando la debida manipulación lógica. La función requerida se expone en la tabla 30.
Tabla 30. Tabla de obtención de las funciones lógicas con un sumador completo
Page 65
Partiendo de la tabla 30, las entradas M i , N i y C ini en un sumador completo, son equivalentes a las siguientes expresiones:
La figura 61 muestra el diagrama de la unidad aritmética lógica de dos etapas.
Las doce operaciones generadas en el ALU se resumen en la tabla 31, la función en particular se selecciona a través de S 2 , S1, S0 y Cin. Las operaciones aritméticas son las mismas del circuito aritmético.
Page 66
Multiplicador Combinatorio
Un multiplicador combinatorio permite realizar la operación de multiplicación mediante circuitos combinacionales. Como ejemplo, un circuito construido para este propósito es un multiplicador combinacional paralelo de 4 bits, mostrado en la figura 62. Este multiplicador está constituido internamente por circuitos sumadores completos, que a su vez internamente están diseñados a nivel de puertas lógicas. En el primer nivel de compuertas de la figura se obtienen las operaciones A 0 B 0 , A 1 B 0 , A 2 B 0 y A 3 B 0 . En el segundo nivel de compuertas, las operaciones A 0 B 1 , A 1 B 1 , A 2 B 1 y A 3 B 1 . En el tercero, las operaciones A 0 B 2 , A 1 B 2 , A 2 B 2 y A 3 B 2 y en el cuarto A 0 B 3 , A 1 B 3 , A 2 B 3 y A 3 B 3 . Por ejemplo, A 0 B 0 es directamente el resultado P 0 . El dígito P 3 , se obtiene de la suma de los bits de entrada a los sumadores S3, S6, S9 y el bit A 3 B 0 . La figura 62 recuerda el proceso de multiplicación de dos números de cuatro bits.
Page 67
3.2. Decodificadores:
Un decodificador es un circuito lógico cuya función es indicar la presencia de cierto código en sus líneas de entrada con un nivel predeterminado a la salida. El procedimiento consiste en interpretar el código de n líneas de entrada con el fin de activar un máximo de 2 n líneas a la salida. Si el código de entrada tiene combinaciones no usadas o de no importa, la salida tendrá menos de 2 n salidas. La característica predominante en los decodificadores es un mayor número de salidas con respecto al número de entradas.
n Entradas ------[ n x 2 n ]----- 2 n salidas
Page 68
Decodificador de 2 a 4 líneas (2 bits)
El Decodificador de 2 a 4 líneas tiene 2 líneas de entrada y 4 líneas de salida. En la tabla 32 las entradas del decodificador son I0 e I1 y representan un entero de 0 a 3 en código decimal. G es la entrada de habilitación y determina la activación del circuito de acuerdo a su valor lógico ("1" circuito activo, "0" circuito no activo). Según el valor binario presente en las 2 entradas se activa una de las 4 salidas al valor lógico 1. Por ejemplo, con el valor 1 en I 0 y el valor 0 en I 1 se activará la salida Y 1 .
En la figura 65 se muestra el circuito lógico del decodificador 2x4.
Figura 65. Diagrama lógico del decodificador 2 x 4 con entrada de habilitación
Page 69
Decodificador de 3 a 8 líneas (3 bits)
El decodificador de 3 a 8 líneas activa una sola de las 8 líneas de salida de acuerdo con el código binario presente en las 3 líneas de entrada. Las salidas son mutuamente exclusivas ya que solamente una de las salidas es igual a 1 en cualquier momento.
Las entradas del decodificador son x, y, z y las salidas van de y 0 a y 7 (activas bajas). La tabla de verdad del decodificador se muestra en la tabla 33.
Como la tabla anterior tiene 8 salidas, por lo tanto sería necesario dibujar ocho mapas de karnaugh para simplificar cada una de las funciones de salida.
Por tanto procedimiento, se puede dibujar un solo mapa y reducir la función para cada término por separado. La reducción de cada término da como resultado la equivalencia entre cada mintérmino de entrada y la salida correspondiente.
Por ejemplo, la entrada 110 activará la salida Y 6 . En el circuito el mintérmino corresponderá a una compuerta AND de tres entradas con las variables A·B·C’ como entradas. De manera similar se construye el circuito para el resto de entradas. El circuito lógico del decodificador de 3 a 8 líneas se representa en la figura 66.
Page 70
Decodificador de 4 a 16 líneas (4 bits)
El decodificador de 4 a 16 líneas activa una sola de las 16 líneas de salida de acuerdo con el código binario presente en las 4 líneas de entrada. Las salidas son mutuamente exclusivas ya que solamente una de las salidas es igual a 1 en cualquier momento.
Las entradas son w, x, y, z y las salidas son y 0 a y 15 (activas bajas). La tabla 34 muestra la tabla de verdad para el decodificador.
Page 71
Similar al decodificador de 3 a 8, la salida correspondiente a cada código es el mintérmino correspondiente a cada entrada. La simplificación de la función necesitaría de 16 mapas para la reducción. En vez de construir 16 mapas, se construye solo uno, en el cuál se representa cada uno de los valores para cada combinación de entrada (Ver figura 67). Los mintérminos no se pueden asociar por la consideración anterior, pero el ejemplo sirve para mostrar la construcción del circuito lógico.
Figura 67. Mapa de karnaugh de la función del decodificador de 4 a 16 líneas
En la tabla el término Y 7 se obtiene del mintérmino m 7 (W’·Z·Y·X). En la entrada, los valores 0111 activarán la salida Y 7 . El resto del circuito lógico se construye de manera similar. El diagrama de bloques del circuito lógico se representa en la figura 68.
Page 72
Ejemplos de Aplicación en los Computadores
En la comunicación entre los diferentes dispositivos que conforman un computador, se emplean puertos de E/S y memorias. Entre las aplicaciones más comunes de los decodificadores se encuentra la habilitación de puertos de E/S en los computadores.
Cada uno de los dispositivos dentro de un computador posee una dirección que es codificada mediante un código binario (dirección) y cuando es necesario comunicarse con un dispositivo, la CPU del computador envía la dirección del puerto o posición de memoria al que se encuentra conectado el dispositivo. El código binario de la dirección es decodificado, activando la salida que habilita el dispositivo correspondiente.
Los decodificadores también son utilizados internamente en los chips de memoria para direccionar las posiciones de memoria de las palabras binarias almacenadas. Como ejemplo, un computador que maneja direcciones de 16 bits, tiene la capacidad de direccionar 2 16 = 65536 posiciones de memoria, o lo que equivale a 64 K.
Decodificadores BCD a 7 segmentos
El decodificador de BCD a siete segmentos es un circuito combinacional que permite un código BCD en sus entradas y en sus salidas activa un display de 7 segmentos para indicar un dígito decimal.
El Display de Siete Segmentos
El display está formado por un conjunto de 7 leds conectados en un punto común en su salida. Cuando la salida es común en los ánodos, el display es llamado de ánodo común y por el contrario, sí la salida es común en los cátodos, llamamos al display de cátodo común. En la figura 69,se muestran ambos tipos de dispositivos. En el display de cátodo común, una señal alta encenderá el segmento excitado por la señal. La alimentación de cierta combinación de leds, dará una imagen visual de un dígito de 0 a 9.
Page 73
Decodificador de BCD a Siete Segmentos
El decodificador requiere de una entrada en código decimal binario BCD y siete salidas conectadas a cada segmento del display. La figura 70 representa en un diagrama de bloques el decodificador de BCD a 7 segmentos con un display de cátodo común.
Figura 70. Diagrama de bloques de un decodificador BCD a siete segmentos
Suponiendo que el visualizador es un display de cátodo común, se obtiene una tabla cuyas entradas en código BCD corresponden a A, B, C y D y unas salidas correspondientes a los leds que se encenderían en cada caso para indicar el dígito decimal. La tabla 35 muestra el caso de ejemplo.
Tabla 35. Tabla de verdad del decodificador BCD a siete segmentos.
Los valores binarios 1010 a 1111 en BCD nunca se presentan, entonces las salidas se tratan como condiciones de no importa.
Page 74
La simplificación de la información contenida en la tabla 35 requiere de siete tablas de verdad, que se pueden separar para cada segmento. Por consiguiente, un 1 en la columna indica la activación del segmento y varios de estos segmentos activados indican visualmente el número decimal requerido.
Según la información de la tabla de verdad, se puede obtener la expresión para cada segmento en suma de productos o producto de sumas según la cantidad de unos y ceros presentes.
Salida a En la columna a existen 3 ceros y 7 unos, entonces es más fácil obtener la función PDS:
a = (A+B+C+D’)·(A+B’+C+D)= A + D·(B+C) + B’·(D’+C) = A + A·B’ + A·C + A·D + B·A + B·C + B·D + C·A + C·B’+ C + C·D + D’·A + D’·B’ + D’·C
a = A + (A·B’+B·A)+(A·C+C·A)+ (A·D+D’·A)+( B·C+C·B’) + B·D + C + (C·D+D’·C) + D’·B’ = A + A +A·C + A+ C + B·D + C + C + D’·B’ = A + A.C + C + B·D + D’·B’
a = A + C + (B ⊕ D)’
Figura 71. Circuito para la salida a del decodificador BCD a siete segmentos
Salida c En la columna de la salida c se tiene un solo 0, entonces se emplea el PDS:
c = (A + B + C’ + D)
Figura 72. Circuito para la salida c del decodificador BCD a siete segmentos
Salida e La columna correspondiente a esta salida tiene 4 unos y 5 ceros. Es mejor utilizar la representación SDP:
e = (A’·B’·C’·D’) + (A’·B’·C·D’) + (A’·B·C·D’) + (A·B’·C’·D’) ; factorizando el primer término con el cuarto y el segundo con el tercero:
e = B’·C’·D’ + A’·C·D’ = D’·(B’·C’+ A’·C)
Page 75
Figura 73. Circuito para la salida e del decodificador BCD a siete segmentos
El resto de salidas se obtiene por las mismas deducciones anteriores.
3.3. Registros de Tres Estados
El principio básico de un registro de estados es la presencia de tres estados para la salida del dispositivo (0, 1 y alta impedancia) según el valor de una entrada de control predeterminada. El dispositivo más básico es el registro ("buffer") de tres estados. Este registro posee una entrada de habilitación ("entrada lateral al registro") para determinar su comportamiento como amplificador, inversor ordinario o dispositivo de alta impedancia. La figura 74 muestra el símbolo lógico del registro. En los casos 1 y 3 se habilita con estado activo alto y en los casos 2 y 4 se habilita con estado activo bajo. En estado de activación la salida se comporta como amplificador o inversor. Cuando la entrada de habilitación se niega, la salida va a un estado de alta impedancia (Z).
Estos dispositivos permiten que varias fuentes puedan compartir una misma línea de comunicación, siempre y cuando una sola fuente utilice la línea a la vez. Un circuito de este tipo se muestra en la figura 75. El circuito se configura con un decodificador para seleccionar una de ocho líneas de salida.
Por ejemplo, la selección 001 habilita la salida Y 1 en estado bajo, activando el registro 2 y coloca la información de entrada del registro en la línea de comunicación.
Page 76
Los registros de tres estados pasan más rápidamente al estado Z. Por el contrario, el tiempo de transición para salir del estado Z es mucho más demorado. El tiempo muerto en la línea de comunicación debe ser lo bastante largo para tomar en cuenta las diferencias del peor caso entre los tiempos de activación y desactivación de los dispositivos al igual que las asimetrías en las señales de control de los tres estados.
3.4. Codificadores y Decodificadores
Un codificador tiene 2 n o menos líneas de entrada y n líneas de salida. Por ejemplo, en una de las entradas se puede ingresar un dígito decimal u octal y generarse un código de salida en BCD o binario. La función de los codificadores es inversa a la de los decodificadores. Los codificadores se utilizan también para codificar símbolos diferentes y caracteres alfabéticos.
2 n Entradas ------[ ]------ n salidas
Codificador Binario
El codificador binario tiene 2 n entradas y n salidas. Sólo, una sola de las entradas puede estar activada. La salida suministra el valor binario correspondiente a la entrada activada. Este tipo de decodificador opera en forma contraria a los decodificadores de 2 a 4, 3 a 8, estudiados antes.
Codificador de 8 a 3.
El codificador 8 a 3 tiene 8 entradas (I 0 a I 7 ), una para cada uno de los ocho dígitos y 3 salidas que conforman el número binario equivalente (A 0 a A 2 ). La figura 76 muestra en el diagrama de bloques del decodificador.
Page 77
La tabla de verdad se muestra en la tabla 36.
En la tabla de verdad, A 0 tiene un 1 lógico para la columnas de entrada con subíndice impar. La salida A 1 es 1 en la columnas I 2 , I 3 , I 6 e I 7 y la salida A 2 es 1 en la columnas I 4 , I 5 , I 6 e I 7 . Las expresiones lógicas son las siguientes:
Por ejemplo, sí está activada la entrada 3, la salida es 011. El circuito se construye con compuertas OR y se muestra en la figura 77.
Page 78
Codificador sin prioridad
Los circuitos codificadores pueden ser diseñados con prioridad o sin ella. En los codificadores sin prioridad con entradas activas altas, la activación de más de una entrada simultáneamente con valor 1, genera un código erróneo en la salida, de acuerdo al número de entradas excitadas con el respectivo valor. La solución de este conveniente se logra empleando codificadores de prioridad.
Codificador de prioridad
Los codificadores de prioridad seleccionan la entrada de mayor prioridad cuando se presentan varias entradas activas simultáneamente. En la tabla 37 se muestra la lógica de entrada y de salida de un decodificador.
Page 79
El decodificador se encuentra comercialmente tal como se encuentra dispuesto en la figura 78. La diferencia radica en unas entradas de habilitación adicionales que activan las entradas ó las salidas a unos valores predefinidos.
Codificador Decimal - BCD
El codificador decimal a BCD posee diez entradas, correspondientes cada una a un dígito decimal y cuatro salidas en código BCD (8421). El diagrama de bloques de la figura 79 muestra la disposición de entradas y salidas del decodificador.
En la tabla 38 se encuentra el código BCD correspondiente a cada dígito decimal.
Page 80
El bit A 3 es el más significativo del código BCD y es 1 para los decimales 8 ó 9. La expresión para este bit en función de los dígitos decimales se escribe:
A 3 = 8+9
Por tanto las funciones siguientes corresponden a:
Ahora configurando el análisis en un circuito combinacional, se obtiene el siguiente circuito sin necesidad de una entrada para el bit 0.
Page 81
Aplicaciones
Los codificadores encuentran mayor aplicación en los dispositivos de entrada y salida. La señal de entrada es introducida de una forma comprensible para el usuario y la "traducción" la realiza el codificador a un código comprensible para el equipo. En un teclado, cuando se pulsa la tecla correspondiente a un dígito, esta entrada se codifica en código BCD.
3.5. Multiplexores y Demultiplexores
Multiplexar es transmitir datos de una de n fuentes a la salida del circuito combinacional. El demultiplexor desempeña la función contraria.
Multiplexores (MUX) Selector de Datos
Es la versión electrónica de un conmutador rotatorio en un solo sentido, se puede comparar con un selector mecánico en una sola dirección. También se puede definir como un proceso de selección de una entrada entre varias y la transmisión de los datos seleccionados hacia un solo canal de salida.
Un multiplexor es un circuito combinacional que selecciona una de n líneas de entrada y transmite su información binaria a la salida. La selección de la entrada es controlada por un conjunto de líneas de selección. La relación de líneas de entrada y líneas de selección está dada por la expresión 2 n , donde n corresponde al número de líneas de selección y 2 n al número de líneas de entrada.
En la figura 81, se compara un selector mecánico de datos y un selector electrónico de datos. En el primer caso la selección del dato se logra girando mecánicamente el rotor del conmutador, y en el selector electrónico de datos multiplexor se selecciona el dato colocando el número binario adecuado en las entradas de selección de datos A, B, C.
Page 82
A continuación se ilustra el multiplexor comercial TTL 74150 que tiene las siguientes características:
1. Consta de 16 entradas de datos.
2. Tiene una única salida invertida w (pin 10).
3. Posee cuatro entradas selectoras de datos de A a D (pin 15 al 11).
4. Tiene una entrada de habilitación denominada STROBE que se considera como un conmutador ON-OFF.
La tabla de verdad del selector de datos 74150 nos muestra en su primera línea la entrada de habilitación (STROBE) en alto lo cual no habilita ningún dato, sea cualquiera la entrada de selección, como resultado obtendremos en la salida una tensión alta. En la segunda línea tenemos las entradas de habilitación en bajo lo cual habilita las entradas selectoras de datos que en este caso están en bajo por lo cual en la salida obtendremos la entrada E.
Multiplexor de 2 entradas
El multiplexor se caracteriza por tener dos líneas de entrada, una línea de selección y una de salida. En el multiplexor, las entradas son I 0 e I 1 y la selección viene dada por el valor de la entrada S.
El valor de la salida Y depende de los valores lógicos ingresados en los cuadros de texto para las variables I 0 , I 1 y S. Por ejemplo, sí I 0 =0, I 1 =1 y S=0, entonces Y=I 0 =0.
La tabla de verdad se muestra en la tabla 39.
Page 83
El circuito lógico se muestra en la figura 83.
Multiplexor de 4 entradas
El multiplexor de 4 entradas es un multiplexor de 4 líneas a 1. La figura 84 muestra el diagrama de bloques del multiplexor. Las entradas son I 0 , I 1 , I 2 e I 3 y la selección viene dada por las entradas S 0 y S 1 . El valor de la salida Y depende de los valores lógicos presentes en las entradas de datos y la selección.
La tabla de verdad se muestra en la tabla 40. Por ejemplo, sí I 0 =1, I 1 =1, I 2 =0, I 3 =1 y S 1 =1, S 0 =0 entonces Y=I 2 =0.
Page 84
El problema consiste en definir un conjunto de expresiones para construir el circuito lógico. La ecuación en cada fila, se obtiene a partir del dato de entrada y la entrada de selección de datos:
La salida es Y= I 0 , sí S 1 =0 y S 0 =0. Entonces Y = I 0 ·S 1 ’·S 0 ’.
La salida es Y= I 1 , sí S 1 =0 y S 0 =1. Entonces Y = I 1 ·S 1 ’·S 0 .
La salida es Y= I 2 , sí S 1 =1 y S 0 =0. Entonces Y = I 2 ·S 1 ·S 0 ’.
La salida es Y= I 3 , sí S 1 =1 y S 0 =1. Entonces Y = I 3 ·S 1 ·S 0 .
Sumando lógicamente las ecuaciones anteriores:
Y = I 0 ·S 1 ’·S 0 ’ + I 1 ·S 1 ’·S 0 + I 2 ·S 1 ·S 0 ’ + I 3 ·S 1 ·S 0
En consecuencia, el circuito asociado se implementa en la figura 85.
Page 85
Demultiplexores DEMUX (Distribuidores de datos)
Un demultiplexor es un circuito combinacional que recibe información en una sola línea y la transmite a una de 2 n líneas posibles de salida. La selección de una línea de salida especifica se controla por medio de los valores de los bits de n líneas de selección. La operación es contraria al multiplexor.
La figura 87 muestra un demultiplexor de 1 a 4 líneas. Las líneas de selección de datos activan una compuerta cada vez y los datos de la entrada pueden pasar por la compuerta hasta la salida de datos determinada. La entrada de datos se encuentra en común a todas las AND.
El decodificador de la figura 88 funciona como un demultiplexor si la línea E se toma como línea de entrada de datos y las líneas I 0 e I 1 como líneas de selección. Observe que la variable de entrada E tiene un camino a todas las salidas, pero la información de entrada se dirige solamente a una de las líneas de salida de acuerdo al valor binario de las dos líneas de selección I 0 e I 1 . Por ejemplo si la selección de las líneas I 0 I 1 = 10 la salida Y 2
Page 86
tendrá el mismo valor que la entrada E, mientras que las otras salidas se mantienen en nivel bajo.
En consecuencia, como las operaciones decodificador y demultiplexor se obtienen del mismo circuito, un decodificador con una entrada de activación se denomina decodificador/demultiplexor; siendo la entrada de activación la que hace al circuito un demultiplexor.
La tabla de verdad se muestra en la tabla 41
Los DEMUX están disponibles en versiones TTL y CMOS de una entrada y cuatro salidas, una entrada y ocho salidas, una entrada y diez salidas y una entrada y dieciséis salidas.
El CI decodificador/demultiplexor de 4 a 16 TTL 74LS154 tiene dos entradas de datos G1 y G2 que activan a una única entrada en el nivel BAJO.
La figura 89 muestra el DEMUX 74LS154 que tiene 16 salidas de 0 a 15 con 4 entradas de datos (D a A) sus salidas son activas en bajo por lo que normalmente están en alto y cuando se activan están en bajo, además como se había dicho antes tiene dos entradas de datos G1 y G2 negados que realizan la operación NOR para generar la única entrada de datos lo que quiere decir que para poder activar un dato deben estar los dos en bajo.
Page 87
3.6. Generadores de Paridad
La transmisión binaria por diversos medios de comunicación está sujeta a errores por fallas en los sistemas digitales o la presencia de ruido eléctrico. Cualquier condición interna o externa al sistema puede alterar el valor de los ceros a unos o viceversa. Cuando se altera un solo bit, decimos que el bit distorsionado contiene un error individual.
De la misma forma, dos o más bits distorsionados, involucran un error múltiple, pero estos errores tienen menor probabilidad de ocurrencia a los errores individuales. Un código que permite detectar errores es el código de paridad. El principio es añadir un bit de paridad para hacer que el número total de bits (incluida la palabra) sea par o impar. Un bit de paridad par, incluido con el mensaje (palabra), convierte el número total de unos en par (paridad par) y el bit de paridad impar hace el total de unos impar (paridad impar).
El generador de paridad es un sistema combinacional que permite generar el bit de paridad de una palabra de código. La información se transmite y el comprobador de paridad recepciona la información con el fin de validarla.
Ejemplo Construir un generador de paridad par y el respectivo comprobador de paridad para tres bits .
En la tabla 42 los bits de entrada A, B, C constituyen el mensaje y el bit de paridad P la salida. En la tabla, se escoge P de tal forma que la suma todos los unos es par.
Page 88
La figura 90 muestra la función en un mapa de karnaugh de tres variables.
La paridad esta directamente relacionada con la operación EXOR. En una expresión OR-Exclusiva de n variables, 2 n /2 términos mínimos tienen un número par de unos. La otra mitad tiene un número impar de unos. Observando el mapa se puede deducir que la mitad de los términos mínimos tiene un número par de unos. La función puede expresarse en términos de una operación EXOR con las tres variables de la siguiente forma:
P = Σ (m 1 , m 2 , m 4 , m 7 )
Asumiendo
P = Σ (m 1 , m 2 , m 4 , m 7 ) = (A ⊕ B) ⊕ C
Page 89
Llegamos a la igualdad,
P = Σ (m 1 , m 2 , m 4 , m 7 ) = A’·B’·C + A’·B·C’+ A·B’·C’ + A·B·C
Entonces,
P = A ⊕ B ⊕ C
El circuito realiza la función EXOR de un numero n de variables, constituyendo a la salida un uno lógico si el número de unos aplicados a sus entradas es impar y un cero si el número es par.
El diagrama lógico del generador de paridad se muestra en la figura 91. El circuito está conformado por dos compuertas EXOR.
Figura 91. Circuito Lógico para el Generador de Paridad Par de tres bits.
El bit de paridad y el mensaje de tres bits, se transmiten a su destino donde se aplican a un circuito de observación de paridad.
La salida C del comprobador de paridad debe ser 1 para indicar el error de transmisión. El error se presenta cuando el número de unos en sus entradas es impar.
La tabla de verdad 43 muestra las entradas y las salidas del circuito.
Page 90
La figura 92 muestra la función en un mapa de karnaugh de tres variables.
En el mapa de karnaugh se pueden observar los unos en los mintérminos que tienen un número impar de unos. La función puede expresarse en términos de la operación OR-Exclusiva. La demostración es la siguiente:
Page 91
Entonces,
CP = Σ (m 1 , m 2 , m 4 , m 7 , m 8 , m 11 , m 13 , m 14 ).
El circuito lógico se muestra en la figura 93
Figura 93. Circuito Lógico para el comprobador de paridad par de tres bits
3.7. Comparadores
Los circuitos comparadores son sistemas combinacionales que comparan la magnitud de dos números binarios de n bits e indican cuál de ellos es mayor, menor o sí existe igualdad entre ellos. Existen varias configuraciones de circuitos de un nivel sencillo a uno más complejo para determinar relaciones de magnitud.
Comparador de Magnitudes de un Bit
La comparación de dos bits se puede realizar por medio de una compuerta EXOR o una NEXOR. La salida del circuito es 1 si sus dos bits de entrada son diferentes y 0 si son iguales. La figura 94.muestra el circuito comparador de magnitudes de un bit.
Page 92
Comparador de Magnitudes de Dos Bits
Los números A y B de dos bits en orden significativo ascendente a descendente se ordenan de la siguiente forma:
En un comparador de dos bits se utilizan dos compuertas EXOR. El comparador se muestra en la figura 95. Los bits más significativos se comparan en la compuerta 1 y los dos menos significativos en la compuerta 2. En el caso de números iguales, los bits también son iguales, teniendo como salida en cada EXOR el valor 0. Cada EXOR se invierte y la salida de la compuerta AND tendrá un 1. En números diferentes, los bits serán diferentes y la salida de cada EXOR será 1.
Comparador de magnitudes de cuatro bits
En el diagrama 96 se muestra un comparador de magnitud de cuatro bits. Las entradas son A y B y las salidas son las tres variables binarias A>B, A=B y A<B. Escribiendo los coeficientes de los números A y B en orden significativo de ascendente a descendente:
Salida A=B
Los dos números son iguales si todos los números del mismo peso son iguales, es decir A 3 =B 3 , A 2 =B 2, A 1 =B 1 y A 0 =B 0 .
Page 93
La igualdad de los números A i y B i se determina comparando los coeficientes según el valor 0 ó 1 para los dos bits. En la comparación se emplea la variable y i . Esta variable binaria es igual a 1 si los números de entrada A y B son iguales, de lo contrario será igual a 0. Por consiguiente, la comparación de dos bits en la posición i de un número, está dada por:
y i (A i =B i ) = A i ·B i + A i ’·B i ’ = (A i ⊕ B i )'
Por ejemplo, sí A 3 = 1 y B 3 = 1; y 3 será igual a y 3 = A 3 ·B 3 + A’ 3 ·B’ 3 = 1·1 + 1·1 = 1 pero sí A 3 = 1 y B 3 = 0 ; y 3 = A 3 ·B 3 + A’ 3 ·B’ 3 = 1·0 + 0·1 = 0. La comparación se realiza para el resto de los ceficientes A i y B i . El número A será igual a B sí se cumple la condición y i =1 para todos los coeficientes, es decir una operación AND:
(A=B) = y 3 ·y 2 ·y 1 ·y 0
La variable binaria A=B es igual a 1 solamente si todos los pares de dígitos de los números son iguales.
Salidas A>B y A<B
La comparación en este caso se comienza desde el bit más significativo. Los dígitos se comparan uno a uno y si estos son iguales se prueba con el siguiente par de bits menos significativos. La comparación continua hasta que se encuentra un par de dígitos desiguales. En la posición donde se encuentre un uno en A y un 0 en B se puede afirmar que A>B. Por el contrario, sí A es igual a 0 y B igual a 1 entonces A<B. La función corrresondiente a cada salida es:
Ejemplo Comparar los números binarios A = A 3 ·A 2 ·A 1 ·A 0 = 1001 y B = B 3 ·B 2 ·B 1 ·B 0 = 1011.
El valor de las variables y i :
y 3 (A 3 =B 3 ) = (1)·(1) + (0)·(0) = 1 ; y 2 (A 2 =B 2 ) = (0)·(0) + (1)·(1) = 1 ; y 1 (A 1 =B 1 ) = (0)·(1) + (1)·(0) = 0 ; y 0 (A 0 =B 0 ) = (1)·(1) + (1)·(0) = 1.
Las ecuaciones son:
(A>B) = (1)·(0) + (1)·(0)·(1) + (1)·(1)·(0)·(0) + (1)·(1)·(0)·(1)·(0) = 0.
(A<B) = (0)·(1)+ (1)·(1)·(0) + (1)·(1)·(1)·(1) + (1)·(1)·(0)·(0)·(1) = 1.
El diagrama del comparador de cuatro bits se muestra en la figura 97.
Page 94
Page 95
3.8. Implementación de Funciones Lógicas con Decodificadores
Teniendo en cuenta que los decodificadores son Circuitos integrados de Mediana Escala de Integración (MSI), se pueden implementar funciones lógicas con ellos, ya que en su interior existen entre 100 y 999 compuertas lógicas.
Ejemplo: A partir de la función de la Tabla 44, se explicará el procedimiento de diseño e implementación de Funciones Lógicas mediante decodificadores así (Ver figura 98):
Tabla 44. Tabla de Verdad Ejemplo Implementación de Funciones Lógicas con Decodificador.
Procedimiento:
F = A’B’C + A’BC + AB’C + ABC
a. Emplear un decodificador del mismo o mayor número de líneas de entrada que tenga la función a implementar. (Para este caso utilizaremos un decodificador 7442 que tiene 4 entradas y 10 Salidas) La entrada que no se necesite (La más significativa) se conecta a Tierra (GND).
b. Buscar cada una de las salidas del decodificador que corresponde con la combinación de las variables de entrada que tienen un 1 en la salida. (Para este caso S1, S3, S5, S7).
c. Para corregir la suma de términos de la salida F, se colocará una compuerta lógica que dependerá del codificador empleado teniendo en cuenta:
COMPUERTA OR: Para decodificadores con salidas activas en alto.
COMPUERTA NAND: Para decodificadores con salidas activas en bajo. (Esta es la que aplica para nuestro ejemplo, ya que, el CI7442 tiene sus salidas activas en Bajo).
d. En caso que una o varias combinaciones de la tabla de verdad que tienen un 1 en su salida no correspondan con las salidas del decodificador, se añadirán las compuertas que representarán las combinaciones correspondientes.
Page 96
Figura 98. Ejemplo Implementación de Funciones Lógicas con Decodificador
3.9. Implementación de Funciones Lógicas con Multiplexores
Así como los decodificadores, los Multiplexores son Circuitos integrados de Mediana Escala de Integración (MSI), se pueden implementar funciones lógicas con ellos, ya que en su interior existen entre 100 y 999 compuertas lógicas.
Para la implementación de funciones Lógicas con Multiplexores se tendrán en cuenta dos casos, según el número de entradas de selección de éste vs entradas de la función a implementar así:
1. Empleo de Multiplexores de igual número de entradas de selección que variables de entrada de la función a implementar
2. Empleo de Multiplexores con número inferior de entradas de selección que variables de entrada de la función a implementar
Ejemplo: A partir de la siguiente expresión algebraica de la función F1, se explicará el procedimiento de diseño e implementación de Funciones Lógicas mediante multiplexores así
F1= A’B’C’D + A’B’CD + A’BCD’ + A’BCD + A’BC’D + A’BC’D’ + ABCD’ + ABC’D’ + AB’C’D
Procedimiento Caso 1: Empleo de Multiplexores de igual número de entradas de selección que variables de entrada de la función a implementar
A partir de la tabla de verdad de la Función F1 (Ver Tabla 45) se enumera en orden los pines de los datos de entrada del Multiplexor
Si el Valor de F1 correspondiente a las combinaciones de entrada está en uno (1) se conecta a Vcc (5V).
Si el Valor de F1 correspondiente a las combinaciones de entrada está en cero (0) se conecta a GND (Tierra).
En la Figura 99 se puede observar el ejemplo del circuito, aquí se utiliza el CI 74LS150.
Page 97
Tabla 45. Empleo de Multiplexores de igual número de entradas de selección que
Figura 99. Ejemplo Implementación de Funciones Lógicas con Multiplexores de igual número de entradas de selección que variables de entrada de la función a implementar.
Procedimiento Caso 2: Empleo de Multiplexores con número inferior de entradas de selección que variables de entrada de la función a implementar
Se Dibuja una Tabla (de minterminos Ver Tabla 46) que represente las posiciones en orden colocando los valores de la función a implementar (o Tabla de Verdad), que
Page 98
para el caso del ejemplo 1 la expresión algebraica de F1 está dada por una suma de productos donde la función vale uno. Es importante aclarar que esta tabla no corresponde al Mapa de Karnaugh. El Circuito implementado se puede ver en la figura 100 ( con CI 74LS151).
En la Primera Columna y Primera Fila de la tabla 46 se pueden observar las variables de entrada de la Función, La más significativa (A) se deja aparte y le corresponderán los valores de 0 y 1 (Columna 1 filas 2 y 3), las demás variables menos significativas (BCD) corresponderán a las combinaciones (Fila 1 Columnas de la 2 hasta la 6)
En la tercera fila de la Tabla se colocaran en orden los Pines de Entrada del Multiplexor.
En la Cuarta Fila se indicará a qué conectar así:
Si los dos valores correspondientes al pin de entrada de datos (Columna del Dato) del Multiplexor (Filas 1 y 2) están en cero (0) se conecta a GND (Tierra).
Si los dos valores correspondientes al pin de entrada de datos (Columna del Dato) del Multiplexor (Filas 1 y 2) están en uno (1) se conecta a GND (Tierra).
Si el Bit de la fila 2 está en uno (1) y el de la fila 2 está en cero (0) correspondientes al pin de entrada de datos (Columna del Dato), se conectará a A’.
Si el Bit de la fila 2 está en cero (0) y el de la fila 2 está en uno (1) correspondientes al pin de entrada de datos (Columna del Dato), se conectará a A.
Tabla 46. Tabla de Verdad Ejemplo Implementación de Funciones Lógicas con Decodificador.
Page 99
Multiplexores con número inferior de entradas de selección que variables de entrada de la función a implementar
4. Lógica Secuencial
En la lógica secuencial a diferencia de la lógica combinatoria se hace uso de un elemento básico llamado flip-flop. El FLIP-FLOP es un elemento de memoria que almacena un bit de información. Algunos textos usan este nombre para referirse a los cerrojos, pero en la mayoría de las publicaciones se hace la diferencia entre FLIP-FLOP y latch. Este último término es el que traducimos como cerrojo.
Los circuitos lógicos secuenciales tienen la capacidad de memorizar información, en consecuencia, los valores de las salidas, en un determinado momento, no dependen exclusivamente de los valores de las entradas en ese instante, sino que dependen también de los que estuvieron presentes con anterioridad.
Los circuitos lógicos secuenciales se dividen básicamente en dos grupos: Los circuitos asincrónicos y los circuitos sincrónicos. Los primeros pueden cambiar los estados de sus salidas como resultado del cambio de los estados de las entradas, mientras que los circuitos sincrónicos pueden cambiar el estado de sus salidas en instantes de tiempo discretos bajo el control de una señal de reloj.
Existen tres circuitos clasificados según la forma en que retienen o memorizan el estado que adoptan sus salidas, estos son:
Circuitos Biestables o FLIP-FLOP (FF): Son aquellos que cambian de estado cada vez que reciben una señal de entrada (ya sea nivel bajo o alto), es decir retienen el dato de salida aunque desaparezca el de entrada. Conclusión: Poseen dos estados estables
Circuitos Monoestables: Estos circuitos cambian de estado sólo si se mantiene la señal de entrada (nivel alto o bajo), si ésta se quita, la salida regresa a su estado anterior. Conclusión: Poseen un sólo estado estable y otro metaestables.
Page 100
Circuitos Astables o Aestables: Son circuitos gobernados por una red de tiempo R-C (Resistencia-Capacitor) y un circuito de realimentación, a diferencia de los anteriores se puede decir que no poseen un estado estable sino dos metaestables.
4.1. Oscilador Simétrico con compuertas NOT:
Supongamos que en determinado momento la salida del inversor B está a nivel "1", entonces su entrada esta a "0", y la entrada del inversor "A" a nivel "1". En esas condiciones C se carga a través de R, y los inversores permanecen en ese estado.
Cuando el condensador alcanza su carga máxima, se produce la conmutación del inversor "A". Su entrada pasa a "0", su salida a "1" y la salida del inversor "B" a "0", se invierte la polaridad del capacitor y este se descarga, mientras tanto los inversores permanecen sin cambio, una vez descargado, la entrada del inversor "A" pasa nuevamente a "1", y comienza un nuevo ciclo.
Este oscilador es simétrico ya que el tiempo que dura el nivel alto es igual al que permanece en nivel bajo, este tiempo está dado por T = 2,5 R C
T expresado en segundos, R en Ohms, C en Faradios
Ahora bien, si recordamos las leyes de De Morgan, uniendo las entradas de compuertas NAND o compuertas NOR se obtiene la misma función que los inversores o compuertas NOT.
Page 101
4.2. Disparadores Schmitt Trigger
Las compuertas SCHMITT TRIGGER o disparadores de Schimitt, son iguales a las compuertas vistas hasta ahora, pero tienen la ventaja de tener umbrales de conmutación muy definidos llamados VT+ y VT-, esto hace que puedan reconocer señales que en las compuertas lógicas comunes serían una indeterminación de su estado y llevarlas a estados lógicos definidos, mucho más definidos que las compuertas comunes que tienen un solo umbral de conmutación.
Si la salida está en un nivel lógico 1, C comienza a cargarse a través de R, a medida que la tensión crece en la entrada de la compuerta, esta alcanza el nivel VT+ y produce la conmutación de la compuerta llevando la salida a nivel 0 y el capacitor comienza su descarga. Cuando el potencial a la entrada de la compuerta disminuye por debajo del umbral de VT-, se produce nuevamente la conmutación pasando la salida a nivel 1, y se reinicia el ciclo.
4.3. Oscilador de Cristal
El cristal de cuarzo es utilizado como componente de control de la frecuencia de circuitos osciladores convirtiendo las vibraciones mecánicas en voltajes eléctricos a una frecuencia específica. Esto ocurre debido al efecto "piezoeléctrico". La piezoelectricidad es electricidad creada por una presión mecánica. En un material piezoeléctrico, al aplicar una presión mecánica sobre un eje, dará como consecuencia
Page 102
la creación de una carga eléctrica a lo largo de un eje ubicado en un ángulo recto respecto al de la aplicación de la presión mecánica. En algunos materiales, se encuentra que aplicando un campo eléctrico según un eje, produce una deformación mecánica según otro eje ubicado a un ángulo recto respecto al primero. Por las propiedades mecánicas, eléctricas, y químicas, el cuarzo es el material más apropiado para fabricar dispositivos con frecuencia bien controlada.
Figura 105. Ubicación de elementos específicos dentro de una piedra de cuarzo
Frecuencia Fundamental vs. Frecuencia de Sobretono: Esto es de importancia cuando se especifica un cristal. Cuando se incrementa la frecuencia solicitada, el espesor del cuerpo del cristal disminuye y por supuesto existe un límite en el proceso de fabricación. Alrededor de 30MHz, el espesor de la placa del cristal comienza a ser muy delgada.
Debido a que el corte "AT" (ver figura 105) resonará a números enteros impares múltiplos de de la frecuencia fundamental, es necesario especificar el orden del sobretono deseado para cristales de altas frecuencias.
Potencia de trabajo (Drive Level): Es la potencia disipada por el cristal. Está normalmente especificada en micro o mili vatios, siendo un valor típico 100 micro vatios.
Tolerancia en la frecuencia: La tolerancia en la frecuencia se refiere a la máxima desviación permitida y se expresa en partes por millón (PPM) para una temperatura especificada, usualmente 25°C.
Estabilidad de la frecuencia: La estabilidad de la frecuencia se refiere a la máxima desviación en PPM, en un determinado rango de temperatura. La desviación está tomada con referencia a la frecuencia medida a 25°C.
Envejecimiento: El envejecimiento se refiere a los cambios acumulativos en la frecuencia del cristal con el transcurrir del tiempo. Los factores que intervienen son: exceso en la potencia disipada, efectos térmicos, fatiga en los alambres de armado y pérdidas en la elasticidad del cristal. El diseño de circuitos considerando bajas temperaturas ambientales y mínimas potencias en el cristal reducirán el envejecimiento.
Circuito Eléctrico Equivalente: El circuito eléctrico equivalente que se muestra a continuación es un esquema del cristal de cuarzo trabajando a una determinada frecuencia de resonancia. El condensador Co en paralelo, representa en total la capacidad entre los electrodos del cristal más la capacidad de la carcasa y sus terminales. R1, C1 y L1 conforman la rama principal del cristal y se conocen como componentes o parámetros motional donde:
Page 103
• L1 representa la masa vibrante del cristal,
• C1 representa la elasticidad del cuarzo y
• R1 representa las pérdidas que ocurren dentro del cristal.
Por ejemplo, un oscilador implementado con dos inversores y un Cristal de cuarzo, el trimer de 40pf se incluye para un ajuste fino de la frecuencia de oscilación, mientras el circuito oscilante en si funciona con un solo inversor, se incluye otro para actuar como etapa separadora.
Page 104
4.4. Osciladores Controlados
Se trata simplemente de controlar el momento en que estos deben oscilar, tenemos dos opciones, que sean controlados por un nivel alto o por un nivel bajo.
Se tiene en cuenta que los osciladores vistos hasta el momento solo pueden oscilar cambiando el estado de sus entradas en forma alternada, lo que haremos será forzar ese estado a un estado permanente, como dije anteriormente ya sea a 1 o 0.
4.5. Circuito Integrado 555
Este Circuito Integrado (C.I.) es para los experimentadores y aficionados un dispositivo barato con el cual pueden hacer muchos proyectos. Es un temporizador es tan versátil que se puede, incluso utilizar para modular una señal en frecuencia modulada (F.M.)
Está constituido por una combinación de comparadores lineales, Flip-Flops (básculas digitales), transistor de descarga y excitador de salida.
Es muy popular para hacer osciladores que sirven como reloj (base de tiempo) para el resto del circuito. A continuación se explicara la configuración de sus pines:
Page 105
Pin 1 - Tierra o masa
Pin 2 - Disparo: Es en esta patilla, donde se establece el inicio del tiempo de retardo, si el 555 es configurado como monostable. Este proceso de disparo ocurre cuando este pin va por debajo del nivel de 1/3 del voltaje de alimentación. Este pulso debe ser de corta duración, pues si se mantiene bajo por mucho tiempo la salida se quedará en alto hasta que la entrada de disparo pase a alto otra vez.
Pin 3 - Salida: Aquí veremos el resultado de la operación del temporizador, ya sea que esté conectado como monostable, astable u otro. Cuando la salida es alta, el voltaje será el voltaje de aplicación (Vcc) menos 1.7 Voltios. Esta salida se puede obligar a estar en casi 0 voltios con la ayuda de la patilla reset ( Pin 4)
Pin 4 - Reset: Si se pone a un nivel por debajo de 0.7 Voltios, pone la patilla de salida 3 a nivel bajo. Si por algún motivo esta patilla no se utiliza hay que conectarla a Vcc para evitar que el 555 se "reinicie"
Pin 5 - Control de voltaje: Cuando el temporizador se utiliza en el modo de controlador de voltaje, el voltaje en esta patilla puede variar casi desde Vcc (en la práctica como Vcc-1 voltio) hasta casi 0 V (aprox. 2 Voltios). Así es posible modificar los tiempos en que la patilla 3 está en alto o en bajo independiente del diseño (establecido por las resistencias y condensadores conectados externamente al 555). El voltaje aplicado a la patilla 5 puede variar entre un 45 y un 90 % de Vcc en la configuración monoestable. Cuando se utiliza la configuración astable, el voltaje puede variar desde 1.7 voltios hasta Vcc. Modificando el voltaje en esta patilla en la configuración astable causará la frecuencia original del astable sea modulada en frecuencia (FM). Si esta patilla no se utiliza, se recomienda ponerle un condensador de 0.01uF para evitar las interferencias.
Pin 6 - Umbral: Es una entrada a un comparador interno que tiene el 555 y se utiliza para poner la salida (Pin 3) a nivel bajo.
Pin 7 - Descarga: Utilizado para descargar con efectividad el condensador externo utilizado por el temporizador para su funcionamiento.
Pin 8 - V+: También llamado Vcc, es el pin donde se conecta el voltaje de alimentación que va de 4.5 voltios hasta 16 voltios (máximo). Hay versiones militares de este integrado que llegan hasta 18 Voltios.
El CI 555 se puede conectar para que funcione de diferentes maneras, entre los más importantes están: como multivibrador astable y como multivibrador monoestable.
4.6. CI 555 como Multivibrador Astable: Este tipo de funcionamiento se caracteriza por una salida con forma de onda cuadrada (o rectangular) continua de ancho predefinido por el diseñador del circuito. El esquema de conexión es el que se muestra. La señal de salida tiene un nivel alto por un tiempo T1 y en un nivel bajo un tiempo T2. Los tiempos de duración dependen de los valores de R1 y R2.
T1 = 0.693(R1+R2)C1 y T2 = 0.693 x R2 x C1 (en segundos)
Page 106
La frecuencia con que la señal de salida oscila está dada por la fórmula:
Hay que recordar que el período es el tiempo que dura la señal hasta que ésta se vuelve a repetir (Tb - Ta), ver figura 109.
4.7. CI 555 como Multivibrador Monoestable: En este caso el circuito entrega a su salida un solo pulso de un ancho establecido por el diseñador (tiempo de duración) Ver figura 110.
El esquema de conexión es el que se muestra. La Fórmula para calcular el tiempo de duración (tiempo que la salida está en nivel alto) es:
T = 1.1 x R1 x C1 (en segundos).
Observar que es necesario que la señal de disparo, sea de nivel bajo y de muy corta duración en el PIN 2 del C.I. para iniciar la señal de salida.
4.8. Circuitos Monoestables:
Monoestable sencillo con un inversor: Considere inicialmente la entrada del inversor en nivel bajo a través de R y C, entonces su salida estará a nivel alto, ahora bien, un 1 lógico de poca duración en la entrada, hace que se cargue el capacitor y
Page 107
conmute el inversor entregando un 0 lógico en su salida, y este permanecerá en ese estado hasta que la descarga del capacitor alcance el umbral de histéresis de la compuerta y entonces conmutará y regresará a su estado inicial (Ver figura 111)
4.9. Circuitos Biestables (FLIP-FLOPs):
Los circuitos biestables son muy conocidos y empleados como elementos de memoria, ya que son capaces de almacenar un bit de información. En general, son conocidos como FLIP-FLOP y poseen dos estados estables, uno a nivel alto (1 lógico) y otro a nivel bajo (cero lógico).
Observación: es posible que al presionar el pulsador se produzcan rebotes eléctricos, es como haberlo presionado varias veces, y sí... los resultados serán totalmente inesperados, así que si se utilizan los cables para probar estos circuitos no nos servirán de mucho, es conveniente utilizar un pulso de reloj para realizar estas pruebas, un circuito astable o monoestable, que llamaremos pulso de reloj o Clock o CK.
Por lo general un FLIP-FLOP dispone de dos señales de salida, una con el mismo valor de la entrada y otra con la negación del mismo o sea su complemento.
Page 108
Existen varios tipos de FLIP-FLOPs y variaciones de estos que permiten realizar funciones específicas, dependiendo de la aplicación. A continuación veremos algunos de ellos.
4.9.1. FLIP-FLOP Básico R-S (Reset-Set): Se puede construir uno fácilmente utilizando dos compuertas NAND o NOR conectadas de tal forma de realimentar la entrada de una con la salida de la otra, quedando libre una entrada de cada compuerta, las cuales serán utilizadas para control Set y Reset.
Figura 114. FLIP-FLOP Básico R-S con compuertas NOR y NAND
Las resistencias R1 y R2 utilizadas en ambos casos son de 10k y empleadas solamente para evitar estados indeterminados, observa el circuito con compuertas NOR... Un nivel alto aplicado en Set, hace que la salida negada Q’ sea 0 debido a la tabla de verdad de la compuerta NOR, al realimentar la entrada de la segunda compuerta y estando la otra a masa, la salida normal Q será 1. Ahora bien, esta señal realimenta la primer compuerta, por lo tanto no importan los rebotes, y el FF se mantendrá en este estado hasta que le des un pulso positivo a la entrada Reset
Conclusión: El Biestable posee dos entradas Set y Reset que trabajan con un mismo nivel de señal, provee dos salidas, una salida normal Q que refleja la señal de entrada Set y otra Q’ que es el complemento de la anterior. Si comparas los dos FLIP-FLOP representados en la figura 111, verás que sólo difieren en los niveles de señal que se utilizan, debido a la tabla de verdad que le corresponde a cada tipo de compuerta. Este suele presentar un estado indeterminado cuando sus dos entradas R y S se encuentran en estado alto (ver tablas 47 y 48).
Tabla 48. Estados lógicos del FLIP-FLOP R-S con compuertas NAND
Page 109
Tabla 49. Estados lógicos del FLIP-FLOP R-S con compuertas NOR
4.9.2. FLIP FLOP RS - Controlado por un pulso de reloj: En este caso voy a utilizar el ejemplo de las compuertas NAND, pero le agregaremos dos compuertas más, y uniremos la entrada de cada una a una señal de Reloj
Necesitamos un generador de pulsos (Astable) para conectarlo en la entrada Clock, una vez lo tenemos pasamos a interpretar el circuito...
Sorpresa, el FF se mantiene sin cambios en Q y Q’. Fíjate que ahora no importa el estado de Set y Reset, esto se debe a su tabla de verdad (basta que una de sus entradas sea 0 para que su salida sea 1) por lo tanto Set y Reset quedan inhabilitadas. Es decir que se leerán los niveles de Set y Reset sólo cuando la entrada Clock sea 1.
NOTA 1: El primer circuito que vimos (FLIP-FLOP simple) es llamado FLIP-FLOP Asíncrono ya que puede cambiar el estados de sus salidas en cualquier momento, y sólo depende de las entradas Set y Reset.
NOTA 2: El segundo circuito es controlado por una entrada Clock y es llamado FLIP-FLOP Síncrono ya que el cambio de estado de sus salidas esta sincronizado por un pulso de reloj que realiza la lectura de las entradas en un determinado instante.
Page 110
Si pones un 0 en Set y la entrada Clock está a 1 ocurrirá todo lo que se describe en el esquema anterior, veamos figura 116 que ocurre cuando Clock pasa a 0...
4.9.3. FLIP-FLOP D: En este circuito no existe la posibilidad de que las dos entradas estén a nivel alto ya que posee un inversor entre la una y la otra de tal modo que R = ~S, observa la figura 116, aquí se supone la entrada Dato a nivel 0...
Veamos que ocurre cuando la entrada Dato, pasa a 1 y CK cambia de estado pasando también a 1, según como se van transmitiendo los datos por las compuertas resulta Q = 1 y Q’ = 0.
Para que el FLIP-FLOP retorne a su estado inicial, la entrada Dato D deberá pasar a 0 y sólo se transferirá a la salida si CK es 1. Nuevamente se repite el caso que para leer el datos debe ser CK = 1. En forma general se representa el FLIP-FLOPD con el siguiente símbolo
La forma de operación de este FLIP-FLOP es muy sencilla:
Page 111
• Cuando D=0 y se presenta un cambio de 0 a 1 lógico en la entrada de reloj del FLIP-FLOP la salida Q=0.
• Cuando D=1 y se presenta un cambio de 0 a 1 lógico en la entrada de reloj del FLIP-FLOP la salida Q=1.
En otras palabras, el dato en D se transfiere y memoriza en Q cada vez que se presenta una transición de 0 a 1 lógico en la señal de reloj (CLK); esta condición se conoce con el nombre de transición por flanco positivo.
La condición complementaria a la anterior es cuando la transición es de 1 a 0 lógico, en este caso se dice que la transición se da por flanco negativo.
Este FLIP-FLOP se puede utilizar para que la transición se de por flanco negativo, simplemente basta con poner a la entrada del reloj (CLK) un inversor como en la figura 119.
4.9.4. FLIP-FLOP D PRESET-CLEAR
Este FLIP-FLOP es similar al FLIP-FLOP D, excepto que este tiene dos entradas asincrónicas activadas en bajo llamadas Preset y Clear. Estas entradas como su nombre lo indican sirven respectivamente para poner en 1 y 0 la salida Q del FLIP-FLOP independientemente de la señal de reloj. La configuración de este FLIP-FLOP y su representación abreviada se describen en la figura 120
La gran parte de los Circuitos Integrados que contienen FLIP-FLOPs vienen con entradas asincrónicas de inicialización y borrado (Preset y Clear), comúnmente representados con las abreviaturas PRE y CLR.
Page 112
4.9.5. FLIP-FLOPJ-K
Este FLIP-FLOP es una versión modificada del FLIP-FLOP D, y su aplicación es muy difundida en el Análisis y Diseño de Circuitos Secuenciales. El funcionamiento de este dispositivo es similar al FLIP-FLOP S-R, excepto que en este no se presentan indeterminaciones cuando sus dos entradas se encuentran en 1 lógico, si no que el FLIP-FLOP entra en un modo de funcionamiento llamado modo complemento, en el cual, la salida Q cambia a su estado complementario después de cada pulso de reloj. La configuración de este FLIP-FLOP y su representación abreviada se muestran en la figura 121 y en la tabla 51 se indican los estados de entrada y salida de este FLIP-FLOP.
Note que las entradas J y K controlan el estado de este FLIP-FLOP de la misma manera que en el FLIP-FLOPD. Cuando las entradas son J=1 y K=1 no generan un estado indeterminado a la salida, sino que hace que la salida del FLIP-FLOP cambie a su estado complementario.
4.9.6. FLIP-FLOP T (Toggle)
Este FLIP-FLOP recibe su nombre por la función que realiza (Toggle) cambiando el estado de la salida por su complemento. Es una modificación del FLIP-FLOP J-K limitándolo a cumplir exclusivamente esta función, la cual se logra uniendo las terminales J y K como se muestra en la figura 122.
Page 113
La tabla de verdad de este FLIP-FLOP se limita a las líneas 1 y 4 del FLIP-FLOP J-K.
5. Contadores y Registros
Son circuitos digitales lógicos secuenciales de salida binaria o cuenta binaria, característica de temporización y de memoria, por lo cual están constituidos a base de flip-flops.
Características Importantes: 1. Un número máximo de cuentas (módulo del contador), 2. Cuenta ascendente o descendente, 3. Operación síncrona o asíncrona,
4. Autónomos o de autodetención.
Utilidad Se utilizan para contar eventos. Ejemplos: 1. Número de pulsos de reloj, 2. Medir frecuencias, 3. Se utilizan como divisores de frecuencia y para almacenar datos (en un reloj digital), 4. Se utilizan para direccionamiento secuencial y algunos circuitos aritméticos.
5.1. Contadores de Propagación: Los contadores digitales o binarios en esencia son un grupo de FLIP-FLOPs dispuestos de tal manera que sus salidas proporcionan una secuencia determinada como respuesta a los acontecimientos que ocurren a la entrada del reloj. Estos acontecimientos pueden ser por lo general pulsos de reloj (sincrónicos) o acontecimientos aleatorios (asincrónicos) alimentados como entradas por la terminal de reloj de los FLIP-FLOPs. Los contadores de propagación se basan en este último principio para generar secuencias binarias que cambian como respuesta a eventos.
Para conformar un contador de n bits solo basta tener n FLIP-FLOPs, uno para cada BIT de información. A continuación se dará una descripción sobre la estructura y funcionamiento de los contadores de propagación más comunes en lógica secuencial.
5.2. Contador de propagación ascendente: El FLIP-FLOP T, tiene especial aplicación en los contadores, debido a la habilidad que tienen para cambiar a su estado complementario, después de un evento de reloj.
Page 114
Observe la forma en que opera este circuito. Los pulsos de reloj se aplican únicamente al FLIP-FLOP A, así que la salida de este FLIP-FLOP se complementará cada vez que haya una transición negativa en la entrada de reloj.
La salida del FLIP-FLOP A se aplica directamente a la entrada de reloj del FLIP-FLOP B, de tal forma que la salida de este FLIP-FLOP se complementa cada vez que su entrada de reloj pasa de 1 a 0 lógico. De forma similar se comportan los FLIP-FLOPs C y D cambiando su estado cada vez que reciben una transición negativa en sus respectivas entradas de reloj.
Las salidas de los FLIP-FLOPs D, C, B y A representan un numero binario de 4 bits, siendo D el bit más significativo y al menos significativo.
Este contador cuenta en forma ascendente desde 0000 hasta 1111, es decir que tiene 16 estados diferentes (2 4 =16). En electrónica digital, existe una notación que define el número de estados de un contador, designada por la sigla MOD más él numero de estados, por esta razón se dice que es un contador MOD16. Este tipo de contadores actúa como divisores de frecuencia. Si se hace un análisis sobre la frecuencia de las señales de salida de los FLIP-FLOPs se puede observar que la señal Q 3 tiene una frecuencia dada por la siguiente expresión:
Donde f CLK corresponde a la frecuencia de la señal del reloj. De igual forma las frecuencias de las salidas de los demás FLIP-FLOPs estarían dadas por las siguientes expresiones:
Se plantea como ejercicio dibujar la señal de reloj y las señales de salida de los FLIP-FLOPs para confirmar estos resultados.
Este contador se puede modificar para que opere a cualquier número MOD entre 1 y 16. De forma general un contador de n bits se puede modificar para cualquier número MOD2 n , y para lograrlo es necesario utilizar la entrada asincrónica de borrado CLR de los FLIP-FLOPs, como veremos a continuación.
5.3. Contadores con números MOD < 2 n
Los contadores básicos pueden ser modificados para producir números MOD < 2 n , permitiendo que el contador omita estados que normalmente hacen parte de la
Page 115
secuencia de conteo. La forma más usual para lograr esto se puede ver en la Figura 123, la cual corresponde a un contador de 4 bits MOD10. Este contador es conocido también como contador décadas.
Asumiendo que la compuerta NAND no estuviera presente, el contador sería MOD16, sin embargo la presencia de esta compuerta altera el funcionamiento normal cuando las salidas Q 3 y Q 1 que van a la compuerta son 1. Esta condición ocurrirá cuando el contador pase del estado 1001 (9) al 1010 (10), haciendo que las entradas asíncronas CLR de los FLIP-FLOPs sean 0 y por tanto el contador pase al estado 0000. En la Tabla 54, se resumen los estados de este contador.
En el momento que el contador llega al estado 1001 y ocurre una nueva transición en la entrada de reloj (CLK), se presenta el estado 1010 (10) de forma temporal, y su duración depende del tiempo de propagación de la compuerta NAND. En la Figura 123 se observa el estado temporal entre los estados 1001 y 0000.
Page 116
Figura 124. Estados de transición del contador de propagación MOD10
5.4. Contador de propagación descendente:
Los contadores descendentes cuentan en forma inversa, por ejemplo de 1111 hasta 0000. En la Figura 125 se observa un contador descendente de 4 bits. Note que este contador es similar al ascendente excepto que las salidas ahora son su complemento.
En la tabla 55 se muestran los estados de las salidas de los FLIP-FLOPs, donde se observa que después de cada pulso sé decremento la secuencia binaria representada por las salidas Q 3 a Q 0.
Ejercicio: Dibujar dos contadores binarios de 4 bits (ascendente y descendente) utilizando FLIP-FLOPs T que respondan al flanco negativo del la señal del reloj.
Page 117
5.5. Contadores Sincrónicos
El inconveniente que se presenta con los contadores de propagación de la lección anterior, consiste básicamente en que no todos los FLIP-FLOPs cambian simultáneamente con la señal del reloj. Los contadores asincrónicos deben esperar que la señal se propague desde el primer FLIP-FLOP que representa el BIT menos significativo hasta el FLIP-FLOP del BIT más significativo.
En los contadores sincrónicos a diferencia de los contadores de propagación o asincrónicos, la señal de reloj se aplica simultáneamente a todos los FLIP-FLOPs. Estos contadores por lo general tienen más circuitería que los contadores de propagación y están conformados por FLIP-FLOPs J-K. Para entender el funcionamiento de este tipo de contadores es necesario observar con atención la secuencia para determinar los componentes que se deben agregar (generalmente FLIP-FLOPs y compuertas).
Analicemos el funcionamiento del contador de 3 bits que se muestra en la figura 126, y cuyos estados se resumen en la tabla 56. Asumamos que inicialmente el contador se encuentra en el estado 000. Note que el estado de la salida Q 0 debe cambiar después de cada transición positiva del reloj (CLK), así que el FLIP-FLOP F0 debe tener sus entradas J y K en 1 lógico para que cumpla esta función, tal como se muestra en la figura 126.
Page 118
Ahora note que la salida Q 1 cambia a su estado complementario cada vez que Q 0 =1 (ver tabla 56), así que las entradas J y K del FLIP-FLOP F1 deben estar conectadas a la salida Q 0 . De esta forma cada vez que Q0=1 y ocurra una transición positiva del reloj el FLIP-FLOP cambiara de estado tal como se observa en la secuencia.
Finalmente nos resta analizar el estado de la salida Q 2 , para lo cual se debe observar nuevamente la tabla 56.
Note que Q 2 cambia a su estado complementario cada vez que Q 1 y Q 0 son 1, así que la forma de implementarlo en el contador es conectado Q 1 y Q 0 como entradas a una compuerta AND y cuya salida debe ir a las entradas J y K del FLIP-FLOP F2.
Observe que este FLIP-FLOP queda en estado complemento (toggle), cada vez que se presente esta condición y ocurra una transición positiva en el reloj (CLK).
Se puede hacer un análisis similar al anterior para entender el funcionamiento de este contador, sin embargo, observe que la secuencia de 3 bits es parte de la secuencia para 4 bits, así que solo basta agregar un FLIP-FLOPJK y una compuerta AND que ponga el FLIP-FLOPF3 en modo complemento cada vez que Q 2 , Q 1 y Q 0 son 1, para lograr que el contador genere finalmente la secuencia de la tabla 57.
Al igual que el contador de propagación de la lección anterior, el contador sincrónico se puede modificar para cambiar su número MOD, mediante el uso de compuertas NAND y las entradas asincrónicas CLR de los FLIP-FLOPs. En la Figura 127 se observa cómo se puede convertir este contador MOD16 a MOD10, agregando simplemente una compuerta NAND de dos entradas.
Page 119
Figura 127. Componente adicional para convertir un contador MOD16 a MOD10
5.6. Ejemplos de Contadores en Circuito Integrado
En el comercio existen varios contadores en circuito integrado que aparte de realizar la función de generar secuencias binarias, tiene otras funciones adicionales que generalmente tienen que ver con la configuración y modo de funcionamiento. Entre las funciones que se pueden encontrar en estos circuitos integrados se encuentran opciones de selección de secuencia ascendente o descendente, borrado así como inicialización entre otras.
A continuación se presenta una lista de algunos contadores en circuito integrado de uso difundido en Electrónica Digital, con una descripción detallada de sus pines.
Page 120
Page 121
Se plantea como ejercicio, adquirir algunos de estos circuitos integrados comerciales y verificar su funcionamiento.
5.7. Registros de Corrimiento
En el procesamiento digital de datos se necesita con frecuencia retener los datos en ciertas ubicaciones intermedias del almacenamiento temporal, con el objeto de realizar algunas manipulaciones específicas, después de las cuales los datos modificados se pueden enviar a otra localización similar.
Los dispositivos digitales donde se tiene este almacenamiento temporal se conocen como registros de corrimiento o registros de desplazamiento. Dado que la memoria y el desplazamiento de información son sus características básicas, los registros son circuitos secuenciales constituidos por FLIP-FLOPs, donde cada uno de ellos maneja un bit de la palabra binaria.
Por lo general se da el calificativo de registro a un conjunto de ocho (8) o más FLIP-FLOPs. Muchos registros usan FLIP-FLOPs tipo D aunque también es común el uso de FLIP-FLOPs JK. Ambos tipos pueden obtenerse sin dificultad como unidades
Page 122
comerciales. Son muy populares los de 8 bits, ya que en los computadores con frecuencia manipulan bytes de información.
5.8. Registro de Corrimiento Básico
Un registro de corrimiento básico es un conjunto de FLIP-FLOPs conectados de tal forma que los números binarios almacenados en él son desplazados de un FLIP-FLOP al siguiente con cada pulso de reloj aplicado.
Con cada flanco ascendente del reloj la información se va desplazando hacia la derecha una posición. En la Figura 128 se observan las formas de onda de las salidas de cada FLIP-FLOP, donde se observa el desplazamiento de los datos de izquierda a derecha.
5.9. Tipos de Entradas y Salidas en los Registros de Corrimiento
Existen diversas formas de cargar o extraer información en un registro de corrimiento. En la figura 129 se muestran las distintas formas de mover la información en un registro de corrimiento.
Figura 129. Tipos de Entradas y Salidas en los registros de corrimiento
Page 123
Las combinaciones de Entrada/Salida más comunes en los registros de corrimiento son: Entrada Serie/Salida Paralelo y Entrada Paralelo/Salida Serie. A continuación se dará una descripción sobre estos dos modos de funcionamiento.
Entrada Serie - Salida Paralelo: Es la forma más usual del tipo de entrada y salida de datos en los registros de corrimiento. En la Figura 130 se observa el esquema de un registro de esta clase. La entrada asincrónica CLR que se observa, es usada para poner todos los bits del registro en 0. Existen circuitos integrados como el 74HC164 que funcionan de esta forma.
Figura 130. Registro de corrimiento Entrada serie - Salida paralelo
Entrada paralelo - Salida serie: En la Figura 131 se observa el esquema de un registro de este tipo. LOAD: Las entradas en paralelo se almacenan en los FLIP-FLOPs internos (entrada asincrónica), SHIFT: Corrimiento del puerto hacia la derecha (entrada sincrónica), entrada serie por el primer FLIP-FLOP y salida serial por el último. Existen circuitos integrados como el 74HC165 que funcionan con base en este esquema.
Figura 131. Registro de corrimiento Entrada paralelo - Salida serie
5.10. Registros de corrimiento bidireccionales
Este tipo de registro tiene la opción de elegir la dirección en que se transmiten los datos. Estos registros tienen una señal de control que permite seleccionar el sentido de desplazamiento de los datos. En la Figura 132 se observa el circuito lógico de un registro bidireccional de 4 bits.
Page 124
Para propósitos de entender el funcionamiento de este registro se ha dispuesto de forma vertical, para mostrar cómo se desplazan los datos. Cuando la entrada ABA/ARR' se encuentra en 1 lógico, los datos se desplazan hacia abajo y cuando esta es 0 lógico los datos se desplazan hacia arriba.
Cuando la señal de control ABA/ARR' es 1, las compuertas marcadas con A se activan, permitiendo que el dato de cualquier FLIP-FLOP pase al FLIP-FLOP inmediatamente inferior después de que ocurra una transición positiva en la señal del reloj, de esta forma la información de desplaza por las líneas marcadas en azul que se observan en la figura 132.
Cuando la señal de control ABA/ARR' es 0, las compuertas marcadas con B se activan y el dato de cualquier FLIP-FLOP se pasa al FLIP-FLOP inmediatamente superior. Las líneas marcadas en rojo en la figura 132 indican el canal de transmisión de los datos de un FLIP-FLOP a otro para esta condición.
Note que las compuertas marcadas como A y B se activan de forma complementaria, es decir, mientras se activan aquellas marcadas como A las marcadas como B se encuentran inactivas y viceversa.
Page 125
5.11. Registros en Circuito Integrado
En el mercado existen actualmente varios circuitos integrados que desempeñan su función como registros, en esta sección mencionaremos algunos de estos registros disponibles en lógica TTL y CMOS.
Circuito Integrado 74HC373
Este integrado contiene 8 Cerrojos tipo D con salidas triestado. En la figura 133 se observa el esquema de conexiones interno y la descripción de sus entradas y salidas es la siguiente:
• D0...D7: Entrada paralelo
• Q0...Q7: Salida paralelo
• LE: Latch Enable
• OE: Output Enable
Circuito Integrado 74HC374
Este circuito integrado contiene 8 FLIP-FLOPs tipo D con salidas triestado sensibles al flanco de subida de la señal del Reloj. En la figura 134 se muestra la estructura interna de este registro y su diferencia con el anterior Circuito Integrado es que este contiene FLIP-FLOPs.
Page 126
Circuito Integrado 74HC273
Este integrado contiene 8 FLIP-FLOPs tipo D con salidas triestado sensibles al flanco de subida de la señal del reloj, adicionalmente tiene una entrada para borrar activa en bajo (CLR'). En la figura 135 se observa el diagrama de pines de este integrado y el tabla 59 los estados lógicos.
Page 127
5.12. Aplicaciones de los Registros de Corrimiento
Los registros de corrimiento tienen varias aplicaciones en la Electrónica Digital, entre las cuales se pueden mencionar las siguientes:
• Transmisión de datos.
• Conversión de protocolo serie en paralelo y viceversa.
• Puertos de salida de los microcomputadores.
• Secuenciadores (luces y anuncios publicitarios).
• Multiplicaciones y divisiones por 2, 4, 8, 16 bits.
• Operaciones que se hacen en forma secuencial.
5.13. Contador en Anillo
El contador en anillo es un registro de corrimiento básico en el que los datos no se pierden al desplazarse, en lugar de ello, la información rota debido a que los FLIP-FLOPs de los extremos se encuentran interconectados, de tal forma que los datos se desplazan en forma de "anillo".
Asumiendo que el estado inicial del contador en anillo es 1000 (Q3=1, Q2=0, Q1=0, Q0=0), los estados que se presentarían en este contador serían los mostrados en la tabla 60. Después del cuarto pulso en la señal del reloj el estado inicial se repite.
En el mercado existen contadores de este tipo en circuito integrado, sin embargo su construcción es muy fácil a partir de un registro de corrimiento convencional.
Existe otro contador en anillo llamado contador Johnson, el cual tiene un funcionamiento similar al contador en anillo, excepto que el estado del último FLIP-FLOP se realimenta al primero a través de un inversor. En al figura 136 se observa el diagrama lógico de este contador.
Page 128
Tomando como estado inicial del contador Johnson 0000 (Q3=0, Q2=0, Q1=0, Q0=0), los estados presentes en este contador serían los mostrados en la tabla 61. Note que durante el octavo pulso en la señal del reloj el estado inicial se repite.
6. Análisis y Diseño de Circuitos Secuenciales
El Análisis y Diseño de Circuitos Secuenciales se encuentra estrechamente relacionado con el control secuencial, denominado también control lógico o control binario. En los sistemas de control secuencial las entradas y las salidas son de tipo binario y determinan una serie de pasos para la operación de un proceso.
Las entradas por lo general son: pulsadores, interruptores, microinterruptores, fines de carrera o detectores de proximidad. Las salidas pueden ser: Válvulas solenoides, cilindros neumáticos, contactores para arranque y parada de motores, pilotos de señalización, alarmas, entre otros.
Cuando el sistema de control secuencial es pequeño se realiza con circuitos digitales combinatorios y secuenciales. Cuando es grande se realiza con PLC´s (Controladores Lógicos Programables), microcomputadores, microprocesadores especiales para control secuencial y por software en PC.
En este capitulo se mostraran las metodologías básicas para el Diseño de Circuitos Secuenciales y su aplicabilidad en dispositivos secuenciales para funciones específicas.
6.1. Teoría de Máquinas de Estado (FSM)
La teoría de máquinas de estado es el nombre con el que se conocen los métodos de Análisis y Diseño de Circuitos Secuenciales Sincrónicos. Esta lección constituye una introducción al tema del capítulo, donde se definirá lo que son las máquinas de estado y los conceptos básicos para entender la metodología de Análisis y Diseño de Circuitos Secuenciales.
Page 129
Las máquinas de estado son circuitos secuenciales que se encuentran constituidos por una etapa combinacional y una etapa de memoria, relacionadas de tal forma que conforman un sistema secuencial para algún propósito especial. Los registros y contadores con entradas asincrónicas son ejemplos de este tipo de sistemas secuenciales.
6.2. Máquinas de Estado de Mealy y Moore
Los circuitos secuenciales se clasifican dentro de una categoría conocida como máquinas de estado, de la cual se distinguen comúnmente dos tipos:
• Máquina de Mealy: En esta máquina de estados las salidas se encuentran determinadas por el estado interno del sistema y por las entradas no sincronizadas con el circuito. El diagrama de bloques representativo de esta máquina se muestra en la figura 137, donde se observa que las salidas del sistema son tanto sincrónicas como asincrónicas.
• Máquina de Moore: Las salidas solo dependen del estado interno y de cualquier entrada sincronizada con el circuito, como se observa en la figura 138, donde las salidas del sistema son únicamente sincrónicas. Un ejemplo de este tipo de máquinas de estado son los contadores (ver capítulo 5).
Los circuitos secuenciales se caracterizan por tener una etapa combinacional y otra de memoria conformada por FLIP-FLOPs. En la figura 140, se puede observar un ejemplo particular de este tipo de circuitos, el cual corresponde a una Maquina de estado de Mealy. Observe que hay salidas que dependen de la etapa de memoria y hay una salida que depende directamente de la etapa combinatoria.
Page 130
Con base en el circuito de la figura 140, se dará una descripción de las herramientas básicas que son empleadas para el Análisis y Diseño de Circuitos Secuenciales. Entre estas herramientas se encuentran las ecuaciones lógicas, las los diagramas de estado, las tablas de estado, las tablas de transición y los mapas de Karnaugh.
6.3. Ecuaciones Lógicas
Las ecuaciones lógicas son funciones que definen la relación existente entre los estados de entrada y los estados de salida del sistema. Para determinar las ecuaciones lógicas de la máquina de estados de la figura 140, inicialmente se deben identificar los estados siguientes. Estos estados corresponden a aquellos que ocurren después de una transición en la señal de reloj de los FLIP-FLOPs. Recuerde que para los FLIP-FLOPs tipo D el estado siguiente (Q i+1) es igual al estado de la entrada D. Teniendo en cuenta lo anterior las ecuaciones lógicas para los FLIP-FLOPs A y B del circuito de la figura 140 serían las siguientes:
La salida Y esta dada por:
Y = (A + B)·X’
Observando esta última ecuación se concluye que la salida (Y) es función del estado presente del sistema (A y B) y de la entrada asincrónica (X).
Las ecuaciones lógicas en los circuitos secuenciales tienen una estructura formada por dos clases de estados:
• Los estados siguientes, los cuales se agrupan al lado izquierdo de la expresión y representan las variables dependientes del sistema. El estado de estas variables cambia en el momento que ocurra una transición en la señal de reloj.
• Los estados actuales y entradas del sistema. Agrupados al lado derecho de la expresión, constituyen las variables inpendientes, las cuales pueden o no cambiar en sincronía con el sistema.
Page 131
Cuando las ecuaciones de estado contienen varios términos, se pueden simplificar empleando metodologías de reducción de términos como Algebra de Boole, Mapas de Karnaugh, o mediante el Algoritmo de Quine-McCluskey, las cuales fueron presentadas en el Capitulo 2.
6.4. Tablas de Estado
Una tabla de estado es un listado que contiene la secuencia de los estados de entradas, estados internos y salidas del sistema, considerando todas las posibles combinaciones de estados actuales y entradas. Las tablas de estado por lo general se dividen en tres partes: estados actuales, estados siguientes y salidas, tal como se muestra en la tabla 62.
La tabla de estado para un circuito secuencial con m FLIP-FLOPs y n entradas tiene 2 m+n filas. El estado siguiente tiene m columnas, y el número de columnas depende del número de salidas.
Existe una forma más conveniente de organizar la información en la tabla de estado, la cual se muestra en la Tabla 63, donde los estados se agrupan de tal modo que la tabla se puede traducir a un diagrama de estados. Al igual que la tabla anterior esta tiene tres secciones: estados actuales, estados siguientes y salidas, sin embargo los estados se agrupan dependiendo del valor de las entradas. La sección de estados actuales agrupa los estados que ocurren antes de una transición en la señal de reloj, la sección de estados siguientes lista aquellos que ocurren después de la transición del reloj y la sección de salidas reúne los estados que se dan en el mismo instante de los estados actuales.
Page 132
Haciendo un análisis de la operación del circuito de la figura 140, se puede observar lo siguiente: Cuando la variable X=0 los estados actuales A y B cambian a 0 después de la transición de reloj, y cuando X=1, los estados de las salidas se comportan tal como se resume en la tabla 63. Se plantea como ejercicio verificar la información de la tabla.
6.5. Diagramas de Estado
Un diagrama de estados es una representación gráfica que indica la secuencia de los estados que se presentan en un circuito secuencial, teniendo en cuenta las entradas y salidas. El diagrama se forma con círculos y líneas. Los círculos representan los estados del circuito secuencial y cada uno de ellos contiene un número que identifica su estado. Las líneas indican las transiciones entre estados y se marcan con dos números separados por un (/), estos dos números corresponden a la entrada y salida presentes antes de la transición. A manera de ejemplo observe la línea que une los estados 00 y 01 en el diagrama de estado de la figura 141. Esta línea marcada como 1/0 indica que el circuito secuencial se encuentra en el estado 00 mientras la entrada X=0 y la salida Y=0, y que después de que ocurra una transición en la señal de reloj el estado cambia a 01.
Las líneas que salen y regresan al mismo círculo indican que no hay cambio en el estado, cuando se presentan la entrada y salida indicados.
Page 133
6.6. Tablas de Transición de FLIP-FLOPs
Las tablas de transición se usan en conjunto con las de estado y representan la tabla de verdad de los FLIP-FLOPs con los cuales se desea implementar el circuito secuencial. La tabla contiene los estados actuales y siguientes según el estado de las entradas de los FLIP-FLOPs. La tabla 64, corresponde a la tabla de transición del FLIP-FLOP JK.
En la tabla, Q i corresponde al estado actual y Q i+1 al estado siguiente, J y K son las entradas de los FLIP-FLOPs. La información sombreada en la tabla se interpreta de la siguiente forma: cuando el estado presente de la salida Q=0 y las entradas J=1 y K=X (X indica una condición de no importa, 1 o 0), después de un pulso de reloj en el FLIP-FLOP la salida cambia al estado siguiente Q=1.
6.7. Mapas de Karnaugh
Generalmente las tablas de estado y de transición de los FLIP-FLOPs se fusionan en una sola para agrupar la información de tal forma que permitan construir los Mapas de Karnaugh para simplificar las funciones lógicas. La tabla 65 corresponde a una tabla de estado de un contador de tres bits con FLIP-FLOPs JK. Observe que esta tabla incluye las entradas J y K para cada una de la transiciones (estado actual a estado siguiente). Las regiones sombreadas en la tabla indican que el estado Q i cambia estando presentes las entradas J i y K i correspondientes después de una transición del reloj.
Page 134
Los Mapas de Karnaugh se emplean para definir la lógica de las entradas de los FLIP-FLOPs y se debe hacer uno para cada una de las entradas. La figura 142 corresponde al Mapa de karnaugh de la entrada J 1 . de la tabla de estado 65.
Observe que cada celda en el mapa representa uno de los estados actuales de la secuencia en la tabla de estado. Una vez asignados todos los estados posibles a cada celda en el Mapa de Karnaugh se procede a simplificar y deducir las expresiones lógicas. En la figura 142 se observa que la expresión correspondiente a la entrada J 1 es:
J 1 = Q 0
Esta expresión indica que en el circuito lógico la salida Q 0 debe ir conectada a la entrada J 1 . En la siguiente lección se explicara de una forma detallada el procedimiento para el Diseño de Circuitos Secuenciales.
6.8. Análisis y Diseño de Circuitos Secuenciales Sincrónicos
La gran mayoría de los circuitos digitales contienen FLIP-FLOPs y compuertas para realizar funciones específicas. El diseño de estos circuitos inicia a partir de las especificaciones y finaliza con las funciones lógicas, de las cuales se obtiene el circuito lógico.
Inicialmente se debe crear una tabla de estado o representación equivalente, para identificar la secuencia de estados que deseada. Luego de seleccionar el número y tipo de FLIP-FLOPs con los cuales se desea hacer el diseño, se deduce la lógica combinatoria necesaria para generar la secuencia de estados.
Los circuitos secuenciales se pueden analizar y diseñar siguiendo un procedimiento claramente definido que consiste en los siguientes pasos:
1. Asignación de estados 2. Construcción del diagrama de transición 3. Elaboración de la tabla de estados 4. Obtención de ecuaciones o funciones lógicas 5. Realización de circuitos lógicos
Para explicar este método se desarrollará un ejemplo aplicado a un diseño particular.
Ejemplo 1: Diseñar el circuito secuencial del proceso que se cumple de acuerdo al diagrama de estados de la figura 143.
Page 135
Paso 1. Asignación de estados
Este proceso tiene cuatro estados, una entrada y no tiene salidas (se pueden considerar como salidas las de los FLIP-FLOPs). Para representar los cuatro estados se usarán dos FLIP-FLOPs identificados como A y B de tipo JK y la entrada será identificada como X.
Paso 2. Construcción del diagrama de la transición o de estado
La figura 143 corresponde al diagrama de transición. Analizando este diagrama se observa que el estado 10 se mantiene mientras X=0 y en el momento que X=1 pasa al estado 11, después al estado 00 y finalmente al estado 01, hasta el momento que nuevamente X=0, volviendo de esta forma al estado AB=10. Adicionalmente observe que los estados 00 10 y 11, se mantienen cuando X=0 y el estado 01 se mantiene cuando X=1.
Paso 3. Elaboración de la tabla de estados
A partir del diagrama de estados y de la tabla de transición del FLIP-FLOP JK se puede construir la tabla de estados (ver tabla 66).
Para la simplificación de los circuitos combinatorios es conveniente que se presenten condiciones de "no importa", ya que estas, permiten simplificar las funciones lógicas y por tanto el tamaño del circuito lógico.
Page 136
Paso 4. Obtención de ecuaciones o funciones lógicas.
En este paso se obtienen las funciones lógicas para las entradas de los FLIP-FLOPs (J A , K A , J B y K B ) y el objetivo es deducir la lógica combinatoria de estado siguiente, mediante el uso de Mapas de Karnaugh. A continuación en la figura 144 se muestran los Mapas de Karnaugh y las funciones lógicas correspondientes.
Figura 144. Mapas de Karnaugh para las entradas J A , J B , K A y K B
Paso 5. Realización de circuitos lógicos
Este es el ultimo paso del diseño, y consiste en implementar la lógica combinacional a partir de las ecuaciones lógicas obtenidas en el paso anterior para las entradas J y K de los FLIP-FLOPs. Las conexiones correspondientes, se efectúan mediante el uso de compuertas e inversores y en la figura 145 se muestra el diseño final del circuito lógico.
Page 137
6.9. Diseño de Circuitos Secuenciales con FLIP-FLOPs D
El diseño del circuito de la figura 145 se hizo con FLIP-FLOPs JK. En esta sección veremos como se realiza el diseño de circuitos secuenciales mediante el uso de FLIP-FLOPs tipo D.
A diferencia de las entradas de los FLIP-FLOPs JK, las entradas en los FLIP-FLOPs D corresponden exactamente a los estados siguientes. Por esta razón en la tabla de estado no se requiere una columna independiente para las excitaciones. En el siguiente ejemplo se verá como realizar el diseño de circuitos secuenciales con FLIP-FLOPs D.
Ejemplo 2: Realizar el diseño del circuito lógico correspondiente a la tabla de estado 67. Observe que esta tabla es la misma del ejemplo anterior, pero adicionalmente se agregó una salida (Y).
Paso 1. Asignación de estados
Este proceso al igual que el ejemplo anterior tiene cuatro estados de dos bits (AB), una entrada (X) y una salida (Y). Para representar los cuatro estados se usarán dos FLIP-FLOPs D identificados como A y B.
Paso 2. Construcción del diagrama de la transición o de estado
El diagrama de transición es el mismo del ejemplo anterior, excepto que ahora se tiene en cuenta la salida (Y). En la figura 146 se observa el diagrama de estado.
Page 138
Paso 3. Elaboración de la tabla de estado.
Para este ejemplo inicialmente se dió la tabla de estados, la cual se observa en la tabla 67.
Paso 4. Obtención de ecuaciones o funciones lógicas.
En este paso se deben obtener las funciones lógicas para las entradas de los FLIP-FLOPs (DA, DB) y la salida (Y). En la figura 147 se muestran los Mapas de Karnaugh y las funciones lógicas correspondientes.
Page 139
Paso 5. Realización de circuitos lógicos
Con las ecuaciones lógicas obtenidas en el paso anterior se puede implementar el circuito lógico. Las conexiones correspondientes, se efectúan mediante el uso de compuertas e inversores y en la figura 148 se muestra el diseño del circuito.
6.10. Estados no usados
Durante el diseño de los circuitos secuenciales para simplificar las representaciones lógicas, es conveniente emplear los estados no usados como condiciones que no importa. Estos estados se identifican con una (X) en los Mapas de Karnaugh.
Para ilustrar como emplear estos estados, observe la tabla 68.
Teniendo en cuenta todas las posibles combinaciones de las variables A, B, C y X, Note que en esta tabla hay seis estados que no están presentes (0000, 0001, 1100, 1101, 1110 y 1111).
Las seis filas de la tabla correspondientes a estos estados se identifican como estados X (1 o 0) o condiciones de "No importa", al momento de elaborar los Mapas de Karnaugh.
Page 140
Tabla 68. Tabla de estado - Condiciones de "no importa"
Los mapas de karnaugh correspondientes a las entradas de cada FLIP-FLOP (J A , K A , J B, K B, J C y K C ) y la salida (Y), se muestran en la figura 149.
Observe que en cada mapa los estados resaltados en rojo corresponden a los estados no usados, los cuales se han incluido como condiciones "no importa" para simplificar la mayor cantidad de variables en las expresiones.
Page 141
Figura 149. Mapas de Karnaugh para las entradas a los FLIP-FLOPs
Como conclusión sobre esta sección, podemos decir que es recomendable incluir los estados no usados en el diseño de los circuitos secuenciales. Esto implica una reducción en las expresiones lógicas y por consiguiente en el tamaño del circuito, que en otros términos representará obviamente un menor tiempo de desarrollo y costo de implementación.
Se plantea como ejercicio hacer el diagrama lógico correspondiente a las ecuaciones halladas a partir de los mapas de Karnaugh de la figura 149 y hacer el diseño del circuito secuencial sin tener en cuenta los estados no usados para comparar los dos casos y notar las diferencias.
Para más información sobre simplificación de funciones lógicas ver El Capítulo 2, numeral 2.6. Métodos para Sintetizar Circuitos Lógicos, literal c. Mapas de Karnaug.
6.11. Análisis de Circuitos Secuenciales Asincrónicos
El análisis de Circuitos Asincrónicos es similar al análisis de los circuitos sincrónicos, sin embargo estos circuitos requieren un tratamiento particular, debido a que no
Page 142
existen pulsos de reloj, como referencia de tiempo para controlar los cambios de estado.
En los Circuitos Secuenciales Asincrónicos las variables de entrada actúan directamente sobre el sistema, es decir que un cambio en tales variables produce un cambio sobre el estado interno. Los Circuitos Secuenciales Asincrónicos se clasifican dependiendo del tipo de entradas o del cambio en el tiempo de las estas, en dos grupos: los Circuitos Asincrónicos en Modo Fundamental y los Circuitos Asincrónicos en Modo Pulso.
Circuitos Asincrónicos Activados por Nivel (Modo Fundamental)
Los circuitos asincrónicos operando de esta forma fueron los primeros que se implementaron en los inicios del análisis de los sistemas secuenciales en Electrónica Digital y se encuentran constituidos por un sistema combinacional, donde algunas de sus salidas se unen a las entradas formando lazos de realimentación. En la figura 150 se observa un diagrama de bloques descriptivo de este tipo de sistemas secuenciales.
Figura 150. Diagrama de bloques de un Circuito Asincrónico Activado por Nivel
Descripción y características de este esquema.
• La variable t representa el tiempo de retardo mínimo para que ocurra una transición y corresponde al retardo que ocurre cuando una señal viaja a través de una o más compuertas del circuito secuencial.
• En este tipo de sistemas secuenciales no se permiten cambios en forma simultánea en las variables de entrada, debido a la posible ocurrencia de estados indeterminados en las salidas.
• Se pueden presentar estados estables e inestables. Los estables son aquellos en los que el valor de estado presente es igual al estado siguiente, y los inestables son aquellos en los que el valor del estado presente es diferente al estado siguiente.
• Las variables en minúscula (y n ) corresponden a las variables secundarias en el instante t (Y t ), y las variables en mayúscula corresponden a las variables secundarias en el instante t+1 (Y t+1 ).
Para observar los fenómenos que pueden ocurrir en este tipo de sistemas, a continuación se describe un procedimiento para analizar los estados lógicos, el cual se desarrolla en los siguientes pasos:
Page 143
1. Hallar las ecuaciones lógicas para las variables de excitación y salida del circuito.
2. Elaborar los mapas de Karnaugh para los estados de las variables de excitación y salida a partir de las ecuaciones halladas. Los mapas de Karnaugh contienen los estados secundarios versus los estados de salida.
3. Localizar e identificar todos los estados estables e inestables en el mapa de Karnaugh de las variables de excitación. Los estados estables ocurren cuando
yt = Yt, y los estados inestables cuando yt≠ Yt.
4. Asignar un nombre (puede ser un carácter) a cada fila de la tabla.
5. Elaborar una tabla de flujo, reemplazando cada estado estable de excitación con el mismo nombre que tiene asignado el estado secundario, así como el de los estados inestables. Para analizar la tabla de flujo, deberán considerarse movimientos horizontales, cuando ocurran cambios en las entrada, y movimientos verticales cuando se den transiciones de estados inestables a estados estables, sin cambio en las entradas.
Para ilustrar el proceso de análisis se desarrollará un ejemplo basado en el circuito de la figura 151.
Este circuito tiene dos variables de entrada (x 1 , x 2 ), una variable de estado interno o secundaria (y) y una variable de salida o excitación (Y=z).
• Obtención de las ecuaciones lógicas del circuito. Según la lógica del circuito se deducen las siguientes expresiones para los estados de excitación y salida. Comparando este circuito con el de la figura 151, se observa que la variable de excitación corresponde a la variable de salida, por esta razón las expresiones son las mismas.
• Elaboración de Mapas de Karnaugh para las variables de excitación y salida. Partiendo de las expresiones lógicas anteriores y teniendo en cuenta todas las posibles combinaciones de las variables x1, x2, y se puede llegar al mapa de Karnaugh de la figura 152, el cual es el mismo para Y como para z.
Page 144
Figura 152. Mapa de Karnaugh para estados de excitación y salida
Esta tabla indica los cambios en el estado de la varible Y después de un cambio en las entradas x1 y x2. A manera de ejemplo, observe el estado sombreado (1) en la figura 152, el cual indica que el estado actual Y=0 cambia a Y=1 cuando las entradas son x1=x2=1.
• Localización de estados estables e inestables. De la figura 152 se pueden deducir las estados estables e inestables, basta observar si los estados actuales cambian al alterar las entradas. Teniendo en cuenta lo anterior se puede concluir que los estados inestables son aquellos que están sombreados y los demás son estables, debido a que no hay cambios en el estado siguiente.
• Asignación de nombres a cada fila de la tabla de excitación. Las filas de la tabla sean identificadas como a y b para identificar los estados 0 y 1 de la variable Y.
• Tabla de flujo o transición de estados lógicos. Teniendo en cuenta que los estados de las entradas no deben tener cambios simultáneamente, en la figura 153 se muestra la tabla de flujo, donde se observa la transición de estados a y b según el estado de las entradas.
Page 145
Circuitos Asincrónicos Activados por Pulso (Modo Pulso)
Los circuitos asincrónicos operando de este modo son similares a aquellos que operan en modo fundamental, excepto que las señales de entrada corresponden a pulsos que se ocurren de forma asincrónica en la figura 154 se observa un diagrama de bloques ilustrativo sobre este tipo de sistemas.
Un circuito secuencial activado por pulsos, se caracteriza por cumplir las siguientes condiciones:
• Como mínimo, una de las entradas debe ser un pulso.
• Los cambios en los estados internos ocurren únicamente por la presencia de un pulso en las terminales de entrada.
• Cada estado de entrada, desencadena únicamente un cambio en el estado interno del circuito.
• No se permiten dos o más pulsos en forma simultánea en las señales de entrada. En caso de incumplirse esta condición la única forma de analizar el circuito es con un diagrama de tiempos.
• Existen dos tipos de circuitos en esta modalidad de funcionamiento: La máquina de estados de Mealy y Moore (Ver Teoría de máquinas de estado (FSM))
Para entender el funcionamiento de este tipo de circuitos, se desarrollará un ejemplo con base en el circuito de la figura 155.
Para comenzar el análisis considere que los pulsos de entrada ocurren en la secuencia que se observa en la figura 156. Note que los estados de las entradas son complementarios y las transiciones ocurren en instantes de tiempo diferentes, lo cual es una característica particular de las entradas de estos sistemas secuenciales.
Page 146
Para analizar el estado de las variables del circuito se deben deducir las expresiones lógicas para S, R y z. De la figura 155, se tiene:
A partir de las expresiones lógicas se puede construir el diagrama de tiempos para las variables del circuito. En la figura 157 se observan las transiciones de los estados correspondientes a la secuencia de las señales de entrada.
La figura 158 muestra los estados siguientes y los estados de salida de la forma "estado siguiente/estado salida" (y/z).
En la tabla no se tuvo en cuenta la columna correspondiente a la entrada x 1 x 2 =11, debido a que los circuitos secuenciales asincrónicos no admiten entradas activas de forma simultanea. Esta tabla de estados se puede simplificar aun más debido a que el
Page 147
estado 00 no implica ningún cambio en los estados del circuito, así que la columna correspondiente se puede suprimir, sin alterar el análisis. Teniendo presente esta condición, la figura 158 se reduce a la figura 159. Observe que los estados de las entradas son complementarios, lo cual es característico de una señal pulsada.
6.12. Ejemplos de Control Secuencial
Los sistemas combinacionales y secuenciales tienen gran variedad de aplicaciones en la vida real. En la mayoría de sistemas digitales encontrados en la práctica se incluyen elementos que memorizan la información, por lo cual se requieren de circuitos secuenciales.
El objetivo de esta lección consiste en dar aplicabilidad a la teoría vista en este capítulo, mediante dos ejemplos sencillos, con los cuales se harán uso de las herramientas de análisis y diseño de circuitos secuenciales: la implementación de un semáforo y un control de un motor de pasos.
Implementación de un Semáforo:
Construir el circuito lógico para un semáforo que responda a la siguiente secuencia: Verde, Amarillo, Rojo y Rojo/Amarillo.
El semáforo tiene cuatro estados, los cuales se pueden representar con 2 FLIP-FLOPs, sin embargo para asignar el tiempo de duración de cada estado se emplearan 3 FLIP-FLOPs, de los cuales se pueden obtener 8 estados, cuyos tiempos se pueden distribuir de la siguiente forma:
• Verde (3 ciclos)
• Amarillo (1 ciclo)
• Rojo (3 ciclos)
• Rojo-Amarillo (1 ciclo)
Donde cada ciclo representa una transición en la señal de reloj. Observe que la duración de la secuencia de los cuatro estados es de 8 ciclos.
El primer paso para realizar el diseño consiste en asignar los estados lógicos, como se puede notar en la tabla 69. Esta asignación de estados se puede hacer de forma libre y no necesariamente debe corresponder a una secuencia binaria, sin embargo, en este caso por comodidad sean establecido de esta forma para implementar el circuito con base en un contador sincrónico de tres bits.
Page 148
En la figura 160 se observa un contador sincrónico de tres bits construido con FLIP-FLOPs JK, a partir del cual se realizará el diseño. El objetivo de hacer uso del contador es emplear sus salidas (Q 2 , Q 1 y Q 0 ) para generar los estados de las variables V, A y R (Verde, Amarillo y Rojo) del semáforo.
El siguiente paso consiste en deducir la lógica combinacional adicional para generar los estados de las variables V, A y R. Para ello se deben construir los mapas de Karnaugh y obtener las ecuaciones lógicas. En la figura 161 se muestran los mapas con las ecuaciones resultantes para cada variable.
Page 149
Motor paso a paso operando en forma unipolar
Un motor de pasos es un tipo especial de motor diseñado para rotar un determinado ángulo como respuesta a una señal en su circuito de control. Estos motores se utilizan en varios sistemas de control de posición debido a la precisión que manejan.
Este tipo de motor puede tener una o dos bobinas por fase. Los que tienen una bobina por fase se conocen como motores de tres hilos y los que tienen dos bobinas por fase se conocen como motores de devanado partido. Para este ejemplo se empleará un motor de fase partida, como el que se indica en la figura 162. Observe la forma en que debe ser conectado para hacer el control.
En este ejemplo se hará el diseño del circuito de control para manejar cuatro pasos, los cuales corresponden a la posición de los interruptores se indican en la tabla 70.
Page 150
Los interruptores se pueden controlar de dos formas, ya sea con tiristores (SCR's) o mediante el uso de relevos. En la figura 163 se observan las dos opciones para manejar los interruptores.
Observando la tabla 70, se puede notar que los estados de los interruptores S1 y S2, son complementarios, al igual que los interruptores S3 y S4, lo cual simplifica el diseño del circuito.
El primer paso para realizar el diseño de la unidad de control, consiste en asignar los estados lógicos y seleccionar el tipo de FLIP-FLOP con el cual se implementará el circuito lógico.
En la tabla 71 se relacionan los estados lógicos de las salidas y los estados de las entradas j y k de los FLIP-FLOPs.
Note que las variables S 2 y S 4 no se tuvieron en cuenta, debido a que sus estados son el complemento de S 1 y S 3 respectivamente.
Page 151
El siguiente paso consiste en construir los mapas de Karnaugh para los estados de los FLIP-FLOPs (J 1 , K 1 , J 3 , K3). Tales estados se indican en los mapas de Karnaugh mostrados en las figura 164 con las ecuaciones lógicas correspondientes.
El último paso del diseño consiste en construir el circuito lógico a partir de las ecuaciones lógicas obtenidas, el cual se muestra en la figura 165.
Page 152
Observe que los estados S2 y S4 no se tuvieron en cuenta en el diseño debido a que los FLIP-FLOPs por defecto entregan en sus salidas una variable y su complemento.
7. Dispositivos Lógicos Programables
Una forma rápida y directa de integrar aplicaciones se logra con la lógica programable, la cual permite independizar el proceso de fabricación del proceso de diseño fuera de la fábrica de semiconductores. El sistema desplaza los errores de alambrado al campo exclusivo de la programación. Los sistemas con estas características se pueden borrar y reprogramar en casos de cambios o revisiones. El resultado es la reducción del espacio físico de la aplicación. El diseño está basado en bibliotecas y mecanismos específicos de mapeado de funciones.
La mayor parte de los diseños de nivel de sistema incorporan diversos dispositivos, como son las memorias RAM, ROM, controladores, procesadores, etc., que se interconectan mediante gran cantidad de dispositivos lógicos de propósito general, frecuentemente denominados lógica de unión ("glue logic"). En los últimos años, los dispositivos PLD (Programmable Logic Device) han comenzado a reemplazar muchos de los antiguos dispositivos de unión, SSI y MSI.
El uso de dispositivos PLD proporciona una reducción en el número de circuitos integrados. Por ejemplo, en los sistemas de memoria de las computadoras, los PLD pueden utilizarse para decodificar direcciones de memoria y generar señales de escritura en memoria.
En muchas aplicaciones, los PLD y, en concreto, las matrices lógicas programables (PAL, Programmable Array Logic) y las matrices lógicas genéricas (GAL, Generic Array Logic) pueden emplearse para reemplazar dispositivos lógicos SSI y MSI, consiguiendo con ello una reducción de etapas y de los costos.
Por las razones anteriores el diseño lógico hoy día se realiza con PLDs. Un PLD está formado por una matriz de puertas AND y puertas OR, que se pueden programar para conseguir funciones lógicas específicas.
El diseño con PLDs señala las siguientes ventajas en relación a la lógica cableada:
• Economía.
• Menos espacio en los impresos.
• Se mantiene la reserva del diseño.
Page 153
• Se requiere tener menos inventarios que con circuitos estándar SSI, MSI.
• Menos alambrado.
7.1. Tipos de PLD: Los PLD se dividen en dos clases:
1. PLDs combinatorios: Constituidos por arreglos de compuertas AND - OR. El usuario define las interconexiones y en esto consiste la programación.
2. PLDs secuenciales: Además de los arreglos de compuertas, incluyen FLIP -FLOPs para programar funciones secuenciales como contadores y máquinas de estado
7.2. Estructura de los Dispositivos Lógicos Programables Básicos
Los PLD se clasifican de acuerdo con su estructura, la cual es básicamente la ordenación funcional de los elementos internos que proporciona al dispositivo sus características de operación específicas.
Memoria programable de sólo lectura PROM (PROM, Programable Read Only Memory)
La PROM está formada por un conjunto fijo (no programable) de puertas AND conectadas como decodificador y una matriz programable OR. La PROM se utiliza como una memoria direccionable y no como un dispositivo lógico (Ver Figura 166).
Figura 166. Diagrama de bloques de una PROM (Programmable Read-Only Memory).
Page 154
Arreglo Lógico Programable PLA (PLA, Programmable Logic Array)
El PLA es un PLD formado por una matriz AND programable y una matriz OR programable. La PLA ha sido desarrollada para superar algunas de las limitaciones de las memorias PROM (Ver Figura 167).
Figura 167. Diagrama de bloques de una PLA (Programmable Logic Array).
En la actualidad existen soluciones con Dispositivos Lógicos programables complejos que combinan arquitectura superior y software de gran alcance, ofreciendo un nivel sin precedente en la flexibilidad del diseño.
7.3. Herramientas para la Automatización del Diseño Electrónico (EDA Tools)
Las herramientas EDA ("Electronic Design Automation") son las herramientas de hardware y software utilizadas en el diseño de sistemas electrónicos.
El diseño de hardware tiene un inconveniente que no existe en el desarrollo de software. El problema es el alto costo en el ciclo de diseño, desarrollo del prototipo, pruebas y reinicio del ciclo. La etapa de costo más elevado es el prototipo. Por necesidad del mercado, se impone la reducción de costos en esta etapa, con el fin de incluir la fase de desarrollo del prototipo al final del proceso, evitando la repetición de varios prototipos, razón por la cual se encarece el ciclo. La introducción de la fase de simulación y verificación de circuitos utilizando herramientas EDA, hace no necesaria la comprobación del funcionamiento del circuito por medio de la implementación física del prototipo.
Las herramientas EDA están presentes en todas las fases del ciclo de diseño de circuitos. Primero en la fase de generación del sistema que puede representarse en un diagrama esquemático, en bloques o de flujo.
Se encuentra también la fase de simulación y comprobación de circuitos, donde diferentes herramientas permiten verificar el funcionamiento del sistema. Estas simulaciones pueden ser de eventos, funcionales, digitales o eléctricas, de acuerdo al nivel requerido. Después están las herramientas EDA utilizadas en la síntesis y programación de circuitos digitales en dispositivos lógicos programables. Existen, además, las herramientas EDA orientadas a la fabricación de circuitos. En el caso del diseño de hardware estas herramientas sirven para la realización de PCBs ("Printed Circuit Boards" o placas de circuito impreso), o para desarrollar circuitos integrados de aplicación especifica como ASICs ("Aplication Specific Integrated Circuits").
Las principales características y finalidad de algunas herramientas EDA que intervienen en el diseño de circuitos son:
Page 155
1. Lenguajes de Descripción de Circuitos. 2. Diagramas Esquemáticos. 3. Grafos y Diagramas de Flujo. 4. Simulación de Eventos. 5. Simulación Funcional. 6. Simulación Digital. 7. Simulación Eléctrica. 8. Diseño de PCBs. 9. Diseño de Circuitos Integrados. 10. Diseño con Dispositivos Programables.
Para la automatización del diseño electrónico se utilizan herramientas EDA.
Ventajas de la metodología de diseño que usa herramientas EDA
Entre las ventajas de la metodología de diseño con el empleo de herramientas EDA está la reducción del diseño, la posibilidad de dividir un proyecto en módulos que se desarrollan por separado, la independencia del diseño con respecto a la tecnología, la posibilidad de la reutilización de los diseños, la optimización de los circuitos y las simulaciones posibles con las herramientas.
Con la aparición de herramientas EDA cada vez más complejas, que integran en el mismo marco de trabajo las herramientas de descripción, síntesis, simulación y realización; apareció la necesidad de disponer de un método de descripción de circuitos que permitiera el intercambio de información entre las diferentes herramientas que componen el ciclo de diseño. En principio se utilizó un lenguaje de descripción que permitía, mediante sentencias simples, describir completamente un circuito. A estos lenguajes se les llamó Netlist puesto que eran simplemente eso, un conjunto de instrucciones que indicaban las interconexiones entre los componentes de un diseño.
7.4. Principios y Aplicaciones de los Dispositivos Lógicos Programables como las PALs y las GALs.
Una matriz programable es una red de conductores distribuidos en filas y columnas con un fusible en cada punto de intersección. Las matrices pueden ser fijas o programables. Todos los PLD están formados por matrices programables.
Estructura Interna de un PLD: Está formada por un arreglo de compuertas AND y OR interconectadas a través de fusibles.
Matriz AND: está formada por una red de compuertas AND conectadas a través conductores y fusibles en cada punto de intersección. Cada punto de intersección entre una fila y una columna se denomina celda. La figura 168 muestra un arreglo de compuertas no programado.
Page 156
Cuando se requiere una conexión entre una fila y una columna, el fusible queda intacto y en caso de no requerirse la conexión, el fusible se abre en el proceso de programación. La figura muestra 169 un arreglo AND programado.
Matriz OR: está formada por una red de compuertas OR conectadas a través conductores y fusibles en cada punto de intersección. La figura 170 muestra un arreglo de compuertas no programado.
Page 157
La figura 171 muestra un arreglo OR programado.
Los dispositivos lógicos programables que se usan más comúnmente para la implementación lógica son la PAL y la GAL.
Lógica de Arreglos Programables (PAL, Programmable Array Logic)
La PAL es un PLD que se ha desarrollado para superar ciertas desventajas de la PLA, tales como los largos retardos debidos a los fusibles adicionales que resultan de la utilización de dos matrices programables y la mayor complejidad del circuito. La PAL básica está formada por una matriz AND programable y una matriz OR fija con la lógica de salida (Ver figura 172). Esta estructura permite implementar cualquier suma de productos lógica con un número de variables definido, sabiendo que cualquier función lógica puede expresarse como suma de productos. La PAL se implementa con tecnología bipolar (TTL o ECL).
Page 158
Figura 172. Diagrama de bloques de una PAL (Programmable Logic Array)
Nomenclatura de una PAL: Los líderes en fabricación de PLDs, Texas Instruments y AMD, tienen una notación para identificar los dispositivos. Por ejemplo, la estructura en PLD AMD es:
Figura 173. Diagrama de bloques de una PAL (Programmable Logic Array)
Dentro de la estructura de salida se tienen las posibilidades contenidas en la tabla 72.
PALs comerciales: En el mercado se manejan referencias como la PAL16L8, PAL20L8, PAL20V8 y PAL20X8.
Page 159
Matriz Lógica Genérica (GAL, Generic Array Logic)
La GAL se forma con una matriz AND reprogramable y una matriz OR fija, con una salida lógica programable. La figura 174 muestra el diagrama de bloques de una GAL. Esta estructura permite implementar cualquier expresión lógica suma de productos con un número de variables limitado.
Figura 174. Diagrama de Bloques de una GAL (Generic Array Logic).
Las dos principales diferencias entre los dispositivos GAL y PAL son:
a) La GAL es reprogramable y
b) La GAL tiene configuraciones de salida programables. La GAL se puede programar una y otra vez, ya que usa tecnología ECMOS (Electrically Erasable CMOS, CMOS borrable eléctricamente).
En la figura 175 se ilustra la estructura básica de una GAL con dos variables de entrada y una de salida. La matriz reprogramable es esencialmente una red de conductores ordenados en filas y columnas, con una celda CMOS eléctricamente borrable (E 2 CMOS) en cada punto de intersección, en lugar de un fusible como en el caso de las PAL. Estos PLDs son borrables y reprogramables. El transistor CMOS tiene 2 compuertas, una de ellas totalmente aislada, flotante. Para programar cada celda se aplica o no una tensión mayor a V DD (alta) en la compuerta no flotante. Al aplicar esta tensión el dieléctrico conduce y la compuerta flotante se carga negativamente, dejando en operación normal siempre abierto el transistor.
Figura 175. Estructura Básica de una GAL (Generic Array Logic)
Page 160
En la figura 176 se muestra un ejemplo de una sencilla matriz GAL programada para obtener la suma de tres productos.
El borrado se puede hacer de dos formas:
• Con luz ultravioleta (UV): exponiendo el transistor de 5 a 20 minutos a luz UV, el dieléctrico conduce y permite la descarga de la compuerta flotante. Para este borrado el chip lleva una ventana de cuarzo transparente.
• Borrado eléctrico: Es el más usado hoy en día. La capa que aisla la compuerta flotante es más delgada. Al aplicar una tensión alta con polaridad contraria , la compuerta flotante se descarga porque el dieléctrico conduce. Las ventajas más importantes de esta técnica son una descarga rápida, no se requiere UV y no se requiere sacar el chip de su base.
GALs comerciales: Las diversas GAL tienen el mismo tipo de matriz programable. Se diferencian en el tamaño de la matriz, en el tipo de OLMC (Las macroceldas Lógicas de Salida que contienen circuitos lógicos programables que se pueden configurar como entrada o salida combinacional y secuencial) y en los parámetros de funcionamiento, tales como velocidad y disipación de potencia.
En la mayoría de las aplicaciones en electrónica digital se requiere del almacenamiento de información de forma temporal para efectuar operaciones lógicas. Debido a que los FLIP-FLOPs tienen esta característica, la gran parte de los
Page 161
Dispositivos Lógicos Programables “PLDs” existentes en el mercado tienen incorporados estos dispositivos en su estructura interna.
Estos dispositivos lógicos se conocen como PLDs de registro y son empleados para construir máquinas de estado de propósito especial, además de la ventaja que ofrecen para reducir el tamaño de los circuitos. Se puede agregar que los PLDs facilitan el ruteado de las placas de circuito impreso debido a la libertad de asignación que proporcionan, y además permiten realizar modificaciones posteriores del diseño.
Los PLDs secuenciales se componen de un arreglo programable de compuertas AND seguido de un arreglo fijo de compuertas OR, dispuestos de la misma manera que en los PLDs combinatorios. Su diferencia con los PLDs combinatorios se debe a que el estado de las salidas se almacena en FLIP-FLOPscuando se presenta un flanco activo en la señal de reloj del PLD.
7.5. Arquitectura de Diversos PLD's Secuenciales
Los PLDs secuenciales se encuentran clasificados en dos tipos: "no reprogramables" y "reprogramables". A continuación veremos estas dos categorías de PLDs y sus diferencias.
PLDs no reprogramables: En este tipo de PLD's es posible programar el arreglo de compuertas sólo una vez, de tal manera que no es posible hacer modificaciones posteriores al estado de los fusibles, quedando únicamente operando con la lógica definida por las conexiones internas programadas. Estos dispositivos son conocidos por la sigla PAL (Programmable Array Logic).
En la tabla 74 se observa una lista de algunos PLDs secuenciales de uso general. Los PLDs PAL16XX indicados en la tabla tiene el mismo arreglo de compuertas de 16 variables. Los PLDs de la familia PAL20XX tienen un arreglo de compuertas similar con 20 variables. En la figura 177 se observan los esquemas lógicos de los PLDs relacionados en la tabla 74.
Tabla 74. Descripción de PLDs secuenciales no reprogramables de uso general
Page 162
Figura 177. Diagramas lógicos de PLDs secuenciales no reprogramables (Copyright © 1999 by John F. Wakerly)
PLDs reprogramables: Estos PLDs utilizan tecnología EEPROM (Electrical Erasable Programmable ROM) y se conocen con el nombre de GALs (Generic Array Logic). Estos dispositivos a diferencia de los anteriores permiten modificar la disposición interna de las conexiones de las compuertas después de haber sido programados.
Este dispositivo tiene 20 pines distribuidos de la siguiente forma:
• 8 entradas dedicadas (pines 2 a 9).
• 8 salidas de registro programables (pines 12 a 19).
• 1 entrada de reloj (pin 1).
• 1 entrada de habilitación (pin 11).
• 2 entradas de alimentación (pines 10 y 20).
Las salidas se pueden programar como salida secuencial o como salida combinacional dependiendo del estado de los fusibles de selección ubicados en la macrocelda lógica de cada salida. La macrocelda corresponde al conjunto de elementos agrupados en cada salida, incluyendo la compuerta OR).
Page 163
Figura 178. Macroceldas lógicas para el PLD GAL16V8. (Copyright © 1999 by John F. Wakerly).
Estas celdas son conocidas como OLMCs de la sigla en inglés Output Logic MacroCell y en la figura 178 se observa la estructura interna de una de estas celdas en sus dos configuraciones disponibles (salida secuencial y salida combinacional).
7.6. Memorias: La mayoría de los procesos lógicos en electrónica digital se encuentran constituidos por sistemas que manipulan la información binaria para dar como resultado una o varias salidas.
En el proceso de manipular la información, los sistemas requieren del almacenamiento temporal o permanente de los estados lógicos. Un ejemplo de este tipo de sistemas son los microcomputadores, los cuales necesitan del almacenamiento tanto de datos como de los programas que manipulan la información.
Aspectos Generales sobre Memorias
Las unidades de memoria son módulos conformados por un conjunto de cerrojos o condensadores agrupados de tal forma que almacenan varias palabras binarias de n bits. Cada una de ellas tiene la capacidad de almacenar un bit de información (1 o 0), y se conocen con el nombre de celdas de memoria. Las celdas o bits de memoria se ubican mediante la fila y la columna en la que se encuentra. En la figura 179 se observa como ubicar un bit y una palabra dentro de una memoria.
Page 164
Las palabras binarias se identifican con una dirección la cual define la ubicación dentro del arreglo y generalmente se designa con un número binario, octal o hexadecimal. En la mayoría de las aplicaciones se asocian en grupos de ocho unidades para formar bytes y el tamaño de las palabras en las memorias actuales está entre 4 y 64 bits.
El parámetro básico de una memoria es su capacidad, la cual corresponde al total de unidades que puede almacenar. Como ejemplo, la memoria de la figura 179 tiene una capacidad de 8n bits, que en otras palabras representa n bytes.
Regularmente estas memorias en la actualidad se consiguen en tamaños del orden megabytes.
El tiempo de acceso es otro parámetro importante en las memorias. Este corresponde al tiempo que tarda la memoria en acceder a la información almacenada en una dirección.
Generalmente este tiempo se designan como t acc en las fichas técnicas de estos dispositivos. En tabla 75 se indican los tiempos de acceso de las memorias en Circuito Integrado comparados con los tiempos de otros tipos de memoria.
Tabla 75. Comparación de tiempos de acceso de diversos tipos de memorias
Operaciones básicas de una Memoria
La función básica de las memorias es almacenar información. Sin embargo las memorias tienen la función específica de escribir y leer los datos en su interior. En la
Page 165
figura 180 se observa la estructura básica de una memoria de 1K de 4 bits, en la cual se indican sus partes básicas.
En la figura 180 la entrada de direcciones (A 0 a A 9 ), como su nombre lo indica, define la posición a escribir o leer dentro de la memoria, las entradas y salidas de datos definen los datos a escribir y leer respectivamente, la entrada WE’ controla el tipo de operación que la memoria debe hacer y la entrada OE’ corresponde a la señal de habilitación de la memoria, la cual habilita o deshabilita la memoria para responder a las demás entradas.
En los computadores modernos las memorias actúan directamente con la CPU a través de canales de comunicación llamados buses. En la figura 181 se observa un esquema general, el cuál muestra cómo interactúa la CPU de un microcomputador con las memorias a través de estos canales.
Las operaciones básicas de una memoria consisten en leer y almacenar información mediante el uso del bus de datos y direcciones. Estas operaciones ocurren en un orden lógico, el cual se indica a continuación:
• Apuntar a la dirección de memoria que se desea leer o escribir mediante el uso del bus de direcciones
Page 166
• Selección del tipo de operación: Lectura o escritura.
• Cargar los datos a almacenar (en el caso de una operación de escritura)
• Retener los datos de la memoria (en el caso de una operación de lectura)
• Habilitar o deshabilitar la memoria para una nueva operación.
Memorias de Acceso Aleatorio
Las memorias de Acceso Aleatorio son conocidas como memorias RAM de la sigla en inglés Random Access Memory. Se caracterizan por ser memorias de lectura/escritura y contienen un conjunto de variables de dirección que permiten seleccionar cualquier dirección de memoria de forma directa e independiente de la posición en la que se encuentre.
Estas memorias son volátiles, es decir, que se pierde la información cuando no hay energía y se clasifican en dos categorías básicas: la RAM estática y la RAM dinámica, las cuales se describen en las siguientes dos secciones.
Memoria RAM estática: Este tipo de memoria conocida como SRAM (Static Random Access Memory) se compone de celdas conformadas por FLIP-FLOPs construidos generalmente con transistores MOSFET, aunque también existen algunas memorias pequeñas construidas con transistores bipolares. En la figura 182 se observa la estructura típica de una celda de memoria de una SRAM.
Como se observa en la figura la celda se activa mediante un nivel activo a la entrada superior y los datos se cargan o se leen a través de las líneas laterales.
Las celdas de memoria se agrupan en filas y columnas para conformar el arreglo básico de la memoria. En la figura 183 se muestra la disposición de las celdas de memoria en una SRAM, donde se observa que cada una de las filas se habilita de forma simultánea para recibir o cargar los datos del bus de entrada/salida.
Page 167
Existen otras modalidades de funcionamiento de las memorias estáticas, entre ellas se pueden nombrar las siguientes:
SRAM Sincrónica: Al igual que en los sistemas sincrónicos, este tipo de memoria tiene una entrada de reloj, la cual le permite operar en sincronía con otros dispositivos. Esta característica no aporta mejores beneficios, sin embargo simplifica enormemente el diseño de sistemas de alta prestaciones, ya que una única señal controla todos los dispositivos involucrados. La ventaja de estas memorias viene proporcionada por lo que se podría llamar su funcionamiento automático, guiado por la señal de reloj, por lo que no es necesario ocuparse de generar las señales de control.
SRAM de Ráfaga: Las memorias de ráfagas (burst) son sincrónicas y se caracterizan por incluir un contador que permite que la memoria genere internamente la dirección a la que debe acceder, consiguiendo de esta forma accesos hasta cuatro posiciones de memoria con una sola dirección de referencia. Esto permite acceder de forma más rápida a la información en memoria.
Vemos como funciona este tipo de memoria. La CPU genera una dirección de memoria, la cual se propaga a través del bus de direcciones hasta la memoria, decodificándose y accediendo a la posición correspondiente. Si se ha configurado la memoria en modo ráfaga, una vez obtenido el primer dato, incrementa la dirección y vuelve a acceder. De esta forma se evita el tiempo de propagación de las señales por el bus y el tiempo de decodificación de la dirección. El número de palabras leídas o escritas en una ráfaga, viene limitado por el tamaño del contador interno de la memoria.
SRAM Pipeline: Con los dos tipos de memorias anteriores se consigue el acceso a posiciones consecutivas de forma rápida. Para mantener esta velocidad cuando se cambia de secuencia, las memorias pipeline incluyen un buffer para almacenar la dirección y los datos actuales proporcionados por la memoria. De esta forma, se puede enviar la nueva dirección antes de terminar la lectura, consiguiendo así que la CPU no espere la finalización del acceso a una posición de memoria para generar la nueva dirección.
Memoria RAM dinámica: Este tipo de memoria conocida como DRAM (Dinamic Random Access Memory), a diferencia de la memoria estática se compone de celdas de memoria construidas con condensadores. Las celdas de memoria son de
Page 168
fabricación más sencillas en comparación a las celdas a base de transistores, lo cual permite construir memorias de gran capacidad. La figura 184 se observa la composición interna de una de estas celdas.
La operación de la celda es similar a la de un interruptor, cuando el estado en la fila se encuentra en alto, el transistor entra en saturación y el dato presente en el bus interno de la memoria (columna) se almacena en el condensador, durante una operación de escritura y se extrae en una operación de lectura. El inconveniente que tiene este tipo de memorias consiste en que hay que recargar la información almacenada en las celdas, por lo cual estas celdas requieren de circuitería adicional para cumplir esta función. En la figura 185 se observa la celda completa con sus aditamentos donde se puede identificar la forma en que se desarrollan las operaciones de escritura, lectura y recarga.
Figura 185. Sistema lectura, escritura y recarga de una celda DRAM
Como se ha notado, existen diferencias entre la memoria Estática y Dinámica. En La tabla 76 se indican las ventajas y desventajas de los dos sistemas de memoria, lo cual permite seleccionar el tipo de memoria dependiendo de la aplicación.
Page 169
Tabla 76. Ventajas y desventajas de los dos sistemas de memoria
Memorias de Solo Lectura: Las memorias de solo lectura son conocidas como memorias ROM de la sigla en inglés Read Only Memory. Se caracterizan por ser memorias de lectura y contienen celdas de memoria no volátiles, es decir que la información almacenada se conserva sin necesidad de energía. Este tipo de memoria se emplea para almacenar información de forma permanente o información que no cambie con mucha frecuencia.
Actualmente se dispone de varios tipos de memorias ROM, a continuación se explicará cada una de ellas con sus características básicas.
Memoria ROM de Máscara: Esta memoria se conoce simplemente como ROM y se caracteriza porque la información contenida en su interior se almacena durante su construcción y no se puede alterar. Son memorias ideales para almacenar microprogramas, sistemas operativos, tablas de conversión y caracteres.
Generalmente estas memorias utilizan transistores MOS para representar los dos estados lógicos (1 ó 0). La programación se desarrolla mediante el diseño de un negativo fotográfico llamado máscara donde se especifican las conexiones internas de la memoria. En la figura 186 se muestra la celda de memoria de una ROM de este tipo, en tecnologías TTL y MOS.
Page 170
Las celdas de memoria se organizan en grupos para formar registros del mismo tamaño y estos se ubican físicamente formando un arreglo, como el indicado en la figura 187.
Memoria PROM: Esta memoria es conocida como ROM programable de la sigla en inglés Programmable Read Only Memory. Este tipo de memoria a diferencia de la ROM no se programa durante el proceso de fabricación, en vez de ello la programación la efectúa el usuario y se puede realizar una sola vez, después de la cual no se puede borrar o volver a almacenar otra información.
El proceso de programación es destructivo, es decir, que una vez grabada, es como si fuese una ROM normal. Para almacenar la información se emplean dos técnicas: por destrucción de fusible o por destrucción de unión. Comúnmente la información se programa o quema en las diferentes celdas de memoria aplicando la dirección en el bus de direcciones, los datos en los buffers de entrada de datos y un pulso de 10 a 30V, en una terminal dedicada para fundir los fusibles correspondientes. Cuando se aplica este pulso a un fusible de la celda, se almacena un 0 lógico, de lo contrario se almacena un 1 lógico (estado por defecto), quedando de esta forma la información almacenada de forma permanente. En la figura 188 se observa la disposición interna de una celda de memoria y los fusibles correspondientes.
Page 171
El proceso de programación de una PROM generalmente se realiza con un equipo especial llamado quemador. Este equipo emplea un mecanismo de interruptores electrónicos controlados por software que permiten cargar las direcciones, los datos y genera los pulsos para fundir los fusibles del arreglo interno de la memoria. En la figura 189 se indica de forma esquemática la función del programador.
Memoria EPROM: Este tipo de memoria es similar a la PROM con la diferencia que la información se puede borrar y volver a grabar varias veces. Su nombre proviene de la sigla en inglés Erasable Read Only Memory. La programación se efectúa aplicando en un pin especial de la memoria una tensión entre 10 y 25 Voltios durante aproximadamente 50 ms, según el dispositivo, al mismo tiempo se direcciona la posición de memoria y se pone la información a las entradas de datos. Este proceso puede tardar varios minutos dependiendo de la capacidad de memoria. La memoria EPROM, tal como las memorias vistas anteriormente se compone de un arreglo de transistores MOSFET de Canal N de compuerta aislada. En la figura 190 se observa el transistor funcionando como celda de memoria en una EPROM.
Page 172
Cada transistor tiene una compuerta flotante de SiO 2 (sin conexión eléctrica) que en estado normal se encuentra apagado y almacena un 1 lógico. Durante la programación, al aplicar una tensión (10 a 25V) la región de la compuerta queda cargada eléctricamente, haciendo que el transistor se encienda, almacenando de esta forma un 0 lógico. Este dato queda almacenado de forma permanente, sin necesidad de mantener la tensión en la compuerta ya que la carga eléctrica en la compuerta puede permanecer por un período aproximado de 10 años.
Por otra parte el borrado de la memoria se realiza mediante la exposición del dispositivo a rayos ultravioleta durante un tiempo aproximado de 10 a 30 minutos. Este tiempo depende del tipo de fabricante y para realizar el borrado, el circuito integrado dispone de una ventana de cuarzo transparente, la cual permite a los rayos ultravioleta llegar hasta el material fotoconductivo presente en las compuertas aisladas y de esta forma lograr que la carga se disipe a través de este material apagando el transistor, en cuyo caso todas las celdas de memoria quedan en 1 lógico. Generalmente esta ventana de cuarzo se ubica sobre la superficie del encapsulado y se cubre con un adhesivo para evitar la entrada de luz ambiente que pueda borrar la información, debido a su componente UV. En la figura 10.3.6 se observa la fotografía de una memoria de este tipo.
Memoria EEPROM: La memoria EEPROM es programable y borrable eléctricamente y su nombre proviene de la sigla en inglés Electrical Erasable Programmable Read Only Memory. Actualmente estas memorias se construyen con transistores de tecnología MOS (Metal Oxide Silice) y MNOS (Metal Nitride-Oxide Silicon).
Page 173
Las celdas de memoria en las EEPROM son similares a las celdas EPROM y la diferencia básica se encuentra en la capa aislante alrededor de cada compuesta flotante, la cual es más delgada y no es fotosensible.
La programación de estas memorias es similar a la programación de la EPROM, la cual se realiza por aplicación de una tensión de 21 Voltios a la compuerta aislada MOSFET de cada transistor, dejando de esta forma una carga eléctrica, que es suficiente para encender los transistores y almacenar la información. Por otro lado, el borrado de la memoria se efectúa aplicando tensiones negativas sobre las compuertas para liberar la carga eléctrica almacenada en ellas.
Esta memoria tiene algunas ventajas con respecto a la Memoria EPROM, de las cuales se pueden enumerar las siguientes:
• Las palabras almacenadas en memoria se pueden borrar de forma individual.
• Para borra la información no se requiere luz ultravioleta.
• Las memorias EEPROM no requieren programador.
• Para reescribir no se necesita se necesita hacer un borrado previo.
• Se pueden reescribir aproximadamente unas 1000 veces sin que se observen problemas para almacenar la información.
El tiempo de almacenamiento de la información es similar al de las EPROM, es decir aproximadamente 10 años.
Memoria FLASH: La memoria FLASH es similar a la EEPROM, es decir que se puede programar y borrar eléctricamente. Sin embargo esta reúne algunas de las propiedades de las memorias anteriormente vistas, y se caracteriza por tener alta capacidad para almacenar información y es de fabricación sencilla, lo que permite fabricar modelos de capacidad equivalente a las EPROM a menor costo que las EEPROM.
Las celdas de memoria se encuentran constituidas por un transistor MOS de puerta apilada, el cual se forma con una puerta de control y una puerta aislada, tal como se indica en la figura 192. La compuerta aislada almacena carga eléctrica cuando se aplica una tensión lo suficientemente alta en la puerta de control. De la misma manera que la memoria EPROM, cuando hay carga eléctrica en la compuerta aislada, se almacena un 0, de lo contrario se almacena un 1.
Page 174
Las operaciones básicas de una memoria Flash son la programación, la lectura y borrado.
Como ya se mencionó, la programación se efectúa con la aplicación de una tensión (generalmente de 12V o 12.75 V) a cada una de las compuertas de control, correspondiente a las celdas en las que se desean almacenar 0’s. Para almacenar 1’s no es necesario aplicar tensión a las compuertas debido a que el estado por defecto de las celdas de memoria es 1.
La lectura se efectúa aplicando una tensión positiva a la compuerta de control de la celda de memoria, en cuyo caso el estado lógico almacenado se deduce con base en el cambio de estado del transistor:
• Si hay un 1 almacenado, la tensión aplicada será lo suficiente para encender el transistor y hacer circular corriente del drenador hacia la fuente.
• Si hay un 0 almacenado, la tensión aplicada no encenderá el transistor debido a que la carga eléctrica almacenada en la compuerta aislada.
Para determinar si el dato almacenado en la celda es un 1 ó un 0, se detecta la corriente circulando por el transistor en el momento que se aplica la tensión en la compuerta de control.
El borrado consiste en la liberación de las cargas eléctricas almacenadas en las compuertas aisladas de los transistores. Este proceso consiste en la aplicación de una tensión lo suficientemente negativa que desplaza las cargas como se indica en la figura 193.
Figura 193. Proceso de descarga de una celda de memoria FLASH
7.7. Aplicaciones de las Memorias: En la actualidad muchos de los sistemas electrónicos necesitan dispositivos para almacenar y/o leer información. Como ejemplo de este tipo de sistemas podemos mencionar los teléfonos electrónicos, televisores, equipos de sonido y los computadores entre otros.
Esta lección se centrará en mencionar algunas aplicaciones particulares de las memorias que pueden ser de interés para desarrollar proyectos.
Memoria RAM: La memoria RAM es uno de los componentes más importantes en un computador. Cuando se requiere emplear un archivo de datos o programa, los datos o instrucciones son leídos desde el disco duro o disquete y colocados en una memoria
Page 175
RAM, para que sean leídos por el microprocesador, permitiéndole manipularlos, ingresar nuevos datos, modificar los existentes, hacer cálculos, búsquedas, resúmenes, etc.
El uso más difundido de estos dispositivos indiscutiblemente se encuentra en los computadores:
• Se utilizan en sistemas microprocesados, y en los microcontroladores, en sistemas pequeños es de lectura/escritura.
• En los computadores se utiliza como memoria de Cache y memoria de vídeo.
Las memorias para computadores generalmente no se consiguen en chips, sino en módulos de memoria empaquetados en dos formatos básicos: SIMM y DIMM que contienen 8, 16, 32, 64 o 128 MB cada uno. Estos módulos se introducen en ranuras o slots en la tarjeta madre de los computadores y en la figura 194 se muestra su presentación de 32 y 72 pines.
Memoria ROM:
Programas y Datos
La aplicación más difundida en este tipo de memoria ha sido el almacenamiento de códigos de programas para el momento del arranque de dispositivos que utilizan microprocesadores, como es el caso de los computadores.
Los Computadores vienen con una memoria ROM, donde se encuentran alojados los programas del BIOS (Basic Input Output System), el cual contiene las instrucciones y datos necesarios para activar y hacer funcionar el computador y sus periféricos. Debido a que en esta memoria la información está disponible en cualquier momento, los programas en una ROM son a menudo los cimientos sobre los que se construye el resto de los programas (incluyendo el DOS).
La ventaja de tener los programas fundamentales del computador almacenados en una ROM, es que están allí disponibles y no hay necesidad de cargarlos en la memoria desde el disco de la misma forma que se carga el DOS. Comúnmente estos programas son llamados Firmware, lo que indica que se encuentran firmemente almacenados en el Hardware y que no cambian.
Funciones matemáticas y Generadores de Señales
Otra aplicación de estas memorias consiste en el almacenamiento de tablas de datos que permiten generar funciones matemáticas. Por ejemplo existen memorias que
Page 176
almacenan funciones trigonométricas y hallan el resultado con base en el valor binario introducido en el bus de direcciones. En la figura 195, se observa como se puede implementar un generador de una señal seno, a partir de la información almacenada en una memoria ROM.
Ejemplos de Memorias Comerciales
Las memorias son circuitos integrados cuyos pines se hayan en ambos lados de la cápsula, formando dos líneas o hileras de pines (DIP) y generalmente se fabrican con capacidades de orden de Kilobytes o Megabytes múltiplos de 8, por ejemplo 8k, 16k, 32k, 64k, 128k, o 8M, 16M, 32M, etc.
En la figura 196 se observa un esquema descriptivo de los pines que generalmente se encuentran en una memoria. A continuación se da una explicación de cada uno de estos pines:
• A 0 ...A n (Bus de direcciones): Estos pines son las entradas para seleccionar la posición de memoria a escribir o leer y su cantidad define la capacidad de palabras que puede almacenar, dada por la expresión 2 n , donde n es el número de pines.
Page 177
• D 0 ...D i (Bus de Datos): Corresponde a los pines de entrada y salida de datos. En el mercado se consiguen generalmente buses de 1, 4, 8 y 16 bits y lo más usual es encontrar chips tengan 8 entradas de datos.
• CS (Chip Select): Este pin se utiliza para seleccionar el chip de memoria que se desea acceder. Esto en el caso del usar dos o más memorias similares.
• OE (Output Enable): Utilizado para habilitar la salida de datos. Cuando se encuentra en estado activo las salidas tiene alta impedancia o actúan como entradas.
• R/W’ (Read/Write’): Entrada utilizada en las memorias RAM para seleccionar la operación de lectura o escritura
• V CC y GND (Alimentación): Corresponden a los pines de alimentación del circuito integrado. Algunas tienen disponible tres pines para este propósito, pero por lo general son dos y el valor de la tensión de alimentación depende de la tecnología de fabricación del circuito.
En las siguientes secciones se indicaran algunos ejemplos de circuitos integrados de uso general disponibles en el mercado, dando un ejemplo de cada uno de los tipos de memorias vistas.
MEMORIA SRAM - MCM6264C: Esta memoria fabricada por Motorola y desarrollada con tecnología CMOS tiene una capacidad de 8K x 8. Los tiempos de lectura y escritura del integrado son de aproximadamente 12 ns y tiene un consumo de potencia aproximado de 100 mW. En la Figura 197 se observa la disposición de los pines del circuito integrado de esta memoria y sus las características técnicas básicas.
Page 178
MEMORIA DRAM - 4116: El CI 4116 es una memoria DRAM de 16K x 1. La estructura interna de este integrado se encuentra constituida por un arreglo de 128 filas y 128 columnas donde cada uno de los bits se ubica con una dirección de 14 bits. En la figura 198 se muestra la disposición de los pines del circuito integrado. Observe que la entrada de direcciones es de 7 bits (A0...A6). La razón de poseer 7 pines y no 14, se debe a que estos tienen función doble, por ejemplo la entrada A0 se utiliza para establecer los valores de los bits A0/A7 de la dirección de memoria que se quiere acceder.
Para ingresar una dirección de memoria en este integrado se utilizan las señales de entrada RAS’ y CAS’, las cuales deben estar inicialmente en "1" para recibir los 7 bits menos significativos de la dirección (A6...A0). Después de ello la entrada RAS’ debe cambiar a "0" con lo cual los 7 bits se cargan en el registro de direcciones de memoria y el dispositivo queda disponible para recibir los 7 bits mas significativos (A7...A14) de la dirección. Una vez se aplican estos bits, la entrada CAS’ debe cambiar a "0", cargándolos de esta forma en el registro de direcciones en su respectiva posición y permitiendo finalmente acceder a la posición de memoria para efectuar la operación de lectura o escritura.
MEMORIAS PROM - 74S473: Esta memoria tiene una capacidad de 512 palabras de 8 bits y la descripción de sus pines se muestra en la figura 199
Page 179
MEMORIA EPROM - 27C16B: Esta memoria de 24 pines tiene una capacidad de 2048 palabras de 8 bits, es decir 2KB. Las salidas de esta memoria son triestado, lo que permite escribir o leer los datos con el mismo bus de datos.
Esta memoria tiene dos pines no indicados inicialmente:
• VPP: Es utilizado durante la programación.
• CE’/P (Chip Enable’/Program): Utilizado para seleccionar el chip (en caso de emplearse en forma conjunta con otros) y para programar la posición de memoria seleccionada en el bus de direcciones.
Durante la programación de la memoria, la entrada OE’ se debe encontrar en 1. En la entrada debe estar presente una tensión de 5V, así como en los datos y la dirección de memoria. Después de ello, se aplica pulso de tensión durante 30 ms aproximadamente, para almacenar los datos.
Como se vió anteriormente, el borrado de este tipo de memoria se efectúa mediante la exposición del integrado a luz ultravioleta. Una lámpara UV de 12mW, puede ser utilizada para efectuar este proceso, el cual tarda entre 20 y 25 minutos.
MEMORIA EEPROM - 28C64A: Esta memoria tiene una capacidad de 8K X 8 y tiene características diferentes a las demás. La información almacenada puede perdurar aproximadamente 100 años y puede soportar hasta 100.000 ciclos de grabado y borrado.
Page 180
En la figura 201 se indica la disposición de los pines de esta memoria la cual se encuentra disponible en dos tipos de encapsulados (DIL y PLCC).
MEMORIA FLASH - 27F256: La capacidad de esta memoria es de 32K X 8 y como memoria Flash tiene la característica particular de ser borrada en un tiempo muy corto (1 seg.). El tiempo de programación por byte es de 100 ms y el tiempo de retención de la información es de aproximadamente 10 años.
En la figura 202 se indica la disposición de los pines de esta memoria con sus características técnicas básicas.
Page 181
7.8. Lógica programable temprana
Page 182
Page 183
Page 184
Page 185
Page 186
Page 187
Selección múltiple Única Respuesta
1. El equivalente binario del numero decimal 27 es a. 11011 b. 10111 c. 11001 d. 11101
2. El Equivalente binario del numero hexadecimal E7 es: a. 11100111 b. 01111110 c. 01111111 d. 11110111
3. El Equivalente Octal del numero Binario 111000001 es: a. 701 b. 103 c. 031 d. 013
4. La clasificación de los circuitos Integrados en: LSI, MSI, VLSI corresponde a: a. Cantidad de pines que posee cada circuito integrado b. Serie de Velocidad de cada circuito integrado dado por el fabricante c. Serie de consumo de potencia da cada circuito integrado dado por el fabricante d. Cantidad de transistores o compuertas que posee cada circuito integrado
5. Según el Teorema de D’Morgan (X+Y)’ es equivalente a: a. (XY)’ b. X’Y’ c. X’+Y’ d. X’+Y
6. La expresión algebraica implementada por circuito de la figura es:
a. (AB)’+BC
b. (A+B)’+(B+C) c. AB+(BC)’ d. (A+B)(B+C)’
7. La expresión algebraica simplificada por Minterminos empleando Mapas de Karnaugh de la figura es:
Page 188
a. A’(B’+C’) b. A+BC c. A(B+C) d. A’+(BC)’
8. La expresión algebraica simplificada por Maxterminos empleando Mapas de Karnaugh de la figura es:
a. C
b. C’ c. B+C d. B’+C’
A partir de la siguiente tabla de verdad Responder las preguntas 9 y 10.
9. Dado el siguiente circuito Función simplificada empleando multiplexor que corresponde a la Tabla de verdad es:
Page 189
Page 190
Page 191
Page 192
ANEXO 2 Respuestas Evaluación Diseño Electrónico Digital
Page 193
Permitir que el estudiante pueda digitalizar señales físicas utilizando los componentes adecuados de Electrónica Digital.
El proyecto consiste en que el estudiante deberá adquirir una señal análoga (temperatura) por medio de un conversor Análogo Digital ADC0804, visualizar su digitalización a través de diodos Led e implementar un circuito que determinará el estado actual de la temperatura y dos (2) estados de alarma así:
1) Alarma A: Se activará cuando la temperatura este por debajo de los 12 grados Centígrados
2) Alarma B: Se activará cuando la temperatura supere los 38 grados Centígrados.
Preguntas:
¿Cuál es la resolución del conversor análogo digital? ¿Cuántas muestras por segundo puede tomar el ADC0804?
¿Qué modificaciones realizaría en el circuito para poder adquirir más de una señal? ¿Cuáles son las limitantes del sensor de temperatura? ¿Qué puede decir de la linealidad del sensor?
Elaborar informe que contenga: diagrama del circuito, respuestas a las preguntas anteriores, conclusiones y posibles aplicaciones para dicho montaje.
-
-
-
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X. -
-
¡Carge sus propios textos! Gane dinero y un iPhone X.