Actualmente estoy trabajando en Super OSD, un proyecto de visualización en pantalla. enlace tiene todos los detalles.
En este momento estoy usando un dsPIC MCU para hacer el trabajo. Este es un DSP muy poderoso (40 MIPS a 80 MHz, operaciones de tres registros de un solo ciclo y una unidad MAC) y, lo que es más importante, viene en un paquete DIP (porque estoy usando una placa de protección para hacer un prototipo). Realmente obtengo hasta el último bit de rendimiento ejecutando el OSD: el chip tiene aproximadamente 200 ns o 10 ciclos por píxel en la etapa de salida, por lo que el código debe estar muy optimizado en esta parte (por esta razón, siempre se escribirá en montaje.)
Ahora estaba considerando usar un FPGA para esto porque, debido a la arquitectura paralela de tal chip, es posible tener un programa lógico simple ejecutando el OSD. Cosas como dibujar líneas y código algorítmico serían manejados por una MCU, pero la salida real se haría con un FPGA. Y algunas cosas simples como configurar píxeles o dibujar líneas horizontales y verticales que me gustaría integrar en el FPGA, para mejorar la velocidad.
Tengo algunas preguntas:
- ¿Costará significativamente más? Los FPGA más baratos que encontré eran ~ £ 5 cada uno y el dsPIC es £ 3 cada uno. ¿Así que costará más, pero por cuánto?
- El dsPIC encaja en un paquete SO28. No me gustaría ir más grande que SO28 o TQFP44. La mayoría de los FPGA que he visto vienen en paquetes BGA o TQFP > 100, que no son una opción en este momento, debido al tamaño de corte y la dificultad de soldarlos.
- ¿Cuánta corriente utiliza un FPGA? La solución dsPIC actualmente consume alrededor de 55 mA +/- 10 mA, lo que está bien en este momento. ¿Un FPGA consumiría más o menos? ¿Es variable, o es bastante estática, como el dsPIC?
- Necesito al menos 12 KB de memoria de gráficos para almacenar los gráficos de OSD. ¿Los FPGA tienen este tipo de memoria disponible en el chip o solo está disponible con chips externos?