3rd 3ddresd: vga core

19
POLITECNICO DI MILANO Vga core Vga core Stefano Magnoni: [email protected] Arber Ngjela: [email protected] 3D- Dresd

Upload: usrdresd

Post on 13-Jun-2015

403 views

Category:

Business


0 download

TRANSCRIPT

Page 1: 3rd 3DDRESD: VGA Core

POLITECNICO DI MILANO

Vga coreVga core

Stefano Magnoni: [email protected]

Arber Ngjela: [email protected]

3D-Dresd

Page 2: 3rd 3DDRESD: VGA Core

2

IndexIndex Standard VGA

Breve storia Connettori Temporizzazione del segnale

Vga core Come Entity Architecture

Work in progress Problema Flusso previsto

Si vedrà Eventuale flusso successivo

Demo

Page 3: 3rd 3DDRESD: VGA Core

3

Standard VGAStandard VGA

VGA è l’acronimo di Video Graphics Array

• Questo standard è stato intordotto da IBM in 1987

• Oggigiorno è sorpassato

• Il VGA rimane tutt'oggi un importante standard grafico. È infatti il "minimo comune denominatore" che tutte le schede grafiche devono essere in grado di gestire, ancor prima di caricare driver specifico della scheda. (ad esempio lo splash screen di windows viene caricato in modalità VGA )

Page 4: 3rd 3DDRESD: VGA Core

4

Standard VGAStandard VGA

Grafico comparativo delle varie modalità di visualizzazione standard

Page 5: 3rd 3DDRESD: VGA Core

5

ConnettoreConnettore

Page 6: 3rd 3DDRESD: VGA Core

6

Signal timing(1)Signal timing(1)

I Pixel vengono disegnati sequenzialmente da sinistra a destra e dall’alto verso il basso dello schermo

Per implementare la sincronizzazione dei cannoni elettronici si comandano i segnali HSYNC and VSYNC

Page 7: 3rd 3DDRESD: VGA Core

Signal timing(2)Signal timing(2)

HSYNC (Horizontal Syncronization) viene ulizzato per dire al monitor che ha finito di disegnare la riga di pixel (e quindi deve andare a capo)

VSYNC (Vetical Syncronization) viene ulizzato per dire al monitor che ha finito di disegnare l’intera immagine (e che può tornare al punto iniziale Riga 0, Colonna 0 )

Page 8: 3rd 3DDRESD: VGA Core

8

Signal timing(3)Signal timing(3)

Page 9: 3rd 3DDRESD: VGA Core

9

Signal timing(4)Signal timing(4)

HSYNC e VSYNC possono essere “alti” anche dopo il “Tempo di porch”... Il tempo di porch infatti rappresenta il tempo che impiega il “cannone a tornare indietro”

Page 10: 3rd 3DDRESD: VGA Core

10

VGA coreVGA core

VGA core si occupa di scorrere il banco di ram (IC10 su spartan3) e di disegnare il suo contenuto su di un monitor

Legge 16 bit e ne disegna 3 per volta

3 bit rappresentano un pixel, quindi, con una parola di 16 bit possiamo rappresentare 5 pixel.

Ogni16 bit abbiamo un bit inutilizzato,quindi, per ogni immagine abbiamo 61440 bit inutilizzati (6,25% della memoria occupata)

Page 11: 3rd 3DDRESD: VGA Core

11

VGA core (Entity)VGA core (Entity)

Input ports:

Data(0:15)

Clk50_in

Output ports:

Addr(0:17)

Red_out /Blue_out/Green_out

HSYNC/VSYNC

Csb

Oeb

web

Page 12: 3rd 3DDRESD: VGA Core

12

Work in progress...Work in progress...

PROBLEMA:

Si vuole creare una piattaforma per analisi di immagine ( filtri, blob-detection etc) che tramite una interfaccia VGA permetta di mostrare i risultati ottenuti senza rispedire le immagini al PC via seriale per la loro singola visualizzazione.

Page 13: 3rd 3DDRESD: VGA Core

13

Work in progress...Work in progress...

PRIMO TENTATIVO DI SOLUZIONE:

Abbiamo tentato di interfacciare il componente verso il bus OPB.

Il core deve gestire gli indirizzi quando ne ha bisogno, deve quindi essere Master sul bus.

Purtroppo nonostante si lavori con una risoluzione molto bassa la quantità di informazioni e la frequenza con cui ci si deve accedere richiederebbe quasi l’intero bus.

Page 14: 3rd 3DDRESD: VGA Core

14

Work in progress...Work in progress...

SOLUZIONE CHE SI STA SEGUENDO.

Il core rimane “Stand-alone” (non collegato a nessun bus)

In questo caso però la Ram è dedicata al core...

Per far si che anche altri componenti accedano alla Ram si è previsto di utilizzare un sistema riconfigurabile che utilizza 2 schede:

La prima si occupa di riconfigurare la seconda per le varie operazioni operazioni che si vogliono compiere.

La seconda è dedicata appunto all’editing dell’immagine.

Page 15: 3rd 3DDRESD: VGA Core

Work in progress...Work in progress...

VGA MonitorVGA Monitor

Jtag Cable

Page 16: 3rd 3DDRESD: VGA Core

FLUSSO PREVISTO:

1) La scheda A riceve tramire RS232 dal PC i bistream con cui riconfigurerà la scheda B (tramite riconfigurazione esterna & totale)

2) La scheda A carica sulla scheda B il bistream che permette di ricevere l’immagine da PC tramite RS232

3) Il Pc manda l’immagine alla scheda B

4) La scheda A riconfigura la scheda B con il bistream che contiene il VGA core permettendo quindi di vedere l’immagine sul monitor

5) La scheda A riconfigura la scheda B con un bistream che esegua una qualsiasi operazione sull’immagine ( ad esempio Blob detection o edge detection)

6) Si torna al punto 4....

Work in progress...Work in progress...

Page 17: 3rd 3DDRESD: VGA Core

Si vedrà.......Si vedrà.......

VGA MonitorVGA Monitor

Jtag Cable

Comunication cable

Eventuale seconda versione:

Page 18: 3rd 3DDRESD: VGA Core

FLUSSO EVENTUALMENTE SUCCESSIVO:

In questo caso sarà la scheda A a gestire la ricezione diretta dell’immagine dalla seriale e a trasferirla successivamente sulla scheda B

In questo modo non sarà più necessario gestire 2 comunicazioni seriali (Da Pc a scheda A & Da Pc a scheda B)

Si vedrà.......Si vedrà.......

Page 19: 3rd 3DDRESD: VGA Core

{ Ora incrociamo le dita tutti insieme... }

DemoDemo