Digital 3: Contadores y máquinas de estado

Para facilitarnos la vida, mediante flip-flops cuyo reloj está conectado en serie con la salida Q del anterior, logramos hacer contadores asíncronos, que ya van integrados todo en uno y además añaden algunas funciones. Por ejemplo un contador de 3 bits estaría formado así:

Digcont

Con ésta combinación, los contadores, cuyos integrados tienen varias salidas, ponen una secuencia de conteo en dichas salidas. Hay contadores de 4 bits que hacen toda la tabla posible, de 0000 (0) a 1111(F), otros también de 4 bits cuya única función es contar en BCD de 0 a 9, y otros con 9 salidas que cuentan en decimal, poniendo en estado bajo una salida cada vez (pero el resto siempre en alto).

74LS93

Es un contador asíncrono de 3 bits con posibilidad de aumentar a 4 bits si se une la salida Q0 con la entrada CLKB. Si no se hace, entre CLKA y Q0 hay un simple flip-flop JK con J y K puestos a 1. Incluye un reset que se activa poniendo a 1 las patillas R0(1) y R0(2).

Dig93

Para hacer contadores síncronos, todos los relojes de los flip-flops se conectan a un mismo reloj, y la cuenta se hace mediante circuito lógico, lo que hace que el tiempo de propagación sea mayor.

Para convertir un contador en BCD, se le añade internamente (o externamente) un circuito que resetea la cuenta cuando llega a 9 (1001)

74LS190

Es un contador de décadas con posibilidad de contar hacia arriba o hacia abajo (U/D) y precargar un número cuando la entrada de precarga se activa. Añade un RCO (ripple count output, reseteo del conteo, se activa cuando vuelve a empezar), un TC (Terminal count, se activa cuando el conteo llega al número máximo), y un CE (Count enable, si no se activa mantiene la cuenta parada, mostrando a la salida el mismo número).

Con éste contador de 0 a 9 podemos hacer secuencias desde el número que queramos hasta el número que queramos, hacia delante o atrás. Si por ejemplo queremos contar de 2 a 6, ponemos en precarga un 2 (0010), y a la salida hacemos que un circuito lógico detecte un 7 (0111, servirá con un NAND), de forma que cuando pase de 6 a 7, por muy poco tiempo, activará la señal de Precarga (se activa a nivel bajo) y volverá al 2.

Máquinas de estado: Máquinas de Moore

Ahora que controlamos el funcionamiento de los flip-flops, podemos hacer una secuencia con ellos. Éstas máquinas se basan en detectar en qué punto del proceso se encuentra la máquina (guardado por los flip-flops actuando como memorias), mediante un circuito saber si dada una entrada (o varias) debe cambiar al siguiente punto, y mediante otro circuito activar o desactivar las salidas dependiendo del punto en el que se encuentre. Éstos circuitos nos lo va a dar un programa llamado Boole-Deusto, gratuito creado por profesores y alumnos de la universidad de Deusto. Para decirle al programa que nos transforme una máquina de estado en un circuito, hacemos una representación mediante círculos (estado, dentro del cual hay una salida) y flechas (posibles entradas, cambio de estados). Por ejemplo:

Quiero que un sistema ponga a 1 una salida cuando reciba la secuencia 0-1, y que ponga la salida a 0 cuando reciba la secuencia 0-1-0. El diseño es así:

DigBoole

Os lo explico: el sistema arranca con la salida a 0, en el estado Q0. Cuando reciba un 0, se seguirá quedando en Q0, no habrá cambios. Cuando reciba un 1, cambiará al estado Q1, en el cuál, si recibe un 1 volverá a Q0 (se ha roto la secuencia), y si recibe un 0 (secuencia correcta), pasará a Q2. Una vez en Q2, se activa la salida. Si lo próximo en recibirse es un 1, se queda en el estado Q2, si es un 0, pasa al estado Q3. En Q3, si recibe un 0 (secuencia rota), vuelve a Q2, si recibe un 1, pasa a Q3. Una vez en Q3, si recibe un 1, volverá a Q2 (secuencia rota), mientras que si recibe un 0 (secuencia correcta), pasará a Q0, apagando la salida.

Una vez hecho ésto, sólo hay que elegir “ver circuito”, entre JK o D, y sale el resultado:

DigCirc

Dicho programa es un .exe, y no necesita instalación. Además de sistemas secuenciales, también puede hacer circuitos combinacionales simplificados, dandoos la ecuación y el circuito gráfico, así que aprovechadlo. Podréis descargarlo aquí:

https://mega.co.nz/#!0kEnDaaa!spqDT8kDxTVYFKMz36yIRWXrs0-YpudfF5YfL5t4ZFI

Leave a comment