• Nenhum resultado encontrado

Figura 5.1: Compara¸c˜ao entre a implementa¸c˜ao da camada f´ısica anterior e actual. O rendi- mento desta nova implementa¸c˜ao ´e bastante superior.

5.2

Camada de liga¸c˜ao de dados - MAC

A camada MAC fornece funcionalidades ligeiramente diferentes dependendo do tipo de rede, das capacidades do dispositivo e, tamb´em dos requisitos das camadas superiores. Nesta implementa¸c˜ao, a camada MAC providencia:

• Mecanismos de acesso ao meio

• Framing – Defini¸c˜ao do formato das frames, encapsulamento de dados nas frames para comunica¸c˜oes entre os dispositivos

• Confirma¸c˜ao de frames transmitidas • Endere¸camento das mensagens

5.2.1 Framing

As frames definidas pela camada MAC, s˜ao encapsuladas nos pacotes atrav´es do campo payload. Tˆem o seguinte formato:

1. Frame Control 2. Sequence Number

3. Destination Address / Message ID 4. Source Address

Figura 5.2: Estrutura das frames relativamente `a estrutura dos pacotes

5.2.2 Frame Control

As frames podem ser divididas em:

• MAC Control – frame de controlo da camada MAC, por exemplo indicar para utilizar outro tipo de acesso ao meio, ou limitar o MACPayload.

• Data – frame de dados

• Multiple Data Start – primeira frame na transmiss˜ao de v´arias frames sequenciais • Multiple Data Middle – frame que n˜ao ´e a primeira, nem a ´ultima na transmiss˜ao de

v´arias frames sequenciais

• Multiple Data Finish – ´ultima frame na transmiss˜ao de frames sequenciais

• Acknowledge – frame que confirma a transmiss˜ao da frame com o n´umero de s´erie indicado

Este campo permite identificar o tipo de frame transmitida. Al´em dos tipos de frames, este campo permite avaliar a necessidade de confirmar a frame recebida, atrav´es de Acknowledge, e permite tamb´em frames MAC Control com parˆametros opcionais.

A figura5.3mostra a estrutura deste campo.

Figura 5.3: Estrutura do campo Frame Control. ´E tamb´em indicado o n´umero de bits para cada subcampo

5.2. Camada de liga¸c˜ao de dados - MAC

5.2.3 Sequence Number

O campo Sequence Number, ´e tal como o nome indica, um n´umero de s´erie da frame. Este n´umero de s´erie permite identificar cada mensagem transmitida por um dispositivo na rede. ´

E incrementado a cada frame transmitida, com excep¸c˜ao dos Acknowledges, e permite, caso seja uma frame do tipo Acknowledge, confirmar a transmiss˜ao da mensagem com o n´umero de s´erie indicado.

5.2.4 Destination Address / Message ID

Este campo tem dupla funcionalidade, sendo que permite uma comunica¸c˜ao unicast ou broadcast. Pode assumir o valor de endere¸co de destino, MAC Address, ou pode assumir o valor de um identificador de tipo de mensagem, sendo neste caso broadcast.

A aplica¸c˜ao mais promissora deste tipo de tecnologia, ´e sem d´uvida na ´area m´edica, para monitorizar os pacientes de forma c´omoda e n˜ao invasiva. Neste cen´ario, a monitoriza¸c˜ao ´e feita por sensores colocados no corpo humano, ou nas imedia¸c˜oes deste, que transmitem informa¸c˜ao para um dispositivo central. Estas redes de sensores, tˆem uma topologia em estrela, isto ´e, todos os sensores enviam informa¸c˜ao para um dispositivo central, sendo o ´

unico dispositivo que recebe informa¸c˜ao nesta rede.

Al´em do modo unicast, que ´e orientado ao dispositivo, onde um dispositivo transmite in- forma¸c˜ao para um outro, decidiu-se, de modo similar ao protocolo CAN, implementar tamb´em comunica¸c˜ao orientada a mensagens. No cen´ario atr´as referido, esta solu¸c˜ao poderia ser vi´avel, uma vez que o dispositivo que recebe os dados dos sensores, apenas necessita de saber de que tipo ´e a informa¸c˜ao. Caso seja um ECG, tem um identificador de mensagem, se for tempera- tura corporal tem outro, etc. Este modo, permitiria, atrav´es de identificadores de mensagens, tornar uma rede de sensores totalmente funcional e bastante simples, utilizando para isso apenas as duas primeiras camadas do modelo OSI.

A figura5.4apresenta estrutura do campo.

Figura 5.4: Estrutura dos campos Source e Destination Address. Na camada MAC imple- mentada, no campo Source Address apenas tem significado o subcampo Address

Retira-se facilmente que, caso seja utilizada comunica¸c˜ao unicast apenas ´e poss´ıvel en- dere¸car a mensagem at´e 128 dispositivos. O mesmo se aplica para a comunica¸c˜ao broadcast, em que o n´umero m´aximo de identificadores de mensagem ´e 128.

5.2.5 Source Address

Este campo, cont´em o endere¸co de origem da mensagem, ou seja, o endere¸co do dispositivo que transmitiu a mensagem recebida.

Numa futura implementa¸c˜ao, ou desenvolvimento da camada MAC para esta tecnologia, este campo pode actuar como extens˜ao do campo de identifica¸c˜ao de mensagens, pois apenas tem interesse a informa¸c˜ao e o seu tipo, e n˜ao de que dispositivo origina. No entanto, ´e

necess´ario tomar em conta que sem endere¸co de origem, n˜ao ´e poss´ıvel confirmar as mensagens transmitidas, pelo menos de modo semelhante ao implementado.

5.2.6 Transmiss˜ao de m´ultiplas frames

O limite m´aximo do MACPayload est´a limitado pelo comprimento m´aximo do pacote imposto na camada PHY. No entanto, pode ter interesse transmitir dados com tamanho su- perior ao limite do MACPayload. Uma solu¸c˜ao ´e o utilizador transmitir a informa¸c˜ao, pacote a pacote, que pode ser morosa, em termos de tempo despendido pela distˆancia entre os paco- tes, e ainda mais importante, se mais algum dispositivo quiser transmitir simultaneamente. Este caso pode tornar-se complicado, se o dispositivo receber a primeira frame de muitas, e de seguida receber outra frame, sem nada a haver, de outro dispositivo.

A solu¸c˜ao, que permite contornar este problema das transmiss˜oes m´ultiplas, ´e simples- mente proteger a ocupa¸c˜ao do canal, ou seja, dominando o canal, os outros dispositivos que queiram transmitir, ter˜ao que esperar que algu´em liberte o canal. A figura5.5exemplifica os benef´ıcios deste art´ıficio.

Figura 5.5: Transmiss˜ao de uma mensagem com 500 bytes por um n´o na rede, e tamb´em de uma mensagem de outro n´o. Na transmiss˜ao com frames singulares, a mensagem do n´o 2 pode interromper a transmiss˜ao cont´ınua do outro n´o. Isto n˜ao acontece na transmiss˜ao de frames m´ultiplas.

Na pr´atica, a liberta¸c˜ao do canal ocorre quando o ´ultimo byte no buffer de transmiss˜ao da UART1 ´e transmitido. Portanto, o que foi implementado para manter a posse do canal, e deste modo transmitir m´ultiplas frames, foi colocar os bytes dos pacotes seguintes no buffer antes que o ´ultimo byte fosse transmitido.

Documentos relacionados