miércoles, 24 de julio de 2019

Detector de secuencia

Detector de secuancia()
Se requiere dectectar una secuencia esfefica de numeros (0347)para ello usaremos un dieseño mealy en los cuales tendremos 4 estados A estado inicial ,B estados despues de oprimir 0 , C estado despues de oprimir el 3 en el estado B y D estado despues de oprimir  4 en el estado C en el momento en que oprimima en el momento en que se oprima 7 regresara al estado inicial de acuerdo a la siguiente tabla
y de esta manera podemos obtener las ecuaciones de Q1* Y Q0* recordado toamr la salida de que se realizo la secuancia de manera correcta como un and del esado D y el numero 7 a la entrada .
Q1* nos quedara de la siguiente manera 
Q1*=Q1NEGADO*Q0*X2NEGADOX1*X0+Q1*Q0NEGADOX2*X1NEGADO*X0NEGADO
Esto se puede moldear como un flip flop jk
tomando j como Q0*x2negadoX1*X0 
y k como (Q0NEGADOX2X1NEAGADOX0NEGADO)NEGADO
y Q0* nos queda
Q0*0Q1NEGADO*Q0NEGADO*X2NEGADO*X1NEGADO*X0NEGADO
+Q1*Q0NEGADO*X2*X1NEGADO*X0NEGADO
SE puede tomar como un flip flop jk toando k como 1 y j
COMO  X1NEGADO*X0NEGADO(Q1XORX2)
Nota:tomando la x0,x1 y x2 como la entrada binaria de la secuencia digitada 

domingo, 21 de julio de 2019

pwm

PWM
se necesitan tener diferentes estados que se utilizaran para los controles de motores , se utilizan estados de un motor mas rapido que otro ,ambos apagados y los dos a la misma velcidad representado en la siguiente tabla:
De manera que se diseña una maquina de estados que permita todos los estados que permitiran controlar los motores  utilizando un contador y un comparador 
ya con esto utilizaremos este bloque para cada estado que ira un mux que se dirigira a los motores 

viernes, 19 de julio de 2019

dispensador de tabaco

Dispensador de tabaco
se requiere que una maquina dispense tabaco a la entrada de 100 pesos , a la cual puede entrar monedas de 25 , 50 y 100 pesos ,y que dara cambio si es nesecario.
para esto tendremo estados que reconocen la entrada como M1 Y M0
si es 00 no se recibieron monedas,so es 01 se recibio una moneda de 25 ,si es 10 se recibio una moenda 50 y si es 11 se recibio una moneda de100.
De manera similar tendremos la salida de el cambio si es nescesario:
si es 00 no hay cambio .01 cambio de25,10 cambio de 50 ,11 cambio de 75.
y por tultimo una salida si entrega o no el producto  0 o 1 .
para esto tendremos un estado para cambio que se podruca en el sistema por la entrada de monedas
A:0
B:25 
C:50
D:75
con un diseño mealy la transion permitira optener la salia del cambio y la del procuto si se expende o no ,para esto tendremos la siguiente tabla facilitada para diseño flip flos tipo t
Con la tabla anterior podemos obtener las ecuaciones para cada salida siendo T1 y T2 los estados de Q1 Y Q0 respectivamente en flop flops tipo t 
T1=M1M0NEGADO+Q1M1+Q0M1NEGADOM0
T1=M1NEGADOM0+Q1M0+M1Q1Q0
C0Q1+M0
C1=Q1M1M0


Banco de memoria

MEMORIA DE 1 bit
      
se reiquiere un dispositivo que permita guardar informacion y visualizarla  para esto utilizaremos un flip flops tipo
R S y jugaremos con su entradas recordando las limitaciones del mismo tenemos el siguiente diagrama
tenieno Din como la entrada de informacion que se guardara en la memoria una entrada sel que sirve como habilitador y permite el posicionmaiento del bloque en paralelo y RW como una selecion entre eescribir en la meoria o visualizar la informacion guardada en ella.

MEMORIA DE 4 bit
utilizando el bloque anterior pondremos una memoria de 1 bit para cada bit que se desee guradar uniendo todos lo selectores (sel y rw) de cada bloque tendremos 4 entradas de 1 bit y 4 salidas de 1 bit

      

contador de dos bits

CONTADOR DE DOS BITS
 
En un contador de dos bits secuencial seguiresmos una secuancia logica desde 00 hasta 11 como muestra el siguiente diagrama de estados



Del diagrama anterior obtenemos la siguiente tabla de cual obtenemos la ecuacion de Q0 Y Q1 tomado Q0 como el bits menos significativo y Q1 como el mas signigicativo siendo el *  la representacion de siguiente estado
con esto y al relizar los mapas  karnaugh necesarios obtemos las funcion de Q0 Y Q1*
Q0*0Q0XNEGADO+Q0NEGADOX
Q1=Q1XNEGADO +Q1Q0NEGADO+Q1NEGADOQ0X
utilizando flips flops jk tenemos que :
K1=Z*Q0NEGADO
J1Q0X
K2=J2=X




martes, 25 de junio de 2019

Decodificador de teclado matricial con visualización dinámica






Decodificador de teclado matricial con visualización dinámica



Teclado matricial

El teclado matricial es una herramienta muy práctica que nos permite realizar bastantes aplicaciones interesantes, como se muestra en la imagen el teclado matricial funciona de tal manera que al pulsar un botón se realiza un corto entre una fila y una columna, este detalle es bastante importante a la hora de realizar el decodificador del teclado matricial.


Decodificador de teclado matricial

Para la realización del decodificador del teclado matricial se implementó un diseño ya realizado con un sistema secuencial, la idea con esto es analizar las salidas de este circuito para posteriormente realizar un decodificador del teclado matricial a binario.




 Esquemático decodificador teclado matricial:



Al realizar las pruebas usando los leds para simular las salidas del decodificador se observó el siguiente comportamiento



S3
S2
S1
S0
1
0
0
0
0
2
0
0
0
1
3
0
0
1
0
A
0
0
1
1
4
0
1
0
0
5
0
1
0
1
6
0
1
1
0
B
0
1
1
1
7
1
0
0
0
8
1
0
0
1
9
1
0
1
0
C
1
0
1
1
*
1
1
0
0
0
1
1
0
1
#
1
1
1
0
D
1
1
1
1



Se realizaron los respectivos cálculos para diseñar el decodificador del teclado matricial a binario





Teniendo en cuenta que las letras de la (A) a la (D) corresponden a un número del 10 al 13 respectivamente y que tanto el símbolo (*) como él (#) corresponden al 14y al 15 respectivamente, el decodificador se muestra en la siguiente imagen usando combinacionales.
Prsiguiendo con la vizualizacion dinamica se tiene que tener en cuenta que el teclado matricial muestra los numeros del 0 al 15 por lo que era necesario la implementacion de un decodificador de binario a BCD y posteriormente conectar este a un multiplexor que facilitaria la vizualizacion a los dos displays de siete segmentos que se requieren.

Para el decodificador de binario a BCD se decidio crear el componente usando un lut que permite facilitar el proceso de creacion del componente, para la creacion del lut se uso el datasheet del dm74185 que contenia la tabla de verdad de este decodifiador asi como tambien varias configuraciones que permiten manejar varios bits de ebtradas y de salida, para efectos de la pracica se escogio la configuracion de 5 bits binarios y 8 bits bdc como se muestra en la imagen.


Por ultimo se nesetita un mux que nos facilite la vizualizacion a ambos displays, como el decodificador de binario a siete segmento toma cuatro bits de entrada y el decodificador de binario a bcd tiene 8 bits de saida, se decidio diseñar la vizualizacion con un mux de 8 a 4 y conectar su selector a una señal de reloj que permitiera alternar entre el digito decimal y el digito unitario, para que cada display muestre aparte el numero correcto se toma esta mkisma señal de reloj para controlarlos conectando una compuerta not y la salida de esta a una tierra del display y la otra directamente a la tierra del otro.

video