2 votos

Diseñar un contador con una secuencia arbitraria

Estoy intentando diseñar un contador asíncrono con flip- flops JK, con una secuencia arbitraria.

La secuencia es: 0 ,1,10,11, 0 ,5,14,15.

Sé cómo resolver este tipo de problemas, pero en este caso la secuencia repite un número, el 0.

Quiero resolver esto como este tipo: https://www.youtube.com/watch?v=Zce6NlHuvfs

Pero no sé cómo gestionar el problema de la repetición de un número en la secuencia.

¿Alguna idea?

Gracias de antemano.

6voto

krgrant Puntos 11

Si escribes la asignación de los estados de recuento 0-7 a las salidas

count             oputput
C2 C1 C0          O3 O2 O1 O0
0  0  0           0  0  0  0    =  0
0  0  1           0  0  0  1    =  1
0  1  0           1  0  1  0    = 10
0  1  1           1  0  1  1    = 11 
1  0  0           0  0  0  0    =  0
1  0  1           0  1  0  1    =  5
1  1  0           1  1  1  0    = 14
1  1  1           1  1  1  1    = 15

Usted ve que
O0 = C0
O1 = O3 = C1
O2 = (C0 O C1) Y C2

Así que puedes conseguirlo simplemente con un contador de 3 bits, una puerta OR y una puerta AND:

schematic

simular este circuito - Esquema creado con CircuitLab

Nota: existe, sin embargo, una llamada peligro entre el estado de recuento 5 y 6, es decir, puede haber varios bordes antes de que la señal se establezca en el nuevo estado. Eso no será un problema si no te importan los bordes de salida, sólo los niveles.

-1voto

RelaXNow Puntos 1164

En lugar de hacer un contador que cuente en una secuencia extraña, deja que el contador cuente normalmente, y luego asigna el resultado a través de una tabla de consulta. Parece que tus números están limitados al rango 0-15, así que 4 bits. Eso significa que sólo necesitas una memoria de 4 bits con direcciones de 4 bits, para un total de 64 bits.

Aún más fácil es hacer todo esto en firmware en un microcontrolador. Generar el recuento mediante el incremento, a continuación, utilizar los 4 bits bajos para indexar en una tabla.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X