Qualche rapido sfondo:
Ambilight è un sistema su alcuni televisori Philips che analizza le informazioni sul colore sullo schermo e quindi imposta alcuni LED sul retro del display per proiettare il colore dello schermo sul muro. È un effetto piuttosto elegante. Ora ci sono cloni di questo sistema che usano un PC per elaborare il video e controllare i LED. Trovo che sia un po 'eccessivo - usare un'intera macchina per ballare alcuni LED ...
Mi piacerebbe modificare la NeTV del coniglietto per elaborare un non crittografatoFeed video HDMI e guida alcuni LED. So che il NeTV è stato progettato per altri scopi, ma sento che può essere modificato per raggiungere il mio obiettivo. Non mi interessa il sottosistema Linux sottostante, lo spoofing I2C, l'overlay video, ecc. A questo punto, non mi preoccupo di lavorare con flussi crittografati HDCP.
Diagramma a blocchi FPGA
Questo è uno schema a blocchi di una delle diapositive di presentazione del coniglietto.
Il resto del set di diapositive è qui .
Questa diapositiva sembra implicare che i pixel video siano, di fatto, decodificati (non necessariamente decifrati ) .
Finalmente ... alcuni dei miei pensieri e domande:
Questo può essere fatto sul mio hardware desiderato? Se "sì", continua! Se "no", dimmi di cosa ho bisogno di più!
Sarò in grado di elaborare le informazioni video senza memoria esterna? Non c'è memoria a cui l'FPGA possa accedere direttamente, per quanto ne so. Questo probabilmente dipende da quale algoritmo che uso per elaborare i dati video - per usare il minor numero di RAM di blocco FPGA possibile, immagino che vorrei usare una sorta di "sommatoria iterativa" dei pixel in arrivo, piuttosto che archiviare un intero frame di dati immagine e quindi media dei colori. Qualche suggerimento riguardo all'implementazione di questo algoritmo? Come iniziare con questo è il mio più grande ostacolo.
Ho studiato il codice sorgente su dove dovrei "attingere" ai dati del video.
Questo sembra il punto appropriato:
lo so, questa immagine è lunga - è la migliore che potessi fare mentre chiarivo la lettura. Dai la colpa allo strumento di Xilinx per questo!
Questo sembra contenere i dati TMDS e produrre 8 bit per ciascun colore.Dovrei avere una sorta di macchina a stati per il driver LED: ad ogni ciclo di clock, ottiene le informazioni sui pixel da qualsiasi modulo che creo per elaborare i dati video.
Scusate se questo è prolisso o lungo - Sto cercando di essere accurato ... Ho solo bisogno di aiuto per scendere da terra con questo. Questo è il mio primo tentativo di un progetto FPGA - alcuni potrebbero dire che è troppo difficile per un principiante, ma io dico ... devo iniziare da qualche parte :) Grazie per aver letto.