Página Pessoal de Ivo Fernandes

Mapa do Site | Contacto

Bluetooth

small logo

 

 

Bluetooth,especificado pelo standard IEEE 802.15.1 tem tido uma enorme aceitação no mercado WPAN. O standard define protocolos correspondentes às camadas física e ligação de dados do modelo OSI, sendo possível desenvolver as aplicações referentes à camada 3 e acima. Como requisito adicional inclui na subcamada LLC a definição do standard de interface ethernet IEEE 802.3, facilitando a sua conexão em redes que utilizem este standard.


Os objectivos do projecto bluetooth estão em constante desenvolvimento, inicialmente eram esperados apenas 4 objectivos:

  • baixa potência
  • baixo custo
  • curto alcance
  • utilização da banda não licenciada 2.4GHz

 

 

Tecnologia Bluetooth

 

Utiliza a banda de frequências não licenciada, Industrial-Scientific-Medical (ISM) como o meio físico partilhado, que é neste momento definida universalmente pelas frequências 2.402-2.4835 MHz sendo a largura de banda útil dividida em 79 canais, onde cada canal utiliza uma largura de banda de 1 MHz. Para permitir o acesso múltiplo é usada uma técnica de espalhamento na frequência Spread Spectrum (SS) denominada por Frequency Hopping (FH), na qual é permitido à portadora saltar de frequência em frequência de acordo com uma sequência PN predefinida. A frequência de transmissão muda 1600 vezes por segundo.

Para garantir a bidireccionalidade num canal é usado o esquema Time Division Duplexing (TDD), sendo o canal dividido em janelas temporais de 625μs. A partir da versão 2 da norma Bluetooth, são definidos dois modos de modulação, no modo básico (Basic Rate) é utilizada uma modulação binária Gaussian Frequency Shift Keying (GFSK) que permite um ritmo binário máximo de 1Mbps, no modo Enhanced Data Rate (EDR) que apenas é definido na versão 2 é utilizada uma modulação M-ary DPSK que permite ritmos binários de 2Mbps (M=4) e de 3Mbps (M=8). De referir que o modo EDR foi introduzido na versão 2 como uma opção, não sendo obrigatório a sua implementação.

São possíveis transmissões síncronas orientadas à conexão a 64kbps, principalmente para aplicações de voz, como operar num modo assíncrono sem conexão a 1Mbps para transferência de dados. Ambos fazem parte do standard e podem ser configurados na sub-camada MAC pelos modos SCO (synchronous conection oriented) e ACL (asynchronous connectionless).

 

 

Ligações Bluetooth

 

As ligações são criadas segundo uma topologia ad-hoc (não existe um AP) não havendo assim uma infra-estrutura que dê suporte a comunicação, este processo foi optimizada de forma a permitir que um grande número de ligações ad-hoc descoordenadas possam coexistir na mesma área.

 

FIGURA 1

 

De forma a minimizar o número de ligações ad-hoc numa rede Bluetooth, o terminal que estabelece o canal será denominado de master. Tem como função efectuar a gestão dos recursos rádios no canal sendo a este possível comunicar activamente com um máximo de 7 terminais no mesmo canal, podendo haver canais co-localizados que serão diferenciados entre si pelo master de cada canal. Para ligações ponto-a-ponto o mesmo canal será partilhado por 2 terminais, em ligações ponto-multiponto o mesmo canal é partilhado por um máximo de 8 terminais.


Os restantes dispositivos que utilizam o canal serão denominados de slaves. Um slave é uma estação controlada por um master numa configuração de rede temporária chamada piconet. Uma piconet consiste num dispositivo mestre sincronizado com 7 ou menos escravos activos e mais alguns inactivos (parked). Como cada piconet gera a sua única hopping sequence, duas ou mais piconets podem coexistir no mesmo espaço. Um mestre numa piconet pode ser ao mesmo tempo um escravo noutra. Um escravo pode pertencer a duas piconets simultaneamente.

Uma piconet pode existir isoladamente ou fazer parte de uma scatternet. Uma scatternet é uma coorporação de piconets que permite aos slaves movimentarem-se entre piconets. Os slaves de uma piconet estão sincronizados com o master, mas as piconets, numa scatternet,  não estão sincronizadas entre si. A comunicação inter-piconet só é possível via escravos ou mestre/escravos que pertençam às duas piconets executando a função de router. No exemplo da figura acima, o slave que pertence às duas piconets, funciona também como um intermediário à comunicação entre 2 dispositivos de piconets diferentes.

Cada dispositivo Bluetooth terá associado a si um endereço Bluetooth de 48 bits e um relógio interno que é implementado por um contador a 28 bits a uma frequência de 3200Hz, estes parâmetros serão utilizados para obter a sequência PN do canal e definir as características de cada canal.

 

 

Pilha Protocolar Bluetooth

 

 

Bluetooth Radio – contém as funções físicas que fornecem o interface com o meio físico e com o protocolo de gestão do link LMP. Executa funções RF relativas à técnica de modulação Fast Frequency Hopping Spread Spectrum.


Baseband – Processa os dados digitais encaminhando-os para funções de empacotameno, controlo de erros, segurança e filtragem de canal.


LMP Link Management Protocol – é responsável pelo mapeamento físico dos canais lógicos. Tem o controlo sobre os dois modos possíveis de funcionamento, SCO e ACL, em resposta aos pedidos do L2CAP.


L2CAP Logical Link Control and Adaptation Layer
– Estabelece, gere e termina conexões lógicas pertencentes às aplicações. Lida com os diferentes QoS requisitados no modo ACL. É também responsável pelas capacidades de multiplexação do canal.     

 

 

 

Estabelecimento de uma ligação Bluetooth

 

Para se estabelecer uma ligação Bluetooth é necessário que os dispositivos efectuem o procedimento de paging o que permite a criação de um canal físico entre dois terminais. No entanto é opcional o procedimento de inquiry que permite descobrir todos os terminais que estão ao alcance.

 

O dispositivo que efectua os pedidos é denominado por master enquanto que o receptor é denominado por slave. Para ambos estes procedimentos existe um canal específico que é definido por uma sequência PN que utiliza 32 portadoras. O slave durante estes procedimentos alterna entre períodos de actividade, Twscan, onde escuta numa portadora os pedidos do master, e períodos de inactividade, Tscan, onde fica em modo de suspensão minimizando o consumo de potência. Alterando os tempos de cada período é possível diminuir o tempo de estabelecimento de uma ligação ou diminuir o consumo de energia.

 

Para estes procedimentos são definidos dois canais no slave: canais page scan e inquiry scan, que utilizam sequências PN diferentes. A sequência PN vai determinar a portadora que vai ser usada nos períodos de actividade.

 

A figura abaixo mostra os procedimentos efectuados pelo slave no estabelecimento de uma ligação onde se  utilizou o valor mínimo do standard para estabelecer a ligação, 10.626ms para cada um dos períodos. É possível também verificar os passos que são efectuados até ser estabelecida uma ligação, para este exemplo assumiu-se que o pedido de ligação foi recebida pelo slave na portadora f(k+1).

 

FIGURA 2

 

Para estes procedimentos, o master utiliza a mesma sequência PN que o slave, sendo a sequência separada em duas subsequências, A e B, de 16 portadoras. Para a construção das subsequências são estimadas as frequências onde o slave está a escuta. Se ambos os terminais estiverem sincronizados, este procedimento é bastante rápido, sendo colocada a frequência estimada no meio da subsequência possibilitando o estabelecimento de uma ligação em 5ms. No entanto se os terminais tiverem um offset entre [-8x1.28s, 7x1.28s] a frequência usada pelo slave estará dentro da primeira sequência caso contrario estará na segunda sequência. Apesar de o master estar continuamente a enviar as mensagens o slave alterna entre períodos de actividade e de inactividade sendo este o factor que determina o tempo de estabelecimento de uma ligação. Como o master não sabe se o slave está a escuta ou não, este repete a mesma sequência N vezes, sendo possível utilizar N=1, N=126 e N=256.

 

A figura abaixo exemplifica como as subsequências são enviadas verificando-se que existe uma janela de incerteza de 10μs que permite que a confirmação do slave chegue 5μs mais cedo, ou 5μs mais tarde. Para este exemplo não foi recebida nenhuma confirmação pelo slave indicando-se na figura o espaço onde estas deviam chegar e a portadora que devia ser usada.

 

FIGURA 3

 

Procedimento de paging

 

Para ser criada uma ligação física entre dois terminais é necessário que o slave esteja a escuta de pedidos no e que o master tenha conhecimento prévio do endereço Bluetooth do slave sabendo assim qual é o canal de paging do slave que é definido por uma sequência PN extraída do seu endereço Bluetooth. A resposta ao pedido efectuado pelo master será enviada pelo slave 625μs após a recepção. Após a confirmação o master irá enviar um pacote FHS (Frequency Hop Synchronization) com o seu endereço Bluetooth e com o relógio interno, este pacote permite ao slave saber qual é a sequência PN que vai ser usada na ligação criada.

 

A figura 2 exemplifica também estas mensagens sendo criado um canal básico que vai utilizar uma sequência PN que é composta por todas as portadoras disponíveis (79) e para garantir a bidireccionalidade do canal cada terminal deve transmitir em janela temporais de 625μs, estas janelas temporais estão definidas na figura 3 onde o master irá usar sempre a janeça temporal master-to-slave e ao slave só é permitido responder ao master na slave-to-master.

 

 

Procedimento de inquiry

 

O procedimento de inquiry é necessário apenas para saber quais são os dispositivos que estão ao alcance assim como as suas características, isto é o relógio interno, endereço Bluetooth e capacidades. Este procedimento não é necessário se previamente se conhecer o endereço Bluetooth do dispositivo a que se pretende ligar.

 

O canal utilizado partilha as mesmas características que o canal page scan sendo no entanto usado sequências PN diferentes. O processo de inquiry pode ser cancelado a qualquer altura pela aplicação, recolhendo assim todas as respostas recebidas até então. As respostas dos slaves não serão confirmadas pelo master, sendo possível ao master receber múltiplas respostas se houver mais do que um dispositivo a escuta na zona. Para evitar repetidas colisões entre os dispositivos que acordam na mesma frequência é usado um sistema de contenção sendo gerado um tempo aleatório durante o qual o dispositivo fica em modo de suspensão, retornando depois ao modo de inquiry scan.

 

 

 

voltar ao topo

   
Mapa do Site | Contacto | ©2006 ENT