Date post: | 30-Dec-2015 |
Category: |
Documents |
Upload: | zachary-dalton |
View: | 40 times |
Download: | 0 times |
Politecnico di MilanoPolitecnico di Milano
IP-Core IrDA: metodologie di IP-Core IrDA: metodologie di implementazione hardware e software.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
Settembre 2005 Alessandro Febretti - Alessandro Frossi 2
SommarioSommario
• Obiettivi
• Introduzione alla tecnologia delle FPGA
• I protocolli IrDA
• Implementazione hardware
• Implementazione software
• Conclusioni e sviluppi futuri
Settembre 2005 Alessandro Febretti - Alessandro Frossi 3
• Definizione e realizzazione di un IP-Core, che implementi il livello fisico della pila protocollare IrDA
• Implementazione del device driver necessario a pilotarlo
ObiettiviObiettivi
IP-Core
IrDA
Transceiver a infrarossi
Bus di sistema
Device Driver
Settembre 2005 Alessandro Febretti - Alessandro Frossi 4
Tecnologie - FPGATecnologie - 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 5
Tecnologie - BoardsTecnologie - Boards
AvNet Virtex II Pro Evaluation Board Communication Module
Connettori AvBus
Transceiver a infrarossi
Settembre 2005 Alessandro Febretti - Alessandro Frossi 6
Livello implementato su tutti i dispositivi compatibili con lo
standard IrDA
Specifiche - IrDASpecifiche - 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
Settembre 2005 Alessandro Febretti - Alessandro Frossi 7
Specifiche - IrDASpecifiche - IrDA
Implementazione
IrDA obbligatoria
Livelli fisici aggiuntivi
Layer opzionali di alto livello
Settembre 2005 Alessandro Febretti - Alessandro Frossi 8
Implementazione - Implementazione - HardwareHardware
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
Struttura generica di un device IrDA
Due moduli principali
• Interfaccia al Bus e controller
• Modulo di comunicazione con il transceiver
Settembre 2005 Alessandro Febretti - Alessandro Frossi 9
Implementazione - Implementazione - HardwareHardware
Moduli TX / RX: Serializzano / Deserializzano i dati e generano trame UART
10 1 1 1 10 0 0 0
DATIStart Bit
Stop Bit
Registri: Controllano il funzionamento del componente e mantengono i dati in invio / ricezione
PSELECT: Gestisce l’attivazione dell’IP-Core
Generatori di clock: creano segnali di pilotaggio distinti per UART e SIRENDEC
Settembre 2005 Alessandro Febretti - Alessandro Frossi 10
Implementazione - Implementazione - HardwareHardware
SIRENDECSIRENDEC
ENABLE TX RX
IR TXDIR RXD
CLOCKSirendec – Serial Infrared Encored / Decoder
Converte i bit serializzati in ingresso dal formato UART a quello IrDA SIR
(e viceversa)
10 1 1 1 10 0 0 0
DATIStart Bit
Stop Bit
Frame UART
• Codifica NRZ (non return-to-zero)
• Start e stop bit
• Segnale alto in assenza di trasmissione
Frame SIR3/16 del
Tempo di bit
• Codifica RZI (return-to-zero inverted)
• Lunghezza impulso: 3/16 bit time
• Impulso centrato
Settembre 2005 Alessandro Febretti - Alessandro Frossi 11
Implementazione – Implementazione – SoftwareSoftware
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 12
Implementazione – Implementazione – SoftwareSoftware
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 13
Fase di verificaFase di verifica
Settembre 2005 Alessandro Febretti - Alessandro Frossi 14
Conclusioni e Sviluppi Conclusioni e Sviluppi FuturiFuturi
• 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 15
FINE PRESENTAZIONE