Comunicación entre FPGA y OMAP 3530 utilizando GPMC

1

Estoy trabajando en un proyecto que requiere la comunicación de datos entre Xilinx Spartan 6 FPGA (XC6SLX45T-2FGG484) y OMAP 3530, tengo una placa de desarrollo ULK en la que

  1. La PROM (24AA256-I / SM) de 32Kx8 (256Kbits) de Microchip se usa para interactuar con el procesador OMAP a través de la interfaz I2C.

  2. La misma EEPROM serial de 32Kx8 (256Kbits) (24AA256-I / SM) de Microchip se usa para interactuar con FPGA a través de la interfaz I2C. El I2C es común tanto para el procesador como para el FPGA.

  3. El bus GPMC del procesador OMAP3530 se utiliza para comunicarse con Spartan-6 FPGA para el registro de lectura / escritura y para programar el FPGA. aquí, las señales del controlador GPMC del procesador OMAP3530 se configurarán en modo de dirección / datos no multiplexados. Además de las señales de selección de chip (CS0-4), las señales SPI3, I2C3 y GPIO se conectarán a FPGA para una comunicación misc. Para generar interrupciones desde el procesador FPGA, se utilizan dos señales GPIO dedicadas.

Ahora no estoy seguro de por dónde empezar,

  1. cuál es la elección

a. ¿Puedo usar la EEPROM como memoria compartida en la que el procesador y fpga realizan operaciones r / w? ¿Cuáles serían las implicaciones de viabilidad y velocidad de una implementación de este tipo?

b. ¿Puedo usar la parte de comunicación misc GPMC ..? ¿Cómo voy a hacerlo?

¿cuál de los dos sería más apropiado? y cómo voy a seguir adelante, perdonen amablemente mi ignorancia, si cometí algunos errores o interpreté los datos erróneamente.

    
pregunta Himanshu Sourav

1 respuesta

1

La GPMC debería ser el camino a seguir. Básicamente, lo que debe hacer es escribir una configuración de FPGA que implemente un puerto que actúe como una SRAM compatible con GPMC. Sin embargo, en lugar de acceder a un banco SRAM, el puerto puede acceder a varios registros y memorias dentro del FPGA. Si usa los pines correctos para el lado de datos del puerto en el FPGA, entonces puede usar el método de configuración SelectMAP y puede escribir los datos de configuración en el FPGA en paralelo de manera muy eficiente. Al escribir los datos de configuración, no se utilizan pines de dirección, por lo que puede usar los pines que sean convenientes. Es posible que deba divertirse un poco con las señales de control y CCLK, ya que muchos de estos pines no son accesibles desde el diseño de FPGA, ya que es posible que deba conectar el pin CCLK y otro pin IO al pin del reloj CPMC. Es posible que necesites cierta lógica discreta para hacer que todo funcione.

No recomendaría el uso de EEPROM a menos que necesite un almacenamiento no volátil. El número de ciclos de escritura es limitado, por lo que podría desgastarse rápidamente.

Si se necesita comunicación desde el FPGA a OMAP, recomendaría agregar e interrumpir la línea del FPGA y luego leer los datos necesarios a través de la interfaz GPMC en un ISR.

    
respondido por el alex.forencich

Lea otras preguntas en las etiquetas