1 / 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

drea
Download Presentation

Presentazione

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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 marco.bianchessi@st.com Presentazione

  2. 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) Corso Bluetooth

  3. 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 Cosa e’ Bluetooth?

  4. 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. Cosa significa “Bluetooth”

  5. 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 Come e’ nato Bluetooth

  6. Applications TCP/IP HID RFCOMM Control Data Audio L2CAP LinkManager Baseband RF Bluetooth stack

  7. 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 Specifiche radio

  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. 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 Fast frequency hopping

  10. GFSK (Gaussian Frequency shift keying), 2 levels (1 bit) FM modulation 1 M symbol/s 1 MHz Bandwidth Modulazione Ideal zero crossing 1 Ft+fd • BT=0.5 • Indice di Modulazione 0.28,0.35 • Minima deviazione115KHz • Symbol rate 1us +/- 20PPm Ft 0 Ft-fd t 1us

  11. Classi di potenza • 0dBm=1mW, 10dBm=10mW, 20dBm=100mW

  12. 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 Sensitivity

  13. 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 Link budget • 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. freq 2.402 2.480 Frequency hopping 79 canali da 1MHz master slave time

  15. 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% f(2k) f(2k+1) f(2k+2) A t >=260ms B t 625ms TDD Time division duplexing

  16. master active slave parked slave standby Topologia Piconet

  17. 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) Ruoli

  18. 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 BD_address

  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. Selection kernel 1 : 79 27 bits HOP Channel phase sequence NATIVE CLK 27 bits 28 bits (LAP+4 bits UAP) Offset MASTER BD_ADDR Sequenza di Hopping

  21. 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 Pacchetti 0-2745b 72b 54b access code packet header payload

  22. 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 FEC

  23. LSB 4 64 4 MSB Preambolo Sync word Trailer 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

  24. 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 Correlatore  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 1 0 0 0 1 1 0 0 1......0 1 0 0  X 1x1=1 Operatore somma 1x0=0 Operatore xor: 0x1=0 0x0=1

  25. 4 1 1 1 8 3 AM_ADDR TYPE FLOW ARQN SEQN HEC information parameter AM_ADDR slave active member address payload type TYPE FLOW LC flow control ARQN ACK/NAK SEQN retransmit ordering header error check HEC Packet header Il pachet header e’protetto con FEC 1/3 -> 18*3=54 bits

  26. X SLAVE 1 Z Z ARQ A B B C MASTER G F H SLAVE 2 NAK ACK

  27. 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. Flow control

  28. 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 Pacchetti speciali

  29. 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, ...) Class of device

  30. f(k) f(k+1) f(k+2) f(k+3) f(k+4) f(k+5) f(k) f(k+3) f(k+4) f(k+5) f(k) f(k+5) Link asimmetrico

  31. 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 ACL Links

  32. 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 SCO Links

  33. 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 . . . . . . .

  34. SCO link ACL link segment type type symmetric asymmetric 0000 NULL NULL 0001 POLL POLL 1 DM1 108.8 108.8 108.8 0010 FHS FHS 0011 DM1 DM1 DH1 172.8 172.8 172.8 0100 DH1 0101 HV1 DM3 258.1 387.2 54.4 0110 HV2 2 0111 HV3 DH3 390.4 585.6 86.4 1000 DV AUX1 1001 DM5 286.7 477.8 36.3 1010 DM3 1011 DH3 DH5 433.9 723.2 57.6 3 1100 1101 1110 DM5 4 1111 DH5 Tipi di pacchetto

  35. 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 (solo nei link ACL) Payload header Payload Body (0:2700 bits) CRC (16 bits)

  36. 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 Data whitening

  37. Payload processing

  38. 79 32 TX 312.5 us RX Connessione iniziale • 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. 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. 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 Inquiry

  41. Stati

  42. 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. Stati low power (per gli slave)

More Related