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
Scarica

Sistemi Dedicati Multiprocessore: Sincronizzazione