• Nenhum resultado encontrado

2.3 Camada de Enlace

2.3.3 Slots de tempo, links e canais

O protocolo WirelessHART possui algumas definições próprias e mais específicas para termos comuns na computação. Nesta seção serão explicitadas a definição de link, estrutura do slot de tempo para o WirelesHart e como é determinado qual canal a ser utilizado em uma transmissão.

O slot de tempo no WirelessHART tem a duração de 10 ms. Todas as transações devem ocorrer em slots de tempo de acordo com as restrições estabelecidas. O Clear

Channel Assessment (CCA) é avaliação de canal livre, ou seja, verifica se o canal está

livre ou não para que se realize uma transmissão. A Figura 2.14 mostra a organização do tempo em um slot para uma transação. Os símbolos que representam os valores de tempo são explicados na Tabela 2.2.

É essencial que o dispositivo WirelessHART implemente e interprete esses valores de tempo para que exista a comunicação e sincronia corretas.

Origem: O emissor espera o TsCCAOffset e então checa se o canal está livre durante

os intervalo de tempo de tsCCA. Caso o canal não esteja ruidoso, o emissor chaveia seu modo de transmissão no intervalo de tempo de TsRxTx, e envia a mensagem a ser transmitida. Com o fim da transmissão da mensagem, o emissor espera TsRxAckDelay e começa a escutar o meio na espera do confirmação de recebimento (ACK). Se o ACK

Figura 2.14: Organização do tempo dentro de um slot.

não for recebido durante o tempo TsAckWait, então a transmissão é considerada falha e se realizam as devidas ações. Caso contrário, a confirmação é recebida e processada. O ACK contém o status da recepção e dados para ajustes do relógio do dispositivo. Caso o dispositivo receptor (que enviou o ACK) não seja referência de tempo para o transmissor, os dados para ajuste de tempo são ignorados. Caso contrário, os dados são utilizados para sincronizar o relógio entre as duas estações, ajustando-se para o próximo slot.

Destino: O receptor espera pelo TsRxOffset e então começa a escutar o meio pelo

canal designado. Se nenhuma mensagem chegar durante o intervalo de tempo TsRxWait, então o slot de tempo atual é considerado como não utilizado e o receptor prossegue para o próximo slot de tempo. Caso contrário, a mensagem do transmissor é recebida e pro- cessada. O receptor prepara a mensagem de confirmação durante o intervalo de tempo TsTxAckDelay, depois do qual a confirmação é enviada. Caso o transmissor seja refer- ência de tempo para o receptor, este último irá ajustar o seu relógio baseado na diferença entre o tempo esperado de recepção da mensagem e o tempo real da chegada da mensagem (TsError), ajustando-se com o transmissor para o próximo slot.

Devido à complexidade para se interpretar a Figura 2.14, alguns comentários para facilitar o entendimento são feitos a seguir:

• A mensagem completa inclui, em sequência, quatro bytes de preâmbulo, um byte

de SFD (Start of Frame Delimiter - Delimitador de Início de Frame), um byte de cabeçalho da camada física e o payload da camada física. O cabeçalho da camada física contém o tamanho do seu payload. O início da mensagem (Start of the Mes-

sage - SOM) deve ser considerado o início do preâmbulo, o receptor deve aguardar

um pouco mais para descobrir se este início é uma mensagem propriamente dita ou apenas ruído. Uma vez que na maioria das plataformas de hardware a primeira

2.3. CAMADA DE ENLACE 19

Tabela 2.2: Faixa de valores do Network ID e suas respectivas aplicações.

Símbolo Descrição

TsTxOffset Do início do slot até o início do preâmbulo da transmissão. TsRxOffset Do início do slot até quando o destino deverá começar a

escutar.

TsRxWait O maior tempo para se esperar pelo início da mensagem. Está correlacionado à quantidade de atraso de propagação entre as estações e o quanto isso pode ser tolerado.

TsError Este é a diferença entre o tempo do início real da menssagem e o tempo de início ideal percebido pelo dispo- sitivo receptor. Mostra o quanto os dispositivos envolvidos estão fora de sincronia.

TsMaxPacket A quantidade de tempo necessária para se transmitir a maior mensagem possível.

TsTxAckDelay Tempo entre fim do recebimento da mensagem e início do ACK. O destino deve validar a mensagem recebida e gerar o ACK durante esse intervalo.

TsRxAckDelay Tempo entre o fim da mensagem até quando o transmissor esteja escutando o meio esperando pelo ACK.

TsAckWait O maior tempo a se esperar pelo início de um ACK. TsAck Tempo de se transmitir um ACK.

TsCCAOffset Do início do slot ao início do CCA .

TsCCA Tempo para se realizar um verificação de canal livre (CCA). TsRxTx TsrxTx é o tempo necessário ao rádio para chavear do modo

de recepção para o de transmissão ou vice versa.

interrupção só ocorre depois que o tamanho da mensagem seja conhecido (no nosso caso, o cabeçalho físico seja recebido), na implementação deve-se acrescentar ao limite de tempo de escuta ao meio o tempo para o recebimento do cabeçalho da camada física.

• No padrão WirelessHART, o Network Manager pode enviar a um dispositivo o co-

mando 805 para cortar o CCA. Dessa maneira, o transmissor deve ainda transmitir no tempo TsTxOffset no slot de tempo. Note que o receptor não realiza CCA antes do envio do ACK.

• CCA é útil para se detectar interferências externas a rede. Caso dois dispositivos

compartilhem um link e tentem enviar, ambos passarão no CCA e transmitirão men- sagens que sofrerão interferência mútua. Os receptores não receberão as mensagens e nenhum ACK será transmitido. Nesse caso ambas transmissões irão falhar. Este é um caso raro, já que dificilmente dois dispositivos estarão exatamente sincroniza- dos. Uma vez que os dois não estão exatamente em sincronia, o dispositivo mais rápido irá transmitir primeiro e o mais lento ficará no teste do CCA.

• Se o receptor não é referência de tempo, o valor de ajuste de tempo presente no

ACK não é utilizado. Entretanto, o dispositivo ainda deve seguir a especificação e enviar o TsError.

• TsRxTx é o tempo necessário ao rádio para chavear do modo de recepção para o de

transmissão ou vice versa. Este valor foi retirado da norma [Society 2006] na qual se baseia o WirelessHART. Entretanto, a maioria dos chips disponíveis no mercado precisa de menos que este tempo para realizar a função. Cada dispositivo deve implementar a sua maneira, contudo, o WirelessHART requer que a mensagem seja mandada no tempo correto.

• A mensagem de confirmação é enviada no tempo TsTxAckDelay após o fim da

mensagem transmitida, não em uma distância fixa do início da mensagem como pode ser sugerido pela Figura 2.14.

• Se uma referência de tempo responde, ela deve fazê-lo no tempo esperado pelo

emissor, não no tempo correto. Desse modo se obtém uma melhor taxa de sucesso.

• Pela especificação, o valor do TsAck é de 823 µs baseado em transmitir 26 bytes,

o tamanho completo do ACK. Entretanto, durante o processo de join o endereço do novo dispositivo deve estar no formato longo de 8 bytes, 6 bytes maior que o formato curto utilizado. Nesse caso o TsACK deverá ser de 1024 µs.

• A chave utilizada para a mensagem de confirmação deve seguir a que é usada na

mensagem de dados a partir do bit de chave (Bit Network Key).

• Dois termos utilizados na especificação que se referem ao mesmo conceito são o

TsTxWait e o TsRxWait.

• A implementação da pilha deve buscar atender aos pontos definidos no slot de

tempo. Se ele se comportar com uma margem de mais ou menos 100 µs, a im- plementação será considerada adequada à especificação.

O link no WirelessHART representa a especificação completa de uma comunicação entre dois dispositivos adjacentes em nível MAC, contendo os parâmetros necessários para se transmitir um DLPDU por um único hop. Um link é função do par fonte e destino de transmissão; slot de tempo e channel offset atribuídos; direção da comunicação, se a transmissão é dedicada ou compartilhada, e do tipo da transmissão (recepção, transmissão ou ocioso). Os links são atribuídos a superframes com parte do processo de escalonamento [Chen et al. 2010]. Existem quatro tipos de links: normal, broadcast, join e discovery.

• O link Normal é o mais comum. A ele está associado um endereço de origem e de

destino. A origem utiliza o link para transmitir a mensagem ao destino.

• O link Broadcast está associado a um dispositivo o qual é o emissor no link. Por

esse link o dispositivo envia uma mensagem a todos os dispositivos em seu alcance sem confirmação de recebimento. O endereço em broadcast utilizado como destino é o 0xFFFF.

• O link Join também está associado a um dispositivo. O dispositivo pode ser a

origem ou o destino. Estes dois tipos de links (Broadcast e Join) são anuncia- dos em mensagens de advertise, mensagens as quais contém informação para que o novo dispositivo se junte a rede através deste dispositivo. O novo dispositivo extrai as informações necessárias da mensagem de advertise e as usa para se juntar a rede.

2.3. CAMADA DE ENLACE 21

• O link Discovery é um tipo especial de link criado para manter a conectividade entre

os dispositivos. O propósito inicial do link Discovery é permitir aos dispositivos a descoberta de novos dispositivos. Depois de um período aleatório de tempo, o dis- positivo usa o link Discovery para enviar uma mensagem de keep-alive ao vizinho com o qual faz mais tempo que ele se comunicou. O Discovery link tem menor prioridade que os outros links no caso em que o slot de tempo é compartilhado. Se não estiver transmitindo o dispositivo escutará os links Discovery. Se a mensagem de keep-alive não for endereçada para si próprio, o dispositivo ainda irá escutar a mensagem para atualizar os dados a respeito de sua vizinhança.

Os links podem ser compartilhados de modo que vários transmissores podem competir por um link. O mecanismo de redundância está posto para dar suporte a retransmissões. Em um link compartilhado normal existe apenas um receptor e vários transmissores. Links

join são compartilhados no sentido de que vários dispositivos que ainda não entraram na

rede possam disputar a comunicação com o dispositivo que intermedia o processo. Os

links discovery também são compartilhados pois um dispositivo pode tanto competir para

transmitir em um link quanto escutar em um mesmo link. Links podem ser adicionados a um superframe ativo. Entretanto um link existente só pode ser removido em um su- perframe inativo. Um link não pode ser alterado mesmo que sua entrada seja retirada e acrescentada novamente.

A transação em um slot de tempo no WirelessHART é decrita pelo vetor: frame id, index, type, src addr, dst addr, channel offset.

• Frame id: identifica o superframe. • Index :índice do slot no superframe.

• Type: Indica se o tipo do slot é de transmissão, recepção ou ocioso.

• Src addr e Dst addr: Respectivamente, os endereços de origem e destino da trans-

missão realizada nesse slot.

• Channel Offset: Indica o canal lógico a ser usado na transação.

Para o ajuste fino da utilização dos canais, o WirelessHART utiliza a idéia da lista negra de canais(Channel Blacklist) na qual os canais com ruídos persistentes colocados na lista negra sendo evitados pelo escalonador da rede. Para manter o salto de canais (Channel Hopping), cada dispositivo mantém uma lista de canais ativos, que pode ter menos de 16 entradas devido ao blacklisting. Dados um slot de tempo e um Channel Offset, o canal real é determinado pela Equação 2.1.

ActualChannel= (ChannelO f f set + ASN)%NumChannels (2.1)

O número do canal real é usado como índice na tabela de canais ativos, para se obter o número do canal físico. Uma vez que o ASN (Absolute Slot Number) é aumentado constantemente, o mesmo Channel Offset pode ser mapeado para diferentes canais físicos em diferentes slots. De tal modo, o protocolo provê diversidade de canais e aumenta a confiabilidade das comunicações.

Documentos relacionados