En el següent diagrama podem
veure els diferents segments dels
quals costa un paquet genèric
bluetooth :
Acces
code :
Serveix per
identificar els paquets intercanviats
en una picoxarxa. Aquest codi
està format per tres
capes : preámbul, paraula
de sincronització i cua.
LSB |
|
MSB |
Preambul |
Synchronization
Word |
Trailer |
4 bits
|
64
bits |
4
bits |
Hi ha 3 tipus
de codi d'accés segons
les funcions que es vulguin
realitzar:
-
CAC
(Codi d'Accés
al Canal) : permet
identificar una picoxarxa.
72 bits.
-
DAC
(Codi d'Accés
a Dispositiu) : es
fa servir en procediment
de compaginat o de resposta
de compaginat (68 bits).
-
IAC
(Codi d'Accés
a Pregunta) : hi ha
de dos tipus:
-
GIAC:
comú per tots
els dispositius i s'utilitza
per descobrir unitats
de Bluetooth existents.
-
DAIC:
s'utilitza per descobrir
unitats de Bluetooth
que compleixin unes
característiques
concretes.
Preàmble
: aquest camp està
format per una agrupació
de 5 bits fices amb la successió
1010 o 0101 segons si la paraula
de sincronització comená
per 1 o per 0.
Synch word
(paraula de sincronització):
són 64 bits que deriven
dels primers 24 que formen l'adreça
LAP. El valor de l'adreça
varia segons el tipus de codi
d'accés: si correspon a
un CAC, l'adreça que afagarem
per la paraula de sincronització
és l'adreça del
mestre. Si el codi correspon a
un GIAC o a un DIAC l'adreça
és reservada ( permet fer
un broadcast). Si el codi és
te tipus DAC, l'adreça
utilitzada és la del esclau.
La paraula clau es genera a partir
d'un codi Hamming per tant es
garanteix la distància.
Aquesta paraula està basada
en un codi bloc (64,30) que garantitza
la distància en codis Hamming
(distància mínima
= 14).
Trailer :
si el codi d'accés és
CAC sempre porta cua, també
en porten els GIAC i DIAC si van
acompanyats d'un paquet de control
FHS. L'agrupació de bits
que forma la cua pot ser:
1010 si la
paraula de sincronització
acaba en 0
0101 si la
paraula de sincronització
acaba en 1
Packet
header
LSB |
|
|
|
|
MSB |
AM_DDR |
TYPE |
FLOW |
ARQN |
SEQN |
HEC |
3 bits
|
4 bits |
1 bit |
1 bit |
1 bit |
8 bits |
AM_DDR:
està format per 3 bits
que representen l'adreça
del dispositiu Bluetooth dintre
de la picoxarxa. Els paquets dirigits
a un esclau o mestre porten la
seva adreça. Posar aquest
camp tot a 0 vol dir que el paquet
és broadcast i només
en sentit mestre -> esclau.
TYPE:
serveix per determinar el tipus
de paquet que s'està enviant,
si aquest pertany a una connexió
síncrona o bé asíncrona.
També serveix per saber
les ranueres de temps que ocupa
aquest paquet.
ARQN:
serveix per confirmar l'arribada
correcte de la informació.
Quan es vol indicar un Ack es
posa el bit ARQN = 1, si si es
vol indicar un NACK el bit es
posarà a ARQN = 0. Si l'emissor
no rep cap missatge de conformitat
l'emissor entrendrà que
el paquet no s'ha rebut i el reenviarà.
SEQN:
bit que serveix de control seqüencial.
Cada vegada que l'emissor genera
un paquest aquest s'inverteix.
Quan el receptor li arriba el
paquet, aquest pot saber si és
repetit gràcies als bits
SEQN i ARQN.
HEC: serveix
per verificar la integritat del
paquet. Per tant hi ha detecció
d'error en capçalera.
Payload
Serà variable
segons el tipus de paquet (SCO,
ACL). Consta de capçalera
de camp d'informació, que
serà variable en funció
de si el paquet ocupa més
d'un slot temporal. A continuació
veurem quins tipus de càrrega
pot portar en funció del
tipus de paquet.
|