La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

STMicroelectronics Bluetooth Seconda lezione: Baseband e LM.

Presentazioni simili


Presentazione sul tema: "STMicroelectronics Bluetooth Seconda lezione: Baseband e LM."— Transcript della presentazione:

1 STMicroelectronics Bluetooth Seconda lezione: Baseband e LM

2 Corso Bluetooth , 3 ore Bluetooth Phy e Baseband , 3 ore Baseband LMP 3 ore HCI +L2CAP 3 ore RFCOM, SDP e profili (corso di Rossi)

3 Layer Fisico Banda ISM (2.4Ghz) Modulazione GFSK ad 1Mbps Fast frequency hopping – 79 canali da 1 Mhz da a GHz – 1600 hop/s => slot time= 625us 3 classi di potenza: – Classe 1: 20dbm -> 100 m – Classe 2: 4dbm – Classe 3: 0 dbm -> 10 m

4 Topologia Master: unita che gestisce la rete e stabilisce la sequenza di hopping Slave: fino a 7 unita connesse col master Piconet: rete formata da un master e uno o piu slaves Comunicazioni possibili solo tra master e slave

5 Pacchetti Hanno tutti un access code che identifica la piconet e attiva il ricevitore FHS packet porta le informazioni di sincronizzazione Pacchetti dati da 1/3/5 slot con o senza FEC:DM1,DH1,DM3,DH3,DM5,DH5 Pacchetti voce sincroni SCO

6 Connessione Inquiry: restituisce informazioni sulle unita presenti nel range di trasmissione Page: stabilisce un link con ununita specifica identificata dal BD_address. Entrambe le procedure richiedono che le unita target siano in scan mode Tempi di risposta variabili a causa della probabilita statistica di incrociare le frequenzeTx eRX

7 Scatternet slave 1 slave 2 slave 3 master B slave 4 slave 5 master A

8 Broadcast Pacchetti trasmessi dal master a tutti gli slaves attivi I pacchetti broadcast si distinguono per avere AM_Address=000 Non prevedono acknowledge ne pacchetti di risposta Per aumentare la robustezza si puo decidere di ripeterli sistematicamente N volte

9 Protocol stack Radio Baseband HW Analogico/RF HW Digitale Software layers Link Controller Audio Link Manager L2CAP TCP/IPHIDRFCOMM Applications Data Control HW Digitale/Analogico BT device

10 Link controller Macchina a stati (spesso HW) per gestire: – Il meccanismo ARQ – La procedura di inquiry – La procedura di page – La creazione/ decodifica del FHS packet – Scheduling realtime dei pacchetti – Tutte le procedure con requisiti di tempo stringenti

11 Link Manager Strato software realtime,che gira sul Bluetooth device (host controller) Alloca e assegna gli AM_address Stabilisce I link ACL ed SCO Configura I link Gestisce gli stati low power Comunica con il corrispettivo LM del dispositivo remoto

12 LMP Protocollo che consente al Link manager di comunicare col suo pari

13 LMP channel 2 bit nel Payload header vengono riservati per il codice L_CH I pacchetti LMP sono inviati esclusivamente usando pacchetti DM1 (I piu robusti)

14 Formato pacchetti LMP access codepacket header payload Payload header (1 byte)Payload Body (1:17 bytes)CRC (2 bytes) DM1 L_CH=11Flow(NU)Length 215 T_idOP Code Par Par 1 Par 3 Par 14Par 15 Par 16 T_id (transaction identifier): 1 se e iniziata dal master, 0 se e iniziata dallo slave

15 Connessione LMP ID SlaveMaster LMP_Host connection_req ID FHS Link controller Paging Link Manager LMP connection setup LMP_Accepted Altre transazioni opzionali

16 LMP_ Supported features Un dispositivo richiede all altro quali features opzionali supporta LMP_features _req LMLM initiating LMP_features _res

17 LMP_Name request Ogni unita Bluetooth puo avere un nickname assegnato dall utente, per aiutarne lidentificazione (max 248 caratteri) LMLM iniziatore LMP_Name_res (offset=0 Length=xx fragment=aaaa) LMP_name_req (offset=0) LMP_Name_res (offset=xx Length=yy fragment=bbbb) LMP_name_req (offset=xx)

18 Controllo di potenza E possibile controllare il livello di potenza emessa: – Diminuire la potenza in eccesso per risparmiare batterie e limitare il disturbo verso altri dispositivi – Aumentare la potenza per migliorare la qualita in link disturbati La potenza emessa e relativa ad ogli link (un master tiene una tabella di valori per ogni slave)

19 Controllo di potenza /2 Al ricevitore viene misurata la potenza ricevuta in antenna e resa disponibile al LM in un parametro RSSI (Received Signal Strength Index) Ogni ricevitore conosce il proprio Golden range di potenza, in cui le performances sono ottimali. Il ricevitore controlla in remoto la potenza del trasmettitore per ricevere nel golden range

20 Controllo di potenza /3 Messaggi LMP: – LMP_incr_power_req richiede un aumento di potenza – LMP_decr_power_req richiede una diminuzione di potenza – LMP_max_power Comunica che e stato raggiunto il massimo livello possibile di potenza – LMP_min_power Comunica che e stato raggiunto il minimo livello possibile di potenza LMP_incr_power _req LMLM initiating LMP_max_power LMP_incr_power _req LMP_decr_power _req LMLM initiating LMP_min_power LMP_decr_power _req

21 Sicurezza Il frequency hopping fornisce un primo (tenue) livello di sicurezza Bluetooth definisce procedure di autenticazione e di encription a livello LM Si basa su una chiave privata di 128 bit Il temine di paragone per il livello di sicurezza e il cavo Applicazioni sensibili devono prevedere livelli superiori di sicurezza Disabilitabile in applicazioni che richiedono accesso pubblico

22 Link keys Tutte le chiavi sono a 128 bit Combination key K AB, e valida esclusivamente per un link tra 2 unita specifiche Unit key K A, e valida per tutti i link con una particolare unita Temporary key K master, sostituisce temporaneamente le altre chiavi (uso sconsigliato) Initialization key K init, chiave di inizializzazione a durata limitata

23 Scambio delle chiavi Due unita che hanno in comune una link key si definiscono paired Il pairing puo avvenire per via diretta (es. tramite cavo) o piu comunemente tramite radio. Il pairing solitamente viene fatto solo al primo utilizzo del dispositivo. La link key serve per lautenticazione e lencription

24 Autenticazione E1 = ? BD_ADDR_B Link Key BD_ADDR_B SRES_M SRES_S RAND Verifier(A)Claimant (B) LMP_au_rand LMP_sres E1

25 Encryption key Kc Viene generata a partire dalla link key L algoritmo utilizza anche i BD_address dei dispositivi ed un numero Rand Ad ogni riconnessione si genera una nuova Kc La lunghezza di Kc puo variare da 8 a 128 bit ed e negoziabile

26 Encryption PIN Kc Addres s clock RAND Payload key generator Plain Data Payload key Z(t) Key stream generator Encrypted Data PIN Kc Addres s clock RAND Payload key generator Plain Data Payload key Z(t) Key stream generator Encrypted Data

27 Generazione delle chiavi Modo 1, dipende dal BD_addr Modo 2 dipende da un pin number inserito dall utente

28 Pairing A to B Viene inserito dall utente un PIN number in un unita A Viene generato da A un numero random R A invia R a B Lutente inserisce lo stesso pin in B A e B generano K init, usando R e PIN con E 22 Da K viene derivata Kc per lencription A genera K AB A invia K AB a B su un link protetto da Kc K init viene cancellata

29 Pairing Encryption E 22 PIN LINK KEY ENCRYPTION KEY E3E3 E 22 PIN LINK KEY ENCRYPTION KEY E3E3 Authentication RAND EN_RAND First time connections

30 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 definito, dopo di che torna active – Sniff: Il dispositivo và periodicamente in stand-by e vi rimane per un tempo definito Parked: – Il dispositivo è sincronizzato ma disattivato (no AM_Address), periodicamente ascolta il master per controllare se deve riattivarsi Unconnected – Page scan: Il dispositivo periodicamente ascolta pacchetti di page Inquiry scan: Il dispositivo periodicamente ascolta pacchetti di inquiry

31 Modo Hold Uno slave puo astenersi per un certo periodo dall ascoltare il master Spesso viene usato per risparmiare potenza quando non ci sono dati da inviare Lo stato di hold puo essere imposto dal master o richiesto dallo slave Durante lhold lo slave puo anche fare altro, ad es. partecipare ad un altra piconet o inquiry/page scan

32 LMP transaction LMP_hold_req negozia i parametri di hold LMP_hold forza lo stato di hold Parametri: – Hold instant: il valore del Btclock(del master) in cui lo slave inizia lo stato di hold – Hold time: il tempo misurato in slot time di durata dell hold

33 Modo Sniff Come per lhold, lo slave si astiene dalla piconet per un certo periodo A differenza dell hold, lo sniff viene ripetuto periodicamente senza ulteriore negoziazione Viene utilizzato in dispositivi a bassa potenza e basso bit-rate (es. Mouse tastiera)

34 LMP transaction LMP_sniff_req negozia i parametri di sniff LMP_unsniff_req termina lo stato di sniff Parametri: – T sniff :Periodo di ripetizione – D sniff :Istante di inizio del primo sniff – Sniff attempt: Numero di slot di ascolto – Sniff timeout: Massimo numero di slot attivi

35 Modo Park Uno slave che per molto tempo tempo non deve comunicare col master puo essere messo in park mode. In modo park lo slave cede lAM_address e riceve un PM_address di 8 bit. Lo slave in park mantiene il sincronismo con il master (non e richiesto un page per riattivarsi) Gli slaves in park si risvegliano periodicamente negli slot di Beacon per risincronizzarsi e comunicare col master

36 LMP transaction (simp.) LMP_Park req – PM_address, parametri di Beacon LMP_modify_beacon (Broadcast) – Parametri di beacon LMP_unpark_PM_ADD_req (Broadcast) – PM_address, nuovo AM_address,

37 QoS Bluetooth 1.1 ha un supporto minimo di QoS, solo con le specifiche 2.0 ci sara un supporto completo. E possibile per uno slave richiedere al master la frequenza con cui viene interpellato.(polling) E possibile in questo modo influenzare la banda e la latenza nella direzione slave-> master

38 QoS LMP LMP_quality_of_service m->s – Poll interval, N BC (numero di ripetizioni broadcast) LMP_quality_of_service_req s->m – Poll interval, N BC LMP_quality_of_service_req SlaveMaster LMP_quality_of_service

39 Role switch E possibile che il master e uno slave si invertano i ruoli dopo che la piconet e stata creata Es. PC che si connette ad un accesso di rete. LMP_slot_offset (offset,BD_Add) SlaveMaster LMP_switch_req (switch instant) LMP_accepted

40 Controllo pacchetti Un dispositivo puo voler limitare luso di pacchetti multislot (DH3, DH5) da parte dell altro dispositivo Ad es. un master con un SCO attivo non vuole che lo slave occupi gli slot riservati. LMP_Max_slot (max slot) LMLM init LMP_Max_slot_req (max slot) LMLM init LMP_accepted

41 Link supervision Se un dispositivo esce dal range Bluetooth e indispensabile chiudere il link per evitare di occupare risorse. E definito un Supervision time out, trascorso il quale se non vi e stata alcuna comunicazione corretta il link viene automaticamente chiuso. LMP_Supervision_timeout(TO) SlaveMaster


Scaricare ppt "STMicroelectronics Bluetooth Seconda lezione: Baseband e LM."

Presentazioni simili


Annunci Google