IP-Core IrDA: metodologie di implementazione hardware e software.

15
Politecnico di Milano Politecnico di Milano IP-Core IrDA: metodologie IP-Core IrDA: metodologie di implementazione hardware di implementazione hardware e software. e software. Relatore: Prof. Fabrizio FERRANDI Correlatore: Ing. Marco D. SANTAMBROGIO Tesi di Laurea di: Alessandro FEBRETTI Alessandro FROSSI A.A. 2004/2005

description

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 - PowerPoint PPT Presentation

Transcript of IP-Core IrDA: metodologie di implementazione hardware e software.

Page 1: IP-Core IrDA: metodologie di implementazione hardware e software.

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

Page 2: IP-Core IrDA: metodologie di implementazione hardware e software.

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

Page 3: IP-Core IrDA: metodologie di implementazione hardware e software.

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

Page 4: IP-Core IrDA: metodologie di implementazione hardware e software.

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à

Page 5: IP-Core IrDA: metodologie di implementazione hardware e software.

Settembre 2005 Alessandro Febretti - Alessandro Frossi 5

Tecnologie - BoardsTecnologie - Boards

AvNet Virtex II Pro Evaluation Board Communication Module

Connettori AvBus

Transceiver a infrarossi

Page 6: IP-Core IrDA: metodologie di implementazione hardware e software.

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

Page 7: IP-Core IrDA: metodologie di implementazione hardware e software.

Settembre 2005 Alessandro Febretti - Alessandro Frossi 7

Specifiche - IrDASpecifiche - IrDA

Implementazione

IrDA obbligatoria

Livelli fisici aggiuntivi

Layer opzionali di alto livello

Page 8: IP-Core IrDA: metodologie di implementazione hardware e software.

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

Page 9: IP-Core IrDA: metodologie di implementazione hardware e software.

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

Page 10: IP-Core IrDA: metodologie di implementazione hardware e software.

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

Page 11: IP-Core IrDA: metodologie di implementazione hardware e software.

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.

Page 12: IP-Core IrDA: metodologie di implementazione hardware e software.

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

Page 13: IP-Core IrDA: metodologie di implementazione hardware e software.

Settembre 2005 Alessandro Febretti - Alessandro Frossi 13

Fase di verificaFase di verifica

Page 14: IP-Core IrDA: metodologie di implementazione hardware e software.

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

Page 15: IP-Core IrDA: metodologie di implementazione hardware e software.

Settembre 2005 Alessandro Febretti - Alessandro Frossi 15

FINE PRESENTAZIONE