Puente LVDS-SPI, asic o FPGA, y qué FPGA

Voy a desarrollar una cámara utilizando el sensor de imagen 2D NanEye . Esto tiene interfaz LVDS. Estoy usando una MCU para procesamiento de datos que no tiene interfaz LVDS, pero tiene SPI e I2C. Por lo tanto, estaba pensando en usar un FPGA para un puente de LVDS-SPI. Quiero que la cámara funcione con batería, por lo que el consumo de energía es un elemento clave en la elección del FPGA a utilizar.

Me preguntaba si algunos podrían tener algunas entradas sobre qué FPGA usar, eventualmente si sería más inteligente usar ASIC. Estoy considerando usar el Microsemi Igloo Nano, el Lattice Mach03 y el Lattice iCE40.

No creo que sea posible "conectarlos". La cámara proporciona una cantidad significativa de datos. Genera 10 bits * 250 * 250 * 42 FPS (mínimo) = 26.460.000 bits/s. Eso es sin mensajes de control, es decir, sólo los datos.
Esto es como unir un sendero a una autopista interestatal.
Esto es algo posible pero bastante cerca del límite. Debe decodificar el flujo LVDS (encontrar límites de marco y límites de línea) y codificarlo en flujo SPI. Y necesita diseñar su protocolo SPI. Siempre que su FPGA tenga la memoria para una o dos líneas de imagen y suficientes pines de alta velocidad para LVDS, entonces está bien. Recomendaría la placa BeMicro para empezar. Honestamente, si su presupuesto no es demasiado ajustado, la forma más fácil es grabar el microcontrolador como un núcleo blando en el FPGA también y no necesita preocuparse más por SPI.

Respuestas (1)

Parece que está planeando pasar de una interfaz de alta velocidad (LVDS) a una interfaz de baja velocidad (SPI), que no funcionará sin algún compromiso.
LVDS se usa para interfaces de datos de alta velocidad, generalmente para transferir varios cientos de Mbps (Megabits por segundo) o más.
SPI es una interfaz bastante lenta, que generalmente proporciona una velocidad de datos de un par de Mbps como máximo.

Si una velocidad de cuadro reducida es aceptable, puede usar un FPGA para almacenar en búfer un solo cuadro que se recibió a través de la interfaz LVDS. Luego, la MCU puede leer el marco a través de SPI a una velocidad mucho más lenta. Después de que la MCU haya recopilado la trama, la FPGA almacenará en búfer la siguiente trama y así sucesivamente. Por supuesto, se perderán muchos cuadros mientras la MCU lee el cuadro capturado del búfer. Tenga en cuenta que esto solo funciona si los marcos contienen la fecha de la imagen sin procesar, es decir, aún no están codificados.