Estoy diseñando la forma más simple de una cámara: un FPGA que interconecta un sensor de imagen y envía los datos adquiridos al dispositivo host a través de USB 3.0. No hay procesamiento en el FPGA, se utiliza para el control del sensor y la adquisición de datos.
Al estudiar varios recursos en línea, observé que normalmente se incluye una DRAM en el diseño para almacenar marcos secuenciales así como resultados de procesamiento intermedios. Al principio, mi plan era implementar:
Sensor de imagen == > FPGA == > DRAM (Adquisición)
DRAM == > FPGA == > USB Controller (Transferir al host)
Como no se realiza el procesamiento de la imagen, me preguntaba si es seguro omitir la DRAM en el diseño para reducir la complejidad del diseño. Por lo tanto, los datos de píxeles irán directamente del FPGA al controlador USB en cada ciclo, e implementarán una pequeña RAM interna como un búfer de píxeles muy pequeño en caso de que haya un bloqueo temporal del controlador USB.
¿Es eso factible o tendré muchas pérdidas de cuadros debido a cuellos de botella por transferencia?