Haz una pregunta
  Foros de Electrónica » Diseño digital » Circuitos lógicos combinacionales y secuenciales
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

09/02/2014 #1


Ayuda con sistema de filtro comparador de 6 bits
Hola que tal muchach@s, antes que todo quisiera decir que soy nuevo en el foro, por lo que no sé si algo similar había sido preguntado antes.

Resulta que estoy armando un sistema Contador de ciclos de cierta secuencia de un número binario de 3 bits, estas secuencias corresponden a la combinación de las luces de dos semáforos de 3 luces cada uno, rojo,verde y amarillo( en ese orden).
El contador contará cada vez que se cumpla la siguiente secuencia completa correspondiente al encendido y apagado de las luces en ambos semáforos:

1. En el inicio debe estar encendida solo la luz roja, por lo que se tiene : 100 en cada semáforo.
2. Luego deben estar encendidas la luz roja y la luz amarilla, por lo que se tiene: 101 en cada semáforo.
3. Luego deben estar encendida la luz amarilla y la verde, por lo que se tiene :011 en cada semáforo.
4. Luego debe estar encendida sólo la luz verde, por lo que se tiene: 010 en cada semáforo.
5. se vuelve al paso 3.
6. se vuelve al paso 2.
7. se vuelve al paso 1.

Cómo se puede inferir, hay 6 variables (las 3 luces por cada semáforo) , por lo que el total de combinaciones de luces que se pueden dar corresponden a 2^6=64, de esas 64 sólo las 7 secuencias anteriores de pares de 3 bits deben ser tomadas en cuenta para completar un ciclo completo que llegaran a un contador que las acumulará hasta llegar hasta 999.999 y los irá mostrando en 5 displays.

El sistema contador ya lo diseñé y no tiene ningún problema, salvo que me tira un error después de ciertos conteos (error que creo debe ser por la frecuencia de conmutación que le doy a la señal de onda cuadrada al inicio del contador, también hice este con un switch, debido a que la frecuencia en que se cumplirá cada ciclo no es constante, y tb me tire un error en un tiempo mucho más largo eso si) .
Mi principal problema es con el filtro de bits que se deben dar para completar un ciclo que llegará al contador a través de un 1 lógico. Yo lo diseñé con 7 pares de comparadores (74HC85) conectados en serie, debido a que son 6 bits los que se deben comparar con las 6 entradas aleatorias( 3 de cada semáforo). la cuarta entrada de cada comparador sólo las conecté a tierra, para que de esa forma me compare los 6 bits que necesito. hice esto de manera que me comparara primero los bits de una entrada aleatoria con los del paso 1, las salidas mayor y menor las conecté a tierra, con lo que sólo me quedará la salida igual de estos pares de comparadores de 6 bits, esta salida va conectada a una puerta and (74Ls08D) de dos entradas, la otra entra va conectada a 5(V) (1 lógico). con lo que el primer par comparador,al final de la puerta and, arrojará 1 sólo cuando se cumpla el requerimiento del paso 1, es decir, 100 100.....luego, dicha salida la conecté a la entrada(A=B) del siguiente para comparador, este par de comparadores comparará los bits 101 101 de ambos semáforos (correspondiente al paso 2) , de igual forma a lo anterior, saldrá 1 de la salida de este para comparador cuando la entrada aleatoria sea igual a lo requerido......
estos pasos se repiten conectando los otros 5 pares de comparadores de menera que se cumpla la secuencia de código que necesito....al final de este sistema comparados va una puerta and que me dará como salida un 1 cuando se cumpla un ciclo completo, esto va conectado al sistema contador y se mostrará en los displays.

El problema de esto es que no me funciona, ya revisé las conecciones, y la teoría muy bien, y no encuentro el error...de hecho revisé cada par comparador, le asigné a cada numero binario del comparador el mismo valor, de manera que la salida A=B me diera uno y conecté en esa salida un led para ver si me encendía y no pasó nada....los comparadores están perfectamente alimentados con 5 volts y aterrizados y no encuentro cuál es el error....incluso fuí más riguroso y simulé cada comparador con puertas lógicas y nunca se me encendio el led.....luego tambien simulé una simple puerta and de dos entradas y les dí a ambas entradas un valor de 5 volts, por lo que su salida debiera ser un uno lógico...conecté una resistencia de 330 ohms y en serie un led y tampoco encendio.....

todo lo anterior lo simulé en multisim, sería de gran ayuda para mi que me ayudaran con el sistema comparador que usaré como filtro del código , porque no entiendo la falla....si tienen alguna otra idea será bienvenida.

estaré atento a sus respuestas, gracias.

PD:perdón el largo de la pregunta pero no pude resumirlo más. ...
09/02/2014 #2
Moderador general

Avatar de DOSMETROS

Tenes que subir lo que llevas hecho hasta ahora para poder recibir ayuda !

Pulsa en "mas opciones"
09/02/2014 #3


Aquí están los archivos en multisim, el circuito 1 corresponde al sistema comparador, su salida va conectada al circuito 4 , el cuál corresponde al sistema contador, el cuál funciona perfectamente.
Archivos Adjuntos
Tipo de Archivo: rar Contador de ciclos .rar (712,1 KB (Kilobytes), 9 visitas)
09/02/2014 #4


Hola Vincent14

Se me hace muy complejo el planteamiento que haces en tu primer mensaje en este tema.
Sin embargo hay algo por mejorar en el esquema del comparador que adjuntaste en el archivo:
Contador de ciclos.rar
Las compuertas AND creo que sobran. Además:
Según vi en tu esquema de los comparadores, todas las entradas A y B están Conectadas a Tierra(Gnd. Masa).
De ese modo no funcionarán esos comparadores como lo estás requiriendo.

Fíjate en las imágenes que te adjunto, ojalá te ayuden a continuar con tu proyecto.

Nota que los circuitos contenidos en las imágenes fueron desarrolladas con el simulador ISIS de Proteus; los cuadritos obscuros con un número blanco inscrito son conmutadores con lo cuales se están programando las entradas A y B De los comparadores 74HC85

El cuadro localizado a la extrema derecha de los circuitos es, digamos, una lamparita que cambia a 1 o a 0 según sea el estado de la salida QA=B(6) del comparador U3.

saludos
a sus ordenes
Imágenes Adjuntas
Tipo de Archivo: jpg A.jpg (50,6 KB (Kilobytes), 11 visitas)
Tipo de Archivo: jpg B.jpg (49,4 KB (Kilobytes), 8 visitas)
Tipo de Archivo: jpg C.jpg (46,5 KB (Kilobytes), 8 visitas)
Tipo de Archivo: jpg D.jpg (47,1 KB (Kilobytes), 7 visitas)
Tipo de Archivo: jpg E.jpg (56,5 KB (Kilobytes), 8 visitas)
10/02/2014 #5


Mr Carlos, gracias por tu respuesta,
Básicamente el sistema comparador tenía que comparar entradas aleatorias de 6 bits ingresadas al abrir o cerrar cada switch( para eso ocupé dos comparadores de 4 bits C/u, dejando el cuarto bit de cada comparador(A3 y B3) en tierra ó "0" lógico)....Los números binarios B fueron fijados por mí, de manera de dejar pasar sólo la secuencia que quiero (100-100 101-101 011-011 010-010 011-011 101-101 100-100) y completar un ciclo que iría al contador.esos "1" los conecté a un nivel alto (5V) y los "0" a un nivel bajo, es decir tierra. LAs puertas AND al final de cada par comparador son los que me habilitarán el paso al segundo conjunto de bits (101 101) si es que al final del primer par tuve un "1"lógico, de manera que si no son iguales la salida será cero y no se podrán habilitar el segundo par de comparadores, pero creo que tienes razón y sobran.

No entendí muy bien para que se ocupan esos conmutadores, porque si bien, cada entrada B me la fijo yo, la entrada A es aleatoria y va a depender de las conmutaciones de los switches....si es que entendí mal esa función te agradecería mucho que me explicaras como funcionan y si tienen algún número de serie como para buscarlos en el multisim, además del por qué pusiste 3 comparadores en serie, si yo solamente necesito 2 para compara 6 bits....

Desde ya muchas gracias!
Imágenes Adjuntas
Tipo de Archivo: png Sin título.png (27,4 KB (Kilobytes), 4 visitas)
10/02/2014 #6


Hola Vincent14

Analizaste tu circuito de los comparadores??
Notaste que todas las entradas A y B de ellos están conectadas a tierra??
Así no hacen nada de lo que pretendes que hagan.

Responderé a lo que mencionas en tu mensaje #5:
No entendí muy bien para que se ocupan esos conmutadores, porque si bien, cada entrada B me la fijo yo, la entrada A es aleatoria y va a depender de las conmutaciones de los switches....si es que entendí mal esa función te agradecería mucho que me explicaras como funcionan y si tienen algún número de serie como para buscarlos en el multisim, además del por qué pusiste 3 comparadores en serie, si yo solamente necesito 2 para compara 6 bits....

Los circuitos que te adjunté en las imágenes son solo de ejemplo. Tu puedes utilizar interruptores, botones o conectar al Vcc o tierra las diferentes entradas A y B de los comparadores según te convenga.

Puse 3 comparadores pues solo son ejemplos que supuse te servirían para continuar con tu proyecto.
Tú solo requieres 2 comparadores, pues utiliza solo 2.

Entradas a los Comparadores:
-A- -B-
100-100 = 4
101-101 = 5
011-011 = 3
010-010 = 2
011-011 = 3
101-101 = 5
100-100 = 4

Dices que las entradas B son Fijas y, Las entradas A, son aleatorias que dependen de la posición de los interruptores.
Buen entonces sería Así:
Ten en cuenta que solo te muestro en par de comparadores.

saludos
a sus ordenes
Imágenes Adjuntas
Tipo de Archivo: jpg F.jpg (49,4 KB (Kilobytes), 6 visitas)
10/02/2014 #7


Muchas gracias Mr Carlos por tu respuesta, hice lo que me dijiste, y simulé un comparador por separado para verificar su buen funcionamiento,conectando un led a su salida, dejé los switches en la posición 100 y lo comparé con la entrada B 100 por lo que la salida debería ser un "1" lógico, luego simulé el cto y no me encendió el Led.
Luego simulé el sistema tal cuál lo hiciste tú, y el led tampoco me encendio, creo que esa es la base para que me funcione todo el resto del sistema comparador...
muchas gracias por tu respuesta y tu tiempo, estaré atento a algún comentario.

Edit: En la imagen de 1, a la izquierda del comparador, está el error que imagino me decías, el diodo va conectado a tierra por lo que no pasaba corriente a los comparadores.

Saludos !
Imágenes Adjuntas
Tipo de Archivo: png Sin título1.png (18,3 KB (Kilobytes), 7 visitas)
Tipo de Archivo: png Sin título2.png (23,3 KB (Kilobytes), 6 visitas)
10/02/2014 #8


Hola Vincent14

Creo que estás interpretando la posición de los interruptores en el sentido contrario.
Son Así:
Cerrado = 0
Abierto = 1
Por esa razón los LED’s no encienden.

Si en la realidad vas a utilizar interruptores para los números aleatorios te conviene insertar un inversores entre el interruptor y la entrada correspondiente.

Es necesario hacerte notar que habías mencionado que utilizabas los comparadores 74HC85, compatible con la familia CMOS, pero veo en tus esquemas que utilizas el comparador 7485, probablemente NO es compatible con la familia CMOS.

saludos
a sus ordenes
Imágenes Adjuntas
Tipo de Archivo: jpg A y B No Son Iguales.jpg (120,8 KB (Kilobytes), 7 visitas)
Tipo de Archivo: jpg No Son Iguales.jpg (110,8 KB (Kilobytes), 6 visitas)
Tipo de Archivo: jpg Con Inversores.jpg (41,4 KB (Kilobytes), 6 visitas)
10/02/2014 #9


Vicent14: viendo la definicion de tu problema, creo que la mejor manera de resolverlo es con una maquina de estados finitos. Dos entradas ... un switch para avanzar el estado (activo a nivel1), y otro para resetear al estado inicial (independientemente en el estado que se encuentre).
Tres salidas ..para las luces (rojo, amarillo y verde).
Te anexo el file para correrlo en el Boole-Desuto ... Ver tema (como crear archivos *.sco) en este foro donde puedes bajar el programa. Solo tienes que quitarle la extension (2).txt para poder usarlo.
Un detalle, se me olvido la salida al contador ... asi que agregale una salida "0" a todos los estados, excepto el ultimo que debe ser la salida al contador en "1"

Yo creo que el Boole-Desuto es muy bueno para aprender combinacionales y sequenciales ... ya que te da el circuito y puedes quemar una GAL22v10 para llevarlo a la practica. El costo de la GAL es barata y la puedes obtener de varias tarjetas viejas., ademas la puedes reprogramar varias veces, asi que la puedes usar en varios proyectos y cualquier programador te la graba.
Archivos Adjuntos
Tipo de Archivo: txt Semaforo.aut (2).txt (1,1 KB (Kilobytes), 4 visitas)
11/02/2014 #10


Mr. Carlos seguí algunas de tus instrucciones y llegué a algo mucho mejor, pero aún sigo teniendo problemas en la función del circuito....el contador debe contar "una vez"(mostrando un 1 en el display) cuando se cumpla el ciclo completo correspondiente a :

1) 100 100 : luces rojas encendidas y verdes apagadas en ambos semáforos
2) 101 101 :luces rojas y amarillas encendidas en ambos semáforos y verdes apagadas en
ambos semáforos.
3) 011 011 : luces amarillas y verdes encendidas , rojas apagadas, para ambos semáforos.
4) 010 010 : sólo luces verdes encendidas en ambos semáforos.
-----------------se devuelve el ciclo--------------------------
5) 011 011: luces amarillas y verdes encendida, rojas apagadas, para ambos semáforos.
6) 101 101 :luces rojas y amarillas encendidas en ambos semáforos y verdes apagadas en
ambos semáforos.
7) 100 100 : luces rojas encendidas y verdes apagadas en ambos semáforos.


despues de cumplirse todo ese ciclo se debe mostrar 1 en el display....despuesde otro ciclo igual debe mostrar 2, etc.

si por ejemplo llego al paso 2 o al 3 y me devuelvo el contador no debe aumentar( cosa que no pasa en mi circuito debido a algún error)

otro error que tengo es que en el paso 2 y 3 me aumenta el contador en uno,cosa que no debería pasar, ya que SÖLO al final me tiene contar.

Esos comparadores los diseñé para hacer como una especie de filtro,pero no me funcionan a la perfección..


Savad, por un asunto de tiempo, y debido a que no me manejo muy bien en sistemas secuenciales, prefiero terminar esto que ya tengo, luego intentaré diseñarla de otra manera, muchas gracias de todas maneras por tu ayuda.

Finalmente adjunto el archivo del sistema completo en multisim, el cuál se divde en el sitema comparador de las entradas aleatorias de los switchs y en el sistema contador el cuál no parece tener problemas salvo que me gustaría que al apagarlo y luego encenderlo conserve el último valor que quedé registrado en los displays.
las ampolletitas despues de cada comparador la puse sólo para darme cuenta si salía o no corriente.

son muchos los temas que desconozco debido a que no soy electrónico, cualquier ayuda es bienvenida, desde ya muchas gracias muchachos, saludos!
Archivos Adjuntos
Tipo de Archivo: rar Circuit5 - copia (2).rar (1.011,5 KB (Kilobytes), 2 visitas)
12/02/2014 #11


ya encontré una falla en el circuito anterior y lo mejoré, ahora me cuenta sólo una vez en un ciclo, pero me cuenta desde el paso 4 al paso 5, es decir, cuando se devuelve cambiando desde luz verde (010 010) a luz verde con amarillo (011 011) en ambos semáforos, lo cual es un error ya que debería cambiarme SÖLO en el caso cuando pasa desde el paso 6 al 7 ( jamás contar si es que me devuelvo del paso 2 al 1 por ejemplo).
adjunto este nuevo sistema, mucho más simplificado por si a alguien se le ocurre alguna idea, gracias chicos.
Archivos Adjuntos
Tipo de Archivo: rar Circuit5 - copia (2) - copia.rar (533,2 KB (Kilobytes), 3 visitas)
12/02/2014 #12


Hola Vincent14

Veo en tu último esquema que hay varias terminales sin conectar. Así van a quedar ??

Estuve analizando tu último planteamiento y tu circuito.
Creo que no es posible lograr lo que pretendes con ese circuito.
Los comparadores de magnitud 7485 no tienen la capacidad de “recordar”.
Según entiendo esto es lo que quieres lograr:

1) 100 100 = 4 luces rojas encendidas y verdes apagadas en ambos semáforos
2) 101 101 = 5 luces rojas y amarillas encendidas en ambos semáforos y verdes apagadas en ambos semáforos.
3) 011 011 = 3 luces amarillas y verdes encendidas , rojas apagadas, para ambos semáforos.
4) 010 010 = 2 sólo luces verdes encendidas en ambos semáforos.
-----------------se devuelve el ciclo--------------------------
5) 011 011 = 3 luces amarillas y verdes encendida, rojas apagadas, para ambos semáforos.
6) 101 101 = 5 luces rojas y amarillas encendidas en ambos semáforos y verdes apagadas en ambos semáforos.
7) 100 100 = 4 luces rojas encendidas y verdes apagadas en ambos semáforos.

Secuencia:
4 5 3 2 3 5 4+1.4 5 3 2 3 5 4 +1. 4 5 3 2 3 5 4 +1. 4 5 3 2 3 5 4 +1. 4 5 3 2 3 5 4 +1. Actual: Ciclos = 5

Un Ciclo:
4 R V A ---- R V A
5 R V A ---- R V A
3 R V A ---- R V A
2 R V A ---- R V A
3 R V A ---- R V A
5 R V A ---- R V A
4 R V A ---- R V A
Cuenta +1


Según se ve, son 7 pasos por cada ciclo. A estos los podríamos llamar Tn.
Para Cada Tn hay una combinación de unos y ceros con 3 + 3 BIT’s.
Cada BIT enciende una Luz cuyos colores son: Rojo, Verde, Ámbar.
Son 2 juegos de luces.
Los BIT’s que sean nivel alto serán los que encienden su luz correspondiente.

Así Que:
Tn RVA, RVA.
T1 100, 100. Estas combinaciones de 1’s y 0’s, en decimal es 4, 4.
T2 101, 101. Estas combinaciones de 1’s y 0’s, en decimal es 5, 5.
T3 011, 011. Estas combinaciones de 1’s y 0’s, en decimal es 3, 3.
T4 010, 010. Estas combinaciones de 1’s y 0’s, en decimal es 2, 2.
T5 011, 011. Estas combinaciones de 1’s y 0’s, en decimal es 3, 3.
T6 101, 101. Estas combinaciones de 1’s y 0’s, en decimal es 5, 5.
T7 100, 100. Estas combinaciones de 1’s y 0’s, en decimal es 4, 4.

Notas que solamente cuando haya pasado por (T1 y T7) debe contar +1 ???
Con un contador que cuente T1 y T2 tendrías. Luego se restablece este contador y se cuentas +1 en el, llamémoslo así, contador maestro.

saludos
a sus ordenes
12/02/2014 #13


Todo lo que supones es correcto.
Entiendo tu idea perfectamente, eso funcionaría sólo en el caso ideal en que no ocurran errores, o no me devuelva de la secuencia 2 a la 1,por ejemplo la persona que "apriete los swtiches" puede que se equivoque y en vez de avanzar de a T2 a T3 se devuelva a T1, por lo que el contador marcará 2 veces, lo cuál no puede ser.
de hecho había pensado poner sólo los comparadores de 100 100 ,debido que cuando la secuencia de luces llegue a ese punto el contador marcará, pero de nuevo está el problema de que si no se sigue la secuencia completa de luces, y de la secuencia 1 (100 100) se pasa a la secuencia 2(101 101) y de esta última me devuelvo a la primera el contador marcará nuevamente.

en el caso qe tengo ahora cuenta cuando la luz cambia de verde(100 100) a verde con blanco(011 011 )....pero fíjate que si e devuelvo a verde desde la luz verde con blanco, y luego voy a verde otra vez cuenta de nuevo, lo cuál no puede ser por las restricciones de mi problema...

estoy complicado, muchas gracias por tu ayuda, estaré atento a cualquier cosa!
12/02/2014 #14


savad dijo: Ver Mensaje
Vicent14: viendo la definicion de tu problema, creo que la mejor manera de resolverlo es con una maquina de estados finitos. Dos entradas ... un switch para avanzar el estado (activo a nivel1), y otro para resetear al estado inicial (independientemente en el estado que se encuentre).
Tres salidas ..para las luces (rojo, amarillo y verde).
Te anexo el file para correrlo en el Boole-Desuto ... Ver tema (como crear archivos *.sco) en este foro donde puedes bajar el programa. Solo tienes que quitarle la extension (2).txt para poder usarlo.
Un detalle, se me olvido la salida al contador ... asi que agregale una salida "0" a todos los estados, excepto el ultimo que debe ser la salida al contador en "1"

Yo creo que el Boole-Desuto es muy bueno para aprender combinacionales y sequenciales ... ya que te da el circuito y puedes quemar una GAL22v10 para llevarlo a la practica. El costo de la GAL es barata y la puedes obtener de varias tarjetas viejas., ademas la puedes reprogramar varias veces, asi que la puedes usar en varios proyectos y cualquier programador te la graba.


Hola Savad, estuve viendo el programa, y la verdad lo encontré buenísimo, pero mira, lo que necesito es que de las 6 entradas posibles ( son dos semáforos con luces roja-verde-blanca en cada uno)que de todas las combinaciones posibbles sólo me considere esta secuencia para contar una vez me salga esta secuencia y en este orden :

1) 100 100 : luces rojas encendidas y verdes apagadas en ambos semáforos
2) 101 101 :luces rojas y amarillas encendidas en ambos semáforos y verdes apagadas en
ambos semáforos.
3) 011 011 : luces amarillas y verdes encendidas , rojas apagadas, para ambos semáforos.
4) 010 010 : sólo luces verdes encendidas en ambos semáforos.
-----------------se devuelve el ciclo--------------------------
5) 011 011: luces amarillas y verdes encendida, rojas apagadas, para ambos semáforos.
6) 101 101 :luces rojas y amarillas encendidas en ambos semáforos y verdes apagadas en
ambos semáforos.
cuando se pase de el 6 al 7 debe aumentar el contador en 1.
7) 100 100 : luces rojas encendidas y verdes apagadas en ambos semáforos.

ese es el ciclo que se debe cumplir y tiene que ser en ese orden para que llegue un uno al contador, no debe haber otra posibilidad, favor si se te ocurre algo te lo agradecería un montón!
Saludos.
13/02/2014 #15


Si analizas la salida de los semaforos ... veras que es la misma. Asi que no necesitas 6 salidas ... solo 3 para las luces roja, amarilla y verde que alimenten al mismo tiempo ambos semaforos. Si quieres seleccionar que semaforo debe seguir la secuencia mientras el otro se mantiene solo añade otra entrada para seleccion del semaforo. El diseño tiene 1 entrada RESET activo a nivel alto para regresar a la primera condición (luz roja encendida), utilizo la entrada del reloj del GAL20V10 (activa en la transicion al nivel alto) para hacer la transicion de los 4estados . 1. R--- 2.RN-- 3. -NV- y 4.--VC

El file adjunto es una actualizacion para incluir la salida al contador y actualizar las transiciones para una sola entrada. Solo renombralo a semaforo.aut para poder usarlo con Boole-Desuto.
- Corre programa Boole.exe
- selecciona boton de systemas secuenciales
- Abre file semaforo.aut
- En el menu Resultados has click en simulacion interactiva
Juega con el diseño y familiarizate con el programa ... es ideal para aprender diseño lógico
y puedes ver el circuito con Flip-flop tipo D y ver las ecuaciones de diseño
Ademas en el menu de "Archivo" puedes exportar a JEDEC que genera el file semaforo.jed
este es el que usas para quemar la GAL22v10 ... asi que tienes todo el diseño en un solo integrado.

Algo ideal .... facil, bonito y barato
Archivos Adjuntos
Tipo de Archivo: txt Semaforo-1in.aut.txt (1,0 KB (Kilobytes), 1 visitas)
13/02/2014 #16


savad dijo: Ver Mensaje
Si analizas la salida de los semaforos ... veras que es la misma. Asi que no necesitas 6 salidas ... solo 3 para las luces roja, amarilla y verde que alimenten al mismo tiempo ambos semaforos. Si quieres seleccionar que semaforo debe seguir la secuencia mientras el otro se mantiene solo añade otra entrada para seleccion del semaforo. El diseño tiene 1 entrada RESET activo a nivel alto para regresar a la primera condición (luz roja encendida), utilizo la entrada del reloj del GAL20V10 (activa en la transicion al nivel alto) para hacer la transicion de los 4estados . 1. R--- 2.RN-- 3. -NV- y 4.--VC

El file adjunto es una actualizacion para incluir la salida al contador y actualizar las transiciones para una sola entrada. Solo renombralo a semaforo.aut para poder usarlo con Boole-Desuto.
- Corre programa Boole.exe
- selecciona boton de systemas secuenciales
- Abre file semaforo.aut
- En el menu Resultados has click en simulacion interactiva
Juega con el diseño y familiarizate con el programa ... es ideal para aprender diseño lógico
y puedes ver el circuito con Flip-flop tipo D y ver las ecuaciones de diseño
Ademas en el menu de "Archivo" puedes exportar a JEDEC que genera el file semaforo.jed
este es el que usas para quemar la GAL22v10 ... asi que tienes todo el diseño en un solo integrado.

Algo ideal .... facil, bonito y barato

Hola Savad, estuve mirando el diagrama de estados y además el circuito, pero no me queda claro que es lo que se conecta a las salidas de las luces( si Rst, q0 q1 o el clk) , además la salida al contador parece depender sólo de q0 y q1.además no sé donde van conectadas las salidas de cada flip flop.

No sé si entendí mal lo que hace el circuito según lo que me decías, pero las entradas deben ser aleatorias, porque habrá alguien "presionando " los interruptores,es decir, no las puedo "programar " para que me muestre la secuencia de luces que quiero.... en ese instante , el circuito a diseñar debe , por así decirlo, reconocer la secuencia de luces que escribí anteriormente y sólo en ese orden debe mandar un "1" al contador...

sé que quizá es fácil la situación pero no la logro comprender bien en el circuito.
14/02/2014 #17


Hola Vincent14

Que tal te Ha ido con tu diseño ??

El circuito que te recomendó savad, el cual desarrolló con el SoftWare Boole-DeUsto, puede ser como el que aparece en la imagen adjunta (Secuencia.JPG). Agregué los botones, un contador, un Display.
Lo desarrollé con el simulador ISIS de Proteus.

Del diseño que estás desarrollando:
Hay algunas preguntas.
Qué debe hacer tu circuito si la secuencia es incorrecta ??. Simplemente no contar ??.
Cómo deben estar los interruptores(Switch’s) al iniciar ?? cerrados??, Abiertos??, en cualquier combinación??

Como te mencione en uno de mis mensajes: es necesario “Recordar” el orden en que se han ido cambiando los interruptores. Y, si la secuencia es correcta, contar +1 en el contador que se mira en tu diseño.

He desarrollado un circuito que pudiera servirte; pero lo hice en el simulador ISIS de proteus pues el Multisim 10 no lo tengo; he tenido que ir a casa de un amigo que lo tiene para analizar los circuitos que has adjuntado.

A grandes rasgos te describiré este circuito.
Tiene 6 interruptores, 3 para un semáforo y otros 3 para el otro semáforo.
4 pares de comparadores de magnitud 75HS85, 2 para cada cifra de los números que se utilizan en la secuencia.
Estos números son: 2, 3, 4 y 5. y la secuencia correcta sería 4 5 3 2 3 5 4.
Bien, esos números de la secuencia se irán desplazando en los Flip-Flip’s tipo D 74LS273 igual que en una calculadora. Así que con estos Flip-Flip’s tipo D 74LS273 se “Recordará” la secuencia que se haya introducida al circuito.
Si la secuencia fue correcta, otros comparadores verificarán esto para finalmente generar una transición positiva a la salida del último comparador y ser contado.

Los Display’s que aparecen en este diseño se pueden quitar. Solo los agregué para monitorear la secuencia.

Espero te sirva este diseño

saludos
a sus ordenes
Imágenes Adjuntas
Tipo de Archivo: jpg Secuencia.jpg (69,7 KB (Kilobytes), 7 visitas)
Tipo de Archivo: jpg Comparadores.jpg (111,2 KB (Kilobytes), 8 visitas)
Archivos Adjuntos
Tipo de Archivo: zip Secuencia.zip (15,5 KB (Kilobytes), 5 visitas)
Tipo de Archivo: zip Comparadores.zip (25,8 KB (Kilobytes), 7 visitas)
15/02/2014 #18


Carlos, primero que todo muchas gracias por tu respuesta,

respondiendo a tus preguntas:

1. se debe contar cuando se cumpla la secuencia 4-5-3-2-3-5-4.
Pero imaginalo como un proceso, si el operador en algún momento se devuelve y luego avanza nuevamente y la termina también debe contar.

por ejemplo:1) 45-3-5-4-5-3-2-3-5-4

2) 4 5-3 -5-3-2-3-[/U]5[/U]-4

en ambos casos del ejemplo debe contar.
si no se cumple completamente la secuencia no se debe contar.

debe contar cuando se pasa desde el 5 al 4 ,pero cuando se está terminando el ciclo, y no por ejemplo si hago : 4-5-3--5-4.

en fin, lo principal es que cuenta la secuencia 4-5-3-2-3-5-4
2) al inciar los interrptores deben estar de tal manera que estén encendidas sólo las luces rojas.en lo que yo simulé corresponde a interruptores abiertos, y creo que en los tuyos a interruptores cerrados.

una consulta : cómo lo hiciste con el clock para los Flip Flop´s ...ya que yo creo que esa señal debe estar de alguna manera enlazada en el momento en que se cambie de estado.





cualquir cosa me avisas porfa!, si puedes adjuntarme las simulaciones que tienes o algunos cálculos que hayas hecho para llegar al cto, como modelos de estado y esas cosas sería genial, por último instalo el proteus.

Saludos Carlos!
19/02/2014 #19


Mr.Carlos, probé las simulaciones que adjuntaste, le puse el contador, y funciona perfectamente, te lo agradezco enormemente!

Como último favor te agradecería si es que tienes los cálculos de cómo llegaste al sistema secuencial para saber cómo lo hiciste y aprender a hacerlo, o su diagrama de flujo para poder ocuparlo en el boole-deusto.

además para poder entender mejor la lógica de estos flip flop D-octal.....

Saludos cordiales Mr. carlos!
19/02/2014 #20


Hola Vincent14

Caray ! Cómo que funciona perfectamente ??
Posterior a la fecha que te envié esas simulaciones en mi mensaje #17 hice pruebas de acuerdo a los datos que mencionas en tu mensaje #18.
Los resultados de esas pruebas son que mi simulación no funciona de acuerdo a lo que dices.

Según entendí lo dicho en tu mensaje #18 es:
Que con que exista la secuencia 4-5-3-2-3-5-4- el contador debe contar +1 Sin importar que entre ellos exista cualquier otro número o varios:
Ejemplos:
4-7-5-6-3-4-2-2-3-6-5-6-4-.
6-4-2-2-5-3-3-3-6-7-2-1-2-3-4-5-4-.
4-.-5-.-.-3- .-.-.-2-.- .-3-.-5-.-.-.-4-. Los PUNTOS representan cualquier otro número del 0 al 7.

Tu Circuito, según entiendo, debe tomar en cuenta solo los números Azules para contar +1.
Como puedes ver, las secuencias anteriores contienen la secuencia correcta, tanto el valor como la posición en la cadena. Esto es lo que entendí
Pero el circuito que te adjunté no funciona con estas características, creo.

Ahora bien: si analizo tu último planteamiento veo que la descripción de ese sistema sería así:
A- Inhibir todos los comparadores a excepción del que detecta el primer 4.
B- Meter diferentes Números por medio de los interruptores Y, cuando aparezca el Primer 4 Memorizarlo.
C- Deshabilitar el comparador que detecta el primer 4.
D- Habilitar el comparador de la siguiente cifra, que ahora es el 5.
E- Meter diferentes Números por medio de los interruptores Y, cuando aparezca el Primer 5 Memorizarlo.
F- Deshabilitar el comparador que detecta el primer 5.
G- Y así para los demás números que son 3, 2, 3, 5, 4.

De aquí se desprende que los números que no sean de la secuencia correcta deben ser discriminados, NO tomados en cuenta.
Cuando tengamos Memorizada la secuencia correcta, de algún modo hacer que el contador cuente +1.

Tengo hecha la circuiteria para la primer mitad de la secuencia, del 4 al 2.
Faltaría del 3 al 4 que prácticamente es igual a la primer secuencia.

El Flip-Flip tipo D y la compuerta AND es la que va inhibiendo los circuitos con los comparadores.

Espero te ayude a continuar con tu proyecto.

No tengo los cálculos para llegar al sistema secuencial que me pides.
No utilizo ningún método de los que Tú seguramente conoces.
Lo que digo es que hay que saber perfectamente qué hace cada una de las compuertas, Flip-Flop’s, contadores, decodificadores, comparadores, Etc. Y lo demás es como estar escribiendo con ellos para lograr satisfacer un planteamiento.

saludos
a sus ordenes
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Circuitos lógicos combinacionales y secuenciales

Compuertas, flips flops, registros, PLDs, codificadores, contadores, multiplexores, ...

Cerrar
Foros de Electrónica » Diseño digital » Circuitos lógicos combinacionales y secuenciales

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.