\setlength{\headsep}{1.5cm}
%\setlength{\footskip}{3cm}
\chapter{TECNOLOGIAS UTILIZADAS NO PROJETO E PROPOSTA DO TRABALHO}

\label{cap:cap4}
\vspace{-2cm}



\section{Introdução}

Neste capítulo, será apresentada parte da implementação do módulo de integração entre o protocolo CAN e o padrão IEEE 802.15.4 - PAN, onde os nós da rede serão capazes de receber dados (pacote IP) através de tecnologia sem fio (IEEE 802.15.4) e capturar informações dos sensores através da Rede de Controle de Área (CAN).

O tópico 4.2 trata de como será realizada a implementação do módulo de rede com diferentes tipos de sensores para monitoramento e a comunicação de uma Rede Pessoal de Área. Em seguida serão apresentados os módulos para a realização do trabalho e suas respectivas características de hardware. 

\section{Kits utilizados para a Implementação e Programação do Módulo}

Para o desenvolvimento da rede de transdutores inteligentes serão utilizados os seguintes módulos: 
\begin{itemize}
\item	Módulo STK500.
\item	Módulo de Expansão STK501.
\item	Antena de Comunicação RZ502.
\end{itemize}

Nos tópicos 4.3.1, 4.3.2 e 4.3.3, serão apresentadas as características de cada um destes módulos.

\subsection{Módulo STK500}

O STK500 é um kit utilizado para desenvolver sistemas para microcontroladores AVR Flash da Atmel Corporation. Ele foi elaborado para projetar e desenvolver códigos no AVR além de permitir testes nos novos projetos.

O STK500 é compatível com o ambiente de desenvolvimento AVR Studio, possui interface RS-232 com o microcomputador para a programação e controle de aplicações, fonte de tensão de alimentação entre 10V a 15V DC, sockets de 8, 20, 28 e 40 pinos para dispositivos AVR, alto nível de tensão para programação paralela e serial de dispositivos AVR, programação serial no sistema (ISP), reprogramação de dispositivos AVR. Possui 8 push button, 8 LEDS acoplados para utilizações diversas, todas as portas de E/S são facilmente acessíveis através dos pinos conectores, uma porta RS-232 adicional e conectores de expansão para módulos auxiliares e área de prototipagem.

Na figura 21 apresenta-se o STK500 que através do AVR Studio pode ser configurado, programado e simulado.


Figura 21 - Placa do módulo STK500


O software do AVR atualmente suporta os seguintes dispositivos em todos os graus de velocidade, como é apresentado na tabela 5.

Tabela 5 - Família e Componentes AVR
FAMÍLIA	COMPONENTE
ATTINY11	AT90S4433
AT90S4434	ATtiny12
ATtiny15	AT90S8515
ATtiny22	AT90S8535
ATmega8	ATtiny28
AT90S1200	ATmega16
AT90S2313	ATmega161
AT90S2323	ATmega163
AT90S2333	ATMEGA323
AT90S2343	ATMEGA103 (L)
AT90S4414	ATmega128(L)

Suporte para novos dispositivos AVR podem ser acrescentados de novas versões do AVR Studio. Versões mais recentes do AVR podem ser encontradas em www.atmel.com.

Os requisitos mínimos de hardware e software para a instalação do kit no microcomputador são: processador 486 MHz, 16 MB de RAM, 12 MB de espaço livre no disco rígido para a instalação do AVR Studio,  Windows (95/98/2000/ME/XP) ou superior, porta RS-232 (COM) e fonte de alimentação de 15V DC.

Na figura 22 é apresentada a conexão entre o kit STK500 e o microcomputador.

Figura 22 - Conexão entre o STK500 e um Microcomputador


\subsection{Módulo de Expansão STK501}

A placa de expansão STK501 é um módulo elaborado para adicionar os microcontroladores ATMEGA103 (L) e ATmega128 (L) à placa de desenvolvimento STK500 da Atmel. Com este kit, o STK500 suporta todos os dispositivos AVR em um único ambiente de desenvolvimento. 
O STK501 inclui conectores, jumpers e hardwares que permitem a plena utilização das novas funcionalidades do ATmega128 (L), enquanto o soquete ZIF (Zero Insertion Force) permite a fácil utilização de pacotes TQFP para prototipagem. Além de adicionar suporte para novos dispositivos, o STK501 também fornece suporte para os periféricos anteriormente não suportados pelo STK500. Uma entrada adicional RS-232 e uma interface SRAM externa. 

Na figura 23 é apresentado o módulo de expansão STK501 da ATMEL.


Figura 23 - Módulo de Expansão STK501


O módulo de expansão STK501 é compatível com o STK500. Pode ser gravado e implementado utilizando a AVR Studio, tem suporte para os microcontroladores ATMEGA103(L) e ATMEGA128(L), possui socket de inserção de força zero para pacotes TQFP, suporta todas as características adicionadas no ATmega128 (L), possui conector JTAG para depuração utilizando JTAG ICE (ATMEGA128 (L)), portas RS-232C adicionais, SRAM externo, tendo como suporte a placa STK500 e placa com crystal de 32 kHz.

\subsection{Antena de Comunicação RZ502}

A antena RZ502 é projetada para a avaliação do rádio transceptor (2,4 GHz) AT86RF230 da Atmel. Este rádio é totalmente compatível com o padrão IEEE 802.15.4 e pode ser utilizado em tecnologias sem fio de baixa potência, na construção de aplicações residenciais e automação industrial. 

Na figura 24, é ilustrado o rádio transceptor RZ502 que pode ser acoplado no kit de expansão STK 501 da Atmel.


Figura 24 - Rádio Transceptor RZ502


O kit é composto por 2 placas com antenas de rádio SMA e 2 microcintroladores AVR ATMEGA1281. Para a sua utilização é necessário o módulo STK 500,  a placa de expansão STK 501 e cabos para a conexão nos pinos de E/S. 

\section{Conexão dos Módulos Utilizados}

Para a implementação do módulo proposto, estão sendo utilizados os 3 kits citados nos itens 4.1, 4.2 e 4.3. A conexão dos módulos pode ser visualizada na figura 25.

A placa de expansão STK501 utilizará um microcontrolador ATMEGA1281 (AT90S4414) para a implementação dos algoritmos para controle de monitoramento e envio de informações para todos os nós da rede.


Figura 25 - Conexão do STK500 com o Módulo de expansão e a antena do kit do RZ502

\section{Linguagem de Programação ANSI  C - WINAVR}

O programa utilizado neste trabalho foi o WinAVR, um pacote de programas em código aberto para desenvolvimento com microcontroladores da família AVR da Atmel no ambiente Windows, que inclui um editor de texto, debugger, bibliotecas em C, entre outros.
O WinAVR é um pacote de vários softwares utilitários para desenvolvimento com a família AVR. O site da distribuição é http://winavr.sourceforge.net/. 

A figura 26 mostra a utilização da suíte de aplicações AVR Studio para programação de códigos utilizando a linguagem C/C++ (WinAvr).

Figura 26 - Exemplo de um algoritmo em C utilizando a IDE AVR Studio

\section{Ambiente de Desenvolvimento AVR Studio}

O AVR Studio 4 é um sistema com ambiente de desenvolvimento integrado Ambiente para a depuração de softwares AVR. O AVR Studio permite chip de simulação e emulação de circuito para a família de microcintroladores AVR. A interface com o usuário foi especialmente criada para ser fácil de usar e sintetizar informações completas. O AVR usa a mesma interface de usuário visualizada na figura 4.x para simulação e emulação, proporcionando assim, uma rápida curva de aprendizagem.

Na figura 27 evidencia-se a janela de abertura de projetos da IDE da Atmel, o AVR Studio 4.

Figura 27 - Janela de Abertura de Projetos da IDE AVR Studio


\section{Módulo Proposto}

No caso de uma rede de sensores sem fio o nó é um ponto da rede com a capacidade de gerenciar os dados relacionados com uma aplicação envolvendo sensores e atuadores. O modelo tem a capacidade de gerenciar os sensores/atuadores através de um barramento e, enviar as informações coletadas utilizando a porta serial (RS-232) para uma estação base remota. Vale ressaltar que para atingir a estação base da rede de sensores sem fio, as informações podem saltar por vários pontos até atingir o destino final.

Na figura 28 apresenta-se um esquemático do trabalho de doutorado referente a este projeto de pesquisa para o interfaceamento e comunicação da rede de sensores sem fio.

Figura 28 -  Módulo Microcontrolador com Suporte ao Protocolo CAN (Controller Area Network) e ao Padrão 802.15.4 ?Zigbee? para comunicação de Redes de Sensores sem Fio.


No quadro 1 da figura 29 é ilustrado o barramento CAN em que se pode acoplar uma malha de sensores e atuadores; a rede CAN terá interfaceamento com o microcontrolador proposto. A rede trabalha em alta taxa de dados de até 1Mbps de forma confiável e, devido o CAN não trabalhar com comunicação por endereçamento o microcontrolador terá que realizar uma conversão no formato dos pacotes para  o formato do padrão IEEE 802.15.4 assim, podendo ser enviados para outras malhas de sensores e atuadores da rede sem fio.

Para que a energia das baterias dos sensores seja otimizada é utilizado o padrão IEEE 802.15.4 para o interfaceamento sem fio com os outros módulos da rede. A conversão feita pelo microcontrolador evidenciada no quadro 1 da figura 29 também é realizada entre o padrão ZigBee para a rede CAN ilustrado no quadro 2 figura 29. Uma característica que deve ser ressaltada é que o Zigbee opera com taxas de transferência de mensagens de até 250 Kbps, no qual será necessário para uma comunicação bidirecional, que os pacotes do padrão IEEE 802.15.4 também sejam transformados no formato do protocolo CAN para que sejam reconhecidos pelos sensores e atuadores.  A comunicação entre os dois módulos trabalham de forma confiável havendo uma confirmação de recepção por parte do módulo cliente, uma característica denominada de Handshacke.  Para a comunicação entre os módulos esta sendo utilizado o kit RZ502 (rádio transceptor) com suporte ao padrão "Zigbee".

No quadro 3 da figura 29 apresenta-se o módulo do microcontrolador para o interfaceamento entre o padrão 802.15.4 e a rede CAN da rede de sensores sem fio. Este módulo é a concatenação das características do quadro 1 com o quadro 2 da figura 29.
Para a implementação estão sendo utilizados as ferramentas e kits detalhados nos tópicos 4.1 à 4.5 desta mesma seção e para a fase de testes serão implmentados sensores para a leitura de temperatura e umidade, além de acionamento de dispositivos como: motores, lâmpadas, aquecedores etc.

Em pesquisas realizadas em laboratório a comunicação serial foi implementada obtendo êxito na captura e reconhecimento das mensagens. Também, foi estudada a comunicação por troca de mensagens utilizando o padrão IEEE 802.15.4 "Zigbee" entre dois nós de uma rede ponto a ponto. Outra análise realizada em laboratório foi a comunicação entre um microcomputador e o módulo de comunicação RZ502 utilizando a interface serial padrão RS-232, nos quais os dados foram transferidos com sucesso. O software de teste para esta comunicação foi elaborado utilizando a linguagem Java. Java possui a biblioteca JAVAX.COMM que favorece na implementação de sistemas com este objetivo. Por ser uma comunicação assicrona foi realizada a seguinte configuração em ambos dispositivos (microcomputador/RZ502): 9600 bits/segundo, 8 bits de dados, paridade N (NONE) e 1 stop bit. 


Figura 29 - Detalhamento do Módulo Proposto




