18.08.2013 Views

UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica

UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica

UNIVERSITA' DEGLI STUDI DI PAVIA - Robotica

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

5.6.8 pxc<br />

Il modulo pxc.h esporta le procedure necessarie all’interfacciamento con il<br />

frame-grabber Imagenation PXC200.<br />

Per l’utilizzo di tale frame-grabber è stato predisposto un apposito driver. Il<br />

suo utilizzo è molto semplice, e prevede i seguenti passi:<br />

• richiamare la funzione PXC_Initiate() per effettuare il setup della scheda.<br />

Questa funzione esegue le seguenti operazioni:<br />

- inizializzazione del bus PCI al quale è connessa la scheda della<br />

Imagenation;<br />

- abilitazione la scrittura in memoria tramite DMA;<br />

- controllo della presenza del video input;<br />

- creazione del CAB che contiene l'immagine catturata dal grabber;<br />

- scrittura nei registri della scheda per indicare al frame-grabber le<br />

caratteristiche desiderate per l'immagine, come il fattore di scala, le<br />

temporizzazioni e le dimensioni, sia orizzontali che verticali, inoltre<br />

inserisce l'indirizzo dell'handler nel canale DMA;<br />

- infine, c'è l'inizializzazione della coda nella quale sono memorizzati<br />

i puntatori ai task che necessitano della lettura dal CAB.<br />

La PXC_Initiate() accetta come parametro il numero di processi che si<br />

prevede debbano utilizzare concorrentemente il CAB. Questo valore va<br />

incrementato di 1 per il corretto funzionamento del driver. La funzione<br />

restituisce il periodo di attivazione minimo dei task che vengono inseriti<br />

nella coda.<br />

• Per attivare l'handler occorre richiamare la funzione PXC_Start().<br />

• Per poter accedere al CAB contenente le immagini è necessario creare<br />

un task (si veda l'appendice A per le modalità di creazione) aperiodico,<br />

con criticità HARD e con tempo minimo di interarrivo pari a un<br />

multiplo intero del periodo di attivazione restituito da PXC_Initiate().<br />

140

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!