42
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 Email [email protected]

Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

Embed Size (px)

Citation preview

Page 1: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

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

Email [email protected]

Page 2: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

Corso Bluetooth

14-4-2003, 3 ore Bluetooth Phy e Baseband 5-5-2003, 3 ore Baseband LMP 3 ore HCI +L2CAP 3 ore RFCOM, SDP e profili (corso di Rossi)

Page 3: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

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

Page 4: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

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.

Page 5: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

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

Page 6: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

Bluetooth stack

RFBaseband

AudioLink Manager

L2CAP

TCP/IP HID RFCOMM

Applications

Data

Con

trol

Page 7: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

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 802.11– Forni a Microonde– Sistemi proprietari (Video, audio, dati, controllo)

Limitazioni sull’ emissione di potenza

Page 8: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

Spettro RF (usi civili)

100Khz 1 Mhz

1GHz

10Mhz 100Mhz

2GHz

AM Radio

GSM 1800

FM Radio

GSM

Radio OC TV VHF TV VHF

TV UHF GPS UMTS

3GHz

TelepassISMDECT

Page 9: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

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

Page 10: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

Modulazione GFSK (Gaussian Frequency shift keying),

– 2 levels (1 bit) FM modulation– 1 M symbol/s– 1 MHz Bandwidth

Ft

Ft-fd

Ft+fd

Ideal zero crossing

t

•BT=0.5•Indice di Modulazione 0.28,0.35•Minima deviazione115KHz•Symbol rate 1us +/- 20PPm

1

01us

Page 11: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

Classi di potenza

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) 1 mW (0 dBm)

0.25 mW (-6 dBm)

Optional:

3 1 mW (0 dBm) N/A N/A Optional:

• 0dBm=1mW, 10dBm=10mW, 20dBm=100mW

Page 12: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

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

Page 13: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

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)

Page 14: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

2.402 2.480freq

timeslave

master

Frequency hopping

79 canali da 1MHz

Page 15: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

TDD Time division duplexing

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%

A

B

625 s

t

t

f(2k) f(2k+1) f(2k+2)

>=260 s

Page 16: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

Topologia

active slave

master

parked slave

standby

Piconet

Page 17: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

Ruoli

Master– 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)

Page 18: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

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

Page 19: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

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

1227CLK

1.25mS625uS

312.5uS

3200 Hz

1.28S

711 610 5 29 4 18 3 0

Page 20: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

Sequenza di Hopping

NATIVE CLK HOP Channel

MASTER BD_ADDR

sequence

phase

Offset

27 bits

28 bits (LAP+4 bits UAP)

1 : 79Selection kernel

27 bits

Page 21: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

Pacchetti

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

access code packet header payload

72b 54b 0-2745b

Page 22: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

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

Page 23: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

Access code

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

Preambolo Sync word Trailer

4LSB MSB464

Page 24: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

Correlatore

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

0x0=1

1 0 0 0 1 1 0 0 1......0 1 0 0X X X X X X X X X X X

X

Ac1 Ac2 Ac3 Ac4 Ac62Ac5 Ac63Ac6 Ac64

Sinc word

Bits ricevuti

Operatore xor:

Operatore somma

1x1=11x0=00x1=0

Page 25: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

Packet header

AM_ADDR HEC3 1 8

AM_ADDR

TYPE

FLOW

ARQN

slave active member address

payload type

LC flow control

ACK/NAK

parameter information

FLOW

1

ARQN

1

SEQN TYPE

4

SEQN retransmit ordering

HEC header error check

Il pachet header e’protetto con FEC 1/3 -> 18*3=54 bits

Page 26: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

ARQ

MASTER

SLAVE 2

A B B CX

Z Z

G FSLAVE 1

H

NAK ACK

Page 27: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

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.

Page 28: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

Pacchetti speciali

ID, ha solamente l’access code Poll

– 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

Page 29: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

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, ...)

Page 30: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

Link asimmetrico

f(k) f(k+1) f(k+2) f(k+3) f(k+4)

f(k+3) f(k+4)f(k)

f(k)

f(k+5)

f(k+5)

f(k+5)

Page 31: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

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

Page 32: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

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

Page 33: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

Codifica della voce CVSDM

1 1 0 0 0 0 0 0 1 0 1 1 1 1 1 0 1 0 0 0 0 1 1 1 0 0 0 1 0 1 0 1 0 . . . . . . .

Page 34: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

Tipi di pacchetto

0000000100100011

NULLPOLLFHSDM1

NULLPOLLFHSDM1

1

0100010101100111

HV1HV2HV3

DH1

2

DV10001001

101010111100

DM3DH3

3

1101

11101111

DM5DH5

4

type segment ACL linkSCO link

AUX1

DM1

DH1

DM3

DH3

DM5

DH5

108.8

172.8

258.1

390.4

286.7

433.9

108.8

172.8

387.2

585.6

477.8

723.2

108.8

172.8

54.4

86.4

36.3

57.6

type symmetric asymmetric

Page 35: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

Payload (solo nei link ACL)

Payload header: 1 byte per pacchetti singoli 2 per pachetti multipli (3/5 slot) L_CH: 11= pacchetti di controllo,

10= inizio dati, 01=continuazione dati

Payload header Payload Body (0:2700 bits) CRC (16 bits)

Page 36: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

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

Page 37: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

Payload processing

Page 38: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

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

Page 39: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

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

Page 40: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

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

Page 41: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

Stati

Page 42: Presentazione Marco Bianchessi Laurea in Ingegneria Elettronica Politecnico di Milano Lavoro In STMicroelectronics dal 1994 Mi occupo di Bluetooth dal

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.