Tipos de Pacotes
Conforme visto anteriormente, o tipo de um pacote é definido pelo campo TYPE do cabeçalho do pacote, associado ao tipo de link utilizado (SCO ou ACL).
Os pacotes podem ser divididos em 3 grupos distintos: os pacotes comuns a ambos os tipos de link, os pacotes específicos do link SCO, e os pacotes específicos do link ACL.
Os tipos de pacotes são descritos a seguir:
-
Pacotes comuns:
-
ID - Pacote de identidade, utilizado nas rotinas de interrogação, resposta, e paging. Contém apenas o código de acesso, que pode ser do tipo DAC ou IAC.
-
NULL - Pacote nulo. Utilizado para reportar o sucesso de uma transmissão prévia (ARQN), ou o estado do buffer de recepção (FLOW). É utilizado quando não há dados a serem transmitidos, sendo constituído apenas pelo CAC e pelo cabeçalho do pacote.
-
POLL - Pacote de polling. Utilizado para verificar se existe algo a ser transmitido. Ao receber um pacote deste tipo, o slave deve obrigatoriamente responder a ele, mesmo que não haja nada a ser transmitido. Este pacote é constituído pelo CAC e pelo cabeçalho, somente.
-
FHS - Pacote de controle especial, utilizado, entre outras coisas, para responder a pacotes de interrogação e de paging, informar o endereço do master, e fornecer o AM_ADDR dos slaves. No caso, o payload do pacote é subdividido em diversos campos menores. Este tipo de pacote ocupa apenas um slot de tempo.
-
Pacotes SCO:
Os pacotes deste tipo não possuem CRC e não são nunca retransmitidos, sendo tipicamente utilizados para o envio de voz a 64 kbps. São eles:
-
HV1 - Carrega 10 bytes de informação enviados com FEC 1/3, ocupando 240 bits. Estes pacotes devem ser enviados a cada 2 slots tempo (TSCO = 2).
-
HV2 - Carrega 20 bytes de informação enviados com FEC 2/3, ocupando 240 bits. Pacotes deste tipo devem ser enviados a cada 4 slots de tempo (TSCO = 4).
-
HV3 - Carrega 30 bytes de informação, sem FEC. Pacotes deste tipo devem ser enviados a cada 6 slots de tempo (TSCO = 6).
-
DV - Este tipo de pacote permite o envio conjunto de voz e data. O payload é dividido em 10 bytes de voz (sem FEC) e 150 bits de dados (com CRC) codificado com FEC 2/3.
-
Pacotes ACL:
Os pacotes ACL são utilizados para o envio de dados sem restrições de tempo. Os tipos de pacotes ACL definidos são os seguintes:
-
DM1 - Pacote contendo apenas dados. Pode conter até 18 bytes de informação (incluindo o cabeçalho do payload) e 16 bits de CRC, codificados com FEC 2/3. Este tipo de pacote pode ocupar, no máximo, 1 slot de tempo.
-
DH1 - Similar ao DM1, só que sem o FEC. Pode conter até 28 bytes de informação. Também só pode ocupar 1 único slot de tempo.
-
DM3 - Similar ao pacote DM1, só que maior. Pode conter até 123 bytes de informação (incluindo-se 2 bytes de cabeçalho), mais 16 bits de CRC, sendo codificado com FEC 2/3. Este tipo de pacote pode ocupar até 3 slots de tempo.
-
DH3 - Similar ao DM3, só que sem o FEC. Pode conter até 185 bytes de informação, ocupando, no máximo, 3 slots de tempo.
-
DM5 - Similar aos pacotes DM1 e DM3, só que maior. Pode conter até 226 bytes de informação (incluindo-se 2 bytes de cabeçalho), mais 16 bits de CRC, sendo codificado com FEC 2/3. Pode ocupar até 5 slots de tempo.
-
DH5 - Similar ao DM5, só que sem o FEC. Pode conter até 341 bytes de informação, ocupando, no máximo, 5 slots de tempo.
-
AUX1 - Similar ao DH1, só que sem o CRC. Pode conter até 30 bytes de informação, devendo ocupar apenas 1 slot de tempo.
As características dos tipos de pacote comuns, SCO, e ACL são mostradas na figuras figuras 8, 9 e 10, abaixo.
Figura 8: Características dos pacotes comuns.
Figura 9: Características dos pacotes SCO.
Figura 10: Caraceterísticas dos pacotes ACL.
A forma de utilização destes pacotes para o estabelecimento de conexões e a transferência de dados é descrita na próxima sessão.
Anterior Próxima
Bluetooth - Paulo Stein