Analizador Digital de Señales

Introducción.

Cuando un técnico en electrónica lleva cierto tiempo realizando proyectos, sin duda, llega un punto en que, se plantea cómo conocer el estado de una señal en un punto concreto del circuito y sobre todo en el preciso momento, posterior a un evento. Es decir, en un circuito en funcionamiento.

Naturalmente, un técnico, cuando tiene necesidad de saber el estado de una señal digital en un punto del circuito, se ayuda de una sonda digital.

En primer lugar diré que, esa idea me surgió, al tratar de describir cómo funciona el I2C-bus. Tampoco creo necesario, abordar la construcción de un analizador digital capaz de competir con uno comercial, no es ese el caso. Se trata de, escrutar las posibilidades que tenemos a nuestro alcance, para la realización de una sonda lógica que nos ayude a “ver” lo que ocurre a la salida de un IC.

Por supuesto que, una sonda digital incluso auto-construida, nos puede servir para conocer el estado del punto a examinar. Esto ya se comentó en la entrada la sonda lógica, aunque de forma sencilla, se describen los puntos más importantes. Una sonda, no debe influir en la señal bajo revisión, para ello, la cargar que representa debe ser mínima y debe absorber el mínimo de la señal a monitorizar.

El problema surge, cuando nuestra necesidad, consiste en “ver” distintos puntos o E/S de un IC, al mismo tiempo, comprendemos que la sonda digital, se queda corta y se hace necesaria la ayuda de una sonda digital de más E/S, esto es, un analizador digital.

¡Es muy sencillo de usar! ¿Cual es el problema? El más importante, su costo. En muy pocas situaciones se compensa el desembolso que representa un analizador digital comercial. Es cierto que hay sistemas que se ayudan de un programa que corre en un PC y unos cables (personalmente no lo he probado), por lo que no puedo dar mi opinión al respecto.

Realmente, quiero una “caja negra” que me muestre el estado de un byte, a la entrada de un circuito integrado. Esto, no es un analizador lógico (aunque aquel, puede mostrarlo). Entonces, eso es lo que quiero, poder ver el estado de los bits de un byte.

 Así que, lo que se trata es… como decirlo. ‘Captar’ un paquete de datos en una transmisión y visualizar los bits que lo componen. Ya se que no suena fácil, pero tengo una ligera idea que, o la acierto del todo o nada más lejos de la realidad.

En estas estamos. He pensado en utilizar circuitos integrados de relativo costo. Surge un primer dilema, ¿que tecnología usar?, se disipa rápidamente, siempre que se pueda tecnología HC o HCT. La utilidad que le pienso dar, en principio es en proyectos con micro-controladores, es decir, con circuitos que comportan señales paralelo y señales serie.

 La caja negra.

Le estoy dando vueltas a la idea de cómo tomar una muestra de los datos que está procesando un I2C bus. Por lo pronto, he pensado en tomar los datos justo a las salidas A3 ˜ A4, aun sin conectar el expansor de puertos PCF8574. La idea parece factible y he esquematizado la idea.

La señal de los datos SDA, se introduce en las dos entradas A y B que, al tratarse de una NAND, se comportarán como una sola, en el registro de desplazamiento de 8 bits como el 74HC164, serie-in — paralelo-out de alta velocidad.

Diagrama 74HC164

05.05.2012

Esto, en teoría, debería mostrar los distintos estados de los 8 registros que contiene el dispositivo HC164. Si en cada salida Qn, se conecta una resistencia en serie con un diodo LED, obtendremos una representación del estado de cada bit.

Esto parece demasiado sencillo, tiene que haber algún problema oculto, nada es tan fácil.

Prueba con simulador.

¡Ya está! Cuando se inicie el analizador, cuantos pulsos tenemos que seleccionar?.
Un paquete, sería la respuesta. Un paquete de 8 bit de reloj y, cortar la entrada. Para acto seguido mostrar la captura.

Me gusta la idea, hay que pulirla. Aunque así, sólo veremos… Claro, es lo que queremos, veremos la dirección del dispositivo al que queremos (esclavizar) como “esclavo”.

 07.05.2012

Estuve realizando algunas pruebas, primero con un contador/divisor, luego combinaciones de puertas NAND, para llevar la cuenta de los 8 bits de entrada. Ninguna prueba soluciono el problema. Hasta que decidí utilizar una puerta puerta NOR, me vino a la memoria la forma como se comporta dicha puerta con dos entradas y me puse manos a la obra. Que suerte disponer de herramientas software para realizar dichas pruebas.

Algunas veces uno se atasca, entonces, lo mejor es dejarlo y volver a ello en otro momento. Y esta es, la respuesta a mis indagaciones:

Esquema Analizador con divisor x 8

 Ahora, debo hacer una prueba más, en la prueba práctica, utilizaré:

1 - 74CH164P Registro de desplazamiento de 8 bits. 
1 - 74CH01P  Cuatro puertas NOR de 2 entradas.
8 - Diodos 1N4248 Diodos de alta velocidad.
8 - Diodos LED de 3 mm.
8 - Resistencias de 270Ω 1/8 de W.

Esta prueba, la suelo realizar a menudo, por que siempre cabe la posibilidad de, la presencia de imponderables que dan al traste con las ideas sencillas. Les tendré informados de los resultados obtenidos. ¿Se le ocurre a alguien, alguna idea mejor?

10.05.2012

Siento haber demorado la continuidad, debido a asuntos personales. También ha influido que no disponía de los componentes activos necesarios y he tenido que utilizar los que tengo en el mercado de la ciudad.

De modo que las pruebas las he tenido que realizar con circuitos integrados de la serie LS, en lugar de los HC, esto, no habrá de suponer cambios en el comportamiento del esquema bajo análisis, sobre todo por que las velocidades no se verán afectadas.

Este es el cableado del analizador lógico con el 74LS164 y 74LS02.

2 comentarios en “Analizador Digital de Señales

  1. saludos. me acabas de dar una luz de esperanza, si bien es cierto tu idea es para fines muchos más incicibos con respecto a las señales digitales a mi me ayudo a prender por fin los led gracias a el NOR, gracias, eso me indica que estoy cerca :gracias nuevamente. estoy usando :1)pic 16f84A 2) 74hc164 3) el NOR.
    Con respecto a tu pregunta pues , fíjate que aveces nuestro conocimiento es solo una parte de un sistema, y muchas veces la idea es saber si ese sistema (CI (Existen muchos, muchos que no se podría llegar a saber mentalmente todas las señales que deberían botar o recibir cada CI)), esta en buen funcionamiento . La idea que propongo es: 1) Software (Java(interface que une a la base de datos y las señales que el equipo recibe de los CI)+Mysql (Base de datos donde se almacenaría todas las salidas de los pines de diferentes CI (son programas libres no cobran))) + 2) Hardware (Equipo (consiste con una entrada en pares para los PIC sean smd o no, también otra entrada para los CI cuadrados (aunque ahí si esta difícil por su variedad y tamaño) y un par de memoria, he visto que estas usando un arduino, eso ayuda bastante como interfaces a memorias incluso a los equipos de computo en tiempo real, con o sin si es posible con pic u otros tipos de CI Programables.) ) éxitos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>