Salida de video a través de USB (u otros medios)

5

Para un convertidor ADC de velocidad media-alta, mi FPGA está recibiendo muestras de 16 bits a 54 MHz a través de una interfaz LVDS (4 líneas de señal diferencial más 1 señal de reloj diferencial). Estas son señales de video / cámara.

Ahora, debo considerar cómo puedo obtener la imagen del FPGA a la PC. Tengo un microcontrolador y una interfaz USB-OTG. Pero el USB es de 480 Mbit / s, y probablemente hasta 35 MB / s efectivamente (o menos), que no es lo suficientemente alto para 16 bits 1.5 MPixels @ 54 cuadros / seg. Eso sería 162 MB / s, demasiado alto para USB 2.0. ¿Estoy obligado a usar USB 3.0? Realmente quería sacar las imágenes en bruto a la PC. También podría posiblemente realizar una compresión sin pérdidas en el FPGA.

La segunda pregunta es cómo transmitir estos datos desde el FPGA. Podría almacenar los datos de ADC en la RAM externa, o configurar una interfaz para el microcontrolador, o incluso controlar directamente las señales de salida en un puerto. De cualquier manera, ¿qué opciones tengo w.r.t. grandes flujos de datos?

Cualquier ayuda sería apreciada!

    

1 respuesta

3

Su requisito de ancho de banda es mucho más que USB2 (por un factor de 4-5x). A menos que sus imágenes tengan algunas características especiales de las que pueda aprovechar, la compresión sin pérdida solo le brindará una mejora del 50%, por lo que no funcionará.

Debe aumentar el ancho de banda disponible (USB3) o reducir el requisito de ancho de banda (es decir, resolución, velocidad de fotogramas, profundidad de bits o alguna combinación).

Con respecto a la interfaz FPGA- > USB, si quieres algo fácil para comenzar, prueba Opal Kelly ' Tableros s: han hecho el bit de interfaz USB3 / FPGA por ti y puedes concentrarte en el bit que te interesa. (No tengo ninguna conexión con OK que no sea un usuario feliz de sus cosas).

De lo contrario, necesita un micro con la interfaz USB en él y algún hardware DMA similar al hardware + DMA para que el micro solo (como usted dice) supervise las transferencias de datos. Cypress crea algunos. FTDI también (aunque son micros, no tienes que tocar las entrañas, puedes pretender que son FIFO y los datos 'mágicamente' aparecen en la PC).

    
respondido por el Martin Thompson

Lea otras preguntas en las etiquetas