8 votos

¿Frambuesa Pi como programador JTAG?

Aparte obviamente trivial problema de escribir el software, ¿hay alguna razón práctica ¿por qué no podía utilizar el puerto GPIO de una frambuesa Pi como programador JTAG? Lo pregunto porque estoy haciendo un trabajo de hobby con entretela un CPLD a mi frambuesa Pi y sería conveniente poder programar directamente en lugar de utilizar un dispositivo JTAG y una computadora.

¿Hay algún problema con los voltajes, temporización etcetera...?

8voto

Ivar Forss Puntos 11

OpenOCD ha genéricos sysfsgpio conductor y específicos de la RaspberryPi BCM2835 controlador para bastante tiempo, y AFAICT la velocidad es correcta (por ejemplo, stm32f1 intermitente está limitada por la velocidad de su flash), acerca de 4MHz es fácilmente obtenible y para muchos de los escenarios de uso externo no hay circularidad es necesario. También hay soporte para el DEPARTAMENTO de bienestar social, pero todavía no está aguas arriba.

Usted debe clonar el actual git HEAD y compilarlo de forma nativa con --enable-bcm2835gpio y, a continuación, el uso de configuración de la interfaz/raspberrypi nativo.cfg.

Por favor refiérase a la oficial LÉAME y texinfo manual para los detalles.

Respecto a la parte de hardware de la cuestión: si el objetivo de voltaje es igual o muy cerca de 3.3 V se puede conectar el RPi pines directamente al objetivo de la interfaz, si no, no se puede (no siempre necesario, como muchos de los modernos microcontroladores "5V tolerante" pines, por lo que puede ser conectado a las fuentes con tensiones superiores a su Vcc sin ningún daño, pero la comprobación de la documentación de primera!) necesidad de agregar un voltaje apropiado-búfer de traducción. Para proporcionar una mejor impedancia de coincidencia, se recomienda tener 47-100 Ohms en serie resistencias en cada línea de señal, cerca de RPi conector. Para más detalles por favor ver este detallado Michael Schwingen la explicación: http://article.gmane.org/gmane.comp.debugging.openocd.devel/23792 .

HTH

1voto

Alex Andronov Puntos 178

Una cosa que yo considero es que incluso si el bit golpes de I/O es lento, usted podría ser capaz de (lentamente) programa de un CPLD, que podría ser utilizado para realizar otras operaciones mucho más rápido. Por ejemplo, si usted tenía diez pines de salida D0-D9 que estaban todos en el mismo puerto de e/S, junto con un pin de entrada, puede utilizar D9 como un "disparador" de entrada, donde un cambio de estado (ascendente o descendente), después de un breve retardo (tiempo suficiente para que todos los otros pines para ponerse de acuerdo), activar la CPLD para hacer algo. D8 puede seleccionar si el "algo" iba a ser "la salida de los datos D0-D7" o algo más. D4-D7 podría, a continuación, seleccione uno de los 16 operaciones a realizar (habilitar/deshabilitar el modo en el que las salidas simplemente siga los estados de D0-D2, configurar un límite de escaneo-modo de aceleración, donde cada bit suministrados por el BRAZO de reloj de un grupo de tres bits, el cual puede ser fijo, altas, bajas y fijas, o siga el BRAZO del estado, etc.) No estoy seguro de qué tipo de distribución normalmente se esperaría obtener de la Raspberry Pi I/O, pero aún relativamente pequeño CPLD podría ser capaz de acelerar las cosas en gran medida.

0voto

Jason Puntos 5685

Usted puede hacer un circuito de interfaz que lee datos que viene sobre el GPIO PIN y enviarlo con los niveles de voltaje adecuado, calendario, etcetera. El voltaje podría tener que ser cambiada de puesto si el Raspberry Pi está funcionando a un voltaje inferior/superior del CPLD, pero no tengo ninguna idea acerca de la sincronización.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X