Autor Tema: COMPARADOR LÓGICO  (Leído 24064 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Marcos75

  • Socio
  • ****
  • Mensajes: 3046
  • Arcadero de los 80s
Re:COMPARADOR LÓGICO
« Respuesta #75 en: 25 de Enero de 2014, a las 12:37 horas »
En ese caso, si "anulas" uno de los buses de 8 cuando no hay señales bidireccionales, estás comparando solamente un máximo de 8 señales, con lo cual no podrías ni siquiera comparar un 74LS04...


Pofo

  • Visitante
Re:COMPARADOR LÓGICO
« Respuesta #76 en: 25 de Enero de 2014, a las 12:55 horas »
Es que tu estas pensando en posiciones fijas de pines marcos y yo pienso en poder redirigir cada pin este donde este a un bus, no se si me explico

Edito...

Yo separo lo que es los procesos del socket pudiendo llevar el pin que queramos a la seccion que queramos, entiendes el concepto?

Ejemplo, tu metes en la placa un circuito que maneje Dir, otro para comparar, etc...
Y luego llevas los pines que desees al bus o posicio que desees.
« última modificación: 25 de Enero de 2014, a las 12:57 horas por Pofo »

Marcos75

  • Socio
  • ****
  • Mensajes: 3046
  • Arcadero de los 80s
Re:COMPARADOR LÓGICO
« Respuesta #77 en: 25 de Enero de 2014, a las 13:01 horas »
Si yo la teoría que dices la entiendo, lo que no veo es la forma sencilla de implementar eso que dices... No es evidente. Si puedes, aunque sea en una hoja, pinta cómo sería con componentes completos concretos y lo vemos. Yo en un rato subo cómo quedaría un comparador que tenga en cuenta señales tri-estado.

Un saludo.
« última modificación: 25 de Enero de 2014, a las 13:05 horas por Marcos75 »


Marcos75

  • Socio
  • ****
  • Mensajes: 3046
  • Arcadero de los 80s
Re:COMPARADOR LÓGICO
« Respuesta #78 en: 25 de Enero de 2014, a las 13:18 horas »
Este podría ser un punto de partida:



Imaginad que esto es para un pin, y hay que replicarlo para todos los pines de un integrado.

ORIGINAL es la señal que viene del integrado de la placa, TEST es la señal que viene del integrado bueno que usamos para comparar, y CONTROL es la señal que viene del integrado de la placa, y que indica si dicho integrado tiene sus salidas activas (vamos a suponer que en ese caso dicha señal es "1") o en alta impedancia (CONTROL a "0").

Si no hay señal de CONTROL, dejamos el DIP SW B abierto, y el BUFF de salida deja pasar la señal comparada tal cual. Ese caso es el del comparador que ya tenemos diseñado. Dicho comparador, en este caso simple, hace lo siguiente: si el pin que estamos comparando es una entrada, entonces tenemos que cerrar DIP SW A, con lo que ORIGINAL = TEST, la puerta XOR siempre saca un "0", y el LED permanece siempre apagado. Si por el contrario es una salida, abrimos DIP SW A, y entonces la puerta XOR saca un "1" si las señales son distintas, con lo que el LED se enciende.

Pongamos el caso de que sí hay señal de control. En ese caso solamente nos interesa comparar en los periodos en los que las salidas no están en alta impedancia (CONTROL = "1"). Tenemos que cerrar DIP SW B, de forma que si CONTROL es "0" sea cual sea el resultado de la comparación, BUFF va a poner su salida en alta impedancia. Para asegurarnos de que el LED permanece apagado en este caso, quizá a la salida de BUFF haya que poner una resistencia a GND.

Problema: necesitamos tantos DIP SW A como pines queramos que tenga el comparador (20 en principio, 18 si obviamos la alimentación) y otros tantos DIP SW B si suponemos que cualquier señal puede ser señal de control. Sin embargo, en el caso de DIP SW B, hay que tener en cuenta que la mayoría de los integrados tiene esas señales de control en posiciones concretas (pin 1 muchas veces), con lo cual nos podemos ahorrar bancos de DIP switches.

¿Cómo lo veis?

EDITO: Teniendo en cuenta que CONTROL y ORIGINAL al fin y al cabo van a ser la misma señal (tomada del mismo pin) para las patas que decidamos que pueden ser señales CONTROL, quizá se vea más claro este esquema:

« última modificación: 25 de Enero de 2014, a las 13:28 horas por Marcos75 »


Pofo

  • Visitante
Re:COMPARADOR LÓGICO
« Respuesta #79 en: 25 de Enero de 2014, a las 13:46 horas »
Se puede hacer asi o con and,, poner 8 xor y llevarlos desde las patas con cables de quita y pon o bien meter 9 xor pero esto implica dos integrados mas que solo se usarian para un xor.

Paralelamente si conoces dips de mas posiciones se puede meter las patas a un segundo bus de entradas mas simple con solo leds para analizar estado de las entradas, lineas y clk.

La mera idea de meter la linea de control con un simple buffer da mucho juego.

Saludos, veo que lo tienes enfocado, asi que leere los avances.

Edito, lo que veo es que la pata de control hay que llevarla separada, date cuenta de que de algun modo hay que llevarla al resto, por esto veo comodos los cables y de otro modo la pata de control carece de interes mas alla de ver su estado ya que es una entrada.
« última modificación: 25 de Enero de 2014, a las 13:51 horas por Pofo »

Marcos75

  • Socio
  • ****
  • Mensajes: 3046
  • Arcadero de los 80s
Re:COMPARADOR LÓGICO
« Respuesta #80 en: 25 de Enero de 2014, a las 13:59 horas »
Me tienes que aterrizar esas ideas, porque no me quedan claras. Cuando hablas de "bus", no entiendo lo que quieres decir. Si te refieres a una madeja de cables, perfecto, pero un bus es algo más complejo...

La línea de control no habría que separarla. De hecho lo ideal es que todos los pines que decidamos que pueden ser "de control" (que en principio podríamos suponer que son todos), se conectan a saco todos juntos a la entrada de todos los bufferes. Es decir, la entrada de todos los bufferes son comunes.

Por eso decía que este circuito no tiene "protección". Solamente puede tener una línea de CONTROL "activada", es decir, un DIP SW B en "ON" (como es lógico). Pero si por error cierras dos DIP SW B, entonces estás cortocircuitando dos entradas distintas del integrado que quieres probar, y no obtendrías un resultado válido.


Pofo

  • Visitante
Re:COMPARADOR LÓGICO
« Respuesta #81 en: 25 de Enero de 2014, a las 14:16 horas »
Es que si conectas todas las lineas de control a saco solo puedes tener una, si las separas desde el principio podrias jugar con mas de un buffer.

Respecto al bus, me refiero a generar un bus de datos de salidas que puedas manejar en paralelo para diversos procesos, no meter las lineas directas a un proceso y luego otro...sino generar un bus para sacar procesos en paralelo.

Ya me dices...

Oye, dejo de darte la murga jajajajajaja, ya concreto esto sobre papel y experimento jijijjijiji

Cuando hablo de bus no hablo de bus al estilo de bus de direcciones con todas sus paranoias, sino una suerte de bus primitivo asincrono.
« última modificación: 25 de Enero de 2014, a las 14:19 horas por Pofo »

Marcos75

  • Socio
  • ****
  • Mensajes: 3046
  • Arcadero de los 80s
Re:COMPARADOR LÓGICO
« Respuesta #82 en: 25 de Enero de 2014, a las 14:19 horas »
Con respecto al primer tema, los integrados con los que me he encontrado solamente tienen una señal que controle si las salidas están activas o en alta impedancia, ¿para qué complicar entonces más el circuito?

Y con respecto al segundo tema, si quieres utilizar las líneas para más cosas, simplemente hay que poner nuevas pistas en la PCB, y llevarse las señales a otro sitio...


Rockman

  • Con experiencia
  • ***
  • Mensajes: 1281
Re:COMPARADOR LÓGICO
« Respuesta #83 en: 25 de Enero de 2014, a las 21:38 horas »
Solo un par de detalles despues de leeros.

Me parece perfecto tu diseño por bit que planteas Marcos. No estoy tan habituado a los ttls como vosotros y a sus posibles fallos en las reparaciones. (Sabiendo sus fallos tipicos, sabeis mejor que cosas "raras" pueden suceder.)

Habría primero que determinar que tipo de integrados quereis ver: ttls "sencillos", triestado, con entradas y salidas variables, rams, etc. Es mejor que hagais el diseño por pasos y no querais integrar de todo a la vez. Mejor paso a paso.

Una vez tengais eso claro, y suponiendo el diseño que plantea Marcos actualmente en el hilo os comento:
Soy de la opinión (junto con pofo creo) de poner un jumper en forma de cable (lo que sería un jumper con X posiciones) para dirigir el que fuera del nodo de control del buffer del comparador a una de los pines de entrada del comparador. Asi no habra que usar ningun dipB. Usando el cable-jumper, se evita el riesgo de proteccion que comenta Marcos de cerrar dos DIPB, ya que solo hay un cable que va de control a bit correspondiente.

Ahora un detalle por falta de practica con ttls. ¿Cuando hablais del buf que hay en cada bit, se implementaria con uno o más 244's? El control siempre tiene logica negativa o positiva? Es posible que control activo sea un 1 o un cero dependiendo del integrado?
Se podría dar el caso que entradas y salidas variara su funcion durante el funcionamiento con las placas jamma? Es decir, si un 245 que tiene entradas salidas configurables, varian su configuracion durante el funcionamiento con las placas jamma? Esto complicaria el tener jumpers fisicos que indican la entrada y salida.

Yo tampoco acabo de entender la idea del bus de pofo. Pero tiene pinta de crear algo "modular" para tratar las señales de los bits para diferentes cosas. Pero hasta que no veais varias implementaciones paralelas concretas no le veo el sentido. (Quizá Pofo tienes en mente más implementaciones aparte de la que plantea marcos)

El tema de comprobar Rams en circuito tengo que estudiarlo, pero digo yo que tendra mucha mas complicacion de comprobar. Y de hecho que yo tenga entendido, para comprobar una ram se hace escribiendo valores concretos y leyendolos para ver si su funcionamiento es correcto. Quizá si inhibis el funcionamiento de la cpu....y controlais externamente la ram...creo que se me acaba de ir la olla un pelín...

Pero viendo el nivel que estais queriendo llegar, os repito que un analizador logico, en la que podeis ver en paralelo multiples lineas logicas en pantalla, podeis diagnosticar una ram, cpu, o integrado complejo de una forma más o menos comoda. Quizá uno bueno os analiza y todo el funcionamiento de los integrados. Lastima que valgan unos 8000 pavos...

Saludos.
RESUMEN: Proyecto de incluir versiones españolas de juegos a Mame (Oficial): http://www.aumap.org/foro/index.php?topic=1270.0

Marcos75

  • Socio
  • ****
  • Mensajes: 3046
  • Arcadero de los 80s
Re:COMPARADOR LÓGICO
« Respuesta #84 en: 25 de Enero de 2014, a las 22:52 horas »
Hola Rockman. En principio la filosofía del comparador era no mezclarse con salidas ni tri-estado ni bidireccionales. Posterioremente me he dado cuenta de que contemplar las salidas tri-estado no es tan complicado (diseño del que acabamos de hablar). Pero las salidas bidireccionales (RAMs, 74LS245) es otra cosa.

Es decir, hablaríamos de pines unidireccionales siempre, con la posibilidad de que sean tri-estado.

Con respecto al jumper del que hablas, lo entiendo perfectamente. Sería poner una tira de pines por cada lado (10 y 10), de forma que eligieras cuál de ellos llevas a la señal de control. No me gusta la idea de tener hilos aéreos, pero es verdad que esa solución por un lado evita que pulses los DIP que no debes, y además es más "compacta".

La idea sería usar 244s. Había pensado ya en lo que comentas de la lógica positiva o negativa de control, pero no quería liar el dibujo. Supongo que en este caso no nos queda más remedio que meter un jumper que seleccione o bien la señal de control, o bien su negada.

El 245 tiene entradas/salidas bidireccionales. De momento no las contemplo en el diseño. Tienen su miga. Y con las RAMs pasa lo mismo. El método de prueba no es el que tú comentas, sino sería probarla durante su funcionamiento habitual. Problema: entradas bidireccionales controladas por la señal R - /W.

Con respecto a tu último comentario, ya te digo que yo veo factible llegar hasta las salidas tri-estado. Más allá, ya estamos hablando de una placa casi tan grande como la del juego ;) (o un buen programa para un microcontrolador).

Un saludo.



Pofo

  • Visitante
Re:COMPARADOR LÓGICO
« Respuesta #85 en: 25 de Enero de 2014, a las 23:34 horas »
Te qcabo de mandar al mail un esquema para 245, perdona lo cutre del papelillo roto, es lo que tenia a mano ahora.
Puede que tenga algun error, lo he echo sobre la marcha segun te he leido.

Saludos.

Hoy he mirado mas o menos los ttl mas comunes y he visto la posibilidad de hacer media docena de comparadores, cierto es que integrados hay muchos, pero el hp por ejemplo, no vale para tri estado y he echo una modificacion para que obvie esto en la salida a led y asi no dar lugar a falsas discordancias, me parece increible que este comoparador no lo tenga de serie.
« última modificación: 25 de Enero de 2014, a las 23:41 horas por Pofo »

Marcos75

  • Socio
  • ****
  • Mensajes: 3046
  • Arcadero de los 80s
Re:COMPARADOR LÓGICO
« Respuesta #86 en: 26 de Enero de 2014, a las 12:22 horas »
Si hablamos de comparadores específicos para integrados específicos, la cosa se simplifica mucho. En ese caso, una posibilidad para el 245 que no usa ningún tipo de selección (ni DIP ni hilos aéreos) podría ser esta:



Usa 2 x 74LS244, 4 x 74LS86 y dos puertas OR y una NOT. La putada es que no se puede usar una OR para hacer una NOT, con lo cual tendríamos que poner 2 integrados más (se podría dar una vuelta para buscar una alternativa, y que fuese necesario un solo integrado). EDITO: Creo que se podría hacer con un solo integrado, un 74LS00 (NAND). Lo único que habría que dar el paso intermedio de negar /E, pero se podría utilizar una puerta NAND para hacerlo. con eso salvaríamos el comparador con 2 x 74LS244 y 1 x 74LS00 nada más (más los 4 x 74LS86 de comparación).

He tratado de representar 2 pines nada más, de los 16 que habría que comparar en total. He pueso uno de cada lado, ya que los de un lado obedecen a la señal DIR, y los del otro lado a su negada.

El funcionamiento sería el siguiente:

- Suponemos /E = 0, funcionamiento normal. En ese caso los pines de un lado, por ejemplo Ax, serán entradas, y se llevarán desde el integrado a probar hasta el integrado de test, ya que el buffer correspondiente está activo. Pero en ese caso se desactiva el buffer complementario, con lo cual las señales Bx de ambos integrados (el que probamos y el de test) se desacoplan (el buffer se pone en alta impedancia).

- Si /E = 1, entonces todos los bufferes se activan. Los pines que sean entradas de conectan entre sí entre el circuito que estamos probando y el de test (como siempre), pero los que sean salidas también (esto último no tiene mucha importancia).

¿Cómo lo veis?

EDITO: En el dibujo Ax y Bx son los pines del integrado a probar, Ax' y Bx' los del integrado de test, y /E y DIR son comunes a ambos integrados, es decir, hay que conectarlos directamente entre los dos integrados (/E = /E' y DIR = DIR')
« última modificación: 26 de Enero de 2014, a las 12:38 horas por Marcos75 »


Marcos75

  • Socio
  • ****
  • Mensajes: 3046
  • Arcadero de los 80s
Re:COMPARADOR LÓGICO
« Respuesta #87 en: 26 de Enero de 2014, a las 12:28 horas »
Y ahora viene lo bueno: la última parte, las 4 x 74LS86 con sus diodos y sus resistencias, así como la pinza, son partes "comunes". Es decir, se puede montar una placa base con esos elementos, donde encajen sub-placas auxiliares para distintos tipos de integrados.

Creo que eso es lo que Pofo y Rockman estábais intentando decirme desde el principio, ¿no?  :-[

Joder, pero es que ahí nos vamos ya a un comparador del estilo de los comerciales, casi ;)


Pofo

  • Visitante
Re:COMPARADOR LÓGICO
« Respuesta #88 en: 26 de Enero de 2014, a las 17:28 horas »
Se me esta ocurriendo, y si me cuelo decirmelo, porque lo mismo es una tontería, que podíamos hacer una cosa.

Veo injusto que marcos se cargue con todo el trabajo, como ha sido el caso del otro comparador, asi que podíamos repartir un poco el tema.

Yo me reconozco un negado para el eagle (marcos, algun dia espero que me des una clasecilla), pero podria soldar las placas o hacer esquemas, o aportar componentes....y el coste total, podriamos asumirlo entre los interesados (que seremos 4 gatos). Pero ya puestos, podriamos hacerlo bonito y como tengo una impresora 3d se podria hacer unas carcasas, si no, siempre se le puede poner unas patitas como el willem y carretera, pero hacerlo bonito.

En las placas podriamos indicar el nombre del foro e incrustar en la portada de la web un pequeño manual de la herramienta que salio del foro.

Es una idea ñoña...seguramente, pero bueno, yo es que soy ñoño y me gustaria que de este foro saliera una herramienta para el arcade, creo que es una contribucion al mundillo que no se ha echo hasta ahora.

Si estoy meando fuera de tiesto decirmelo, no os corteis, pero es que esto lo veo muy util y se podrian poner los esquemas gratis para que todo el mundo sin conocimientos pueda al menos comprobar todos los ttl de sus placas.


ricky2001

  • Moderador 2
  • **
  • Mensajes: 1446
  • Arcade Adicto
Re:COMPARADOR LÓGICO
« Respuesta #89 en: 26 de Enero de 2014, a las 22:47 horas »
Yo me ofrezco para colaborar en lo que sea, también me interesa mucho este tema.

Saludos, Ricky