# Flip Flop JK solo con transistores



## crawlly (Sep 19, 2014)

Hola a todos, les saludo con este mi primer post y con un tema que me viene volviendo loco desde hace meses, diseñar un flip-flop JK solo con transistores. 
Soy nuevo en la electrónica, básicamente me aventé al ruedo hace 8 meses mas o menos y he estado aprendiendo de manera autodidacta, concretamente todo comenzo como curiosidad sobre "¿como funcionan las cosas?" y ahora es mas bien una pasion!. Respecto al flip-flop, la logica la entiendo perfectamente, de hecho he estado utilizando proteus desde el principio (para aprender), y en cuanto al diagrama lógico lo tengo bastante claro. Es ahora, que lo estoy llevando a la proto-board, que empieza lo divertido!. El flip flop rs es super sencillo y ya lo tengo, funciona. Es cuando quiero hacer las AND de 3 entradas que controlan J, K y la señal de Reloj, en donde todo se vuelve un desastre. La triple compuerta AND la intente hacer tanto con DIODOS como con tres transistores en serie... y lo que sucede cuando lo activo, es que siempre enciende en Q, al dar un pulso de reloj, pasa a Qnegado y de ahi no se vuelve a mover JAMAS!!!!. ¿alguna idea? 
Hice rapidamente un dibujo en proteus de lo que tengo en mi protoboard para poder mostrarlo, aunque los resultados que tengo en proteus a los de la protoboard son un mundo de diferentes!

Nota: Las entradas JK estan conectadas al mismo switch, para que jk este siempre encendido y conseguir asi un Toggle en cada ciclo de reloj, pues mi intención es hacer un contador binario de muchos flip-flops. 

Gracias de nuevo! 

El Crawlly


----------



## capitanp (Sep 19, 2014)

Los flip flops son en si a transistores asi que tendria que salir, podrias subir el archivo de proteus para que los colegas que los tengan instalados puedan probarlo


----------



## opamp (Sep 19, 2014)

Una anécdota que te puede ser útil:
Mediados de 1987, iniciaba Circuitos Electrónicos III( sexto ciclo ) y el profe nos dice como primera evaluación tienen que implementar el 555 a transistores tienen un mes para desarrollarlo.

A la siguiente semana de clases le pusimos Catedra paralela, el nuevo profe nos enseño el uP8086 y periféricos , todo el aula  se trasladó a la càtedra paralela, el antiguo profe se vió obligado a renunciar por no tener alumnos.

Gracias por revivir tan grato recuerdo. A buén entendedor .....


----------



## capitanp (Sep 19, 2014)

opamp flojos aaajajaja


----------



## crawlly (Sep 20, 2014)

Hola de nuevo, ¡gracias por sus respuestas!. Ese circuito del 555 que posteas capitanp es simplemente ¡hermoso!, ahora ya tengo la espinita de hacer uno también jejeje.
Aqui esta el archivo de proteus, con las compuertas AND de transistores y la de diodos al lado. Ayer por la noche estuve jugando con el prototipo, moviendo cables a ver que pasaba. Creo que necesito balancear las corrientes, pero como todavia no le agarro bien la onda al calculo de resistencias me hago un lio tratando de entender como estoy dividiendo los voltajes y las corrientes... en fin, que note que mi circuito es como un barco que zozobra, teniendo todo el peso de un lado haciendo que se incline y de ahi que siempre tengo Q negado. 
Buena la anecdota opamp.

¡Gracias de nuevo!


----------



## palurdo (Sep 20, 2014)

crawlly dijo:


> Aqui esta el archivo de proteus, con las compuertas AND de transistores y la de diodos al lado. Ayer por la noche estuve jugando con el prototipo, moviendo cables a ver que pasaba. Creo que necesito balancear las corrientes, pero como todavia no le agarro bien la onda al calculo de resistencias me hago un lio tratando de entender como estoy dividiendo los voltajes y las corrientes... en fin, que note que mi circuito es como un barco que zozobra, teniendo todo el peso de un lado haciendo que se incline y de ahi que siempre tengo Q negado. Y si, ante la duda, verifique la ley de Ohm



No he podido ver el archivo de proteus, pero por lo que he visto en la imagen de tu primer post, creo que quieres implementar con transistores un JK con un latch tipo RS controlando las entradas RS con puertas AND para convertirlo en un flip-flop controlado por una señal de reloj:






Este es el esquema que todos tenemos en mente de un JK. ¿Verdad? Yo en su día me volví loco hasta desistir implementandolo simplemente con puertas lógicas. Lo que nadie me explicó y ojalá en su momento alguien se hubiera molestado, es que este latch, disparado por nivel, es inestable en el nivel que activa la señal CLK. La razón es que mientras CLK habilite que las salidas Q y /Q se realimenten en las entradas S y R del biestable SR, el biestable va a estar cambiando continuamente de estado y cuando CLK pase a 0, el biestable se quedará enclavado en el estado "más estable" que encuentre o bien en un estado aleatorio, dependiendo del diseño de las puertas lógicas. Para que el JK funcione con el CLK disparado por nivel, el pulso de CLK debe ser más estrecho que el retardo de propagación hacia adelante de las puertas, lo que lo convierte en un flip-flop, o un biestable disparado por flanco. Lo normal es hacerlo mediante condensadores que estrechan el pulso. Aquí un flip-flop tipo Toggle a partir del esquema anterior, pero eliminando las entradas JK que siempre están a 1 y por lo tanto son redundantes como entradas hacia una puerta AND, y disparado por un CLK se que "flanquea" en pulsos más estrechos que el retardo de propagación de los transistores:






Otra forma más esquematizada a partir del esquema original:






La puerta AND tras CLK genera un pulso muy estrecho que dura lo que dure el retardo de la entrada negada de la misma AND.

Sin embargo esto depende muchísimo de que todos los componentes del flip-flop sean lo más similares posibles. Si uno de los transistores de las puertas tiene más retardo que los otros o se satura más, o se satura menos, el circuito puede no funcionar. Incluso el que funciona con condensadores, puede que el valor de los condensadores sea tan pequeño que los pulsos no lleguen a excitar las bases de los transistores o que sean de un valor tan grande que el pulso todavía quede presente tras el cambio de estado y se produzca otro cambio de estado.

Lo ideal sería que implementaras un flip-flop JK mediante 2 latches SR uno que se activa con el nivel alto de CLK y el otro que se active con el nivel bajo. Esto es lo que se conoce como un flip-flop maestro/esclavo y es disparado por flanco ya que el último biestable toma el estado del anterior en el cambio de CLK justo antes de que el primer biestable cambie. Aquí el flip-flop JK maestro-esclavo:






Se puede implementar con latches RS o latches JK (ver que la diferencia entre un latch y un flip-flop es que el latch varia la salida con respecto la entrada con el nivel activo del CLK y un flip-flop varia la salida con el cambio de flanco de CLK)






Pero tu lo que quieres es implementar un biestable tipo Toggle, no??, bueno para empezar ya has visto que las entradas J y K si siempre estan a 1 en la entrada de puertas AND o NAND pueden eliminarse, lo mismo que la entradas siempre a 0 de puertas OR o NOR. 

Puedes implementarlo a partir de un flip-flop tipo D haciendo que la salida /Q conecte con la entrada D. El flip-flop tipo D tiene una construcción mínima con 6 puertas NAND o 6 puertas NOR:






Mejor hacerlo a transistores con puertas NOR porque requiren de menos componentes. Aquí tienes los bloques básicos para compuertas NOR tipo RTL de dos y tres entradas:



Puedes poner puertas DTL pero son más componentes, y como no creo que necesites mucha velocidad... Eso sí procura que todos los bloques usen las mismas referencias de componentes para que los retardos sean parecidos.



crawlly dijo:


> Gracias por la anecdota opamp, ya que sacaste el tema, tambien tengo en proyecto (algun dia) programar un Z80! si es que encuentro alguno claro...
> 
> ¡Gracias de nuevo!



El Z80 lo sigue fabricando Zilog. Puedes pedir que te envien muestras a través de su web.


----------



## crawlly (Sep 20, 2014)

Estimado Palurdo... no tengo palabras. ¡GRACIAS!, me haz enseñado TANTO con tan solo un par de minutos que no se como agradecerte que te hayas tomado el tiempo de escribir tan excelente explicación, hablas (o mas bien escribes) con una claridad absoluta. Ahora lo entiendo todo, no solo la solución a mi problema, sino ¡muchas cosas mas!
Grande grande, eres muy grande!!!

¡Saludos y mil gracias!


----------



## capitanp (Sep 20, 2014)

Te dejo el esquema del 555 con los componentes, saludos


----------



## crawlly (Sep 21, 2014)

¡WOW! Gracias Capitanp!!


----------



## palurdo (Sep 23, 2014)

A que es casi hipnotico???



Espero que te guste. Saludos.


----------



## crawlly (Sep 23, 2014)

Oh por Dios!! ¿tan sencillo era hacer las NOR???. Y yo haciendome un lio con un circuito super enredado jajajaja. Aunque si me funciono, no habia sido capaz de conectarlos en cascada para hacer el contador. Pero eso si, ¡he aprendido muchisimo con este proyectito!
Gracias Palurdo, por la guia y consejo, bueno y al final por el circuito!, ¿como voy a hacer para pagar tu ayuda?, ¡te pasaste!. 
Estoy ansioso por probar este circuito tuyo!, ya te comentare como me fue =D
Otra vez ¡ ¡ ¡ MIL GRACIAS ! ! !





palurdo dijo:


> A que es casi hipnotico???
> 
> Ah y por cierto, ¡¡si que es una pasada!!
> 
> ...


----------



## crawlly (Sep 23, 2014)

¡FUNCIONA!, conecte 4 en cascada y funciona super bien, ¡es una belleza!
¡Miles de gracias Palurdo, eres grande!


----------



## palurdo (Sep 23, 2014)

Jeejeje pues ya sabes, vídeo en youtube para la posteridad. De nada hombre, me alegro que te funcione. Un saludo!!


----------

