Pizza hace un analizador lógico capaz

Un proyecto de microcontrolador bastante común es crear algún tipo de analizador lógico. En teoría, debería ser bastante fácil: tome algunas entradas digitales, guárdelas y visualícelas. Pero, por supuesto, el diablo está en los detalles. En primer lugar, desea capturar datos rápidamente, pero también debe examinar el activador en tiempo real, lo que es difícil de hacer en el software. También puede necesitar circuitos de condición de entrada a menos que esté satisfecho con las características de entrada del microcontrolador. Finalmente, necesita una forma de descartar los datos para su análisis. [Gusmanb] abordó todos estos problemas con un analizador simple construido alrededor de Raspberry Pi Pizza.

En los extremos delantero y trasero, hay una placa opcional que realiza una conversión de nivel rápida. Si no te importa medir entradas de 3,3 V, puedes dejar la placa. En el lado de la salida, hay un software personalizado para mostrar los resultados. Sin embargo, lo que es realmente interesante es lo que hay en el medio.

El PCB simple es completamente opcional.

Pizza captura 24 bits de datos a 100 MHz y proporciona disparadores de borde y patrón. Esto es impresionante porque tienes que mirar los datos a medida que los almacenas y eso consume algunos ciclos de instrucciones si intentas hacerlo en el software, reduciendo tu frecuencia máxima de reloj. Entonces, ¿cómo lo gestiona este proyecto?

Utiliza las unidades PIO de Pizza que son procesadores dedicados auxiliares que no son muy potentes, pero son muy rápidos y deterministas. Dos instrucciones PIO son suficientes para hacer frente al trabajo para casos simples. Sin embargo, hay dos PIO y cada uno tiene cuatro máquinas de estado separadas. Todavía necesita algo de trabajo, pero es más fácil que intentar ejecutar una CPU a unos pocos gigabytes para obtener el mismo efecto. El modo de disparo rápido, en particular, abusa del PIO para obtener la máxima velocidad e incluso puede operar hasta 200 MHz con algunas limitaciones.

Si desea probarlo, no puede usar nada más que Pizza y un cable de puente, siempre que no necesite la conversión de nivel. La página del proyecto menciona que el software personalizado evita usar el software OpenBench que obtenemos, pero es posible que hayamos optado por los controladores Sigrok para evitar tener que reinventar demasiadas ruedas. El autor menciona que era más fácil ejecutar su propio código que cumplir con un protocolo de controlador y también lo entendemos. Sin embargo, el software se ve bien e incluso tiene un analizador de protocolo SPI. Todo es de código abierto, por lo que si desea otros protocolos antes de que el autor los alcance, siempre puede hacerlo usted mismo.

Si quieres Pizza y Sigrok, hemos cubierto un proyecto que hace precisamente eso. La mayoría de los analizadores lógicos que usamos hoy en día los integramos en nuestros diseños de FPGA.

Manuel Gómez
Manuel Gómez

Deja una respuesta

Tu dirección de correo electrónico no será publicada.