Padrão 802.15.4

O padrão 802.15.4 ficou responsável pela criação das duas camadas mais baixas da tecnologia ZigBee, enquanto que a ZigBee Alliance trabalhava nas camadas superiores. Ao descrever o padrão, no contexto ZigBee, descreveremos as funcionalidades dessas duas camadas.

PilhaProtocolo

Figura 1: Pilha do protocolo

Camada Física

A camada física (PHY) do ZigBee segue o protocolo 802.15.4 e é responsável por permitir a transmissão das PDUs (Protocol Data Units), unidades de dados, através de ondas de rádio. A PHY utiliza a modulação DSSS (Direct Sequence Spread Spectrum) que incorpora em cada bit de dado um padrão de redundância e os espalha pela largura de banda utilizada. Essa redundância permite não só que o dado seja identificado como pertencente a um determinado nó, como é claro, facilita a detecção de erros.

Ao espalhar os dados em todas as frequências da banda, o sinal resultante se assemelha cada vez mais a um ruído, tornando-se mais robusto a interferências. Após ser feito a DSSS, o sinal é modulado em uma portadora para transmissão.

Tabela1

Tabela 1: Bandas de frequência e taxas de dados

As faixas de frequência utilizadas são as frequências livres de 2.4 GHz (global), 915 MHz (Américas) e 868 MHz (Europa). Cada uma das faixas implica em uma taxa de transmissão, número de canais e espectros diferentes.

Figura1

Figura 2: Bandas de frequência

Outras responsabilidades da camada física são:

  • Indicar qualidade de conexão

    Ao receber um pacote, o nó receptor envia de volta um pacote LQ (Link Quality) que determina qualidade do sinal de conexão. O valor desse pacote é calculado pelas camadas superiores de Rede e Aplicações de acordo com a relação sinal-ruído e o valor do pacote ED (Energy Detection).

  • Detectar potência dos canais

    A detecção e manipulação desse dado são feitas na camada de rede para definir algoritmos de escolha de canais. O ED representa em 8 bits a relação em dB da potência recebida nos canais de acordo com os limites mínimos e máximos de sensitividade. Dessa forma, os nós irão direcionar a informação por um bom caminho dentro da topologia.

  • Reportar canais livres (CCA - Clear Channel Assesment)

    A camada física determina se os canais estão ocupados de acordo com o Carrier Sense dos sinais em DSSS e/ou caso o parâmetro ED esteja acima do limite do canal.

O formato da PDU após a manipulação da camada física é, basicamente, um sinal de sincronismo (SHR), um bloco de informação (PHR), e um bloco de payload que representa a PDU vinda da camada superior de enlace.

Tabela2

Figura 3: Formato da PDU

Camada MAC

A camada MAC do padrão 802.15.4 é responsável pelo processo do encapsulamento dos dados vindo das camadas superiores preparando-os para serem transmitidos.

O método de acesso ao meio caracteriza a rede em dois modos de operação que serão descritos a seguir.

Modos de Operação

O modo de operação define a principal característica da rede com ZigBee: baixo consumo de potência.

Auxiliada pela baixa taxa de transmissão, a capacidade de reduzir seu duty cicle permanecendo inativo faz com que o dispositivo possa ser alimentado com baterias muito duradouras.

No entanto, essa característica dos dispositivos RFD só pode ser estendida aos nós roteadores FFD utilizando o modo beaconing.

Modo Beaconing

Esse modo consiste em fazer com que os roteadores transmitam periodicamente beacon frames, sinais sinalizadores para confirmar sua presença na rede. Utilizando-se de boa sincronia, os nós da rede (exceto o coordenador) podem permanecer inativos entre os beacon frames e economizar energia.

Para o funcionamento desse modo é utilizada a estrutura de superframe. Essa estrutura tem o objetivo de prover banda livre em algumas situações e de proporcionar baixa latência nas transmissões.

O supeframe será limitado por beacon frames a cada período de tempo pré-determinado, podendo ser esse período entre 15ms e 252s. O tempo total de um superframe será igualmente dividido em 16 slots de tempo. O acesso ao canal no interior de cada slot será livre de contenções.

Figura2

Figura 4: Estrutura do superframe

Como ilustrado na figura anterior, após o beacon, há os tempos de acesso CAP (Contension Access Period), onde todos os dispositivos competem entre si utilizando CSMA-CA (Carrier Sense Multiple Access with Collision Avoidance) e o CFP (Contension Free Period) que garante slots de tempo para cada dispositivo. Após isso, o dispositivo entra em modo inativo e guarda energia.

Método de Acesso

O padrão utiliza como método de acesso o CSMA-CA.

Esse método propõe que sejam evitadas as colisões, de forma que os dispositivos esperam por um canal livre para transmitir. Dessa forma, quando um dispositivo deseja transmitir, ele primeiro deve "ouvir" o canal por um período pré-determinado de tempo. Caso o canal seja interpretado como livre o dispositivo pode transmitir. Caso o canal esteja ocupado, esse dispositivo irá fazer um backoff de um período de tempo, e reiniciar o processo após esse tempo.

Gerenciamento de GTS

Aplicações que necessitem de características de baixa latência devem utilizar o GTS (Guaranteed Time Slot), um método de QoS (Quality of Service) que garante um espaço de tempo, a cada superframe, para o dispositivo, para que esse faça o que for necessário, sem atrasos.

Apenas o coordenador PAN pode alocar um novo GTS, e esse só pode ser usado para comunicação entre um dispositivo qualquer da rede e o coordenador PAN. Podem ser alocados até 7 GTS's simultaneamente.

Para alocar um novo GTS, o coordenador PAN vai julgar a requisição que recebeu do dispositivo e a capacidade disponível atual de GTSs no superframe. Quando o GTS alocado não estiver mais em uso, esse será desalocado pelo coordenador PAN. A qualquer momento o coordenador ou o dispositivo podem suspender o uso do GTS.

O GTS pode ser para recepção ou para transmissão. Para cada GTS alocado o dispositivo deve armazenar o slot de início, o comprimento e a direção (recepção ou transmissão). Caso um dispositivo tenha alocado um GTS para transmissão, o coordenador PAN deverá alocar todo o tempo daquele GTS para recepção da mensagem do dispositivo.

Modo Non-Beaconing

Dependendo da aplicação pode ser mais custoso obter a sincronia dos beacon frames de forma a eliminá-los mantendo todos os dispositivos ativos 100% do tempo. Isso vem a custo de alimentação direta dos dispositivos ou trocas constantes de baterias.

Método de Acesso

É utilizado o CSMA unslotted ALOHA, que tem um tempo de espera (backoff) aleatório e exponencialmente decrescente, não dependente de slots de tempo.

Endereçamento

O ZigBee usa dois tipos diferentes de endereçamento. Foi definido o endereçamento EUI-64, com 64 bits de endereço, semelhante aos Ethernet. Existe também a possibilidade de se utilizar o endereço reduzido com comprimento de 16 bits. Esse endereço reduzido é utilizado a partir do momento que a rede está configurada e permite um total de aproximadamente 64 mil nós em uma rede. Essa quantidade parece o suficiente para qualquer aplicação imaginável, mas caso não seja é possível configurar um nó gateway.

Frames

Frame

Figura 5: Configuração geral de um frame da camada MAC

Beacon Frame

beaconFrame

Figura 6: Visão esquemática do beacon frame

Os beacons são importantes principalmente nas topologias malha e árvore de forma a permitir que todos os nós continuem sincronizados sem precisar ficar recebendo sincronismo por longos períodos de tempo, de forma a economizar energia.

Os dispositivos só precisam acordar quando for o momento de receber o beacon, interpretar alguma configuração diferente que tenha sido passada, e voltar a dormir até a sua próxima atividade.

Data Frame

dataFrame

Figura 7: Visão esquemática do data frame

O número de bytes dos dados serão de no mínimo 104 bytes por frame.

Acknowledgement Frame

ackFrame

Figura 8: Visão esquemática do acknowledge frame

Permite que o remetente tome conhecimento de que o destinatário recebeu sua mensagem.

MAC Command Frame

macFrame

Figura 9: Visão esquemática do MAC Command frame

Esse tipo de frame tem por objetivo prover um mecanismo para a configuração dos nós "clientes". Sendo assim ele permite que o coordenador configure os dispositivos independente do tamanho da rede.

Segurança

A segurança na camada MAC da tecnologia ZigBee protege os frames MAC transmitidos em um único salto na rede. Para saltos múltiplos, a segurança é feita nas camadas superiores (NWK e Aplicações).

A segurança MAC utiliza o algoritmo AES (Advanced Encryption Standard) para criptografar e validar o dado que é enviado. A validação ou garantia de integridade do dado é feita por MIC (Message Integrity Code).

Caso seja necessário utilizar segurança, um bit do cabeçalho MAC será setado. Com isso, é anexado ao frame o Cabeçalho Auxiliar de Segurança que determina o tipo de proteção utilizado (Security Control), o Contador de Frames (Frame Counter) que garante a sequência e autenticação dos dados e guarda referência da chave (Key Identifier) de 128 bits a ser utilizada para determinado nó.

SegurancaMAC

Figura 10: Segurança na camada MAC

TopArrow