Politecnico di Milano 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 Settembre 2005 Alessandro Febretti - Alessandro Frossi 2 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 Device Driver IrDA Settembre 2005 Alessandro Febretti - Alessandro Frossi 3 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à Settembre 2005 Alessandro Febretti - Alessandro Frossi 4 Tecnologie - Boards AvNet Virtex II Pro Evaluation Board Communication Module Connettori AvBus Transceiver a infrarossi Settembre 2005 Alessandro Febretti - Alessandro Frossi 5 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 Livello implementato su tutti i dispositivi compatibili con lo standard IrDA • FIR – fast infrared: 4Mpbs • VFIR – very fast infrared: 16Mbps Settembre 2005 Alessandro Febretti - Alessandro Frossi 6 Specifiche - IrDA Layer opzionali di alto livello Implementazione Livelli fisici aggiuntivi IrDA obbligatoria Settembre 2005 Alessandro Febretti - Alessandro Frossi 7 Implementazione - Hardware Controller UART (Modificato) • Gestisce l’interfaccia con il bus OPB Struttura generica di un device • Serializza i dati provenienti dal bus,IrDA aggiungendo start e stop bit Due moduli principali • Genera il segnale di clock necessario a • Interfaccia al Bus e controller pilotare il Sirendec • Modulo di comunicazione con il transceiver Sirendec (serial infrared encoder/decoder) • Converte i bit provenienti dal controller in impulsi compatibili con lo standard fisico SIR Settembre 2005 Alessandro Febretti - Alessandro Frossi 8 Implementazione - Hardware 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 DATI Stop Bit 0101001101 Generatori di clock: creano segnali di pilotaggio distinti per UART e SIRENDEC Settembre 2005 Alessandro Febretti - Alessandro Frossi 9 Implementazione - Hardware Sirendec – Serial Infrared Encored / Decoder ENABLE TX RX CLOCK Converte i bit serializzati in ingresso dal formato UART a quello IrDA SIR SIRENDEC IR RXD IR TXD (e viceversa) Start Bit DATI Stop Bit 0 1 0 1 0 0 1 1 0 1 Frame SIR Frame UART 3/16 del Tempo di bit • Codifica NRZ (non return-to-zero) • Codifica RZI (return-to-zero inverted) • Start e stop bit • Lunghezza impulso: 3/16 bit time • Segnale alto in assenza di trasmissione • Impulso centrato Settembre 2005 Alessandro Febretti - Alessandro Frossi 10 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. Settembre 2005 Alessandro Febretti - Alessandro Frossi 11 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 Settembre 2005 Alessandro Febretti - Alessandro Frossi 12 Fase di verifica Settembre 2005 Alessandro Febretti - Alessandro Frossi 13 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 Settembre 2005 Alessandro Febretti - Alessandro Frossi 14 FINE PRESENTAZIONE Settembre 2005 Alessandro Febretti - Alessandro Frossi 15