Estoy trabajando en la integración de un envío de eMMC a un FPGA. Por ahora, la inicialización está funcionando bien, he logrado recibir los registros CSD y CID correctamente, y puedo seleccionar y mover el chip al estado de transferencia.
La forma en que se construye mi diseño, tengo que enviar datos a la FPGA desde la MCU, que luego se pueden reenviar para su programación en el eMMC.
Mi pregunta es, ¿cómo se supone que debo hacer eso correctamente, cuál es el buen patrón de diseño para esto? ¿Algún tipo de FIFO amortiguado? La comunicación MCU / FPGA es serial, para tener un byte completo para enviar Necesito 8 ciclos de reloj SPI, mientras que solo necesito 1 ciclo de reloj de MMC para enviarlo a la MMC, su enlace es paralelo. Y no puedo hacer que la MMC espere a que esté listo el próximo byte, de lo contrario, solo estaré programando los bits establecidos previamente para la cantidad de ciclos de reloj de mmc necesarios para que se reciba el siguiente byte.
El reloj FPGA es de 12MHz, los SPI son de 1.5MHz, los MMC se pueden sintonizar hasta 12MHz. Un bloque completo de datos es de 512 bytes, es un vector lógico de 4096 bits que supongo que no debería asignar como búfer, ¿no?