dispositivo de geren ciamento de dados para …educatec.eng.br/engenharia/monografia de...

132
PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO SUL FACULDADE DE ENGENHARIA CURSO DE ENGENHARIA ELÉTRICA DISCIPLINA DE TRABALHO DE INTEGRAÇÃO DISPOSITIVO DE GERENCIAMENTO DE DADOS PARA IMPRESSORA UTILIZANDO TECNOLOGIA ZIGBEE LEONARDO DIAS MARQUEZINI PROF. EDGAR BORTOLINI Porto Alegre, Junho de 2006.

Upload: haphuc

Post on 06-Feb-2018

225 views

Category:

Documents


3 download

TRANSCRIPT

PONTIFÍCIA UNIVERSIDADE CATÓLICA DO RIO GRANDE DO S UL

FACULDADE DE ENGENHARIA

CURSO DE ENGENHARIA ELÉTRICA

DISCIPLINA DE TRABALHO DE INTEGRAÇÃO

DISPOSITIVO DE GERENCIAMENTO DE DADOS PARA IMPRESSORA

UTILIZANDO TECNOLOGIA ZIGBEE

LEONARDO DIAS MARQUE ZINI

PROF. EDGAR BORTOLINI

Porto Alegre, Junho de 2006.

2

Dedicatória

Dedico este trabalho às pessoas que de uma forma ou

outra contribuíram para minha formação pessoal e acadêmica.

3

Agradecimentos

Agradeço a Deus, por ter me iluminado nesta jornada, aos meus pais, Paulo e Marfiza

Marquezini pela dedicação e esforço para que esse sonho se tornasse realidade. Ao meu irmão

que sempre esteve ao meu lado e servindo de exemplo. A minha amada Lílian Gomes, pela

compreensão e carinho. Aos meus Avós, tios, sogros, amigos e colegas, que muito me ajudaram

a chegar até aqui.

Cito em especial, o professor engenheiro Edgar Bortolini, orientador deste trabalho, e aos

demais mestres dessa instituição que nesses anos ensinaram tudo para minha formação

profissional.

4

Resumo

Esse trabalho tem como objetivo estudar o padrão IEEE 802.15.4 a fim de desenvolver

um dispositivo gerenciador de impressão utilizando a tecnologia Zigbee como meio de

comunicação. Primeiramente foi realizado um estudo aprofundado sobre esse padrão a pouco

tempo desenvolvido e que ainda continua em desenvolvimento. Foram estudadas as camadas do

padrão, sua comunicação, formação da rede e suas principais características. Foi desenvolvido o

planejamento (diagrama e pseudocódigo) um software que será o gerenciador de impressão

juntamente com o planejamento de um hardware (microprocessador, memória, conexão com o

meio e conexão USB) para realizar a tarefa de levar os dados até a impressora.

5

Sumário

1. Introdução..............................................................................................................................12 1.1. Evolução do Padrão WPAN..........................................................................................13 1.2. Padrão IEEE 802.15.4 ...................................................................................................14 1.3. Zigbee Alliance .............................................................................................................15 1.4. Necessidades .................................................................................................................17

2. Descrição do problema ..........................................................................................................19 2.1. Ambiente HP (Hewlett Packard) ..................................................................................19 2.2. Ambiente .......................................................................................................................20 2.3. Modelo da impressora...................................................................................................21 2.4. Proposta.........................................................................................................................21

3. Solução proposta - Zigbee .....................................................................................................23 3.1. Topologia.......................................................................................................................23

3.1.1. Componentes da WPAN.......................................................................................23 3.1.2. Dispositivos...........................................................................................................23 3.1.3. Topologia de Redes ...............................................................................................25 3.1.3.1. Redes da IEEE 802.15.4....................................................................................25 3.1.3.1.1. Topologia Estrela (Star) ....................................................................................25 3.1.3.1.2. Topologia Ponto-a-Ponto (Peer-to-Peer)...........................................................26 3.1.3.2. Redes do Zigbee ................................................................................................27 3.1.3.2.1. Topologia Mesh.................................................................................................28 3.1.3.2.2. Topologia Cluster (Tree)...................................................................................28 3.1.4. LR-WPAN arquitetura do dispositivo...................................................................29

3.2. Camada Física – IEEE 802.15.4....................................................................................31 3.2.1. Detecção de energia do Receptor – ED.................................................................33 3.2.2. Indicador de Qualidade de Conexão – LQI...........................................................34 3.2.3. Avaliação de Desobstrução de Canal – CCA........................................................34 3.2.4. Formato PPDU......................................................................................................34 3.2.5. Modulação.............................................................................................................35 3.2.5.1. Modulação nas bandas de 2.4 GHz ...................................................................35 3.2.5.2. Modulação nas bandas de 868/915 MHz ..........................................................36 3.2.5.3. Banda e Freqüência Funcionais do padrão IEEE 802.15.4 ...............................36 3.2.5.4. Seleção de canal ................................................................................................37

3.3. Camada MAC – IEEE 802.15.4 ....................................................................................38 3.3.1. Estrutura do SuperFrame.......................................................................................38 3.3.2. Algoritmo CSMA-CA...........................................................................................40 3.3.3. Modelo de Transferência de Dados.......................................................................43 3.3.4. Iniciando e Mantendo PANs.................................................................................45 3.3.5. Geração de Beacon ................................................................................................47 3.3.6. Associação e Dissociação......................................................................................48 3.3.7. Sincronização ........................................................................................................52 3.3.8. Transmissão, recepção e Acknowledgement.........................................................53

6

3.3.9. Alocação de GTS e Gerenciamento ......................................................................55 3.3.10. Formato do Frame MAC.......................................................................................57

3.4. Camada de roteamento Zigbee ......................................................................................60 3.4.1. AODV: Ad hoc On Demand Distance Vector ......................................................60 3.4.2. Algoritmo Cluster-Tree .........................................................................................63 3.4.2.1. Rede Cluster simple...........................................................................................63 3.4.2.2. Rede Multi-Cluster............................................................................................66

3.5. Codificação....................................................................................................................70 3.6. Confiabilidade ...............................................................................................................73

3.6.1. Segurança do IEEE 802.15.4.................................................................................73 3.6.2. Segurança da camada Zigbee ................................................................................75 3.6.3. Futuro do IEEE 802.15.4 e Zigbee........................................................................75

4. Projeto do Hardware..............................................................................................................77 4.1. Chip CC2420 (Smart card RF)......................................................................................78 4.2. PIC18F2620 (Microcontrolador)...................................................................................84 4.3. SD Card (memória) .......................................................................................................87 4.4. FT232BM (USB)...........................................................................................................91 4.5. BOM List (Bill of Material) ..........................................................................................95

5. Projeto do Software...............................................................................................................98 5.1. Estado do Dispositivo....................................................................................................99 5.2. JOB (Dados para impressão).........................................................................................99 5.3. Acesso ao gerenciador.................................................................................................101 5.4. Relatório de Impressão................................................................................................101 5.5. Caso de erro.................................................................................................................102 5.6. Pseudocódigo...............................................................................................................103 5.7. Diagrama de Casos......................................................................................................106

6. Conclusões...........................................................................................................................109 7. Referências Bibliográficas ..................................................................................................111 8. Anexos.................................................................................................................................114

8.1. Pinagem dos componentes. .........................................................................................114 8.2. Esquema elétrico completo. ........................................................................................128 8.3. Footprint......................................................................................................................129 8.4. Modelos Impressora....................................................................................................131

Lista de Figuras

Figura 1.1 – Camadas do Padrão...................................................................................................14 Figura 1.2 – Localização do Zigbee entre as tecnologias wireless. ..............................................18 Figura 2.1 – Topologia em Estrela. ...............................................................................................21 Figura 3.1 – Representação dos dispositivos de rede....................................................................24 Figura 3.2 – Representação da topologia Estrela. .........................................................................26 Figura 3.3 – Representação da topologia Ponto-a-Ponto..............................................................27 Figura 3.4 – Representação de uma rede Mesh.............................................................................28 Figura 3.5 – Representação de uma rede Cluster Tree..................................................................29 Figura 3.6 – Arquitetura de um dispositivo da LR-WPAN...........................................................30 Figura 3.7 – Operação das bandas de freqüências.........................................................................33 Figura 3.8 – Formato do PPDU.....................................................................................................35 Figura 3.9 – Seleção de canais entre 802.15.4 e 802.11b..............................................................37 Figura 3.10 – Representação da estrutura de um Superframe. ......................................................39 Figura 3.11 – Representação do Algoritmo CSMA-CA...............................................................42 Figura 3.12 – Comunicação para um coordenador em uma rede beacon-ativado. .......................43 Figura 3.13 – Comunicação para um coordenador em uma rede não beacon-ativado..................43 Figura 3.14 – Comunicação de um coordenador em uma rede beacon-ativado............................44 Figura 3.15 – Comunicação de um coordenador em uma rede não beacon-ativado.....................45 Figura 3.16 – Seqüência inicial de comunicação da PAN. ...........................................................46 Figura 3.17 – Associação de um dispositivo: processo do coordenador.......................................50 Figura 3.18 – Associação de um dispositivo: processo do dispositivo.........................................51 Figura 3.19 – Representação do frame do MAC...........................................................................57 Figura 3.20 – Representação do Frame de Beacon (Beacon Frame)............................................58 Figura 3.21 – Representação do Frame de Dados (Data Frame)..................................................58 Figura 3.22 – Representação do Frame de Acknowledgement (ACK frame). ...............................58 Figura 3.23 – Representação do Frame de Comando MAC (MAC Command Frame)................59 Figura 3.24 – Formação do caminho direto e reverso pelo protocolo AODV..............................62 Figura 3.25 – Seleção do processo do Cluster Head.....................................................................64 Figura 3.26 – Troca de mensagens entre o Cluster Head e o dispositivo.....................................64 Figura 3.27 – Processo de ajuste do Cluster Multi Hop................................................................65 Figura 3.28 – Representação da Tarefa CID 1. .............................................................................67 Figura 3.29 – Representação da Tarefa CID 2. .............................................................................67 Figura 3.30 – Representação da Tarefa CID 3. .............................................................................68 Figura 3.31 – Representação da Tarefa CID 4. .............................................................................68 Figura 3.32 – Uma rede multi cluster e os nós das bordas............................................................69 Figura 4.1 – Diagrama do Hardware. ............................................................................................77 Figura 4.2 – Desenho da pinagem do CC2420..............................................................................79 Figura 4.3 – Diagrama de Bloco do CC2420. ...............................................................................80

8

Figura 4.4 – Representação do circuito de um CC2420................................................................82 Figura 4.5 – Representação da comunicação do CC2420 com o Microcontrolador.....................83 Figura 4.6 – Desenho da pinagem do PIC18F2620.......................................................................84 Figura 4.7 – Diagrama de Bloco do PIC18F2620.........................................................................85 Figura 4.8 – Diagrama de conexão do PIC18F25620. ..................................................................86 Figura 4.9 – Diagrama de Bloco do SD Card................................................................................88 Figura 4.10 – Diagrama da conexão do SD Card..........................................................................90 Figura 4.11 – Desenho da pinagem do FT232BM........................................................................91 Figura 4.12 – Diagrama de Blocos do FT232BM.........................................................................92 Figura 4.13 – Diagrama de conexão do FT232BM.......................................................................93 Figura 5.1 – Diagrama do Gerenciador de Impressão...................................................................98 Figura 5.2 – Diagrama dos Acessos a Lista de impressão. .........................................................101 Figura 5.3 – Diagrama dos Registros no Relatório de Impressão...............................................102 Figura 5.4 – Diagrama de Impressão com Sucesso.....................................................................106 Figura 5.5 – Diagrama de Impressão com Erro...........................................................................107 Figura 5.6 – Diagrama de Impressão com mais de um JOB. ......................................................107 Figura 5.7 – Tentativa de Impressão com impressora em estado de Erro...................................108 Figura 8.1 – Pinos do CC2420. ...................................................................................................114 Figura 8.2 – Dimensões do CC2420. ..........................................................................................117 Figura 8.4 – Pinos do SD Card....................................................................................................118 Figura 8.5 – Dimensões do SD Card. ..........................................................................................119 Figura 8.6 – Pinos do PIC18F2620. ............................................................................................120 Figura 8.7 – Dimensões do PIC18F2620. ...................................................................................123 Figura 8.8 – Pinos do FT232BM.................................................................................................124 Figura 8.9 – Dimensões do FT232BM........................................................................................127 Figura 8.10 – Esquema Elétrico Completo. ................................................................................128 Figura 8.11 – Footprint dos componentes...................................................................................129 Figura 8.12 – Footprint das trilhas (visão superior)....................................................................129 Figura 8.13 – Footprint das trilhas (visão inferior). ....................................................................130 Figura 8.14 – Características da séria 42XX da Hewlett Packard...............................................131 Figura 8.15 – Características da séria 43XX da Hewlett Packard...............................................132

9

Lista de Tabelas

Tabela 1.1 – Promotores................................................................................................................15 Tabela 1.2 – Patrocinadores. .........................................................................................................16 Tabela 3.1 – Tabela das freqüências. ............................................................................................31 Tabela 4.1 – Lista de componentes do circuito CC2420...............................................................83 Tabela 4.2 – Lista de componentes do circuito PIC18F2620........................................................86 Tabela 4.3 – Lista de componentes do circuito do SD Card. ........................................................90 Tabela 4.4 – Lista de componentes do circuito do FT232BM......................................................94 Tabela 4.1 – lista da Bill of Material. ............................................................................................97 Tabela 8.1 – Pinos do CC2420....................................................................................................116 Tabela 8.2 – Pinos do SD Card. ..................................................................................................118 Tabela 8.3 – Pinos do PIC18F2620.............................................................................................122 Tabela 8.4 – Pinos do FT232BM................................................................................................126

Lista de Siglas

AES – Advanced Encryption Standard ACL – Access Control Link AOVD – Ad Hoc on Demand Distance Vector Routing BDD – Backup DD BI – Beacon Interval BO – Beacon Order CAP – Contention Access Period CCA – Clear Channel Assessment CID – Cluster Identifier CFP – Contention Free Period CLH – Cluster Head CSMA-CA – Carrier Sense Multiple Access with Collision Avoidance DCF – Distributed Coordination Function DD – Designated Device DIFS – DCF Inter Frame Space DSSS – Direct Sequence Spread Spectrum ED – Energy Detection FA – Frequency Agility FFD – Full-Function Device GTS – Guaranteed Time Slots HP – Hewlett Packard IEEE – Institute of Electrical and Electronics Engineers I/O – Input / Output I/Q – In-phase / Quadrature-phase Kbps – Kilo bit per second LLC – Logical Link Control LQI – Link Quality Indication] LQ – Link Quality LR-WPAN – Low Rate Wireless Personal Area Network MAC – Medium Access Control MFR – MAC Footer MIC – Message Integrity Code MLME – MAC Sublayer Management Entity MPDU – MAC Protocol Data Unit MSK – Minimum Shift Keying O-QPSK – Offset - Quadrature Phase Shift Keying PAN – Personal Area Network PC – Personal Computer PHY – Physical Layer PLME – Physical Layer Management Entity POS – Personal Operating Space

11

PPDU – PHY Protocol Data Unit QoS – Quality of Service RF – Radio Frequency RFD – Reduced-function Device RREP – Route Reply Packet RREQ – Route Request SAP – Service Access point SD – SuperFrame Duration SHR – Synchhronisation Header SO – SupreFrame Order SSCS – Service Specific Convergence Sublayer USB – Universal Serial Bus WPAN – Wireless Personal Area Network

1. Introdução

Sem dúvida nenhuma a tendência nas comunicações é obtermos redes implementadas em

dois grandes grupos: um utilizando fibras ópticas e outro utilizando a tecnologia wireless (sem

fio). Muitas das redes que conhecemos hoje, principalmente as instaladas em nossas casas,

faculdades, empresas e indústrias, utilizam como base, cabos metálicos, sendo elas substituídas

por fibras ópticas e dispositivos wireless com a medida do tempo.

Esses dois meios de comunicações tiveram um desenvolvimento bastante relevante em

sua velocidade e capacidade (transferência de dados, alcance, etc), tendo em vista a necessidade

de comunicação interpessoal, o crescente aumento do número de usuários conectados à rede e a

maior necessidade de transferência de dados, por exemplo, músicas e filmes. Junto com ao

desenvolvimento, o custo para implementar uma rede com essas tecnologias obteve um aumento

considerável. E este alto custo muito é comparado às redes que utilizam cabos metálicos ou

cabos coaxiais. [18]

Pensando em atender a necessidade do mercado em ter um padrão efetivo nas redes de

acessos pessoais (PAN – Personal Area Network), com segurança na transferência de dados, que

não necessite de uma grande quantidade na transferência de dados, de fácil implementação e

principalmente baixo custo, foi criado pela IEEE (Institute of Electrical and Electronics

Engineers) o padrão 802.15.4. Unido ao Zigbee Alliance temos o modelo que foi desenvolvido

para satisfazer um mercado crescente de redes PAN visando a utilização de pequenos

dispositivos, de sensores e de pequenos controladores.

Nesse capítulo vai ser vai ter uma breve descrição do que é ZIGBEE, seus organizadores,

sua capacidade e os motivos para sua criação (necessidades do mercado). No capítulo 2 será

descrito o problema, a necessidade e o porque essa tecnologia foi escolhida para solucionar o

problema. No capítulo 3 será uma introdução à tecnologia Zigbee e suas camadas, seus pacotes e

como funciona para transmitir os dados, troca de pacotes, associação e dissociação de

dispositivos. No capítulo 4 será apresentado um projeto de hardware para desenvolver o

dispositivo de comunicação. No capítulo 5 será descrito um modelo para o gerenciador de

13

impressões e juntamente com um pseudocódigo. Nesse trabalho a parte referente a tecnologia do

Zigbee é uma livre tradução com referência a Zigbee Specification juntamente com documentos

e apresentações da Zigbee Alliance, seus responsáveis e de empresas promotoras dessa

tecnologia.

1.1. Evolução do Padrão WPAN

As redes de celulares são uma extensão natural das redes de telefonia fixa, na evolução

das telecomunicações do final do século 20. Devido o aumento da necessidade do usuário em

ganhar mobilidade e baixar o custo para implementação de redes de telefonia fixa, com novas

tecnologias, por exemplo, fibra óptica, surge a motivação de criar um novo sistema pessoal

independente de conexão, também em crescimento. Com isso foram desenvolvidos sistemas que

cobrem grandes áreas onde os “vizinhos” se comunicam para criar uma rede sem emenda. Os

exemplos dessas redes são os padrões G/M, IS-136 e IS-95.

Os padrões celulares visavam basicamente facilitar a comunicação de voz em uma região

metropolitana. Durante os anos 80, fora dessa grande rede (ampla cobertura), havia a

necessidade de criar redes que também fornecessem altas taxas de transferências. Havia grande

densidade de usuários, mas que não possuíssem uma área de cobertura tão grande. A IEEE então

fundou um grupo para discussões sobre essas redes WPANs (Wireless Personal Area Network),

criou-se então, o 802.11 para desenvolver um padrão wireless de rede em área local.

O padrão IEEE 802.11 foi desenvolvido com as características da velocidade de ethernet,

com o alcance de 100 metros, complexidade para assegurar uma rede sem emendas,

encaminhamento de mensagem, throughput (vazão) de dados de 2-11Mbps, onde a WPANs são

focalizadas em um espaço em torno da pessoa ou objeto que estenda em até 10 metros em todos

os sentidos. [18]

O foco das WPANs é o baixo custo, a baixa capacidade de transferência de dados, a

pequena escala e tamanho. O grupo IEEE 802.15 foi gerado para criar o padrão WPAN. Este

grupo atualmente tem definido três classes da WPAN que são diferenciadas pela sua taxa de

transmissão de dados, pelo seu consumo de bateria e pela qualidade de serviço (QoS).

A taxa de dados elevada WPAN (IEEE 802.15.3) é apropriada para aplicações

multimídia que requerem altos níveis de QoS (Quality of Service). A taxa média das WPANs

(IEEE 802.15.1/Bluetooth) segurará uma variedade de tarefas que podem ser desde telefones

14

(handfrees), às comunicações de PDAs e possuem um QoS apropriado para comunicações de

voz. As WPANs, com baixas taxas de transferência (IEEE 802.15.4/LR-WPAN), foram

desenvolvidas para servir a uma gama de aplicações industriais, residenciais e médicas, com um

consumo de potência muito baixo comparado aos outros modelos. Outras características do IEEE

802.15.4 é a baixa taxa de transferência de dados e um baixo nível de QoS requerido. A taxa de

dados baixa permite que o LR-WPAN consuma um valor muito baixo de energia. [2]

1.2. Padrão IEEE 802.15.4

O Instituto de Engenharia Elétrica e Eletrônica (IEEE – Institute of Electrical and

Electronics Engineers) teve como responsabilidade criar um grupo de trabalho, com a função de

criar as normas para Redes Pessoais Sem Fio (WPAN – Wireless Personal Area Network)

chamado de 802.15. O grupo contém vários subpadrões de acordo com diversas aplicações,

velocidades e distâncias em que as redes possam ser utilizadas.

O modelo IEEE 802.15.4 é constituído por uma arquitetura que compatibiliza com as

normas que a regem. Sua arquitetura real não apresenta diferença com as arquiteturas dos

padrões anteriores como, por exemplo, token ring e Ethernet. O Hardware do IEEE 802.15.4 fica

na camada física, e acima desta foi introduzida à camada lógica. Podemos observar que o IEEE

802.15.4 pode operar isoladamente por não precisar roteamento, o que é diferente da tecnologia

Zigbee que funciona apenas nas camadas superiores onde existe roteamento, figura 1.1.

Figura 1.1 – Camadas do Padrão.

15

1.3. Zigbee Alliance

Formada por uma aliança, chamada de Zigbee Alliance, que tem como membros

promotores, e mais de 120 empresas participantes e membros que adotaram esse padrão. Em

destaque nas tabelas abaixo, as empresas promotoras, tabela 1.1, e na tabela 1.2, algumas das

empresas participantes. [21]

Tabela 1.1 – Promotores.

16

Tabela 1.2 – Patrocinadores.

O Zigbee é um protocolo projetado para efetuar comunicação sem fio confiável, com

baixo consumo de energia e baixas taxas de transmissão para aplicações de monitoramento e

controle. Para implementar as camadas MAC (Medium Access Control) e PHY (Physical Layer)

o ZigBee utiliza a definição 802.15.4 do IEEE, que opera em bandas de freqüência livres que

serão apresentadas em seções 2.2 deste trabalho. Os membros fundadores formam o conselho de

direção, e há atualmente 10 promotores e 1 um responsável por gerir essa direção. Existem

também as empresas que desejam fazer contribuições, essas empresas ganham acesso prévio às

especificações e ajudam a moldar o Zigbee. A Aliança define os Perfis de Aplicações

(Application profiles) permitem que os dispositivos fabricados por diversos fabricantes possam

trocar dados entre si de maneira fácil e sem necessidade de uma reorganização para um

dispositivo reconhecer outro de fabricantes diferentes. É da responsabilidade da Aliança elaborar

testes para a conformidade dos produtos para que estes sejam certificados e gerenciados com a

marca Zigbee. [20]

Além dos patrocinadores, estão ainda os participantes, membros que desejam ou se

interessam em fazer contribuições técnicas ou aqueles convidados para fazer parte de grupos

técnicos. Os participantes têm acesso breve nas especificações e devem apenas trabalhar nos

grupos de sub-comites da aliança; ajudam formalmente no desenvolvimento tecnológico do

protocolo para aplicações na indústria e conexões residenciais.

A Zigbee Alliance se dispõe em grupos de trabalho como os grupos pertencentes ou

responsáveis na:

- Arquitetura;

- Estrutura física do protocolo;

- Desenvolvimento da conexão da rede wireless;

- Segurança;

- Interoperabilidade;

- Marketing.

A norma estabelece camadas superiores e suas capacidades, são suportadas nas camadas

inferiores que pertencem a IEEE 802.15.4. O protocolo Zigbee é um padrão de comunicação de

17

redes sem fio entre sensores colocados em dispositivos que não necessitam de grande largura de

banda com consumo reduzido de energia. O nome Zigbee Alliance é dado pela aliança que

empresas patrocinadoras formaram em volta da especificação IEEE 802.15.4 com aprovação no

primeiro trimestre de 2003.

O nome Zigbee foi inspiração no método utilizado pelas abelhas para de comunicarção

entre si sobre a localização de uma nova fonte de alimentação com os demais membros da

colméia. Os produtos Zigbee estão apostados no “baixo custo” e a escalabilidade com as outras

aplicações e na venda comercial abrangente.

Conforme as especificações da Zigbee, um dispositivo pode permanecer um longo tempo

sem a necessidade de se comunicar. Além disso, o tempo de acesso à rede é muito pequeno,

tipicamente 30 ms (milisegundos). Outra característica importante é o tamanho reduzido dos

pacotes de dados que trafegam na rede. [22]

1.4. Necessidades

A tecnologia IEEE 802.15.4 e o seu padrão Zigbee foram criados para satisfazer o

mercado crescente de produtos de redes com controle e monitorizarão [22]. Produtos estes que

apresentam características diversas como:

- Interoperabilidade, diferentes fabricantes produzindo equipamentos que se comunicam

entre si sem necessidade de conversores;

- Padronização para que todos os fabricantes operem para um padrão único;

- Baixo custo para implementar o sistema por parte dos fabricantes em equipamentos e

dispositivos;

- Viabilidade e garantida de que os dados transmitidos sejam transportados com

segurança e que cheguem ao destino sem ocorrência de erros, falhas nos dados e interferências

causadas pelos múltiplos caminhos na transmissão;

- Mobilidade dos nós, para usuários moveis, possibilitando não apenas usuários fixos em

uma determinada área, como na rede metálica. Outra vantagem é na instalação de um novo ponto

na rede, que não precisa levar cabo até a área, basta esse novo ponto estar dentro da região de

cobertura;

- Modestas taxas de dados para redes que não necessitam de grande capacidade de

transferência de dados e de tempo de transmissão;

18

- Baixo consumo de energia, para dispositivos que são abastecidos por fontes de energia

não ligadas na rede elétrica, permitindo assim um consumo mais prolongado de baterias;

- Flexibilidade, para que os nós mantenham a rede em diferentes ambientes e em diversas

condições especiais;

Portanto, a norma IEEE 802.15.4 junto ao padrão do ZigBee foi homologada em maio de

2003, e ainda é pouco conhecido no Brasil. O padrão é composto por um simples protocolo de

pacote de dados com características especificamente projetadas para ter flexibilidade, vida longa

de baterias, sensores distribuídos e controle de sistemas e redes. O Zigbee surgiu de uma

necessidade do mercado que não estava sendo coberta por nenhum outro padrão. Na figura 1.2

mostra a localização do Zigbee e onde as outras tecnologias wireless se encontram.

Figura 1.2 – Localização do Zigbee entre as tecnologias wireless.

2. Descrição do problema

Cada vez um número maior de usuários de redes de computadores tem optado por

soluções baseadas em topologias sem fio (wireless), ao invés de redes com cabeamento

convencional, especialmente quando se trata de ampliação ou melhoria de uma rede existente.

Os recentes avanços das tecnologias de redes sem fio possibilitaram o surgimento de

várias alternativas e padrões de implementação, mas até recentemente a grande maioria tinha

como premissa principal prover um conjunto de protocolos que garantissem a qualidade para a

transmissão de voz ou de dados com altas taxas de transferência, isso tornava os equipamentos

bastante caros e pouco atraentes para outras aplicações mais simples.

Ainda são poucos os padrões de redes sem fio para aplicações em redes locais utilizando

sensores e outros dispositivos do controle. O que temos são basicamente sistemas proprietários,

desenvolvidos para atender redes específicas, como as redes de automação industrial. Temos

então, por exemplo, aplicações com sensores (de temperatura, de umidade, gases, etc) e

dispositivos de controle (chaves, relés, etc) que não necessitam de uma largura de banda elevada

para funcionarem, mas necessitam de uma latência baixa e consumo de energia igualmente baixo

para preservar a vida útil das baterias. Nesses casos, os sistemas wireless foram projetados para

atenderem às exigências específicas dessas aplicações.

2.1. Ambiente HP ( Hewlett Packard)

Atualmente as impressoras HP ainda não apresentam suporte para a tecnologia Zigbee.

Muitas das novas impressoras desenvolvidas pela HP, como por exemplos impressoras

LazerJets, DesignJets e até as que imprimem diretamente fotos das câmeras fotográficas digitais,

já apresentam suporte direto de seu hardware para redes Wi-Fi (IEEE 802.11) e também para

Bluetooth (IEEE 802.15.1). Alem disso a HP também disponibiliza produtos que podem integrar

as impressoras que não possuam esses serviços, por exemplo, JetDirect (marca registrada HP),

20

que possibilita que as impressoras possam ser acessadas por redes que compartilhem essa

tecnologia. [19]

Analisando a nessa necessidade de incluir os produtos HP para suportarem esse padrão,

tenho como proposta elaborar um esboço, e como meio de comunicação um Gerenciador de

Impressora utilizando o padrão Zigbee. Para iniciar o projeto foi proposto determinar um

ambiente e um modelo de impressora.

2.2. Ambiente

Pensando no mercado futuro e em desenvolver um produto para incluir as impressoras

HP em mais um padrão de rede, este trabalho tem como proposta apresentar uma possível

solução que utiliza o padrão Zigbee, tendo em vista o trabalho desenvolvido a partir da estrutura

de uma pequena empresa.

Para determinar o modelo de impressora temos em mente como ela será utilizada e suas

necessidades, sendo que em um ambiente corporativo temos a necessidade de que ela seja rápida

para imprimir os dados recebidos. Neste caso não há necessidade de uma impressora colorida, ou

com muitos recursos, e sim apenas uma que garanta uma grande quantidade de impressões com

qualidade.

Para determinar qual impressora será utilizada nesse trabalho, foi determinado que o

ambiente para o dispositivo deverá satisfazer o seguinte ambiente: uma empresa de pequeno

porte, com em média trinta funcionários ou uma empresa de médio/grande porte onde em um

setor da empresa com a média de trinta a quarenta funcionários que dividem uma mesma

impressora.

A topologia dessa rede foi projetada para ser em estrela, onde temos a impressora no

centro da rede e os usuários (dispositivos) têm acesso solicitando a impressão de documentos.

Esse modelo de topologia pode ser utilizado para os dois ambientes citados acima.

21

Figura 2.1 – Topologia em Estrela.

2.3. Modelo da impressora

Através de contato com o setor de vendas da HP e o setor de Embedded Solutions, foi

pesquisado o modelo recomendado para empresas que apresentem um ambiente semelhante ao

descrito anteriormente (seção 2.2).

Os resultados da pesquisa mostram as impressoras da série 42XX e 43XX da HP. Esses

modelos são ideais para ambientes empresariais, pois apresentam um ótimo retorno sobre

investimento. Estas imprimem em preto e branco com baixos valores de desperdício de tinta e

possuem entrada USB, que é fundamental para nosso dispositivo. Elas não possuem HD interno

como algumas impressoras multifuncionais, logo elas não possuem recurso para armazenar fila

de impressão. Abaixo uma tabela com as principais características dessas impressoras. [19]

Na seção 8.4 (anexos) é possível ver as características das impressoras da série 42XX e

42XX.

2.4. Proposta

Este trabalho tem como proposta o estudo de uma nova tecnologia, com a finalidade de

empregar tal ferramenta para criação de um dispositivo de gerenciamento de dados, tendo

ligação com a impressora através de dispositivo USB (Universal Serial Bus) e seu recebimento

de dados por Zigbee (IEEE 802.15.4).

Neste trabalho após profunda pesquisa sobre essa nova tecnologia, e por obter o padrão

foi desenvolvido pela IEEE em 2003, faço um estudo sobre suas características e possibilidades

de utilização da mesma. Será escolhido um CHIP com os protocolos de comunicação Zigbee,

22

junto dele será colocado um MicroControlador que fará o gerenciamento dos dados. Além disso,

terá uma memória para armazenamento dos dados, e por fim um dispositivo USB para fazer a

interface com a impressora e um regulador de tensão para alimentação de todos os equipamentos

do dispositivo.

Foi escolhido o Zigbee com o padrão de comunicação pelo seu crescimento no mercado,

e como foi descrito anteriormente, esse padrão a pouco foi reconhecido pela IEEE e atualmente

estão surgindo chips de fabricantes adotando esse padrão. Outros motivos para a escolha do

zigbee são: fácil implementação, ótimo drivers e a possibilidade de expansão da rede, previsão

de crescimento no mercado e grande quantidade de dispositivos numa rede.

23

3. Solução proposta - Zigbee

3.1. Topologia

As principais características do Zigbee são: flexibilidade da rede, baixo custo e consumo

de energia baixo, baixas taxas de transferência de dados em uma rede Ad-Hoc auto-organizável

entre dispositivos fixos, portáteis e sensores baratos. Foi criado para aplicações com poucas

exigências de throughput que não podem manter o consumo de energia em pilhas de protocolos

pesados. Vejamos a seguir os componentes de uma rede Zigbee.

3.1.1. Componentes da WPAN

Um sistema Zigbee consiste em diversos componentes, tendo como base o dispositivo

(simples ponto de comunicação). Um dispositivo pode ser classificado por Dispositivo de

Função Total (FFD - Full-function Device) ou Dispositivo de Função Reduzida (RFD - Reduced-

function Device). Uma rede PAN (Personal Area Network) exigirá pelo menos a presença de um

FFD, operando como coordenador da PAN. O coordenador é quem vai deter as informações dos

pontos da rede e quem direcionará as informações na rede. [23]

Conforme as especificações, o FFD pode operar de três modos: como coordenador da

PAN; um coordenador; ou um dispositivo.

3.1.2. Dispositivos

Os dispositivos podem ser alimentados por baterias ou pilhas, colocadas ou não em modo

de espera por longos períodos, ou diretamente na rede elétrica com utilização de redutores de

tensão. O ciclo para comunicação nas redes com o IEEE 802.15.4 é muito curto, isso faz com

que os dispositivos sejam alimentados com média de consumo considerada baixa em relação a

outras plataformas.

24

Figura 3.1 – Representação dos dispositivos de rede.

O modo de operação convencional do MAC da IEEE 802.15.4 indica que todos os

dispositivos devem competir pelo meio, sendo este reservado para aquele que inicie primeiro a

transmissão ou inicialização; assim os outros escutam o meio antes de acessar podendo aguardar

caso ele esteja ocupado.

Existem ainda aplicações práticas que não têm interesse de competir pelo meio, estes

requerem ao coordenador espaços de tempos dedicados designados ou os chamados Slots de

Tempo com Garantia (GTS - Guaranteed Time Slots). O Padrão IEEE 802.15.4 tem um esquema

de endereçamento que suporta 255 nós ativos e nela funcionam 3 dispositivos importantes: [23]

O coordenador da PAN (PAN Coordinator), também conhecido como coordenador de

rede; preserva e mantém todo conhecimento da rede; define o canal que será usado e ao mesmo

tempo gerencia os nós; para sua própria segurança usa memórias auxiliares se necessário para

melhor processamento de dados. O coordenador é um dispositivo único numa WPAN com

responsabilidade da criação do beacon e este por sua vez, é reenviado pelos outros dispositivos

até chegar aos nós que existem no extremo da rede: É de sua responsabilidade a escolha da

maneira que será acessado o meio, usando ou não o beacon permitindo que os outros nós entrem

na rede com funcionamento perfeito. Podem ser ligados para suportar grandes redes podendo

conter mais de 4000 nós numa única rede com confiabilidade alta.

Dispositivo de Função Total (FFD - Full Function Device); são os roteadores que

possuem várias funcionalidades em todos os aspetos de segurança que determinam seu padrão,

sendo assim a adição de memória com capacidade computacional faz com que o trafego seja

fácil para as funções de roteamento. São responsáveis também pelo encaminhamento das

25

mensagens entre os nós da rede, conectados nos terminais desta através do mundo real. Estes

dispositivos podem funcionar em toda a topologia do padrão, desempenhando a função de

coordenador da rede (coordenador da PAN) e conseqüentemente, ter acesso a todos os outros

dispositivos. Trata-se de dispositivos de construção mais complexa.

Dispositivo de Função Reduzida (RFD - Reduced Function Device); são terminais,

usados pelo padrão para as portadoras com funcionalidades limitadas. São dispositivos

normalmente simples, onde a comunicação é feita apenas entre dois nós. Controlam

especialmente custos e complexidade da rede. Estão impossibilitados de fazer roteamento por

isso não podem ser conectados às extremidades da rede ou de serem o último ponto (sensor).

Limita-se a uma configuração com topologia em estrela, não podendo atuar como um

coordenador da rede. Pode comunicar-se apenas com um coordenador de rede. São dispositivos

de construção mais simples.

Conforme a IEEE um RFD é atribuído para aplicações que são extremamente simples e

não necessitam emitir grandes quantidades de dados. O FFD pode comunicar-se com qualquer

dispositivo independentemente da função (seja vários RFDs como um outro FFD) e tem como

função sincronizar a rede. Os RFDs são apenas dispositivos de implementações e só podem

comunicar-se com os coordenadores (FFD).

3.1.3. Topologia de Redes

3.1.3.1. Redes da IEEE 802.15.4

A IEEE 802.15 suporta dois modelos de topolofias para as redes, são elas Topologia de

Estrela (Star) e a Topologia de Ponto-a-Ponto (Peer-to-Peer). [4] [10]

3.1.3.1.1. Topologia Estrela (Star)

Na topologia estrela, a comunicação é estabelecida entre os dispositivos com uma única

unidade central de controle, chamado de coordenador da PAN. Este modelo de rede apresenta

um ponto negativo, pois possui somente um coordenador e se este sofrer falha, a rede estará

comprometida. Nessa topologia, toda informação que vai de um nó para outro será obrigado a

passar pelo coordenador, atuando como um roteador, tornando o processo muito mais eficaz,

porque os dados não irão passar por todas as estações.

26

Depois de um FFD ser ativado pela primeira vez, pode estabelecer sua própria rede e

estabelece o coordenador de PAN. Cada rede estrela, no começo, escolhe um identificador da

PAN (identificador de rede), que não esteja sendo utilizado atualmente por nenhuma outra rede

dentro da esfera de rádio da sua influência. Com isso, permite que cada rede estrela opere

independentemente das outras redes. As aplicações que se beneficiam desta topologia incluem a

automatização de casas, os periféricos de computadores pessoais (PCs), brinquedos e jogos.

Figura 3.2 – Representação da topologia Estrela.

3.1.3.1.2. Topologia Ponto-a-Ponto (Peer-to-Peer)

Na topologia do Ponto-a-Ponto, há também a existência de um coordenador PAN. No

contraste à topologia da estrela, todo dispositivo pode comunicar-se com qualquer outro

dispositivo. Devido a essa comunicação entre todos dispositivos, todos os nós podem escutar

continuamente o meio, isso acarreta num gasto maior de energia [4]. Uma rede Ponto-a-Ponto

pode ser Ad-Hoc, auto-organizável (self-organizing) e autocabeçalho (self-heading). As

aplicações tais como controle industrial e monitoramento, sensores de redes wireless, recursos e

inventários beneficiam-se co essa topologia. Permite também que os múltiplos Hops distribuam

mensagens de todos os dispositivos a qualquer outro dispositivo na rede. Pode fornecer a

confiabilidade pela distribuição multipath.

27

Figura 3.3 – Representação da topologia Ponto-a-Ponto.

3.1.3.2. Redes do Zigbee

Pensando nisso as topologias suportadas pelo padrão IEEE 802.15.4, os modelos de redes

são operados nas topologias estrela, cluster Tree e Mesh. [4] [10]

O IEEE 802.15.4 utiliza o SSCS que serve para redefinir as topologias fixadas por ele. O

padrão Zigbee não utiliza o SSCS e para efeito permite criar topologias nas formas Cluster Tree

e Mesh, mantendo apenas a topologia estrela pertencente ao IEEE 802.15.4. Os componentes

integrantes da rede são o coordenador, os roteadores e os dispositivos finais (sensores). O

Coordenador inicia a rede definindo o canal de comunicação usado, gerencia os nós da rede e

armazena informações sobre eles. Os Roteadores são responsáveis pelo encaminhamento das

mensagens entre os nós da rede. Já um dispositivo pode ser bem mais simples, só se

comunicando com outro nó da rede. Com isso o Zigbee por definição usa as topologias Cluster

Tree, Mesh e Estrela.

A topologia estabelece que o coordenador de rede tenha maiores recursos computacionais

que os outros dispositivos finais (End Devices). Assim, o coordenador pode ser chamado como

Cluster Head ou coordenador Zigbee de primeira linha da área de rede.

O tipo de encaminhamento difere conforme o tipo de topologia a ser utilizada visto que

na topologia Cluster Tree utiliza-se um algoritmo de Routing hierárquico e na topologia Mesh o

encaminhamento deve ser feito através de orientação de uma tabela Ad Hoc on Demand Distance

Vector Routing (AOVD) visto em seções anteriores.

A topologia Zigbee permite que os FFD intermediários (roteadores) tornem-se Clusters

heads assumindo assim um número primário como identificadores de rede; existem vantagens de

se criar vários clusters devido ao aumento de cobertura que eles podem proporcionar, desse

28

aumento, surge a preocupação com a latência, constituindo desvantagem com a topologia cluster

aplicada no Zigbee. [10]

3.1.3.2.1. Topologia Mesh

A topologia Mesh (Figura 3.4), permite que a rede se ajuste automaticamente em sua

inicialização, na entrada de novos dispositivos ou perda de dispositivos. Os receptores de radio

nos coordenadores devem estar sempre ativos, possivelmente devido a topologia ser

implementada utilizando ligações ponto a ponto do IEEE 802.15.4.

Nesta situação existem múltiplos caminhos entre os diferentes nós e a rede é auto-

suficiente para otimizar o tráfego de dados. Usando esta configuração podemos ter redes muito

extensas, cobrindo largas áreas geográficas.

Figura 3.4 – Representação de uma rede Mesh.

3.1.3.2.2. Topologia Cluster (Tree)

A rede Cluster é um exemplo especial de uma rede Ponto-a-Ponto, em que a maioria dos

dispositivos são FFDs e um RFD pode conectar-se a uma rede do Cluster como um nó de licença

da extremidade de uma filial. Todo FFD pode agir como um coordenador, e fornecer serviços de

sincronização a outros dispositivos e coordenadores. Somente um deles, entretanto, é o

coordenador da PAN.

O coordenador da PAN dá forma ao primeiro conjunto, e estabelece ser para si o

“Cabeça” do Cluster (CLH – Cluster Head) com um Identificador do Cluster (CID – Cluster

Identifier) de zero, chamado de “CID0”, escolhendo frames de um identificador da PAN não

usado e transmitindo do coordenador da PAN aos dispositivos vizinhos. Um dispositivo

candidato, novo dispositivo, recebe um frame convite para juntar-se a rede no CLH. Se o

29

coordenador da PAN permitir que o dispositivo junte-se a rede, este adicionará este novo

dispositivo como sendo um dispositivo novato em sua lista de dispositivos vizinhos. O

dispositivo recentemente incluindo na rede, adicionará o CLH como seu “PAI” em sua lista de

vizinhos e então este dispositivo começará transmitir “pacotes” periódicos tais que outros

dispositivos do candidato podem então se juntar à rede nesse dispositivo. Uma vez que as

exigências da aplicação ou da rede são encontradas com o coordenador da PAN pode instruir um

dispositivo para transformar-se em CLH de um novo cluster adjacente do primeiro. A vantagem

desta estrutura aglomerada é a área de cobertura que abrange uma maior superfície com baixo

custo no aumento de mensagens [4].

Figura 3.5 – Representação de uma rede Cluster Tree.

3.1.4. LR-WPAN arquitetura do dispositivo

A figura 3.6 mostra um dispositivo de LR-WPAN. O dispositivo compreende uma

camada física (PHY), que contenha o transceptor de freqüência de rádio (RF – Radio Frequency)

junto ao seu mecanismo de baixo nível do controle, e um subnível do MAC que forneça o acesso

à camada física para todos os tipos de transferências. As camadas superiores consistem em uma

camada de rede, que fornece a configuração de rede, a manipulação e a distribuição de

mensagens, e na camada de aplicação, que fornece a função pretendida (objetivo) pelo

dispositivo. Um Logical Link Control da IEEE 802.2 (LLC) pode alcançar a subcamada do MAC

através da subcamada específica de convergência do serviço (SSCS). [1]

30

Figura 3.6 – Arquitetura de um dispositivo da LR-WPAN.

3.2. Camada Física – IEEE 802.15.4

A camada física, também conhecida como camada PHY (Physical Layer), fornece dois

serviços: o serviço dos dados de PHY e a gerência de PHY prestando serviços de manutenção da

conexão à entidade de gerência da camada física (PLME – Physical Layer Management Entity).

O serviço de dados da camada física permite a transmissão e a recepção das unidades de dados

de protocolo da PHY (PPDU – PHY Protocol Data Unit) através do canal físico do rádio. Sua

principal tarefa é controlar a comunicação entre o meio físico com os transceivers.

As características do PHY são de ativação e desativação do transceptor de rádio

(transceivers), detecção de energia (ED), indicação da qualidade da ligação (LQI), seleção de

canal, avaliação de desobstrução de canal (CCA) e transmissão bem como, a recepção de pacotes

através do meio físico [1]. A camada física pode operar em um determinado canal através do

pedido feito pelas camadas superiores, isto porque a camada tem capacidade de operar em 27

canais diferentes.

O padrão oferece duas opções de PHY baseada na faixa de freqüência. Ambos são

baseados no espectro direto da propagação da seqüência (DSSS). A taxa de dados é de 250kbps

com 2.4 GHz, 40kbps em 915 MHz e de 20kbps em 868 MHz. A taxa de dados mais elevada é

em 2.4 GHz e atribuída a um a alta ordem de modulação. Uma freqüência mais baixa fornece

uma escala mais longa devido a perdas mais baixas da propagação. O baixo valor na taxa pode

ser traduzido na sensibilidade melhor e na maior área de cobertura. Uma taxa mais elevada

signif ica um throughput mais elevado e uma latência mais baixa ou um ciclo mais baixo. Esta

informação é representada na tabela 3.1.

Tabela 3.1 – Tabela das freqüências.

32

Há um único canal entre 868 MHz e 868.6 Mhz, 10 canais entre as freqüências 902.0

MHz e 928.0 MHz, e 16 canais entre 2.4 e 2.4835 GHz como mostrado na tabela 3.1 (logo

asima). Diversos canais em faixas de freqüências diferentes permitem a habilidade de realocar

dentro do espectro. O padrão permite também a seleção dinâmica de canal, uma função de

seleção através de uma lista dos canais suportados na busca da Beacon, detecção de enegia do

receptor, indicação da qualidade da conexão, switching de varredura do canal.

Nas tecnologias sem fio o meio está sempre compartilhado com várias redes, com isso a

camada física tem como responsabilidade avaliar o estado do canal e poder efetuar detenções de

energia quando um determinado canal de transmissão estiver ocupado. A detenção de energia

possibilita os dispositivos obterem certos picos de energia, selecionando assim o canal que pode

ser usado, e ao mesmo tempo ou nestes instantes a camada MAC deve descartar os quadros que

chegarem impossibilitando o envio de beacon.

A banda 2.4 Ghz esta regularizada especialmente para o uso mundial, mas países

Europeus como a França, Espanha entre outros, o uso desta freqüência não é permitido devido à

existência de outras bandas alternativas disponíveis como, por exemplo, as bandas de

freqüências de 868 Mhz. A banda de 902 Mhz tem melhor propagação em ambientes industriais,

pois opera em menor freqüência com propagações de 10 vezes mais a distância em edifícios com

metais quando comparada com às bandas de 2.4 Ghz. [1]

As bandas 868 Mhz e 915 Mhz são consideradas por estas apresentarem baixo consumo

de energia em relação a de 2.4 Ghz [14]. Neste contexto, existe a possibilidade de que varias

tecnologias sem fio (wirelless) operem nas mesmas freqüências e com isso pode haver

interferências oriundas de alguns aparelhos elétricos, permitindo aos dispositivos mudarem o

canal que usam no espetro. Para este modelo, o desenvolvimento de aplicações foi designado

especialmente para o uso de perfis de aplicação enquanto a aplicação da interface foi

desenvolvida para perfis gerais.

As sensibilidades do receptor são de -85dBm para 2.4 GHz e de -92dBm para 868/915

MHz. A vantagem de 6 à 8dB vem da vantagem de uma taxa mais baixa. A escala realizável é

uma função da sensibilidade do receptor e do poder do transmissor.

O máximo no poder de transmissão se estabelece com o regulamento da rede local. Um

dispositivo mudará seu valor nominal de transmissão indicado pelo parâmetro PHY,

phyTransmitPower.

33

Figura 3.7 – Operação das bandas de freqüências.

A transmissão de dados na camada física é feita através da modulação QPSK e BPSK

onde sinais são transmitidos através do modelo OSSS, e neste, o sinal a ser codificado deve ser

multiplicado por um sinal pseudo-aleatório com freqüência superior em relação ao sinal de

origem. [14]

O IEEE 802.15.4 exige que os dispositivos obedeçam a seus requisitos tendo estes,

capacidade de avaliar o estado do canal através do processo designado como CCA ou Clear

Chanel Assegment. [1]

3.2.1. Detecção de energia do Receptor – ED

A medida de detecção de energia do receptor (ED) é pretendida para o uso de um canal

de rede como a parte do algoritmo de seleção desse canal. É uma estimativa do poder do sinal de

recepção com a largura da faixa do canal da IEEE 802.15.4. Nenhuma tentativa é feita para

identificar ou decodif icar os sinais dos canais. O tempo do ED deve ser igual a 8 períodos dos

símbolos.

O resultado do ED será relatado como um inteiro de 8 bits que varia de 0x00 à 0xff. O

valor mínimo do ED é zero (0) que indicará um poder de recebimento menor que 10dB acima da

sensibilidade especificada para o receptor. A escala do poder recebido medido pelos valores do

ED será menos de 40dB. Dentro desta escala, mapeado pelo poder recebido em decibéis, os

valores do ED, serão lineares com uma exatidão de +-6dB.

34

3.2.2. Indicador de Qualidade de Conexão – LQI

Acima da recepção de um pacote, o PHY emite um longo PSDU, PSDU por si só e

qualidade de conexão (LQ) na primitiva PD-DATA indication. A medida do LQI é uma

caracterização de um pacote de força e/ou qualidade do receptor. A medida pode ser executada

usando o receptor ED, uma estimação do sinal ou uma combinação destes métodos. O uso do

resultado do LQI é até as camadas de rede ou de aplicação. O resultado do LQI deve ser relatado

como um inteiro que varia de 0x00 à 0xff. O mínimo e o máximo valor do LQI devem ser

associados com o mais baixo e a qualidade mais elevada do IEEE 802.15.4 sinais detectáveis

pelo receptor, e valores de LQ devem ser uniformemente distribuídos entre estes dois limites.

3.2.3. Avaliação de Desobstrução de Canal – CCA

A avaliação de desobstrução de canal (CCA) é executada de acordo com pelo menos um

desses três seguintes métodos:

• 1° Método - foi criado para definir níveis de energia acima de limites em que o meio deve

ser condicionado ou classif icado como ocupado. Com este modo funcionam apenas as

freqüências de 2,4 Ghz com sensibilidade de 75 dBm e as freqüências de 915 Mhz com

sensibilidade de 82 dBm.

• 2° Método - foi designado para efeitos de detenção de portadoras, onde o CCA sinaliza o

estado ocupado do canal através de um sinal que usa modulação e difusão apenas do

padrão IEEE 802.15.4.

• 3° Método - foi designado quando acontece a situação descrita nos métodos 1 e 2 ao

mesmo tempo.

3.2.4. Formato PPDU

A estrutura do pacote de PPDU é ilustrada pela figura 3.8. Cada pacote de PPDU consiste

nos seguintes componentes básicos:

• SHR, que permite que um dispositivo de recepção sincronize e trave dentro do bit stream.

• RAP, que contém a informação do comprimento do frame.

35

• Um payload de comprimento variável, que carregue o frame do subnível do MAC.

Figura 3.8 – Formato do PPDU.

3.2.5. Modulação

Segundo IEEE 802.15.4 para codificar os dados de uma portadora é necessário que estes

sejam submetidos a um tipo de modulação. O processo de modulação vem do resultado da

conversão de 4 bits (cada byte esta dividido em 2 símbolos e cada um deste em 4 bits) para um

símbolo e que este posteriormente convertido num chip (uma seqüência binária de ruído pseudo-

aleatório) com o fim de reduzir erros de transmissão. O símbolo menos signif icativo deve ser

transmitido primeiro e através dos campos de múltiplos bytes, o último byte deve ser o primeiro

a ser transmitido exceto nos campos de segurança, os mais signif icativos. A dimensão do chip

varia conforme a banda em que é transmitido e a transmissão deve terminar com a modulação da

seqüência binária na portadora.

Basicamente a modulação no IEEE 802.15.4 é feita nas banhas de 2.4 Ghz e 868/902

Mhz como indicado na tabela 3.1 (no item 3.2).

3.2.5.1. Modulação nas bandas de 2.4 GHz

Na banda de 2.4 Ghz, a modulação é realizada com o tipo de modulação QPSK ou Offset

Quadrature Phase Shift Keying, sendo este, uma variação da modulação QPSK. Este tipo de

modulação efetua o agrupamento de bits (2 bits) em blocos, ou seja, 00, 01, 10 e 11; cada bloco

apresenta uma fase e ângulo, separados e distribuídos igualmente entre si, que são transmitidos

de forma senoidal com freqüências e amplitudes constantes. O QPSK lembra a dupla transmissão

em canais separados e ele garante duplicidade da largura de banda, ou seja, pode transmitir dois

bits de uma só vez.

O QPSK vulgarmente utilizado em comunicações satélites é o formato de modulação do

IEEE 802.15.4 para a banda de 2.4 Ghz. Na pratica este tipo de modulação apresenta uma forma

de metade da onda senoidal parecendo-se com a modulação MSK ou Minimum Shift Keying,

36

com a fase dividida pela metade, ou seja, o canal é atrasado por 0.2 bit para evitar que as

transações de fase sejam maiores que 90º, ou seja, o sinal deve ser parecido com sinais binários

para permitir melhor amplificação resultando em menos gastos em consumo de energia. [14]

Do processo de modulação resulta a conversão de 4 bits que eqüivalem a 1 símbolo, este

é convertido por chip que é uma seqüência binária de ruído pseudo-aleatório com fins de reduzir

os erros de transmissão e sua dimensão varia conforme o tamanho da banda onde se efetua a

transmissão. A transmissão dos dados só é terminada depois com a modulação da seqüência

binária enviada.

3.2.5.2. Modulação nas bandas de 868/915 MHz

No modo 868/915 Mhz, os bits “0” e “1” são convertidos para uma seqüência de 15

chips, sendo assim uma seqüência o complemento para “0” da outra ou o resultado XOR dos

seus chips. Nestas bandas o sinal é modulado via BPSK que não apresenta boa eficiência como o

QPSK (usado na banda de 2.4Ghz) que não se pode usar aqui devido a banda muito estreita. Na

modulação BPSK, a fase da portadora sofre uma inversão de 180º mediante a mudança do fluxo

binário. Qualquer mudança do estado binário dos bits acontecera uma mudança de fase na

modulação.

3.2.5.3. Banda e Freqüência Funcionais do padrão IEEE 802.15.4

Os produtos que funcionam com estas freqüências citadas anteriormente operam em

bandas com alcances mundiais ainda não licenciados incluindo 3 (três) bandas que suportam um

total de 27 canais especificados. O alcance de transmissão está momentaneamente em faixas que

vão de 10 a 100 m dependendo do fornecimento de energia para alimentá-los e as características

do meio em que se encontra.

Existe potencial de interferências em todas as bandas, fato pela qual os comitês da IEEE

802.15.4 estão preocupados e tratam a questão procurando solucionar questões de coexistência

nas redes da plataforma:

De 2.4 GHz com 16 canais com taxas de transmissão de 250 kbps;

De 868.3 MHz com apenas um canal com taxa de transmissão de 20 kbps;

De 902 a 928 MHz com 10 canais e suporta taxas de transmissão de 40 kbps;

37

O MAC emprega 64 bits, especificados pela IEEE e 16 bits para os endereços dos níveis

baixos. O resultado do volume da rede apresenta cifras que não alcançam os 264 nós e se caso

for superior a isto será necessário aumentar.

Nele efetua-se o uso de endereços locais e testes de conexões para mais de 65000 nós e

podem ser configurados com endereços de overheads reduzidos. A aliança definiu protocolos de

camada superior, camada de aplicação e de rede contando com os perfis que os determinam,

contrário aqueles definidos pela IEEE que define simplesmente as camadas de nível inferiores

como o MAC e a camada física. A camada física opera nas freqüências descritas na tabela 3.1

(seção 3.2) e usa diferentes modulações, canais, distâncias de hamming e taxas de velocidades

variáveis; freqüências usadas nesta camada são definidas de acordo com as normas regionais.

3.2.5.4. Seleção de canal

Para prevenir a interferência entre os padrões 802.15.4 e 802.11b recomenda-se usar os

canais que se localizam na guarda de banda entre duas (2) adjacentes dos três (3) canais do

padrão 802.11b ou então acima delas conforme a f igura 3.9. [14]

Figura 3.9 – Seleção de canais entre 802.15.4 e 802.11b.

Enquanto a carga neste espaço da guarda da borda não for zero isto é, ser inferior à

energia entre os canais, a rede 802.15.4 será operante em um destes canais e minimiza a

interferência entre os sistemas. Contudo se a rede 802.15.4 ficar operante por mais espaço dos

quatro canais o funcionamento do padrão 802.15.14 já não será necessário.

3.3. Camada MAC – IEEE 802.15.4

A subcamada MAC fornece dois serviços: o serviço de dados do MAC e o serviço de

gerência do MAC, fazendo a interface entre a entidade de gerência da subcamada MAC

(MLME) com o serviço de ponto de acesso (SAP) (MLME-SAP). O serviço de dados MAC

permite a transmissão e a recepção das unidades de dados do protocolo do MAC (MPDU)

através do serviço de dados do PHY.

As características da subcamada MAC são: gerência de beacon, acesso do canal, gerência

de GTS, validação do frame, envio de acknowledged frame, associação e dissociação.

3.3.1. Estrutura do SuperFrame

A LR-WPAN permite o uso opcional de uma estrutura do superframe. O formato do

superframe é definido pelo coordenador da PAN. O superframe é limitado pelo beacon da rede e

dividido em 16 slots de mesmo tamanho. O frame beacon é emitido no primeiro slot de cada

superframe. Se um coordenador não quiser usar a estrutura do superframe, então, pode-se

desligar as transmissões do beacon. Os beacons são usados para sincronizar os dispositivos

envolvidos na rede, para identificar a PAN e descrever a estrutura do supreframe.

O superframe pode ter uma parcela ativa e outra inativa. Estando a parcela inativa, o

coordenador não interagirá com a PAN e pode entrar em um modo low-power (baixo consumo

de energia ou também conhecido como “descanso”, um modo onde não há um gasto muito

elevado de energia). A parcela ativa consiste no Período de Acesso de Competição (CAP –

Contention Acess Period) e no Período Livre de Competição (CFP – Contention Free Period).

Todo dispositivo que deseja comunicar-se durante o CAP competirá com outros dispositivos

usando um mecanismo de slot CSMA-CA. Por outro lado, o CFP contém slots de tempo

garantidos (GTSs – Guaranteed Time slots). Os GTSs aparecem sempre na extremidade do

superframe ativo que começa no limite de slot imediatamente após o CAP. O coordenador da

PAN pode alocar até 07 desses GTSs e cada GTS pode ocupar mais de um período do slot.

A duração de diferentes porções de um superframe é descrita pelo valor do

macBeaconOrder e macSuperFrameOrder. O macBeaconOrder descreve o intervalo em que o

coordenador transmitirá seus beacons frames. O intervalo de beacon, BI, é relacionado ao

39

macBeaconOrder, BO, como segue: BI = aBaseSuperFrameDuration2BO, 0 ≤ BO ≤ 14. O

superframe é ignorado se BO = 15.

O valor do macSuperFrameOrder descreve o tamanho (comprimento) da parcela ativa do

superframe. A duração do superframe, SD, é relacionada ao macSuperFrameOrder, SO, como

segue: SD = aBaseSuperFrameDuration2SO, 0 ≤ SO ≤ 14. Se SO = 15, o superframe não deve

permanecer ativo após o beacon.

A parcela ativa de cada superframe é dividida dentro de um aNumSuperFrameSlots,

igualmente espaçados em duração de 2SOaBaseSlotDuration e é composto de 03 partes: um

beacon, um CAP e um CFP. O beacon é transmitido no início do slot 0 (zero) sem o uso de

CSMA. O inicio do CAP é imediatamente após o beacon. O CAP será, pelo menos, símbolos do

aMinCAPLength, a menos que ocorra uma adição no espaço necessário para acomodar,

temporariamente, o aumento no comprimento do frame da baliza para executar a manutenção do

GTS. Todos os frames exceto os de reconhecimento (acknowledgement) ou todos os frames de

dados que imediatamente seguem o acknowledgement de um comendo de pedido (data request)

são transmitidos no CAP sendo usado o CSMA-CA slot para acessar o canal. Uma transmissão

no CAP será um período completo do IFS antes da extremidade do CAP. Se isso não for

possível, é adiada sua transmissão até o CAP do seguinte superframe. Um exemplo da estrutura

de um superframe é mostrado na figura 3.10.

Figura 3.10 – Representação da estrutura de um Superframe.

O CFP, se presente, começará imediatamente após o término do CAP e estende-se à

extremidade da parcela ativa do superframe. O comprimento do CFP é determinado pelo

comprimento total de tudo que é combinado com o GTS. Não há transmissão com o CFP usando

40

o mecanismo CSMA-CA. Um dispositivo transmitindo em CFP assegurará que sua transmissão

esta completa em um período IFS antes do final de um GTS. [1]

O tempo do IFS é a quantidade de tempo necessária para processar o pacote de

recebimento pelo PHY, frames transmitidos seguidos pelo período IFS. O comprimento do IFS

depende apenas do tamanho do frame que foi transmitido. Os frames de aMaxSIFSFrameSize em

comprimento serão seguidos por um SIFS visto que os frames de um comprimento maior serão

seguidos de um LIFS.

As PANs que não desejam usar o superframe numa rede configurada, como não beacon-

ativado, ajustarão o macBeaconOrder e o macSuperFrameOrder para o valor 15. Neste tipo de

rede, um coordenador não transmitirá nenhum beacon, todas as transmissões exceto os

acknowledgement frame serão usadas sem o slot de CSMA-CA para acessar o canal e os GTSs

não serão permitidos.

3.3.2. Algoritmo CSMA-CA

Se a estrutura do superframe for usada na PAN, então o slot CSMA-CA será utilizado. Se

os beacons não estivessem sendo utilizados pelo PAN ou se um deles não puder ser utilizado em

uma rede beacon-ativado, a rede será configurada para atuar sem o slot do algoritmo CSMA-CA.

Em ambos os casos, o algoritmo é executado usando unidades de período chamados de “períodos

de backoff” que é igual ao símbolo do aUnitBackoffPeriod.

No mecanismo de acesso do canal do slot CSMA-CA, os limites do período do backoff

de cada dispositivo na PAN são alinhados com os limites do slot do superframe do coordenador

da PAN. No slot CSMA-CA, cada vez que um dispositivo deseja transmitir frames de dados

durante o CAP, esse será localizado no limite do próximo período do backoff. Em redes sem slot

de CSMA-CA o período de backoff de um dispositivo não necessita ser sincronizado ao período

de backoff de outro dispositivo.

Cada dispositivo tem três variáveis: NB, CW e BE. NB é o número de vezes que o

algoritmo CSMA-CA foi requerido pelo backoff ao tentar a transmissão atual. Ele é inicializado

em 0 (zero) antes de cada nova transmissão. CW é a contenção do comprimento da janela, que

define o número de períodos do backoff que necessitam estarem desobstruídos da atividade antes

que a transmissão possa começar. Ele é inicializado com valor 2 (dois) antes de cada tentativa de

transmissão e reiniciada em 2 antes do canal ser alterado para ocupado. CW é usado somente

pelo slot CSMA-CA. BE é o intérprete do backoff, que é relacionado a quantos períodos do

41

backoff um dispositivo esperará antes de tentar acessar o canal. Embora o receptor do dispositivo

esteja permitido durante a parcela da avaliação do canal deste algoritmo, o dispositivo rejeitará

todos os frames recebidos durante este tempo. [1]

Conforme a Zigbee Alliance inserido o CSMA-CA, os valores de NB, CW e BE são

inicializados e o limite do próximo período de backoff é localizado. Se não inserido (sem slot)

CSMA-CA, as variáveis NB e BE são inicializadas (1° passo). A camada MAC atrasará para um

número aleatório de períodos completos do backoff na escala 0 (zero) a 2BE – 1 (2° passo), então

é aí que a PHY executa um CCA (Clear Channel Assessment) (3° passo). A camada MAC

prosseguirá então se permanecer no algoritmo CSMA-CA a transmissão do frame, e todo

acknowledgement pode ser completado antes do final do CAP. Se a camada MAC não puder

prosseguir, esperará até o começo do CAP no próximo superframe e repetirá a avaliação.

Se o canal é avaliado para ser ocupado (4° passo), a camada MAC incrementará o NB e

BE por um, assegurando-se que BE não será mais que aMaxBE. Inserindo CSMA-CA, CW pode

ser restaurado como 2. Se o valor de NB é menor ou igual ao macMaxCSMABackoffs, o CSMA-

CA irá retornar para o 2° passo, mas o CSMA-CA irá terminar com status (estado) de falha no

acesso do canal.

Se o canal for avaliado para ser idle (5° passo), ao inserir CSMA-CA, o canal MAC

assegurará que a janela da disputa seja expirada antes de começar a transmissão. Para isto, a

camada MAC, primeiramente, vai decrementar CW por um. Se CW não é igual à zero, vai direto

para o 3° passo outro iniciará a transmissão no limite do próximo período de backoff. Não

inserindo CSMA-CA, a camada MAC iniciará a transmissão imediatamente se o canal for

avaliado para ser idle. O algoritmo CSMA-CA é ilustrado na figura 3.11.

42

Figura 3.11 – Representação do Algoritmo CSMA-CA.

43

3.3.3. Modelo de Transferência de Dados

Conforme descrito pela Zigbee Alliance, existem três tipos de transações para

transferência de dados: de um coordenador para um dispositivo, de um dispositivo a um

coordenador e entre dois dispositivos. O mecanismo para cada uma destes modelos de

transferência depende do que o modelo de rede suporta na transmissão de beacons.

Quando um dispositivo deseja transferir dados em uma rede não beacon-ativado, ele

simplesmente transmite seus frames de dados, usando CSMA-CA, ao coordenador. Há também

um acknowledgement opcional na extremidade, como mostrado na figura 3.12.

Figura 3.12 – Comunicação para um coordenador em uma rede beacon-ativado.

Quando um dispositivo deseja transmitir dados para um coordenador em uma rede

beacon-ativado, ele primeiro escuta o beacon da rede. Quando o beacon é achado, ele sincroniza

com a estrutura do superframe. No tempo certo, ele transmite seus frames de dados, utilizando

CSMA-CA, ao coordenador. Há também um acknowledgement opcional na extremidade, como

mostrado na figura 3.13.

Figura 3.13 – Comunicação para um coordenador em uma rede não beacon-ativado.

44

Segundo a Zigbee Alliance, as aplicações de transferências são completamente

controladas pelos dispositivos em uma PAN, e executam essa tarefa melhor do que pelo

coordenador. Isto fornece a característica de conservação de energia da rede Zigbee. Quando um

coordenador deseja transferir dados a um dispositivo em uma rede beacon-ativado, ele indica um

beacon da rede que a mensagem de dados está pendente. O dispositivo escuta periodicamente os

beacons da rede e transmite um comendo MAC que pede estes dados, usando o CSMA-CA. O

coordenador reconhece a transmissão deste pacote.

O frame pendente dos dados é emitido então, usando um slot CSMA-CA. O dispositivo

reconhece a recepção com sucesso dos dados transmitindo um acknowledgement frame. Logo ao

receber o acknowledgement, a mensagem é removida da lista de mensagens pendentes do beacon

como mostrado em figura 3.14.

Figura 3.14 – Comunicação de um coordenador em uma rede beacon-ativado.

Quando um coordenador deseja transferir dados a um dispositivo em uma rede não

beacon-ativado, armazena os dados para que o dispositivo apropriado faça o contato e solicite os

dados. Um dispositivo pode fazer o contato transmitindo um comando MAC, solicitando os

dados a seu coordenador em uma taxa aplicação-definida, usando-se frame sem slot CSMA-CA.

O coordenador reconhece este pacote. Se os dados forem pendentes, o coordenador transmite

frame de dados utilizando um frame sem slot CSMA-CA. Se os dados não forem pendentes, o

coordenador transmite um frame de dados com comprimento zero no payload para indicar que

nenhum dado estava pendente. O dispositivo reconhece este pacote como mostrado em figura

3.15.

45

Figura 3.15 – Comunicação de um coordenador em uma rede não beacon-ativado.

Em uma rede ponto-a-ponto, cada dispositivo pode comunicar-se com todo o outro

dispositivo em seu raio da transmissão. Há duas opções para esta, no primeiro caso, o nó escutará

constantemente e transmitirá seus dados usando frame sem slot CSMA-CA. No segundo caso, os

nós sincronizam com outros nós de modo que possam conservar o poder.

3.3.4. Iniciando e Mantendo PANs

Uma PAN será iniciada por um dispositivo FFD somente após um canal ser ativado ou

uma varredura no canal ED ser executada e uma seleção apropriada do identificador da PAN for

feita como mostrado na figura 3.16. A varredura ativa permite que o FFD encontre todos os

frames transmissores de beacons do coordenador dentro de seu Espaço de Operação Pessoal

(POS – Personal Operating Space).

Uma varredura ativa do canal é solicitada sobre um especificado ajuste dos canais

lógicos. Para cada canal lógico, o dispositivo primeiramente comutará para um canal e emitirá

um comando de pedido de beacon. O dispositivo ativará então seu receptor para o maior símbolo

de aBaseSuperframeDuration (2n +1), onde n está entre 0 e 14. Durante este tempo, o

dispositivo rejeitará todos os frames do não beacon e gravará a informação contida em todos os

beacons originais em uma estrutura do decriptador da PAN.

Se o coordenador de uma PAN beacon-ativado receber o comando de pedido do beacon,

ignorará o comando e continuará transmitindo suas beacons como usuais. Se o coordenador de

uma não beacon ativado a PAN receber este comando, ele transmitirá um único beacon frame

utilizando um frame sem slot CSMA-CA.

46

Figura 3.16 – Seqüência inicial de comunicação da PAN.

A varredura ativa em um canal particular termina quando o número dos decriptadores da

PAN armazenados se iguala ao máximo da implementação-especificado de símbolos do

aBaseSuperframeDuration (2n + 1), onde n está entre 0 e 14, tiver transcorrido. A varredura

inteira terminará quando o número dos decriptadores da PAN armazenados se iguala ao máximo

de implementação-especificado ou cada canal sobre os canais disponíveis estiver feito a

varredura.

Então selecionado um identificador da PAN apropriado da lista dos decriptadores da

PAN, pela análise do coordenador da PAN, retornados da varredura do canal ativo é para a

aplicação.

Uma varredura ED permite que o FFD obtenha uma medida do pico de energia que cada

canal necessita. Durante a varredura ED, o subnível MAC rejeitará todos os frames recebidos

sobre o serviço dos dados de PHY. Uma varredura ED é executada sobre um canal lógico. Para

cada canal lógico, é executado repetidamente a medição do ED para o

aBaseSuperframeDuration (2n + 1) onde n é o valor do scanDuration. A máxima medida do ED

47

obtida durante este período será anotada antes de mover-se no canal seguinte na lista de canais.

A varredura ED terminará quando o número das medidas ED do canal armazenar o valor igual

ao máximo de implementações-especificado ou quando a energia medida em cada uma dos

canais lógicos especificados.

Uma situação poderia ocorrer, por exemplo, se duas bandejas estivessem na mesma

posição e com o mesmo identificador da PAN. Se este conflito acontecer, o coordenador e seus

dispositivos executarão o procedimento da definição do conflito do identificador da PAN.

O coordenador da PAN concluirá que há um conflito do identificador da PAN se, ou um

beacon frame estiver recebido pelo coordenador da PAN com o subespaço do coordenador da

PAN ajustado em 1, isto é transmitido pelo coordenador da PAN, e pelo identificador da PAN é

igual ao macPANId ou um comando de notificação de conflito de identificador da PAN foi

recebido pelo coordenador da PAN de um dispositivo em sua PAN. O dispositivo concluirá que

um conflito do identificador da PAN está acontecendo se um beacon frame for recebido pelo

dispositivo com o subespaço do coordenador da PAN ajustado em 1, o identificador igual ao

macPANId, um endereço da PAN que não seja igual aos macCoordShortAddress e aos

macCoordExtendedAddress.

Na detecção de conflito do identificador da PAN por um dispositivo, ele gerará o

comando de notificação e emitirá ao coordenador da PAN. Se o comando for recebido

corretamente, o coordenador da PAN emitirá um ack e resolverá o conflito.

Na detecção de conflito do identificador da PAN por um coordenador, o coordenador

executará primeiramente uma varredura e selecionará então um novo identificador da PAN

baseado na informação da varredura. O coordenador transmitirá então o comando de

realinhamentação do coordenador que contém um novo identificador da PAN com o campo deste

de fonte igual ao valor no macPANId. Uma vez que o campo do realinhamentação do

coordenador foi emitido ajustará o macPANId ao novo identificador da PAN.

3.3.5. Geração de Beacon

Dependendo dos parâmetros da premissa MLME-START.request, o dispositivo FFD

pode, operar em uma modalidade beaconless ou pode começar as transmissões de beacon, ou

como um coordenador da PAN ou como um dispositivo em uma PAN previamente estabelecida.

Um FFD que não seja o coordenador da PAN começará a transmitir beacons frames somente

quando estiver associado com sucesso em uma PAN. Esta premissa inclui também os parâmetros

48

do macBeaconOrder e do macSuperFrameOrder que determinam a duração do intervalo do

beacon e a duração das parcelas ativas e inativas.

A tempo da transmissão do beacon mais recente será gravado no macBeaconTxTime e

computado de modo que seu valor seja tomado do mesmo limite do símbolo em cada beacon

frame, posição que é específica da execução.

3.3.6. Associação e Dissociação

Um FFD pode indicar sua presença em uma PAN para os outros dispositivos

transmitindo beacons frames. Isto permite que outros dispositivos executem o processo de

descoberta do dispositivo (perform device discovery). Um FFD que não seja um coordenador da

PAN começará a transmitir beacons frames somente quando associado com sucesso a uma PAN.

A associação de um dispositivo começa logo em seguida que completada uma varredura

no canal ativo ou uma varredura passiva no canal. A varredura passiva, como uma varredura

ativa, permite que um dispositivo encontre todos os frames transmissores de beacons do

coordenador dentro de sua POS, visto que, o comando de pedido de beacon não é requerido pela

varredura passiva.

Os resultados da varredura do canal são usados então para escolher uma PAN apropriada.

Um dispositivo tentará associar-se somente com uma PAN que esteja atualmente permitindo

associações. Depois da seleção de uma PAN apropriada para se associar, as camadas superiores

pedem que o MLME configure: o phyCurrentChannel para o canal lógica apropriado, o

macPANId para o identificador da PAN e de macCoordExtendedAddress ou de

macCoordShortAddress ao endereço do coordenador com que ele associou.

Um dispositivo não associado iniciará o procedimento da associação emitindo um

comando de pedido de associação ao coordenador de uma PAN existente. Se o comando de

pedido da associação for recebido corretamente, o coordenador emitirá um reconhecimento

(ack). Este reconhecimento, entretanto não significa que o dispositivo tenha sido associado pelo

coordenador. O coordenador necessita de um tempo para determinar se as fontes atuais,

disponíveis em uma PAN, são suficientes para permitir que um outro dispositivo associe-se. Esta

decisão deve ser feita dentro dos símbolos de aResponseWaitTime. Se recém associado, o

dispositivo remove todas suas informações. Se os recursos suficientes estiverem disponíveis, o

coordenador alocará um endereço curto ao dispositivo e gerará um comando de resposta de

associação que contem o endereço novo para indicar o status de associação bem sucedida. Se não

49

houver recursos suficientes, o coordenador gerará um comando de resposta da associação que

contem um status que indica ocorrência de falha. Esta resposta é emitida ao dispositivo usando a

transmissão indireta (pendente, pedido, etc). [1]

No outro lado, o dispositivo, após ter começado o frame de reconhecimento

(acknowledgement frame), espera pela resposta dos símbolos do aResponseWaitTime. Ele

verifica os beacons na rede beacon-ativado ou extrai o comando de resposta da associação do

coordenador após o símbolos aResponseWaitTime. Na recepção do comando de resposta da

associação, o dispositivo emitirá um reconhecimento (ack). Se a associação for bem sucedida e

armazena o endereço do coordenador com que associou.

O procedimento da associação é mostrado na figura 3.17 ao lado do coordenador e na

figura 3.18 ao lado do dispositivo.

50

Figura 3.17 – Associação de um dispositivo: processo do coordenador.

51

Figura 3.18 – Associação de um dispositivo: processo do dispositivo.

Conforme as normas da Zigbee Alliance, quando um coordenador quer que um de seus

dispositivos associados deixe a PAN, ele emitirá o comando de notificação de desassociação

(disassociation notification command) ao dispositivo usando a transmissão indireta. Na recepção

52

do pacote, o dispositivo deve emitir o frame do reconhecimento (ack). Mesmo se o ack não for

recebido, o coordenador considerará o dispositivo desassociado.

Se um dispositivo associado quiser sair da PAN, ele emitirá um comando de notificação

de desassociação ao coordenador. Em cima da recepção, o coordenador emite o ack. Mesmo se o

ack não for recebido, o dispositivo se considerará desassociado. [1]

Um dispositivo associado deve desassociar a si mesmo removendo todas as referências

para PAN. Um coordenador deve desassociar um dispositivo removendo todas as referências

existentes sobre esse dispositivo.

3.3.7. Sincronização

Para PANs que suportam beacons, a sincronização é executada recebendo e

decodificando frames de beacon. Para as PANs que não suportam beacons, a sincronização é

executada pela votação do coordenador para dados.

Em uma rede beacon-ativado, dispositivos deverão ser permitidos para adquirirem a

sincronização somente com os beacons que contenham o identificador da PAN especificado no

macPANId. Seguindo isso é especificado na primitiva MLME-SYNC.request, assim o

dispositivo tentará adquirir o beacon e manter-se seguido pela ativação regular e oportuna de seu

receptor. Seu receptor permitirá antes a transmissão prevista do frame seguinte ao beacon, isto é,

imediatamente antes do começo do superframe seguinte. Se o seguinte não for especificado, o

dispositivo tentará adquirir somente uma vez o beacon.

Para adquirir a sincronização do beacon, um dispositivo permitirá seu receptor e

procurará pelo maior símbolo de aBaseSuperframeDuration * (2n + 1), onde n é o

macBeaconOrder. Se um frame beacon contém o atual identificador da PAN do dispositivo e

não for recebido, o MLME repetirá a busca. Uma vez que o número de beacons faltantes

alcançou aMaxLostBeacons, o MLME notifica a camada superior seguinte emitindo

MLME-SYNC-LOSS.indication com uma reason BEACON-LOSS. [1]

O MLME deve timestamp a cada frame recebido da baliza no mesmo limite do símbolo

dentro de cada frame, a posição de que é específico da execução.

Em uma rede não beacon-ativo, os dispositivos poderão ser votados pelo coordenador

para dados na descrição da camada superior seguinte. No recibo da primitiva

MLME-POLL.request, os MLME seguem o procedimento para extração durante os dados do

coordenador.

53

Um outro problema com sincronização são os dispositivos órfãos (orphaned device). Se a

camada superior seguinte receber repetidas falhas de comunicação depois de seus pedidos de

transmissão de dados, ele concluirá que estará se tornando um órfão. Uma única falha de

comunicações ocorre quando uma transação de dispositivos não alcança o coordenador, isto é,

um acknowledgement não está sendo recebido depois que um aMaxFrameRetries tentar emitir

dados. Se a camada superior seguinte concluir o dispositivo órfão pode ou restaurar o subnível

MAC e para executar o procedimento de associação ou executar o procedimento de

realinhamento do dispositivo órfão.

Se a decisão for para o alinhamento do dispositivo órfão, a varredura do órfão é

executada. Durante a varredura do órfão, o subnível MAC rejeitará todos os frames recebidos

sobre o serviço dos dados de PHY, que não são frames do comando MAC de realinhamentação

do coordenador. Para cada excesso do canal lógico sobre a especificação dos canais lógicos, o

dispositivo emite um comando de notificação do órfão. O dispositivo permitirá então, seu

receptor ir para o maior símbolos do aResponseWaitTime. Se o dispositivo receber com sucesso

um comando de realinhamento do coordenador dentro deste tempo, o dispositivo incapacitará

seu receptor. [1]

Se um coordenador receber o comando de notificação de órfão (orphan notification

command), ele procurará sua lista de dispositivos pelo dispositivo que emite o comando. Se o

coordenador encontrar um registro do dispositivo, emitirá um comando do realinhamento do

coordenador ao dispositivo órfão, se não, ele ignorará o pacote. A varredura de órfãos termina

quando o dispositivo receber um comando do realinhamento do coordenador ou quando a

especificação de ajuste dos canais lógicos tiver sido procurada.

3.3.8. Transmissão, recepção e Acknowledgement

Para transmitir um dado, um beacon ou um frame de comando MAC, o subnível MAC

deve copiar o valor do masDSN a seqüência numérica dentro do campo MHR do frame, que

parte e incrementa-o então por um. O campo de endereço da fonte conterá o endereço do

dispositivo emissor do frame. Se o dispositivo for alocado com um endereço curto, ele usará esse

endereço na preferência a seu endereço estendido 64 bit. Se o campo de endereço da fonte não

estiver presente, o dispositivo que gerou o frame estará assumindo a posição de um coordenador

da PAN e o endereço de destino irá conter o endereço do receptor. O endereço de destino conterá

o endereço do receptor pretendido do frame, que poderá ser um endereço curto de 16 bit ou um

54

endereço estendido de 64 bit. Se o campo de endereço do destino não estiver presente, o receptor

do frame assumirá para ser o coordenador da PAN. O endereço do destino e o endereço da fonte

podem estar em diferentes PANs, que é identificado pelos campos do identificador da PAN. [1]

Em uma PAN beacon-ativado, o dispositivo transmissor tentará encontrar o beacon antes

de transmitir. Se não puder encontrar o beacon, ele usará um frame sem o slot CSMA-CA. Uma

vez que o beacon é encontrado, transmite em uma parcela apropriada do superframe. A

transmissão no CAP usará o slot CSMA-CA e aquelas em GTS não usarão o CSMA-CA. Em

uma rede não beacon-ativado, os frames são transmitidos usando um slot sem CSMA-CA.

Em cima da recepção dos pacotes, o subnível MAC rejeitará todos seus frames recebidos

que não contenham um valor correto em seu campo do FCS no MFR.

Conforme a Zigbee Specification, o receptor é importante se analisarmos o consumo de

energia do dispositivo, onde o mesmo pode escolher se o subnível MAC deve ativar seu receptor

durante períodos inativos (idle). Durante estes períodos inativos, o subnível MAC abaixará a

quantidade de pedidos de tarefas do transceptor de serviço da camada superior. Na conclusão de

cada tarefa do transceptor, o subnível MAC solicitará que o PHY permita ou incapacite seu

receptor, dependendo se o macRxOnWhenIdle estiver ajustado para verdadeiro (TRUE) ou falso

(FALSE), respectivamente. Se o beacon for permitido, o valor do macRxOnWhenIdle será

considerado somente durante períodos inativos do CAP.

Uma outra característica para a conservação de energia do padrão do IEEE 802.15.4 é a

característica indireta da transmissão. As transações começam pelos dispositivos entre eles

mesmos melhor que pelo coordenador. Ou seja, nem o coordenador não necessita indicar em sua

beacon quando as mensagens são pendentes para dispositivos, nem os dispositivos entre eles

mesmos necessitam aprovação do coordenador para determinar se têm quaisquer mensagens

pendentes.

Um dispositivo numa PAN beacon-ativado pode determinar se alguns frames são

pendências para ele, examinando os conteúdos do frame recebido do beacon. Se o endereço do

dispositivo for contido no campo da lista de endereços do frame do beacon, o MLME do

dispositivo emitirá um comando do pedido dos dados ao coordenador durante o CAP. Em cima

da recepção deste comando, o coordenador emitirá um ack. Ele indica se algum dado é

pendência para esse dispositivo no frame do ack. No recibo do ack, o dispositivo permitirá a seu

receptor receber: o maior símbolos no CAP de aMaxFrameResponseTime em uma PAN beacon-

ativado ou símbolos em uma PAN não beacon-ativado, do frame correspondente do

55

coordenador. Se houver um dado pendente, o coordenador deve emitir um frame de solicitação e

outro frame que contenha o payload de comprimento zero, indicando que nenhum dados está

faltando.

O frame dos dados é transmitido sem usar o CSMA-CA, se o subnível MAC puder

começar a transmissão do frame dos dados entre o aTurnaroundTime e os símbolos de

aTurnaroundTime + aUnitBackoffPeriod e também se houver tempo restante no CAP para a

mensagem, IFS apropriado e reconhecimento usando o CSMA-CA de outra maneira.

Um frame transmitido com o campo do pedido de acknowledgement ajustado em 1 será

reconhecido pelo receptor. Se o receptor pretendido receber corretamente o frame, gerará e

emitirá um frame de acknowledgement contendo o mesmo DSN dos dados ou do frame de

comando MAC que está sendo reconhecido. A transmissão do ack começará entre o

aTurnaroundTime e os símbolos do aTurnaroundTime + aUnitBackoffPeriod após a recepção do

último símbolo dos dados ou do frame de comando MAC. [1] [4]

3.3.9. Alocação de GTS e Gerenciamento

Um GTS permite que um dispositivo opere sobre o canal, dentro de uma parcela do

superframe que é dedicado exclusivamente a esse dispositivo. Um dispositivo tentará alocar e

usar um GTS somente se ele estiver atualizado segundo os beacons. Um GTS será alocado

somente pelo coordenador da PAN e ele será usado somente para comunicações entre o

coordenador da PAN e um dispositivo. Um único GTS pode estender sobre um ou mais slots do

superframe. O coordenador da PAN pode alocar até sete GTSs ao mesmo tempo, desde que haja

capacidade suficiente no superframe.

Um GTS poderá ser alocado antes mesmo de ser usado. Pelo com o coordenador da PAN

decide se alocar um GTS baseado nos requerimentos do GTS requisitado (GTS request) ou a

capacidade disponível atual no superframe. GTS pode ser alocado na base primeiro-vindo-

primeiro-serve (first-come-first-server) e todos os GTSs poderam ser alocados continuamente até

o fim do superframe e após o CAP. Cada GTS poderá ser desalocado quando o GTS não é

continuamente requerido, e um GTS pode ser desalocado em qualquer tempo na discretização do

coordenador da PAN ou pelo dispositivo que originalmente requisitou os GTSs. Um dispositivo

que aloca um GTS também pode operar em CAP.

56

A gerência do GTSs será empreendida somente pelo coordenador da PAN. Para cada

GTS, o coordenador da PAN será habilitado para armazenar seus slots de partida, comprimento,

sentido e endereço de dispositivo associado.

A direção do GTS é especificada como sendo: “transmitir” ou “receber”. Cada

dispositivo pode pedir um transmissor GTS (transmite GTS) e/ou um recebe GTS (receive GTS).

Para cada GTS alocado, o dispositivo será habilitado a armazenar seus slots de partida,

comprimento e sentido. Se um dispositivo for alocado para receber GTS (receive GTS), ele

habilitará seu receptor do GTS por completo. Da mesma maneira, um coordenador da PAN

habilitará seu receptor por completo do GTS se um dispositivo for alocado como transmite GTS

(transmite GTS).

Conforme a IEEE 802.15.4 um dispositivo é instruído para pedir o alocamento de um

novo GTS com o comando de pedido de GTS, com características de GTS (sentido,

comprimento, etc) ajustando de acordo com as exigências da aplicação pretendida. No recibo

deste comando, o coordenador da PAN emitirá um frame do reconhecimento

(acknowledgement). Depois da transmissão do ack, o coordenador da PAN deve primeiramente

verificar se há capacidade disponível no atual superframe baseado no comprimento restante do

CAP e no comprimento desejado do GTS pedido. O superframe terá capacidade disponível se o

número máximo de GTSs não for alcançado e se alocando um GTS de comprimento desejado

não reduzir o comprimento do CAP menor que aMinCAPLength. O coordenador da PAN fará

sua decisão dentro dos aGTSDescPersistenceTime do superframes. No recibo do ack do

coordenador, o dispositivo continuará a seguir os beacons e a esperar pelos

aGTSDescPersistenceTime do superframes. Se não houver nenhum GTS decriptador no

superframe, ele notificará a camada superior sobre a falha.

Quando o coordenador determina a capacidade que está disponível para o pedido de

GTS, ele gera um GTS decriptador com as especificações pedidas e o endereço curto do

dispositivo pedido. Indica o comprimento e o começo do GTS no superframe e notifica a camada

superior de um novo GTS alocado. Se não houver uma capacidade suficiente para alocar o GTS

pedido, o slot inicial será ajustado para 0 e o comprimento dos GTSs mais largos que podem ser

suportados atualmente. Este GTS decriptador permanecerá no beacon frame para

aGTSPersistenceTime do superframes.

No recibo do beacon frame, o dispositivo deve processar o decriptografador e notificará a

camada superior seguinte do sucesso ocorrido.

57

Da mesma maneira, um dispositivo é instruído a pedir a desalocação de um GTS

existente com o comando do pedido de GTS, usando as características do GTS que deseja ser

desalocado. A partir deste ponto, o GTS para ser desalocado não será utilizado pelo dispositivo.

Então um ack do coordenador da PAN é enviado para o dispositivo. O coordenador da PAN

então desaloca o pedido das características de GTS nos pacotes combinados daqueles em seu

alocamento. O coordenador da PAN deve assegurar que todos os gaps (aberturas) que ocorrem

no CFP, aparecendo devido a desalocação de um GTS, sejam removidos para maximizar o

comprimento do CAP.

O MLME do coordenador da PAN tentará também detectar quando um dispositivo parou

de usar um GTS usando as seguintes regras: Para transmitir um GTS frame, o MLME do

coordenador da PAN deve supor que o dispositivo não está mais usando o GTS se um frame dos

dados não for recebido pelo menos 2*n superframes. Para receber GTSs, o MLME do

coordenador da PAN deve supor que o dispositivo não está mais usando seu GTS se um

akcnowledgement frame não for recebido pelo menos 2*n superframes. O valor de n é igual a

28-macBeaconOrder se 0 ≤ macBeaconOrder ≤ 8 e 1 se 9 ≤ macBeaconOrder ≤ 14. [1]

3.3.10. Formato do Frame MAC

O formato geral do frame do MAC é dado na figura 3.19. Cada frame do MAC consiste

nos seguintes componentes básicos:

Figura 3.19 – Representação do frame do MAC.

• MHR, que compreende o controle do frame, o número de seqüência, e a informação do

endereço.

• Um MAC payload de comprimento variável, que contem as informações especificas do tipo de

frame. Os Acknowledgements frames não contêm um payload.

• A MFR, que contem o FCS.

58

LR-WPAN define 4 estruturas do frame: beacon frame (figura 3.20), data frame (figura

3.21), acknowledgement frame (figura 3.22), MAC command frame (figura 3.23).

Figura 3.20 – Representação do Frame de Beacon (Beacon Frame).

Figura 3.21 – Representação do Frame de Dados (Data Frame).

Figura 3.22 – Representação do Frame de Acknowledgement (ACK frame).

59

Figura 3.23 – Representação do Frame de Comando MAC (MAC Command Frame).

3.4. Camada de roteamento Zigbee

O algoritmo de roteamento ZigBee pode ser pensado como uma estratégia de roteamento

hierárquico com otimização “table-driven” aplicados onde for possível. A camada de roteamento

é dita, para começar, com um anúncio bem-estudado do algoritmo de domínio publico Ad hoc no

vetor da distância da demanda (AODV – Ad hoc On Demand Distance) e o algoritmo Cluster-

Tree.

3.4.1. AODV: Ad hoc On Demand Distance Vector

O AODV é um algoritmo de aquisição da rota sobre demanda, onde os nós que não se

encontram em trajetos ativos, nem mantêm toda a informação de distribuição nem participam em

qualquer tabela de distribuição periódica trocam. Mas, um nó não deve descobrir e manter uma

rota a um outro nó até que haja a necessidade de dois comunicarem-se, a menos que o nó anterior

esteja oferecendo serviços como uma estação intermediária do encaminhamento para mantendo

uma conexão entre outros dois nós.

Os objetivos primários do algoritmo são transmitir pacotes de descoberta somente quando

necessário, distinguí-los entre a gerência local de conectividade e a manutenção geral da

topologia e disseminar a informação sobre mudanças no local de conectividade para aqueles nós

móveis da vizinhança, que provavelmente necessitam da informação.

Quando um nó da fonte necessita se comunicar com um outro nó e para que não tenha

nenhuma informação de distribuição em sua tabela, o processo da descoberta do trajeto (Path

Discovery) é iniciado. Todo nó mantém dois contadores separados: número de seqüência

(Sequence Number) e identificação da transmissão (broadcast id). O nó da fonte inicializa a

descoberta do trajeto por envio de um pacote de pedido da rota (RREQ – Route Request) para

seus vizinhos, que incluem o addr da fonte (source addr), número de seqüência da fonte (source

sequence), identificação da transmissão (broadcast id), addr do destino (dest addr), número de

seqüência do destino (dest sequence number), hop cnt. O número de seqüência da fonte é para

manter atualizado sobre a informação da rota reversa onde o número de seqüência do destino é

para manter atualizado sobre a rota para o destino antes que possa ser aceito pela fonte. [1]

O par source addr, broadcast ID identifica unicamente uma transmissão uma RREQ, o

qual uma broadcast ID é incrementada sempre que a fonte emite um RREQ. Quando um nó

61

intermediário recebe um RREQ, se já tenha recebido um RREQ com o mesmo endereço da

identificação (broadcast ID) e da fonte da transmissão (source address), ele deixa cair o RREQ

redundante e não o re-transmite. Se não, o re-transmite a seus próprios vizinhos após ter

aumentado hop cnt. Cada nó mantém a seguinte informação: IP ADDRESS do destino, IP

ADDRESS da fonte, identificação da transmissão, tempo da expiração para a entrada reversa da

rota do trajeto e número de seqüência do nó da fonte.

Enquanto o RREQ “viaja” de uma fonte para os destinos, automaticamente ajusta o

trajeto reverso de todos os nós após a fonte. Para ajustar um trajeto reverso, um nó grava o

endereço de seu vizinho, de quem ele recebeu a primeira cópia de RREQ. Estas rotas reversas do

trajeto são mantidas pelo tempo necessário para que o RREQ atravesse a rede e para produzir

uma resposta ao remetente.

Quando o RREQ chegar em um nó, possivelmente o destino de si próprio que possui a

rota atual do destino, o nó de recepção primeiramente irá verificar se o RREQ foi recebido sobre

uma ligação bidirecional. Se este nó não for destinado, mas tem rota para o destino, ele

determinará se a rota é atual por acompanhamento do número de seqüência do destino em sua

própria entrada da rota para o número de seqüência do destino no RREQ. Se o número de

seqüência do RREQ para o destino for maior do que aquele gravado pelo nó intermediário, o nó

intermediário não deve usar esta rota para responder ao RREQ, substituindo reenvio de um

RREQ.

Se a rota tiver um número de seqüência do destino que seja maior ou igual do que aquele

contido no RREQ, mas um valor menor do que a contagem hop, ele pode não dar um pacote de

resposta da rota (RREP – route reply packet) de volta para seu vizinho que recebeu um RREQ.

Um RREP contém a seguinte informação: addr da fonte, addr do destino, número de seqüência

do destino, hop cnt e tempo de vida (lifetime). Enquanto o RREP viaja de volta para a fonte, cada

nó ao longo do trajeto ajusta o ponteiro para o nó de que o RREP veio, atualiza sua informação

do intervalo de parada (timeout) para entradas da rota a fonte e ao destino, e grava a última

seqüência do destino para o destino pedido.

62

Figura 3.24 – Formação do caminho direto e reverso pelo protocolo AODV.

Os nós que estão ao longo do trajeto determinado pelo intervalo RREP do ponto de

escolha do RREP depois que o temporizador expirar o pedido da rota, suprimirão os ponteiros

reversos desde que não estejam no trajeto da fonte ao destino como mostrado acima (figura

3.24). O valor deste tempo de intervalo depende do tamanho da rede Ad Hoc. Também há um

intervalo de parada caching da distribuição que é associado com cada entrada da distribuição

para mostrar o tempo depois que a rota é considerada ser inválida. Uma entrada da rota é usada

cada vez para transmitir dados de uma fonte para um destino, o intervalo de parada para a

entrada é restaurada ao tempo atual mais o active-route-timeout.

O nó da fonte pode começar a transmissão de dados assim que o primeiro RREP for

recebido, e pode mais tarde atualizar sua informação de distribuição se ele aprender uma rota

melhor. Cada entrada da tabela de distribuição inclui os seguintes campos: destino, hop seguinte,

número de hops (métricas), número de seqüência para o destino, vizinhos ativos para esta rota,

tempo da expiração para a entrada da tabela da rota.

Para a manutenção do trajeto, cada nó mantém o endereço dos vizinhos ativos através de

pacotes entregues ao destino que são recebidos e são mantidos. Este vizinho é considerado ativo

se ele originar ou retransmitir pelo menos um pacote para que o destino com o último período do

ativo-intervalo. Uma vez que o hop seguinte no trajeto da fonte ao destino tornar-se não

alcançável (mensagens de “HELLO” não são recebidas por um certo tempo, mensagens de

“HELLO” asseguram que somente os nós com conectividade bidirecional estejam considerados

com os vizinhos, conseqüentemente cada mensagem de “HELLO” incluindo os nós de que o nó

63

tenha escutado), o nó de upstream da ruptura propaga um RREP não solicitado com uma

atualização do número de seqüência e contagem de infinitos hops para todos nós upstream

ativos. Este processo continua até que todos os nós ativos da fonte estejam notificados. Assim,

recebendo a notificação de uma ligação quebrada, os nós da fonte podem reiniciar o processo de

descoberta se eles ainda requererem uma rota para o destino. Se eles decidirem que é necessário

de reconstruir a rota para o destino, ele envia para fora um RREQ com o número de seqüência do

destino maior que o número de seqüência previamente conhecido, para assegurar que ele

construa uma nova rota, viável e que nenhum nó responda se considerar ainda a rota precedente

como válida.

3.4.2. Algoritmo Cluster-Tree

O protocolo da Cluster-Tree é um protocolo das camadas lógicas de ligação e de rede que

usa pacotes de ligação-estado para dar forma única à rede do cluster ou uma rede potencialmente

maior da rede cluster-tree. A rede basicamente auto-organizável e suporta redundâncias da rede

para alcançar um grau de resistência a falhas e auto-reparos.

Os nós selecionam um Cluster Head e dão forma ao cluster de uma maneira auto-

ajustável. Então os clusters autodesenvolvidos se conectam com outros utilizando o dispositivo

designado (DD – Designated Device).

3.4.2.1. Rede Cluster simple

O processo da formação do cluster começa com a seleção do Cluster Head (CH). Depois

que um Cluster Head é selecionado, o próprio expande as ligações com outros nós membros para

dar forma a um cluster.

Depois de um nó ser ativado, faz a varredura pelos canais para procurar uma mensagem

de HELLO de outros nós (mensagens de HELLO correspondem às beacons na camada MAC da

IEEE 802.15.4). Se não puder pegar nenhuma mensagem de HELLO por algum tempo, então ele

volta para um Cluster Head como mostrado na figura 3.25 e emite uma mensagem de HELLO

para seus vizinhos. O novo Cluster Head espera pelas respostas dos vizinhos por algum tempo.

Se não receber nenhum pedido de conexão, ele retorna para um nó regular e escuta outra vez. A

Cluster Head pode também ser selecionada em parâmetros armazenados de cada nó, como a

escala de transmissão, a capacidade do poder, a habilidade computacional ou a informação da

posição.

64

Figura 3.25 – Seleção do processo do Cluster Head.

Após transformar o Cluster Head (CH), o nó irá transmitir uma mensagem periódica de

HELLO que contenha uma parte do MAC address do Cluster Head e do nó ID 0 que indica o

Cluster Head. Os nós que recebem esta mensagem emitem uma mensagem de pedido de conexão

(connection request) ao Cluster Head. Quando o CH recebe, ele responde ao nó com uma

mensagem de resposta de conexão (connection response) que contenha um nó ID para o nó (o nó

ID corresponde ao curto endereço na camada MAC). O nó que é atribuído a um nó ID, responde

com uma mensagem ACK ao Cluster Head. A troca da mensagem é mostrada em figura 3.26.

Figura 3.26 – Troca de mensagens entre o Cluster Head e o dispositivo.

Se todos os nós forem locados no alcance do Cluster Head, a topologia da conexão

transforma-se uma estrela e os nós membros são conectados ao Cluster Head com um hop. Um

cluster pode expandir em uma estrutura multihop quando cada nó suporta múltiplas conexões. A

troca da mensagem para o cluster multihop ajustado é mostrada na figura 3.27.

65

Figura 3.27 – Processo de ajuste do Cluster Multi Hop.

Se o Cluster Head funcionar fora de todos os nós IDs ou o cluster alcançar algum outro

limite definido, ele deve rejeitar os pedidos de conexão dos novos nós. A rejeição é como a

atribuição de um ID especial ao nó.

A entrada da lista vizinha e das rotas é atualizada pela mensagem periódica de HELLO.

Se um nó não atualiza e entrar até um determinado limite do intervalo de parada, ele deve ser

eliminado.

Um nó pode receber uma mensagem HELLO de um nó que pertença a um cluster

diferente. Nesse caso, o nó adiciona o cluster ID (CID) do nó transmissor na lista vizinha e então

emite um relatório do estado da ligação (link state report) ao CH, de modo que o CH fique

sabendo que os clusters de seu cluster tem interseção.

A mensagem de relatório do estado da ligação (link state report) também contém a lista

de ID dos nós vizinhos para que o CH saiba a topologia completa e poder fazer a topologia

otimizada. Se a mudança na topologia for requerida, então o CH emite uma mensagem de

atualização da topologia (topology update). Se um membro receber uma mensagem de

atualização da topologia (topology update) que um nó pai diferente está ligado, isso ocasiona na

mudança do nó pai como indicado na mensagem e também grava os seus nós filhos e os nós

abaixo dele na árvore.

Se um nó membro tiver o problema e tornar-se incapaz de se comunicar, a rota da árvore

do cluster vai ser re-configurada. O CH sabe que a presença de um problema pelo reporte do

66

estado da ligação (link state report). Quando o Cluster Head tem um problema, a distribuição de

mensagens de HELLO é paralisada e todos os nós membros sabem que perderam o CH. O

cluster será re-configurado da mesma maneira que o processo da formação dele.

3.4.2.2. Rede Multi-Cluster

Para dar forma a uma rede, um dispositivo designado (DD – Designated Device) é

necessário. O DD tem a responsabilidade de atribuir um único ID cluster a cada Cluster Head.

Este ID cluster combinado ao ID nó que o Cluster Head atribui a cada nó dentro dos formulários

de um cluster em um endereço lógico é usado para distribuir pacotes. Outro papel do DD é de

calcular a rota mais curta do cluster e informá-la a todos os nós dentro da rede.

Quando o DD se junta à rede, age como o CH (Cluster Head) do cluster 0 e começa

emitir mensagens de HELLO à vizinhança. Se um CH receber esta mensagem, emite outra de

pedido de conexão e se junta ao cluster 0. Após isto, o CH pede um CID para o DD, neste caso, o

CH está há um nó da beira que tem dois endereços lógicos. Um para o membro do cluster 0 e o

outro é para um CH. Quando o CH começa um novo CID, ele informa a seus nós membros por

uma mensagem de HELLO.

Se um membro receber uma mensagem HELLO do DD, ele adiciona CID 0 em suas lista

de vizinhos e relata para seu CH. O CH relatado seleciona o nó do membro como um nó da beira

a seu cluster pai e emite a uma mensagem de pedido de conexão da rede ao nó do membro para

ativar uma conexão com o DD. O nó da beira pede uma conexão e junta o cluster 0 como seu nó

membro. Então emite uma mensagem de pedido de CID (CID REQUEST) ao DD. Após a

chegada da mensagem de resposta de CID (CID RESPONSE), o nó da beira emite a mensagem

de resposta de conexão de rede que contém um novo CID ao CH. Quando o CH recebe o novo

CID, ele informa a seus nós membros pela mensagem de HELLO. [1]

Os clusters que não são bordas do cluster 0 usam clusters intermediários para receber um

CID. Novamente, um CH transforma-se em um nó da beira de seu cluster pai ou o CH nomeia

um nó membro como beira de seu cluster pai. Estes processos são mostrados em figuras 3.28,

3.29, 3.30 e 3.31.

67

Figura 3.28 – Representação da Tarefa CID 1.

Figura 3.29 – Representação da Tarefa CID 2.

68

Figura 3.30 – Representação da Tarefa CID 3.

Figura 3.31 – Representação da Tarefa CID 4.

Cada nó membro do cluster tem que gravar seu cluster pai, cluster filho e o IDs do nó da

beira associado com ambos pai e filho clusters. O DD deve armazenar a estrutura da árvore dos

clusters.

Como os nós nos clusters há o relatório do CHs sobre suas informações do estado de suas

ligações ao DD. O CH emite periodicamente uma mensagem do relatório do estado da ligação da

rede que contenha sua lista CID de cluster vizinho ao DD. Então esta informação pode ser usada

para calcular a rota otimizada e atualizar periodicamente a topologia para a redundância da rede.

69

Da mesma maneira, o DD pode emitir a mensagem de atualização da topologia para informar a

rota atualizada do DD para os clusters.

Um DD de apoio (BDD – Backup DD) pode ser preparado para impedir a rede de parar

ou de ter sua capacidade diminuir devido ao problema do DD.

Uma comunicação Inter-Cluster, como é mostrada na figura 3.32, é realizada pelo

roteamento. Os nós da beira agem como os roteadores que conectam os clusters e enviam os

pacotes entre os clusters. Quando um nó da beira recebe um pacote, examina o endereço de

destino, então o envia ao nó seguinte da beira do cluster adjacente ou ao nó de destino dentro do

cluster.

Somente o DD pode emitir uma mensagem para todos os nós presentes na rede. A

mensagem é enviada ao longo da rota da árvore dos clusters. O nó da beira deve enviar o pacote

da transmissão do cluster pai para o cluster filho.

Figura 3.32 – Uma rede multi cluster e os nós das bordas.

3.5. Codificação

O padrão IEEE 802.15.4 usa codif icação de Espalhamento Espectral por Seqüência

Direta ou também conhecida por DSSS (Direct Sequence Spread-Spectrum). Nesta técnica uma

seqüência pseudo-aleatória de valores 1 e -1, numa freqüência mais elevada, é multiplicada ao

sinal original, causando espalhamento da energia do sinal numa banda mais larga; apresenta

maior transferência de dados do que a contraparte FHSS, devido à menor sobrecarga do

protocolo.

A DSSS é uma forma de modulação spread-spectrum que gera um padrão redundante de

bits para cada bit transmitido. O acesso do canal é feito em função de coordenação conhecida

como CSMA-CA (Carrier Sense Multiple Access with Collision Avoidance) com

acknowlegmente positivo dos pacotes que chegam ao destino com sucesso. Ou seja, quando um

nó deseja fazer transmissão ele envia um sinal de aviso por tempo suficiente para que todos os

componentes da rede o recebam e só assim que os dados são transmitidos.

Este método é obrigatório para todos os Pontos de Acessos (AP – Access Point) onde os

serviços fornecidos pela coordenação são usados para transmissão de tráfego assíncrono. O

mecanismo tem um esquema de acesso randômico com “sensor” do meio que tenta evitar

colisões através de um backoff time aleatório. [4] [2]

Quando o meio estiver inativo pelo menos na duração DIFS (DCF Inter Frame Space),

uma estação pode acessar o meio imediatamente permitindo que um atraso de acesso curto

permaneça. Mas, tão logo mais e mais estações tentarem acessar o meio, outros mecanismos de

controle são necessários. Se o meio estiver ocupado, estações têm que esperar pela duração de

DIFS, e depois têm que entrar numa fase de contenção.

Cada estação escolhe um backoff time aleatório, dentro de uma janela de contenção

(Contention Windows), e tenta acessar o meio depois de passado esse intervalo de tempo

aleatório. Se, passado esse intervalo de tempo, o meio estiver ocupado, essa estação perdeu este

ciclo e tem que esperar até a próxima chance, ou seja, até que o meio esteja inativo novamente

por um período de pelo menos DIFS. Mas, ao contrário, se passado o intervalo de tempo

aleatório, o meio estiver ainda inativo, essa estação pode acessar o meio imediatamente.

71

Esse tempo de espera aleatório é escolhido como sendo um múltiplo de um time slot

(dentro de um tamanho máximo da janela de contenção) que é derivado do atraso de propagação

do meio, atraso da transmissão e outros parâmetros dependentes do meio físico.

Se durante uma transmissão um sinal de aviso for detectado, o emissor interrompe o

envio da mensagem, reiniciando a tentativa de transmissão após um período aleatório, com

colisões opcionais de tempo escalonado ou time slots. Para interferências existe ainda o padrão

de bits, chamado “chip” ou código de chip, que permite aos receptores filtrarem os sinais que

não utilizam o mesmo padrão, incluindo ruídos ou interferências. [2]

O código de chip cumpre duas funções principais:

• O transmissor gera um código que é inserido nos dados transmitidos e apenas o

receptor estará habilitado a identificar e decifrar os dados enviados. O receptor

receber os dados identifica como sendo de seu transmissor e decifrar as

informações.

• O código de chip distribui os dados pela largura de banda disponível, fazendo isso

o padrão permite uma maior probabilidade de recuperação dos dados originais. Se

durante a transmissão um ou mais bits do chip sejam danificados, esse modelo

recupera os dados originais usando técnicas estatísticas para recuperar a

informação original sem necessidade de retransmissão do mesmo.

Sinais não desejados em banda estreita ignoram os sinais de DSSS, considerando-os

como ruídos de baixa potência em banda larga:

• Modulação QPSK;

• Taxas de transmissão ou de transferência chegam até 250 kbps;

• Suporta picos de informação de aproximadamente 128 kbps;

• O tempo de conexão para unir-se a rede é de 30 milisegundos com atrasos de

mudança típica de 15 milisegundos ou seja muito mais rápido para a correção da

latência;

• Protocolos são empilhados com até 28 kbits;

• Protocolo é otimizado para aplicações em tempos críticos.

Uma das principais vantagens desse protocolo frente aos outros modelos utilizados nas

redes WPAN é a capacidade de poder formar uma rede grande, podendo expandir sua quantidade

de nós para mais de 64000. [2]

72

O nó principal da rede pertencente ao coordenador (coordenador da PAN) que pode ser

ativado com o tempo estimado de 30 milisegundos. Existem ainda os nós que estão em

“silêncio”, também conhecidos como nós que entram em modo de espera, que podem ser

ativados em 15 milisegundos. O coordenador da PAN coordena a entrada destes nós na rede de

modo enumerado permitindo assim que os outros nós entrem na rede por um período de tempo

curto. Quando neste curto período de tempo houver uma requisição para um nó se juntar à rede,

o coordenador deve autorizar a entrada do mesmo na rede. [1]

3.6. Confiabilidade

Sabemos que o ar não é um meio de transmissão muito confiável, pois temos um

ambiente muito susceptível a dispersões, degradações, dependência de freqüências, diversos

caminhos múltiplos e tantas outras situações que perturbam a segurança do sistema. Fora a

possível ocorrência da presença de um “dispositivo” não desejado. Em cada camada do modelo

ISO, há mecanismos de combate a essas degradações para otimizar a transmissão de dados onde

através da camada física temos a disponibilidade do Direct Sequence com Frequency Agility

(DS/FA) que usa uma seqüência especial de um “chip”. Quanto maior a quantidade de chips por

símbolos, maior a capacidade do sistema de rejeitar multicaminhos e interferências.

A Frequency Agility (FA), consiste na habilidade de trocar de freqüências para evitar

interferência de alguma fonte de sinal.

Além do DS temos na camada MAC, esta através do coordenador, supervisiona as

transmissões efetuadas com sucesso verificando-as retornando um ACK; se o ACK não for

recebido, o pacote é retransmitido após um timeout.

O Coordinator buffering consiste em o nó coordenador da rede que tem como objetivo

armazenar as mensagens para nós adormecidos até eles acordarem novamente.

A rede, em particular na topologia Mesh, permite que dados sejam transmitidos por

diferentes caminhos e a subcamada de suporte e aplicação conserva a segurança afastando os

outros dispositivos que possam interromper os sinais da rede.

3.6.1. Segurança do IEEE 802.15.4

Sabemos que o Zigbee foi desenvolvido para atuar em rede PAN visando à utilização de

rede que necessitam de taxas de transferências modestas e suas aplicações podem ocorrer em

diversos lugares, sofrendo alterações geográficas, já que é um modelo wireless. Sua utilização

pode se em diferentes ambientes, por exemplo, podendo ser utilizado de casas até ambientes

industriais, com diversas aplicações, desde sensores de iluminação chegando até sendo utilizado

para sensores de proteção residencial e patrimonial. O importante objetivo de evitar “ataques” ou

interferências em nossas redes é para manter nossas informações intactas, sem alterações nos

dados, para que quando elas forem interpretadas não ocasionem numa mudança de informação e

ocasionando num erro de informação.

74

Na IEEE 802.15.4 existem alguns mecanismos de segurança para evitar que ocorra esses

casos de interferências, como por exemplo a capacidade individual de cada nó conviver com

falhas e a implementação de mecanismos de segurança na fase do desenho das redes. [2]

As redes que usam sensores simples, que apenas enviam suas informações para o

coordenador, normalmente são feitas para operar por períodos longos, sem intervenção de

usuários, implicando uma nova ótica de programas (softwares) bem elaborados que farão com

que os sistemas sejam simples e corretos no seu funcionamento. O protocolo de segurança da

camada de aplicação lógica apresenta quatro tipos de segurança básica que se considera como:

• Controle de Acesso: evita que partes não autorizadas entrem e usem a rede. A

integridade do sistema garante que as mensagens não foram modificadas durante

o processo de transmissão e recepção em transito;

• Integridade das Mensagens: garantias dadas através do código de autenticação de

mensagem designado por FCS ou por MIC (Message Integrity Code) incluído em

cada pacote;

• Confidencialidade: autenticação de mensagens, é realizada por encriptação e a

proteção contra repetição; ambas são efetuadas por inclusão nos quadros com

seqüência incremental;

• Proteção e Repetição; feita na subcamada MAC, muito embora esta seja apenas

ativada pelas camadas superiores dando a ela vários perfis de proteção para os

dados que oferecem garantias distintas.

Além dos 4 tipos de segurança salientados existem ainda vários perfis de segurança

usados com especial observação. [2]

• Perfil de ativação por defeitos ou designados apenas como NENHUM;

• Perfil destinado apenas para a encriptação chamado de AES-CTR;

• Perfil destinado para a autenticação ou AES-CBC-MAC;

• Perfil destinado para autenticação e encriptação ou AES-CCM.

Os perfis que garantem autenticação permitem um grau de configuração do número de

bits que usam para definir o CRC.

Os dispositivos dispõem de uma tabela de Access Control List (ACL) que escolhe um

perfil de proteção que se baseia no endereço de origem e destino.

A encriptação é feita através da inclusão ou adição de um valor único, e este dará a

variabilidade do algoritmo de encriptação, ou seja, o valor é uma agregação do contador de

75

quadros, chaves e de blocos. As venerabilidades do IEEE 802.15.4 advêm de 3 fontes distintas

relacionando-se com o valor único, a gestão das chaves e a falta de proteção da integridade [7].

3.6.2. Segurança da camada Zigbee

A camada MAC faz o processamento de segurança, mas quem controla esse processo de

segurança são as camadas superiores, ajustando as chaves de criptografia e determinando os

níveis de segurança que deverão ser utilizados. Quando a camada MAC transmite (ou recebe) um

frame, verifica o destino (a fonte do frame), recupera a chave associada com esse destino (fonte),

e usa então esta chave para processar o frame de acordo com a rotina de segurança designada

para a chave que está sendo usada. Cada chave é associada a uma única rotina de segurança e o

cabeçalho do frame MAC possui um bit que especifica se a segurança para o frame está

habilitada ou não. A camada MAC utiliza o padrão AES (Advanced Encryption Standard) como

seu algoritmo de criptografia, descrevendo uma variedade de rotinas de segurança. Estas rotinas

têm como objetivo prover a confidencialidade, a integridade e a autenticidade dos quadros da

camada MAC. [4]

3.6.3. Futuro do IEEE 802.15.4 e Zigbee

Conforme a Zigbee Alliance continua em aberto o desenvolvimento do padrão e

atualmente há um grupo de trabalho que se encontra a desenvolver a versão “4a” que visa criar

uma camada física relacionada diretamente com o padrão USB. As condições de precisão e

localização serão melhoradas para um metro, taxas escalonáveis com alcance melhorado de entre

20 à 40 metros no interior e até 1 km no exterior com o consumo de energia reduzido [4]. Além

da versão 4a, existe ainda o grupo 4b que encontra-se a desenvolver a versão também chamada

de “4b” que planeja ter outras bandas alternativas disponíveis, bem como, corrigir problemas não

tratados nas versões anteriores.

A Texas Instruments comprou a Chipcon (fabricante do chip CC2420) e pretende lançar

no mercado um novo chip que alem de proporcionar as mesmas características do CC2420 já vai

trazer no mesmo dispositivo um microcontrolador para poder realizar melhores atividades e

diminuir a necessidade da compra de componentes. O futuro do Zigbee depende da expansão dos

mercados em que são usadas redes sensoriais, sendo a maior motivação com objetivo de ainda

melhorar e aumentar a eficiência da gestão dos negócios [21].

76

Atualmente a Zigbee Alliance realiza experiências para utilização de sensores Zigbee

alimentados por energia solar; com isto leva-nos a crer que num futuro próximo os sensores

poderão funcionar de forma contínua, desfazendo-se da dependência das baterias tradicionais. A

estimativa é que no futuro alguns sistemas poderão usar o IEEE 802.15.4 como suporte sem a

utilização do Zigbee ou possuir um grau de interoperabilidade [16].

77

4. Projeto do Hardware

Para o projeto do hardware, primeiramente foi realizada uma pesquisa sobre os

chips que possuem suporte para o padrão IEEE 802.15.4. Na pesquisa foram

encontrados dois chips que apresentavam as necessidades básicas para realização

desse projeto. Existem dois fabricantes dos chips que já trazem o Zigbee.

Para desenvolvimento do hardware, foi determinado que ele possuirá um chip

responsável pela comunicação Zigbee. Haverá um microcontrolador que será

responsável pelo software de gerenciamento de impressão (seção 5 deste trabalho),

onde o mesmo terá uma lista de impressão e um relatório de impressão. Para

armazenar os dados que serão impressos, o dispositivo contará com o auxilio de uma

memória externa (SD card). Para realizar a comunicação do dispositivo com a

impressora, será utilizada a porta USB da impressora, e para realizar essa

comunicação, será utilizado o FT232BM. No dispositivo haverá um TLV3V3 que

regulará a tensão da entrada do UBS para 3,3 Volts que alimentará os demais

componentes.

Figura 4.1 – Diagrama do Hardware.

Segue abaixo um maior detalhamento de cada componente do gerenciador de

impressão.

78

4.1. Chip CC2420 (Smart card RF)

O CC2420 é um chip desenvolvido pela Chipcon Products a pouco tempo

comprado pela Texas Instruments e tem como objetivo satisfazer as premissas da

ZIGBEE, oferecendo comunicação wireless utilizando os princípios do padrão IEEE

802.15.4. Ele terá a freqüência 2.4 GHz como banda e proporcionando ao usuário um

dispositivo de baixo consumo de energia de baixas taxas de transferências (250 kpbs).

O CC2420 é uma solução de baixo custo e altamente integrada para

comunicações wireless na faixa de 2.4 GHz com os regulamentos da rede mundial,

como por exemplo, EN 300 328 de ETSI e por EN 300 440 classe 2 (Europa), parte

15 do FCC CFR47 (E.U.) e ARIB STD-T66 (Japão). O CC2420 fornece a sustentação

extensiva para os pacotes com segurança, dados de buffering, estouro de transmissões,

dados encriptados, autenticação dos dados, avaliação de desobstruída do canal,

indicação da qualidade da ligação e informação do sincronismo do pacote.

Estas são características que reduzem a carga no controlador do host e permite

que CC2420 se conecte a um microcontrolador. A relação da configuração e a

transmissão/recepção FIFOs do CC2420 são alcançadas através de uma relação de

SPI. Em uma aplicação típica CC2420 será usado junto com a microcontrolador e

alguns componentes passivos externos. [22]

79

Figura 4.2 – Desenho da pinagem do CC2420.

Características

• Transceptor de 2400 MHz - 2483.5 MHz de RF;

• Propagação direta da seqüência de espectro (DSSS);

• Taxa de dados de 250 kbps, 2 MChip/s taxa do chip;

• O-QPSK com meio pulso do seno dando forma à modulação;

• Consumo muito baixo de RF (RX: 18.8 miliampères, TX: 17.4

miliampères);

• Sensibilidade elevada (-95 dBm);

• Elevado canal de rejeição adjacente (30/45 dB);

• Elevado canal de rejeição alternativo (53/54 de DB);

• No Microchip VCO, LNA e PA;

• Suporte de baixa tensão (2.1 - 3.6) com o regulador de tensão no

microchip;

• Saída de energia programável;

• I/Q baixo-IF decisão de recepção;

• I/Q direta conversão de transmissão;

80

• Separação de transmissão e recepção de dados;

• 128 byte de transmissão de dados FIFO;

• 128 byte de recepção de dados FIFO;

Baixa necessidade com componentes externos:

• Apenas referência com cristal e um número mínimo de agentes

passivos;

• Não há necessidade de filtros externos;

Fácil configuração de interface:

• Relação de 4 saídas SPI;

• Pulso de disparo de série de até 10 megahertz;

Circuito CC2420

Figura 4.3 – Diagrama de Bloco do CC2420.

O Chip CC2420 segue a regulamentação da IEEE 802.15.4, como descrito na

seção X.X. Junto ao chip existe também um software disponibilizado pela chipcon

chamado de SmartRF® Studio, para plataforma window, onde o usuário configura as

características do chip.

81

O CC2420 caracteriza-se pelo baixo-SE de receptor. O sinal recebido do RF é

amplificado pelo Amplificador Low Noise (LNA) e convertido para quadratura (I e Q)

a freqüência intermediária (SE). Em SE (2 megahertz), o complexo sinal de I/Q é

filtrado, amplificado e digitalizado então pelo ADCs. Automático ganho de controle

filtra o sinal do canal, correlação e símbolo de byte a sincronização é executada

digitalmente. Quando o pino de SFD vai alto, este indica que foi detectado o começo

do delimitador do frame. CC2420 protege os dados recebidos em 128 byte ao receber

o FIFO. O usuário pode ler o FIFO através de uma relação em modo SPI. O CRC é

verificado no hardware. RSSI e os valores da correlação são adicionados ao quadro.

CCA está disponível em um pino que recebe dentro modalidade. As modalidades

(sem buffer) de série dos dados estão disponíveis para finalidades do teste. O

transmissor CC2420 é baseado em conversão direta. Os dados são protegidos em 128

byte que o CC2420 transmite FIFO (separar da recepção FIFO). O preâmbulo

(seqüência de bits para sincronizar) e o começo do delimitador do frame que é gerado

pelo hardware. Cada símbolo (4 bits) é espalhado usando o IEEE 802.15.4 que

espalha seqüência a 32 microchips e saída aos conversores digital/analógicos (DACs).

Um filtro passa-baixas análogo passa o sinal ao conversor de quadratura (I e Q)

misturado. O sinal do RF é amplificado no amplificador de energia (PA – Power

Amplifier) e alimenta a antena.

Os circuitos internos do interruptor de T/R fazem relação e combinar com

antenas de fáceis instalações. A conexão do RF é diferencial. Uma simples antena

pode ser usada para “single-ended”. O sincronizador da freqüência está incluído

dentro do próprio chip e uns divisores de fases. Um cristal deve ser conectado a

XOSC16_Q1 e XOSC16_Q2 e para fornecer a freqüência de referência para

sincronização. Um sinal digital de fechamento é disponível pelo PLL. A banda base

digital inclui suporte para o quadro handling, reconhecimento de endereço, dados

buffering e segurança do MAC. [22]

82

U1

CC2420

1

2

4

3

5

6

7

8

9

10

11

12

13 14 15 16 17 18 19 20 21 22 23 24

36

35

34

33

32

31

30

29

28

27

26

25

48 47 46 45 44 43 42 41 40 39 38 37

VCO_GUARD

AV DD_VCO

AV DD_RF1

AV DD_PRE

GND

RF_P

TXRX_SWITCH

RF_N

GND

AV DD_SW

NC

NC

NC

AV

DD

_R

F2

AV

DD

_IF

2

NC

AV

DD

_A

DC

DV

DD

_AD

C

DG

ND

_G

UA

RD

DG

UA

RD

RE

SE

Tn

DG

ND

DS

UB

_P

AD

S

DS

UB

_C

OR

E

NC

DVDD_RAM

SO

SI

SCLK

CSn

FI FO

FI FOP

CCA

SFD

DVDD1.8

DVDD3.3

AV

DD

_CH

P

AT

ES

T1

AT

ES

T2

R_

BIA

S

AV

DD

_IF

1

VR

EG

_IN

VR

EG

_OU

T

VR

EG

_E

N

NC

XO

SC

16_Q

1

XO

SC

16_Q

2

AV

DD

_XO

SC

16

FIFO

R1

SI

0

0

CSn

SDF

0

VCC 3V3

0

R2

Antena

0

C2

0

CCA

VREG_E N 3V3

L2

0

RESETn

C30

0

(50 ohms)

C1

C4

X1

SCLK

R3

FIFOP

0

SO

L3 L1

Figura 4.4 – Representação do circuito de um CC2420.

Abaixo segue a lista de componentes do circuito do CC2420, na tabela 4.1.

Item Descrição

R1 Resistor 43K

R2 Resistor 43K

R3 Resistor 43K

C1 Capacitor CERÂMICO 56pF

C2 Capacitor ELETROLÍTICO 0,1µF

C3 Capacitor CERÂMICO 27pF

C4 Capacitor CERÂMICO 27pF

L1 Indutor 8,2MH

L2 Indutor 22MH

L3 Indutor 1,8MH

X1 Cristal 16MHZ

83

U1 Chip CC2420 da Chipcon

Tabela 4.1 – Lista de componentes do circuito CC2420.

Figura 4.5 – Representação da comunicação do CC2420 com o Microcontrolador.

O chip já trás completo suporte as necessidades para segurança das operações

na camada MAC, como por exemplo, encriptação e autenticação dos dados. Outras

funções já inseridas são como RSSI / Detecção de energia, indicação da qualidade do

link, entre outros mecanismos para assegurar aos usuários qualidade de serviço do

Zigbee.

Para maiores informações sobre o CC2420 e suas características, você pode

encontrar nesse link o data sheet:

http://www.chipcon.com/files/CC2420_Data_Sheet_1_3.pdf

No data sheet você poderá encontrar maiores informações sobre suas

caraterísticas, comunicação, dados sobre segurança da informação, informações sobre

a interface com o microcontrolador, tempos de transmissão, configurações entre

outras informações.

84

4.2. PIC18F2620 (Microcontrolador)

Para ser o micro controlador do dispositivo será utilizado o PIC18F2620 da

Microchip Technology Inc. Esse dispositivo possui 28 bits, com 10 bits de conversor

A/D com tecnologia nanoWatts, sendo ele

Nele será armazenada a aplicação desenvolvida na seção 5 deste trabalho a

cabe a ele fazer a recepção dos dados do CC2420, armazenar e administrar os dados

do SD card e enviá-los pelo USB (FT232BM) para impressora. Para receber a

aplicação do gerenciador, esse dispositivo possui em espaço interno, onde será

gravado através de (detalhar linguagem) a programação do gerenciador.

Figura 4.6 – Desenho da pinagem do PIC18F2620.

O PIC18F2620 cuidará da comunicação e armazenamento dos dados. Ao

receber os dados do CC2420, essas informações será armazenadas na memória e a

aplicação armazenada no PIC cuidará para que os dados no momento certo sejam

entregues a impressora para que a mesma possa realizar a tarefa de impressão.

Para comunicação com o CC2420 será utilizada a porta B. Para comunicação

com o SD Card será utilizada alguns pinos da porta A e para o FT232BM

(comunicação USB) será utilizado alguns pinos da porta C.

Logo abaixo, segue um desenho extraído do data sheet do PIC18F2620 com a

representação do diagrama de blocos do Chip.

85

Figura 4.7 – Diagrama de Bloco do PIC18F2620.

86

DAT 0 - 3

SO

RESETn

USBC9

CSn

SD CardCMD

CMD

FIFO

SDF

X2

SCLK

FIFO P

0

U12

1

2

3

4

5

6

7

8

9

10

11

12

13

14

28

27

26

25

24

23

22

21

20

19

18

17

16

15

MCLR/Vpp/RE3

R A0/AN0

R A1/AN1

RA2/AN2/Vref-/CVref+

RA3/AN3/Vref+

RA4/T0CKI/C1OUT

RA5/AN4/SS/HLVDIN/C2OUT

Vss

OSC1/CLKI/RA7

OSC 2/CLKO/RA6

RCO/T1OSO/T1ECKI

RC1/T1O SI/CCP2

RC2/CCP1

RC S3/SCK/SCL

RB7/KBI3/PGD

RB6/KBI2/PGC

RB5/KBI1/PGM

RB4/KBI0/AN11

RB3/AN9/C CP2

RB2/INT2/AN8

RB1/INT1/AN10

RB0/INT0/FLT0/AN12

Vdd

Vss

RC7/RX/D T

RC6/TX/CX

RC5/SDO

RC4/SDI/SDA

CMD

CLK

VREG_EN

VCC 3V3C8

VCC 3V3

R6

1k

SI

0

CC A

Figura 4.8 – Diagrama de conexão do PIC18F25620.

Abaixo segue a lista de componentes do circuito do PIC18F2620, na tabela

4.2.

Item Descrição

R6 Resistor 1K

C8 Capacitor CERÂMICO 56pF

C9 Capacitor CERÂMICO 56pF

X2 CRISTAL 6Mhz

U12 Chip PIC18F2620 da Microchip

Tabela 4.2 – Lista de componentes do circuito PIC18F2620.

Abaixo segue a lista de componentes do circuito do PIC18F2620, na tabela

4.2.

Para maiores informações sobre o PIC18F2620 e suas características, você

pode encontrar nesse link o data sheet:

http://ww1.microchip.com/downloads/en/DeviceDoc/39626b.pdf

No data sheet você encontrará maiores informações sobre seu funcionamento,

sua programação, suas portas de entradas e saídas, posição de memória interna entre

outras informações.

87

4.3. SD Card (memória)

Para memória do hardware será utilizado um SD Card. Estes cartões são

memórias flash, altamente integradas com potencialidade de acesso de série e

aleatório. É acessível através de uma relação de série dedicada otimizada para a

transmissão rápida de dados e de confiança. Esta relação permite que diversos cartões

sejam empilhados para operar de modo que o usuário possa obter maior capacidade de

armazenamento. O sistema de cartão do SD é um novo sistema de memória de massa

baseado em inovações na tecnologia de semicondutor. Foi desenvolvido para fornecer

um meio de armazenamento barato, mecanicamente robusto no formulário do cartão

para aplicações multimídia do consumidor. O cartão do SD permite o projeto de

hardware que necessitem de memória para aplicações móveis extremamente baratas e

que apresentem necessidade da armazenar dados. Um consumo de potência baixo e

uns favores largos de uma escala da tensão de fonte móveis, uma aplicação que

utilizam bateria como alimentação tal como tocadores de áudio (MP3 players),

agendas eletrônicas, palmtops, livros eletrônicos, enciclopédia e celulares.

Abaixo segue um esquemático do diagrama de blocos do “SD Card”. O Cartão

pode ser ligado de duas maneiras. Modo SD Card, e Modo SPI. O sistema de Host

pode escolher qualquer uma das modalidades. A modalidade do cartão do SD permite

4 bit de transferência de dados de alto desempenho. A modalidade de SPI permite a

relação fácil e comum para o canal SPI. A desvantagem desta modalidade é a perda de

desempenho, relativamente à modalidade do SD.

88

Figura 4.9 – Diagrama de Bloco do SD Card.

Todas as unidades do cartão SD são cronometradas por um gerador de pulso

de disparo interno. A unidade do driver da relação sincroniza os sinais de DAT e de

CMD de CLK externo ao pulso de disparo usado sinalização interna. O cartão é

controlado pelas seis linhas de relação do cartão do SD que contem os sinais: CMD,

CLK, DAT0 até DAT3. Para a identificação do cartão do SD em uma pilha do cartão

do SD, há um registro da identificação do cartão (CID) e um relativo a e um registro

de endereço (RCA) são requisitados. Um registro adicional contém diferentes tipos

de parâmetro da operação e esse registro é chamado (CSD). A comunicação que usa o

cartão do SD alinha para alcançar ou o campo da memória ou o registro é definido

pelo padrão do cartão do SD. O cartão tem sua própria unidade que detecta energia.

Não há nenhum modo de reset após o dispositivo estiver alimentado. O SD está

protegido contra curto-circuito durante a inserção e a remoção do mesmo quando o

sistema estiver ligado. Não há necessidade de fonte de programação externa de

tensão. A tensão de programação é gerada no cartão. Este sustentação do cartão SD

cria uma segunda modalidade da operação da relação a modalidade da relação de SPI.

A modalidade de SPI é ativa se o sinal do CS estiver afirmado (negativo) durante a

recepção do comando da restauração (CMD0).

89

O barramento SPI permite uma linha de dados por 2 canais (dados In e Out).

A modalidade compatível de SPI permite que os sistemas do Host MMC utilizem o

cartão de SD com pouca mudança. A modalidade do SPI é de transferência dos bytes.

Todos os símbolos de dados são múltiplos dos bytes (8 bit) e sempre do byte alinhado

ao sinal do CS. A vantagem da modalidade de SPI é a redução do projeto do Host no

esforço. Especialmente, o Host do MMC pode ser modificado com pouca mudança.

A desvantagem da modalidade de SPI é a perda do desempenho contra a modalidade

do cartão do SD. Abaixo segue a tabela com os pinos e a descrição no modo SPI.

O barramento do SD permite a configuração dinâmica do número da linha dos

“dsts” de 1 ao sinal bidirecional de 4 dados. Depois que a alimentação do SD foi

realizada, o cartão do SD usará somente DAT0. Após a iniciação, o host pode mudar a

largura da barramento. As conexões multiplicadas dos cartões do SD estão

disponíveis ao host. As conexões do sinal da terra comum VCC, do VSS, e do CLK são

disponíveis na conexão múltipla. Entretanto, o comando, responde e a linha de dados

(DAT0~DAT3) será dividida para cada cartão do host. Esta característica permite

um comércio fácil entre os custos do hardware e do desempenho do sistema. Uma

comunicação sobre o barramento do SD é baseada no fluxo de bits do comando e de

dados iniciado por um bit de inicialização terminando pelo bit de finalização.

CLK: com cada ciclo deste sinal transferido de um bit nas linhas do comando

e de dados é feito. A freqüência pode variar entre zero e a freqüência de pulso de

disparo máxima. O mestre do barramento do cartão SD está livre para gerar estes

ciclos sem limitação na escala de 0 a 25Mhz.

CMD: Os comandos são transferidos em série na linha de CMD. Um comando

é um símbolo de começo de uma operação do host ao cartão. Comandos emitidos a

um único cartão de endereço (comando do endereço) ou a todos os cartões conectados

(comando do boardcast). As respostas são transferidas em série na linha de CMD.

Uma resposta é um símbolo a responder de um comando precedente. As respostas são

emitidas de um único cartão ou de todos os cartões conectados.

DAT0~3: Os dados podem ser transferidos do cartão ao host ou vice-versa. Os

dados são transferidos através da linha de dados.

90

C6

C LK

D AT 0 - 3

MC

C7 U11 1 2 8765439

CS DI

RS

V

DO

Vss2

CLKVcc

Vss1

RS

V

R5R4

0

C MD

0

C5

0

0

VCC 3,3

Figura 4.10 – Diagrama da conexão do SD Card.

O SD card é comercializado com diferentes tamanhos de armazenamento na

memória. Isso possibilita que o usuário escolha o tamanho da memória conforme sua

necessidade. As memórias são comercializadas nos tamanhos: 32MB, 64MB, 128MB,

256MB, 256MB, 512MB, 1GByte e várias empresas já comercializam memória no

padrão SD.

Abaixo segue a lista de componentes do circuito do SD Card, na tabela 4.3.

Item Descrição

R4 Resistor 100K

R5 Resistor 100K

C5 Capacitor CERÂMICO 10pF

C6 Capacitor CERÂMICO 10pF

C7 Capacitor CERÂMICO 10pF

U11 SD Card da Kingmax de 128MB

Tabela 4.3 – Lista de componentes do circuito do SD Card.

4.4. FT232BM (USB)

O FT232BM é a 2° geração de FTDIs da USB UART I.C. Este dispositivo adiciona, não

somente as funcionalidades extras de seu predecessor FT8U232AM e reduz a contagem de

componente externos, mas também reduz o número de pinos, fazendo com isso uma diminuição

no custo (compra de mais componentes) e um ganho na área de implementação possibilitando

um aumento do potencial do componente para ser utilizado em áreas de novas aplicações.

Figura 4.11 – Desenho da pinagem do FT232BM.

Características:

• Transferência de dados de série assíncrona para um único Chip USB;

• Data rate 300 => 3M Baud (TTL);

• Data rate 300 => 1M Baud (RS232);

• Data rate 300 => 3M Baud (RS422/RS485);

• 384 Byte no buffer de recepção / 128 Byte no buffer de transmissão;

• Buffer Timeout do TX ajustável;

• Assistência completa ao hardware ou X-On /X-Off;

92

• Sustentação In-Built para eventos com caracteres e condições quebradas;

• Auto controle na transmissão de buffer para RS485;

• Suporte para USB suspende / resume through nos pinos SLEEP# e RI#;

• Suporte para dispositivos no barramento com necessidade de energia elevado através do

pino de PWREN#;

• Integrado conversor de level no UART e os sinais de controle para interface de 5V e

3.3V;

• Integrado regulador de 3.3V para USB IO;

• Circuito integrado de Power-On-Reset;

• Integrado 6MHz - 48Mhz de clock do multiplicador PLL;

• Volume do USB ou modalidades isocrônicas de transferência de dados;

• 4.35V a 5.25V de operação da fonte;

• UHCI / OHCI / EHCI compatível com o controlador do host;

• Compatível com USB 1.1 e USB 2.0;

• USB VID, PID, número de série e descrição do produto na parte externa da EEPROM;

• EEPROM programável através do USB;

• Pacote compacto do 32-LD LQFP;

Figura 4.12 – Diagrama de Blocos do FT232BM.

93

Para o FT232BM é necessário ter uma EEPROM (93C66), com capacidade de 256 x 16

Bit, que irá conter o Drive do USB para realizar a interface entre o dispositivo (gerenciador)

com a impressora. Outra componente existente nesse diagrama é a existência de um regulador de

tensão TLV 3V3. Com ele o dispositivo, conectado na impressora receberá 5Volts na entrada do

USB, e para alimentar os demais componentes é necessário 3,3 Volts. Sendo assim o TLV irá

regular a tensão para alimentar os demais componentes. Também há existência de dois LEDs que

indicaram a comunicação.

R13

D 2

R 10

U16TLV 3V3

1 3

2

IN OU T

GN

D

MC

Vcc circuito

0

C12

U141

2

3

4 5

6

7

8CS

SK

DIN

DOUT GND

NC

NC

VCC

0

1234

VCCDMBP

GND

0

C 13

R12

R11

R8

C11

CMD

Saída USB

C14

5V

0

0

Saída 3V3

0

CMD

X3

U 13

3 03

1

2

4

5

6

7

8

9

10

11

12

13

14

15

16 1 7

1 8

1 9

2 0

2 1

2 2

2 3

2 4

2 5

2 6

2 7

2 8

2 9

3 1

3 2

AVVCVCC

EESK

EEDATA

R ESET#

R STOUT#

3V3OU T

U SBDP

U SBDM

GND

SLEEP#

R XLED #

TXLED#

VCCIO

PWR CTL

PWR EN #

TXD EN GND

RI#

D CD#

DSR#

DTR#

CTS#

RTS#

RXD

TXD

VCC

XTIN

XTOUT

AGND

TEST

EEC S

D 1

C 10

0

R14

R 9

0

R 15

R 7

0

Figura 4.13 – Diagrama de conexão do FT232BM.

Abaixo segue a lista de componentes do circuito do FT232BM, na tabela 4.4.

Item Descrição

R7 Resistor 1K

R8 Resistor 27K

R9 Resistor 27K

94

R10 Resistor 1K5

R11 Resistor 220

R12 Resistor 220

R13 Resistor 10K

R14 Resistor 2K2

R15 Resistor 470

C10 Capacitor CERÂMICO 100pF

C11 Capacitor CERÂMICO 27pF

C12 Capacitor CERÂMICO 27pF

C13 Capacitor POLIESTER 10n

C14 Capacitor POLIESTER 22n

LED1 LED 3MM AMARELO

LED2 LED 3MM VERDE

X3 CRISTAL 4Mhz

U16 Regulador de tensão TLV2217-33KC da Texas Instruments

U13 Chip FT232BM da FTDI Chip

U14 EEPROM 93C66 da Atmel

Tabela 4.4 – Lista de componentes do circuito do FT232BM.

Para maiores informações sobre o FT232BM e suas características, você pode encontrar

nesse link da FTDI Chip o data sheet:

http://www.ftdichip.com/Documents/DataSheets/ds232b18.pdf

No data sheet você encontrará maiores informações sobre seu funcionamento, sua

programação, utilização da EEPROM juntamente com o driver do USB e como converter no

próprio Chip para comunicação serial RS232.

No Link da Atmel poderá ser encontrado o data sheet da EEPROM 93C66 juntamente

com suas características.

http://www.atmel.com/dyn/resources/prod_documents/doc3378.pdf

E no link abaixo, da Texas Instruments, sobre o TLV3V3 (regulador de tensão).

http://focus.ti.com/lit/ds/symlink/tlv2217-33.pdf

95

4.5. BOM List ( Bill of Material)

OBSERVAÇÃO: Os valores a seguir foram pesquisados entre Maio e Junho

de 2006. Seus valores estão em reais e os componentes elétricos (resistores,

capacitores, indutores, LEDs, cristais) foram pesquisados em lojas especializadas. Já

os componentes específicos, como CC2420, PIC18F2620, FT232BM, SD Card, seus

preços foram retirados dos sites dos respectivos fabricantes e na tabela não estão

incluídos os valores das taxas de transporte e importação. Os valores são

aproximados, podendo sofrer alterações de loja para loja. Para o SD Card foi estimado

um cartão de 128MB.

Item Descrição Preço R$

(Junho de 2006)

Resistor

R1 Resistor 43K 0,10

R2 Resistor 43K 0,10

R3 Resistor 43K 0,10

R4 Resistor 100K 0,10

R5 Resistor 100K 0,10

R6 Resistor 1K 0,10

R7 Resistor 1K 0,10

R8 Resistor 27K 0,10

R9 Resistor 27K 0,10

R10 Resistor 1K5 0,10

R11 Resistor 220 0,10

R12 Resistor 220 0,10

R13 Resistor 10K 0,10

R14 Resistor 2K2 0,10

R15 Resistor 470 0,10

96

Capacitor

C1 Capacitor CERÂMICO 56pF 0,30

C2 Capacitor ELETROLÍTICO 0,1µF 0,20

C3 Capacitor CERÂMICO 27pF 0,10

C4 Capacitor CERÂMICO 27pF 0,10

C5 Capacitor CERÂMICO 10pF 0,30

C6 Capacitor CERÂMICO 10pF 0,30

C7 Capacitor CERÂMICO 10pF 0,30

C8 Capacitor CERÂMICO 56pF 0,30

C9 Capacitor CERÂMICO 56pF 0,30

C10 Capacitor CERÂMICO 100pF 0,30

C11 Capacitor CERÂMICO 27pF 0,10

C12 Capacitor CERÂMICO 27pF 0,10

C13 Capacitor POLIESTER 10nF 0,25

C14 Capacitor POLIESTER 22nF 0,15

Indutor

L1 Indutor 8,2MH 0,90

L2 Indutor 22MH 0,90

L3 Indutor 1,8MH 0,90

LED

D1 LED 3MM AMARELO 0,35

D2 LED 3MM VERDE 0,35

Cristal

X1 Cristal 16MHZ 7,70

X2 Cristal 6Mhz 1,80

X3 Cristal 4Mhz 3,40

U16* Regulador de tensão TLV2217-33KC da Texas Instruments 1,80

U1* Chip CC2420 da Chipcon 9,00

97

U13* Chip FT232BM da FTDI Chip 10,00

U11* SD Card da Kingmax de 128MB 46,00

U12* Chip PIC18F2620 da Microchip 18,00

U14* EEPROM 93C66 da Atmel 5,00

Placa Placa FENOLITE 10X15 DUPLA FACE 3,70

Conector USB*

Conector USB 3,00

Conector SD Card*

Conector simples para ligar o SD card 5,00

Proteção Proteção de plástico 10,00

PREÇO ESTIMADO: 132,40

Tabela 4.1 – lista da Bill of Material.

* - preços que tiveram seus valores convertidos de dólar para reais.

98

5. Projeto do Software

Para o software de gerenciamento das impressões, primeiramente, será

apresentado um diagrama com os passos da aplicação, e logo em seguida uma breve

descrição das atividades que a aplicação vai realizar separadas em “rotinas”.

Figura 5.1 – Diagrama do Gerenciador de Impressão.

99

5.1. Estado do Dispositivo

A impressora pode se encontrar em dois estados: Ligada ou com Erro. Para

obter essa informação, o dispositivo irá acessá-la e obterá essa informação acessando

o EWS (Embedded Web Server), na memória da impressora, onde encontrará um

registro do estado em que a impressora se encontra (pronta para imprimir ou com

erro).

Sendo assim, o dispositivo tendo a informação do estado da impressora,

registrará essas informações como sendo sua própria informação de estado (DES –

estado do dispositivo). Quando o usuário tentar contatar a impressora, o dispositivo

enviará uma mensagem indicando o atual estado da impressora para o Usuário. Caso o

estado esteja em Erro, o dispositivo enviará ao usuário uma mensagem indicando o

erro em que ela se encontra. O dispositivo registra o erro ocorrido e envia informando

para o usuário.

Outra informação que o dispositivo busca na impressora é se a mesma está

“Livre” ou “Ocupado”. Essa informação também será registrada pelo dispositivo (DR

– dispositivo pronto para impressão), e ele permitirá que os dados sejam enviados

para serem armazenados na lista de impressões (LI).

Se a impressora estiver desligada, conseqüentemente o dispositivo também

estará desligado. O usuário ao tentar se comunicar após um tempo (timeout) o próprio

dispositivo de rede (zigbee) avisará que o mesmo se encontra inacessível.

5.2. JOB (Dados para impressão)

O gerenciador tendo posse da informação sobre o estado da impressora (pronta

ou com erro) sabe que a mesma está pronta para receber um documento para

impressão, também chamado de JOB. O usuário após receber um aviso de que a

impressora está pronta e esperando um JOB, vai enviar os dados que serão

armazenados na memória auxiliar. Com o dado armazenado na memória, o dispositivo

analisa se esse dado está ocupando um espaço que não seja a primeira posição da lista.

Se o dado estiver, por exemplo, na segunda posição ou em alguma posição

diferente da primeira, a aplicação enviará para o endereço de destino do JOB

(solicitante de impressão) uma mensagem informando que o pedido de impressão foi

100

armazenada na lista de impressão e solicitando que o usuário aguarde por uma outra

mensagem informando que os dados foram enviados para serem impressos.

Se estiver pronta para imprimir, o gerenciador então mudará o estado de

impressão para “ocupado” (DR = ocupado), assim fazendo com que ao receber novos

JOBs, eles sejam armazenados na lista de impressão (LI). Se a posição desse novo

JOB se encontrar diferente da primeira posição, então o dispositivo envia uma

mensagem informando ao usuário (como foi descrito anteriormente). Esse JOB fica

armazenado até que a impressão do primeiro JOB seja executada com sucesso

(resposta da impressora), e o gerenciador altere o estado do dispositivo. No caso de

estado “ocupado” a gerenciador fica em um loop tentando imprimir o JOB.

Mudado o estado para “ocupado” o dispositivo busca na lista de impressões o

JOB que estiver ocupando a primeira posição. Já com os dados prontos para serem

impressos, o gerenciador registra as informações num relatório de solicitação de

impressão (comentado na seção 5.4) e em seguida envia os dados (JOB) para

impressora. Após imprimir o JOB, o dispositivo acessa o “JOB History” (através do

Chai) para saber o resultado da impressão. Se a impressão estiver com a informação

de “Sucesso”, o dispositivo executará quatro atividades seguintes:

Primeiro; O gerenciador registrará no relatório de impressão a informação de

que o JOB foi impresso com sucesso. Essa informação ao dispositivo pode conseguir

acessando a impressora.

Segundo; Enviará para o endereço de destino (solicitante da impressão) um

evento ACK informando que a impressão foi realizada com sucesso.

Terceiro; Comparará o nome do JOB recém impresso com sucesso com o

nome do primeiro JOB da lista. Se for o mesmo nome, então o gerenciador apagará

esse JOB da primeira posição e passará o segundo JOB para primeira posição e assim

com o restante da lista que diminuirá uma posição (posição da lista menos 1).

Quarto; Mudará o estado do gerenciador (DR) de “ocupada” para “livre”

permitindo assim que o mesmo envie os próximos trabalhos para impressora. Se

existir JOB na pilha, esse será enviado para ser o próximo a ser impresso, repetindo o

processo de impressão.

Sendo assim, ele evita que ao imprimir um JOB, seja impresso um novo JOB

recém chegado ao gerenciador, logo após esse tenha sido alterado. Esse JOB vai

entrar na pilha (última posição), enquanto o próximo JOB a ser impresso será o que

estava em segundo lugar durante a impressão.

101

5.3. Acesso ao gerenciador

O administrador da rede tem acesso ao microcontrolador, onde é permitido que

esse possa visualizar a lista de JOBs na memória alterar a ordem da lista. Todos os

usuários da rede poderão acessar o gerenciador para visualizar a lista dos JOBs, mas

apenas o administrador da rede terá permissão para fazer alterações na lista. Ele

poderá alterar a posição dos JOBs ,exceto o primeiro, para que não ocorra o caso de

imprimir duas vezes o mesmo JOB e de cancelar alguns JOBs da lista. Os demais

usuários da rede também poderão cancelar JOBs, desde que estes não estejam na

primeira posição, pois estará sendo impresso.

Figura 5.2 – Diagrama dos Acessos a Lista de impressão.

5.4. Relatório de Impressão

O administrador da rede terá acesso a uma lista de registro, e sua aplicação

registrará as entradas e as saídas. O administrador acessando o microcontrolador vai

ter acesso a um relatório onde ele poderá encontrar as seguintes informações: os JOBs

numerados em ordem de solicitação, as informações do usuário que solicitou,

endereço de destino da impressão, quantidade de folhas, tamanho do arquivo,

quantidade de papel, data entre outras informações. Será registrado nesse gerenciador

tudo que for para impressora e os resultados dela.

102

Todo JOB que for enviado será registrado com o resultado de “sucesso” ou

“falha”. Quando ocorrer falha, esse erro será registrado nesse relatório com o motivo

da falha. Sempre que for executado o loop de acesso à impressora e for reportado o

erro, essa informação será registrada no relatório.

Figura 5.3 – Diagrama dos Registros no Relatório de Impressão.

5.5. Caso de erro

Caso ocorra um erro o gerenciador avisará o usuário que solicitou a impressão

registrando essa ocorrência no relatório de impressões e vai “capturar” o erro ocorrido

na impressora acessando o “JOB History” através do Chai. Enviará esse erro para o

endereço de destino informando que ocorreu erro durante a impressão e avisando o

motivo do erro, e o usuário será informado se sua impressão já está pronta, ou

havendo erro, ele será informado para corrigi-lo.

Se houver mais JOBs na lista de impressão, o gerenciador enviará uma

mensagem informando que esta encontra-se com erro. Esta mensagem será enviada

para todos os usuários que possuem dados na lista, e eles poderão responder se

desejam manter os dados na lista de impressão ou apagar a solicitação de impressão.

Caso o usuário decida por apagar os dados, o gerenciador acessa a lista e apaga o

JOB.

Sendo assim, mesmo havendo problema com a impressora, os JOB que

chegarem logo após a ocorrência de falha poderão ser armazenados na memória do

103

gerenciador. A impressora estará com estado de “ocupado” por ter ocorrido erro e

permanecerá com esse estado até que alguém corrija. Se houver dados nas filas de

impressão, o gerenciador enviará uma mensagem para todos os endereços de destino

dos dados que estão na lista, assim todos que solicitaram impressão algo serão

avisados de que ocorreu erro e sua impressão pode demorar.

Após corrigir o erro, ela mudará seu estado e o gerenciador após acessar o

EWS da impressora e também mudará seu estado para “pronto/livre”.

A impressora tem como função, ao ocorrer falha na impressão de um arquivo,

tentar imprimir este mesmo arquivo novamente depois de corrigido o problema. Para

isso ela tem um pequeno espaço de memória onde automaticamente após o problema

ser corrigido, ela tenta imprimir o JOB. Pela aplicação do gerenciador, após ocorrer

uma impressão com sucesso, esta armazena essa informação no relatório e verifica o

nome do primeiro JOB da pilha na memória. Se for o mesmo nome, a gerenciador

apaga esse JOB e faz a lista diminuir um número. Como os JOBs enviados durante o

período de “ocupado” são armazenados na memória, após mudar o estado da

impressora para “pronto/livre”, o gerenciador passa a enviar para ela o próximo JOB.

Essas falhas de impressão podem ser ocasionadas por diversos fatores, mas os

principais são: Falta de Papel, Paper Jam, Tonner Baixo, Porta Aberta, etc.

5.6. Pseudocódigo

Pseudocódigo é uma forma genérica de escrever um algoritmo, utilizando uma

linguagem simples (nativa a quem o escreve, de forma a ser entendido por qualquer

pessoa) sem necessidade de conhecer a sintaxe de nenhuma linguagem de

programação. Como o nome indica, é um pseudocódigo e, portanto, não pode ser

executado num sistema real (computador) — de outra forma deixaria de ser pseudo.

Comunicação

(1)

Loop (veri ficação do estado da impressora);

Dispositivo acessa Impressora;

Busca o dado sobre estado da impressora IES (Ligada/Erro);

Busca o dado se a impressora está pronta e esperando dados para impressão IR

(“ Livre/Ocupada”);

104

Registra esse dado como sendo do próprio dispositivo (DES= Ligada/Erro e DR=

Livre/Ocupada);

Checa solicitação de impressão pelo usuário:

Se SIM;

Chama função (2);

Se NÃO;

Chama função (1);

Dados usuário

(2)

Dispositivo envia informações para o usuário sobre seu estado (DES);

Se DES = LIGADA (estado de ligada);

Solicita que envie os dados;

Checa se usuário envio dos dados; chama função (3);

Se DES = ERRO (estado com erro);

Acessa impressora para obter código do erro;

Envia mensagem para usuário informando sobre o erro, na mesma mensagem

pergunta se usuário deseja mandar mesmo assim os dados para serem armazenados;

Checa resposta do usuário;

Se SIM;

Dispositivo recebe os dados e armazena na lista de impressões;

Envia mensagem para usuário informando que dados está na lista

de impressões e para aguardar mensagem confirmando envio para

impressão;

Checa mudança de estado da impressora, chama função (1);

Se NÃO

Checa mudança de estado da impressora, chama função (1);

Recebendo dados

(3)

Dispositivo receberá os dados do Usuário e armazenará dados numa memória auxiliar (lista de

impressões);

-> posição inicial 1 na lista, se ocupando, posição atual + 1;

Ao armazenar., o dispositivo verifica posição de armazenamento;

Se posição = 1;

Chama função (4);

Se posição > 1;

Envia mensagem para usuário informando que dados está na lista de impressões e

para aguardar mensagem confirmando envio para impressão;

Checa mudança de estado da impressora, chama função (1);

105

Analise do estado de impressão

(4)

O dispositivo verifica de o valor de DR;

Se DR = LIVRE;

O dispositivo busca dados da primeiro posição da lista de impressões;

Chama função “ Processo de impressão” (JOB) (5);

Se DR = OCUPADA;

Checa mudança do estado para impressão, chama função (1);

Impressão de JOBs

(5)

Inicializa processo de impressão;

O Dispositivo modifica estado; DR = OCUPADA;

Busca na lista de impressões o dado que está na primeira posição (Posição = 1);

Registra solicitação no Registro de Impressões;

Envia mensagem para usuário informando que documento foi enviado para impressão;

Envia dados para impressora;

O dispositivo checa resposta da impressora (RI) (6);

Impressão

Impressora recebe os dados do dispositivo e executa sua tarefa de imprimir os dados, realizada a

impressão, a mesma cria um evento informando se impressão ocorreu com sucesso ou com falha;

Resposta da impressora

(6)

Loop (resultado da impressão);

O dispositivo tenta acessar resposta da impressora;

Há presença de um timeout caso a impressora não responda;

Se resposta impressora, RI = SUCESSO;

Registra no Relatório de Impressões a impressão com sucesso;

Envia mensagem para endereço de destino informando da impressão com sucesso;

O dispositivo verifica se o nome do primeiro JOB na lista é igual ao recém impresso;

Se for igual;

Apaga com o JOB da lista e passa a posição atual da lista por -1 (Posição -

1);

Se NÃO for igual;

Muda estado, DE = LIVRE;

Executa processo de impressão de JOB, chama função (5)

Se resposta impressora, RI = FALHA;

106

Registra no Relatório de Impressões a impressão com erro;

Registra no estado com ERRO (DES = ERRO) no dispositivo (conseqüentemente para de

imprimir);

Envia mensagem para endereço de destino informando e erro na impressão;

Envia mensagem para o administrador da rede informando e erro na impressão;

Veri fica Lista de Impressões;

Se existir posição > 1;

Chama função (7);

Se NÃO existir Posição >1;

Chama função (1);

Resposta do Erro

(7)

Envia mensagem para todos os endereços dos dados que estão na lista de impressões informando sobre

o erro e pergunta para usuário se deseja cancelar JOB;

Se usuário responder, EUR = SIM (cancelar JOB);

Gerenciador registra na fina de impressão solicitação de cancelamento do usuário;

O dispositivo apaga o JOB da lista de impressões;

Envia mensagem para usuário informando que foi cancelado o JOB;

Reorganiza a lista (Posição da lista – 1);

Checa mudança de estado da impressora, chama função (1);

Se usuário responder, EUR = NÃO (não cancelar JOB);

Checa mudança de estado da impressora, chama função (1);

5.7. Diagrama de Casos

Figura 5.4 – Diagrama de Impressão com Sucesso.

107

Figura 5.5 – Diagrama de Impressão com Erro.

Figura 5.6 – Diagrama de Impressão com mais de um JOB.

108

Figura 5.7 – Tentativa de Impressão com impressora em estado de Erro.

109

6. Conclusões

Zigbee é um novo padrão que se deve olhar com muita atenção. Foi

desenvolvida a partir de uma necessidade do mercado de obter um meio de

comunicação wireless que atende a requisitos como baixo consumo de energia, baixas

taxas de transferência, mobilidade, prático, de fácil instalação e com um custo muito

baixo em relação às outras tecnologias.

Como podemos analisar pelo trabalho o padrão Zigbee não foi desenvolvido

para substituir uma tecnologia já existente, e sim projetado para alcançar um mercado

que o bluetooth e o wi-fi não fornecem para seus usuários. Como foi desenvolvida a

pouco tempo (2003) a Zigbee ainda não alcançou um grande mercado, pouco

difundido pela mídia e pela comunidade acadêmica, mas as mais de 120 empresas que

compõem a Zigbee Alliance prometem difundir mais essa tecnologia que procura

solucionar os problemas existentes nas redes de automações industriais.

Como se trata de uma tecnologia recém criada, ela ainda está sofrendo

algumas alterações em suas especificações técnicas. Outro ponto importante para ser

ressaltado é que recém as empresas estão se organizando para desenvolver produtos

com essa capacidade. A Texas Instruments, grande empresa de equipamentos e

dispositivos tecnológicos comprou a chipcon, empresa responsável pelo

desenvolvimento do chip de RF desse trabalho, e está preparando para 2007 lançar no

mercado um chip, que vai trazer suporte ao zigbee juntamente com um

microprocessador integrados. Ela também garantiu que promoverá maiores

informações para que o zigbee seja bem difundido e mais empresas adotem esse

padrão. A Zigbee Alliance estima que em 2008 o zigbee alcance o número de 200

milhões de nodos sendo utilizados pelo mercado de rede wireless.

Adotando o Zigbee, a empresa Hewlett Packard, estará não só incluindo em

seus produtos essa tecnologia como também fornecendo serviços, nessa que poderá se

tornar uma das redes mais utilizadas nas casas dos usuários já que foi desenvolvida

para atuar como uma rede pessoal, redes com pouca transmissão de dados e visando a

automação de casa, empresas, lojas, mercados.

110

Esse trabalho não pode ser implementado por diversos motivos, sendo um

deles o alto custo para produzir a placa, já que a mesma possui componentes muito

pequenos e as trilhas só poderiam ser feitas utilizando equipamentos apropriados.

Para trabalhos futuros fica em aberto a implementação do dispositivo detalhado nesse

trabalho e desenvolvimento do gerenciador para mais de uma impressora.

111

7. Referências Bibliográficas

[1] “ Zigbee Specification”, Zigbee Alliance, 2005.

[2] KINNEY, Patrick. “ZigBee Technology: Wireless Control that Simply Works”,

Kinney Consulting LLC, 2003.

[3] Tuan, Khanh. “Designing a ZigBee-ready IEEE 802.15.4-compliant radio

transceiver”, Next Generation Wireless, 2004.

[4] HOFFERT, Joe; KLUES, Kevin; ORJIH, Obi. “Configuring the IEEE 802.15.4

MAC Layer for Single-sink Wireless Sensor Network Applications”, Washington

University, St. Louis, 2004.

[5] PEKHTERYEV, Georgiy; SAHINOGLU, Zafer; ORLIK, Philip; BHATTI,

Ghulam. “Image Transmission over IEEE 802.15.4 and ZigBee Networks”, Mitsubishi

Electric Research Laboratories, TR2005-030, 2005.

[6] “ Unleashing Revenue with Zigbee”, Zigbee Alliance and Cambridge Consultants,

2006.

[7] CARVALHO, Paula; PASSARELA, Lucas; SANTOS, Daniel. “ZIGBEE”,

Apresentação trabalho de transmissão de Dados, 2005.

[8] GUTIERREZ, José. “IEEE Std. 802.15.4 – Enabling Pervasive Wireless Sensor

Networks”, Embedded Systems & Communications Group, Innovation Center, EATON,

2005.

[9] NAEVE, Marco. “IEEE 802.15.4 MAC Overview”, EATON Corporation,

Milwaukee, 2004.

[10] MARTIN, Frederick; GORDAY, Paul; ADAMS, Jon. “IEEE 802.15.4 PHY

Capabilities”, Motorola Inc. and Freescale Ins., Milwaukee, 2004.

[11]

“ Tecnologias Wireless”, Curso do Centro de Informatica, DIEBOLD PROCOMP,

112

2005.

[12] MACEDO, Daniel Fernandes. “Segurança em Redes Sem Fio”, Apresentação da

cadeira segurança em Sistemas Distribuídos, 2004.

[13] CALLAWAY, Ed. “ Low Power Consumption Features of the IEEE

802.15.4/Zigbee LR-WPAN Standard”, Motorola Labs, Florida Communication Research

Lab, 2003.

[14] CORNETT, Ken. “IEEE 802.15.4 - Zigbee”, Motorola Labs, Wireless Access

Research Lab, Plantation, FL, 2004.

[15] HEILE, Bob. “CES 2004 / Zigbee Alliance – Wireless Control that Simply Works”,

Zigbee Alliance, 2004.

[16] GREGORI, Erik. “You can do more with the IEEE 802.15.4 wireless standard then

blink a LED or control a light”, Freescale semiconductor, 2004.

[17] NISHIMURA, Naomi. “Pseudocode”, Cornell University Computer Science, 2006.

[18] BRANDÃO, Carlos; AGUIAR, Daniel, ROCHA, Luciana; PRADO, Paulo. “WPAN

– Wireless Personal Area Network”, Apresentação da cadeira Tópicos de Redes,

Universidade da Bahia, 2004.

[19] “HP Printing and Digital Imaging Products IRG - March 1, 2006 – June 30, 2006”,

Hewlett-Packard, 2006.

[20] “Zigbee Alliance – Member Companies”, Zigbee Alliance, 2006.

[21] www.ti.com, página da Texas Instruments, acesso em maio e junho de 2006.

[22] DATA SHEET CC2420, Chipcon and Texas Instruments Incorporated, versão

1.3,2006. http://www.chipcon.com/files/CC2420_Data_Sheet_1_3.pdf

[23] DATA SHEET SD Card, Kingmax Digital inc., versão 1.1,2005.

[24] DATA SHEET FT 232 BM, FTDI Chip, versão 1.8, 2005.

http://www.ftdichip.com/Documents/DataSheets/ds232b18.pdf

[25] DATA SHEET PIC18F2620, Microchip, versão 2, revisado em 2004.

http://ww1.microchip.com/downloads/en/DeviceDoc/39626b.pdf

[26] www.zigbee.org, acesso em fevereiro 2006

[27] www.iee802.org/15/pub/TG4.html, acesso em março 2006

113

[28] www.teleco.com.br, acesso em abril 2006

[29] www.ubs.org, acesso em março 2006

[30] www.hp.com.br, acesso em abril 2006

[31] http://en.wikipedia.org/wiki/Pseudocode, acesso em junho 2006

[32] http://www.bluetooth.com, acesso em maio de 2006

[33] http://www.freescale.com, acesso em abril de 2006

[34] http://www.chipcon.com/, acesso em maio de 2006

[35] http://www.microchip.com, acesso em maio de 2006

[36] http://www.silabs.com, acesso em abril de 2006

[37] DATA SHEET EEPROM 93C66, da Atmel Corporation, revisado em 2005.

http://www.atmel.com/dyn/resources/prod_documents/doc3378.pdf

[38] DATA SHEET TLV2217, da Texas Instruments Incorporated., revisado em 2005.

http://focus.ti.com/lit/ds/symlink/tlv2217-33.pdf

114

8. Anexos

8.1. Pinagem dos componentes.

CC2420

Figura 8.1 – Pinos do CC2420.

Pin Name Type Description

- AGND Ground (analog) Exposed die attach pad. Must be connected

115

to solid ground plane

1 VCO_GUARD Power (analog) Connection of guard ring for VCO (to AVDD) shielding

2 AVDD_VCO Power (analog) 1.8 V Power supply for VCO

3 AVDD_PRE Power (analog) 1.8 V Power supply for Prescaler

4 AVDD_RF1 Power (analog) 1.8 V Power supply for RF front-end

5 GND Ground (analog) Grounded pin for RF shielding

6 RF_P RF I/O Positive RF input/output signal to LNA/from PA in receive/transmit mode

7 TXRX_SWITCH Power (analog) Common supply connection for integrated RF front-end. Must be connected to RF_P and RF_N externally through a DC path

8 RF_N RF I/O Negative RF input/output signal to LNA/from PA in receive/transmit mode

9 GND Ground (analog) Grounded pin for RF shielding

10 AVDD_SW Power (analog) 1.8 V Power supply for LNA / PA switch

11 NC - Not Connected

12 NC - Not Connected

13 NC - Not Connected

14 AVDD_RF2 Power (analog) 1.8 V Power supply for receive and transmit mixers

15 AVDD_IF2 Power (analog) 1.8 V Power supply for transmit / receive IF chain

16 NC - Not Connected

17 AVDD_ADC Power (analog) 1.8 V Power supply for analog parts of ADCs and DACs

18 DVDD_ADC Power (digital) 1.8 V Power supply for digital parts of receive ADCs

19 DGND_GUARD Ground (digital) Ground connection for digital noise isolation

20 DGUARD Power (digital) 1.8 V Power supply connection for digital noise isolation

21 RESETn Digital Input Asynchronous, active low digital reset

22 DGND Ground (digital) Ground connection for digital core and pads

23 DSUB_PADS Ground (digital) Substrate connection for digital pads

24 DSUB_CORE Ground (digital) Substrate connection for digital modules

116

25 DVDD3.3 Power (digital) 3.3 V Power supply for digital I/Os

26 DVDD1.8 Power (digital) 1.8 V Power supply for digital core

27 SFD Digital output SFD (Start of Frame Delimiter) / digital mux output

28 CCA Digital output CCA (Clear Channel Assessment) / digital mux output

29 FIFOP Digital output High when number of bytes in FIFO exceeds threshold / serial RF clock output in test mode

30 FIFO Digital I/O High when data in FIFO / serial RF data input / output in test mode

31 CSn Digital input SPI Chip select, active low

32 SCLK Digital input SPI Clock input, up to 10 MHz

33 SI Digital input SPI Slave Input. Sampled on the positive edge of SCLK

34 SO Digital output

(tristate) SPI Slave Output. Updated on the negative edge of SCLK. Tristate when CSn high.

35 DVDD_RAM Power (digital) 1.8 V Power supply for digital RAM

36 NC - Not Connected

37 AVDD_XOSC16 Power (analog) 1.8 V crystal oscillator power supply

38 XOSC16_Q2 Analog I/O 16 MHz Crystal oscillator pin 2

39 XOSC16_Q1 Analog I/O 16 MHz Crystal oscillator pin 1 or external clock input

40 NC - Not Connected

41 VREG_EN Digital input Voltage regulator enable, active high, held at VREG_IN voltage level when active

42 VREG_OUT Power output Voltage regulator 1.8 V power supply output

43 VREG_IN Power (analog) Voltage regulator 2.1 to 3.6 V power supply input

44 AVDD_IF1 Power (analog) 1.8 V Power supply for transmit / receive IF chain

45 R_BIAS Analog output External precision resistor, 43 kΩ, ± 1 %

46 ATEST2 Analog I/O Analog test I/O for prototype and production testing

47 ATEST1 Analog I/O Analog test I/O for prototype and production testing

48 AVDD_CHP Power (analog) 1.8 V Power supply for phase detector and charge pump

Tabela 8.1 – Pinos do CC2420.

117

Figura 8.2 – Dimensões do CC2420.

118

SD Card

Figura 8.4 – Pinos do SD Card.

Pin Name Type Description

1 CS IN Chip Select (Neg. True) 2 DI IN Data In 3 VSS1 S Ground 4 VCC S Supply Voltage 5 CLK IN Clock 6 VSS2 S Ground 7 DO OUT Data Out 8 RSV - 9 RSV -

Tabela 8.2 – Pinos do SD Card.

119

Figura 8.5 – Dimensões do SD Card.

120

PIC18F2620

Figura 8.6 – Pinos do PIC18F2620.

Pin Name Type Description

1

MCLR

VPP RE3

I

P I

Master Clear (Reset) input. This pin is an active-low Reset to the device. Programming voltage input. Digital input.

2 RA0 AN0

I/O I

Digital I/O. Analog input 0.

3 RA1 AN1

I/O I

Digital I/O. Analog input 1.

4

RA2 AN2

VREFCVREF

I/O I I O

Digital I/O. Analog input 2. A/D reference voltage (low) input. Comparator reference voltage output.

5 RA3 AN3

VREF+

I/O I I

Digital I/O. Analog input 3. A/D reference voltage (high) input.

6 RA4

T0CKI C1OUT

I/O I O

Digital I/O. Timer0 external clock input. Comparator 1 output.

7

RA5 AN4 SS

HLVDIN C2OUT

I/O I I I O

Digital I/O. Analog input 4. SPI™ slave select input. High/Low-Voltage Detect input. Comparator 2 output.

121

8 VSS P Ground reference for logic and I/O pins.

9

OSC1 CLKI

RA7

I I

I/O

ST buffer when configured in RC mode; CMOS otherwise. External clock source input. Always associated with pin function OSC1. (See related OSC1/CLKI, OSC2/CLKO pins.) General purpose I/O pin.

10

OSC2

CLKO

RA6

O

O

I/O

Oscillator crystal output. Connects to crystal or resonator in Crystal Oscillator mode. In RC mode, OSC2 pin outputs CLKO which has 1/4 the frequency of OSC1 and denotes the instruction cycle rate. General purpose I/O pin.

11 RC0

T1OSO T13CKI

I/O O I

Digital I/O. Timer1 oscillator output. Timer1/Timer3 external clock input.

12 RC1

T1OSI CCP2(2)

I/O I

I/O

Digital I/O. Timer1 oscillator input. Capture 2 input/Compare 2 output/PWM 2 output.

13 RC2 CCP1

I/O I/O

Digital I/O. Capture 1 input/Compare 1 output/PWM 1 output.

14 RC3 SCK SCL

I/O I/O I/O

Digital I/O. Synchronous serial clock input/output for SPI™ mode. Synchronous serial clock input/output for I2C™ mode.

15 RC4 SDI SDA

I/O I

I/O

Digital I/O. SPI data in. I2C data I/O.

16 RC5 SDO

I/O O

Digital I/O. SPI data out.

17 RC6 TX CK

I/O O I/O

Digital I/O. EUSART asynchronous transmit. EUSART synchronous clock (see related RX/DT).

18 RC7 RX DT

I/O I

I/O

Digital I/O. EUSART asynchronous receive. EUSART synchronous data (see related TX/CK).

19 VSS P Ground reference for logic and I/O pins.

20 VDD P Positive supply for logic and I/O pins.

21

RB0 INT0 FLT0 AN12

I/O I I I

Digital I/O. External interrupt 0. PWM Fault input for CCP1. Analog input 12.

22 RB1 INT1 AN10

I/O I I

Digital I/O. External interrupt 1. Analog input 10.

23 RB2 I/O Digital I/O.

122

INT2 AN8

I I

External interrupt 2. Analog input 8.

24 RB3 AN9 CCP2

I/O I

I/O

Digital I/O. Analog input 9. Capture 2 input/Compare 2 output/PWM 2 output.

25 RB4 KBI0 AN11

I/O I I

Digital I/O. Interrupt-on-change pin. Analog input 11.

26 RB5 KBI1 PGM

I/O I

I/O

Digital I/O. Interrupt-on-change pin. Low-Voltage ICSP™ Programming enable pin.

27 RB6 KBI2 PGC

I/O I

I/O

Digital I/O. Interrupt-on-change pin. In-Circuit Debugger and ICSP programming clock pin.

28 RB7 KBI3 PGD

I/O I

I/O

Digital I/O. Interrupt-on-change pin. In-Circuit Debugger and ICSP programming data pin.

Tabela 8.3 – Pinos do PIC18F2620.

123

Figura 8.7 – Dimensões do PIC18F2620.

124

PIC18F2620

Figura 8.8 – Pinos do FT232BM.

Pin Name Type Description

1 EESK OUT

Clock signal to EEPROM. Tri-State during device reset, else drives out. Adding a 10K pull down resistor onto EESK will cause the FT232BM to use USB Product ID 6004 (hex) instead of 6001 (hex). All of the other USB device descriptors are unchanged.

2 EEDATA I/O

EEPROM – Data I/O Connect directly to Data-In of the EEPROM and to Data-Out of the EEPROM via a 2.2K resistor. Also, pull Data-Out of the EEPROM to VCC via a 10K resistor for correct operation. Tri-State during device reset.

3 VCC PWR

3.3 volt Output from the integrated L.D.O. regulator This pin should be decoupled to GND using a 33nF ceramic capacitor in close proximity to the device pin. Its prime purpose is to provide the internal 3.3V supply to the USB transceiver cell and the RSTOUT# pin. A small amount of current (<= 5mA) can be drawn from this pin to power external 3.3v logic if required.

4 RESET# IN Can be used by an external device to reset the FT232BM. If not required tie to VCC.

125

5 RSTOUT# OUT

Output of the internal Reset Generator. Stays high impedance for ~ 5ms after VCC > 3.5V and the internal clock starts up, then clamps its output to the 3.3v output of the internal regulator. Taking RESET# low will also force RSTOUT# to drive low. RSTOUT# is NOT affected by a USB Bus Reset.

6 3V3OUT OUT

3.3 volt Output from the integrated L.D.O. regulator This pin should be decoupled to GND using a 33nF ceramic capacitor in close proximity to the device pin. Its prime purpose is to provide the internal 3.3V supply to the USB transceiver cell and the RSTOUT# pin. A small amount of current (<= 5mA) can be drawn from this pin to power external 3.3v logic if required.

7

USBDP

I/O

USB Data Signal Plus ( Requires 1.5k pull-up to 3V3OUT or RSTOU#)

8 USBDM I/O USB Data Signal Minus.

9 GND PWR Device - Ground Supply Pins

10 SLEEP# OUT Goes Low during USB Suspend Mode. Typically used to power-down an external TTL to RS232 level converter i.c. in USB <=> RS232 converter designs

11 RXLED# O.C. LED Drive - Pulses Low when Receiving Data via USB

12 TXLED# O.C. LED Drive - Pulses Low when Transmitting Data via USB

13 VCCIO PWR

+3.0 volt to +5.25 volt VCC to the UART interface pins 10..12, 14..16 and 18..25. When interfacing with 3.3V external logic in a bus powered design connect VCCIO to a 3.3V supply generated from the USB bus. When interfacing with 3.3V external logic in a self powered design connect VCCIO to the 3.3V supply of the external logic. Otherwise connect to VCC to drive out at 5V CMOS level.

14 PWRCTL IN Bus Powered – Tie Low / Self Powered – Tie High (to VCCIO)

15 PWREN# OUT

Goes Low after the device is configured via USB, then high during USB suspend. Can be used to control power to external logic using a P-Channel Logic Level MOSFET switch. Enable the Interface Pull-Down Option in EEPROM when using the PWREN# pin in this way.

16 TXDEN OUT Enable Transmit Data for RS485

17 GND PWR Device - Ground Supply Pins

18 RI# IN Ring Indicator Control Input. When the Remote Wakeup option is enabled in the EEPROM, taking RI# low can be used to resume the PC USB Host controller from suspend.

19 DCD# IN Data Carrier Detect Control Input

126

20 DSR# IN Data Set Ready Control Input / Handshake signal

21 DTR# OUT Data Terminal Ready Control Output / Handshake signal

22 CTS# IN Clear To Send Control Input / Handshake signal

23 RTS# OUT Request To Send Control Output / Handshake signal

24 RXD IN Receive Asynchronous Data Input

25 TXD OUT Transmit Asynchronous Data Output

26 VCC PWR +4.35 volt to +5.25 volt VCC to the device core, LDO and non-UART interface pins.

27 XTIN IN

Input to 6MHz Crystal Oscillator Cell. This pin can also be driven by an external 6MHz clock if required. Note : Switching threshold of this pin is VCC/2, so if driving from an external source, the source must be driving at 5V CMOS level or a.c. coupled to centre around VCC/2.

28 XTOUT OUT Output from 6MHz Crystal Oscillator Cell. XTOUT stops oscillating during USB suspend, so take care if using this signal to clock external logic.

29 AGND PWR Device - Analog Ground Supply for the internal x8 clock multiplier

30 AVCC PWR Device - Analog Power Supply for the internal x8 clock multiplier

31 TEST IN Puts device in I.C. test mode – must be tied to GND for normal operation.

32 EECS I/O EEPROM – Chip Select. For 48MHz operation pull EECS to GND using a 10K resistor. For 6MHz operation no resistor is required. Tri-State during device reset.

Tabela 8.4 – Pinos do FT232BM.

127

Figura 8.9 – Dimensões do FT232BM.

128

8.2. E

squem

a elétrico completo.

Figura 8.10 – E

squema E

létrico Co

mp

leto.

0

C1 0

D1

C7

J1

CON1

1

U1 3

303

1

2

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

1 5

1 6 17

18

19

20

21

22

23

24

25

26

27

28

29

31

32

AV VCV CC

E ES K

E EDA TA

RE SE T#

RS TOUT#

3V 3OUT

US BDP

US BDM

GND

S LE EP #

RXL ED#

TX LE D#

V CCIO

P WRCTL

P WRE N#

TX DEN GND

RI#

DCD#

DS R#

DTR#

CTS #

RTS #

RXD

TXD

V CC

XT IN

XTOUT

A GND

T ES T

EE CS5V

C11

0

C4

R13

0

0

R8

S aíd a 3 V3

0

R1

U1

CC24 20

1

2

4

3

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

3 6

3 5

3 4

3 3

3 2

3 1

3 0

2 9

2 8

2 7

2 6

2 5

484746454443424140393837

V CO_GUA RD

AV DD_V CO

A VDD_RF 1

A VDD_P RE

GND

RF_ P

TX RX_S WIT CH

RF _N

GND

A VDD_S W

NC

NC

NC

AVD

D_R

F2

AVD

D_I

F2

NC

AVD

D_AD

C

DV

DD

_AD

C

DG

ND

_GU

ARD

DG

UAR

D

RES

ETn

DGN

D

DS

UB_

PAD

S

DSU

B_C

OR

E

NC

DV DD_RAM

S O

S I

S CLK

CS n

F IFO

F IFOP

CCA

S FD

DV DD1.8

DV DD3.3

AVD

D_C

HP

ATE

ST1

ATE

ST2

R_B

IAS

AVD

D_I

F1

VR

EG_I

N

VR

EG_O

UT

VR

EG_E

N

NC

XO

SC16

_Q1

XO

SC16

_Q2

AVD

D_X

OS

C16

0

R1 2

R4

R1 4

U11

1

2

8

7

6

5

4

3

9

CS

DI

RS V

DO

V ss 2

CL K

V cc

V ss 1

RS V

0

0

R6

1k

U1 6TLV 3V 3

1 3

2

IN OUT

GN

D

0

C3

D2

0

0

( 50 ohm s)

L2

0

C2

C6C5

L1

0

0

0 0

C14

R2

R1 1

A nte na0

R7

X3

0

S aíd a U SB

0

0

C8

C12

C1L3

X1

X 2

C9

R5

0

U141

2

3

4 5

6

7

8CS

SK

DIN

DOUT GND

NC

NC

V CC

0

R3

R1 0

0

0

C1 3

R15

J P1

4 HE A DE R

1234

R9

U12

1

2

3

4

5

6

7

8

9

1 0

1 1

1 2

1 3

1 4

28

27

26

25

24

23

22

21

20

19

18

17

16

15

MCLR/V pp/RE 3

RA 0/A N0

RA 1/A N1

RA 2/A N2 /Vref -/CVre f+

RA 3/A N3/Vre f+

RA 4/T0 CK I /C1OUT

RA 5/AN4 /S S /HL VDIN/C2OUT

Vs s

OS C1/CLK I/RA 7

OS C2/CLKO/RA 6

RCO/T1OS O/T 1E CKI

RC1 /T1OS I /CCP 2

RC2/CCP 1

RCS3/S CK/S CL

RB 7/KB I3/PGD

RB 6/KB I2/PGC

RB 5/KB I1/PGM

RB 4/KB I0/AN1 1

RB 3/AN9/CCP 2

RB 2/ INT 2/AN8

RB 1/ INT 1/AN1 0

RB 0/ INT 0/FL T0/A N12

V dd

V ss

RC7/RX/DT

RC6/TX /CX

RC5/S DO

RC4/S DI /S DA

0

129

8.3. Footprint.

Figura 8.11 – Footprint dos componentes.

Figura 8.12 – Footprint das trilhas (visão superior).

130

Figura 8.13 – Footprint das trilhas (visão inferior).

131

8.4. Modelos Impressora.

Figura 8.14 – Características da séria 42XX da Hewlett Packard.

132

Figura 8.15 – Características da séria 43XX da Hewlett Packard.