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

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

Marcos75

  • Socio
  • ****
  • Mensajes: 3046
  • Arcadero de los 80s
COMPARADOR LÓGICO
« en: 23 de Octubre de 2013, a las 16:01 horas »
Hola a todos.

Hemos hablado alguna vez de los comparadores lógicos, e incluso, sobre todo con Pofo, hemos comentado ya detalles concretos de cómo implementarlos.

El caso es que el otro día me hice uno muy básico que me permitía comparar un solo bit, y me pareció que puede resultar bastante útil en algún tipo de avería. En muchos casos un integrado que está mal canta rápido porque tiene una de sus entradas o salidas estancadas a masa o Vcc, o en alta impedancia. Pero en otras ocasiones un integrado puede, por ejemplo, perder internamente la conexión de una de sus entradas. Tú ves bien la entrada en el pin, pero como internamente no hay conexión, la salida no es buena. Eso con el comparador cantaría.

Dándole una vuelta, con puertas XOR se puede implementar la comparación. Una puerta XOR se activa justo cuando sus entradas son distintas, y se desactiva cuando son iguales. Un LED polarizado a la salida de la XOR se encendería cuando las entradas de la XOR fuesen distintas, evidenciando un problema.

Os cuento lo que tengo en mente:

- Un zócalo con pines "largos" para poner el chisme "a caballo" sobre el chip a probar.

- Un zócalo vacío para poner un integrado bueno igual al que queramos probar (será un ZIF).

- Unos DIP switches. Es necesario que al chip bueno le lleguen las mismas entradas que al que estamos probando, pero no las salidas. Por tanto, sabiendo qué son entradas y qué son salidas en cada integrado, ajustamos los DIP en consecuencia.

- Unas puertas XOR. Cada pareja de pines "homónimos" del zócalo ZIF y del zócalo de pruebas irán a una puerta XOR. Ambos pines estarán unidos entre sí o no con los DIP en función de si son entradas o salidas.

- A la salida de cada puerta XOR, un LED con su resistencia de polarización.

¿Cómo veis el montaje? ¿Lo veis factible? Lo ideal sería diseñarlo en Eagle, y mandar a hacer las plaquitas de circuito impreso, para que quedase lo más pequeño posible (aunque es difícil: 4 x 74LS86, hueco para el ZIF, los 2 x DIP de 8 posiciones, los 16 LEDs, sus resistencias, hueco para el zócalo de pines largos...).

Por otro lado esto estaría pensado para integrados de 14 ó 16 pines. Creo que esto no valdría para integrados de tres estados (que puedan poner su salida conectada a un bus, en alta impedancia). Para poder comparar, tú no puedes unir la salida del integrado que estás probando con la salida del integrado bueno. En los momentos en los que el integrado "desactiva" sus salidas, en las salidas del integrado que estamos probando se verá lo que haya en el bus en ese momento, generado por otros integrados, pero en el integrado de arriba (el bueno), no se verá nada, con lo cual la comparación no es posible.

Otra cosa sería implementar una especie de lógica más compleja donde las propias señales del integrado que controlan cuando se desactivan las salidas, sean las que controlen cuando el chisme compara, de forma que no se compare cuando las salidas están a nivel alto. Esto no es evidente, ya que habría que tener en cuenta mucha variedad de dispositivos. Con lógica discreta esto es un dolor.

De todas formas estuve discutiendo con Pofo de esto hace algún tiempo. Si a alguien se le ocurre cómo salvar esos casos, podríamos ampliar la lista de integrados compatibles con este comparador.

Un saludo.


Characa

  • Con experiencia
  • ***
  • Mensajes: 903
Re:COMPARADOR LÓGICO
« Respuesta #1 en: 23 de Octubre de 2013, a las 16:14 horas »
Acabo de leer el post y la verdad no es mala idea el invento; y digo yo, así por encima, no se podría emplear algún tipo de PAL para simplificar circuitería?

 ;)

Marcos75

  • Socio
  • ****
  • Mensajes: 3046
  • Arcadero de los 80s
Re:COMPARADOR LÓGICO
« Respuesta #2 en: 23 de Octubre de 2013, a las 16:20 horas »
Pues para la segunda parte, la de tratar de comparar también chips tri-estado, quizá sí, pero para la parte de comparación habría que valorarlo, porque quizá no merezca la pena. Con el modelo más típico, GAL16V8, como necesitamos 3 pines por cada bit a comparar, 14*3= 42, o sea que harían falta 3 GALs (suponiendo 18 pines configurables en cada GAL) mientras que con puertas XOR nos harían falta 4...


Pofo

  • Visitante
Re:COMPARADOR LÓGICO
« Respuesta #3 en: 25 de Octubre de 2013, a las 09:09 horas »
Perdona mi tardanza marcos, estoy comido de tiempo.

Tu sabes programar gal??? Yo no tengo ni zorra, si sabes de algun tutorial o documentacion te lo agradezco.

A mi con los tri-estado solo se me ocurre meter logica y saltarnos la comparacion en hi.z. Y un led para indicar que las salidas estan hi.z.  Seguramente alguien tenga una solucion mas elegante.

Te mando unas fotos mañana para que veas en que he estado ocupado ;)

Marcos75

  • Socio
  • ****
  • Mensajes: 3046
  • Arcadero de los 80s
Re:COMPARADOR LÓGICO
« Respuesta #4 en: 25 de Octubre de 2013, a las 23:03 horas »
Qué va. No tengo ni idea. No creo que sea muy difícil habiendo programado en otros lenguajes, pero ponerse desde cero da pereza.

Tengo hecho ya un diseño en Eagle. Es de 6 x 6 cm. No he conseguido hacerlo más pequeño, y he estado bastantes horas intentándolo. Como es un comparador muy básico, no creo que tampoco importe. A ver si mañana os enseño algún detalle, a ver qué os parece.

Un saludo.


Marcos75

  • Socio
  • ****
  • Mensajes: 3046
  • Arcadero de los 80s
Re:COMPARADOR LÓGICO
« Respuesta #5 en: 31 de Octubre de 2013, a las 18:29 horas »
Pues ya he mandado hacer las placas. A ver qué tal. En estos casos, siempre tengo el miedo de haberla cagado con el diseño...

Os pongo una foto de cómo va a quedar (vista en Eagle). He quitado las pistas para que se vea más claro:



En el centro hay un zócalo ZIF para poner el chip "bueno", con el que vamos a comparar. A los lados tiene unos puentes de resistencias y unas tiras de diodos, y en los extremos los DIP switches para seleccionar entrada / salida.

En la parte de fuera están los 4 x 74LS86, que son las puertas XOR que comparan, y abajo a la izquierda las tiras de pines largos que permitirán poner el comparador "encima" del chip que queremos comprobar.

Un saludo.


Pofo

  • Visitante
Re:COMPARADOR LÓGICO
« Respuesta #6 en: 31 de Octubre de 2013, a las 19:30 horas »
No tiene porque haber errores, imagino que llevas pata a pata el zif y el ttl a comparar al xor y salida a resistencia-diodo, con los dips seleccionas las salidas a comparar y carretera.

Una implementacion que pense en su momento ya muy corqui fue la de todas las salidas a cuatro 4 xor y estas a otro para poner un led de ok/nok verde/rojo, pero es una tonteria.

Saludos, aunque parezca un poco chorris, de los ttl de una placa suelen repetirse unas 5-10 veces los mismos, con el comparador vas al salto la rana y en segundos miras un porron de ttl, por ejemplo buffers.

Marcos75

  • Socio
  • ****
  • Mensajes: 3046
  • Arcadero de los 80s
Re:COMPARADOR LÓGICO
« Respuesta #7 en: 06 de Diciembre de 2013, a las 09:40 horas »
Perdonad por no actualizar el hilo, pero es que estoy quemado con los envíos desde China. La verdad es que comprar allí es barato, y encuentras cosas que aquí costaría mucho encontrar. Pero los tiempos de envío son insufribles. Y encima últimamente algunos transportistas asiáticos se han pueso muy estrictos con la revisión de las mercancías. El caso es que me están tardando en llegar las cosas del orden de 40-45 en la mayoría de los casos.

Encima me equivoqué al pedir las tiras de pines (las pedí con espaciado 2 mm en vez de 2.54 mm), así que a esperar otros 40 días...

Os pongo unas fotos de cómo queda montado todo a falta de los LEDs y de las tiras de pines, y os cuento el problema que me he encontrado:



He calculado mal las medidas del ZIF y, aunque de ancho me cabe, de largo no (se solapa con las puertas XOR 74LS86). Además los pines del zócalo ZIF no caben en los agujeros de la placa. En definitiva, he tenido que poner un zócalo tradicional y pinchar en él el ZIF. Cuesta pincharlo, pero una vez colocado no se mueve ni una pizca.

En cuanto me lleguen los LEDs y las tiras de pines lo finalizo y os cuento. Además estoy esperando más 74LS86, porque ahora mismo no tengo más...

Un saludo.


Pofo

  • Visitante
Re:COMPARADOR LÓGICO
« Respuesta #8 en: 06 de Diciembre de 2013, a las 10:35 horas »
Marcos, si no te importa que sean reciclados 7486 tengo muchos.

Saludos.

Marcos75

  • Socio
  • ****
  • Mensajes: 3046
  • Arcadero de los 80s
Re:COMPARADOR LÓGICO
« Respuesta #9 en: 12 de Diciembre de 2013, a las 09:35 horas »
Pofo, no había visto tu mensaje.

Muchas gracias. Tengo pedidos 20 desde hace un mes y medio mínimo. Con número de seguimiento. El paquete tiene pinta de estar estancado desde el 25 de Noviembre... Espero que lleguen pronto. Las tiras de pines no sé ni por dónde andarán, pero esas las pedí hace menos, por la equivocación que tuve.

Un saludo.


enricnes

  • Administrator
  • *****
  • Mensajes: 368
Re:COMPARADOR LÓGICO
« Respuesta #10 en: 12 de Diciembre de 2013, a las 10:17 horas »
El caso es que el otro día me hice uno muy básico que me permitía comparar un solo bit, y me pareció que puede resultar bastante útil en algún tipo de avería. En muchos casos un integrado que está mal canta rápido porque tiene una de sus entradas o salidas estancadas a masa o Vcc, o en alta impedancia. Pero en otras ocasiones un integrado puede, por ejemplo, perder internamente la conexión de una de sus entradas. Tú ves bien la entrada en el pin, pero como internamente no hay conexión, la salida no es buena. Eso con el comparador cantaría.
Marcos, en los casos que comentas no es donde seria ideal un analizador logico? Pudiendo mapear entradas y salidas y ver el los trenes de pulsos y poder comparar?

Por otro lado, has considerado hacerlo con arduino o es que te propusiste hacerlo con logica discreta?

Saludos!!

Marcos75

  • Socio
  • ****
  • Mensajes: 3046
  • Arcadero de los 80s
Re:COMPARADOR LÓGICO
« Respuesta #11 en: 12 de Diciembre de 2013, a las 10:33 horas »
Pues con respecto al primer tema, no sé muy bien la funcionalidad de los analizadores lógicos, pero imagino que es la de mostrar simultáneamente (sincronizadas) muchas señales digitales, mientras que el osciloscopio te las muestra de dos en dos máximo, y sin posibilidad de verlas como un "tren", salvo que tengan una frecuencia bajísima (y no es el caso).

En definitiva, en el caso que exponía (integrado que ha perdido la conectividad internamente de una de sus entradas), ver el problema con un analizador lógico puede ser casi tan complicado como verlo con un osciloscopio. Eso, a menos que el propio analizador traiga implementada por software la posibilidad de hacer comprobaciones por ti (es decir, que tú puedas decirle que estás probando un inversor, que tal señal es la entrada, y que chequee si tal señal, que es la salida, es coherente con la entrada). En este último caso el analizador estaría haciendo las funciones de comparador también, con una funcionalidad muy superior a la que aquí comentamos, pero con un coste muy alto. Como os comentaba en otro hilo, esto para mi es un hobby, así que prefiero la solución barata, manual, y más "entretenida".

Con respecto a tu segunda cuestión, sería interesante, pero nunca me he metido con ello. De hecho esta solución que yo propongo no soporta integrados con entradas/salidas bidireccionales o de triple estado. La cuestión es que yo cortocircuito lo que son entradas entre el chip "bueno" y el que quiero probar. Si esa pata en realidad no es entrada, sino "entrada/salida", la estaría cortocircuitando también en los momentos en que es "salida", lo cual echa por tierra el objetivo del comparador. Para ello haría falta una lógica, que pudiera recoger las señales de control de los integrados (las que determinan cuando un pin es entrada y cuándo es salida), y meterlas en la ecuación. Se me escapa de las manos ese tema por su complejidad...

Un saludo.


enricnes

  • Administrator
  • *****
  • Mensajes: 368
Re:COMPARADOR LÓGICO
« Respuesta #12 en: 12 de Diciembre de 2013, a las 10:58 horas »
Los analizadores logicos, al menos los de pc te permiten nombrar las sondas, de manera que tu puedes decir que la sonda 1 es CLK, sonda 2 es A, etc, y entiendo que eres tu como tecnico el que tiene que saber que esta analizando, si un inversor, si un buffer e interpretar los trenes de pulsos y ver si las entradas y salidas estan en consonancia. Tambien entiendo que puedes guardar proyectos, y siempre que tu conectes las sondas igual, podras reutilizarlos, de manera que solo tienes que currarte el renombrado por cada tipo de integrado que vas a diagnosticar.

En cuanto a hacerlo con arduino, me imagino que con arduino UNO que tiene hasta 14 entradas digitales, un poco de software y utilizando el puerto serie como entrada y salida (por no complicar la construccion con shields y demas), seguramente algo se podria hacer. El inconveniente mas grande que le veo es tener que definir a mano en el software todos los 74 que queramos testear, si lo vamos a hacer por software. Si lo que vamos es a comparar uno en circuito con otro de referencia, pues tendria otros inconvenientes.

Slds

PD: Aqui tienes una review de eevblog de un analizador de 8 canales: http://www.youtube.com/watch?v=7OCPWCdg2ys


Pofo

  • Visitante
Re:COMPARADOR LÓGICO
« Respuesta #13 en: 12 de Diciembre de 2013, a las 11:27 horas »
El comparador de marcos es sencillo y versatil, una herramienta barata y terriblemente practica.

En arduino se puede hacer mucho, la cosa es saber y querer dedicarle tiempo al diseño del soft.

Sobre los analizadores, no tiene nada que ver con un sencillo comparador, tu vas a ver los trenes de pulsos pero vas a tener que interpretar, prefiero andar con mi osciloscopio de doble trazo a menos que me regalen uno.

Ese analizador logico qu pusiste no se si lo ves pero no tiene memoria por lo que estara limitado a la velocidad del usb( no lo se pero sera del orden de los 20-30 mhz????)y los buses suelen ser rapidos, aparte de que no se simultaneara los canales por lo que no se que pensar...

De todos modos los veo interesantes, si compras uno dinos que tal va.
« última modificación: 12 de Diciembre de 2013, a las 11:29 horas por Pofo »

Marcos75

  • Socio
  • ****
  • Mensajes: 3046
  • Arcadero de los 80s
Re:COMPARADOR LÓGICO
« Respuesta #14 en: 12 de Diciembre de 2013, a las 11:32 horas »
En cualquier caso, interpretar si una señal que ves es correcta o no es muy fácil en algunos casos, pero en otros es complicado (por ejemplo en los multiplexores o registros de desplazamiento).

También es verdad que en muchas averías en integrados no se da esta circunstancia tan extrema, y es más sencillo detectar un problema con un osciloscipio, e incluso con la punta lógica en muchos casos.

Un saludo.