• En esta sección se presentarán conceptos básicos referentes a Electrónica Digital los cuales son la base de la computación lógica que conocemos hoy en día. • Como se introducirán algunos nuevos conceptos, esta parte del curso es algo diferente a lo que veníamos estudiando, ya que además de contar ahora con un circuito eléctrico, también tendremos que contemplar la lógica digital que rige el comportamiento de los nuevos dispositivos que vamos a analizar. • En concreto, empezaremos a estudiar los siguientes temas: • Compuertas Lógicas • Tablas de Verdad • Temporizadores 3.3 Elementos básicos de Electrónica Digital • Los primeros 2 temas anteriores van muy de la mano ya que cada compuerta lógica tiene asociada una tabla de verdad la cual rige el comportamiento lógico/matemático de dicho dispositivo, para esta parte es necesario además contar con una base matemática denominada como Álgebra Booleana, esta álgebra a menudo se le llama el álgebra de “1´s” y “0´s”, ya que son los únicos dígitos que este sistema admite, al mismo tiempo, existen teoremas que ayudan a simplificar esta parte (Teorema de DeMorgan). • Los temporizadores por su parte, son un tema ligeramente aparte, ya que son circuitos que como su nombre lo indica, tienen que ver con realizar alguna determinada acción durante o a partir de cierto instante de tiempo. Pero primero, ¿Qué es Electrónica Digital? • Se puede definir como la rama de la electrónica más moderna y que evoluciona constantemente, ya que se encarga del estudio de sistemas electrónicos en los que la información está codificada en estados discretos, a diferencia de los sistemas analógicos donde la información toma un rango continuo de valores. • En la mayoría de sistemas digitales, el número de estados discretos es tan solo de dos y se les denomina niveles lógicos. • Estos dos estados discretos reciben muchos nombres en libros de electrónica y otros textos especializados, siendo los más comunes "0" y "1", "false" y "true", "off" y "on" o "bajo" y "alto". • Tener solo estos dos valores nos permiten usar el álgebra booleana y códigos binarios, los que nos proporciona herramientas muy potentes para realizar cálculo sobre las señales de entrada. Pero primero, ¿Qué es Electrónica Digital? • Entonces, parte importante de este análisis es realizado tomando como referencia el llamado Código Binario, o de 2 cifras, siendo estas “1” y “0” únicamente, y correspondiendo también a los estados discretos mencionados en la lámina anterior. • Estos 2 estados se asocian con algunas acciones de la siguiente manera: 1: verdadero, activo, alto, sí, cerrado, +5 V. 0: falso, inactivo, bajo, no, abierto, 0 V. En resumen… • Vamos a trabar en el entendido de que momentáneamente para esta parte del curso no existen más números que 1 y 0. • Es importante entender las respuestas asociadas tanto a 1 como a 0. • El álgebra de Bool únicamente se puede aplicar a código binario, sin embargo, es posible realizar la conversión de una cantidad en otro sistema (ternario, decimal, hexadecimal, etc.) a binario, de tal manera que se analiza tal cantidad en un sistema mucho más sencillo de procesar. Compuertas Lógicas y tablas de verdad • Las compuertas que analizaremos se denominan como “circuitos digitales”, algo interesante de estos, es que trabajan internamente en base a transistores operando en 2 estados, estos son, Corte (0, no conduce) y Saturación (1, conduce). • De tal manera que a pesar de ser un circuito lógico digital, depende de la acción de una etapa analógica. • Por eso les comente que el transistor fue el punto de partida que permitió desarrollar a la computadora lógica que conocemos en la actualidad. Compuertas Lógicas y tablas de verdad • Entonces, una compuerta lógica es un dispositivo electrónico que puede contener 1 o varias entradas, pero solamente una salida. • Por su parte, una tabla de verdad, es una forma tabular de describir el comportamiento de tales compuertas. • Por lo general, las tablas contienen 2 columnas, en las cuales se indican las variables de entrada (datos) y de salida (resultados). Compuertas Lógicas y tablas de verdad • En esta imagen se aprecia como encontramos a las compuertas en el mundo real, a este encapsulado se le denomina como “circuito integrado” y cada uno de ellos puede contener varias compuertas individuales, de tal manera que cuando compramos un integrado con la función multiplicativa por ejemplo, en realidad estamos comprando 2 o más funciones multiplicativas en ese integrado. Compuertas Simples • Podemos dividir a las compuertas lógicas en 2 grupos, simples y compuestas, empecemos pues a estudiar las compuertas simples (más básicas). • Se dice que para construir cualquier circuito lógico se necesitan 3 funciones básicas: • AND (asociada a la multiplicación) • OR (asociada a la suma) • NOT (asociada a la negación o inversión). • Estas funciones básicas se implementan en circuitos llamados “compuertas”. • En teoría, es posible armar una computadora lógica empleando únicamente este tipo de operaciones matemáticas básicas. • Empecemos pues a conocer estas compuertas, posteriormente, se muestra un resumen de postulados referentes al álgebra de Bool los cuales son útiles para comprender los resultados que obtenemos en estas compuertas. Compuerta AND • Aquí tenemos a la compuerta AND, tanto su símbolo particular como su tabla de verdad. • Aquí se asocia una función multiplicativa, de tal manera que en base a esta se puede determinar la salida X a partir de las entradas A y B, las cuales dado que estamos trabajando lógica binaria, solamente pueden valer 1 ó 0 al igual que la salida. • La tabla de verdad resume el comportamiento de esta compuerta. • En general, dado que las entradas se multiplican entre sí, esta compuerta requiere que todas sus entradas sean verdaderas (“1”) para que su salida sea verdadera, con una sola entrada que sea 0, la salida siempre será 0. Compuerta AND • Ahora, en esta figura se observa el comportamiento generalizado para una AND de múltiples entradas, de tal manera que se sigue cumpliendo con el enunciado de la diapositiva anterior. Ejemplo de compuerta AND ante valores de A y B que varían en el tiempo. • En esta lámina se tiene ahora una AND de 2 entradas la cual es sometida a las variaciones mostradas de A y B, de tal manera que en X se muestra el resultado para cada uno de los intervalos colocados, se comprueba que X solamente existe cuando tanto A como B son verdaderos. Compuerta OR • Ahora tenemos una compuerta OR asociada a la función suma, como se puede ver su símbolo es diferente al de la AND y su tabla de verdad también, ya que la función suma difiere de la multiplicación. • Aquí, el resultado más raro es 1+1=1, en nuestro sistema decimal esto daría 2, pero recordemos que estamos en código binario, eso quiere decir que incluso los resultados solo pueden ser 1 o 0, para facilitar esta visualización, podemos decir que Activo + Activo = Activo, en laminas posteriores les dejaré un resumen de propiedades de álgebra booleana Compuerta OR • De igual manera, una OR puede tener múltiples entradas, en esta figura se observa el comportamiento generalizado para una OR de múltiples entradas, de tal manera que basta con solamente una entrada verdadera para que la salida X sea verdadera. Ejemplo de compuerta OR ante valores de A y B que varían en el tiempo. NOT o Inversor ABCD ABCD • La compuerta simple final, es la que aquí se muestra, su símbolo es considerablemente diferente al de la AND y la OR, y a menudo no se emplea el “triangulo” de la figura sino simplemente el circulo que se aprecia. • Como se puede ver, X es lo contrario (negado) de A. • Una manera de representar el negado de una entrada, es con una raya por encima de la letra que representa a dicha entrada o con una comilla a la derecha de la misma. Compuertas Compuestas • Tomando como base las 3 compuertas simples, se pueden generar otras compuertas: • NAND • NOR • XOR. • Las compuertas NAND y NOR son muy importantes ya que también son suficientes para implementar cualquier función lógica. Compuertas NAND • A grandes rasgos, una compuerta NAND es una compuerta AND con un inversor a la salida. • Aquí se aprecia lo que les comenté en 2 láminas atrás, donde les digo que para el inversor no es necesario dibujar todo el símbolo, sino que basta con poner el circulito para indicar que esa entrada o salida están negadas. • Si se compara esta tabla de verdad con la tabla de la AND, nos damos cuenta que son exactamente lo opuesto, o la podemos analizar individualmente, de tal manera que si multiplicamos 0*0=0, pero como después de la multiplicación existe la negación, este 0 se invierte y queda en 1. Compuerta NOR • Similar al caso anterior, una compuerta NOR es una compuerta OR con un inversor a la salida. • Si se compara esta tabla de verdad con la tabla de la OR, nos damos cuenta que son exactamente lo opuesto, o la podemos analizar individualmente, de tal manera que si sumamos 0+0=0, pero como después de la suma existe la negación, este 0 se invierte y queda en 1, y así sucesivamente con las combinaciones restantes de A y B. Compuerta XOR (Or Exclusiva) 0 • Ahora tenemos un caso más complejo, el 0 1 cual se denomina como compuerta XOR. • Su símbolo es el que se encuentra por 1 debajo del arreglo de 3 compuertas, tal 0 0 arreglo simboliza el proceso interno que una XOR realizar, pero si conocemos su tabla de verdad no es necesario preocuparnos por como funciona internamente, sino simplemente analizar su salida X con respecto de sus entradas. En resumen… • Estas son las compuertas lógicas que estudiaremos así como la tabla de verdad asociada a cada una de ellas. • Son operaciones matemáticas simples donde solamente hay que tener cuidado de recordar que estamos trabajando exclusivamente con 1´s y 0´s. • Pueden existir múltiples entradas pero solamente una salida en cada una de estas compuertas. • Las compuertas entonces, son circuitos que nos permiten procesar la parte matemática presente dentro de algún circuito y que por lo general viene determinado por la interacción de las variables de entrada dentro del mismo. Uso de compuertas para construir circuitos lógicos. • Empecemos a ver ahora como se conectan a las compuertas estudiadas para formar circuitos lógicos. • Para esto, lo primero que debemos conocer, es la ecuación a implementar, misma que describe la interacción de las variables presentes en el circuito para obtener una salida determinada. • Tomemos como ejemplo la siguiente: • X=ABCDEFG • La expresión anterior nos dice que tenemos una multiplicación de 7 entradas (A- G) la cual al final nos da como resultado el valor de X. • La manera más fácil de implementar esta expresión matemática es con una AND que tuviera 7 entradas, pero esto no siempre es posible en la realidad, de tal manera que vamos a proceder a implementar esta operación matemática de 7 entradas / 1 salida empleando exclusivamente compuertas AND de 2 entradas. Uso de compuertas para construir circuitos lógicos. • Implementando la función X dada, obtenemos el sistema de la izquierda. • Como se puede observar, únicamente empleamos compuertas de 2 entradas de tal manera que fuimos construyendo por partes la multiplicación indicada para obtener el valor de la salida X. • Vamos por partes, hicimos agrupaciones de 2 elementos en cada compuerta, de tal manera que a la salida de la misma, obteníamos el valor que se indica en el circuito, este valor lo fuimos multiplicando consecutivamente hasta formar nuestra ecuación original. • Nótese que dado que tenemos un número impar de variables, la ultima entrada “G” queda sola en una compuerta. • ¿Por qué la multiplicamos por 1? Por que a fin de cuentas, ese valor no altera el resultado buscado en X, a diferencia de que la multiplicáramos por 0 donde eliminaríamos a G de la ecuación. • Caso contrario, si estuviéramos implementando una función de suma, a la entrada que quedara sola tendríamos que sumarle un 0 para no alterar. Uso de compuertas para construir circuitos lógicos. • Implementemos otra función matemática empleando nuevamente compuertas de 2 entradas: • X= ABC + (DE)’ • Como podemos observar, tenemos una operación compuesta de multiplicaciones, suma y negación. • La comilla a la derecha del paréntesis en el 2do término indica que el producto de “DE” es negado. • Tenemos entonces, una combinación de distintos elementos para crear una función matemática la cual dependiendo de los valores en cada una de sus entradas tendrá una salida única. Uso de compuertas para construir circuitos lógicos. • Un ejemplo más? Ok: • X= ABC + (AB)’ • Ahora tenemos un sistema de 3 variables de entrada (A, B y C) pero que se usan en partes distintas de la ecuación que define a X. • Para esto, podemos generar una etiqueta la cual contiene el valor de cada variable, ya que a pesar de que se usan en distintos instantes, el valor que tome cualquiera de ellas siempre es el mismo. • Por lo tanto, podemos acomodarlas de la forma que se muestra, de tal manera que nos ahorramos el repetir fuentes en cada entrada que representen a la misma variable. Uso de compuertas para construir circuitos lógicos. • Tarea 7. • Tomando como referencia el ejemplo anterior, construir mediante compuertas de 2 entradas las siguientes funciones matemáticas. • X= (AB+C)*D’ • X= A(B+C’) • X= AB +(AB)’ • X= (AB+(AB)’)’+(CD)’ • X=(ABCD+EFGH)*(A’)BCD