¿UART como analizador lógico?

2

Me gustaría realizar ingeniería inversa en un determinado 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é: hey, ¿por qué no usar un puerto serial 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 en baudios no estándar, de hasta 1Mbd y más (dependiendo del modelo específico que busque).

Hay dos desafíos que puedo ver de inmediato:

  1. voltaje. Supongo que un simple divisor de voltaje de dos resistencias será suficiente?
  2. Reloj. Como no conozco la velocidad en baudios del sujeto, no veré la señal adecuada de inmediato. ¿Tal vez podría sobreexplotar inicialmente y averiguar la frecuencia real a partir de la señal observada?
pregunta Billy Bob

1 respuesta

5

Hay más en serie que solo la velocidad de transmisión. RS-232 es un protocolo enmarcado . Es decir, cada byte de datos se enmarca identificando los marcadores, es decir, los bits start y stop . Solo cuando se detecte un paquete RS-232 válido delineado por estos bits marcadores, 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 lo que está pasando.

Hay otros chips FT * disponibles que pueden funcionar con flujos de datos arbitrarios o pines IO sin procesar, y es posible que encuentre un chip que sea adecuado, pero encontrar uno en un dongle fácil de usar puede ser más complicado .

Realmente desea 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 una forma 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 (uso los chips PIC32MX de 80MHz o PIC32MZ de 200MHz y la plataforma chipKIT en su mayoría). 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 utilizar trucos sofisticados (interrupciones, etc.).

    
respondido por el Majenko

Lea otras preguntas en las etiquetas