Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master
Fetching contributors…

Cannot retrieve contributors at this time

666 lines (621 sloc) 36.88 kb
\chapter{Redes de Sensores Sem Fio}
\label{chap:rssf}
O uso de sensores ditos inteligentes tem sido estimulado pelo avanço
tecnológico nas áreas de comunicação sem fio, sensoriamento e também na arquitetura de
microprocessadores. Atualmente é comum se ter diferentes tipos de sensores
integrados em um único dispositivo, o que possibilita o seu uso em equipamentos
embarcados com grande facilidade. O baixo custo destes equipamentos e a
difusão da comunicação sem fio propiciam o uso de redes de sensores sem fio em
regiões que não se conseguiria alcançar com um processamento centralizado
devido ao custo e tamanho dos equipamentos \cite{WSNSURVEY}. A Figura~\ref{fig:sensornet}
mostra a coleta de dados feita por um gerenciador remoto de uma rede de sensores
sem fio.
\begin{figure}[htbp]
\centering
\includegraphics[width=0.75\textwidth]{sensornet}
\caption{Rede de sensores típica \cite{WSNSURVEY}.}
\label{fig:sensornet}
\end{figure}
Os sensores são densamente distribuídos na área em que se pretende observar um determinado
fenômeno. Estes dispositivos geralmente são pequenos e
baratos, para que possam ser distribuídos em larga escala, e consequentemente seus
recursos em termos de energia, memória, processamento e largura de banda são
limitados. Os nós são equipados com dispositivos de sensoriamento, como por exemplo
sensores de pressão e temperatura, acelerômetros, magnetômetros, câmeras, microfones,
etc \cite{WSN-REALWORLD}.
Estes sensores são usados para monitoramento de condições em diferentes localidades
como por exemplo temperatura, umidade, movimentação de veículos, condições atmosféricas,
pressão, níveis de ruído, presença ou falta de algum objeto, velocidade ou ainda níveis
de {\it{stress}} mecânico em alguns objetos.
\section{Arquitetura de Hardware de um Nó Sensor}
Uma arquitetura típica é composta por processador, memória, transmissor/receptor de radiofrequência, uma
fonte de energia e sensores. Esta estrutura é mostrada na Figura~\ref{fig:sensornodearch_original}, onde
também são mostradas as ligações entre os dispositivos.
\begin{figure}[!ht]
\centering
\includegraphics[width=.6\textwidth]{sensornodearch_original}
\caption{Arquitetura típica de um nó sensor \cite{WSNSURVEY}.}
\label{fig:sensornodearch_original}
\end{figure}
\subsection{Fonte de Energia}
Atualmente a fonte de energia é o principal fator de decisão para o tamanho
e vida útil de um nó sensor \cite{WSNSURVEY}. Similar ao que acontece com
telefones móveis, a fonte de energia é geralmente o maior componente
encontrado em um nó sensor.
Existem soluções que tentam justamente resolver este problema fazendo um
nó extremamente pequeno cuja fonte de energia provém de um {\it{link}} a {\it{laser}}.
Este é o caso do {\it{Smart Dust}} \cite{SMARTDUST}. Este tipo de abordagem
pode ser uma solução para diversas topologias de redes de sensores onde se
tem linha de visada entre os nós.
%Outros tipos de fontes de energia, como por exemplo a absorção de energia provinda
%de altas temperaturas ou ainda baseado em movimento já foram propostas. Devido
%aos requisitos de transmissão de dados através de uma plataforma de rádio, a
%principal fonte de energia ainda são pilhas e baterias. Diferentes plataformas
%utilizam diferentes tipos de baterias \cite{HILL_MICAMOTES,MICA2,TELOS} e as mais
%populares são as de íon-lítio devido a sua alta capacidade de armazenar energia
%em um volume menor.
Um dos gargalos da miniaturização e do consumo de energia atualmente são os
transmissores de rádio, e a redução de consumo dos mesmo requer otimizações
através de todas as camadas de comunicação. Diferentes modulações também
contribuem para um menor consumo do transmissor e
há diversas pesquisas na área de transmissores de rádio que buscam o
desenvolvimento de rádios que tenham dimensões reduzidas e apresentem baixo
consumo de energia
\cite{LOW_POWER_RADIO}.
Outros fatores também podem afetar no consumo do nó sensor é
quantidade de acessos à memoria externa ao processador. Diminuir o número de
instruções gastas para acessar a memória e também diminuir o tempo gasto
acessando a mesma podem contribuir para a diminuição do consumo de energia. Isso
pode ser feito utilizando-se processadores de baixa potência e memórias
de baixa latência.
\subsection{Comunicação Sem Fio}
A comunicação sem fio é um dos elementos mais importantes em um nó sensor devido ao
fato de ser a parte que geralmente mais consome energia no módulo. Existem projetos
tais como o {\it{Pico Radio}} que se propõem a desenvolver
uma arquitetura de baixo consumo para rádios utilizados em nós sensores. É importante
ressaltar que o protocolo de comunicação e o roteamento de pacotes na rede
têm grande influência no consumo do módulo, sendo assim estas áreas se tornam também
objetos de interesse na pesquisa sobre a diminuição do consumo de energia dos nós
sensores.
Os primeiros nós sensores usavam na sua maioria o transmissor {\it{RFM TR1000}}
\cite{RFMTR1000}, como por exemplo o {\it{Mica Mote}} \cite{HILL_MICAMOTES},
%e o {\it{Rene}} \cite{RENE_MOTE} ou ainda o {\it{Wec}} \cite{WEC_NODE}
devido principalmente
ao baixo consumo e tamanho. Novas plataformas como por exemplo a {\it{Mica2}}
\cite{MICA2} são baseadas no {\it{Chipcon CC1000}} \cite{CC1000} pois fornece
modulação FSK mais confiável, frequência de modulação selecionável e ainda uma
arquitetura de baixo consumo. Existem diversos outros plataformas que se baseiam
em transmissores sobre a pilha {\it{802.15.4}}, que é o caso do {\it{BTNode}}
\cite{BTNODE} que utiliza {\it{bluetooth}}
Desde a introdução do padrão IEEE 802.15.4 para RSSFs, grande parte das novas plataformas
está utilizando o {\it{transceiver}} sem fio CC2420 da Chipcon \cite{WSNSURVEY}, o qual é um
dos primeiros {\it{chipsets}} compatíveis com o padrão IEEE 802.15.4 \cite{Yang:2006:BSN}.
Embora o consumo de corrente do CC2420 (19.7 mA) seja maior do que o CC1000 (7.4 mA), o
CC2420 consegue taxas mais altas de até 250 Kbps, o que é 6.5 vezes mais alta que
a do CC1000 (38.4 Kbps). O CC2420 ainda incorpora encriptação em hardware AES-128,
e também o padrão IEEE 802.15.4 MAC o que permite que o próprio transmissor atue
como um coprocessador de pacotes, evitando sobrecarregar o processador principal
com o processamento de pacotes. Comparado ao CC1000, onde
o microprocessador tem que processar todos os pacotes da camada MAC, o CC2420
reduz significativamente o trabalho computacional do ponto de vista do processador, e desta forma
melhorando a performance como um todo do nó sensor. Várias plataformas utilizam
este {\it{transceiver}}, entre elas podemos citar o Telos, Tmote sky, MicaZ, Pluto,
iMote2, Sun Spot e o BSN {\it{node}}.
%
%\subsubsection{IEEE 802.15.4}
%
%O protocolo IEEE 802.15.4 reside na camada de enlace segundo o modelo OSI. Este protocolo
%foi criado pelo IEEE com o objetivo de estabelecer padrões de comunicação sem fio
%entre dispositivos. O 802.15.4 subdivide as camadas OSI, como pode ser visto
%na Figura~\ref{fig:zigstack}.
%
%A camada de controle de acesso ao meio (MAC) permite a transmissão de pacotes
%através do uso do canal físico. Além de serviços de dados, ela oferece uma
%interface de gerência onde ela mesma controla o acesso aos canais físicos e também
%os serviços de rede. Ela ainda controla a validação de {\it{frames}}, garante {\it{timeslots}}
%para passagem de dados e gerencia a associação de nós na rede.
%
%O acesso ao que seria a camada de rede no modelo OSI é feito por uma sub-camada que
%é definida no IEEE 802.2 chamada de {\it{controle de enlace lógico}} (LLC). Esta
%sub-camada é responsável por prover mecanismos de multiplexação que fazem com que
%seja possível diversos protocolos de comunicação coexistirem dentro de uma mesma
%rede multi ponto sendo transmitido pelo mesmo meio físico.
%
%O IEEE 802.15.4 costuma ter uma boa relação sinal-ruído (SNR) pois utiliza
%uma técnica chamada {\it{Direct Sequence Spread Spectrum}} (DSSS), ou sequência
%direta de espalhamento de espectro, como pode ser visto na Figura~\ref{fig:dsss}.
%Neste método, cada bit de informação a ser transmitido é modulado em quatro diferentes
%sinais, o que causa uma maior ocupação de banda pela informação total a ser
%transmitida mas utilizando uma densidade de potência espectral mais baixa para
%cada sinal.
%
%\begin{figure}[htbp]
% \centering
% \includegraphics[width=0.5\textwidth]{fig/dsss1_big.eps}
% \caption{Sequência direta de espalhamento do espectro.}
% \label{fig:dsss}
%\end{figure}
%
%Isto causa menos interferência nas bandas de frequência utilizadas e melhora
%o SNR no lado da recepção devido ao fato de ser mais fácil detectar e decodificar
%a mensagem que está sendo enviada. Existem diversos tipos de modulação DSSS que
%dependem dos limites físicos do {\it{hardware}} utilizado e também do número de
%símbolos que podem ser processados em um tempo específico. {\it {Binary Phase Shift
%Keying}} (BPSK), {\it{Offset Quadrature Phase Shift Keying}} (O-QPSK) e
%{\it {Parallel Sequence Spread Spectrum}} (PSSS) permitem larguras de banda
%de 20 Kbps a até 250 Kbps.
%
%No que diz respeito à prevenção de colisões, o IEEE 802.15.4 utiliza {\it {Carrier
%Sense Multiple Access-Collision}} (CSMA-CA) e {\it{Guarantee Time Slot}} (GTS)
%para evitar que nós comecem uma transmissão ao mesmo tempo.
%
%No CSMA-CA cada nodo escuta o meio antes de tentar transmitir. Se a energia encontrada
%é mais alta do que um nível específico, o nó aguarda um tempo aleatório antes de
%tentar transmitir novamente. Já no GTS é utilizado um nó central que atua como
%um escalonador de canais entre os nós. Este nó central distribui {\it{timeslots}}
%aos nós para que cada um saiba quando é a sua hora de transmitir. Existem 16 opções
%possíveis de canais em cada fatia de tempo. Cada nó envia uma mensagem GTS de
%requisição ao coordenador e este irá responder com o {\it{slot}} alocado para o
%nó que o requisitou. A grande vantagem do CSMA-CA é a independência de um nó central, o
%que aumenta a confiabilidade da rede visto que o nó escalonador é o ponto mais fraco
%da mesma, uma vez que ele venha a falhar.
%
%\subsubsection{ZigBee}
%
%Zigbee é um conjunto de padrões que roda sobre o padrão IEEE 802.15.4, que
%define o comportamento das camada de rede e de aplicação. Já o IEEE 802.15.4
%define os padrões para as camadas física e de enlace. O Zigbee foi criado
%para o mercado de controle sobre redes em fio pela Zigbee Alliance
%\cite{zigbeeAlliance} em 2003 , e ele tem as seguintes características
%básicas \cite{Gislason:ZWN}:
%
%\begin{itemize}
% \item Alta confiabilidade;
% \item Baixo custo;
% \item Baixo consumo;
% \item Altamente seguro;
% \item Padrão aberto;
%\end{itemize}
%
%Energia é um recurso crítico, especialmente em termos de comunicação. Enviar um
%único bit pode custar o mesmo do que executar 1000 instruções em um processador
%\cite{Levis:mate}. O Zigbee se propõe a ser um protocolo de baixo custo e baixo
%consumo, e o preço que se paga por isso é uma taxa de transmissão baixa, de até
%250 kbps. A Figura~{\ref{fig:zigstack}} mostra a arquitetura da pilha de protocolos IEEE
%802.15.4 e Zigbee.
%
%\begin{figure}[htbp]
% \centering
% \includegraphics[width=0.25\textwidth]{fig/zigbee_stack.eps}
% \caption{Arquitetura dos protocolos definidos pela Zigbee Alliance.}
% \label{fig:zigstack}
%\end{figure}
%
%O {\it{Zigbee}} utiliza o 802.15.4 como meio de acesso à camada física, a qual
%oferece serviços de transmissão de dados, bem como gerencia
%o {\it{transceiver}} de radiofrequência e atua na escolha do canal de comunicação.
%O padrão define as seguintes faixas de frequência:
%
%\begin{itemize}
% \item {\bf{868.0 - 868.6 MHz}}: Faixa utilizada na Europa e utiliza um canal
% de comunicação com taxas de 20/100/250 Kbps.
% \item {\bf{902 - 928 MHz}}: Faixa utilizada na América do norte e utiliza
% até 10 canais de comunicação com taxas de 40/250 Kbps.
% \item {\bf{2400 - 2483.5 MHz}}: Faixa utilizada mundialmente e utiliza
% até 16 canais de comunicação com taxas de 250 Kbps.
%\end{itemize}
%
%As redes Zigbee têm diferentes tipos de nós que desempenham tarefas distintas. São eles
%o {\it{coordinator}}, {\it{router}} e o {\it{end device}}.
%
%O dispositivo coordenador ({\it{coordinator}}) é responsável por:
%
%\begin{itemize}
% \item Inicialização do sistema;
% \item Selecionar frequência do canal que será utilizada;
% \item Controlar o acesso de novos dispositivos na rede;
% \item Fornecer alguns serviços como roteamento de mensagens, segurança de rede, etc.
%\end{itemize}
%
%
%O dispositivo fim ({\it{end device}}) são chamados desta maneira pois eles estão sempre localizados
%nas pontas da rede. Eles são tipicamente sensores ou atuadores. Os serviços associados
%a estes nós são tipicamente envio e recebimento de mensagens. Enquanto eles não estão
%enviando nem recebendo mensagem alguma, eles geralmente entram em modo de economia de
%energia.
%
%Os dispositivos roteadores ({\it{routers}}) são dispositivos centrais que são responsáveis por
%rotear mensagens e permitir que outros dispositivos, tais como {\it{end devices}} se
%conectem a eles. Estes dispositivos jamais entram em modo de economia de energia.
%As topologias de rede associadas aos dispositivos Zigbee podem ser do tipo {\it{star}},
%{\it{tree}} e ainda {\it{mesh}}.
\subsection{Memória e Armazenamento}
Nós sensores tipicamente apresentam pouca ou nenhuma memória volátil,
então o armazenamento de informações é feito tipicamente em uma memória não
volátil, como por exemplo em uma EEPROM. Este tipo de abordagem aumenta entretanto
a latência de acesso a um dado que deve ser lido ou escrito em uma memória externa
ao processador. Idealmente pode-se ter uma memória RAM para armazenamento
de informações do processador, reduzindo-se assim o tempo de processamento e também
a energia gasta com requisições de acesso à memória.
Nós sensores como por exemplo o {\it{Mica Mote}} \cite{MICA2} ou o
{\it{Sunspot}} \cite{SUNSPOT} utilizam memória RAM, entretanto é uma quantidade
relativamente baixa - 4 KB e 512 KB respectivamente. Nós sensores também
utilizam memória {\it{Flash}} para armazenamento de informações bem como para
armazenar programas ou imagens para possibilitar a reprogramação da
rede \cite{Agilla}.
É importante que a memória utilizada apresente baixa latência, o que fará com
que o tempo de acesso à memória gasto pelo processador seja menor. Isso pode
contribuir para redução da energia gasta pelo nó uma vez que o processador
passa menos tempo processando os dados que provém da memória do nó. Um tipo
de memória que apresenta este tipo de característica são as memórias
RLDRAM \cite{RLDRAM}.
\subsection{Unidade de Processamento}
As RSSFs tem como uma característica um poder de processamento muito baixo devido aos requisitos
de tamanho e consumo dos nós-sensores. Por estes motivos, nós-sensores típicos
utilizam unidades microcontroladas (MCUs) de baixo processamento e também baixo
consumo. Entre as MCUs que estão disponíveis atualmente no mercado, se destacam
a {\it{Atmel ATmega 128L}} e a Texas Instrument (TI) {\it{MSP430}} pelo fato de
serem MCUs com baixa potência, terem interfaces para diversos sensores e
ainda pela larga quantidade de ferramentas de desenvolvimento disponíveis.
Existe sempre a possibilidade de se utilizar outros processadores conforme a
demanda do produto, como por exemplo um ARM Cortex M8, com unidade de gerência
de memória.
Podem ser utilizadas ainda unidades de Processamento digital de sinais para atender
aplicações específicas que necessitam deste tipo de recurso.
Os {\it{Digital Signal Processors}} (DSPs) servem para processar sinais discretos
com filtros digitais, que minimizem o efeito do ruido nos sinais. O {\it{hardware}}
implementado dentro do DSP é relativamente mais simples quando comparado ao hardware
dedicado para o processamento analógico do sinal. A utilização de um DSP é válida
em ambientes com muito ruído, que exige muita filtragem do sinal. O custo computacional
para se fazer o mesmo tipo de operações dentro do processador principal é geralmente
maior. Um ponto fraco na utilização de DSPs é no que diz a implementação de protocolos.
O DSP é muito bom para fazer operações numéricas mas não é útil para implementar algum
protocolo de rede por exemplo. Este tipo de tarefa comumente já é implementado
dentro de sistemas operacionais comuns, como o Linux por exemplo.
Os nós sensores das RSSFs contam com um {\it{hardware}} muito limitado e requisitos
muito críticos de energia, que fazem com que o processamento e a comunicação se
tornem tarefas muito críticas. Os DSPs dedicados tendem a suprir a demanda
de alto processamento para aplicações específicas que podem já conter algum tipo de
aceleração em hardware para tarefas mais comuns relacionadas ao processamento de sinais
e tendem a aumentar a vida útil do nó sensor, entretanto é uma tecnologia mais cara.
Para suprir requisitos ainda mais específicos, podem ser utilizados circuitos integrados
de aplicação específica, ou {\it{Application-specific integrated circuit}}
(ASICs). Os ASICs são circuitos integrados dedicados para alguma aplicação específica. ASICs oferecem
uma estrutura projetada especificamente para a aplicação, o que lhes confere uma performance
mais alta. A maior desvantagem do seu uso é o alto custo de
fabricação e a falta de reconfiguração. ASICs são utilizados como complemento de processadores
ou DSPs, e não substituindo os mesmos. A ideia de se usar um ASIC é a utilização de um coprocessador
para uma tarefa muito específica e de alto custo para o processador principal.
%
%\begin{itemize}
%
%\item {\bf{ATMEL ATMega 128L}}: Os processadores {\it{ATmega 128L}} são na realidade
%microcontroladores de 8 bits desenvolvidos para aplicações embarcadas. Este processador
%%, cujo diagrama de blocos
%%pode ser visto na Figura \ref{fig:atmega128}, configurado com um
%%{\it{clock}} de 16MHz consegue executar 16 mega-instruções por segundo (MIPS) \cite{ATMEGA}.
%%O {\it{ATmega128L}} consome 8mW no modo ativo e 75$\mu$W no modo de economia de energia.
%%Ele ainda conta com 128KB de memória {\it{flash}} interna, 8 canais de conversores
%%analógico-digital de 10 bits e ainda baixa tensão de operação, de 2.7
%%Volts. Este processador
%é usado em várias plataformas de nós-sensores, como por
%exemplo {\it{Mica Motes}} \cite{HILL_MICAMOTES,MICA2}, {\it{BTNodes}}
%\cite{BTNODE} e ainda o {\it{DSYS25}} \cite{Barroso:DSYS25}.
%
%%\begin{figure}[htbp]
%% \centering
%% \includegraphics[width=0.6\textwidth]{fig/atmega128}
%% \caption{Diagrama de blocos do processador ATmega128L.}
%% \label{fig:atmega128}
%%\end{figure}
%
%\item {\bf{TI MSP430}}: O processador {\it{TI MSP430}} é um processador de baixo consumo de 16 bits, que
%utiliza uma arquitetura RISC \cite{Patterson:RISC}. Diversas plataformas de nós sensores utilizam
%%Em comparação ao ATmega 128L, o
%%{\it{MSP430}} utiliza muito menos energia tanto no modo ativo quanto no modo de economia
%%de energia, que é 3mW e 15$\mu$W respectivamente operando com uma tensão nominal de
%%1.8 Volts \cite{MSP430}. Ele ainda conta com conversores analógico-digital de 12 bits, portas
%%bidirecionais e um set de instruções reduzido com 51 instruções sendo que 27 são físicas e 24
%%são emuladas. Devido à essas características, diversas plataformas de nós-sensores utilizam
%este processador como por exemplo o {\it{Telos}} \cite{TELOS}, {\it{Tmote Sky}}
%\cite{TMOTE_SKY} e ainda o {\it{BSN Node}} \cite{Yang:2006:BSN}.
%
%%A Figura \ref{fig:mps430} mostra o a arquitetura do processador {\it{MSP430}} em um
%%diagrama de blocos.
%%
%%\begin{figure}[htbp]
%% \centering
%% \includegraphics[width=0.6\textwidth]{fig/msp430}
%% \caption{Diagrama de blocos do processador MSP430.}
%% \label{fig:mps430}
%%\end{figure}
%
%\item {\bf{ARM920T}}: O processador {\it{ARM920T}} é um processador da família ARM que é utilizado
%no {\it{Sunspot}} \cite{SUNSPOT}.
%%Este processador consome significativamente mais do que os citados anteriormente, que
%%é 40.26mW no modo ativo e 59.4$\mu$W no modo de economia de energia.
%Este processador é baseado em uma
%arquitetura RISC de 32 bits e ele dispõe de diversas funcionalidades que não são encontradas nos
%outros processadores, como por exemplo unidade de gerenciamento de memória (MMU) e interface SPI de comunicação.
%O fato de haver uma MMU faz com que ele suporte diversos tipos de sistemas operacionais, dentre
%eles Symbian OS, Windows CE, Linux, Palm OS e ainda diversos tipos de sistemas operacionais de tempo
%real(RTOS). Em algumas subfamílias deste processador, é possível encontrar um hardware dedicado para
%aceleração em Java, que nada mais é que um bloco que interpreta comandos Java \cite{ARM920T}.
%
%%A Figura ~\ref{fig:arm920t} mostra o diagrama de blocos funcional desta arquitetura.
%%
%%\begin{figure}[ht]
%% \centering
%% \includegraphics[width=0.6\textwidth]{fig/arm920t}
%% \caption{Arquitetura do processador ARM920T.}
%% \label{fig:arm920t}
%%\end{figure}
%
%O {\it{Sunspot}} usa como base uma máquina virtual java (JVM) simplificada que é desenvolvida
%para sistemas embarcados chamada {\it{Squawk}}. A diferença principal desta JVM às outras
%é o fato dela ser escrita quase toda em Java, o que a faz ser mais portável e segura, visto
%que diferentes aplicações serão completamente isoladas.
%
%\item { \bf{Processamento digital de sinais}}:
%Os {\it{Digital Signal Processors}} (DSPs) servem para processar sinais discretos
%com filtros digitais, que minimizem o efeito do ruido nos sinais. O {\it{hardware}}
%implementado dentro do DSP é relativamente mais simples quando comparado ao hardware
%dedicado para o processamento analógico do sinal. A utilização de um DSP é válida
%em ambientes com muito ruído, que exige muita filtragem do sinal. O custo computacional
%para se fazer o mesmo tipo de operações dentro do processador principal é geralmente
%maior. Um ponto fraco na utilização de DSPs é no que diz a implementação de protocolos.
%O DSP é muito bom para fazer operações numéricas mas não é útil para implementar algum
%protocolo de rede por exemplo. Este tipo de tarefa comumente já é implementado
%dentro de sistemas operacionais comuns, como o Linux por exemplo.
%
%Os nós sensores das RSSFs contam com um {\it{hardware}} muito limitado e requisitos
%muito críticos de energia, que fazem com que o processamento e a comunicação se
%tornem tarefas muito críticas. Os DSPs dedicados tendem a suprir a demanda
%de alto processamento para aplicações específicas que podem já conter algum tipo de
%aceleração em hardware para tarefas mais comuns relacionadas ao processamento de sinais
%e tendem a aumentar a vida útil do nó sensor, entretanto é uma tecnologia mais cara.
%
%
%\item {\bf{Circuito Integrado de Aplicação Específica}}: {\it{Application-specific integrated circuit}}
%(ASICs) são circuitos integrados dedicados para alguma aplicação específica. ASICs oferecem
%uma estrutura projetada especificamente para a aplicação, o que lhes confere uma performance
%mais alta. A maior desvantagem do seu uso é o alto custo de
%fabricação e a falta de reconfiguração. ASICs são utilizados como complemento de processadores
%ou DSPs, e não substituindo os mesmos. A ideia de se usar um ASIC é a utilização de um coprocessador
%para uma tarefa muito específica e de alto custo para o processador principal.
%
%\item{\bf{Arranjo de Portas Programável em Campo}}: Um arranjo de portas programável em
%campo, ou mais frequentemente chamado somente de {\it{Field-programmable Gate Array}}
%(FPGA) tem características que se assemelham a alguns ASICs, mas
%o conceito é ligeiramente diferente. Maiores detalhes sobre arquiteturas reconfiguráveis e FPGAs
%podem ser vistas no Capítulo~\ref{chap:reconf}.
%
%A programação dos FPGAs é feita com o uso de linguagens de descrição de hardware
%tais como VHDL ou Verilog, o que ajuda na criação de uma abstração para a implementação
%de {\it{hardware}} do ponto de vista do projetista. Uma das maiores vantagens na utilização de
%FPGAs é a sua flexibilidade oferecida pela possibilidade de reprogramação do {\it{hardware}}
%implementado. Os FPGAs suportam ainda processamento paralelo, assim como ASICs, diferentemente
%do que acontece com um programa que está sendo executado no processador, onde a sua
%execução é sequencial.
%
%\end{itemize}
\subsection{Unidade de Sensoriamento}
A unidade de sensoriamento dos nós-sensores é composta geralmente por sensores e conversores
analógico-digital. Alguns nós ainda apresentam atuadores nestes módulos tornando-os não só
responsáveis por fazer as medidas, mas também por atuar no sistema onde eles estão inseridos.
A Figura~{\ref{fig:sensors}} mostra a interface típica entre unidade de processamento e os
sensores contidos no nó-sensor. Em uma RSSF podem existir múltiplos nós com características
diversificadas. Estes nós podem ser nós simples com apenas um sensor, sendo naturalmente
menos flexíveis por atenderem um número reduzido de aplicações. Os nós podem ser também complexos, com
mais de uma unidade de sensoriamento. Este tipo de nó pode ser encontrado em VANTs por exemplo, onde
é necessário ter mais de um tipo de sensor para que se possa controlar a aeronave.
\begin{figure}[ht]
\centering
\includegraphics[width=0.6\textwidth]{sensors}
\caption{Comunicação entre os sensores e o processador \cite{WSNSURVEY}.}
\label{fig:sensors}
\end{figure}
A unidade de sensoriamento é muito dependente da aplicação, pois depende muito do fenômeno que se
está tentando monitorar. O tipo de
sensor pode aumentar a complexidade do hardware do nó sensor, devido principalmente
a energia requerida por este sensor. Existem sensores que podem servir como uma maneira
de realimentar o sistema do nó sensor com energia provinda do fenômeno que eles estão monitorando.
\begin{itemize}
\item {\bf{Acelerômetros}}: Utilizado para medir movimentos em 2D ou 3D de objetos. Estes sensores são
utilizados para medir-se fenômenos como atividades vulcânicas, rigidez de estruturas ou até mesmo
irregularidades em trilhos de trem.
\item {\bf{Sensores piezoelétricos}}: Sensores piezoelétricos transformam pressão em um sinal elétrico. Este
tipo de sensor vem sendo utilizados diversas aplicações como por exemplo em monitoramento de gás
em minas de carvão \cite{Piezo_coal} ou redes de sensores sem fio subaquáticas \cite{WSN_underwater}. Devido
às suas características de conversão de um sinal mecânico em um sinal elétrico, estes sensores também são
utilizados para a realimentação do nó sensor, convertendo a energia do meio em energia reaproveitável pelo
nó-sensor \cite{Piezo_harvest}.
\item {\bf{Sensores capacitivos}}: Sensores capacitivos podem ser utilizados para medir pressão bem como níveis de
líquidos em reservatórios. Alguns trabalhos ainda apresentam o uso de sensores capacitivos para medida
de umidade, tendo como utilização o monitoramento em tempo real de atividade respiratória \cite{wsn_breath}.
\item {\bf{Sensores de temperatura}}: Sensores de temperatura são os mais comuns de serem encontrados
em nós-sensores e praticamente toda plataforma conta com algum tipo de monitoramento de temperatura
\cite{wsn_temperature}.
\item {\bf{Sensores magnéticos}}: Sensores magnéticos e magneto-resistivos também tem suas aplicações
em redes de sensores sem fio, como por exemplo o monitoramento de tráfego de veículos em estradas
\cite{wsn_magnetic}.
\end{itemize}
%
%\subsection{Interfaces de Comunicação}
%
%A comunicação dos sistemas que compõe um nó-sensor é de extrema importância pois tem os requisitos
%de ser rápida e também não consumir muitos recursos do sistema. Idealmente se usaria comunicação
%paralela por ser mais eficiente conseguindo transportar mais dados durante um periodo de tempo
%definido, quando comparada a uma interface serial. Este tipo de barramento não é viável pois
%o espaço físico é muito limitado e o uso de protocolos
%paralelos torna-se impraticável. Por este motivo, a comunicação feita entre os dispositivos
%é tipicamente serial. Os protocolos mais utilizados são o protocolo SPI e o protocolo $I^2C$.
%
%\subsubsection{Serial Peripheral Interface - SPI}
%
%O barramento SPI foi criado no início da década de 80 pela Motorola e não tem uma especificação
%oficial ou alguma concordata de um comitê internacional. Isso fornece ao SPI um pouco
%de flexibilidade no processo de implementação.
%
%O barramento SPI é usado para comunicação síncrona serial entre microcontroladores e
%periféricos. É um protocolo {\it{full duplex}} do tipo {\it{master}}-{\it{slave}} e requer dois
%sinais de controle, chamados de CS e SCK, e duas linhas de dados, SDI e SDO. A
%Figura~{\ref{fig:SPI_single_slave}} mostra a comunicação típica entre um {\it{Master}} e
%um {\it{Slave}}.
%
%\begin{figure}[ht]
% \centering
% \includegraphics[width=0.6\textwidth]{fig/SPI_single_slave}
% \caption{Ligações dos sinais entre um {\it{master}} e um {\it{slave}} SPI.}
% \label{fig:SPI_single_slave}
%\end{figure}
%
%
%O barramento SPI define quatro sinais básicos:
%
%\begin{itemize}
% \item SCK: Sinal de {\it{clock}} serial fornecido pelo {\it{master}}.
% \item CS: Sinal de {\it{chip select}}, que possibilita o {\it{master}} habilitar
% e desabilitar os periféricos.
% \item MOSI: O sinal de {\it{master output-slave input}} é utilizado para enviar
% dados do {\it{master}} para o {\it{slave}}.
% \item MISO: O sinal de {\it{master input-slave output}} é utilizado para enviar
% dados do {\it{slave}} para o {\it{master}}.
%\end{itemize}
%
%%Com o sinal de CS ativo em nível baixo, o periférico correspondente é acessado. O
%%{\it{master}}, que é geralmente um microprocessador ou um microcontrolador, sempre
%%fornece o sinal de {\it{clock}} para todos os dispositivos no barramento
%%estejam eles selecionados ou não e é permitido somente um {\it{master}} presente
%%no barramento. Os dispositivos que não estão selecionados, ou seja, com seu
%%sinal de CS em nível alto, mantêm as suas saídas em alta impedância. Visto que
%%o sinal de {\it{clock}} serve como base na sincronização da comunicação entre os
%%dispositivos, existem quatro modos que podem ser utilizados no barramento SPI, baseados
%%na polaridade (CPOL) e fase (CPOH) do {\it{clock}}. A tabela \ref{tab:spimodes} mostra
%%cada um destes modos enquanto que a Figura \ref{fig:spi_timing} mostra um diagrama
%%de temporização do barramento SPI.
%%
%%\begin{table}[ht]
%%\centering
%%\begin{tabular}[C]{c|c|c} \hline
%%{\bf{Modo SPI}} & {\bf{CPOL}} & {\bf{CPHA}} \\
%%0 & 0 & 0 \\
%%1 & 0 & 1 \\
%%2 & 1 & 0 \\
%%3 & 1 & 1 \\ \hline
%%\end{tabular}
%%\caption{Modos de operação do barramento SPI. \label{tab:spimodes} }
%%\end{table}
%%
%%Se a fase do sinal de {\it{clock}} é zero, ou seja, quando CPHA for igual
%%a zero, o dado é amostrado na borda de subida do {\it{clock}} com
%%polaridade zero (CPOL=0), e na borda de descida do sinal de {\it{clock}}
%%com polaridade igual a um (CPOL=1). Quando a fase é invertida (CPHA = 1), essa
%%análise também fica invertida, sendo que o dado é amostrado na borda
%%de descida do sinal de {\it{clock}} com CPOL igual a zero e na borda de subida
%%do sinal de {\it{clock}} com CPOL igual a um.
%%
%%\begin{figure}[ht]
%% \centering
%% \includegraphics[width=0.6\textwidth]{fig/spi_timing}
%% \caption{Diagrama de temporização da comunicação do protocolo SPI.}
%% \label{fig:spi_timing}
%%\end{figure}
%%
%
%%\begin{figure}[ht]
%% \centering
%% \includegraphics[width=0.25\textwidth]{fig/SPI_three_slaves}
%% \caption{.}
%% \label{fig:SPI_three_slaves}
%%\end{figure}
%
%\subsubsection{Inter-Integrated Circuit - ${I^2}C$}
%
%O $I^2C$ é um barramento {\it{half-duplex}}, síncrono e {\it{multi-master}}. Foi desenvolvido pela Philips, que também
%é reponsável por manter o padrão. Este barramento geralmente é chamado de {\it{interface a dois fios}} pois usa duas
%linhas bidirecionais, ao contrário do SPI que usa quatro linhas. O objetivo deste barramento é minimizar o custo para
%conectar subsistemas utilizando-se de taxas de transmissão baixas.
%
%Os sinais do $I^2C$ são chamados de {\it{Serial Data}} (SDA) e {\it{Serial Clock}} (SCL).
%Não há necessidade de um sinal de seleção de dispositivo como existe no SPI. De acordo
%com a especificação \cite{I2C_SPEC}, qualquer número de {\it{masters}} e {\it{slaves}}
%podem ser conectados a estas duas linhas e se comunicar através do protocolo. Este
%protocolo define:
%
%\begin{itemize}
% \item Endereço único por dispositivo. A primeira especificação do protocolo
% definia 7 bits de endereço. Atualmente utilizam-se 10 bits para endereçar
% os dispositivos.
% \item Dados divididos em pacotes de 1 byte.
% \item Alguns bits de controle que indicam inicio e fim de comunicação, direção
% e também para um mecanismo de reconhecimento.
%\end{itemize}
%
%A taxa de comunicação de dados pode ser escolhida entre 100 kilobits por segundo(kpbs), 400
%Kbps e ainda 3.4 Mbps e são chamadas respectivamente de {\it{standard mode}}, {\it{fast mode}}
%e {\it{high speed mode}}. Algumas variantes do protocolo ainda incluem as taxas de
%10 Kbps ({\it{low speed mode}}) e também 1 Mbps ({\it{fast speed +}}).
%
%O barramento $I^2C$ fisicamente consiste de dois fios (um SDA e outro SDL) e mais
%um fio para a conexão com o terra. O protocolo especifica que o dispositivo que
%inicializa a transferência no barramento é considerado o {\it{master}}, e, consequentemente
%naquele instante todos os outros são considerados {\it{slaves}}. A Figura~\ref{fig:I2C}
%mostra um típico barramento $I^2C$ com um {\it{master}} e três {\it{slaves}}
%
%\begin{figure}[ht]
% \centering
% \includegraphics[width=0.5\textwidth]{fig/I2C}
% \caption{Conexão entre dispositivos $I^2C$.}
% \label{fig:I2C}
%\end{figure}
%
%O protocolo se dá da seguinte maneira. Primeiro, o {\it{master}} dispara uma
%condição de {\it{START}}. Isso serve como um sinal de atenção para todos os
%dispositivos conectados. Neste instante, todos os dispositivos passam a escutar
%o barramento esperando receber algum dado. O {\it{master}} envia então o endereço
%do dispositivo que ele quer acessar, junto com uma indicação de uma requisição
%de leitura ou escrita. Uma vez que os dispositivos recebem o endereço, a primeira
%tarefa de cada {\it{slave}} é comparar o endereço recebido com o seu próprio endereço.
%Caso o endereço recebido não seja o seu próprio, o dispositivo fica somente esperando
%a comunicação terminar, que será indicada pelo recebimento de uma condição de parada, ou
%o bit de {\it{stop}}. Se o endereço do dispositivo for o recebido, ele responde com um
%sinal de {\it{acknowlodge}} e finalmente o dispositivo {\it{master}} e {\it{slave}}
%passarão a trocar informação. Os dados são enviados serialmente byte a byte, conforme
%pode ser visto na Figura~\ref{fig:i2cframe}.
%
%\begin{figure}[ht]
% \centering
% \includegraphics[width=0.7\textwidth]{fig/i2cframe}
% \caption{Frame utilizado no protocolo do barramento $I^2C$.}
% \label{fig:i2cframe}
%\end{figure}
%
\section{Conclusão}
Este capítulo mostrou um resumo do que são redes de sensores sem fio e seus componentes. Nós-sensores
foram analisados em detalhes mostrando seus principais componentes e comparando diferentes arquiteturas.
RSSFs têm utilidade em diversas áreas sendo que a característica de baixo custo dos nós faz com
que as RSSFs sejam principalmente utilizados em aplicações onde o processamento centralizado não alcança, como
em monitoramento de desastres por exemplo.
A RSSF consiste em sensores geograficamente distribuídos para monitorar condições
físicas ou ambientais e atuar cooperativamente passando-se os dados coletados para o
usuário do sistema. De uma maneira geral, os nós sensores são compostos por:
\begin{itemize}
\item Unidade de processamento;
\item Unidade de sensoriamento;
\item Transmissor/Receptor;
\item Memória;
\item Fonte de energia.
\end{itemize}
Um nó sensor pode variar de tamanho quando comparamos diferentes fabricantes, sendo
desde o tamanho de um grão de areia \cite{SMARTDUST} até nós bem maiores \cite{MICA2}.
O tamanho dos nós sensores está diretamente ligado à aplicação onde eles estão inseridos, sendo que a limitação
de tamanho está usualmente ligada à limitação de energia gasta pelo nó sensor. Em geral, nós mais
compactos tendem a consumir menos energia por possuírem menos componentes \cite{IVANMULLER}.
A diversidade das aplicações das RSSFs faz com que os nós sensores tenham diferentes
capacidades e requisitos. A RSSF pode ser heterogênea contendo nós estáticos e nós
móveis, e ainda sensores com diferentes complexidades. O acoplamento de nós sensores em
VANTs traz um aumento na versatilidade das aplicações, uma vez que os nós ganham mobilidade
física. Estes nós devem ter maior capacidade de processamento pois a complexidade inerente
ao VANT requer este tipo de característica, devido ao maior número de sensores envolvidos
e das tarefas que estes nós executam.
Jump to Line
Something went wrong with that request. Please try again.