Implementação da NIC para o protocolo 802.15.4

Na NIC foi implementada a parcela sem slots de tempo do protocolo de comunicação IEE 802.15.4, ou seja, unslotted CSMA-CA.

Em computação, CSMA-CA pertence a uma classe de protocolos chamados métodos de acesso múltiplo (CSMA-CA: "Carrier Sense Multiple Access With Collision Avoidance"). Em CSMA, um nodo que pretende transmitir tem que ouvir primeiro o canal por determinado tempo, de modo a verificar se há alguma atividade - este processo é chamado de CCA - Channel Clear Assesment. Se o canal estiver livre o nodo está autorizado a transmitir. Se o canal está ocupado o nodo tem para adiar a sua transmissão. Esta é a essência de ambos CSMA-CA e CSMA-CD. No CSMA-CA, uma vez que o pacote tiver sido enviado, existe a opção de aguardar ou não por um pacote de resposta (ACK).

CSMA-CA é uma modificação do Carrier Sense Multiple Access puro (CSMA). CSMA é basicamente um sistema para evitar colisões ("Collision Avoidance") que é utilizado para melhorar o desempenho do CSMA por tentar ser menos "guloso" no canal. Se o canal está ocupado antes da transmissão, ela é adiada por um intervalo randômico, que cresce a medida da recorrência do canal ocupado. Isto reduz a probabilidade de colisão sobre o canal.

O Algoritmo pode ser melhor visualizado na imagem 16. A variável "BE" tem relação ao tempo em que o nodo precisa esperar antes de fazer o processo de CCA, sendo incrementada a cada tentativa de transmissão. As outras variáveis controlam o número máximo de tentativas, e o momento da transmissão.

Figura 16: Protocolo de comunicação CSMA-CA
\scalebox{.55}{\includegraphics{unslottedCsmaCa}}

Os frames de transmissão implementados foram o de dados e o de Ack. As figuras 17 e 18 mostram o frame de Dados e o de Ack respectivamente.

Alguns dos processos que a Nic necessita são feitos nativamente pelo Hardware do AT86RF230. O processo de CCA é um deles, e consiste basicamente em coletar sinais vindos do rádio, verificando basicamente se o meio está livre ou ocupado. Outro processo que o rádio faz é a sincronização e a delimitação do frame na hora do envio, esse processo é conhecido como preâmbulo e pode ser visualizado nas figuras 17 e 18.

Figura 17: Pacote de dados do IEE 802.15.4
\scalebox{.55}{\includegraphics{dataFrame}}

Figura 18: Pacote de ack do IEE 802.15.4
\scalebox{.55}{\includegraphics{ackFrame}}

Tiago Rogerio Muck 2009-07-08