Me gustaría aplicar ingeniería inversa a cierto circuito digital de 2 hilos. Estoy buscando el analizador lógico más barato posible. No sé la frecuencia exacta del circuito, pero es sub-1MHz. (Probablemente en el rango de 50kHz-500kHz.)
Obviamente, he oído hablar de Bus Pirate, pero pensé: bueno, ¿por qué no usar un puerto serie en mi computadora portátil? Tengo un dongle UART a USB basado en un chip de la familia FT232, que se supone que funciona con velocidades de transmisión no estándar, hasta 1 Mbd y más (según el modelo específico que busque).
Hay dos desafíos que puedo ver de inmediato:
Hay más en serie que solo la velocidad en baudios. RS-232 es un protocolo enmarcado . Es decir, cada byte de datos está enmarcado por marcadores de identificación, a saber, los bits de inicio y parada . Solo cuando se haya detectado un paquete RS-232 válido delineado por estos bits de marcador, se enviará a su computadora portátil como un byte válido.
A menos que su flujo de datos desconocido sea RS-232 en su formato, el chip FT232 no podrá identificar paquetes válidos y, por lo tanto, no podrá decirle qué está pasando.
Hay otros chips FT* disponibles que pueden funcionar con flujos de datos arbitrarios o pines de E/S sin procesar, y es posible que pueda encontrar un chip que sea adecuado, pero encontrar uno en un dongle fácil de usar puede ser más complicado.
Realmente quieres algo más genérico, como un Bus Pirate, pero de hecho cualquier cosa que sea capaz de inspeccionar el estado de las líneas de señal digital lo suficientemente rápido y convertirlo en un formato que la computadora pueda leer (USB) haría el trabajo.
A menudo uso una placa basada en un microcontrolador genérico para hacer el trabajo (utilizo chips PIC32MX de 80 MHz o PIC32MZ de 200 MHz y la plataforma chipKIT principalmente). Estas tablas tienen la ventaja de que también puedes usarlas para otras cosas. Arduino es popular, pero los de gama baja pueden ser un poco lentos para una detección confiable sin usar trucos sofisticados (interrupciones, etc.).
nitro2k01