94
UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE ENGENHARIA DE COMPUTAÇÃO DESENVOLVIMENTO DE UM CONVERSOR HOMEPNA/ETHERNET Área de Hardware / Redes por Fernando Souza de Andrade Sergio Velozo, Bel Orientador São José (SC), junho de 2008

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS ...siaibib01.univali.br/pdf/Fernando Souza de Andrade.pdf · Ethernet, porém pouquíssimas residências estão preparadas com

  • Upload
    ngokiet

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

UNIVERSIDADE DO VALE DO ITAJAÍ

CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE ENGENHARIA DE COMPUTAÇÃO

DESENVOLVIMENTO DE UM CONVERSOR

HOMEPNA/ETHERNET

Área de Hardware / Redes

por

Fernando Souza de Andrade

Sergio Velozo, Bel

Orientador

São José (SC), junho de 2008

UNIVERSIDADE DO VALE DO ITAJAÍ

CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR

CURSO DE ENGENHARIA DE COMPUTAÇÃO

DESENVOLVIMENTO DE UM CONVERSOR

HOMEPNA/ETHERNET

Área de Hardware / Redes

por

Fernando Souza de Andrade

Relatório apresentado à Banca

Examinadora do Trabalho de

Conclusão do Curso de Engenharia de

Computação para análise e aprovação.

Orientador: Sérgio Velozo, Bel

São José (SC), junho de 2008

ii

SUMÁRIO

LISTA DE ABREVIATURAS.......................................................................................... iv LISTA DE FIGURAS........................................................................................................ vi RESUMO......................................................................................................................... viii ABSTRACT....................................................................................................................... ix 1 INTRODUÇÃO ............................................................................................................... 1

1.1 CONTEXTUALIZAÇÃO......................................................................................... 1 1.2 OBJETIVOS ............................................................................................................. 3

1.2.1 Geral................................................................................................................... 3 1.2.2 Específicos ......................................................................................................... 3 1.2.3 Escopo e Delimitação do Trabalho .................................................................... 3

1.4 JUSTIFICATIVA ..................................................................................................... 4 2 FUNDAMENTAÇÃO TEÓRICA................................................................................... 5

2.1 REDES DE COMPUTADORES.............................................................................. 5 2.1.1 Arquitetura de Redes.......................................................................................... 7

2.2 REDES DOMICILIARES ........................................................................................ 8 2.2.1 Com Fio ............................................................................................................. 8

2.2.1.1 Protocolo Ethernet ...................................................................................... 9 2.2.2 Sem Fio ............................................................................................................ 11 2.2.3 Sem Novos Fios ............................................................................................... 11

2.2.3.1 HomePNA 3.0........................................................................................... 14 2.3 SISTEMAS EMBARCADOS ................................................................................ 17

2.3.1 Transistor ......................................................................................................... 18 2.3.2 Circuitos Integrados ......................................................................................... 18 2.3.3 Circuito Impresso............................................................................................. 19 2.3.4 Arquitetura Geral de um Sistema Embarcado ................................................. 20

2.3.4.1 Memória de Programa............................................................................... 22 2.3.4.2 Arquitetura Harvard x Von Neumann....................................................... 23 2.3.4.3 Clock......................................................................................................... 24 2.3.4.4 Registradores............................................................................................. 24 2.3.4.5 Contador de Instrução ............................................................................... 25

2.3.5 Microcontroladores e Microprocessadores ...................................................... 26 2.3.6 Firmware .......................................................................................................... 27

2.3.6.1 Tradução de um Software ......................................................................... 30 2.3.6.2 Ligação...................................................................................................... 31 2.3.6.3 Montagem ................................................................................................. 32 2.3.6.4 Carregamento............................................................................................ 32

3 CONVERSOR HPN ...................................................................................................... 33 3.1 ARQUITETURA GERAL...................................................................................... 35

3.1.1 Arquitetura Geral do Sistema........................................................................... 35 3.1.2 Arquitetura Geral do Conversor....................................................................... 37

3.2 ANÁLISE DE REQUISITOS................................................................................. 38 3.3 HARDWARE ......................................................................................................... 39

3.3.1 Microcontrolador MC9S08QD4 ...................................................................... 39

iii

3.3.1.1 Firmware de Gerência............................................................................... 42 3.3.2 Switch Realtek RTL8305SC............................................................................ 47

3.3.2.1 Arquitetura Geral do Switch Ethernet....................................................... 49 3.3.2.2 Tabela de Endereçamento MAC............................................................... 50 3.3.2.3 Auto Negociação....................................................................................... 51 3.3.2.4 Controle de Fluxo ..................................................................................... 52

3.3.3 Modem HPN CG3010...................................................................................... 53 3.3.3.1 Arquitetura Geral do Modem HPN........................................................... 58 3.3.3.2 Interface MII ............................................................................................. 59 3.3.3.3 Modo Seguro............................................................................................. 62

3.4 SOFTWARE........................................................................................................... 63 3.5 TESTES .................................................................................................................. 64

3.5.1 Ferramentas Copper-gate ................................................................................. 65 3.5.2 Ferramenta de Geração de Tráfego de Dados.................................................. 69 3.5.3 Aplicações de Vídeo ........................................................................................ 73

3.5.3.1 Configuração 1.......................................................................................... 74 3.5.3.2 Configuração 2.......................................................................................... 75 3.5.3.3 Testes Realizados...................................................................................... 76

4 CONCLUSÃO ............................................................................................................... 78 REFERÊNCIAS BIBLIOGRÁFICAS.............................................................................. 80

iv

LISTA DE ABREVIATURAS

3G Terceira Geração ADSL Asymmetric Digital Subscriber Line AMAC Asynchronous MAC Protocol BPL Broadband Power line CAM Comparison Address Match CSMA/CD Carrier Sense Multiple Access with Collision Detection EEPROM Electrically Erasable Programmable Read Only Memory FDQAM Frequency Diverse Quadrature amplitude HCNA Home Coax Network Alliance HomeCNA Home Coax Network Alliance HomePNA Home Phone Line Network Alliance HPNA Home Phone Line Network Alliance IEEE International Telecommunication Union IDE Integrated Development Enviroment IrDA Infra Red Data Association LED Light Emitting Diode MAC Media Access Control MDC Management Interface Clock MDI Medium Dependent Interface MDIO Management Interface Input/Output MDIX Medium Dependent Interface Crossover MII Media Independent Interface MII SnP MII Solder and Play PE Pay Load Encoder PHY Physical Interface PLC Power Line Communications PLL Phase Locked Loop POTS Plain Old Telephone Service PROM Programmable Read Only Memory PWM Pulse Width Modulation QAM Quadrature Amplitude Modulation QoS Quality of service RAM Random Access Memory RF Radio Frequence RISC Reduce Instruction Set Computing ROM Read Only Memory SOHO Small Oficce Home Office SMI Serial Managemment Interface SNI Serial Network Interface SRAM Static Random Access Memory USB Universal Serial Bus

v

UTP Unshield Twisted Pair VLAN Virtual Local Área Network WiFi Wireless Fidelity

vi

LISTA DE FIGURAS

Figura 1. Rede de computadores......................................................................................... 6 Figura 2. Transmissão de dados em uma arquitetura TCP/IP............................................. 7 Figura 3. Cabeçalho Ethernet............................................................................................ 10 Figura 4. Comparação entre as principais tecnologias para rede domiciliar .................... 14 Figura 5. Máscara de densidade espectral de potência do HomePNA 3.0. ...................... 16 Figura 6. Máscara de densidade espectral de potência para 240Mbps ............................. 17 Figura 7. Exemplo de circuito Integrado .......................................................................... 19 Figura 8. Onda Quadrada.................................................................................................. 24 Figura 9. ALU – Unidade Lógica e Aritmética ................................................................ 26 Figura 10. Algoritmo exemplo.......................................................................................... 28 Figura 11. Exemplo de aplicação em residências ............................................................. 33 Figura 12. Exemplo de aplicação em condomínios .......................................................... 34 Figura 13. Diagrama de blocos da arquitetura geral do sistema ....................................... 36 Figura 14. Perda de inserção de acordo com o número de saídas e valor do TAP........... 37 Figura 15. Diagrama de blocos da arquitetura geral do conversor ................................... 38 Figura 16. O microcontrolador MC9S08QD4 .................................................................. 40 Figura 17. Diagrama de blocos do MC9S08QD4............................................................. 41 Figura 18. Fluxograma de operação do firmware de gerência.......................................... 42 Figura 19. Frame de gerência............................................................................................ 43 Figura 20. Funções de gerência do microcontrolador....................................................... 43 Figura 21. Caracteres pelo padrão ASCII ......................................................................... 45 Figura 22. Tabela de caracteres desenvolvida .................................................................. 46 Figura 23. Exemplo de um comando de gerência............................................................. 46 Figura 24. Diagrama de blocos do Switch Ethernet RTL8305SC.................................... 49 Figura 25. Indirect Access Data........................................................................................ 51 Figura 26. Freqüência de operação do HomePNA 3.0 em relação a outras tecnologias .. 54 Figura 27. Espectro de modulação FDQAM .................................................................... 55 Figura 28. Faixa de freqüência das três mascaras............................................................. 56 Figura 29. características elétricas do chipset CG3010. ................................................... 57 Figura 30. Expansão de memória no CG3010 .................................................................. 57 Figura 31: Diagrama de blocos do modem CG3011. ....................................................... 58 Figura 32. Configurações da interface via pinos MODE[4:0]. ......................................... 59 Figura 33. Descrição dos pinos da interface MII.............................................................. 60 Figura 34. Tabela de temporizarão da interface MII ........................................................ 60 Figura 35. Forma de onda da interface MII. ..................................................................... 61 Figura 36. Tela do software PEdit.exe.............................................................................. 63 Figura 37. Protótipo do conversor HomePNA/Ethernet. .................................................. 65 Figura 38. Rx Power x Taxa de Velocidade ..................................................................... 67 Figura 39. Tabela de Velocidade ...................................................................................... 68 Figura 40. Gerenciador de arquivos do Windows XP mostrando a taxa de utilização..... 72 Figura 41. Tela de configuração do VLC Vídeo Server. .................................................. 73 Figura 42. Tela de configuração do VLC Vídeo Server. .................................................. 74

vii

Figura 43. Disposição dos equipamentos para a configuração 1 ...................................... 75 Figura 44. Disposição dos equipamentos para a configuração 2 ...................................... 76

viii

RESUMO

ANDRADE, Fernando Souza de. Desenvolvimento de um Conversor HomePNA/Ethernet. São José, 2008.1, 82p. Trabalho de Conclusão de Curso (Graduação em Engenharia da Computação) – Centro de Ciências Tecnológicas da Terra e do Mar, Universidade do Vale do Itajaí, 2008.

Com o aumento do número de computadores nas residências brasileiras das classes mais

favorecidas, vem a necessidade de interconectar esses computadores, formando as redes

domiciliares. Seja para compartilhar serviços de internet ou periféricos, esta interconexão

de dispositivos pode ser realizada de diversas maneiras. A mais conhecida é a rede

Ethernet, porém pouquíssimas residências estão preparadas com cabeamento estruturado.

Então se faz necessário o uso de outra tecnologia para interconectá-los. Para evitar

quebrar paredes e refazer a tubulação, opta-se pelo uso de tecnologia sem fio, conhecida

como Wireless ou simplesmente WiFi. Porém nem sempre esta tecnologia resolve o

problema, pois é muito comum o roteador Wireless não funcionar como se imagina. Isto

porque na residência existem algumas paredes de alvenaria que atenuam

significativamente o sinal de radio freqüência, limitando a área de cobertura deste

equipamento. Este trabalho propôs o desenvolvimento de um conversor

HomePNA/Ethernet que terá como função converter um sinal Ethernet (interface de rede

do computador) para um sinal HomePNA que irá trafegar sob a rede coaxial

(simultaneamente ao sinal de TV) da residência. Chegando a outro conversor num

cômodo qualquer da residência via cabo coaxial. Então o conversor devolve o sinal

HomePNA para Ethernet (chegando no outro computador). Desta forma cria-se uma rede

domiciliar sem a necessidade de novos cabos.

Palavras-chave: HomePNA. Redes domésticas. Sistemas Embarcados.

ix

ABSTRACT

With the increase in the number of computers in Brazilian homes especially in affluent

classes, it is necessary interconnect those computers, creating home networks. Whether

to share Internet services or peripherals, the interconnection of devices can be building

up using differents ways. The best known is the Ethernet network, but few homes are

prepared with structured cabling. So in this case it is possible use other technology for to

interconnect them. To avoid breaking walls and redo the tubing, chooses to the use of

wireless technology, like the WiFi. But this technology doesn´t solve all problems,

because it is very common that wireless router does not work as imagined. This occurs

because residences masonry walls attenuate the signal of radio frequency, limiting the

area of coverage of this equipment. This paper proposes the development of a

HomePNA/Ethernet converter and it function that will convert a signal Ethernet (network

interface of the computer) for a signal that HomePNA will travel under the coax network

(while the signal of TV) of the residence. At any other converter in a room of the

residence via coax cable. Then the converter returns the Ethernet signal to HomePNA

(arriving in another computer). Thus there is a home network without the need for new

cables.

Keywords: HomePNA. Home Network. Embeded Systems.

1 INTRODUÇÃO

1.1 CONTEXTUALIZAÇÃO

No Brasil, percebe-se um aumento significativo no número de residências com

acesso a internet banda larga. Ano após ano as pesquisas divulgam números cada vez

maiores. Além disso, os preços dos equipamentos de informática passaram a receber

incentivos fiscais do governo federal, reduzindo expressivamente o custo dos

microcomputadores e notebooks. Em conseqüência desses e outros fatores, inicia-se uma

nova realidade onde os domicílios brasileiros passam a contar com mais de um

microcomputador. Este novo momento ainda está restrito as classes média e alta. Apesar

disso, as classes menos favorecidas já estão iniciando no mundo digital devido as grandes

facilidades de pagamento na compra de produtos de informática.

No caso dos domicílios que contam com mais de um microcomputador, nota-se a

necessidade de interconexão entre estes dispositivos, surgindo à necessidade de

compartilhamento. Geralmente a primeira necessidade é compartilhar o serviço de

internet. Mas logo surgem outras necessidades, como por exemplo: o compartilhamento

de arquivos, impressora, scanner, entre outros.

Para que ocorra esta interação entre dispositivos é necessário montar uma rede de

computadores. Esta pode ser uma tarefa fácil, mas isto depende da particularidade de

cada situação. Muitas vezes um switch concentrando o sinal de internet (via modem

ADSL (Asymmetric Digital Subscriber Line), Cable modem, Rádio, etc) e a ligação

direta aos computadores via cabo de rede (interface de rede Ethernet) resolve o problema.

Mas há situações onde se deseja ligar um ou mais computadores, que está num cômodo, a

outro distante na residência. Em vários casos é necessário passar cabos pela tubulação da

rede elétrica ou da TV à cabo ou de telefonia. Mas nem sempre estas tubulações suportam

mais um cabo e então surge a necessidade de uma pequena reforma. Quebrar paredes e

construir novas tubulações para acondicionar os novos cabos de rede. Com isso perde-se

tempo, gasta-se dinheiro com a reforma, além da sujeira que implica uma pequena obra.

2

Atualmente, a primeira solução que vem a cabeça das pessoas para resolver a

situação descrita anteriormente é a utilização de equipamentos sem fio (tecnologia

conhecida como WiFi ou wireless). Esta tecnologia se popularizou bastante nos últimos

anos e resolve várias situações, mas deixa a desejar em alguns aspectos, pois possui

problemas de segurança, já que o sinal de rádio fica vulnerável a intrusos. A taxa de

transferência entre os computadores é praticamente a metade do que se fosse com cabos

Ethernet. Por outro lado as residências brasileiras costumam ser de alvenaria, e no caso

do dispositivo WiFi estar num cômodo e o computador em outro sendo que existem

algumas paredes entre eles, pode ser o suficiente para que não seja possível o uso desta

tecnologia, pois o sinal perde muita potência ao atravessar as paredes de alvenaria.

Colocar vários pontos WiFi numa residência geralmente fica inviável devido ao custo dos

equipamentos, além da complexidade da implementação que deverá ser feita por

profissionais.

Existem algumas soluções menos custosas para estas situações. Uma delas é uma

tecnologia chamada HomePNA que tem a vantagem de utilizar o meio físico existente

numa residência para interconectar dispositivos de rede. Isto quer dizer que é possível

conectar microcomputadores numa residência via cabos telefônicos (par trançado ligado

ao telefone) ou coaxiais (utilizados na TV à cabo ou antena coletiva). Aproveitando uma

dessas redes (coaxial ou telefônica) torna-se fácil à instalação de diversos dispositivos

que necessitam estar conectados em rede. A velocidade de conexão entre dois pontos

pode chegar até 240Mbps. Tudo isto está especificado na norma ITU-T G.9954, também

conhecido como HomePNA 3.0. Esta tecnologia de padrão aberto, nasceu com o

propósito de solucionar problemas em redes domiciliares.

A banda que esta tecnologia oferece, resolve problemas que em breve os

provedores de internet encontrarão. Nos Estados Unidos, Europa e Ásia, é comum os

serviços de IPTV entre outros. Os provedores de internet, TV à Cabo ou telefônico,

passam a oferecer serviços de exibição de filmes e canais interativos de TV. Estes

serviços consomem uma banda considerável da rede. Para se ter idéia, a transmissão de

um filme necessita de 2Mbps à 30Mbps, dependendo da codificação utilizada. Então, no

caso de dois ou três televisores na residência será necessária uma banda considerável se

compararmos com nosso serviço de internet atual. Para ligar um televisor à rede, utiliza-

3

se um dispositivo chamado set-top-box, que basicamente converte dados para vídeo.

1.2 OBJETIVOS

1.2.1 Geral

Desenvolver um protótipo de um conversor HomePNA/Ethernet para ser utilizado

em redes domiciliares afim de facilitar a implantação da mesma.

1.2.2 Específicos

Os objetivos específicos deste trabalho são:

• Desenvolvimento de um protótipo capaz de interligar dois ou mais

microcomputadores;

• Realizar teste de performance no dispositivo a fim de comprovar seu

funcionamento.

1.2.3 Escopo e Delimitação do Trabalho

Este trabalho constituirá no desenvolvimento de um protótipo de equipamento

capaz de converter o sinal Ethernet para HomePNA e vice-versa. Desta forma cria-se

uma forma de comunicação híbrida, ou seja, uma ponte (bridge) entre dois meios de

comunicação (do meio Ethernet para o meio HomePNA para o meio Ethernet).

O sinal Ethernet será transportado fisicamente por cabo do tipo UTP CAT-5 (par

4

trançado não blindado, categoria 5). Já o sinal HomePNA, será transportado fisicamente

por cabo coaxial do tipo RG11, os mesmos utilizados na distribuição de TV à cabo (em

residências) ou antena coletiva (em condomínios).

1.4 JUSTIFICATIVA

Este trabalho apresenta uma série de conceitos, que em sua essência envolvem

duas áreas de conhecimento, a Engenharia e a Computação. Assim será possível aplicar

os ensinamentos acumulados na graduação. Para concluir este trabalho foram necessários

conhecimentos de eletrônica, desenvolvimento de software, projeto de hardware, redes de

computadores, entre outros. Além disso, será possível demonstrar a capacidade de

solucionar problemas, característico dos cursos de engenharia.

Este trabalho também pode ser visto como divulgador da tecnologia HomePNA,

já que esta é pouco conhecida a nível nacional, principalmente no meio acadêmico. São

estes detalhes que motivam o desenvolvimento e conclusão deste trabalho.

Outro fator relevante é que com isto foi mostrado uma solução prática na

implantação de redes de computadores utilizando a fiação já existente, eliminando os

transtornos causados por furações na estrutura da residência para fazer um novo

cabeamento (geralmente UTP).

Aproveitando o cabeamento de TV, geralmente previsto durante a construção de

uma casa, é possível distribuir o sinal de comunicação entre os computadores utilizando

este barramento compartilhado com o sinal de TV.

O desenvolvimento do trabalho foi de acordo com os tópicos relacionados na

fundamentação teórica, que será apresentada no próximo capítulo.

2 FUNDAMENTAÇÃO TEÓRICA

O capítulo apresenta os conceitos envolvidos na realização deste Trabalho de

Conclusão de Curso. Inicialmente será abordada uma visão geral de redes de

computadores. Na seqüência o assunto será complementado com as redes domiciliares.

Nesta fundamentação encontra-se informações sobre o protocolo HomePNA e Ethernet,

fundamentais para o entendimento do funcionamento de um conversor

HomePNA/Ethernet. O capítulo finaliza com o estudo dos microcontroladores, já que

este será utilizado no desenvolvimento do conversor proposto.

2.1 REDES DE COMPUTADORES

Redes de computadores, em geral, são dois ou mais microcomputadores

interconectados, compartilhando dados e recursos. Como exemplo, pode-se citar a

Internet, onde vários microcomputadores estão interconectados e compartilham

informações. Outro exemplo que ilustra uma rede de computadores é o servidor de

impressão que concentra a conexão com alguns microcomputadores (BARR, 1999). A

Figura1 ilustra de forma geral uma rede de computadores.

6

Figura 1. Rede de computadores

Em geral, as redes de computadores são classificadas de três maneiras em relação

a disposição e distância entre seus dispositivos de rede, são elas: Redes Locais, Redes

Metropolitanas e Redes Geograficamente Distribuídas.

As Redes Locais, ou Local Area Networks (LANs), são redes que se encontram

em um único local, como num edifício, residência, condomínios verticais e escritórios.

Podem ter até alguns quilômetros de extensão. Já as Redes Metropolitanas, ou

Metropolitan Area Networks (MANs), são redes que se encontram dentro de uma cidade.

Como exemplo, imagine um provedor de TV à cabo e seus clientes espalhados pela

cidade, ou seja, neste modo percebe-se um aumento significativo na distância entre os

dispositivos conectados. Já as Redes Geograficamente Distribuídas, ou Wide Area

Networks (WANs), são encontradas em locais distribuídos em longas distâncias, como

cidades, estados ou países. Como exemplo, uma empresa com sede em São Paulo e filial

em Florianópolis, sendo que suas redes são conectadas (TANNEMBAUM, 2003).

7

2.1.1 Arquitetura de Redes

Uma arquitetura de rede é formada basicamente por camadas, protocolos e

interfaces. A camada tem por objetivo oferecer determinados serviços às camadas

superiores, abstraindo os detalhes de implementação desses recursos. Pode-se afirmar que

camada é uma espécie de máquina virtual, oferecendo determinados serviços à camada

situada acima dela. Cada camada de um determinado dispositivo se comunica com a sua

camada correspondente em outro dispositivo. Na Figura os blocos ilustram as camadas e

as setas representam o sentido da transmissão de dados em uma arquitetura TCP/IP. Já

um protocolo de comunicação é formado por um conjunto de regras que servem para que

dois dispositivos possam estabelecer uma comunicação eficiente e sem erros. São as

interfaces que definem quais e quantos serviços a camada inferior irá oferecer para a

camada superior (TANNEMBAUM, 2003)

Figura 2. Transmissão de dados em uma arquitetura TCP/IP

Fonte: Adaptado de TANNEMBAUM (2003).

8

2.2 REDES DOMICILIARES

Nos últimos anos o aumento do poder computacional dos microprocessadores

somados à diminuição do custo dos microcomputadores pessoais e o acesso à internet

banda larga, gerou uma nova realidade em relação ao número de microcomputadores nas

residências. Apesar de existir uma enorme parcela de pessoas excluídas digitalmente,

hoje em dia é comum uma residência de classe A ou B conter dois a três

microcomputadores ou notebooks. Quando se aumenta o numero de máquinas nota-se a

necessidade de interconexão entre as mesmas e também a outros periféricos. É muito

comum observar dois microcomputadores instalados em cômodos diferentes da

residência compartilhando a mesma impressora, scanner ou outro periférico que está

instalado num local qualquer da residência. Outro fato muito comum é a necessidade do

compartilhamento do serviço de internet entre os microcomputadores existentes na

residência. Esta interconexão entre dispositivos de rede pode acontecer via cabos (par

trançado, cobre, fibra óptica, entre outros) ou via rádio freqüência. Relacionando às redes

domiciliares ao modo de interconexão entre dispositivos, pode-se dividir estas redes em

três categorias:

• com fio: há a necessidade de novo cabeamento;

• sem fio: não utiliza fios; a propagação do sinal se dá por ondas eletromagnéticas;

• sem novos fios: aproveita os fios já instalados para outro serviço.

Cada uma dessas categorias será abordada nos tópicos seguintes.

2.2.1 Com Fio

Nesta condição, a interconexão entre os dispositivos de rede acontece via cabos,

conforme a tecnologia utilizada. Ainda hoje, a mais utilizada é a tecnologia Ethernet que,

geralmente, necessita de cabos do tipo UTP (par trançado blindado, do inglês: Unshield

Twisted Pair) categoria 5. Outra opção é o uso de fibra óptica no Ethernet (100Base-FX),

9

pouco utilizado em residências devido ao alto custo de implementação.

Com novos fios, existe a necessidade de novo cabeamento na residência. Em

alguns casos isto implica em uma pequena reforma na estrutura da casa para abrigar os

novos cabos, pois inúmeras vezes a tubulação não suporta cabos extras. Como

conseqüência temos o custo e o incômodo de uma pequena reforma. Atualmente, nos

projetos arquitetônicos de residências ou condomínios de altíssimo padrão é possível

verificar a presença de cabeamento estruturado, contando até mesmo com fibra óptica.

Mas isto ainda está restrito a classe A. No tópico seguinte encontra-se uma visão geral do

protocolo Ethernet.

2.2.1.1 Protocolo Ethernet

O protocolo Ethernet, nasceu nos laboratórios da empresa norte americana

XEROX e tornou-se o mais popular dos protocolos para redes locais. Com essa

popularidade, o Institute of Eletrical and Eletronics Engineers (IEEE) optou padronizar o

protocolo para que não houvesse mais variações, criando assim o padrão IEEE 802.3.

Como inicialmente o meio físico (cabo), era do tipo coaxial, e compartilhados por todos

os computadores em forma de barramento, foi criado um subprotocolo que organiza o

compartilhamento do meio entre os microcomputadores da rede. O CSMA/CD (Carrier

Sense Multiple Access with Collision Detection) foi adotado como protocolo de gerência

para resolver problemas de compartilhamento do meio (VEGINI, 2006). O CSMA/CD

dita basicamente as seguintes regras:

• Se o canal estiver ocupado, então aguarda-se um período de tempo;

• Se o canal estiver livre, então é possível transmitir.

O protocolo Ethernet utiliza um método de endereçamento de 48 bits (6 bytes).

Este endereço é chamado de MAC Address e cada dispositivo de rede deve possuir um

endereço. Nos dispositivos comerciais, os fabricantes de placas de rede compram uma

faixa de endereços MAC para serem utilizados nas placas de rede. A organização que

controla e vende esses endereços é a IEEE. Desta forma evita o possível conflito de

10

endereços nos dispositivos de redes (VEGINI, 2006).

A estrutura do cabeçalho Ethernet é mostrada na Figura 3.

Figura 3. Cabeçalho Ethernet

Fonte: Adaptado de COMER, 2000.

A seguir será feita uma breve descrição sobre cada campo do protocolo Ethernet

• Preâmbulo : não é considerado parte integrante do cabeçalho Ethernet, pois serve

apenas como sincronismo para as interfaces de rede. Em cada frame Ethernet

enviado à rede, um preâmbulo é enviado. Isto indica que os próximos pulsos serão

o frame Ethernet propriamente dito;

• Endereço Destino: é formado pelo endereço MAC do dispositivo de rede que deve

receber o frame;

• Endereço Fonte: contém o endereço do dispositivo de rede que enviou este frame;

• Tipo do Frame: tem como função identificar que tipo de dados que o frame

ethernet está transportando.

• Dados: campo onde serão transportados dados encapsulados das camadas

superiores a de enlace. O tamanho mínimo da região de dados de um frame

Ethernet é de 46 bytes, totalizando um pacote de 64 bytes obtidos pela soma de

dados mais o cabeçalho. Já o tamanho máximo de um frame Ethernet é 1518

bytes, ou seja 1500 bytes de dados e 18 bytes de cabeçalho.

• CRC: significa Cyclic Redundancy Check, é um algoritmo matemático utilizado

para a detecção de erros na transmissão de dados.

11

2.2.2 Sem Fio

As redes sem fio estão em alta atualmente. Nestas redes o meio de interconexão

entre os dispositivos de rede é o ar, via modulação por rádio freqüência (RF), dessa

forma, trás a grande vantagem de não necessitar de cabos. Deixando assim, a instalação

livre dos incômodos relacionados ao cabeamento.

Mas a escolha desta tecnologia pode trazer alguns problemas relacionados à

recepção do sinal. Isto porque as residências brasileiras costumam utilizar alvenaria na

sua construção e normalmente possuem inúmeras paredes, atenuando o sinal RF,

diferentemente do que ocorre em diversas residências norte americanas, onde é adotado

outro material nas suas construções. As redes sem fio trazem inúmeras vantagens, mas

em algumas ocasiões pode ser um grande problema para o usuário.

Os equipamentos comercializados possuem custo elevado e alcance limitado.

Algumas das tecnologias sem fios mais conhecidas: Bluetoth, 3G, WiFi, IrDA, etc.

Atualmente a tecnologia sem fio mais utilizada é a conhecida como WiFi.

2.2.3 Sem Novos Fios

Nos últimos anos esta opção tem sido muito utilizada nos Estados Unidos, Europa

e Ásia. As tecnologias relacionadas a esta categoria não necessitam de um novo

cabeamento na residência. Basta utilizar algum meio físico existente, como por exemplo:

a rede elétrica, a rede telefônica ou o cabeamento de TV. Assim, elimina-se a necessidade

de pequenas reformas, flexibilizando a disposição dos equipamentos na rede e o custo da

implantação torna-se baixo.

O uso do meio físico existente não é novidade deste século. Já na década de 30 era

possível trafegar voz em redes de alta tensão. Nesta época não existiam sistemas digitais,

porém podemos considerar como uma das primeiras técnicas de transmissão na rede

elétrica apesar do sinal de dados ser diferente do sinal de voz. Nos anos 70, a escocesa

12

Pico Eletronics desenvolveu o protocolo X-10. Após uma joint venture com a BSR em

1978, os primeiros produtos baseados em X-10 começaram a circular alguns anos depois.

A patente original expirou em 1997, e com isso possibilitou o investimento nessa

tecnologia por outros fabricantes trazendo com isso sua evolução. Porém, o X-10 possui

inúmeras limitações e basicamente tem como aplicação operar dispositivos autônomos na

residência, como ligar e desligar equipamentos, portanto possui grande utilidade na

automação residencial. Sistemas capazes de comunicar-se de forma bidirecional através

da rede de distribuição surgiram mesmo na década de 90 (TEZA, 2002).

Uma tecnologia muito conhecida é a PLC (Power line Communication), embora

já começa a aparecer o termo BPL (Broadband Power Line). Estes podem alcançar taxas

de até 200Mbps. Velocidade consideravelmente alta se compararmos a realidade de

banda em serviço de internet atual no Brasil, onde se vende serviço de 200Kbps à 8Mbps.

Mas algumas considerações sobre a comunicação utilizando a rede elétrica devem

ser mencionadas. Em alguns locais a hostilidade deste ambiente pode ser tão grande a

ponto de impossibilitar seu uso. Numa industria onde existem equipamentos que

consomem muita energia elétrica os níveis de ruídos são enormes. Mas voltando ao foco

(residências), os equipamentos comuns numa residência geram diferentes ruídos que

podem ter diversas classificações não relevantes à este trabalho. São fontes de ruído:

dimmers, computadores, monitores, carregadores, rádios, qualquer aparelho com motor

elétrico (liquidificadores, aspiradores, barbeadores,etc), entre outros. Além destes existe

outro tipo de ruído conhecido como impulso de alta freqüência, gerado pelo simples ato

de ligar e desligar aparelhos eletro-eletrônicos. Isto acontece devido à um capacitor no

qual é carregado e descarregado assim que o equipamento é ligado ou desligado.

Dependendo do tamanho do capacitor este efeito causa grandes tensões transientes na

rede elétrica (TEZA, 2002).

Outro fator limitante é o descasamento de impedâncias que contribuí para a

atenuação do sinal. Até mesmo as tomadas sem equipamentos conectados tornam-se

problemáticas (pontos de rede sem terminação) no que se refere à reflexão de sinal

(TEZA, 2002).

Para suprir a necessidade de padronizações no acesso às redes domiciliares sob

rede elétrica, surgiu o HomePlug Powerline Alliance (HomePlug) no ano 2000 e conta

13

com diversas empresas fabricantes de equipamentos voltados para esse tipo de aplicação.

Até o momento esta aliança já especificou o HomePlug 1.0, HomePlug1.1 e o HomePlug

2.0, mais conhecido como HomePlug AV. Estas especificações atingem taxas máximas

de 45Mbps à 200Mbps (HomePlug AV).

Outra aliança formada por fabricantes de equipamentos voltados às soluções de

redes domiciliares é a Home Phone Network Alliance, conhecido por HomePNA ou

HPNA. Inicialmente surgiu para solucionar a comunicação de dados sob redes

telefônicas. Então vieram as primeiras especificações, a HomePNA 1.0 que chegava até

1Mbps, e depois a HomePNA 2.0 que conseguia taxas de até 32Mbps. Mas por volta de

2004, foi anunciado o HomePNA 3.0, normalizado pela ITU (International

Telecommunication Union). Esta norma pode chegar à 240Mbps em cabos telefônicos

(par trançado). Logo em seguida, numa revisão da norma, foi determinado que esta

especificação poderia ser aplicada aos cabos coaxiais. São pequenas alterações entre as

especificações. Então surgiu o Home Coax Network Aliance (HomeCNA ou HCNA),

porém utliza-se o termo HomePNA tanto para o meio telefônico quanto para o meio

coaxial.

O HomePNA é um padrão aceito mundialmente e tende a aumentar a banda

passante a cada ano mantendo o mesmo meio físico de transmissão sem exigir

cabeamento de alta qualidade. No momento a versão 3.1 conta com 320 Mbps. Já a

versão HPNA 4.0 encontra-se em desenvolvimento no momento, mas promete bater a

barreira dos 1000Mbps (COPPERSTREAM, 2008).

O meio coaxial é uma boa escolha para prover serviços de vídeo. A Figura 4

mostra algumas das opções mais comuns para implementação de rede doméstica. O

HomePNA, tanto no meio coaxial quanto no telefônico, possuem boas razões para serem

considerados uma boa opção.

14

Figura 4. Comparação entre as principais tecnologias para rede domiciliar

Fonte: Adaptado de READYLINKS (2005).

No tópico seguinte será apresentado a tecnologia HomePNA 3.0 voltada para

cabeamento coaxial (TV).

2.2.3.1 HomePNA 3.0

A abreviação HPNA ou HomePNA, conforme mencionado anteriormente,

significa Home Phone Network Alliance que nada mais é que o protocolo ITU-T G.9954.

O HomePNA é uma aliança industrial para promover o uso de redes domiciliares sob

cabeamento telefônico presente na grande maioria das residências. Recentemente foi

incluído o uso de cabos coaxiais, aumentando assim as possibilidades de utilização desta

tecnologia que tem como maior compromisso a facilidade de instalação para prover a

comunicação de dados com eficiência e qualidade.

No momento conta com três padrões bem definidos, chamados de HomePNA 1.0,

HomePNA 2.0 e HomePNA 3.0. Este último possui duas atualizações no padrão,

conseguindo um aumento razoável na banda passante de 240Mbps na versão HomePNA

3.0 e 320 Mbps na HomePNA 3.1.

15

O HPNA 3.0 foi desenvolvido especificamente para prover serviços de dados e

multimídia em redes domiciliares sob cabeamento telefônico e/ou coaxial. Permitindo

assim, oferecer serviços triple-play (vídeo, voz e dados), necessitando assim de uma

combinação dos seguintes benefícios:

• Alta taxa de transmissão;

• Utiliza o cabo existente, sendo este coaxial ou telefônico;

• Pode haver divisores (splitters) na rede;

• Frequência de operação fora da faixa de telefone, TV à cabo e TV coletiva;

• Garantia de QoS (Quality of Service) para áudio, vídeo e VOIP;

• Baseado num padrão aberto (ITU G.9954), permitindo a compatibilidade entre

diferentes fabricantes;

• Conexão ponto à ponto ou ponto à múltiplos pontos.

O HomePNA 3.0 utiliza uma técnica de agregação de pacotes, que permite

aumentar a eficiência do protocolo de acesso ao meio. Esta técnica consiste em agregar o

campo de dados de vários quadros Ethernet em um único quadro HomePNA. Com isso, o

campo de dados do HomePNA pode chegar a até 64.000 bytes, aumentando assim a

eficiência do protocolo (ITU-T, 2005).

O modo de acesso ao meio utiliza o método síncrono em um modo mestre-

escravo, e técnicas de controle de admissão e reserva de recursos, que permitem que a

rede ofereça qualidade de serviço (QoS – Quality of Service). Neste modo, uma estação

da rede é escolhida como estação mestre através de um protocolo específico. Assim,

todas as estações devem transmitir de acordo com as instruções da estação mestre. Adota-

se o termo Master para os dispositivos que operam no modo mestre e o termo End-point

para os dispositivos que operam no modo escravo (ALMODEI, 2005).

De uma forma centralizada, o Master aloca intervalos de tempo específicos para

as outras estações, sem disputa pelo meio, para atender aos requisitos de QoS da rede.

Além disso, ele também aloca intervalos onde as estações podem disputar pelo meio

(ALMODEI, 2005).

Para alcançar taxas de até 128 Mbps, o HomePNA 3.0 utiliza uma banda passante

maior em relação as versões anteriores. Enquanto que a segunda versão do padrão utiliza

uma banda de apenas 6 MHz, o HomePNA 3.0 utiliza uma banda passante de 17 MHz, na

16

faixa de 4 MHz a 21 MHz, como mostra a máscara de densidade espectral de potência na

Figura 5.

Figura 5. Máscara de densidade espectral de potência do HomePNA 3.0.

Fonte: ALMODEI, 2005.

Para a extensão opcional de 240 Mbps utiliza-se uma banda passante ainda maior,

que chega a 24 MHz, de 4 a 28 MHz, alcançando uma taxa de símbolos de 24 Mbaud. A

nova máscara é mostrada na Figura 6. Além disso, também foram definidas duas novas

constelações QAM, para 9 e 10 bits por símbolo. Utilizando a constelação de 10 bits por

símbolos com a taxa de símbolos de 24 Mbaud chega-se à taxa de 240 Mbps

(ALMODEI, 2005).

17

Figura 6. Máscara de densidade espectral de potência para 240Mbps

Fonte: ALMODEI, 2005.

No entanto, o HomePNA 3.0 mantém a taxa básica de transmissão de 4Mbps para

os campos de cabeçalho e fim de quadro, o que diminui a eficiência da rede. A taxa

básica faz com que a eficiência da rede diminua para taxas de transmissão maiores,

devido ao tempo fixo de transmissão do cabeçalho (ITU-T, 2005).

2.3 SISTEMAS EMBARCADOS

Esta seção detalha as principais características eletrônicas (físicas) de um sistema

embarcado. Apresenta a evolução histórica dos componentes eletrônicos até chegar à

criação dos sistemas embarcados. Descreve a arquitetura básica interna de funcionamento

da unidade de processamento do sistema embarcado e os principais componentes e

conceitos referentes a esse sistema.

Pode-se afirmar que: um sistema embarcado é uma "caixa" com componentes

eletrônicos cujo entendimento facilita muito o desenvolvimento das aplicações, uma vez

que todos esses componentes devem ser corretamente configurados para o funcionamento

apropriado do sistema embarcado (ANDRADE&OLIVEIRA, 2006). Alguns

18

componentes presentes num sistema embarcado estão nos tópicos seguintes.

2.3.1 Transistor

Considerado uma das maiores invenções do século passado, o transistor foi

idealizado pelos pesquisadores da Bell Lab's em dezembro de 1947. Esse dispositivo

tinha função, semelhante às válvulas de controlar o fluxo de corrente, sendo amplamente

utilizado na telefonia e no rádio (ANDRADE&OLIVEIRA, 2006).

Entre as vantagens, percebe-se o tamanho reduzido em relação às válvulas. Não

são necessários grades, vácuo, nem invólucro de vidro. De ação instantânea, não gera

ruídos nem atraso por aquecimento. Os transistores também funcionam como

comutadores (chaves), sem atrasos como acontece com os relés

(ANDRADE&OLIVEIRA, 2006).

Esta invenção representou mais um salto tecnológico na história. Substituiu

definitivamente as válvulas e com isso tornou possível reduzir consideravelmente o

tamanho dos produtos eletrônicos. Dependendo da forma que um transistor é ligado, ele

pode assumir várias funções, como por exemplo: comutador, amplificador tensão e

amplificador de corrente (ANDRADE&OLIVEIRA, 2006).

2.3.2 Circuitos Integrados

Após a invenção dos transistores, as implementações de circuitos digitais

tornavam-se cada vez mais complexas. Pequenas calculadoras já utilizavam milhares de

pequenos transistores. O número desse dispositivo empregado nos circuitos digitais

aumentava rapidamente. Com isso veio a necessidade de reduzir a eletrônica envolvida, e

desta forma surgiu outra invenção, o circuito integrado (CI), exibido na Figura 7.

19

Figura 7. Exemplo de circuito Integrado

Fonte: Adptado de FREESCALE (2002).

A cada novo CI lançado a complexidade das aplicações aumentava

exponencialmente, possibilitando aplicações que antes eram quase impossíveis de

implementar. Logo vieram os primeiros microprocessadores, capazes de executar milhões

de instruções por segundo. Hoje em dia, nota-se a presença dos circuitos integrados na

grande maioria dos equipamentos eletrônicos (ANDRADE&OLIVEIRA, 2006).

Os circuitos integrados possuem diversos formatos na indústria eletrônica,

denominados de encapsulamentos, devido aos diversos processos de fabricação. Às vezes

eles são projetados para otimizar o espaço, para facilitar a montagem ou em razão dos

custos. Assim, diversos formatos da pastilha de silício e dos terminais (pernas ou pinos)

são utilizados. Dentre os mais comuns existe o formato PDIP (figura 7), muito utilizado

para prototipagem rápida e até caseira (ANDRADE&OLIVEIRA, 2006).

2.3.3 Circuito Impresso

Os circuitos impressos foram criados para unir de forma permanente e eficiente os

circuitos integrados aos diversos outros componentes de um circuito eletrônico,

minimizando e em muitos casos até substituindo a utilização de fios, realizando as

devidas ligações do circuito.

20

O circuito impresso pode ser fabricado com placas de diversos materiais, e possui

uma ou mais superfícies (faces) cobertas por uma fina película de metal em que são

desenhadas as trilhas condutoras, que representam o circuito. Nas trilhas são fixados os

componentes eletrônicos pelo processo de soldagem (ANDRADE&OLIVEIRA, 2006).

Existem diversos softwares para a confecção de circuitos impressos. O processo é

simples. O circuito é desenhado sem levar em consideração a placa e a disposição dos

componentes. Esse tipo de circuito é denominado de esquemático (schematic), e a partir

dele é gerado o circuito para a confecção do circuito impresso chamado de layout. Nessa

etapa os softwares usam algoritmos de minimização de rotas sem cruzamento de linhas,

mas em geral isso é feito manualmente (ANDRADE&OLIVEIRA, 2006).

2.3.4 Arquitetura Geral de um Sistema Embarcado

Internamente a um sistema embarcado, o componente mais evidente é a memória,

pois ele necessita de um local para armazenar o software embarcado. Não apenas para

isso, pois existem memórias que são utilizadas para armazenar dados temporários vindos

de processamentos. Também existe uma memória que armazena as instruções básicas do

processador (ANDRADE&OLIVEIRA, 2006). Memórias eletrônicas têm como

características:

• Tempo de Acesso: é o tempo necessário para acessar a memória e realizar uma

operação de leitura ou gravação;

• Capacidade: quantidade efetiva de dados que podem ser armazenados no interior

da memória;

• Não-Volatilidade: capacidade de manter seus dados mesmo quando não existir

energia elétrica;

• Tempo de Latência: é o intervalo mínimo entre cada operação de leitura ou escrita

na memória. Este deve ser respeitado, pois pode acarretar na utilização de espaços

indevidos da memória, podendo causar a perda ou manipulação incorreta de

dados;

21

Levando em consideração estas características, ainda existem várias tecnologias

de fabricação de memórias. Algumas são conhecidas devido a seu uso em computadores

pessoais. Dentre elas destacam-se as seguintes:

• Memória RAM (Random Access Memory - Memória de Acesso Aleatório): é

volátil (ou seja, não mantém seus dados sem energia elétrica). Sempre que

alimentada, inicia com dados inconsistentes. A aleatoriedade consiste no fato de

que, para acessar um determinado endereço, não é necessário percorrer todos os

endereços anteriores desde o início, mas realizar um acesso direto ao endereço

desejado (ANDRADE&OLIVEIRA, 2006);

• Memória ROM (Read Only Memory- Memória exclusivamente de leitura): é um

tipo que armazena dados de forma não-volátil. Ela é conhecida como apenas de

leitura, pois não permite escrita e é programada pelo fabricante. Utilizada em

computadores pessoais para armazenar o conjunto de rotinas básicas do sistema

operacional, denominado popularmente de BIOS (Sistema Básico de Entrada e

Saída). Também é muito usada em calculadoras e em impressoras para armazenar

seus modelos de letras (ANDRADE&OLIVEIRA, 2006);

• Memória PROM (Programmable Read Only Memory – Memória programável

exclusivamente para leitura): é um tipo especial de memória ROM, que é

fabricada em branco para ser programada pelo projetista da aplicação. É gravada

uma única vez (ANDRADE&OLIVEIRA, 2006);

• Memória EPROM (Electrically Programmable Read Only Memory - Memória

programável apagável exclusivamente para leitura): é um tipo de memória

PROM, cujo conteúdo pode ser apagado quando submetido a processos especiais,

como luz ultravioleta. Pode ser regravada algumas vezes

(ANDRADE&OLIVEIRA, 2006);

• Memória EEPROM ou E2PROM (Electrically Erasable Programmable Read

Only Memory - Memória programável apagável eletricamente exclusivamente

para leitura): é do tipo ROM, que pode ser programada e também apagada por

processos elétricos. Esse procedimento pode ser repetido várias vezes. As

operações de escrita são realizadas de forma mais lenta se comparada à leitura

(ANDRADE&OLIVEIRA, 2006).

22

• Memória FLASH: é programável e apagável eletricamente, sendo possível repetir

esse processo rapidamente, só que com velocidades de leitura e escrita bem

superiores à memória EEPROM. Conseqüentemente seu custo também é maior.

No tópico seguinte será detalhado em que situações e funções são utilizadas essas

memórias.

2.3.4.1 Memória de Programa

A memória de programa é o local onde fica armazenado o firmware do sistema

embarcado, geralmente uma memória Flash, que fornece ao programador a possibilidade

de gravar muitas vezes o seu software embarcado. Em alguns casos especiais, o espaço

livre dessa memória pode ser reutilizado como extensão da memória de dados, devido a

uma característica especial desse tipo de hardware (ANDRADE&OLIVEIRA, 2006).

Ela é uma memória não-volátil, ou seja, seus dados mantêm-se mesmo quando

não existe alimentação. Devido a essa característica, um sistema embarcado pode manter

sempre seu firmware internamente, sem a necessidade de uma gravação a cada execução.

Assim, os fabricantes começaram a introduzir pequenas memórias EEPROM nas

pastilhas do componente processador, as quais competem diretamente com o espaço

físico de outros periféricos internos. Assim, componentes com menos periféricos internos

costumam ter maiores memórias internas (ANDRADE&OLIVEIRA, 2006).

A característica mais importante dessa memória é não perder o seu conteúdo

quando a alimentação é desligada e permitir a gravação e leitura. Na prática, a memória

EEPROM é usada para guardar dados importantes ou alguns parâmetros de

processamento. Para conectar essas memórias aos demais componentes do sistema,

existem os barramentos, que são canais de informação por onde passam os dados para

gravação e leitura das memórias. Existem duas arquiteturas muito difundidas no meio da

eletrônica digital: a arquitetura Harvard e a arquitetura de Von Neumann, as quais

definem diferentes estruturas de barramentos (ANDRADE&OLIVEIRA, 2006).

23

2.3.4.2 Arquitetura Harvard x Von Neumann

A arquitetura Harvard difere da arquitetura de Von Neumann, principalmente pelo

método em que são processados os dados provenientes da memória de dados e da

memória de programa. Na arquitetura de Von Neumann existe apenas um barramento por

onde passam os dados da memória de programa e da memória de dados, enquanto na

arquitetura de Harvard existem barramentos diferentes, proporcionando maior

desempenho, pois permitem múltiplos acessos à memória, ou seja, acessos simultâneos à

memória de dados e à memória de programa (ANDRADE&OLIVEIRA, 2006).

Ainda nos parâmetros de projetos dos sistemas embarcados, existem as filosofias

básicas de desenvolvimento do conjunto de instruções. É preciso ressaltar a maior

flexibilidade de programação (maior quantidade de instruções disponíveis, promovendo

maior quantidade de soluções) na utilização de um conjunto de instruções mais completo.

Nos processadores RISC as instruções são muito simplificadas, com formato fixo,

e devem levar apenas um ciclo de clock na execução. Este princípio significa que

qualquer operação que não possa ser completada em um ciclo não pode ser incluída no

conjunto de instruções. Assim, muitas máquinas RISC não possuem instruções para

multiplicação ou divisão, que são implementadas, geralmente, por seqüências de somas

ou subtração. Atingir literalmente o objetivo de uma instrução por ciclo de clock não é

possível, pois as instruções de acesso à memória são um gargalo. Instruções que buscam

seus operandos de registradores (espaço reservado de memória) e armazenam seus

resultados em registradores podem ser manipuladas em um ciclo, mas instruções que

carregam a partir da memória ou armazenam em memória levam mais tempo

(ANDRADE&OLIVEIRA, 2006).

Os tópicos seguintes apresentam o clock, os registradores e o contador de

instruções.

24

2.3.4.3 Clock

O clock fornece a sensibilidade de tempo para o processador, ou seja, ele fornece

um sinal que é uma onda quadrada (Figura 8), por isso é freqüentemente chamado de

oscilador. A cada nível alto dele, uma instrução no mínimo é executada, dependendo das

características físicas do processador. Um ciclo de clock consiste na diferença de tempo

entre dois níveis altos dessa onda do oscilador.

Figura 8. Onda Quadrada.

Então um clock define a velocidade de processamento. Quanto mais rápido o

oscilador mais veloz será o processamento. Microcontroladores trabalham geralmente até

40MHz, enquanto existem DSP's que alcançam até 800 MHz (ANDRADE&OLIVEIRA,

2006).

2.3.4.4 Registradores

Registradores são pequenas unidades de memória para alocação temporária de

25

dados. Ou seja, trabalham diretamente com o processador, armazenando os resultados de

suas operações lógicas e aritméticas temporariamente até que esse dado seja reutilizado

em outra instrução ou transferido para outra forma de memória

(ANDRADE&OLIVEIRA, 2006).

2.3.4.5 Contador de Instrução

É um registrador cuja função é armazenar o endereço da próxima instrução a ser

executada. Quando essa instrução inicia a execução, o conteúdo desse registrador é logo

atualizado para o endereço da próxima instrução a ser executada

(ANDRADE&OLIVEIRA, 2006).

São funções do processador:

• Buscar uma instrução na memória;

• Interpretar a operação à qual a instrução está se referindo;

• Buscar os possíveis dados necessários para a execução da operação (em memórias

ou registros);

• Executar a operação com os dados e armazenar o resultado no lugar definido pela

instrução;

• E reiniciar o processo, buscando uma nova instrução.

A seqüência de etapas denomina-se de ciclo de instrução que ocorre

indefinidamente até que ocorra uma queda de energia, o sistema seja desligado, ocorra

algum erro ou o programa termine sua execução. No que se refere ao hardware, uma

instrução não passa de uma seqüência de bits (zero ou um) e um processador é

simplesmente uma; unidade de processamento matemático (ALU – Aritmetical Logic

Unit, que significa: Unidade Lógica e Aritmética, Figura 9) cuja função é realizar as

operações lógicas e aritméticas. Então ele só conhece essas operações. Para isso existe

um novo componente interno ao sistema embarcado, o decodificador e controlador de

instruções (ANDRADE&OLIVEIRA, 2006).

26

Figura 9. ALU – Unidade Lógica e Aritmética

Fonte: Adaptado de MICROCHIP (2004).

A ALU ainda possui alguns sinalizadores (flags) de overflow (estouro da

capacidade do registro de resposta) e de quando o resultado é zero

(ANDRADE&OLIVEIRA, 2006).

2.3.5 Microcontroladores e Microprocessadores

Um microcontrolador é um componente muito parecido com um

microprocessador exceto pelo fato de que os microcontroladores são desenvolvidos com

o uso específico para sistemas embarcados. Além da unidade de processamento, os

microcontroladores possuem uma ou mais memórias e interfaces de entrada e saída (I/O)

integradas. Utilizados em larga escala, nas mais variadas áreas da automação, os

microcontroladores podem ser encontrados em eletrodomésticos, brinquedos eletrônicos

e ate mesmo em sistemas de segurança (ANDRADE&OLIVEIRA, 2006).

De uma forma geral, microprocessadores e microcontroladores são circuitos

integrados disponíveis nos mais variados tipos de encapsulamentos e destinados ao

tratamento de sinais digitais. Primeiro vieram os microprocessadores, substituindo

27

milhões de transistores nos computadores, que chegavam a ocupar um andar de um

prédio e após essa invenção diminuíram consideravelmente de tamanho. São usados

principalmente para processamentos complexos e possuem alto custo. Dentre algumas

aplicações estão presentes nos microcomputadores pessoais, em aparelhos eletrônicos de

uso doméstico e nos equipamentos médicos (ANDRADE&OLIVEIRA, 2006).

Mas esse circuito integrado não consegue fazer nada sozinho, pois são necessários

outros dispositivos externos para que ele se torne útil. É uma memória de programa, que

deve conter o programa que será executado pelo microprocessador. Necessita inclusive

de barramentos entre essa memória e o microprocessador, que são a ligação física entre a

memória e o microprocessador (fios ou trilhas). No caso de um barramento de dados de

16 bits, haverá 16 fios ou trilhas comunicando os dois. Existe a necessidade também do

barramento de endereços, o qual seleciona o endereço em que o dado será lido ou escrito

na memória. Desta forma, em um microprocessador deve ser acoplado externamente todo

componente necessário para o cumprimento da aplicação. Os microcontroladores, em

geral, possuem todos os periféricos necessários num único chip. Seu tamanho também é

muito pequeno, mesmo contendo vários periféricos como: memórias, barramentos,

timer's, portas de comunicação, conversores de sinal analógico para digital, etc. Eles

possuem desempenho menor que os microprocessadores, mas são ideais em aplicações

que necessitam de menores dimensões, tempo e custos. Esse dispositivo é amplamente

usado em automação industrial, residencial e predial, eletrodomésticos, brinquedos

eletrônicos e em qualquer situação em que seja necessário o controle de um dispositivo

de sinais eletrônicos. Por exemplo, num elevador, quando alguém aperta um botão para ir

até um andar específico, o microcontrolador recebe essa informação como um dado de

entrada, interpreta-o e aciona os motores do elevador até aquele andar, pára e abre as

portas (ANDRADE&OLIVEIRA, 2006).

2.3.6 Firmware

Firmware é o software de um sistema embarcado. Após detalhada algumas formas

28

de implantação do hardware de um sistema embarcado, é chegada a hora de tratar do

software embarcado, denominado firmware.

De nada adianta ter um hardware perfeitamente montado, sem ter um software

adequado para controlá-lo. A essência de um sistema embarcado é conter um firmware

que controlará a sua execução.O firmware não passa de um conjunto de regras que rege o

funcionamento do sistema (ANDRADE&OLIVEIRA, 2006).

O software de um sistema embarcado é semelhante ao de um computador pessoal,

podendo ser escrito em diversas linguagens de programação, mas a forma de escrever

essa lógica é denominada algoritmo. Um exemplo de um algoritmo básico que controlaria

o funcionamento de um botão interfaceando com uma lâmpada é apresentado na Figura

10:

Figura 10. Algoritmo exemplo

Fonte: Adaptado de ANDRADE&OLIVEIRA (2006).

Neste, o software realiza a leitura de um botão, caso ele esteja pressionado, uma

luz é acesa; caso contrário, ela é apagada. Essa leitura é realizada indefinidamente

enquanto o sistema estiver alimentado.).

O algoritmo é uma das formas de representação de uma solução, que deve ser

convertida em alguma linguagem de programação, de forma a ser entendida pelo

processador. Existe uma grande diversidade de linguagens de programação, cada uma

otimizada para um determinado tipo de aplicação. Elas estão constantemente sofrendo

evoluções de forma a facilitar a implementação das soluções. As linguagens de

programação podem ser divididas em linguagens de baixo nível e linguagens de alto nível

(ANDRADE&OLIVEIRA, 2006).

Uma linguagem de programação é dita de baixo nível quando está na camada

29

mais inferior do software. Ou seja, quando ela é a linguagem efetiva do hardware e não

seja necessário convertê-la para o entendimento do processador. Essa é uma

categorização não muito padronizada. Esse nível de programação fornece a flexibilidade

de operar diretamente os registradores do processador, nível de manipulação difícil de se

obter nas camadas superiores, pois nesses níveis o sistema operacional protege os bancos

de memórias de alguma modificação inesperada (ANDRADE&OLIVEIRA, 2006).

A forma de implementação mais baixa que se pode alcançar é a dita linguagem de

máquina que é a utilização das instruções do processador. A linguagem de máquina é a

forma de implementação real das instruções do processador. Que são uma seqüência de

bits (composta apenas por zeros e uns), mas comumente representada por bytes (8 bits

pelo sistema de numeração hexadecimal) de forma a facilitar o entendimento, pois uma

grande seqüência de bits torna-se confusa. Como foi especificado anteriormente, todo

computador possui um conjunto de instruções (armazenado em uma memória ROM), que

é a única forma de implementação que ele compreende (ANDRADE&OLIVEIRA,

2006).

Um exemplo de linguagem de baixo nível muito utilizada é o Assembly, que é

uma forma de implementação do processador através de instruções e não números.

Implementar diretamente na linguagem de máquina torna-se uma tarefa impraticável.

O Assembly foi uma das primeiras linguagens de programação a ser criada. O seu

desenvolvimento veio da necessidade de utilizar um comando em vez do código da

linguagem de máquina. O compilador Assembly utiliza diretamente as instruções do

processador, e portanto, necessita de uma versão específica para cada tipo de processador

(ANDRADE&OLIVEIRA, 2006).

Quando se fala de linguagem de alto nível, fala-se na utilização de uma forma de

programação em que diversas estruturas de controle são abstraídas, ou seja, são

implementadas automaticamente nas camadas inferiores (quando necessárias). A

programação neste caso ainda é realizada com a linguagem de máquina, mas o

compilador realiza a conversão. Apesar da praticidade na maioria das vezes, o código

gerado pelo compilador fica significativamente maior que o código programado

diretamente na linguagem de máquina.

Fortran foi uma das primeiras linguagens a entrar para a categoria de linguagem

30

de alto nível. O nome Fortran vem da compressão do termo "Formula Translator". Ela é

um pouco defasada das atuais linguagens de alto nível, principalmente pelo fato de que

erros de apenas um caractere podem levar a erros na execução do programa, não sendo

detectado como erro de compilação. As versões mais atuais da linguagem oferecem

recursos que facilitam muito a manipulação de operações matemáticas entre matrizes,

sem contar as operações de números complexos que era um diferencial da linguagem.

Desta forma, a linguagem Fortran é muito utilizada para aplicações numéricas de alto

desempenho (ANDRADE&OLIVEIRA, 2006).

Pascal é uma linguagem de alto nível estruturada por regras bem rígidas, que

podem torná-la de difícil uso. Foi muito utilizada antigamente, porém atualmente é

utilizada como ferramenta de ensino de linguagens de programação. A linguagem Pascal

foi substituída pela Object Pascal que é a sua derivação com a adição da técnica de

programação orientada a objetos (ANDRADE&OLIVEIRA, 2006).

C é uma linguagem de programação bastante utilizada atualmente, devido a sua

característica de escrever softwares otimizados para o processador como o Assembly,

mas também possui uma série de procedimentos prontos, como nas linguagens de alto

nível. Essa flexibilidade fez com que essa linguagem de programação fosse utilizada para

o desenvolvimento de uma série de sistemas operacionais modernos. Como essa

linguagem é possível desenvolver aplicações para diversos sistemas operacionais, pois

possui compiladores específicos para cada ambiente (ANDRADE&OLIVEIRA, 2006).

Igualmente ao que aconteceu com a linguagem Pascal, a linguagem C também

teve sua evolução de estruturada para orientada a objetos, a qual se denomina C++. De

certa forma, manteve os recursos da linguagem C, mas agora com as facilidades da

implementação através de Ambientes de Desenvolvimento Integrado (IDE), como o

Visual C++ da Microsoft e o Builder C++ da Borland.

2.3.6.1 Tradução de um Software

Hoje em dia é muito comum a utilização de linguagens de programação de alto

31

nível para a implementação de sistemas embarcados, devido à abstração que ela fornece.

Por exemplo, para implementar uma comunicação serial em um microcontrolador,

diversas configurações são necessárias para o envio de apenas um caractere. Quando se

implementa através de uma linguagem de alto nível, isso tudo é abstraído e é

implementado com apenas uma instrução envia(dado). Quando essa instrução é

convertida, o compilador se encarrega de realizar todas as configurações necessárias.

O software passa por uma seqüência de conversão desde a linguagem de alto nível

até a linguagem de máquina. Os ambientes e desenvolvimento integrado (IDE) realizam

todas essas tarefas automaticamente, e geralmente chama um programa para executar

cada etapa dessa tradução (ANDRADE&OLIVEIRA, 2006).

A primeira etapa da conversão de um software em linguagem de máquina é passar

pelo compilador (compiler). A compilação é a tradução de um software para a linguagem

de máquina. Na maior parte dos casos, uma instrução na linguagem de alto nível

corresponde a várias instruções na linguagem de máquina. O processo de compilação

realiza uma análise do código em relação a erros e caso não haja nenhum, gera o código

de máquina. Alguns compiladores realizam três etapas em seu processo de compilação.

Primeiro geram um código de máquina intermediário, após, este passa por um processo

de otimização, para então gerar o código de máquina final.

2.3.6.2 Ligação

O código Assembly gerado pelo compilador geralmente não é o definitivo, pois

pode haver rotinas de bibliotecas do processador que ainda não foram incorporadas ao

programa. Em toda chamada da biblioteca, o compilador inclui no código uma chamada

para a rotina correspondente e o endereço dos dados que devem ser passados para a rotina

(ANDRADE&OLIVEIRA, 2006).

O ligador (linker) procura no código Assembly as chamadas da biblioteca e as

substitui pelo devido código, fornecendo como saída um código Assembly completo e

pronto para ser executado.

32

2.3.6.3 Montagem

A montagem (assembler) é a etapa em que se realiza uma tradução efetiva do

programa para linguagem de máquina. Isso feito, analisando instrução a instrução e

verificando o código da instrução, caso seja um código válido, ele é substituído pelos

códigos numéricos binários equivalentes. Caso tenha algum erro no código, o processo é

interrompido e uma mensagem de erro é emitida. Em seguida os nomes simbólicos de

referência à memória utilizados pelo programador são convertidos em endereços reais de

memória (valores binários). Após isso, os valores constantes são convertidos em binário.

Resultando na conversão completa do código em linguagem de máquina

(ANDRADE&OLIVEIRA, 2006).

2.3.6.4 Carregamento

Tendo o algoritmo convertido em linguagem de máquina, o próximo passo é

gravá-lo na memória de programa do sistema embarcado. Esta é uma tarefa do carregador

(em inglês, loader).

Estes foram os componentes relacionados ao firmware. O conversor HPN contém

um firmware e abordado numa seção do próximo capítulo.

3 CONVERSOR HPN

Nos capítulos anteriores foram abordados os princípios fundamentais para o

entendimento e execução deste projeto. Neste capítulo, serão abordados os componentes

contidos no protótipo, dando assim uma visão da arquitetura deste. Ao final, uma seção

descreverá os testes realizados com o conversor proposto, validando sua eficácia e

performance. Alguns dados à nível de projeto não foram revelados por motivos

comerciais. Isto porque este projeto foi desenvolvido junto a uma empresa de

comunicação de dados, em seu setor de pesquisa e desenvolvimento, portanto a exposição

de certos dados coloca em risco o pioneirismo da empresa caso seja exposto os códigos

fontes e esquema elétrico de seu produto.

Figura 11. Exemplo de aplicação em residências

Fonte: READLINKS (2005).

34

O conversor HPN (ou HomePNA) é destinado a aplicações de transmissão e

recepção de dados através de redes baseadas no padrão Ethernet 100BASE-Tx e o padrão

HomePNA 3.0 G.9954 sobre cabos coaxiais, criando redes privativas de alta velocidade.

Este equipamento permite a criação de redes locais utilizando o cabeamento coaxial

simultaneamente com o serviço de TV a cabo ou antena coletiva (em condomínios),

conforme as Figuras 11 e 12, respectivamente. Nota-se na Figura 11 uma ponte passiva

(coax bridge) permitindo assim integrar dois meios físicos distintos, o coaxial e o

telefônico.

Figura 12. Exemplo de aplicação em condomínios

Fonte: Adaptado de CIANET (2007).

35

Para que esta integração de tecnologias seja possível, são necessários alguns

componentes básicos no conversor: no mínimo uma interface de rede (Ethernet) e no

mínimo uma interface HomePNA. Com isso trás a necessidade de um switch Ethernet

(circuito integrado) e um modem HomePNA (circuito integrado). Também é necessário

um regulador de tensão para alimentar estes componentes. Além disto outros

componentes periféricos devem integrar ao sistema, como por exemplo: transformadores

para a interface Ethernet, filtro passivo de terceira ou quarta ordem para a interface

HomePNA, memória de armazenamento não volátil (FLASH ou EEPROM) e uma série

de resistores, capacitores e indutores. Com a ligação correta destes componentes, teremos

o conversor HomePNA/Ethernet.

Além destes componentes, será incluído um microcontrolador para possibilitar o

gerenciamento remoto do equipamento. Agregando algumas funcionalidades ao

conversor, como por exemplo, desabilitar a interface Ethernet, criar VLAN’s, reiniciar o

equipamento, entre outros.

3.1 ARQUITETURA GERAL

Este item está divido em dois subitens com a intenção de mostrar em que sistema

o conversor está inserido e a seguinte mostrar os blocos internos do conversor

propriamente dito. Assim tem-se a visão da aplicação e dos componentes do protótipo.

3.1.1 Arquitetura Geral do Sistema

Na Figura 13, pode-se verificar o diagrama de blocos da arquitetura geral do

sistema, que nada mais é que a tradução das Figuras 11 e 12 convertidas em blocos.

36

Figura 13. Diagrama de blocos da arquitetura geral do sistema

O sinal de internet chega através de um link de rádio ou xDSL e conecta-se ao

conversor HomePNA (configurado no modo Master). Em seguida dois sinais chegam ao

Diplex via cabo coaxial, o HomePNA e o de TV. Este equipamento tem como função

misturar 2 faixas de freqüência, conforme é mostrado na Figura 13. A faixa entre 5 MHz

e 42 MHz corresponde ao sinal HomePNA e a faixa entre 54 MHz e 750 MHz

coresponde ao sinal de TV. Na saída do Diplex aparece os sinais misturados em um cabo

coaxial, que pode percorrer alguns andares no caso de um prédio ou alguns metros numa

residência.

Então o sinal chega ao spliter, que é um simples divisor. Existem diversos tipos de

divisores, com várias saídas (uma entrada para: dois, quatro, oito, etc). O seu uso

dependerá das necessidades na aplicação. A Figura 14 apresenta a perda aproximada de

acordo com o valor e o número de saídas do spliter (também chamado TAP).

37

Figura 14. Perda de inserção de acordo com o número de saídas e valor do TAP

Fonte: Adaptado de CIANET (2007).

O passo seguinte é quando o sinal chega a outro Diplex, que neste caso tem a

função de separar os sinais misturados anteriormente. Assim segue um sinal HomePNA

para o conversor e outro sinal, o de TV, para o aparelho de TV. Finalizando, o conversor

(configurado no modo End-point) converte o sinal HomePNA para o padrão Ethernet e

envia para a interface de rede do PC.

O limite de alcance do sinal depende da atenuação sofrida no caminho percorrido.

Para o conversor HomePNA 3.0, a atenuação máxima é de 46dB, caso passe deste valor

não haverá comunicação. Se a atenuação ficar entre zero e trinta dB é possível trafegar à

taxa máxima do conversor. Um cabo coaxial comum utilizado nas residências, chamado

RG- 59, possui atenuação de 3,7 dB a cada cem metros. Porém as redes costumam ter

outros componentes passivos como os spliter’s, que também atenuam o sinal. A Figura

14 mostra os valores em dB de alguns casos. Tudo isso significa que o alcance pode

passar de um quilômetro, vai depender da atenuação total da rede coaxial em que o

conversor se encontra.

3.1.2 Arquitetura Geral do Conversor

Na Figura 15 pode-se verificar o diagrama de blocos da arquitetura geral do

conversor proposto neste trabalho.

38

Figura 15. Diagrama de blocos da arquitetura geral do conversor

Os principais blocos serão detalhados posteriormente. Abaixo segue uma breve

descrição de cada bloco:

• ETH: corresponde à interface Ethernet e é um conector RJ45 fêmea

• SWITCH: é responsável por processar os pacotes Ethernet. Possui três tipos de

interfaces no sistema. Uma conexão MII (Media Independent Interface), uma

conexão SMI (Serial Managemment Interface) e outra conexão UTP (Unshield

Twisted Pair).

• MIC: é um microcontrolador responsável por gerenciar o switch Ethernet e o

modem HPN, ambos via SMI.

• MODEM HPN: processa os sinais HomePNA e repassa ao Switch via interface

MII ou processa o pacote ethernet recebido pela interface MII e converte para a

interface HomePNA. Também possui uma interface SMI.

• FLASH: é a memória responsável por armazenar o firmware do modem HPN.

• COAX: nada mais é que um conector F macho para a conexão do cabo coaxial.

3.2 ANÁLISE DE REQUISITOS

Estes são os requisitos que se referem às funções que o sistema deve realizar e

39

deverá estar apto a desenvolver as seguintes tarefas:

• R01 – Envio e recebimento de pacotes através da interface Ethernet;

• R02 – Envio e recebimento de pacotes através da interface HPN;

• R03 – Envio e recebimento de pacotes através das interfaces MII’s;

• R04 – Envio e recebimento de comandos entre o microcontrolador e o modem

HPN;

• R05 – Leitura e escrita de dados nos registradores internos do modem HPN e

Switch Ethernet através da interface SMI do microcontrolador;

• R06 – Codificação de um protocolo de comunicação entre o microcontrolador e o

software de gerência (PC);

• R07 – Interpretação de comandos de gerência pelo microcontrolador;

• R08 – O firmware de gerência deve ser implementado em linguagem C,C++ e/ou

Assembler;

• R09 – O conversor deve ser capaz de enviar e receber dados;

• R10 – O conversor deve ser capaz de prover serviço de vídeo;

3.3 HARDWARE

Nos tópicos seguintes encontram-se os detalhes dos principais blocos do hardware

projetado. Ao final, como resultado o protótipo do conversor, que é composto

basicamente por três itens: um switch Ethernet, um modem HomePNA e um

microcontrolador.

3.3.1 Microcontrolador MC9S08QD4

Os microcontroladores da série MC9S08QD4 são integrantes da família HCS08

40

de baixo custo, alta performance e 8 bits (Freescale, 2006). Componente escolhido

principalmente pelo seu custo comercial bastante atrativo. Este dispositivo fabricado pela

Freescale Semiconductors têm as seguintes características:

• Unidade central de processamento (CPU) de 16 MHz;

• Suporta até 32 interrupções;

• Memória Flash de 4096 bytes;

• Memória RAM de 256 bytes;

• Conversor Analógico-Digital (AD) ou Digital Analógico de 4 canais (10 bits);

• 2 canais PWM (Pulse Width Modulation);

• 2 temporizadores (Timmers);

• Apenas 8 pinos, sendo quatro de propósito geral (entrada ou saída);

• Depuração in-circuit single wire (no circuito com apenas um fio);

• Encapsulamento SOIC ou PDIP;

• Tensão de alimentação de 2.7Volts à 5.5Volts

• Programável em Assembler, C e/ou C++.

A Figura 16 mostra a como está disposto os pinos e seus respectivos nomes.

Figura 16. O microcontrolador MC9S08QD4

Fonte: FREESCALE (2006).

Para melhor entendimento da arquitetura e dos elementos que compões o chip, a

Figura 17 expõem o diagrama de blocos deste microcontrolador.

41

Figura 17. Diagrama de blocos do MC9S08QD4

Fonte: FREESCALE (2006).

Observando os blocos, podemos destacar os seguintes módulos relevantes ao

sistema:

• HCS08 CORE: Contém a unidade central de processamento (CPU);

• HCS08 SYSTEM CONTROL: controla os modos de operação;

• USER FLASH: local onde será armazenado o firmware do sistema embarcado;

• USER RAM: local onde ficam as variáveis do sistema durante a operação;

• INTERNAL CLOCK: gerador de clock interno de 16MHz.

42

3.3.1.1 Firmware de Gerência

O firmware de gerência foi desenvolvido, compilado e gravado com a IDE,

fornecida pela Freescale Semiconductors, chamada Code Warrior versão 5.1. A interface

física para gravação (USB – Universal Serial Bus) foi o P&E Multlink para família de

microcontroladores HCS08.

A comunicação entre um software de gerência qualquer rodando no PC e o

firmware de gerência rodando no microcontrolador acontece da seguinte forma: O PC

envia um comando pré-determinado para o conversor via interface de rede Ethernet, ou

seja, o software de gerência do PC escreve numa região da memória RAM do modem

HPN (CG3010). O microcontrolador fica varrendo essa região de memória

constantemente até que chegue um novo comando. A Figura 18 ilustra o fluxograma de

operação do firmware de gerência.

Figura 18. Fluxograma de operação do firmware de gerência

43

No caso de um comando válido, o microcontrolador interpreta este comando e devolve

uma resposta na mesma região de memória. O software de gerência (PC) lê esta resposta.

A Figura 19 ilustra o frame de gerência.

Figura 19. Frame de gerência

Com isso é possível implementar uma série de funcionalidades. Na Figura 20

estão algumas das funções implementadas no microcontrolador.

Figura 20. Funções de gerência do microcontrolador

Com este método também é possível enviar comandos de leitura ou escrita para os

registradores internos do switch RTL8305SC e os registradores internos do próprio

modem HPN CG3010, sempre através do microcontrolador. Para tanto basta enviar o

comando especificando qual chip deseja-se acessar, esta informação está contida no

campo ADDR do comando.

Há a possibilidade de armazenar um texto de identificação do equipamento de até

20 caracteres. Esta funcionalidade é útil em redes que possuem diversos equipamentos.

Ao invés de gerenciá-los identificando-os pelo endereço MAC, usa-se esta descrição.

44

Fornecendo assim uma solução alternativa de identificação, por exemplo: Num prédio

onde existem 40 conversores configurados como End-point conectados a um conversor

configurado como Master. Através do software de gerenciamento é possível atrelar o

MAC dos equipamentos a uma string de identificação. A padronização fica por conta do

usuário, exemplificando: “EP19-BL.A-APTO 1001” corresponde ao conversor número

19 que está localizado no bloco A, apartamento 1001, associado ao MAC 00-19-46-02-

34-56. Outro exemplo: “ASSINANTE N. 342”; “RUA EUCALIPTUS N. 12”.

Além de tornar a identificação dos equipamentos mais flexível, é possível

gerenciá-los de forma intuitiva, não sendo necessário uma tabela de controle para

identificar os assinantes. Esta situação é comum em condomínios com grande número de

clientes (assinantes do provedor de internet).

Foi definido utilizar apenas 20 caracteres por motivo de economia de espaço na

tabela de comandos interna (área na Flash do microcontrolador destinada aos comandos),

já que esta é limitada em 128 comandos. Lembrando que para cada comando aproveita-se

apenas dois bytes de dados, e que um comando tem quatro bytes. A Figura 18 ilustra o

frame do comando.

Existem inúmeras maneiras de representar um caractere. A mais comum é utilizar

a tabela ASCII, conforme a Figura 21.

45

Figura 21. Caracteres pelo padrão ASCII

Para aproveitar ainda mais o espaço na tabela de comandos, foi criada uma nova

tabela a fim de otimizar ainda mais o espaço necessitando apenas de seis bits por

caractere. A tabela de caracteres está ilustrada na Figura 22.

46

Figura 22. Tabela de caracteres desenvolvida

Para tanto foi necessário desenvolver uma codificação para armazenar esses

caracteres na tabela de comandos. Esta ocupa uma área de memória Flash do

microcontrolador. Os comandos que guardam os caracteres na tabela de comandos estão

organizados em seqüência e cada comando guarda quatro caracteres.

Para tanto, todo o comando com bit 3 e bit 4 do PHY deve ser igual a 11 (binário).

Assim os 8 bits do DATA_H somados aos 8 bits do DATA_L somados aos 5 bits do

REG somados aos 3 bits que sobraram do PHY, totalizam 24 bits para serem utilizados

como caracteres conforme a Figura 23, totalizando quatro caracteres por comando. Os

bits disponíveis para a codificação de string estão sinalizados por “X”.

Figura 23. Exemplo de um comando de gerência

47

3.3.2 Switch Realtek RTL8305SC

O RTL8305SC é um switch controlador de cinco portas Fast Ethernet com

memória integrada. Possui cinco MACs e cinco camadas físicas de transmissão para

10Base-T ou 100Base-TX em um único chip. Todas as portas suportam 100Base-FX

(fibra óptica), compartilhando os pinos de TX+- e RX +- (UTP) e não necessitam dos

pinos SD+/- (comuns nos dispositivos de fibra óptica), devido à tecnologia proprietária

da Realtek (REALTEK, 2005).

O microchip suporta auto-negociação ou pode-se forçar a negociação para

100Mbps em Half ou Full Duplex com ou sem controle de fluxo. O mesmo ocorre para o

modo FX, diminuindo o tempo de negociação já que as fibras não operam à 10Mbps.

As cinco portas são separadas em três grupos (grupo X, grupo Y e Porta 4)

flexibilizando o uso do chip e facilitando a configuração que pode ser feita via hardware

ou software (após o reset). Cada grupo pode ser configurado independentemente como

UTP ou FX, além das funcionalidades de negociação. A configuração por hardware

acontece via ajuste de pinos (pull-up ou pull-down). A configuração por software é

através de uma memória EEPROM externa ou via interface SMI (MDC/MDIO)

(REALTEK, 2005).

A quinta porta suporta um MAC ou PHY externo. A interface MAC externa pode

ser um PHY no modo MII, PHY no modo SNI ou MAC no modo MII. Assim é possível

ligar o switch a um roteador, um transceiver HomePNA, um transceiver VDSL, uma

CPU qualquer, entre outros.

Este switch contém uma tabela de entrada de endereços MAC de mil posições e

uma tabela CAM (Comparison Address Match) de dezesseis entradas minimizando os

problemas de colisão na tabela (evento conhecido como Hash collisions) a fim de

oferecer uma boa performance. A tabela de entrada (mil posições) permite leitura e

escrita via interface SMI, sendo possível configurar ou forçar qualquer entrada (entrada

estática do endereço MAC). Isto acontece quando há um gerenciamento externo e deseja-

se manter um endereço fixo na tabela. O switch conta ainda com uma série de

funcionalidades, como por exemplo: back-pressure half duplex com controle de fluxo;

48

filtro de tempestade broadcast; grupos de VLAN baseados em portas; grupos de VLAN

com tag (802.1Q); filtros de entrada e saída de pacotes baseados nas VLAN's; qualidade

de serviço (QoS); dois níveis de filas de prioridades; tamanho máximo de pacotes

variável (1536 ou 1552); endereços multicast (IEEE 802.1D); LED's de diagnóstico (link,

atividade, velocidade, duplex e colisão); detecção de loop; baixo consumo, entre outras

funcionalidades (REALTEK, 2005).

Cada canal da camada física deste switch consiste em um codificador 4B5B, um

codificador Manchester, um scrambler/de-scrambler, um driver de transmissão, um filtro

de ondas na saída, um equalizador digital adaptativo, um circuito PLL, e um detector

automático de cabo crossover (auto MDI/MDIX) (REALTEK, 2005).

O RTL8305SC é um chip integrado de baixo consumo ideal para configurações

flexíveis SOHO (Small Oficce Home Office), Gateway residencial, roteador

xDSL/Cable/HomePNA. Pode ser configurado das seguintes formas:

• Cinco portas 10/100M UTP;

• Quatro portas 10/100 UTP + 1 porta MII/SNI;

• Quatro portas 10/100 UTP + 1 porta MAC MII/SNI + 1 porta PHY MII.

49

3.3.2.1 Arquitetura Geral do Switch Ethernet

Com o diagrama de blocos é possível entender como funciona este switch

Ethernet. A figura 24 ilustra o diagrama de blocos do switch Ethernet RTL8305SC.

Figura 24. Diagrama de blocos do Switch Ethernet RTL8305SC

Fonte: Adaptado de REALTEK (2005).

Os principais blocos são:

• 100Base-T PHYceiver: são as portas UTP;

• MAC0 – MAC4: processador da porta 0 à 4;

50

• Lookup Table: tabela de endereçamento MAC;

• Packet Buffer: acumulador de pacotes;

• Global Function: controla clock de saída, o Reset, entre outros;

• Led Control: controla os pinos que devem ser ligados aos LED’s;

• PHY Interface: Modo PHY MII;

• MAC Inteface: Modo MAC MII ou PHY MII/SNI.

3.3.2.2 Tabela de Endereçamento MAC

A Lookup Table (Tabela de Endereçamento MAC) é uma tabela interna do switch

e tem a função de associar um MAC Address a uma das cinco portas (porta 0 à 4)

disponíveis no RTL8305SC. A tabela possui 1024 posições.

Quando um pacote Ethernet é recebido, o switch utiliza os últimos 10 bits do

MAC Destino para indexar a entrada na tabela. Ao mesmo tempo compara o MAC

Destino com o conteúdo da tabela CAM (16 entradas). Se o índice de entrada é válido ou

a comparação CAM combina, os pacotes recebidos serão repassados a porta destino

correspondente. Caso contrário, o switch irá enviar o pacote para todas as portas

(broadcast).

Então o switch extrai os últimos 10 bits do MAC origem para indexar a entrada na

tabela (lookup table). Se a entrada não estiver na tabela então será gravado o MAC

origem. Se esta entrada estiver ocupada, será atualizada com o novo MAC, é o chamado

Learning. Se a posição já estiver ocupada por um MAC diferente (hash collision), o novo

MAC origem será gravado na tabela CAM. A tabela CAM reduz as Hash Collisions e

melhora a performance.

Os índices inseridos na tabela possuem um tempo de envelhecimento, processo

conhecido como Address Aging. Este processo é utilizado para manter a consistência do

conteúdo da tabela em uma topologia com rede dinâmica. Uma entrada na tabela será

inválida enquanto o tempo de envelhecimento não acabar. O tempo de envelhecimento

(em inglês, aging time) é entre 200 e 300 segundos.

51

É possível fixar um índice na tabela, assim não ocorre o aging time. Desta forma

mantém um MAC Address associado a uma porta do switch. Para tanto, basta modificar

um registrador interno de 16 bits do RTL8305SC chamado Indirect Data 0 (PHY 4,

REG17) Verifique a Figura 25.

Figura 25. Indirect Access Data

Fonte: Adaptado de REALTEK (2005).

Segue a descrição dos bit:

• Bit[15:7]: reservado.

• Bit[6]: se for zero indica que a entrada na tabela será aprendida dinamicamente,

envelhecerá, será atualizada e apagada. Se for um, significa que a entrada é

estática, ou seja, será entrada via registrador.

• Bit[5:4]: contador de dois bits para envelhecimento interno. Pode assumir os

valores: 10, 11, 01 ou 00 (todos em binário).

• Bit[3:0]: são quatro bits para especificar a porta de origem do MAC Address

aprendido.

3.3.2.3 Auto Negociação

No modo UTP, através do mecanismo de auto-negociação, definido na

especificação IEEE 802.3u, o switch obtêm o estado da velocidade, duplex e controle de

fluxo para cada porta. Durante a auto-negociação, cada porta envia a informação a outra

porta conectada (estado de link operattion) avisando que possui essa capacidade e

52

também recebe da outra porta informações contendo as configurações dela. Por padrão, o

RTL8305SC envia todas as capacidades (100FULL, 100HALF, 10FULL, 10HALF)

juntamente com o controle de fluxo (habilitado ou desabilitado).

No modo Half Duplex o método de acesso CSMA/CD é o meio pelo qual duas ou

mais estações compartilham o mesmo meio de transmissão. Para transmitir, uma estação

espera por um período de silêncio no meio físico (a outra estação não está transmitindo) e

então envia uma mensagem na forma de bits serial. Se a mensagem colide com a da outra

estação, então cada estação transmite outra vez, por um período pré-definido, para

garantir a propagação da colisão em todo o sistema. A estação permanece em silêncio por

um período de tempo aleatório (backoff) antes de tentar transmitir novamente

(REALTEK, 2002).

3.3.2.4 Controle de Fluxo

Para o protocolo 802.3x (Ethernet com: Full Duplex Flow Control) com

autonegociação (pinos GxANeg/GyANeg/P4ANeg com nível lógico um), a função

PAUSE (registrador 4.10) ou controle de fluxo full duplex é habilitado pelos pinos

GxEnFC/GyEnFC/P4EnFC no respectivo grupo ou por registradores internos via SMI

após o RESET (REALTEK, 2002).

Para UTP com autonegociação, o controle de fluxo IEE 802.3x é autonegociável

entre o dispositivo remoto e o switch. Se o resultado da auto-negociação está habilitado

(registrador 4.10 habilitado e registrador 5.10 habilitado), a função de controle de fluxo

802.3x full duplex é habilitada. Caso contrário o 802.3x é desabilitado.

Na negociação forçada (Force Mode) em Full Duplex Flow Control, ou seja, auto-

negociação desabilitada (Gxaneg/GyANeg/P4ANeg com nível lógico zero) e 100Base-

FX, o controle de fluxo forçado pode ser selecionado habilitando os pinos

GxEnFC/GyEnFC/P4EnFC, no respectivo grupo ou no registrador 5.10 (via SMI). Por

exemplo: Porta quatro será forçada em 100FULL UTP com controle de fluxo Full duplex,

sendo que P4Mode[1:0]=10, P4Aneg=0, P4Spd100=0, P4Full=1, P4EnFC=1,

53

SetGroup=1, GxMode=0, GxFull=1, GXEnFC=1.

Quando estiver no modo Half Duplex e o pino EnDefer estiver habilitado

(BackPressure habilitado), o switch enviará um preâmbulo para outra estação. Caso o

pino esteja desabilitado, o RTL forçará uma colisão com outra estação enquanto o buffer

estiver cheio. Se o pino 48pass1 estiver desabilitado, sempre haverá colisão JAM (colisão

contínua). Se o pino 48pass1 estiver habilitado, o switch tentará repassar o pacote após 48

colisões.

No modo NWay com autonegociação, os pinos GxEnFC/GyEnFC/P4EnFC são

efetivos somente em modo Full Duplex. Entretanto, para UTP em modo Half Duplex

(half duplex back pressure flow control) é controlado pelo pino ENBKPRS.

Para UTP sem autonegociação, ou no modo 100Base-FX, o modo de operação

pode ser forçado para half duplex. O Half Duplex Back Pressure flow control pode ser

forçado habilitando os pinos GxEnFC/GyEnFC/P4EnFC (REALTEK, 2002).

3.3.3 Modem HPN CG3010

O chip CG3011 é um modem digital para o padrão de comunicação de dados

banda larga chamado ITU G.9954, também conhecido como HomePNA 3.0. Necessita de

um conversor Analógico digital de 10 Bits e alta freqüência chamado AD9865 (Analog

devices ou CG3012), que funciona como um modem analógico, conseguindo assim

alcançar taxas de até 128Mbps (4Mbs à 128Mbps). Apesar da alta taxa alcançada, este

pode limitar-se à 32Mbps, conforme a especificação HomePNA 2.0, pois existe a

compatibilidade com o protocolo anterior. O uso dos microchips CG3011 e CG3012

formam o modem HPN CG3010.

Neste modem encontra-se implementado a pilha do protocolo já mencionado, e é

com o processador de pacotes interno que possibilita uma solução completa para QoS

(Quality of Service - Qualidade de Serviço). É possível implementar em seu firmware

uma série de controles aplicando simples máscaras aos pacotes. Isto o torna muito

atraente para solucionar redes do tipo triple-play, garantindo banda para cada tipo de

54

serviço (COPPERSTREAM, 2008).

O chipset atua nos meios coaxial e phoneline, conforme a especificação

HomePNA 3.0, e sua freqüência de operação permite operar simultaneamente com o

serviços telefônico, canais de TV e protocolos: ISDN, ADSL, V92, POTS, ADSl G.Lite e

G.DMT. Note na Figura 26 o conflito de freqüência entre VDSL, HPNA 2.0 e HPNA 3.0.

Figura 26. Freqüência de operação do HomePNA 3.0 em relação a outras tecnologias

Fonte: ITU-T (2004).

Este chipset pode-se aplicar em conversores Ethernet/HomePNA,

USB/HomePNA, PCI NIC, Gateway residencial, Set-top-Box, Adaptadores VoHPNA

POTS, entre outras soluções (COPPERSTREAM, 2008).

Por padrão, necessita de uma memória Flash ou EEPROM externa para armazenar

o firmware. É possível atualizar o firmware via interface de rede, gravando o novo

firmware na memória Flash. Há a possibilidade de parte do firmware ser carregado para a

memória interna (RAM) após o power up (inicialização). Assim é possível descarregar o

restante do firmware remotamente na RAM, através de uma CPU via interface de rede.

55

Assim, elimina-se a necessidade de uma memória FLASH ou EEPROM externa. É na

RAM onde também fica o buffer de transmissão de pacotes, que pode ser expandido

através de uma memória externa (SRAM), aumentando a performance do dispositivo

(COPPERSTREAM, 2008).

O CG3010 possui um DSP interno que utiliza técnicas de modulação QAM

(Quadrature Amplitude Modulation) e FDQAM (Frequency Diverse Quadrature

amplitude Modulation) para alcançar taxas adaptativas de 128Mbps (ver figura 27). Estas

taxas são negociadas entre transmissor e receptor (fluxo ponto a ponto), cada um

transmitindo varias taxas enquanto comunicam-se com diferentes nós da rede. Esta taxa

entre dois nós é determinada por cálculos constantes a fim de definir a melhor taxa para

cada fluxo.

Figura 27. Espectro de modulação FDQAM

Fonte: ITU (2004).

A freqüência de operação do CG3010 vai de 4MHz à 21MHz, com isto podemos

associar três mascaras espectrais: Mask_1, Mask_2, Mask_3. A primeira corresponde à

faixa de 4 – 10MHz e conta com 2 ou 4 MBaud. A segunda corresponde à faixa de 4 -

21MHz e conta com 2, 4, 8 ou 16 MBaud. Já a última máscara fica com a faixa de 4 –

56

28MHz e 2, 6, 12 e 24 MBaud, atingindo taxas de 240Mbps previstas pela ITU G.9954,

mas não implementado no CG3010. Na Figura 28 pode-se verificar a representação

gráfica das três mascaras (COPPERSTREAM, 2008).

Figura 28. Faixa de freqüência das três mascaras

Fonte: ITU (2004).

O chipset conta ainda com seis pinos de propósito geral que podem ser

configurados via firmware, aumentando a gama de interfaces disponíveis. A interface

mais importante é chamada de Host Interface, que neste trabalho será a interface MII.

Além destas, o chip conta com outras interfaces:

• Interface serial para EEPROM

• Interface paralela para memória Flash paralela

• Interface para memória SRAM externa

• Interface serial (UART) para depuração

• Interface de teste JTAG IEEE 1149.1

• Suporte a VoHPNA, com interface CODEC/SLIC

A Figura 29 apresenta as características elétricas do modem CG3010.

57

Figura 29. características elétricas do chipset CG3010.

Fonte: Adaptado de COPPERSTREAM (2008).

O tamanho da memória deve ter no mínimo 128KB, a fim de acomodar o

firmware completo. A copper-gate recomenda as seguintes memórias Flash: AMIC

A29010, AMD AM29LV001B, AMD AM29LV010B, Atmel AT49BV001A, Atmel

AT49LV001A, ST M29W010B, PMC Pm39LV010. A Figura 30 mostra a disposição das

memórias externas.

Figura 30. Expansão de memória no CG3010

Fonte: Adaptado de COPPERSTREAM (2008).

58

3.3.3.1 Arquitetura Geral do Modem HPN

O diagrama de blocos da arquitetura geral do modem HPN CG3010 é ilustrado pela Figura 31.

Figura 31: Diagrama de blocos do modem CG3011.

Fonte: COPPERSTREAM (2008).

A configuração da interface de comunicação externa (chip Ethernet, por

exemplo), se dá via quatro pinos de configuração, chamado MODE[4:0]. Por padrão o

chip vem definido como USB, pois os pinos MODE[4] e MODE[3] são pull-down

interno, enquanto que os demais são pull-up interno. Apenas a configuração MII é

relevante para este trabalho e, portanto será detalhada a seguir. A figura 32 lista os modos

configuráveis.

59

Figura 32. Configurações da interface via pinos MODE[4:0].

Fonte; Adaptado de COPPERSTREAM (2008).

3.3.3.2 Interface MII

Esta configuração requer um cristal de 25MHz conectado aos pinos OSCI e

OSCO do CG3010. A interface MII comunica-se em modo Half Duplex, utiliza pino de

CRS ou COL para controle de fluxo e possui tolerância de cinco Volts. A figura 33

mostra a descrição dos pinos da interface MII. As figuras 34 e 35 se referem a

temporização e forma de onda dos sinais.

60

Figura 33. Descrição dos pinos da interface MII

Fonte: Adaptado de COPPERSTREAM (2008).

Figura 34. Tabela de temporizarão da interface MII

Fonte: Adaptado de COPPERSTREAM (2008).

61

Figura 35. Forma de onda da interface MII.

Fonte: Adptado de COPPERSTREAM (2008).

No modo MII SnP (MII Solder and Play) não é necessário um driver, como no

modo USB. O carregamento do firmware é feito a partir da memória local (Flash ou

EEPROM). O tamanho do firmware é de aproximadamente 100KByte.

A copper-gate recomenda alguns switches Ethernet, são eles:

• Marvel 88E6021

• Marvel 88E6063

• Admtek 6996F

• Micrel-Kendin KS8993

• Micrel-Kendin KS8995M

• Boadcom BCM5325E

Apesar disto, foi escolhido o switch Realtek RTL8305SC, não homologado pelo

62

fabricante do CG3010. Mas devido ao conhecimento adquirido com este switch em

outros projetos, o custo, a disponibilidade comercial, além de ser compatível pino-a-pino

com o Realtek RTL8306, foram determinantes para a escolha. Este ultimo possui mais

funções de gerenciamento e, portanto possui o custo mais elevado que o RTL8305SC,

porém se utilizar o RTL8306 é possível implementar mais funções de gerencia no

firmware do microcontrolador, e pode ser considerado para uma futura versão do

conversor proposto neste trabalho.

3.3.3.3 Modo Seguro

Este tópico descreve a segurança baseada no modem CG3010 com meio

compartilhado (fiação coaxial ou telefônica). No início deste capítulo, na figura 17

(apartamentos) foi apresentado um sistema coaxial típico. Tinha o meio compartilhado,

com um Master conectado a diversos apartamentos diferentes, cada um com seu End-

point. Geralmente há quatro modalidades de segurança: não seguro, seguro, privado,

seguro e privado.

• Modo não seguro: nenhuma limitação na comunicação, todos os nós podem

comunicar-se entre si.

• Modo seguro: podem comunicar-se com o mestre, mas não há comunicação entre

os end-points.

• Modo privado: necessitam de uma chave de segurança para se comunicarem.

Somente aqueles que possuem a chave apropriada têm acesso à rede.

• Modo seguro e privado: os end-points não se comunicam entre si e necessitam da

chave para obter acesso à rede.

63

3.4 SOFTWARE

Devido à flexibilidade de atualização do firmware HPN via interface de rede, foi

desenvolvido um software de interação entre o modem HPN e o microcontrolador. Este

foi chamado de PEdit.exe, pois a idéia inicial era controlar a banda física da interface

HomePNA. Isto porque o software pode editar o PE (Payload Encoder), necessitando de

uma atualização no firmware toda vez que for modificado este valor. O PE serve para

determinar a taxa que a interface HPN irá trabalhar. Na Figura 36 pode-se verificar a tela

do software, que oferece uma interface simples de uso.

Figura 36. Tela do software PEdit.exe

Além do PE, localizado no campo “Taxa de Transferência”, o software pode

modificar a função do equipamento, se irá operar no modo Master ou no modo End-

64

point. Também pode modificar o modo de operação (seguro ou não). Resumindo, a

principal função do PEdit.exe é gravar o firmware nos conversores conforme a aplicação

de cada um. Então, nele é possível escolher a versão de firmware HomePNA que o

equipamento irá operar. Lembrando que a versão do firmware deve ser compatível entre

os equipamentos que se encontram na sua rede HPN.

O software funciona da seguinte maneira:

• Digita-se o MAC Address do equipamento no campo “MAC do dispositivo”

(equipamento a ser gravado);

• Clica-se no botão conectar;

• Caso o equipamento seja encontrado, então é liberado o botão de gravação e as

caixas de edição de firmware.

• Senão o software retorna uma mensagem avisando que o equipamento não está na

rede ou o MAC Address foi digitado incorretamente.

O PEdit.exe utiliza um firmware padrão pré-configurado para cada versão que

disponibiliza. Atualmente as versões disponíveis são a 1.7.2, 1.7.5, 2.7.5 e 2.7.6. Já as

gravações via interface de rede se dão através de uma API chamada CDLIB

disponibilizada pelo fabricante do chip sob termos de contrato confidencial entre as

partes (desenvolvedor e fornecedor). Portanto, o detalhamento deste foge ao escopo do

trabalho.

3.5 TESTES

Este capítulo aborda os testes realizados no conversor a fim de verificar e

comprovar o seu desempenho. São testes de tráfego de dados e vídeo, utilizando

ferramentas que serão discutidas nos tópicos seguintes. A Figura 37 mostra o protótipo

em sua versão final, pronto para os testes. Como o projeto foi desenvolvido junto a uma

empresa de comunicação de dados digitais, então foram produzidos alguns protótipos.

Permitindo assim a realização dos testes, pois é necessário um conversor para cada

computador a ser interconectado na rede. Os testes realizados neste capítulo utilizaram

65

dois conversores para conexão ponto-a-ponto e também quatro conversores e quatro

computadores simulando uma rede domiciliar.

Figura 37. Protótipo do conversor HomePNA/Ethernet.

3.5.1 Ferramentas Copper-gate

O fabricante disponibiliza algumas ferramentas de diagnóstico. São executáveis

por linha de comando sob o Prompt de comando do MS-DOS. Para os testes realizados é

relevante citar dois destes programas: o DEVINF.EXE e o NETINF.EXE.

O comando DEVINF.EXE permite que sejam verificados:

• Os endereços MAC dos equipamentos na rede HPN v3;

• Se todos os conversores possuem a mesma versão de firmware (campo “ver”);

66

• Se existe mais de um conversor configurado como Master na rede (campo “mas”

- deve-se ter apenas 1 Master na rede);

• Qual a velocidade configurada no conversor (através do campo “pin”);

• Quantos conversores estão operando na rede (campo “total number of devices”);

Ao ser executado exibe informações sobre os dispositivos HomePNA 3.0 na rede

da seguinte forma:

• Endereço MAC;

• ver - versão de firmware;

• hw - versão do chip;

• pin - versão de firmware e velocidade configurada, onde: 1.0.0 - modo seguro

desabilitado e 1.0.1 modo seguro habilitado;

• mas - 1 = master / 0 = end-point;

• lnk - estado do link, 1 significa link ativo / 0 significa link inativo;

• syn - sincronismo entre os equipamentos HomePNA 3.0, onde: 1 significa

sincronismo ativo / 0 significa sincronismo inativo;

• Total number of devices - Número de dispositivos HomePNA 3.0 conectados à

rede.

Exemplo:

C:\HPNv3>devinf

0) 00:19:46:00:00:f1: ver=1.7.2 hw=coax 12-28 #1.0 pin=1.0.0 mas=1 lnk=1 syn=1

1) 00:19:46:00:00:f2: ver=1.7.2 hw=coax 12-28 #1.0 pin=1.0.0 mas=0 lnk=1 syn=1

Total number of devices: 2

O comando NETINF.EXE permite verificar:

• Se há perda de pacotes - campo ‘pkts’;

• A velocidade em que os equipamentos estão operando - campo ‘rate’ (todos os

end-points devem possuir a mesma velocidade configurada);

• Qual a atenuação do sinal HomePNA - campo ‘Rx power’ (este valor serve de

referência para estabelecer a velocidade dos end-points);

67

A Figura 38 permite orientar qual velocidade terá melhor desempenho baseando-

se no resultado do Netinf.exe (ver exemplo, campo Rx power). A partir deste resultado

deve ser gravado o firmware de cada conversor da rede HPN v3.

Figura 38. Rx Power x Taxa de Velocidade

Fonte: Adaptado de COPPERSTREAM (2008).

O resultado é exibido na tela na seguinte ordem:

• Endereço MAC de origem e destino;

• Pkts - número de pacotes enviados;

• PER - Taxa de erro de pacotes (Packet error rate);

• SNR - Taxa de sinal x ruído (Signal-noise-rate, em dB);

• Rate - Taxa de transmissão (em Mbps);

• RX power - Potência do sinal (em dBm).

Exemplo:

C:\HPNv3>netinf

enabling CERT on devices..

please wait....

00:c5:d9:00:00:bb-->00:c5:d9:00:00:aa: pkts: 1000/1000 per: 0.00e+000 snr 45.37db,

rate: 128Mbps 16/8 Rx power: -10 dBm.

00:c5:d9:00:00:99-->00:c5:d9:00:00:bb: pkts: 1000/1000 per: 0.00e+000 snr 45.37db,

rate: 128Mbps 16/8 Rx power: -39 dBm**.

00:c5:d9:00:00:88-->00:c5:d9:00:00:bb: pkts: 1000/1000 per: 0.00e+000 snr 45.11db,

68

rate: 128Mbps 16/8 Rx power: -15 dBm.

Deve-se verificar qual conversor possui maior atenuação (Rx power). Caso seja

maior que 30 dBm será necessário configurar todos os conversores à taxa correspondente

utilizando o software Pedit.exe.

No exemplo apresentado acima, o conversor com MAC Address

00:c5:d9:00:00:99 possui a maior taxa de atenuação (-39 dBm), portanto, deve-se

configurar todos os demais conversores à taxa igual ou inferior a 64 Mbps. Antes de fixar

a taxa dos conversores é possível executar o Netinf.exe simulando a velocidade desejada.

Exemplo:

netinf -p 58 "-p" -> teste com PE fixo.

A Figura 39 mostra os PE´s com a taxa correspondente:

Figura 39. Tabela de Velocidade

Fonte: Adaptado de COPPERSTREAM (2008).

Os End-points devem possuir a mesma velocidade daquele que apresentar maior

69

atenuação, porém o conversor Master não necessita possuir a mesma velocidade dos End-

points, ou seja, pode-se definir taxas de upstream e downstream diferentes para o cliente.

3.5.2 Ferramenta de Geração de Tráfego de Dados

Além destas duas ferramentas já apresentadas existe outra que simula tráfego de

dados entre dois pontos (PC’S). É uma ferramenta gratuita chamada IPERF.EXE.

Este software permite testar a largura de banda efetiva de uma conexão ponto-a-

ponto qualquer. Para isto é necessário configurar corretamente os equipamentos na rede e

possuir um computador em cada extremidade a ser testada.

Exemplo: Em uma máquina conectada a outra através de um conversor

configurado como Master é executado o comando:

C: \HPNv3>iperf -s -f m -l 256k

Esta máquina está configurada como servidor e simulará a transferência de

pacotes com buffer de 256k e apresentará o resultado do teste em Mbps. Enquanto isto,

em uma outra máquina conectada através de um conversor configurado como End-point é

executado o comando:

C:\HPNv3>iperf -c 192.168.0.65 -f m -l 256k -P 10 -w 64k -t 60

Esta máquina executará o teste simulando um servidor conectado ao conversor

Master (no caso 192.168.0.65) e também apresentará o resultado em Mbps e fará a

transferência de pacotes utilizando um buffer de 256k. Além disto o comando simulará

10 clientes operando simultaneamente (parâmetro -P 10), com janelamento de 64k

durante 60 segundos. O computador configurado como servidor retornará a seguinte

resposta:

70

Server listening on TCP port 5001

TCP window size: 0.01 MByte (default)

[1632] local 192.168.0.65 port 5001 connected with 192.168.0.56 port 3755

[1836] local 192.168.0.65 port 5001 connected with 192.168.0.56 port 3756

[1748] local 192.168.0.65 port 5001 connected with 192.168.0.56 port 3757

[1736] local 192.168.0.65 port 5001 connected with 192.168.0.56 port 3758

[1760] local 192.168.0.65 port 5001 connected with 192.168.0.56 port 3759

[1720] local 192.168.0.65 port 5001 connected with 192.168.0.56 port 3760

[1644] local 192.168.0.65 port 5001 connected with 192.168.0.56 port 3761

[1788] local 192.168.0.65 port 5001 connected with 192.168.0.56 port 3762

[1688] local 192.168.0.65 port 5001 connected with 192.168.0.56 port 3763

[1680] local 192.168.0.65 port 5001 connected with 192.168.0.56 port 3764

[ ID] Interval Transfer Bandwidth

[1644] 0.0-60.3 sec 46.3 MBytes 6.43 Mbits/sec

[1632] 0.0-60.5 sec 52.0 MBytes 7.21 Mbits/sec

[1788] 0.0-60.5 sec 53.8 MBytes 7.46 Mbits/sec

[1748] 0.0-60.5 sec 55.8 MBytes 7.73 Mbits/sec

[1680] 0.0-60.5 sec 57.8 MBytes 8.01 Mbits/sec

[1760] 0.0-60.5 sec 56.5 MBytes 7.83 Mbits/sec

[1720] 0.0-60.6 sec 65.5 MBytes 9.07 Mbits/sec

[1688] 0.0-60.6 sec 58.5 MBytes 8.10 Mbits/sec

[1736] 0.0-60.8 sec 56.5 MBytes 7.80 Mbits/sec

[1836] 0.0-61.5 sec 54.5 MBytes 7.43 Mbits/sec

[SUM] 0.0-61.5 sec 557 MBytes 76.0 Mbits/sec

Enquanto no segundo computador retornará a seguinte resposta:

Client connecting to 192.168.0.65, TCP port 5001

TCP window size: 0.06 MByte

[1916] local 192.168.0.56 port 3755 connected with 192.168.0.65 port 5001

71

[1900] local 192.168.0.56 port 3756 connected with 192.168.0.65 port 5001

[1884] local 192.168.0.56 port 3757 connected with 192.168.0.65 port 5001

[1868] local 192.168.0.56 port 3758 connected with 192.168.0.65 port 5001

[1852] local 192.168.0.56 port 3759 connected with 192.168.0.65 port 5001

[1836] local 192.168.0.56 port 3760 connected with 192.168.0.65 port 5001

[1820] local 192.168.0.56 port 3761 connected with 192.168.0.65 port 5001

[1804] local 192.168.0.56 port 3762 connected with 192.168.0.65 port 5001

[1788] local 192.168.0.56 port 3763 connected with 192.168.0.65 port 5001

[1772] local 192.168.0.56 port 3764 connected with 192.168.0.65 port 5001

[ ID] Interval Transfer Bandwidth

[1820] 0.0-60.3 sec 46.3 MBytes 6.43 Mbits/sec

[1916] 0.0-60.4 sec 52.0 MBytes 7.22 Mbits/sec

[1804] 0.0-60.4 sec 53.8 MBytes 7.46 Mbits/sec

[1884] 0.0-60.5 sec 55.8 MBytes 7.73 Mbits/sec

[1772] 0.0-60.5 sec 57.8 MBytes 8.01 Mbits/sec

[1852] 0.0-60.5 sec 56.5 MBytes 7.83 Mbits/sec

[1836] 0.0-60.6 sec 65.5 MBytes 9.07 Mbits/sec

[1788] 0.0-60.5 sec 58.5 MBytes 8.11 Mbits/sec

[1868] 0.0-60.8 sec 56.5 MBytes 7.80 Mbits/sec

[1900] 0.0-61.5 sec 54.5 MBytes 7.44 Mbits/sec

[SUM] 0.0-61.5 sec 557 MBytes 76.0 Mbits/sec

Nos dois computadores pode-se observar que a velocidade de transmissão chegou

a 76Mbps, apresentado na última linha - campo SUM, soma das velocidades de todas as

10 transmissões simultâneas. Durante a transmissão dos dados pode-se acompanhar a

utilização da rede chegando a 84% , considerando aproximadamente 10Mbps de

overhead em rede Ethernet 10/100Base TX como apresentado na Figura 40:

72

Figura 40. Gerenciador de arquivos do Windows XP mostrando a taxa de utilização da rede em 84Mbps

Deve-se considerar também a limitação das interfaces Ethernet das duas

máquinas, que operam a uma velocidade máxima de 100Mbps. Outro teste realizado foi

especificando o tipo de tráfego. Para tráfego de dados TCP, com o tamanho padrão da

janela o resultado ficou em 40Mbps. Para uma janela de tamanho 48, o resultado ficou

em 75Mbps. Para tráfego UDP com tamanho da janela padrão, a taxa alcançada foi de

92Mbps.

73

3.5.3 Aplicações de Vídeo

Os testes de vídeo serão descritos nos tópicos seguintes. Foram adotadas duas

configurações diferentes em relação ao número de equipamentos. O software utilizado

para prover o serviço de vídeo foi o VLC Vídeo Server, conforme Figuras 41 e 42.

Figura 41. Tela de configuração do VLC Vídeo Server.

As configurações estão descritas em dois tópicos e por ultimo, o detalhamento dos

testes com os respectivos resultados.

74

Figura 42. Tela de configuração do VLC Vídeo Server.

3.5.3.1 Configuração 1

Esta configuração possui os seguintes equipamentos:

• um PC rodando o VLC Video Server;

• um conversor configurado como Master;

• um conversor configurado como End-point;

• um PC rodando o VLC Video Client;

75

Os equipamentos estão interligados da maneira como mostra a Figura 43.

Figura 43. Disposição dos equipamentos para a configuração 1

3.5.3.2 Configuração 2

Esta configuração possui os seguintes equipamentos:

• um PC rodando o VLC Video server;

• um conversor configurado como Master;

• um conversor configurado como End-point;

• três PC´s rodando o VLC Vídeo Client;

• um divisor coaxial 1x5 (-12dB);

Os equipamentos estão interligados conforme a Figura 44.

76

Figura 44. Disposição dos equipamentos para a configuração 2

3.5.3.3 Testes Realizados

No primeiro teste foi utilizada a versão de firmware 1.7.5. Aqui os conversores

estavam configurados conforme a CONFIGURAÇÃO 1. O vídeo enviado pelo servidor

estava em formato MPEG2 e o consumo de banda ficou em torno de 5 Mbps. Neste caso

houve perda de pacotes (imagem pixelada) e a qualidade do vídeo ruim. Sendo que o

mesmo ocorreu na CONFIGURAÇÃO 2 (firmware 1.7.5).

No segundo teste foi utilizado a versão de firmware 1.7.2. Tanto na

CONFIGURAÇÃO 1 quanto na CONFIGURAÇÃO 2, a taxa ficou em torno de 5Mbps

por conexão (PC´s) para transmissão do tipo HTTP e 10Mbps por conexão para

transmissão do tipo MULTICAST. Não houve perda de pacotes e a qualidade do vídeo

ficou normal (sem pixelado). Lembrando que o teste foi realizado com atenuação de

12dB, conforme se pode comprovar pelos dados fornecidos pelo Netinf.exe. Para um

Máster e dois End-points:

77

1) 00:19:46:02:00:7f-->00:19:46:02:04:6c: pkts: 1000/1000 per: 0.00e+000 snr

42.58db, rate: 128Mbps 16/8 Rx power: -12.52 dBm

2) 00:19:46:02:00:7f-->00:19:46:02:04:6d: pkts: 1000/1000 per: 0.00e+000 snr

42.61db, rate: 128Mbps 16/8 Rx power: -13.00 dBm

3) 00:19:46:02:04:6c-->00:19:46:02:00:7f: pkts: 1000/1000 per: 0.00e+000 snr

42.62db, rate: 128Mbps 16/8 Rx power: -11.35 dBm

4) 00:19:46:02:04:6d-->00:19:46:02:00:7f: pkts: 1000/1000 per: 0.00e+000 snr

42.94db, rate: 128Mbps 16/8 Rx power: -11.18 dBm

Nos testes percebeu-se que a versão de firmware 1.7.5 não obteve um

comportamento adequado para aplicações de vídeo. Já a versão 1.7.2 comportou-se de

maneira correta, demonstrando sua eficiência para aplicações de vídeo.

4 CONCLUSÃO

Devido a algumas dificuldades encontradas, foram necessários dois protótipos.

Sendo que o último atingiu todos quesitos estabelecidos. Em ambos, na fase de depuração

do hardware, após a montagem das placas, foi necessário o auxilio de ferramentas

específicas, como o Analisador Lógico e Osciloscópio.

No primeiro protótipo foi observado o super aquecimento do regulador de tensão

TPS767D3 (circuito integrado da Texas Instruments). Ao efetuar o teste de performance

com altas taxas de utilização de banda (em torno de 90% à 100%) agravava ainda mais o

problema de aquecimento, chegando ao ponto de ocorrer o reset automático do chip e,

consequentemente do equipamento. Então percebeu-se que o problema era proveniente

da dissipação da potência acumulada no regulador de tensão, que era convertido em

energia térmica. Isto porque a fonte externa era de 5 Volt à 1 Ampére, enquanto que as

saídas no regulador eram de 3,3 Volts e 1.8 Volt, respectivamente. Essa diferença entre a

entrada e a saída era de 1,7 Volt e 3,2 Volt que eram transformados em calor. Para

resolver este problema foi adotado uma nova especificação de fonte externa, passando

para 3,8 Volt à 1 Ampére. Desta forma houve uma drástica queda na temperatura deste

componente, mantendo-se estável nos testes de stress.

Ainda nesta versão de protótipo, os níveis de ruído Rx Power e SNR ficaram fora

da faixa esperada, comprometendo o bom funcionamento do equipamento para grandes

atenuações. Já na última versão, contava com desempenho na faixa recomendada pela

Copper-gate Communications, ficando então abaixo de -1,5 dBm e acima de 43 dB (Rx

Power e SNR respectivamente).

No capítulo anterior foram relatados os testes realizados com as ferramentas de

diagnóstico e desempenho (Netinf.exe e Iperf.exe). Foi comprovada o funcionamento do

conversor, atingindo marcas de desempenho anunciadas pelo fabricante do chipset

CG3010. Além disto foi efetuado testes de vídeo multicast e transmissão http com o

VLC Vídeo Server e Client. Neste teste houve problemas com a versão de firmware 1.7.5,

pois no vídeo assistido no cliente ocorria o chamado pixelado na tela, que nada mais é

que perdas de pacotes de vídeo, faltando assim, partes da imagem a ser exibida. Então o

79

player de vídeo do cliente não conseguia mostrar a imagem corretamente ocorrendo

falhas no vídeo. Estas falhas não ocorreram na versão de firmware 1.7.2, comprovando a

eficiência do chipset para as aplicações de vídeo.

Considerando os resultados obtidos com o protótipo desenvolvido, há a

possibilidade de futuros trabalhos relacionados a este. Pode-se fazer analises mais

complexas em relação à performance deste conversor e da tecnologia HomePNA 3.0. Por

exemplo, analisar a performance numa rede com 40 conversores no modo end-point

ligados a um master. Descobrir as limitações desta pode ser um trabalho interessante, até

porque esta tecnologia cresce a cada dia e em breve fará parte do cotidiano de muitas

residências.

Vale lembrar que já existe uma versão superior ao HomePNA 3.0, utilizado neste

trabalho. O HomePNA 3.1 está implementado na terceira versão comercial do chipset

Coppergate chamado CG3210 que oferece 320Mbps. O desenvolvimento de um

conversor com este chipset, pode ser considerado um trabalho futuro.

80

REFERÊNCIAS BIBLIOGRÁFICAS

ALMODEI, AURELIO. Um Novo Mecanismo de Acesso ao Meio para Redes

Domiciliares através da Fiação Existente. Universidade Federal do Rio de Janeiro. Rio

de Janeiro, 2005

ALMODEI, AURELIO; COSTA, LUÍS HENRIQUE; DUARTE, OTTO. Um Novo

Mecanismo de Acesso ao Meio para o Padrão HomePNA. Universidade Federal do

Rio de Janeiro, Grupo de Teleinformática e automação. Rio de Janeiro, 2005

ANDRADE, FERNANDO SOUZA DE; OLIVEIRA, ANDRÉ SCHNEIDER DE.

Sistemas embarcados: Hardware e Firmware na Prática. São Paulo: Érica, 2006.

ANALOG DEVICES INC. DataSheet: AD9866 – Broadband Modem Mixed-Signal

Fron End. RevA. MA: Analog Devices Inc. Disponível em: <http://www.analog.com> ,

2004.

BARR, MICHAEL. Programming embedded systems in C and C++. New Yotk:

O´Reilly Media, 1999.

CIANET NETWORKING, Manual de Instalação e Operação – CTS3500. CIANET

Networking. Disponível em: http://www.cianet.ind.br. Santa Catarina, 2007.

COPPERSTREAM. CopperStream CDK MxU User Guide. Rev. 2.31. Tel Aviv:

CopperGate Communication. Disponível sob NDA em <http://www.coppergate.com>,

jan. 2008.

81

FERREIRA, MARCOS DE ALMEIDA. PLC – Power Line Communication.

Universidade Federal Fluminense, Departamento de Telecomunicações. Rio de Janeiro,

2006.

FRESSCALE SEMICONDUCTORS INC. MC9RS08QD4: Datasheet. Austin:

Freescale. Disponível em: <http://www.freescale.com> . Acesso em: 15 set. 2006.

IEEE STD 802.1Q. Local and Metropolitan Area Networks: Virtual bridged Local

Area Networks. The Institute of Electrical and Electronics Engineers, Inc, maio 2003.

IEEE STD 802.1w. Local and Metropolitan Area Networks: Part 3: Media Access

Control (MAC) Bridges Amendment 2: Rapid Reconfiguration. The Institute of

Electrical and Electronics Engineers, Inc, julho 2001.

IEEE STD 802.1X. Local and Metropolitan Area Networks: Port Based Network

Access Control. The Institute of Electrical and Electronics Engineers, Inc, out 2001.

IEEE STD 802.3. Local and Metropolitan Area Networks: Part 3: Carrier Sense

Multiple Access With Collision Detection (CSMA/CD) Access Method and Physical

Layer Specifications. The Institute of Electrical and Electronics Engineers, Inc, março

2002.

ITU-T. Workshop on Home Network and Home Services. Phoneline and Coax Transport

Technology for Multimedia Distribuition. International Telecommunication Union.

Japão, jun. 2004.

82

ITU-T G.704. Recommendation G.704: Synchronous Frame Structures used at 1544,

6312, 2048,8448 and 44 736 kbit/s Hierarchical levels. International

Telecommunication Union, out. 1998.

ITU-T G.705. Recommendation G.705: Characteristics of Plesiochronous Digital

Hierarchy (PDH) Equipament Functional Blocks. International Telecommunication

Union, out. 2000.

ITU-T G.706. Recommendation G.706: Frame Alignment and Cyclic Redundancy

Check (CRC) Procedures Relating to Basic Frame Structures Defined in

Recommendation G.704. International Telecommunication Union, out. 2000.

ITU-T G.989.1. Recommedation G.989.1: Phoneline Network Transceivers

Foundation. Telecommunication Standardization Sector of ITU. International

Telecommunication Union, fev. 2001.

ITU-T G.9954. Recommendation G.9954: Phoneline Network Transceivers –

Enhanced Physical, Media Access, and Link Layer Specifications. International

Telecommunication Union, fev. 2005.

KENDO, PATRÍCIA. GONÇALVEZ, PAULO. Tecnologias de Comunicação para

Redes Domiciliares. Universidade Federal de Pernambuco. Pernambuco, 2005.

MICROCHIP INC.. dsPIC30F3014 Data Sheet. Microchip Technology Inc. Estados

Unidos, 2004.

83

PEREIRA, FELIPE MASSIA. Protocolo TCP/IP para Sistemas Embarcados.

Universidade Estadual de Campinas, Instituto de Computação. São Paulo, 2003.

PMC FLASH INC. DataSheet: Pm39LV010 – 1 Mbit 3.0 Volt-Only CMOS Flash

Memory. Rev1.5. Programable Microeletronics Co. Disponível em:

<http://www.pmcflash.com> , mar. 2006.

READLINKS INC. Brochure: Multimedia In-Home Networking Solution. MN:

ReadyLinks Inc. Disponível em: <http://ready-links.com>, 2005.

REALTEK CORP. DataSheet: RTL8305SC – Single Chip 5 Port 10/100Mbps Switch

Controller With Dual MII Interfaces. Rev. 1.2. Taiwan: Realtek Semiconductor Corp.

Disponível em: <http://www.realtek.com.tw> . mar. 2005.

TANNEMBAUM, Andrew S. Redes de Computadores 4. ed. Rio de Janeiro: Campus,

2003.

TEXAS INSTRUMENTS. DataSheet: TPS767D3 – Dual Output Low Dropout

Voltage Regulators. Texas: Texas Instruments Inc. Disponível em:

<http://www.ti.com> , jan. 2006.

TEZA, Vanderlei Rabelo. Alguns Aspectos Sobre a Automação Residencial –

Domótica. Universidade Federal de Santa Catarina, Programa de Pós-Graduação em

Ciência da Computação. Santa Catarina, 2002.

84

VEGINI, Leonardo Martins. Sistema Embarcado para Monitoramento de Link

WIRELESS. Universidade do vale do Itajaí. Santa Catarina, 2006.