Digital 2: -estables

-Estables, sí, es por ponerle un título corto al tema. Lo que vamos a ver, exactamente, es la combinación de puertas lógicas, que nos van a llevar a latches, flip-flops, monoestables, biestables y astables.

En primer lugar, el latch. ¿Qué es un latch? Es un pequeño dispositivo formado por dos puertas NAND (también los hay con NOR), que actúa como una memoria de 1 bit, cuyas entradas son Set y Reset, y sus salidas Q, el bit, y Q negada, el mismo bit, negado. El circuito es el siguiente:

Dlatch

Vamos a ver qué ocurriría en la salida dada una sucesión de entradas:

  • Estado inicial, S es 0, R es 0, Q es 0.
  • Ponemos S a 1, la salida Q cambia a 1.
  • Ponemos S a 0, la salida Q se mantiene en 1.
  • Ponemos S a 1, sin cambios, Q sigue siendo 1.
  • Ponemos S a 0 y poco después aplicamos un pulso en R, la salida Q cambia a 0.
  • Si ponemos S a 1 y R a 1 a la vez, no se sabe exactamente qué es lo que hay en la salida.

A un latch lo llamamos un dispositivo asíncrono, que no espera a una señal de reloj (normalmente externa) para realizar el cambio en la salida, lo hace inmediatamente en cuanto se aplica la entrada.

Hay otra variante de latch llamada latch D, cuyas entradas son D y E. Cuando se aplica una entrada en D, simplemente, no ocurre nada, hay que activar a la vez E (Enable), para que la salida cambie. Así sería:

  • Ponemos D en 1. No ocurre nada.
  • D sigue siendo 1 y ponemos E en 1. Q cambia a 1.
  • D está a 0 y E baja a 0. Q sigue en 1.
  • D pasa a 1 pero E sigue en 0. Q sigue en 1

Más o menos espero que se pille, la cuestión es que poner E a uno momentáneamente copia la entrada a la salida.

Flip-flop

Desarrollando lo visto anteriormente, llegamos a un sistema síncrono. Ésto quiere decir que hasta que no llega un pulso de reloj, el sistema no realiza ningún cambio sea cual sea la condición.

Tampoco nos sirve un pulso de reloj cualquiera, sino que tendremos 2 tipos de entrada de reloj:

  • Por flanco de subida: actúa cuando el pulso de reloj pasa de bajo a alto.
  • Por flanco de bajada: actúa cuando el pulso de reloj pasa de alto a bajo.

Se distinguen por lo siguiente, la bolita de negación en la entrada:

Dclock

Ése que veis ahí es el flip-flop tipo D, se basa en que cada vez que llega el pulso de reloj, simplemente, copia el estado de D en la salida Q.

Para liar un poco más la cosa, tenemos el flip-flop tipo JK. Éste actúa igual que el latch SR (S=J, R=K), sólo que incluye la entrada de reloj como una especie de Enable (hasta que no llegue la señal de reloj, pase lo que pase, no actúa).

Djk

Si seguimos combinando éstos circuitos, y mediante una red RC simple e ingeniosa, llegamos a los monoestables. ¿Qué es un monoestable? Es un dispositivo que es capaz de mantenerse estable en un estado, y cuando llega un pulso de disparo (casualmente se usa la entrada de reloj), se mantiene en el estado contrario al estable durante un tiempo definido por la red RC, hasta que vuelve a su estado estable.

Dmono

En otra combinación de los flip-flops, siéndoos sinceros, simplemente con un par de cables, obtenemos el biestable. Por la definición anterior ya se intuye que éstos son capaces de mantenerse estables en un estado o en otro. En un principio se mantiene en un estado estable hasta que llega un pulso de disparo, entonces el estado cambia y se mantiene estable, hasta el próximo pulso, en el que el estado vuelve a cambiar…

Dbi

Éste es con un tipo D, pero también los hay con JK. Como veis, éste integrado incorpora 2 flip-flops tipo D con entradas R y S. En éste caso R es un Reset asíncrono, que pone a 0 la salida Q sin esperar al reloj. Y S es Set, pero asíncrono, pone a 1 la salida sin esperar al reloj. Es como si tuvieras todas las salidas posibles desarrollando desde el mismísimo latch.

Astable

Es un dispositivo que no se mantiene estable en ninguno de los estados. Pero para ello introducimos al…

555

Viejo como la misma electrónica digital, pero todavía en uso por las características de precisión, precio y posibilidades. Es capaz de actuar como monoestable, astable y dicen (aunque no he conseguido que funcione), biestable, según la configuración de su circuito externo, que es una red RC. Modo astable:

D5a

Calculadora: http://www.ohmslawcalculator.com/555_astable.php

Modo monoestable:

D5m

Lo bueno de éste integrado es que se puede encontrar en prácticamente cualquier parte a buen precio, puede que tanto en versión TTL como CMOS, siendo ésta última la más barata. Por supuesto, si se compra por internet al mayorista una cantidad “grande”, hablemos de 10, sale mucho más barato.

Un contra que tiene, es que en su configuración normal como biestable no consigue un ciclo de trabajo menor al 50%. Para lograrlo, se añaden uno o dos diodos. Con dos diodos conseguimos un control por PWM como el que ya publiqué aquí.

Digital 0: Introducción

Bienvenidos al nuevo curso. Éste año tendréis por aquí más cosas nuevas como electrónica digital y electrónica de potencia. Otra vez más me voy a permitir el lujo de saltarme la gran mayor parte de la introducción, es decir, el porqué de las cosas, y vamos directos a aprender.

En digital, ya sabéis, las cosas funcionan mediante un estado binario: alto (1, o voltaje alto Vh, o H) y bajo (0, o voltaje bajo Vl, o L).

Lo que hacemos es combinar éstos estados que nos traen los sensores, botones o actuadores que ponemos a las entradas mediante puertas AND, OR y NOT para al final obtener el resultado que queramos. Sí, mediante éstas puertas se puede conseguir cualquier función lógica. Aunque en realidad la puerta más básica es la NOT seguida de la NAND, la más usada para simplificar.

¿Cómo conseguimos sacar ésas funciones lógicas?

En primer lugar, construiremos una tabla con todos los estados de las entradas posibles y la salida que se le atribuye a cada combinación. La tabla siempre tiene un número de filas correspondiente a una base 2, es decir, si tenemos 3 entradas, 2^3=8 filas. Ahí va el ejemplo:

Dtabla

Como podéis ver, se muestran todas las combinaciones posibles de A, B y C. Y sabemos en cada combinación cuál va a ser la salida que queremos. ¿Y ésto para qué? Bien, podéis sacar de ahí mismo la función mediante sumas de productos o productos de sumas. Ojo:

  • Mediante sumas de productos: lo que hacemos es fijarnos en los 1 de la salida, y para cada 1 hacemos el producto del estado de las entradas (normal si es 1 y negado si es 0), luego sumamos todos esos productos. De ésta forma sale enseguida que:

Dsp

  • Mediante productos de sumas: ésta vez nos fijamos en los 0 de la salida, y para cada 0 hacemos la suma del estado de las entradas (normal si es 0 y negado si es 1), el mundo al revés. Y luego se multiplican todas ésas sumas. No lo voy a hacer porque, he aquí la desventaja del método, es largo, y ya os lo podéis imaginar.

Vaya, ésto se hace demasiado largo, ahora teníamos 8 combinaciones, pero con 4 entradas serían 16 y con 5, 32, y ya mejor ni pensarlo. ¿Qué podemos hacer? Un mapa de Karnaugh. Es un método que, además de hacer la cosa más corta y visual, ya sale la función simplificada al máximo, sin añadir álgebra ni cosas extrañas que no queremos aprender. Aunque, éstos mapas siguen el código Gray, una forma de secuencia del sistema binario en el que las diferencias entre uno y el siguiente ocurren sólo en 1 de los dígitos: 00 01 11 10. Y el mapa se monta así:

DKarn

En éste caso no nos ha salido un mapa muy agraciado, y tenemos un 1 suelto por ahí sin pareja. Sí, la cosa se trata de emparejar unos, de dos en dos, o de 4, o de 8… Siempre en base 2. Y lo bonito es que, tal como dijeron los griegos y ratificaron Magallanes y Elcano sobre nuestro planeta, el mapa es esférico. Vamos a emparejar primero la tabla tal como está y luego la modifico un poco para ver cómo funciona:

DKarn2

En éste caso tendríamos dos grupos, uno de 2 y otro de 1 (es válido porque 2^0=1). Y la función se escribe: cojo un grupo, miro a los lados ¿El número de la entrada A cambia? Sí, pues lo quito, no, pues lo dejo. En éste caso no, y es 0, así que se incluye y negado. Tampoco cambia C y es 1 así que no negado. La B no entra porque cambia. Con el 1 que está sólo no nos queda más remedio que escribir las 3 entradas.

DKarn3

Ahora quizás no lo apreciáis bastante, pero os aseguro que se ha acortado bastante la cosa, sobre todo si vas a dibujar el circuito. Y ya ni digamos si vas a montarlo. Porque habéis pasado de usar unas 11 puertas a 6. Y se nota.

Ahora voy a hacerle un pequeño cambio a la tabla:

DKarn4Como veis, he añadido un 1 abajo a la derecha y los colores han cambiado. En realidad es una chapuza porque, como todos sabemos, azul + amarillo = verde. Lo que he hecho ha sido mantener la pareja de unos que ya teníamos antes, y emparejar a la vez el de abajo a la izquierda con el de abajo a la derecha. Porque cada extremo del mapa se une. Perdón por el mareo, pero lo vamos a ver de otra forma:

DKarn5

Ahora vamos a volver a nuestra tabla de antes, sin modificar. Hemos sacado la función, muy bien simplificada, con el mapa. Pero ahora queremos implementarla en un sistema real y, oh, necesitamos 3 circuitos integrados: 1 NOT, 1 AND y 1 OR. Y éso ocupa espacio y dinero. ¿Podemos hacer que funcione todo el circuito con sólo una compuerta lógica? ¡Sí! Normalmente entre NAND y NOR usamos la NAND, que se hace de la siguiente forma: negamos dos veces la función y aplicamos algo “mágico”.

Dboole

De ésta forma, si aplicamos la doble negación:

DNand

Como veis, aún se quedarían las entradas A y C negadas en la entrada, al principio.¿Usaremos NOT igualmente? No, porque podéis usar una puerta NAND uniendo sus dos entradas, convirtiéndola en una y ahí enganchando la entrada para negarla.

¿Qué hemos hecho con ésto? Pues ahora necesitamos 5 puertas, pero sólo 2 integrados. En éste caso, debido al 1 que andaba solitario (sí, estaba para molestar) necesitaremos un circuito integrado que lleve 4 NAND 2-Input y otro que lleve 3 NAND 3-Input, para éste circuito:

Dcircuito

No es lo idóneo que haya una NAND de 3 entradas por ahí, pero bueno, nos ha salido rana el ejemplo, es lo que tiene no preparárselo antes de escribir.

Y ésto va a ser todo por hoy, es la base y el pan digital de cada día. Todos los días nos toca hacer alguno de éstos en clase.