Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Presentazione Marco Bianchessi
Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal 1998 Membro del Bluetooth Hi-Rate working group Membro di: Radio improvement WG Automotive expert Group Industrial automation Study Group
2
Corso Bluetooth 14-4-2003, 3 ore Bluetooth Phy e Baseband
, 3 ore Baseband LMP 3 ore HCI +L2CAP 3 ore RFCOM, SDP e profili (corso di Rossi)
3
Cosa e’ Bluetooth? Non e’ una wireless LAN
E’ un sistema wireless di “cable replacement” E’ estremamente versatile Specifica non solo la comunicazione ma anche l’applicazione Si propone come l’interfaccia universale di collegamento per terminali mobili
4
Cosa significa “Bluetooth”
Soprannome di Harald, re vichingo vissuto nel decimo secolo. “Blatand” in danese significa “dalla pelle scura” in inglese e’ diventato “Bluetooth” Nome provvisorio del progetto, e’ rimasto come nome definitivo.
5
Come e’ nato Bluetooth Il SIG (Special Interest Group) viene fondato nel 1998 da Nokia Intel Ericsson IBM e Toshiba Dopo 6 mesi le prime specifiche vengono pubblicate Il SIG accetta nuovi membri, finora oltre 2000 aziende si sono associate I nuovi membri partecipano alla definizionee revisione delle specifiche Inizio 2001 vengono pubblicate le specifiche 1.1, la versione definitiva su cui si basano I prodotti attuali
6
Bluetooth stack Applications Control Data Baseband RF L2CAP Audio
Link Manager L2CAP TCP/IP HID RFCOMM Applications Data Control
7
Specifiche radio Opera nella banda ISM (Industrial Scientific and Medical), allocata tra 2.4 e 2.5 Ghz Nella stessa banda operano anche: Wireless LAN Forni a Microonde Sistemi proprietari (Video, audio, dati, controllo) Limitazioni sull’ emissione di potenza
8
Spettro RF (usi civili)
AM Radio Radio OC TV VHF FM Radio TV VHF 100Khz 1 Mhz 10Mhz 100Mhz GSM 1800 DECT ISM Telepass TV UHF GSM GPS UMTS 1GHz 2GHz 3GHz
9
Fast frequency hopping
Tecnica di spread spectrum robusta e a basso costo ma relativamente poco efficiente Permette a Bluetooth di operare correttamente anche in ambienti molto disturbati Si basa su una radio a banda 1Mhz che viene commutata velocemente (1600 hops al secondo) secondo una sequenza pseudo-casuale 79 canali a disposizione,da 2.402GHz a 2.480GHz. La banda totale occupata e’ 79 Mhz, la potenza media emessa in ogni singola banda e’ statisticamente 1/79 della potenza nominale
10
Modulazione GFSK (Gaussian Frequency shift keying),
2 levels (1 bit) FM modulation 1 M symbol/s 1 MHz Bandwidth Ideal zero crossing 1 Ft+fd BT=0.5 Indice di Modulazione 0.28,0.35 Minima deviazione115KHz Symbol rate 1us +/- 20PPm Ft Ft-fd t 1us
11
Classi di potenza 0dBm=1mW, 10dBm=10mW, 20dBm=100mW 1 100 mW (20 dBm)
Power Class Maximum Output Power (Pmax) Nominal Output Power Minimum Output Power1) Power Control 1 100 mW (20 dBm) N/A 1 mW (0 dBm) Pmin<+4 dBm to Pmax 2 2.5 mW (4 dBm) 0.25 mW (-6 dBm) Optional: 3 0dBm=1mW, 10dBm=10mW, 20dBm=100mW
12
Sensitivity Parametro che identifica la bonta’ del ricevitore
Si definisce come il livello di potenza ricevuta (in dBm) al quale il ricevitore garantisce un BER pari a 10-3 Le specifiche richiedono almeno –70dBm, alcuni design attuali arrivano fino a –85dBm
13
Link budget Pr=Pt-Alt+Ag-PL-Alr
PL (propagation loss) dipende dalla distanza In campo aperto PL d2, in ambienti indoor PL d4 Limite di funzionamento: Pr=sensitivity Con I dati di specifica: 10 metri con Pt= 0dBm 100 metri con Pt=20dBm Pr=Potenza ricevuta (in dBm) Pt=Potenza emessa (in dBm) Alt=perdite di adattamento (in dB) Ag=guadagno di antenna (in dB) Pl= Attenuazione di propagazione (in dB) Alr= adattamento al ricevitore (in dB)
14
Frequency hopping 2.402 2.480 freq 79 canali da 1MHz master slave time
15
TDD Time division duplexing
A B 625 ms t f(2k) f(2k+1) f(2k+2) >=260 ms Dopo ogni pacchetto da A a B segue un pacchetto di risposta da B ad A Ogni pacchetto viene trasmesso su un differente canale RF Uno slot temporale vale 625 us (1/1600Hz) Tra un pacchetto e il successivo viene riservato un intervallo di 200 us per commutare frequenza, l’ efficienza scende al 70%
16
Topologia active slave master parked slave standby Piconet
17
Ruoli Master Slave Stabilisce la sequenza pseudocasuale di hopping
Diventa master il primo dispositivo che chiede la connessione, è possibile un Master/Slave switch Ogni dispositivo, anche il più semplice, puo diventare master Slave Fino a 7 slaves contemporaneamente attivi in una piconet Ogni slave puo comunicare solo con il master Può trasmettere solo in risposta ad un pacchetto del master Ogni slave attivo riceve un indirizzo di 3 bits (AM_address)
18
BD_address Ogni dispositivo Bluetooth possiede un BD_address univoco, di 48 bit Derivato dal MAC address IEEE 802 Si compone di 3 sottoparti: LAP (Lower address part) 24 bits UAP (Upper address part) 8 bits NAP (Non-significant address part) 16 bits
19
Bluetooth Clock Contatore a 28 bits, incrementato a 3.2kHz
Si riazzera ogni 23 ore, 18 minuti e 6 secondi Ogni dispositivo ha un proprio clock indipendente, resettato solamente all’accensione Due dispositivi per sincronizzarsi calcolano il proprio offset relativo come differenza dei rispettivi clock L’ offset relativo rimane costante nel tempo
20
Sequenza di Hopping Selection kernel NATIVE CLK MASTER BD_ADDR Offset
Channel MASTER BD_ADDR sequence phase Offset 27 bits 28 bits (LAP+4 bits UAP) 1 : 79 Selection kernel
21
Pacchetti 72b 54b 0-2745b access code packet header payload Iniziano con un access code, necessario alla radio per trovare il pacchetto 54bits di header, identifica il pacchetto Da 0 a 2745 bits di payload
22
FEC 2 tipi di Forward-Error Correction (FEC) 1/3 rate: bit-repeat code
Corregge fino a un errore ogni3 bits 2/3 rate: (15,10) shortened Hamming code Corregge un errore ogni 15
23
Access code Preambolo Sync word Trailer 4 LSB MSB 64 Preambolo: vale 1010 se syncword inizia con 1, vale 0101 se inizia con 0 Syncword:derivata dal LAP del BD_Address: DAC (device access code) relativo ad un device CAC (channel access code) relativo alla piconet GIAC (generic inqiuiry a.c.) usato nella fase di inquiry Trailer, vale 1010 se syncword finisca con 0, vale 0101 se finisce con 1
24
Correlatore X X X X X X X X X X X 1 0 0 0 1 1 0 0 1......0 1 0 0 X
Sinc word Ac Ac Ac Ac Ac Ac Ac Ac Ac 1 2 3 4 5 6 62 63 64 X X X X X X X X X X X Bits ricevuti X 1x1=1 Operatore somma 1x0=0 Operatore xor: 0x1=0 0x0=1 Ricerca i 64 bit dell’access code all’interno dello stream ricevuto In media il valore di uscita vale 32 All’ arrivo dell’ access code corretto vale 64 Si pone una soglia di ricezione attorno a 58/60 per rilevare il pacchetto anche in presenza di errori
25
Packet header AM_ADDR HEC 3 1 8 TYPE FLOW ARQN slave active member address payload type LC flow control ACK/NAK parameter information SEQN 4 retransmit ordering header error check Il pachet header e’protetto con FEC 1/3 -> 18*3=54 bits
26
ARQ A B B X C MASTER SLAVE 1 Z Z G F H SLAVE 2 NAK ACK
27
Flow control Quando il ricevitore non può accettare nuovi dati per un certo tempo (es. Una stampante con buffer pieno), viene attivato il bit di flow del pacchetto di risposta (Flow=0) Il trasmettitore, alla ricezione di un Flow=0 smette di inviare dati. Periodicamente si riprova ad accedere al ricevitore per verificarne lo stato (es. con POLL) Quando poll torna ad 1, la reasmissione riprende.
28
Pacchetti speciali ID, ha solamente l’access code Poll Null FHS
Non ha payload, richiede una risposta Usato dal master per interrogare gli salves Null Non ha payload, non richiede risposta Usato per terminare un trasferimento FHS
29
Class of device Serve per identificare velocemente il tipo di dispositivo, le classi definite sono: Computer (desktop,notebook, PDA, organizers, .... ) Phone (cellular, cordless, payphone, modem, ...) LAN /Network Access point Audio/Video (headset,speaker,stereo, video display, vcr..... Peripheral (mouse, joystick, keyboards, ) Imaging (printing, scanner, camera, display, ...)
30
Link asimmetrico f(k) f(k+1) f(k+2) f(k+3) f(k+4) f(k+5)
31
ACL Links Asynchronous Connection_Less
Vengono utilizzati per trasportare dati Possono utilizzare pacchetti multislot e FEC Implementano sempre il meccanismo ARQ Sono automaticamente attivati al momento della connessione
32
SCO Links Synchronous Connection Oriented
Vengono utilizzati per trasportare la voce Si riservano periodicamente degli slot per la comunicazione sincrona Ogni link SCO garantisce un throughput di 64kbps bidirezionale Non e’implementato il meccanismo ARQ, quindi I pacchetti sono soggetti ad errori Vengono attivate a richiesta appoggiandosi a una connessione ACL
33
Codifica della voce CVSDM
34
Tipi di pacchetto type symmetric asymmetric 0000 0001 0010 0011 NULL
POLL FHS DM1 1 0100 0101 0110 0111 HV1 HV2 HV3 DH1 2 DV 1000 1001 1010 1011 1100 DM3 DH3 3 1101 1110 1111 DM5 DH5 4 type segment ACL link SCO link AUX1 DM1 DH1 DM3 DH3 DM5 DH5 108.8 172.8 258.1 390.4 286.7 433.9 387.2 585.6 477.8 723.2 54.4 86.4 36.3 57.6 type symmetric asymmetric
35
Payload (solo nei link ACL)
Payload header Payload Body (0:2700 bits) CRC (16 bits) Payload header: 1 byte per pacchetti singoli 2 per pachetti multipli (3/5 slot) L_CH: 11= pacchetti di controllo, = inizio dati, 01=continuazione dati
36
Data whitening Si sovrappone al flusso dati un flusso pseudocasuale
Il flusso così generato ha caratteristiche spettrali migliori In ricezione si ricostruisce lo stesso flusso e lo si elide
37
Payload processing
38
Connessione iniziale 79 32 TX RX
312.5 us Ricevitore e trasmettitore non sono ancora sincronizzati, ne in tempo ne in frequenza I canali utilizzati sono ridotti a soli 32 dei 79 possibili per diminuire il tempo di connessione Il trasmettitore invia pacchetti ad un rate doppio del normale (3200/sec), La sequenza di hopping e’ semplificata e indipendente dall’adddress Il ricevitore ascolta su un canale per un tempo necessario a ricevere almeno 16 pacchetti Statisticamente prima o poi capita che le frequenza coincidano Il pacchetto ricevuto contiene le informazioni necessarie a ricevere i pacchetti successivi
39
Page Quando un disposivo vuole connettersi ad un altro conoscendone il BD_address. Il >Master è in stato di page: invia in continuazione pacchetti ID con l’access code dello >Slave e, dopo ogni paccchetto trasmesso, rimane in ascolto di una risposta dallo slave Lo >Slave e’ in ‘inquiry scan’:ricerca il proprio access code e quando lo trova, risponde con il proprio ID Un >master quando sente l’eco dello >slave invia un FHS packed con il proprio BD_address e clock Se lo >slave lo riceve correttamente, risponde con un ID e usando le informazioni contenute in FHS inizia ad ascoltare la piconet
40
Inquiry Usato per raccogliere informazioni sugli eventuali dispositivi bluetooth nelle vicinanze Il dispositivo che fa l’inquiry invia una serie di ID packet usando un particolare access code GIAC, dopo ogniun ascolta la risposta Ogni dispositivo in inquiry scan, ascolta in canale ricercando il GIAC, se lo trova risponde col proprio FHS packet. Per evitare collisioni, la risposta e’ ritardata di un tempo random
41
Stati
42
Stati low power (per gli slave)
Active Active: Il dispositivo è sempre in attesa di un possibile pacchetto dal master Hold: Il dispositivo è in stand-by per un tempo hTO dopo di che torna active Sniff: Il dispositivo và in stand-by ogni Ts e vi rimane per in tempo Nsa Parked: Il dispositivo è sincronizzato ma disattivato (no AM_Address), ogni TB ascolta il master per controllare se deve riattivarsi Unconnected Page scan: Il dispositivo ascolta pacchetti di page per Tw p.s. ogni Tp.s. Inquiry scan: Il dispositivo ascolta pacchetti di inquiry per Tw I.s. ogni Ti.s.
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.