Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
DIVISIÓN DE INGENIERÍA MECATRÓNICA ACADEMIA DE INGENIERÍA MECATRÓNICA ANTOLOGÍA Electrónica Digital Lic. Edgar Hernández García 14 de Junio de 2016 PROPÓSITO DEL CURSO La Electrónica Digital tiene una relevancia fundamental en la formación de un Ingeniero Mecatrónico ya que le permite conocer, diseña y aplicar los circuitos digitales para el control de los diferentes sistemas digitales. La asignatura reúne los fundamentos matemáticos, leyes y principios de la electrónica digital. De este modo el curso se compone de siete unidades en las que se abordan las características específicas del funcionamiento de los sistemas digitales: En la primera unidad se presenta una breve introducción a la electrónica digital. La segunda unidad contiene los tópicos relacionados con la codificación y los sistemas numéricos, involucrando en estos temas las operaciones básicas en el sistema binario y las diversas conversiones entre los distintos sistemas. La unidad 3 revisa los fundamentos del álgebra de Boole y sus distintos axiomas y teoremas. Hacia el final de la unidad se introduce el concepto de la compuerta lógica. En la unidad 4 se estudian las diferentes compuertas lógicas existentes en los circuitos digitales, así como sus encapsulados y familias lógicas. La unidad 5 provee de los fundamentos de los circuitos combinacionales, que además servirán de base para la comprensión y construcción de circuitos electrónicos prácticos, tal como pueden ser los dispositivos sumadores, decodificadores y multiplexores, por mencionar algunos. Los fundamentos del diseño secuencial son presentados en la unidad 6, lo cual es el sustento para la construcción de circuitos con memoria. Por último, en la unidad 7, se hace un estudio básico de los conversores analógico-digital y digital-analógico. Ésta asignatura requiere que el estudiante posea los conocimientos que se aportaron en las asignaturas de Programación Básica, Análisis de Circuitos Eléctricos. Es deseable que el estudiante posea alguna habilidad en la medición de corriente y voltaje, y que al menos se desarrolle en forma paralela algún curso de Electrónica Analógica Elemental. A su vez, ésta materia sirve de sustento a asignaturas posteriores, tales como: Circuitos Hidráulicos y Neumáticos, Microcontroladores, Controladores Lógico Programables. Contenido 1. Fundamentos de sistemas digitales ................................................................................. 6 1.1. Señal digital y señal analógica ................................................................................. 6 1.2. Sistemas digitales y sistemas analógicos ................................................................. 6 1.3. Relación entre los sistemas analógicos y digitales .................................................. 8 2. Código y Sistemas Numéricos ...................................................................................... 10 2.1. Sistemas Numéricos ............................................................................................... 10 2.1.1. Sistema numérico decimal .............................................................................. 10 2.1.2. Sistema numérico binario ............................................................................... 11 2.1.3. Sistema numérico octal ................................................................................... 12 2.1.4. Sistema numérico hexadecimal ...................................................................... 12 2.1.5. Conversión entre sistemas numéricos ............................................................ 12 2.2. Operaciones básicas ............................................................................................... 14 2.2.1. Complemento ................................................................................................. 14 2.2.2. Suma ............................................................................................................... 15 2.2.3. Resta ............................................................................................................... 15 2.2.4. Multiplicación ................................................................................................. 17 2.2.5. División .......................................................................................................... 17 2.2.6. Representación de números binarios con signo .............................................. 18 2.3. Códigos binarios y alfanuméricos .......................................................................... 19 2.3.1. Código BCD ................................................................................................... 19 2.3.2. Código Reflejado o Gray ................................................................................ 20 2.3.3. Código ASCII ................................................................................................. 20 2.3.4. Código UNICODE ............................................................................................. 21 3. Álgebra de Boole .......................................................................................................... 23 3.1. Postulados y teoremas fundamentales ................................................................... 23 3.1.1. Funciones booleanas ....................................................................................... 27 3.1.2. Función simple y función compuesta ............................................................. 28 3.2. Simplificación de funciones boolenas ................................................................... 28 3.2.1. Minitérminos y maxitérminos ........................................................................ 29 3.2.2. Mapas de Karnaugh ........................................................................................ 30 3.2.3. Método de Quine-McClausky ........................................................................ 32 4. Compuertas Lógicas ..................................................................................................... 35 4.1. Niveles lógicos y compuertas lógicas .................................................................... 35 4.1.1. Compuerta NOT ............................................................................................. 36 4.1.2. Compuerta AND ............................................................................................. 36 4.1.3. Compuerta OR ................................................................................................ 36 4.1.4. Compuerta NAND .......................................................................................... 37 4.1.5. Compuerta NOR ............................................................................................. 37 4.1.6. Compuerta XOR ............................................................................................. 37 4.1.7. Compuerta XNOR .......................................................................................... 38 4.2. Familias Lógicas .................................................................................................... 38 4.2.1. Lógica Transistor-Transistor (TTL) ............................................................... 41 4.2.2. Familia Lógica MOS ...................................................................................... 53 4.2.3. Compatibilidad TTL-CMOS .......................................................................... 58 5. Circuitos Combinacionales ........................................................................................... 60 5.1. Introducción. .......................................................................................................... 60 5.2. Procedimiento de análisis ......................................................................................61 5.2.1. Obtención de Funciones Booleanas ................................................................ 61 5.2.2. Obtención de la Tabla de Verdad ................................................................... 62 5.3. Procedimiento de diseño ........................................................................................ 63 5.3.1. Circuitos de salida múltiple ............................................................................ 65 5.4. Circuitos aritméticos .............................................................................................. 69 5.4.1. Semisumador y sumador completo................................................................. 69 5.4.2. Sumador paralelo de n bits ............................................................................. 70 5.4.3. Semirestador y restador completo .................................................................. 71 5.5. Circuitos decodificadores y codificadores ............................................................. 72 5.6. Multiplexores y Demultiplexores .......................................................................... 75 6. Circuitos Secuenciales .................................................................................................. 78 6.1. Multivibradores ...................................................................................................... 78 6.2. Temporizadores ..................................................................................................... 80 6.2.1. CI 555 configuración astable .......................................................................... 80 6.2.2. CI 555 configuración monoestable ................................................................. 81 6.3. El Multivibrador biestable ..................................................................................... 83 6.3.1. El Latch SR ..................................................................................................... 84 6.3.2. Latch SR temporizado .................................................................................... 87 6.3.3. El Flip Flop ..................................................................................................... 89 6.4. Circuitos secuenciales ............................................................................................ 92 6.4.1. Tablas descriptivas y diagramas de estado ..................................................... 94 6.4.2. Ecuaciones de estado ...................................................................................... 96 6.5. Fundamentos de Diseño de Circuitos Secuenciales ............................................... 96 6.5.1. Contadores .................................................................................................... 101 6.5.2. Registros ....................................................................................................... 104 6.5.3. Memorias ...................................................................................................... 106 7. Convertidores ............................................................................................................. 109 7.1. Funcionamiento del ADC .................................................................................... 109 7.1.1. El conversor paralelo .................................................................................... 109 7.1.2. Conversor de rampa simple .......................................................................... 110 7.1.3. Conversor de doble rampa ............................................................................ 110 7.1.4. El conversor de aproximaciones sucesivas ................................................... 112 7.2. Funcionamiento del DAC .................................................................................... 113 7.2.1. Convertidor D/A de resistencias ponderadas................................................ 114 7.2.2. Convertidor D/A por modulación de ancho de impulso ............................... 115 Bibliografía ......................................................................................................................... 117 6 1. Fundamentos de sistemas digitales En ésta unidad el estudiante: Conoce la diferencia entre la electrónica analógica y la electrónica digital, sabiendo cuáles son sus ventajas y desventajas. 1.1. Señal digital y señal analógica Antes de poder hablar de sistemas, primero debemos conocer el concepto de señal, que, en el área de la Física Aplicada, es la variación de una magnitud medido por supuesta con algún parámetro, por ejemplo: corriente, voltaje, luz, calor. De entre las clasificaciones de señales que se podrían hacer, tenemos dos de particular relevancia en nuestro estudio: Señal Analógica: Señal generada por algún fenómeno electromagnético y que se puede representar mediante una función matemática continua y dependiente del tiempo, con amplitud y periodo variable. Señal Digital: Señal generada por algún fenómeno electromagnético y en la que cada segmento codifica valores que representan magnitudes discretas. Figura 1.1. Señales 1.2. Sistemas digitales y sistemas analógicos Cuando se considera que una señal además de representar una magnitud física, implica el traslado de información útil (es decir, que sea factible interpretarse), entonces hablamos de un sistema. Así entonces, un sistema analógico emplea señales analógicas en el traslado de la información, mientras que los sistemas digitales emplean señales analógicas en el traslado de la información. Sistema analógico Sistema digital Figura 1.2. Ejemplos de Sistemas 7 A los efectos de diferenciar entre un sistema digital de un sistema analógico supongamos el sistema de la figura 1.3, donde un sistema electrónico indica el nivel de agua dentro de un tanque, en este caso el nivel de agua está determinado por el potenciómetro (R), este valor varia en forma continua a medida que el flotante sube o baja acompañando el nivel del agua y hace mover el cursor del potenciómetro, el Medidor muestra en una escala continua el nivel del agua en el tanque, constituyendo esto un sistema analógico. Figura 1.3. Sistema analógico para indicar el nivel del agua Si el indicador de nivel lo construyésemos según el esquema de la figura 1.4, la información del nivel de agua en el tanque no varía en forma continua sino que asume valores discretos, encendiéndose un determinado led según el nivel de agua en el tanque, constituyendo esto un sistema digital. Figura 1.4. Sistema digital para indicar el nivel de agua Como se puede apreciar el sistema digital no representa todos los valores posibles que puede tomar el nivel del agua en el tanque pero puede diseñarse un sistema tan preciso que represente todos los niveles o valores que el usuario del sistema desee conocer. Uno de los principales problemas de los sistemas analógicos es el ruido eléctrico, que se pueden entender como perturbaciones que modifican el valor de la señal. En las señales 8 digitales, el ruido solo afecta al sistema si se supera el margen de tensión entre un nivel y otro (figura 1.5) Figura 1.5. El ruido en las señales. 1.3. Relación entre los sistemas analógicos y digitales Los sistemas electrónicos procesan la información que les llega a sus entradas. En general, la información que llega a estas entradas proviene de magnitudes físicas del mundo real en el que vivimos. Estas magnitudes son temperatura, presión, longitud, velocidad, tensión, intensidad, etc. que tienen un carácter continuo o analógico. La utilización de alguna de estas magnitudes dependerá de la aplicación específica para la que esté diseñando mi sistema electrónico. Figura 1.6. Un sistema analógico transfiere información a un sistema digital. 9 Es evidente quelos sistemas digitales tienen infinitas aplicaciones y se pueden encontrar, por ejemplo, en el diseño de computadores, instrumentación, control de procesos industriales, control de semáforos, electrónica de automóviles (ABS, encendido electrónico, etc.), simuladores para pilotos de aviones, aplicaciones en medicina, electrónica de consumo (sonido y vídeo digital, TV, PC, telefonía móvil digital, etc.). 10 2. Código y Sistemas Numéricos En ésta unidad el estudiante: Conoce y entiende los sistemas binarios, octal y hexadecimal; las conversiones entre ellos y realiza operaciones básicas en los diferentes sistemas. Conocer diferentes códigos para representar información en los sistemas digitales. 2.1. Sistemas Numéricos Los sistemas de numeración son conjuntos de dígitos usados para representar cantidades. La cantidad de símbolos que utiliza el sistema para representar dichas cantidades define lo que se denomina base. Así se tenemos los sistemas de numeración decimal, binario, octal, hexadecimal, cuyas bases son: diez, dos, ocho, dieciséis, respectivamente. Una cantidad (magnitud) se representa por una cadena de elementos, y cada elemento de la cadena tiene un valor asociado a la posición que ocupa dentro de la cadena, estos sistemas de numeración se llaman también sistemas de numeración posicionales. Así, la cantidad 33 está representada por una cadena de dos elementos, el tres. En ésta cadena el valor del ‘3’ de la derecha no es igual al valor del elemento ‘3’ de la izquierda: = ∙ + ∙ 2.1.1. Sistema numérico decimal El sistema de numeración decimal es el más usado, tiene como base el número 10, o sea que posee 10 dígitos (o símbolos) diferentes para representar cualquier cantidad numérica: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. La posición de cada dígito en un número decimal indica la magnitud de la cantidad representada y se le puede asignar un ‘peso’. Los ‘pesos’ para los números enteros son potencias de 10, que aumentan de derecha a izquierda comenzando por = . Por ejemplo, el número decimal 72410 puede ser representado como: = ∙ + ∙ + ∙ Para los decimales los pesos son potencias de 10 que aumentan negativamente hablando de derecha a izquierda comenzando por – . = ∙ + ∙ − + ∙ − Todo número entero N representado en cualquier base, puede descomponerse de modo único en la forma: = + − − + … + + + − − + − − + … donde: es la base del número representado en decimal. , dígito i-ésimo del número, � = , , , . . . . , . − : es la cantidad de dígitos enteros que tiene el número. Ahora nos podríamos preguntar por qué tenemos como sistema de numeración usual al sistema decimal, por qué es el más usado por todo tipo de gente, a qué se debe que en todo 11 el mundo sea el sistema utilizado por las personas (las máquinas no usan el sistema decimal, sino el binario). La razón es que porque tenemos 10 dedos. Intuitivamente, utilizábamos nuestra elemental calculadora: las manos, para contar, realizar sumas y restas sencillas, etc. 2.1.2. Sistema numérico binario El sistema numérico binario es un sistema posicional de base 2, es decir que posee dos símbolos para representar cualquier cantidad numérica: 0 , 1. El equivalente decimal de un número binario se puede obtener a partir del polinomio antes mencionado, de tal forma que = ∙ + ∙ + ∙ + ∙ + ∙ = Ejercicio 2.1: Convertir a decimal el número = ∙ + ∙ + ∙ + ∙ + ∙ + ∙ + ∙ + ∙ = Ejercicio 2.2: Convertir a decimal el número . . = ∙ + ∙ + ∙ − + ∙ − + ∙ − = . Los dígitos de un número binario se llaman bits. Bit es el acrónimo de Binary digit (dígito binario). La razón de ser del sistema binario, es que la información que se manipula dentro de un sistema digital se hace de acuerdo a señales eléctricas. Mediante una señal eléctrica alta, se representa el valor ‘1’ y mediante una señal eléctrica baja se representa el ‘0’. Existen diferentes formas de codificar la información en el sistema binario, la más usual es la codificación en binario natural, en esta forma de representación cada número es representado por un código de bits, En la tabla 1.1 se presentan los 16 primeros números en los sistemas numéricos más usados, entre ellos el binario natural Tabla 2.1. Primeros 16 números en distintos sistemas Decimal Binario Octal Hexadecimal 0 0000 00 0 1 0001 01 1 2 0010 02 2 3 0011 03 3 4 0100 04 4 5 0101 05 5 6 0110 06 6 7 0111 07 7 8 1000 10 8 9 1001 11 9 10 1010 12 A 11 1011 13 B 12 1100 14 C 13 1101 15 D 14 1110 16 E 15 1111 17 F 12 2.1.3. Sistema numérico octal El Sistema Numérico Octal consta de 8 símbolos para representar cualquier cantidad numérica: , , , , , , , Tal como puede apreciarse en el tabla 1.1, éste sistema permite abreviar los 3 dígitos binarios usados en la representación de los números del 0 al 7. Como se verá más adelante, éste hecho facilita la conversión de números entre ambos sistemas. Para saber qué número decimal corresponde a una cantidad en el sistema octal se usan las mismas reglas de los sistemas numéricos posicionales: . = ∙ + ∙ + ∙ + ∙ − = . 2.1.4. Sistema numérico hexadecimal El Sistema Numérico Hexadecimal consta de 16 símbolos para representar cualquier cantidad numérica. , , , , , , , , , , , , , , , . Donde equivale a 10 en base 10, equivale a 11 en base 10, equivale a 12 en base 10, equivale a 13 en base 10, equivale a 14 en base 10, equivale a 15 en base 10. En este caso el sistema hexadecimal permite abreviar 4 dígitos del sistema binario. De este modo: . = ∙ + ∙ + ∙ + ∙ − = . 2.1.5. Conversión entre sistemas numéricos Como ya se dijo, podemos pasar de una representación de una magnitud en un sistema numero b a un sistema de numeración de base 10 por aplicación del polinomio N = An bn + An-1 bn-1 + … + A1 b1 + A0 b0 + A-1 b-1 + A-2 b-2 + … Ejercicio 2.3. Convertir el número 111012 a base 10. = 1.20 + 0.21 + 1.22 + 1.23 + 1.24 = 1 + 4 + 8 + 16 = 2910 Ejercicio 2.4. Convertir el número binario _ a base 10 = 1.26 +1.25 + 1.24 + 1.23 + 1.22 + 0.21 + 0.20 = 64 + 32 + 16 + 8 + 4 = 12410 Para cambiar de la base 10 a cualquier otra base: 13 Parte entera: Se divide por la base sucesivamente, tomando los restos en orden inverso. Parte decimal: Multiplicar el número por la base y tomar la parte entera, con el resto se repite el proceso hasta obtener la cantidad de decimales deseados. Ejercicio 2.5. Convertir el número en su equivalente en binario. El número obtenido es (0 1 1 1 0 1) 2 = 29 10 Notar que el número resultante se toma desde el último resto hacia arriba, escribiéndose en ese orden de derecha a izquierda. Ejercicio 2.6. Convertir el número decimal 4573 al sistema hexadecimal El número obtenido es (4 5 7 3) 10 = 11DD16 Ejercicio 2.7. Convertir el número decimal 1036 al sistema octal El número obtenido es (1 0 3 6) 10 = 20148 Ejercicio 2.8. Convertir el número decimal 133.45 al sistema octal. El número obtenido es . ≅ . Notar que la conversión de decimal a la base deseada no necesariamente es exacta. Esto explica el épsilon de los sistemas informáticos. La conversión entre los sistemas de base 2, 8 y 16 es casi directa, debido a que los dos últimos son múltiplos del primero. De este modo: Paso de la base 2 a la base ^ : se agrupan los bits de n en n, de derecha a izquierda Paso de la base a la base 2: se expande cada digito por los n bits correspondientes 14 Ejercicio 2.9. Convertir el número binario 011100000001.11000100: (a) a octal; (b) a hexadecimal. (a) Octal: . = . (b) Hexadecimal: 0111 0000 0001 . 1100 0100 = (7 0 1 . C 4)16 2.2. Operaciones básicas Las operaciones aritméticas con números de base b ≠ 10 siguen las mismas reglas que los números decimales. Sólo debe tenerse especial cuidado en emplear solo dígitosadmisibles para la base que se trabaja. 2.2.1. Complemento El complemento es una operación muy importante en el entendimiento de la electrónica digital que tiene su sustento en la Teoría de Conjuntos: dado un conjunto universo U de elementos, y un conjunto A formado por algunos de los elementos de U, el complemento de A es el conjunto formado por todos los elementos del universo que no pertenecen al conjunto A, y se denota por ′ o . Figura 2.1. Complemento de un conjunto En el caso de los sistemas numéricos tenemos dos tipos de complementos: Complemento a la base menos uno o complemento radical disminuido, dado un numero en base de dígitos, el complemento radical disminuido se define como: − − Ejercicio 2.10. El complemento radical disminuido o complemento a 9 de será: 876101238999999123891105 Ejercicio 2.11. El complemento radical disminuido o complemento a 1 del número = es: − − = − = Complemento a la base o complemento radical, definido por la operación – , que equivale a sumar al complemento radical disminuido de un número: − = − − + Ejercicio 2.12. Obtener el complemento radical de . + = Ejercicio 2.13. Obtener el complemento a 2 de . + = 15 En los ejemplos anteriores se supuso que el número N era entero, si N tiene punto decimal este debe eliminarse en forma temporal para poder complementar, la coma se devuelve después en la misma posición relativa. 2.2.2. Suma Se sigue el algoritmo de siempre: dígito menos significativo se opera primero y el más significativo último, considerando los acarreos correspondientes cuando el número resultante tiene más de un dígito. Ejercicio 2.14. Realizar la operación + =? En el caso binario resulta útil construir una tabla para la suma de un dígito. a b a+b Acarreo 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Ejercicio 2.15. Resolver + =? Como (F + C)16 es (15 + 12)10 = 2710 = 1B16 Como (1+A+3)16 es (1+10+3)10 = 1410 = E16 2.2.3. Resta El algoritmo de la resta es el mismo del sistema decimal, incluyendo aquella idea intuitiva del ‘préstamo’. Ejercicio 2.16. Realizar la operación − De nuevo, resulta útil construir una tabla para la resta de un dígito. a b a-b Acarreo 0 0 0 0 0 1 1 1 1 0 1 0 1 1 0 0 Desafortunadamente ésta forma de restar tiene dos inconvenientes: primero, en cifras de varios dígitos y estando en un sistema numérico distinto del decimal tendemos a cometer errores debido al hecho de tener que pedir préstamos y determinar el guarismo correspondiente; en segundo término, cuando se implementa en un circuito electrónico requiere de su propio arreglo, lo cual es poco práctico. 16 Si los números a restar se consideran sin signo (ambos positivos) se puede utilizar la regla del complemento radical disminuido o la regla del complemento radical. Resta con complemento radical: La resta de dos números sin signo (M–N) puede realizarse de la siguiente forma: Sumar a M el complemento a la base de N. Si M ≥ N la suma producirá acarreo final que se desecha, lo que queda es el valor de M – N. Si M < N la suma no producirá acarreo final y es igual a − – , que es el complemento a la base b de N – M. Para obtener la respuesta calcúlese el complemento a b de la suma y coloque el signo negativo adelante. Resta con complemento radical disminuido: La resta de dos números sin signo – puede realizarse de la siguiente forma: I. Sumar a M el complemento a la base menos uno de N. II. Verificar el acarreo final de la suma: a. De ser igual a 1, se suma al dígito menos significativo de la primera suma, lo cual genera el número resultante, el cual es positivo. b. De ser igual a 0, tómese el complemento a la base menos uno de la suma y agréguese un signo menos, el resultado es un número negativo. Ejercicio 2.17. Use el complemento a la base disminuida para calcular − Ejercicio 2.18. Use el complemento a la base disminuido para calcular − Compruebe el resultado haciendo la resta en decimal Resta con complemento radical: La resta de dos números sin signo – puede realizarse de la siguiente forma: I. Sumar a M el complemento a la base de N. II. Verificar el acarreo: a. Si es 1, se deshecha y el resultado es el resto de los dígitos sumandos. b. Si es 0, entonces calcúlese el complemento a de la suma y coloque el signo negativo adelante. Ejercicio 2.19. Usando el complemento radical calcule – . 17 Notar que el acarreo se descarta Ejercicio 2.20. Usando el complemento radical calcule − . Ejercicio 2.21. Dados = y = obtenga − y − por complemento a 2. 2.2.4. Multiplicación Mismas reglas que en el algoritmo de base 10 Ejercicio 2.22. Multiplicar por . Considere la tabla de multiplicar binaria a b ∙ 0 0 0 0 1 1 1 0 1 1 1 0 2.2.5. División En este caso sólo revisamos la división binaria en el entendido de que finalmente es el medio fundamental en los sistemas digitales, sin embargo, y como se ha dicho, el algoritmo no varía del que conocemos desde la infancia. 18 Para el caso binario el proceso en este caso resulta más simple que el sistema decimal puesto que cuando se verifica cuantas veces el divisor “cabe en” el dividendo, solo hay dos posibilidades ‘0’ o ‘1’. Ejercicio 2.23. Realizar la división de entre 2.2.6. Representación de números binarios con signo Las magnitudes en los sistemas digitales se representan a través de una combinación de bits, en un sistema de 6 bits podríamos representar cantidades que van desde 0000002 a 1111112 (010 a 6310). Si queremos representar números negativos debemos valernos de algún medio de representación para el signo. Esto se lleva a cabo agregando un bit para representar el signo, de tal forma que por convención tal como ‘0’ equivales a signo ‘+’ y ‘1’ equivale a signo ‘-‘, es sistema entonces que en nuestro sistema de seis bits las magnitudes que podemos representar van desde –31 a +31. Por ejemplo: El bit de signo se usa para indicar si un número es positivo o negativo, el resto de los bits se usa para representar la magnitud en forma binaria. Para los números negativos, no obstante existen tres formas de representar la magnitud: Forma de magnitud verdadera. La magnitud se representa en binario natural Forma de complemento a 1. Cuando se representa un número negativo en éste formato, el bit de signo se conserva en ‘1’ y la magnitud se complementa a 1. Forma de complemento a 2. En este caso la magnitud se complementa a 2. Así por ejemplo: + = Un número positivo, el bit de signo es cero − = Número negativo en signo magnitud verdadera − = Número negativo en signo complemento a 1 − = Número negativo en signo complemento a 2 19 Las tres formas de representación se utilizan en los sistemas digitales, algunos almacenan la información en forma de magnitud verdadera y la transforman a forma de complemento antes de realizar una operación aritmética. Ejercicio 2.24. los siguientes números son números binarios en complemento a dos, determine el valor decimal: a) 011002; b) 110102; y, c) 100012. a) Como el signo es + la magnitud esta expresada en forma verdadera, entonces 011002 = +1210 b) Si complementamos la magnitud, C2 = (10102)’ = 01102, y dado que el signo se conserva tendremos que 101102 = -610. c) Si complementamos la magnitud C2 = (00012)’ = 11112 y como el signo se conserva tendremos que 111112 = -1510 2.3. Códigos binarios y alfanuméricos La codificación es en pocas palabras la abstracción simbólica de un objeto. En este caso los números son precisamente un sistema de codificación que nos permiten representar cantidades. Ahora conocemos el sistema numérico binario, que de hecho es llamado también sistema binario natural, porque la codificación sigue el ordenamiento de los números naturales, sin embargo, existen otros sistemas de códigos binarios cuya existencia es motivadapor las utilidades prácticas que pueden tener al desarrollar tecnología digital. 2.3.1. Código BCD El código BCD (Binary Code Decimal, decimal codificado en binario) utiliza 4 dígitos binarios para representar un dígito decimal (0 al 9), observar la tabla 2.1. Tabla 1.2. Código BCD Por ejemplo, la codificación en BCD del número decimal 59237 es: Decimal: 5 9 2 3 7 BCD: 0101 1001 0010 0011 0111 20 2.3.2. Código Reflejado o Gray Pertenece a una clase de códigos llamado de cambio mínimo en los cuales solo cambia un bit cuando se pasa de una combinación otra. También es llamado código cíclico, porque en un conjunto elegido de bits para formar el sistema, el primero y el último código también varían en un solo bit. Tabla 2.3. Código Gray Decimal Código Gray 0 0000 1 0001 2 0011 3 0010 4 0110 5 0111 6 0101 7 0100 Este código se utiliza generalmente en dispositivos de entrada y salida, y especialmente en aquellas situaciones donde se hace necesario efectuar controles sobre el sistema por su facilidad de auto detección de errores. 2.3.3. Código ASCII En general los sistemas digitales deben poder reconocer código que representen no solo números sino también letras y caracteres especiales. Estos códigos son llamados códigos alfanuméricos. Un conjunto completo de caracteres incluye: 26 letras minúsculas + 26 letras mayúsculas 10 cifras numéricas ~25 caracteres especiales 87 caracteres diferentes Para representar 87 caracteres diferentes se requerirán 7 bits ya que con 7 bits podemos representar 27 = 128 combinaciones posibles. El código alfanumérico más conocido es el código ASCII (Código Estándar Estadounidense para el Intercambio de Información) realizado sobre una longitud de 8 bits, ya que, en el momento de su creación, se incluyeron además comandos abreviados por carácter para su utilización desde la línea de comandos o consola del sistema operativo. 21 Tabla 2.4. Código ASCII 2.3.4. Código UNICODE El término Unicode alude a un sistema estándar de caracteres creado para permitir un fácil manejo de la informática, visualización y transmisión de escritos de diversos lenguajes y disciplinas técnicas, pero también incluye textos clásicos de lenguas ya muertas. En otras palabras y de una manera más específica el Unicode es un formato común de caracteres, que dentro del cual se encuentran cada uno de los caracteres de teclado de una computadora. De acuerdo a lo plasmado el término deriva de los tres objetivos perseguidos que son universalidad, unicidad y uniformidad. 22 Figura 2.2. Una vista a un fragmento del código UNICODE 23 3. Álgebra de Boole En ésta unidad el estudiante: Conoce y aplica los postulados y teoremas fundamentales del álgebra booleana. Representa las formas canónicas SOP y POS. Reduce funciones booleanas utilizando los teoremas del álgebra de Boole. Simplifica funciones booleanas mediante los métodos de mapas de Karnaugh y McClausky. 3.1. Postulados y teoremas fundamentales El Álgebra de Boole surgió como un intento de incrustar las técnicas algebraicas para tratar expresiones de la Lógica proposicional. Empecemos entonces comprendiendo los estados lógicos Verdadero y Falso representados numéricamente mediante el 1 y el 0. Vistos desde el punto de vista eléctrico podemos interpretar como los estados de encendido-apagado de un foco (figura 3.1). Cuando el circuito se cierra el foco se enciende y representa el estado lógico 1 o Verdadero; en caso contrario, si el circuito está abierto, entonces tenemos el estado lógico 0 o Falso. Figura 3.1. Representación eléctrica de los estados lógicos. En éste orden de ideas, definimos al Álgebra de Boole como el conjunto de elementos ‘b’ que puede asumir dos valores posibles (0 o 1) y que están relacionados por dos operaciones binarias suma (+) y producto (*) lógico, y que además cumple con conjunto de postulados. Figura 3.2. Operaciones lógicas fundamentales. 24 De la figura 3.2 podemos obtener las tablas para la suma y producto lógico. Tabla 3.1. Tablas de Operaciones Lógicas básicas. Suma Lógica Producto Lógico a b a+b 0 0 0 0 1 1 1 0 1 1 1 1 a b a∙b 0 0 0 0 1 0 1 0 0 1 1 1 Los postulados son los siguientes: Postulado No 1. Las operaciones fundamentales son conmutativas. a + b = b+ a a ∙ b = b ∙ a Postulado No 2. Existe el neutro aditivo, el ‘0’; y el neutro multiplicativo, el ‘1’. a + 0 = a a ∙ 1 = a Postulado No. 3. Cada operación es distributiva respecto de la otra a ∙ ( b + c ) = a ∙ b + a ∙ c a + ( b ∙ c ) = (a+b) ∙ (a+c) La primera ecuación distributiva es bien conocida en el álgebra ordinaria y su 25 interpretación no debería presentar ninguna dificultad. Este postulado indica que podemos factorizar una expresión, es decir que si tenemos una expresión de dos o más términos y estos términos tienen una (o más) variables en común, estas variables pueden expresarse como factor común. Ejemplos: a) + ̅ + ̅ = ∙ + ̅ + ̅ b) + ∙ + = + ∙ Postulado No. 4. Para cada elemento del álgebra de Boole existe un elemento ̅ tal que: + ̅ = ∙ ̅ = Los postulados cumplen además la Ley de Dualidad: cualquier expresión o identidad en el Álgebra de Boole tiene su expresión dual que se constituye por el complemento de las variables involucradas, el complemento de las constantes (0 por 1 y viceversa), y cambiando sumas por productos (y viceversa). Ejemplos: + = Tiene como expresión dual: ̅ ∙ = ̅ + ∙ = + ∙ + Tiene como expresión dual: ̅ ∙ (̅ + ̅) = ( ̅ ∙ ̅) + ̅ ∙ ̅ Con estos postulados se pueden comprobar los siguientes teoremas que complementan los fundamentos del Álgebra de Boole . Teorema 1: Para cada elemento del álgebra se verifica que a + 1 = 1. Por dualidad se puede inferir que ∙ = . Demostración: Teorema 2: Para cada elemento del álgebra se verifica que: + = . Por dualidad ∙ = . 26 Demostración: Teorema 3: Las operaciones suma y producto son asociativas + + = + + = + + , y por dualidad, ∙ ∙ = ∙ ∙ . Demostración de la asociatividad de la suma mediante una tabla. Teorema 4: Para cada elemento del Álgebra de Boole se demuestra que [ + + ] = + [ ] = Demostración de la primera igualdad: [ + + ] = + + = + = Teorema 5: Llamada ley de Absorción, para cualquier par de elementos del Álgebra de Boole se demuestra que + = + = Demostración: Teorema 6: Para todo complemento de a se verifica que ̅̅ = , llamada ley Involutiva o ley de la doble negación. 27 Teorema 7: Leyes de De Morgan, para cada par de elementos del Álgebra de Boole se demuestra que: +̅̅ ̅̅ ̅̅ ̅ = ̅ ∙ ̅ ∙̅̅ ̅̅ ̅̅ = ̅ + ̅ Demostración: en este caso no es simple, por lo que lo vamos desglosando: Propiedad Distributiva Propiedad Conmutativa Propiedad asociativa Postulado 4 Teorema 1 (3) Si consideramos a la expresión (3) de la forma: + ̅ = Donde = + y ̅ = ̅ ∙ ̅ Entonces podemos considerar que ̅ ∙ ̅ es el complemento de + , es decir, ̅ + ̅ = +̅̅ ̅̅ ̅̅ ̅ Ejercicios 3.1. Simplificar la expresión: a) ̅ + ̅ ̅ =? Solución: b) ̅ + + =? Solución: ̅ + + = ̅ + ̅ + + = + ̅ + + = ̅ + + = ∙ = c) ̅ + ( + ̅)̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅ =? Solución: ̅ + ( + ̅)̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅ = ̅ +̅̅ ̅̅ ̅̅ ̅ + ( + ̅̅̅ ̅̅ ̅̅ ̅) = ̅̅ ̅ + ̅̅ = ̅ + 3.1.1. Funciones booleanas Una variable binaria puede tomar el valor 0 o 1. Luego, una función de Boole es una expresión formada con variables binarias y operadores booleanos (los correspondientes a la suma y producto lógico y la negación). La notación es la misma que se usa en el cálculo, así 28 , , representa una función cuyas variables binarias son , , , las cuales por consecuencia cumplen con los postuladosy teoremas del Álgebra de Boole. La función en cuestión devuelve valores binarios en función de los valores de las variables, por ejemplo, la función , = ̅ devuelve los valores mostrados en la siguiente tabla. Tabla 3.2. Un ejemplo de los valores de una función. , 0 0 0 0 1 0 1 0 1 1 1 0 Una función Booleanas se puede escribir en de varias maneras cuando se expresa a través de su forma algebraica, sin embargo, la llamada forma estándar emplea términos en forma de sumas + + y términos de productos ). Por ejemplo: 3.1.2. Función simple y función compuesta Una función booleana está en su forma compuesta cuando la expresión incluye los términos como una combinación sumas y productos de las variables, sin ninguna regla en particular, incluyendo términos que podrían ser redundantes. Por ejemplo, la función , , = ̅ ̅ + ̅ ̅ + ̅ está en una forma compuesta, ya que, por la teoría del Álgebra de Boole, algunos de los términos podrían reducirse, , , = ̅ ̅ + ̅ ̅ + ̅ = + ̅ ̅ + ̅ = ̅ + ̅ El término de la última igualdad es una expresión más breve de la misma función, por lo que es una función en su forma simple. 3.2. Simplificación de funciones boolenas Se llaman términos canónicos, a todo término de producto o de suma que contenga absolutamente a todas las variables que intervienen en la función. Por ejemplo, en la expresión: el primero y segundo sumando están en su forma canónica, mientras que el tercero no lo está. Cuando todos los términos están en su forma canónica se tiene una función canónica. En nuestro ejemplo, la forma canónica sería: , , = ̅ ̅ + + ̅ + ̅ = ̅ ̅ + + ̅ 29 Además, si la función está en su forma canónica tiene términos, siendo la cantidad de variables binarias de las cuales depende dicha función. Lo cual a su vez nos permite construir la tabla de verdad correspondiente: F Decimal 0 0 0 0 0 0 0 1 0 1 0 1 0 1 2 0 1 1 0 3 1 0 0 1 4 1 0 1 1 5 1 1 0 0 6 1 1 1 0 7 3.2.1. Minitérminos y maxitérminos Una función canónica en forma de sumas de productos se puede expresar en forma compacta usando una notación de sumatoria y cambiando los valores de las variables por 0 si están negadas y 1 si no lo están, e interpretando el valor binario que se forma al considerar todos los dígitos del término. En este sentido el término ̅ al usar ésta regla equivale a 110 y por lo tanto su valor numérico sería 6. Usando estas ideas: , , = ̅ ̅ + ̅ ̅ + ̅ = ∑ , , Llamaremos minitérminos (en algunos textos, mintérminos) a las funciones canónicas expresadas como sumas de productos. La misma función se puede expresar canónicamente como productos de sumas si usamos las leyes de De Morgan. , , = ̅ ̅ + ̅ ̅ + ̅ = ( ̅ ̅ + ̅ ̅ + ̅ )̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅ = = ̅ ̅̅̅ ̅̅ ̅ ∙ ̅ ̅̅̅ ̅̅ ̅ ∙ ̅̅̅ ̅̅ ̅̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅ = ( + ̅ + ) ̅ + + ̅ + + ̅̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅̅ La última expresión representa a la función como producto de sumas, pero complementado, para compensarlo complementamos a ambos lados: , , = ̅̅̅̅ , , = ( + ̅ + ) ̅ + + ̅ + + ̅ De donde implicamos que la forma en productos de sumas es el complemento de la forma en minitérminos, razón por la cual y en contrasentido, llamaremos a éstos multiplicandos los llamaremos maxitérminos (llamados también maxtérminos). En conclusión, para nuestro ejemplo: , , = ( + ̅ + ) ̅ + + ̅ + + ̅ = ∏ , , , , El poder pasar de minitérminos a maxitérminos y viceversa es muy útil en la simplificación de funciones. 30 3.2.2. Mapas de Karnaugh Las expresiones Booleanas pueden ser simplificadas por manipulación algebraicas, como se ha visto en ejercicios anteriores. Como un ejemplo: El método del mapa de Karnaugh en cambio, es un método tabular de reducción de funciones basado en el cuarto postulado: + ̅ = , y ofrece un procedimiento directo, para simplificar expresiones booleanas de hasta cinco variables. Se pueden trazar mapas para mayor cantidad de variables, pero son más difíciles de manipular. Este método en una representación bidimensional de la tabla de verdad de la función a simplificar. Puesto que la tabla de verdad de una función de variables posee filas, el mapa � correspondiente debe poseer también cuadrados. Las variables de la expresión son ordenadas en función de su peso y siguiendo el código Gray, de manera que sólo una de las variables varía entre celdas adyacentes. La transferencia de los términos de la tabla de verdad al mapa de Karnaugh se realiza de forma directa, albergando un ‘0’ o un ‘1’, dependiendo del valor que toma la función en cada fila. Las tablas de Karnaugh se pueden fácilmente realizar a mano con funciones de hasta 6 variables, para funciones de mayor cantidad de variables es más eficiente el uso de software especializado1. Ejercicio 3.2. Dada la función booleana , , = + ̅ + ̅ + ̅ ̅ obtenga su reducción mediante mapas de Karnaugh. Solución: I. Representamos la función en una tabla de verdad a b c F 0 0 0 0 0 0 1 0 0 1 0 0 1 0 0 1 1 0 1 1 1 1 0 1 1 1 1 1 II. Construimos un mapa de Karnaugh de tantas celdas como filas tenga la tabla de 1 Wikipedia, La enciclopedia libre (2016). Mapa de Karnaugh. Consultado: 19/06/2016. Disponible: https://es.wikipedia.org/wiki/Mapa_de_Karnaugh 31 verdad. Considere como referencias de columnas a combinaciones del par de variables de menor valor significativo, codificándolas en código Gray. Algo similar se hace para colocar las referencias de columna, aunque en este caso sólo al ser sólo una variable la que resta, sólo se colocan en orden de 0 a 1. Observe el mapa de éste ejercicio: bc 00 01 11 10 a 0 0 0 0 0 1 1 1 1 1 III. Para reducir la función encierre con círculos o elipses, grupos de 1’s en potencias de base dos: 2,4,8, etc., de celdas adyacentes, considere que la base de la tabla es adyacente a la parte superior, y que el extremo izquierdo es adyacente al extremo derecho. Para escribir la expresión resultante anote las variables cuyo valor no cambia en el grupo formado. Vea el ejemplo. En este caso se han agrupado los cuatro unos de la fila inferior, en los cuales la única variable que no cambia es a. De este modo la reducción es, como sabíamos por el Álgebra de Boole, , , = . Ejercicio 3.3. Reducir la función , , , = ∑ , , , , , , , . Solución: I. Escribimos la función en forma de minitérminos: , , , = ̅ ̅ + ̅ ̅ ̅ + ̅ ̅ + ̅ ̅ + ̅ + ̅ ̅ + ̅ + ̅ II. Hacemos la tabla de verdad correspondiente. No a b c d F 0 0 0 0 0 0 1 0 0 0 1 0 2 0 0 1 0 0 3 0 0 1 1 0 4 0 1 0 0 0 5 0 1 0 1 0 6 0 1 1 0 1 7 0 1 1 1 0 8 1 0 0 0 1 9 1 0 0 1 1 10 1 0 1 0 1 11 1 0 1 1 1 12 1 1 0 0 1 13 1 1 0 1 1 14 1 1 1 0 1 15 1 1 1 1 0 32 III. Construimos el mapa de Karnaugh cd 00 01 11 10 ab 00 0 0 0 0 01 0 0 0 1 11 1 1 0 1 10 1 1 1 1 IV. Agrupamos y formamos la función , , , = ̅ + ̅ + ̅ + ̅ 3.2.3. Método de Quine-McClausky El método de Quine-McClausky es una combinación del método tabular y de un método gráfico, el cual es factible de programarse con la finalidad de obtener un algoritmo que permita la obtención de expresiones algebraicas minimizadas. Describimos los pasos a seguir: I. Identificar cada uno de los minitérminos implicados en la expresión algebraica, o bien en la tabla de verdad. Por ejemplo, para: , , , = ̅ ̅ ̅ + ̅ + ̅ Y su tabla es No a b c d F 0 0 0 0 0 1 1 0 0 0 1 1 2 0 0 1 0 0 3 0 0 1 1 0 4 0 1 0 0 1 5 0 1 0 1 1 6 0 1 1 0 0 7 0 1 1 1 0 8 1 0 0 0 1 9 1 0 0 1 1 10 1 0 1 0 0 11 1 0 1 1 0 12 1 1 0 0 1 13 1 1 0 1 1 14 1 1 1 0 0 15 1 1 1 1 0 Si la expresión algebraica no se muestre como suma de productos, deberá ser manipulada algebraicamente de tal forma que se obtenga. Por ejemplo: 33 = ̅̅̅̅ ̅̅̅̅ ̅̅̅ ̅̅ ̅̅ ̅̅ ̅̅ = + ̅ + II. Listar como números binarios cada uno de los términos implicadosen la expresión algebraica para posteriormente agruparlos en base al número de bits iguales a uno que tenga cada uno de ellos. Por ejemplo, para , , = ∑ , , , , , tenemos, 0 000 Forma el grupo 0, por no tener ningún bit igual a 1 1 001 Estos forman el grupo 1, por tener ambos términos un bit igualado a 1. 2 010 5 101 Estos forman el grupo 2, por tener ambos términos dos bits igualados a 1 6 110 7 111 Forma el grupo 3, por tener tres bits igualados a 1 III. Una vez identificados los grupos, se deben combinar los términos entre grupos contiguos. Es decir, el grupo 0 con el grupo 1, el grupo 1 con el grupo 2, etc., de tal forma que se marca con un guión solo el bit que difiere de 1 a 0 o viceversa. Siguiendo con el ejemplo del paso anterior: No Grupos Combinación de términos Expresión 0 000* 0,1 00- 1 001* 0,2 0-0 2 010* 1,5 -01 5 101* 2,6 -10 6 110* 5,7 1-1 7 111* 6,7 11- Notar que los grupos cambian en función de los unos que han quedado tras hacer la primera iteración. Los asteriscos indican los términos que han sido usados en la combinación. IV. De las expresiones obtenidas (con guiones), de nuevo formamos grupos en base a la cantidad de unos en cada término, y se busca de nuevo realizar combinaciones entre grupos contiguos, verificando otra vez que sólo cambien en un bit. En nuestro ejemplo ya no es posible realizar más combinaciones. V. Una vez que ya no se tienen elementos qué combinar se obtienen los implicantes primos que surgen de los términos no marcados. En nuestro ejemplo, al no haber más combinaciones, no hay elementos marcados. Combinación Términos Expresión en implicantes primos 0,1 00- = ̅ ̅ + ̅ ̅ + ̅ + ̅ + + 0,2 0-0 1,5 -01 2,6 -10 5,7 1-1 6,7 11- 34 Notar que los términos en guión no se incluyen en la expresión en implicantes primos, además de que no tenemos una expresión mínima. VI. Se listan los implicantes primos obtenidos en forma de filas, en una tabla en la que las columnas corresponden a cada uno de los productos de sumas que conforman a la expresión algebraica. Siguiendo con el ejemplo: 0 1 2 5 6 7 0,1 00- x x 0,2 0-0 x x 1,5 -01 x x 2,6 -10 x x 5,7 1-1 x x 6,7 11- x x VII. Se eligen los implicantes primos de tal forma que se cubran todas las columnas (minitérminos) con el menor número de filas posible. En nuestro ejemplo: De este modo los implicantes que cumplen con el criterio son: 0,1 00- 2,6 -10 5,7 1-1 Por lo tanto, la minimización es: , , = ̅ ̅ + ̅ + 35 4. Compuertas Lógicas En esta unidad el estudiante: Conoce qué es una familia lógica y sabe diferenciar entre ellas. Aplica las tablas de verdad de los diferentes operadores lógicos para obtener la función booleana correspondiente a cada una de las compuertas lógicas. 4.1. Niveles lógicos y compuertas lógicas La electrónica digital es un área de la ciencia que estudia las señales eléctricas que varían en forma discreta, considerando que se tienen bien identificados sus estados, razón por la cual a un determinado nivel de tensión se le llama estado alto (High) o uno lógico; y a otro, estado bajo (Low) o cero lógico. Los niveles lógicos equivalen a niveles de voltaje que varían según la tecnología empleada. Figura 4.1. Tensiones eléctricas como niveles lógicos. La figura 3.1 esquematiza los rangos de voltaje que representan los estados lógicos de un sistema binario, en el cual el valor 1 o verdadero se da en los niveles de voltaje alto, y el valor 0 o falso se da en los niveles de voltaje bajo. Ésta forma de representar los valores de verdad es llamada Lógica Positiva, porque es la interpretación natural de la mayoría de las personas. Sin embargo, es posible representar los valores de verdad falsos con 1 o voltaje alto, y los valores verdaderos con 0 o con voltaje bajo, lo que nos lleva a la Lógica Negativa. Figura 4.2. Interpretación de un proceso lógico en una compuerta. Las compuertas son dispositivos que operan con aquellos estados lógicos mencionados. Pueden asemejarse al proceso en una computadora, por un lado se ingresa un dato, la compuerta realiza la operación lógica correspondiente a su tipo, y finalmente, muestra el resultado en su salida. 36 Cada compuerta lógica realiza una operación aritmética o lógica diferente, que se representa mediante un símbolo de circuito. A continuación, vamos a analizar las diferentes operaciones lógicas una por una comenzando por la más simple. 4.1.1. Compuerta NOT La también llamada compuerta inversora, es un dispositivo electrónico de una única entrada que devuelve el valor lógico opuesto del que se le introduce. por ejemplo, si se pone su entrada a 1 (nivel alto) se obtiene una salida 0 (o nivel bajo), y viceversa. a S 0 1 1 0 Tabla de Verdad Figura 4.3. La compuerta Not. 4.1.2. Compuerta AND Una compuerta AND tiene dos entradas como mínimo y su operación lógica es el producto lógico de ambas entradas. No se debe confundir la operación lógica con la operación aritmética, ya que pueden no concordar con las aritméticas, aunque en este caso particular coincidan. Su salida será alta si sus dos entradas están a nivel alto. Símbolo a b S 0 0 0 0 1 0 1 0 0 1 1 1 Tabla de verdad Figura 4.4. Compuerta AND. 4.1.3. Compuerta OR Al igual que la anterior posee dos entradas como mínimo y la operación lógica, será una suma lógica entre ambas. La operación lógica O es inclusiva; es decir que la salida es alta si una sola de las entradas es alta o inclusive si ambas lo son. Es decir, basta que una de las entradas sea 1 para que su salida también lo sea. Símbolo a b S 0 0 0 0 1 1 1 0 1 1 1 1 Tabla de verdad Figura 4.5. Compuerta OR 37 4.1.4. Compuerta NAND La compuerta NAND es un dispositivo de dos entradas como mínimo, cuya salida es la composición de poner una compuerta NOT después de una compuerta AND, de tal forma que su salida es la inversa de ésta última. Su símbolo es casi el mismo que la AND, agregando justo antes de la línea de salida un pequeño círculo, que es virtualmente significa la inversión de dicha salida. Símbolos a b S 0 0 1 0 1 1 1 0 1 1 1 0 Tabla de verdad Figura 4.6. Compuerta NAND 4.1.5. Compuerta NOR La compuerta NOR se obtiene conectando una NOT a la salida de una OR. El resultado que se obtiene a la salida de esta compuerta es entonces la inversión de la operación lógica OR. Lo mismo que en el caso anterior, sólo se agrega un círculo a la salida de la OR y se obtiene el símbolo de la NOR. Símbolos a b S 0 0 1 0 1 0 1 0 0 1 1 0 Tabla de verdad Figura 4.7. Compuerta NOR 4.1.6. Compuerta XOR La compuerta OR exclusiva u XOR, es una versión de la OR anteriormente vista, en la que se anula la posibilidad de que ambas entradas en 1 den como salida 1 (ver tabla de verdad en la figura 4.8). En Álgebra de Boole su expresión sería: = ̅ + ̅ = ⊕ . Símbolos a b S 0 0 0 0 1 1 1 0 1 1 1 0 Tabla de verdad Figura 4.8. Compuerta XOR 38 4.1.7. Compuerta XNOR La compuerta XNOR, es simplemente la negación de la compuerta XOR. Por el Álgebra de Boole tenemos que, ⊕̅̅ ̅̅ ̅̅ ̅̅ = ̅ + ̅̅̅ ̅̅ ̅̅ ̅̅ ̅̅ ̅ = ̅̅̅̅̅ ∙ ̅̅̅̅ ̅ = ̅ + ( + ̅) = ̅ ̅ + = ⊙ . El último término en la igualdad es justamente la expresión de la función XNOR. Símbolos a b S 0 0 1 0 1 0 1 0 0 1 1 1 Tabla de verdad Figura 4.9. Compuerta XOR 4.2. Familias Lógicas Las compuertas lógicas, como dijimos, son dispositivos electrónicos que sirven para construir circuitos que simulen físicamente las expresiones dadas por la teoría del Álgebra de Boole. Estos dispositivos electrónicos se constituyen en circuitos integrados digitales (CI), que se agrupan en familias lógicas. Cada familia refiere una tecnología específica de fabricación. Las diversas familias lógicas caen en las amplias categorías basadas en el elemento principal que se usa para la fabricación. Las familiasbipolares (TTL Y ECL) utilizan el transistor bipolar como elemento principal del circuito. Las familias de semiconductores de óxido metálico (MOS) utilizan transistores de efecto de campo como elemento principal. Si bien las familias TTL y CMOS dominan las áreas de aplicación que requieren compuertas biestables, existen otras familias cuyas características se resumen la tabla 4.1. Tabla 4.1. Familias lógicas de circuitos integrados digitales. FAMILIA DTL RTL TTL STTL ECL CMOS Compuerta básica NAND NOR NAND NAND OR NOR NAND NOR Fan-Out tipico 8-10 4 8-10 8-10 20-25 ilimitada Retardo típico (ns) 30 20 6-33 3-10 1-2 25-35 Desempeño al ruido bueno aceptable aceptable aceptable aceptable Muy bueno Disipación de potencia 10 mw 12 mw 1-25 mw 2-20 mw alta 0.01 w La nomenclatura con que se definen los parámetros más importantes de los circuitos lógicos se ha estandarizado: 39 VIH (mín.), Voltaje de entrada de alto nivel: es el nivel de tensión mínimo que se requiere para un “1” lógico en la entrada. VIL (máx.), Voltaje de entrada de bajo nivel: es el nivel de tensión máximo admitido que se requiere para un “0” lógico en la entrada. VOH (mín.) Voltaje de salida de alto nivel: es el valor de tensión en la salida del circuito lógico para un estado de “1” lógico. VOL (máx.) Voltaje de salida de bajo nivel: es el valor de tensión en la salida del circuito lógico en un estado de “0” lógico. I IH , Corriente de entrada de alto nivel: corriente que fluye en una entrada cuando se aplica una tensión VIH en dicha entrada. I IL , Corriente de entrada de bajo nivel: corriente que fluye en una entrada cuando se aplica una tensión VIL en dicha entrada. IOH, Corriente de salida de alto nivel: corriente que fluye desde la salida en el estado “1” lógico. IOL, Corriente de salida de bajo nivel: corriente que fluye desde la salida en el estado “0” lógico. Otros parámetros relevantes: Fan-Out, Carga máxima de la salida: número máximo de entradas lógicas que se pueden conectar en una salida (figura 4.10). Figura 4.10. Compuertas en paralelo en la misma salida (Fan-Out) tPLH, es el tiempo de retardo para pasar de un estado lógico “0” a “1”. tPHL, es tiempo de retardo para pasar de un estado lógico “1” a “0”. Figura 4.11. Tiempos de retardo en un circuito integrado. 40 I cc, corriente que se toma de la fuente de alimentación, esta corriente variara de acuerdo a los estados lógicos de la salida del circuito. Inmunidad al ruido: es la capacidad del circuito para tolerar señales ruidosas en sus entradas o la variación de tensión admisible a la entrada de una compuerta sin que esta cambie de estado. El margen de ruido en el estado alto se define como: VNH = VOH (min) – VIH (min) El margen de ruido en el estado bajo se define como: VNL = VIL (max) – VOL (max) Figura 4.12. Esquematización del ruido en los niveles lógicos. Como se puede ver en la figura 4.12, la tensión de salida (A) si es “0” lógico podrá superar a Vol en un valor menor o igual a VNL antes de que la entrada B deje de reconocer un “0” lógico. Igualmente observamos que el valor VOH en A podrá disminuir VNH voltios antes de que la entrada B deje de reconocer un “1” lógico. Todos los parámetros indicados se obtienen de las hojas de datos (datasheets) del fabricante Figura 4.13. Fragmento de una hoja de datos. 41 4.2.1. Lógica Transistor-Transistor (TTL) La familia Transistor-Transistor Logic, basa su funcionamiento en arreglos de transistores de tipo de unión bijuntura (BJT). El circuito básico es la compuerta NAND, su circuito se muestra en la figura siguiente (figura 4.14) Figura 4.14. Compuerta base de la familia TTL. Para describir el funcionamiento de este circuito convendremos primero que las dos entradas A y B están en estado lógico “1” (5 voltios), en estas condiciones por la juntura B– E de Q1 no circula corriente y por la juntura B–C circula una corriente que pone en estado de conducción al transistor Q2, así la tensión de colectora de Q2, 0.8 voltios llevando a Q3 al corte y a Q4 a estado de conducción. En estas condiciones la salida tendrá un valor menos o igual a 0,4 voltios (figura 4.15). Figura 4.15. Salida en nivel bajo de la compuerta NAND. 42 Para el caso de la Figura 4.16, donde una entrada tendrá el valor lógico “0”, la tensión en la base de Q2 lo lleva al corte y la corriente que fluye por Q2 activa el transistor Q3 obteniéndose una tensión de más de 2,4 voltios en la salida. Figura 4.16. Salida en nivel alto de la compuerta NAND Los circuitos TTL son circuitos de drenaje de corriente, las salidas reciben corriente de las entradas. Figura 4.17. Drenaje de corriente en un CI TTL. Del análisis del circuito (figura 4.17) surge que se podrá obtener el mismo funcionamiento si eliminamos Q3 y conectamos directamente R4 al colector Q4, sin embargo, con esto tendríamos dos inconvenientes: a) Una elevada corriente circulando por R4 con Q4 en estado de saturación (5 V/130 40 mA) lo que aumentaría significativamente el consumo de energía en el CI . 43 b) Se aumentaría la impedancia de salida en estado alto, con la configuración actual el transistor Q1 actúa como seguidor y su impedancia de salida es baja (10 ). Esta baja impedancia ofrece una constante de tiempo breve para cambiar de estado. Una desventaja de la configuración actual ocurre durante la transición de “0” a “1” en la salida ya que Q4 se desactiva después que Q3 y por un instante ambos transistores conducen y circulan una corriente relativamente grande (30 a 40 mA). La relación de potencia disipada/velocidad se muestra en la gráfica de la figura 4.18, se puede apreciar que la potencia disipada se incrementa cuando se reduce la demora en la respuesta del CI . Figura 4.18. Respuesta en el tiempo con respecto de la potencia disipada. De las curvas propuestas por el fabricante vemos que existen diferentes subfamilias (series). La serie L (54LXX) y la serie LS (54LSXX) utilizan la tecnología Schottky es decir utilizan transistores que poseen el diodo Schottky entre la base y el colector para impedir que el transistor se sature (figura 4.19), el resultado es una reducción en los tiempos de conmutación. Figura 4.19. Diodo Schottky en un arreglo transistor. 44 La serie S utiliza valores pequeños de resistencia Figura 4.20. El diodo Schottky en un arreglo NAND Para ayudar a reducir los tiempos de cambio, esta trae como consecuencia un aumento en la disipación de energía. Nótese que los transistores Q3 y Q4 se han reemplazado por Darlington para ofrecer una mejor rapidez en el cambio de la salida de “0” a “1”. La serie LS, de menor velocidad que la S utiliza el transistor Schottky pero con valores de resistencia más elevados (figura 4.21). Figura 4.21. Arreglo de la subfamilia LS Ejercicio 4.1. Determinar el consumo de energía de un circuito realizado con CI 5400 y la energía si el mismo circuito se implementa con CI 54S00. 45 Ejercicio 4.2. Determinar el tiempo de demora de la señal de entrada de la figura 4.22. Figura 4.22. Arreglo del ejercicio 4.2. 4.2.1.1. Carga de dispositivos TTL Cargas Unitarias: A fin de simplificar el diseño con circuitos TTL, los fabricantes han establecido factores de carga de entrada y salida estandarizados en términos de la corriente. Estas corrientes se denominan cargas unitarias (UL) y se definen como sigue: Tipo ICCH (ma) todos “1” salida min max ICCL (ma) todos “0” salida min. máx. ICC (mA) promedio por categoría Potencia promedio por categoría Vcc = 5v Potencia total Promedio 00 4 8 12 22 2 2 mA x 5v = 10 mW 40 mw S00 10 16 20 36 3,75 3,75 mA x 5v = 18,75 mw 75 mw Tipo Tda (ns) Tdb (ns) Tdc (ns) Tdsalida (ns)Ttotal (ns) 00 7 11 7 11 36 S00 3 3 3 3 12 46 1 Carga Unitaria (UL) = 40 A en estado lógico ‘1’ = 1,6 mA en estado lógico ‘0’ Estos factores de carga unitaria representan las corrientes máximas de entrada para la serie TTL estándar. En otras palabras, la máxima corriente que fluye en una entrada TTL en estado ALTO es Iih(max) = 40 A y la corriente máxima que fluye en una entrada TTL en estado BAJO es Iil(max) = 1.6 mA La siguiente tabla muestra el factor de carga para las series de circuitos TTL Serie Carga de entrada Factor de carga Alta Baja Alta Baja 7400 1 UL 1 UL 10 UL 10 UL 74H00 1.25 UL 1.25 UL 1.25 UL 1.25 UL 74L00 0.5 UL 0.1 UL 10 UL 2.5 UL 74S00 1.25 UL 1.24 UL 25 UL 12.5 UL 74LS00 0.5 UL 0.25 UL 10 UL 5 UL La figura 4.23 muestra una salida TTL en estado bajo conectado a varias entradas. Figura 4.23. Salida en nivel bajo a varias entradas TTL. Si bien el transistor Q4 está saturado su resistencia interna no es cero y un incremento de la corriente I ol producirá un aumento de la tensión Vol. Este incremento no podrá superar VoL(max) y esto limitará la corriente IOL y por lo tanto el número de cargas I IL que pueden conectar. La situación en estado alto en la salida se muestra en la figura 4.24, aquí Q3 provee la corriente a las entradas, si la corriente IOH se hace demasiado grande VOH puede disminuir por debajo de su valor límite VOH(min). 47 Figura 4.24. Salida en nivel alto a varias entradas TTL Ejercicio 4.3: Determinar la cantidad de compuertas que pueden conectarse a la salida de una compuerta NAND 5400 de la figura 4.25. Figura 4.25. Arreglo del ejercicio 4.3. Solución: a) Salida en estado ‘0’ IOL = 16 mA (max), IIL = 1.6 mA � � = ���� � = . = b) Salida en estado ‘1’ IOH = 400 μA, IIH = 40 μA � � = ��� = = 4.2.1.2. Otras características de la familia TTL a) Entradas Flotantes: si una entrada no se conecta actúa como “1” lógico debido a que la unión B-E de Q1 no se polariza en estado directo. 48 b) Entradas no utilizadas: no es conveniente dejar entradas flotantes ya que esta puede actuar como una antena y captar ruidos que pueden modificar la salida, las entradas no utilizadas deben conectarse a +V a través de una resistencia de 1k , la función de esta resistencia es la de proteger a Q1. Figura 4.26. Entradas no usadas a nivel alto. c) En aquellos casos donde la entrada debe mantenerse en “0” (figura 4.27) la resistencia R deben ser del menor valor posible de tal forma que la tensión producida por la circulación de IIL sea menor que VIL(max). Figura 4.27. Entrada a cero a través de una resistencia. d) Oscilaciones momentáneas de corriente: dada la diferencia de velocidad en la conmutación de los transistores Q3 y Q4 en sistemas donde la entrada a una compuerta lógica es de variación lenta, se producen oscilaciones momentáneas de la corriente. Figura 4.28. Oscilaciones de corriente en un TTL. La oscilación es ampliada por los efectos de cualquier capacitancia de carga en la salida del circuito. La técnica más común de filtrado es la conexión de pequeños capacitores conectados de Vcc a tierra en cada CI (figura 4.29). 49 Figura 4.29. Eliminación de oscilaciones en CI’s. e) AND por conexión, en la figura 4.30(b) vemos la realización de una función And por conexión, en ella se han eliminado la compuerta and, presente en la figura 4.30 (b) Figura 4.30. Dos formas de obtener la AND: (a) Por compuerta; (b) Por conexión. Los circuitos TTL convencionales no permiten la configuración AND por conexión, supongamos que conectamos dos salidas, una de estas salidas está en estado Alto y otras en estado Bajo. Figura 4.31. Arreglo TTL en configuración And por conexión. 50 En este caso Q4 es una caja de resistencia muy baja y tomara una corriente elevada, esta corriente puede afectar a Q4b al superarse Iol. Esta situación empeora si aumenta la cantidad de puertas conectadas. Para permitir esta conexión algunos circuitos TTL se fabrican con salida a colector abierto. Como se observa en la figura 4.32 en estos circuitos se han eliminado Q3, D1 y R4. Figura 4.32. TTL a colector abierto. La resistencia Rc extendida al CI debe ser elegida de manera que cuando una salida pase a Bajo mientras las otras permanezcan en Alto, la corriente drenada no exceda su límite Iol. Podría parecer que el valor de Rc debe hacerse lo más grande posible, sin embargo, debe entenderse que las capacidades parásitas se cargan a través de esta Rc por lo que una Rc grande afectaría la velocidad de transición. Para no afectar la velocidad la resistencia Rc debe hacerse lo más chica posible. Ejercicio 4.4. El CI 7405 contiene 6 inversores con salida de colector abierto en el circuito de la figura 4.33(a). Determinar: a) La función de salida �. b) El valor de Rc, use la figura 4.33(b) como referencia. Figura 4.33. Configuración de circuitos del ejercicio 4.4. 51 Solución: a) , , , , , = ∙ ∙ ∙ ∙ ∙ b) Si suponemos que solo un inversor tiene su salida en BAJO , el transistor de salida de ese inversor debe poder drenar ,las corrientes Irc e IIL. Iol(max) = I rc + ∑ IIL I il = 1,6 mA 16 mA = IRC + 8 mA IRC = 16 mA – 8 mA = 8 mA 575 8 4.05(max) (min) RC OLcc c I VV R Ejercicio 4.5. Para una compuerta NAND 74L500 obtener la curva Vsalida = F(Ventrada) deduciendo sus intervalos lógicos VIL, VOL, VIH, VOH y comparar los datos obtenidos con los del fabricante. Figura 4.34. Arreglo para el ejercicio 4.5. Ejercicio 4.6. Medir los tiempos de propagación de subida y bajada con carga de 200 pF, para efectuar la medida poner en cascada las 4 compuertas de CI 74L500. Figura 4.35. Arreglo para el ejercicio 4.6. Ejercicio 4.7. Para el CI 74L500 medir el consumo estático a) Para todas las entradas en “0” b) Para todas las entradas en “1” 4.2.1.3. El tercer estado Una variante en la configuración de la salida permite que existan 3 estados posibles en la salida: ALTO, BAJO Y ALTA IMPEDANCIA (este último llamada Hi-Z). En el estado Hi-Z Q3 y Q4 se desactivan de manera que la salida sea una alta impedancia conectada a tierra. El 3er estado se obtiene modificando el circuito básico como se muestra en la figura 4.36. Entrada Salida 1 2 3 52 Figura 4.36. Configuración para alta impedancia. En este circuito: Con E = 1 el circuito opera como un inversor normal debido a que una tensión alta no afecta a Q1 ni a Q2. Con E = 0 el circuito pasa a Hi-Z independientemente del estado de A, un “0” en E polariza directamente la juntura B-E de Q1 y corta Q2 hacemos la corriente de R2 se deriva por D2 y Q3 se corta con ambos transistores Q3 y Q4 cortados el terminar de salida es esencialmente un circuito abierto. Las salidas de los circuitos integrados que poseen el tercer estado se pueden conectar en paralelo sin sacrificar la velocidad de transición, no obstante, debe tenerse en cuenta que solo uno de los CI puede estar activo en un determinado instante. Figura 4.37. CI con tercer estado. Un separador de triple estado es un circuito que se utiliza para controlar el paso de una señal lógica, los Integrados 74125 y 74126 son los más comúnmente utilizados. 53 Figura 4.38. Nomenclatura de integrados de Alta Impedancia. Los circuitos con tercer estado se encuentran disponibles también en la tecnología MOS 4.2.2. Familia Lógica MOS Esta familia de semiconductor de óxido metálico basa su fabricación en el transistor de efecto de campo (FET), existen dos tipos conocidos: FET de canal N y FET de canal P. Figura 4.39. Semiconductores MOS. En el FET de canal N, cuando la compuerta (g) es negativa respecto a la fuente (s), el FET es un circuito abierto del drenaje (D) a la fuente. Si la compuerta espositiva con respecto a la fuente el FET es un cortocircuito del drenaje a la fuente. En el caso del FET de canal P la operación es la misma excepto que se invierten las polaridades. Es probable que la operación del FET parezca similar a la del transistor bipolar, pero existen diferencias importantes. En el bipolar el factor de control es la corriente de base; por ejemplo, es en el transistor NPN cuando la base se hace positiva respecto al emisor, fluye una corriente de la base al emisor y es esta corriente la que activa al transistor. Además, el transistor entra en saturación, es decir, el voltaje del colector al emisor desciende a un valor despreciable solo cuando fluye la suficiente corriente por el colector. Por el contrario, en el FET el voltaje compuerta-fuente controla la impedancia drenaje – fuente mediante la acción de un campo electroestático (de allí su nombre de efecto de campo) y la corriente de compuerta, prácticamente no puede medirse. Cuando el FET se activa la tensión drenaje fuente es casi cero. 54 Estas características del FET permiten construir CI con consumo de energía extremadamente bajos. Los circuitos digitales que emplean FET se deriva en 3 categorías. P-MOS -> FET de canal P N-MOS -> FET de canal N CMOS -> MOS complementario que utilizan FET de canales P y N. Los P-MOS y N-MOS tienen una mayor densidad de integración que los C-MOS y resultan por lo tanto más económicas que los C-MOS. La categoría N-MOS tiene el doble de densidad de integración que la P-MOS y es casi dos veces más rápida. El C-MOS tiene la mayor complejidad y la menor densidad de integración, pero tiene mayor velocidad y menor disipación de energía que las otras dos. 4.2.2.1. Subfamilia N-MOS Inversor N-MOS. Q1 se diseña de tal manera de que tenga una resistencia R0N mucho mayor que Q2. La resistencia en OFF de Q2 es del orden de 1010 . Si realizamos el análisis considerando a los transistores como resistencia tendremos: a) Cuando � = � ⟹ = b) Cuando � = � ⟹ = Figura 4.40. Inversor N-MOS. Figura 4.41. Circuito equivalente. 55 NAND N-MOS. En este caso vemos que Q1 también aquí actúa como una resistencia de carga mientras Q2 y Q3 son interruptores controlados por las entradas Ay B (figura 4.42). Si A y B está en “0” el FET correspondiente está en OFF y presta una alta resistencia. Cuando A y B están en “1”, Q2 y Q3 están en ON y la salida es baja. Figura 4.42. NAND N-MOS: (a) Implementación; (b) y (c), circuitos equivalentes. Los circuitos con tecnología P-MOS serán los mismos excepto para la polaridad del voltaje. Ejercicio 4.8. La compuerta NOR N-MOS se muestra en la figura 4.43. Realice el análisis de su funcionamiento . Figura 4.43. Arreglo NOR-NMOS 56 4.2.2.2. Subfamilia CMOS La lógica C-MOS es más rápida y de menor consumo que las anteriores, pero de mayor complejidad en la fabricación. Utiliza FET de tipo P y N, pero además es la más simple de producir que la TTL y tiene mayor densidad de integración. Inversor C-MOS. Analizamos el circuito de la figura 4.44, para Vin = Vdd, Q1 está cortado con una resistencia equivalente elevada (1010) y la compuerta Q2 estará en conducción con RoN = 1 k, la salida Vout será en consecuencia un cero lógico con un valor cercano a los 0 voltios. Si Vin = 0 voltios las condiciones se invierten y entonces Vout Vdd. Figura 4.44. Inversor C-MOS Ejercicio 4.9. Las configuraciones de las compuertas NAND y NOR se muestran en las figuras 4.45 y 4.46 respectivamente, realice el análisis correspondiente. Figura 4.45. Compuerta NAND C-MOS. Figura 4.46. Compuerta NOR C-MOS. Características importantes de la familia de los C-MOS: a) Niveles de tensión: operan con voltaje que van de 3 a 15 voltios. b) Los subniveles de salida estarán muy próximos a los 0v en nivel bajo y a Vdd en nivel Alto. La razón de esto es que la resistencia de entrada de una compuerta MOS es tan grande (1012 ohms) que casi no carga a la salida de la compuerta que la impulsa c) El nivel de ruido se puede determinar como sigue: VNH = VOH (min) – VIH (min)= Vdd – 70% = 30% Vdd VNL = VIL (max) – VOL (max)= 30% - 0= 30% Vdd 57 d) Disipación energía: en estado estático es extremadamente baja, la potencia disipada crece en función a la frecuencia con la cual los circuitos cambian de estado, por ejemplo: Una compuerta que disipa 10 nW en estado estático, disipara 0,1 mW si cambia a una frecuencia de 100khz y 1mW en 1MHZ. De este modo una compuerta CMOS comienza a perder algunas de sus ventajas sobre otras familias lógicas cuando aumenta la frecuencia. La potencia disipada por una compuerta CMOS es semejante a una compuerta LS-TTL con frecuencia superior a 5 MHz. e) fan out: el factor de carga en estos circuitos no está limitado por la corriente que deben derivar los componentes ya que las resistencias son muy elevadas y las corrientes casi nulas. El problema aquí aparece por la capacidad que presenta cada entrada C-MOS, la salida C-MOS tendrá entonces que cargar y descargar estas capacitancias lo que trae aparejado en incremento en el tiempo de propagación. Así pues, el factor de carga depende de la máxima demora de propagación admisible, normalmente se limita en 50 para una operación en baja frecuencia ( 1MHz). f) Entradas no usadas: las entradas CMOS nunca deben dejarse desconectadas ya que son muy susceptibles al ruido y a las cargas estáticas. g) A semejanza de los circuitos TTL, los dispositivos CMOS y MOS requieren de transiciones razonablemente rápidas en la entrada para una operación confiable. En general los dispositivos CMOS funcionaran a nivel óptimo con las transiciones menores a 15 S cuando Vdd = 5 V y menores a 4 S cuando Vdd = 10 V El 3er estado en CMOS. Las salidas CMOS nunca deben interconectarse, si se interconectan y estas salidas asumen valores lógicos diferentes se obtendrá una tensión Vdd/2 debido a la división de voltaje producido por las resistencias equivalentes. Figura 4.47. Arreglo para el análisis del 3er estado CMOS. Este voltaje está dentro del intervalo indeterminado y es inadmisible para activar otras compuertas. Para el control del 3er estado se implementa una configuración como la de la figura 4.48. 58 Figura 4.48. Arreglo para implementar el 3er Estado CMOS. 4.2.3. Compatibilidad TTL-CMOS En un arreglo salida TTL y entrada CMOS tendríamos el problema de que, dado que la resistencia de entrada CMOS es muy alta no carga la salida del TTL, pero existe un problema debido a que la salida TTL tiene un estado ALTO (VOH) muy próximo a VIH(min) de una CMOS, la solución a este problema es la conexión (figura 4.49) de una resistencia entre la salida TTL y +5V, esta resistencia logra que la tensión de salida se eleve cerca de Vcc (5V). Figura 4.49. Conexión TTL- CMOS. Ahora, si tenemos una salida CMOS y una entrada TTL, la entrada TTL no requiere mucha corriente en estado alto IIH (max) = 40 µA, por lo que no habría problemas. En cambio, el estado Bajo es un problema debido a que IIL es relativamente alta, ésta corriente es exigida al TTL, que al pasar a través de RON puede elevar VOL por encima de VOL(max) del TTL. Figura 4.50. Conexión CMOS- TTL sin corrección. Normalmente un dispositivo CMOS podrá impulsar una sola compuerta TTL del tipo LS. Por esto una solución de conexionado serÍa como el de la figura 4.51. Figura 4.51. Conexión CMOS- TTL corregida. Ejercicio 4.10. Calcule VOH para una salida CMOS que impulsa 10 entradas TTL. Solución: � = �� Caída de tensión en �� = Ω ∗ ∗ = , � Figura 4.52. Arreglo para el ejercicio 4.10. 59 De este modo: VOH (CMOS) = VDD – VRON VOH (CMOS) =5 – 0,4 = 4,6 V VOH (CMOS) > VIH (min) (TTL) Ejercicio 4.11. Para una compuerta NAND CMOS 4011 obtener la curva V0= F(VIN) en vació y con una carga de 1K, para tensiones
Compartir