150 likes | 332 Views
IP-Core IrDA: metodologie di implementazione hardware e software. Relatore: Prof. Fabrizio FERRANDI Correlatore: Ing. Marco D. SANTAMBROGIO. Tesi di Laurea di: Alessandro FEBRETTI Alessandro FROSSI. A.A. 2004/2005. Sommario. Obiettivi
E N D
IP-Core IrDA: metodologie di implementazione hardware e software. Relatore: Prof. Fabrizio FERRANDI Correlatore: Ing. Marco D. SANTAMBROGIO Tesi di Laurea di: Alessandro FEBRETTI Alessandro FROSSI A.A. 2004/2005
Sommario • Obiettivi • Introduzione alla tecnologia delle FPGA • I protocolli IrDA • Implementazione hardware • Implementazione software • Conclusioni e sviluppi futuri Alessandro Febretti - Alessandro Frossi
Device Driver Obiettivi • Definizione e realizzazione di un IP-Core, che implementi il livello fisico della pila protocollare IrDA • Implementazione del device driver necessario a pilotarlo Bus di sistema Transceiver a infrarossi IP-Core IrDA Alessandro Febretti - Alessandro Frossi
Tecnologie - FPGA • FPGA: Field Programmable Gate Arrays • Rappresentano una particolare tipologia di dispositivi programmabili • Logica programmabile per: • Maggiore specializzazione • Riusabilità • Riduzione costi e tempi • Riconfigurabilità Alessandro Febretti - Alessandro Frossi
Tecnologie - Boards AvNet Virtex II Pro Evaluation Board Communication Module Connettori AvBus Transceiver a infrarossi Alessandro Febretti - Alessandro Frossi
Livello implementato su tutti i dispositivi compatibili con lo standard IrDA Specifiche - IrDA IrDA - Infrared Data Association • Scopo e caratteristiche dei protocolli IrDA: • Scambio dei dati point-to-point fra dispositivi • Basso consumo energetico • Raggio di azione: dai 10 centimetri al metro • E’ sempre uno svantaggio? • Nessuna interferenza elettromagnetica • Velocità di trasmissione: dipende dal livello fisico • SIR – serial infrared: da 2400bps a 115200bps • MIR – medium infrared: 0.576Mbps e 1.152Mbps • FIR – fast infrared: 4Mpbs • VFIR – very fast infrared: 16Mbps Alessandro Febretti - Alessandro Frossi
Layer opzionali di alto livello Implementazione IrDA obbligatoria Livelli fisici aggiuntivi Specifiche - IrDA Alessandro Febretti - Alessandro Frossi
Controller UART (Modificato) • Gestisce l’interfaccia con il bus OPB • Serializza i dati provenienti dal bus, aggiungendo start e stop bit • Genera il segnale di clock necessario a pilotare il Sirendec • Sirendec (serial infrared encoder/decoder) • Converte i bit provenienti dal controller in impulsi compatibili con lo standard fisico SIR Implementazione - Hardware • Struttura generica di un device IrDA • Due moduli principali • Interfaccia al Bus e controller • Modulo di comunicazione con il transceiver Alessandro Febretti - Alessandro Frossi
PSELECT: Gestisce l’attivazione dell’IP-Core Registri: Controllano il funzionamento del componente e mantengono i dati in invio / ricezione Moduli TX / RX: Serializzano / Deserializzano i dati e generano trame UART Start Bit Stop Bit DATI Generatori di clock: creano segnali di pilotaggio distinti per UART e SIRENDEC 1 0 1 0 0 0 1 1 1 0 Implementazione - Hardware Alessandro Febretti - Alessandro Frossi
Start Bit Stop Bit DATI ENABLE TX RX CLOCK SIRENDEC 0 1 0 1 0 0 1 1 0 1 Frame UART IR RXD IR TXD • Codifica NRZ (non return-to-zero) • Start e stop bit • Segnale alto in assenza di trasmissione • Codifica RZI (return-to-zero inverted) • Lunghezza impulso: 3/16 bit time • Impulso centrato Frame SIR 3/16 del Tempo di bit Implementazione - Hardware Sirendec – Serial Infrared Encored / Decoder Converte i bit serializzati in ingresso dal formato UART a quello IrDA SIR (e viceversa) Alessandro Febretti - Alessandro Frossi
Implementazione – Software Per rendere la periferica accessibile da codice utente in funzione su sistema operativo è necessario un livello di astrazione fra hardware e software: il device driver. Alessandro Febretti - Alessandro Frossi
Implementazione – Software • Device driver di alto livello • Input / Output su buffer • Mantenimeno dello stato • Gestione degli interrupt • Device driver di basso livello • Input / Output su singolo byte • Stateless • Accesso diretto ai registri della periferica Alessandro Febretti - Alessandro Frossi
Fase di verifica Alessandro Febretti - Alessandro Frossi
Conclusioni e Sviluppi Futuri • Conclusioni • Realizzazione di un IP-Core in grado di comunicare attraverso lo standard IrDA • Occupazione FPGA: 1-2% • Sviluppi Futuri • Compatibilità con MIR, FIR, VFIR Alessandro Febretti - Alessandro Frossi
FINE PRESENTAZIONE Alessandro Febretti - Alessandro Frossi