Periférico mapeado en memoria en el bus NAND

6

Tengo un sistema integrado que no es rentable para rodar una PCB personalizada, por lo que mi acceso a ciertos buses es limitado. Tuve la idea de conectar mi FPGA al puerto NAND no utilizado del sistema para comunicaciones de alta velocidad. Necesitaría escribir un controlador personalizado basado en el controlador MTD de Linux, pero permitiría el acceso de mmap al FPGA.

El reloj periférico flash NAND en este sistema integrado específico está configurado a 33MHz en el kernel de Linux y el periférico SPI es 33MHz con un reloj máximo de 30MHz. Si bien el SPI sería más lento debido a su salida en serie, ¿tiene alguna complejidad subyacente al bus NAND que lo haría más lento que el SPI?

Todas mis comunicaciones son comandos de 8 bits seguidos de datos de 16 bits.

    
pregunta uMinded

1 respuesta

1

La interfaz NAND debería poder funcionar a una latencia de 2 ciclos, y debería ser la parte limitante en esa ruta de datos. Suponiendo que tenga una interfaz NAND de 8 bits de ancho, el hardware NAND debería ser más rápido.

Usted tiene el potencial de usar direcciones y datos en la interfaz NAND, posiblemente comprimiendo el comando y los datos en una sola transacción de CPU (1 o 2 accesos externos).

Puede haber otras complejidades que afecten a cualquiera de los puertos, pero debe ser una suposición segura de que el uso de NAND será mejor para la latencia y el ancho de banda.

    
respondido por el Sean Houlihane

Lea otras preguntas en las etiquetas