Je travaille actuellement sur Super OSD - un projet d'affichage à l'écran. http://code.google.com/p/super-osd a tous les détails.
Pour le moment, j'utilise un MCU dsPIC pour faire le travail. Il s'agit d'un DSP très puissant (40 MIPS @ 80 MHz, opérations à un cycle à trois registres et une unité MAC) et, surtout, il est livré dans un package DIP (parce que j'utilise une maquette pour le prototyper.) Je tire vraiment le maximum de ses performances en exécutant l'OSD - la puce a environ 200 ns ou 10 cycles par pixel sur l'étage de sortie, donc le code doit être très optimisé dans cette partie (pour cette raison, il sera toujours écrit en Assemblée.)
Maintenant, j'envisageais d'utiliser un FPGA pour cela, car en raison de l'architecture parallèle d'une telle puce, il est possible d'avoir un programme logique simple exécutant l'OSD. Des choses comme tracer des lignes et du code algorithmique seraient gérées par un MCU, mais la sortie réelle se ferait avec un FPGA. Et des choses simples comme la définition de pixels ou le dessin de lignes horizontales et verticales que je voudrais intégrer sur le FPGA, pour améliorer la vitesse.
J'ai quelques questions:
- Cela coûtera-t-il beaucoup plus cher? Les FPGA les moins chers que j'ai trouvés étaient ~ 5 £ chacun et le dsPIC est de 3 £ chacun. Cela coûtera donc plus cher, mais de combien?
- Le dsPIC tient dans un package SO28. Je ne voudrais pas aller plus loin que SO28 ou TQFP44. La plupart des FPGA que j'ai vus sont livrés en boîtiers BGA ou TQFP> 100, ce qui n'est pas une option pour le moment, en raison de la taille du cisaillement et de la difficulté de les souder moi-même.
- Quelle quantité de courant est utilisée par un FPGA? La solution dsPIC consomme actuellement environ 55mA +/- 10mA, ce qui est correct pour le moment. Un FPGA consommerait-il plus ou moins? Est-il variable, ou est-il à peu près statique, comme le dsPIC?
- J'ai besoin d'au moins 12 Ko de mémoire graphique pour stocker les graphiques OSD. Les FPGA ont-ils ce type de mémoire disponible sur la puce ou est-ce uniquement disponible avec des puces externes?