Attualmente sto lavorando a Super OSD - un progetto di visualizzazione su schermo. http://code.google.com/p/super-osd ha tutti i dettagli.
Al momento sto usando un MCU dsPIC per fare il lavoro. Questo è un DSP molto potente (40 MIPS a 80 MHz, operazioni a ciclo singolo a tre registri e un'unità MAC) e, soprattutto, viene fornito in un pacchetto DIP (perché sto usando una breadboard per prototiparlo.) I ' Sto davvero ottenendo ogni minimo risultato dalle sue prestazioni eseguendo l'OSD - il chip ha circa 200 ns o 10 cicli per pixel sullo stadio di output, quindi il codice deve essere molto ottimizzato in questa parte (per questo motivo sarà sempre scritto in montaggio.)
Ora stavo considerando di utilizzare un FPGA per questo perché a causa dell'architettura parallela di un tale chip è possibile avere un semplice programma logico che esegue l'OSD. Cose come disegnare linee e codice algoritmico sarebbero gestite da un MCU, ma l'output effettivo sarebbe fatto con un FPGA. E alcune cose semplici come l'impostazione di pixel o il disegno di linee orizzontali e verticali che vorrei integrare nell'FPGA, per migliorare la velocità.
Ho alcune domande:
- Costerà molto di più? I FPGA più economici che ho trovato erano ~ £ 5 ciascuno e il dsPIC è £ 3 ciascuno. Quindi costerà di più, ma di quanto?
- Il dsPIC si inserisce in un pacchetto SO28. Non vorrei andare più grande di SO28 o TQFP44. La maggior parte degli FPGA che ho visto sono disponibili in pacchetti BGA o TQFP> 100, che al momento non sono un'opzione, a causa delle dimensioni di taglio e della difficoltà di saldarli da soli.
- Quanta corrente viene utilizzata da un FPGA? La soluzione dsPIC attualmente consuma circa 55mA +/- 10mA, che al momento va bene. Un FPGA consumerebbe più o meno? È variabile o è praticamente statico, come il dsPIC?
- Ho bisogno di almeno 12 KB di memoria grafica per memorizzare la grafica OSD. Gli FPGA hanno questo tipo di memoria disponibile sul chip o è disponibile solo con chip esterni?