Gracias por los consejos sobre las diferentes opciones de bus periférico. Volví a leer mi publicación original y me di cuenta de que había omitido una información crítica. Mis disculpas. El ADC extrae datos de un sensor de imagen a 28MHz y se toma una imagen cada 30 segundos aproximadamente. Esto significa que una vez que se almacenan los datos, se pueden transferir a una velocidad más lenta. Mi esperanza original era conectar el bus RAM al SBC para que no tuviera que volver a copiar los datos al SBC, pero parece que esto no sería posible con una placa más barata.
Si este es el caso, creo que una interfaz DMA no es la mejor manera de hacerlo.
Si solo necesitas extraer el contenido de la DRAM cada 30 segundos, tienes MUCHA flexibilidad.
Creo que la forma más económica y sencilla de hacerlo sería simplemente abofetear a una Raspberry Pi allí. Conéctelo a la FPGA a través de una interfaz SPI (hay una conexión SPI de hardware en el GPIO del PI), y con una velocidad de reloj de unos pocos megahertz, debería tener suficiente tiempo para leer los datos de su imagen.
Ahora, asumiendo que está construyendo la interfaz FPGA en la empresa, y no me importa hacer algunas modificaciones, sugeriría volver a diseñar la placa FPGA con un Xilinx Zynq microprocesador.
La familia Zynq 7000 incorpora una plataforma de procesamiento extensible en dispositivos para abordar aplicaciones de sistemas integrados de gama alta, como vigilancia por video, asistencia para conductores de automóviles, tecnología inalámbrica de última generación y automatización de fábrica. Los FPGA de Zync-7000 integran un sistema completo de 28 nm basado en procesador ARM Cortex-A9 MPCore. La arquitectura Zynq difiere de matrimonios anteriores de lógica programable y procesadores integrados al pasar de una plataforma centrada en FPGA a un modelo centrado en el procesador. Para los desarrolladores de software, los FPGA de Zynq parecen lo mismo que un sistema basado en procesador ARM estándar y con todas las funciones -chip (SOC) que se inicia inmediatamente en el encendido y puede ejecutar una variedad de sistemas operativos independientemente de la lógica programable.
Básicamente, utiliza el tejido FPGA para leer su sensor de imagen y luego lo pone a disposición de la CPU a través de un canal DMA local. Todo en el mismo IC.
Hay un dev-kit con el que puedes hacer pruebas llamado ZedBoard .