dispositivo de geren ciamento de dados para …educatec.eng.br/engenharia/monografia de...
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]
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
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).