RICARDO GARCIA JESKE PROPOSTA DE SISTEMA

Transcrição

RICARDO GARCIA JESKE PROPOSTA DE SISTEMA
Ministério da Educação
Instituto Federal de Educação, Ciência e Tecnologia Sul-rio-grandense
Campus Pelotas
Diretoria de Ensino Superior
Coordenadoria do curso Superior de Tecnologia em Automação Industrial
RICARDO GARCIA JESKE
PROPOSTA DE SISTEMA MICROCONTROLADO
COM ACESSO REMOTO ATRAVÉS DA WEB
Prof. Dr. Luís Cléber Carneiro Marques
Orientador
Pelotas
Dezembro, 2010
RICARDO GARCIA JESKE
PROPOSTA DE SISTEMA MICROCONTROLADO
COM ACESSO REMOTO ATRAVÉS DA WEB
Trabalho de Conclusão de Curso, da Coordenação do Curso
Superior de Tecnologia em Automação Industrial, do
Departamento de Ensino Superior, da Diretoria de Ensino, do
Instituto Federal de Educação, Ciência e Tecnologia, IF Sulrio-grandense/Campus Pelotas, submetido à avaliação da
Banca Examinadora como requisito parcial para a obtenção
do título de Tecnólogo em Automação Industrial .
Prof. Dr. Luís Cléber Carneiro Marques
Orientador
Pelotas
Dezembro, 2010
I
FOLHA DE APROVAÇÃO
AUTOR: Ricardo Garcia Jeske
TÍTULO: Proposta de Sistema Microcontrolado com Acesso Remoto Através da WEB
INSTITUIÇÃO: Instituto Federal Sul-rio-grandense
TITULAÇÃO PRETENDIDA: Tecnólogo em Automação Industrial
Monografia defendida e aprovada em 21 de dezembro de
2010, pela banca examinadora constituída pelos professores:
__________________________________
Prof. Dr. Luís Cléber Carneiro Marques
Orientador
__________________________________
Prof. Esp. Rafael Galli
__________________________________
Prof. Me. Mario Lobo Centeno
MÉDIA:
9,7
II
AGRADECIMENTOS
Agradeço primeiramente a Deus por ter me guiado e iluminado para que eu fizesse as
escolhas corretas, que geralmente não são as mais fáceis.
À minha mãe, Ana Maria Garcia Jeske, pelo total e incondicional amor e suporte para
que eu pudesse realizar este curso, tal dedicação me faz ter ânimo e forças para superar os
obstáculos. Ao meu pai, Nelson Jeske (in memoriam), por todo apoio sempre dado a mim e
pelo exemplo de homem honesto e com caráter que sempre foi. Devo a vocês a excelente
educação recebida, mantendo-me no caminho correto. Sinto o maior orgulho por ser filho de
vocês!
À minha esposa, Aline Neuschrank, por todo carinho, companheirismo, compreensão,
suporte e afagos. Esteve ao meu lado acompanhado todas as dificuldade e vitórias no decorrer
do curso. Esta conquista também é sua, sou muito feliz por tê-la ao meu lado.
A toda minha família, em especial minhas irmãs Sandra Garcia Jeske e Marcia Garcia
Jeske, que sempre me deram muito apoio e incentivo para que concluísse este curso.
Ao meu orientador, Prof. Dr. Luís Cléber Carneiro Marques, pela credibilidade e
dedicação prontamente prestadas a mim sempre que solicitado.
Aos amigos e colegas de curso, que certamente contribuíram muito para minha
formação como pessoa e como aluno de graduação. Espero manter contado com todos vocês.
Aos professores que não somente colaboraram nos assuntos acadêmicos, mas também
se mostravam presentes nos encontros e churrascos no decorrer do curso, em especial Prof.
Me. Paulo Renato Avendano Motta (Parceirão).
Ao grupo de profissionais que toda instituição de ensino deveria ter, pela didática e
conhecimento que apresentam, os quais podem ser representados aqui por alguns nomes: Prof.
Dr. Luís Cléber Carneiro Marques, Prof. Me. Ricardo Andrade Cava, Prof. Me. Alvacir Alves
Tavares, Prof. Dr. Mario Leonardo Boessio, etc. Pena nem todos serem assim...
III
SUMÁRIO
INTRODUÇÃO ..................................................................................................................... 1
1. DESCRIÇÃO DO TRABALHO ........................................................................................ 2
1.1. OBJETIVOS DO TRABALHO ....................................................................................................... 2
2. MOTIVAÇÃO DO PROJETO ........................................................................................... 4
3. FUNDAMENTAÇÃO TEÓRICA ...................................................................................... 5
3.1. SISTEMAS SUPERVISÓRIOS ...................................................................................................... 5
3.2. CLPs ........................................................................................................................................ 6
3.3. REDES DE COMPUTADORES ..................................................................................................... 7
3.3.1. Arquitetura das redes ....................................................................................................... 8
3.3.2. Modelo de Referência OSI ................................................................................................ 8
3.3.3. Modelo de Referência TCP/IP ..........................................................................................10
3.3.3.1. A Camada Inter-redes ...............................................................................................10
3.3.3.2. A Camada de Aplicação .............................................................................................10
3.4. WEB .......................................................................................................................................11
3.5. ACESSO REMOTO ...................................................................................................................11
3.6. MICROCONTROLADOR ...........................................................................................................12
4. PRINCIPAIS COMPONENTES DE HARDWARE UTILIZADOS ................................... 13
4.1. MICROCONTROLADOR PIC18F4550 ........................................................................................13
4.2. CONTROLADOR ETHERNET ENC28J60 .....................................................................................14
5. PRINCIPAIS SOFTWARES UTILIZADOS ..................................................................... 17
5.1. MPLAB IDE .............................................................................................................................17
5.2. MPLAB C18.............................................................................................................................18
5.3. WINPIC800 .............................................................................................................................18
5.4. DREAMWEAVER CS.................................................................................................................19
5.4.1. Requisitos para instalação do Dreamweaver CS ...............................................................20
6. GRAVADOR ................................................................................................................... 23
6.1. CABO PARA GRAVAÇÃO..........................................................................................................23
6.2. PARTE ELETRÔNICA DO GRAVADOR........................................................................................25
6.3. CONFIGURAÇÃO DO SOFTWARE DE GRAVAÇÃO WINPIC800 ...................................................28
7. HARDWARE .................................................................................................................... 29
7.1. HARDWARE: PIC + ENC ...........................................................................................................29
7.2. HARDWARE: GRAVADOR + PIC + ENC + RJ45 C/ FILTROS .........................................................34
8. SISTEMA SUPERVISÓRIO NA WEB ........................................................................... 41
8.1. REGISTO.BR ............................................................................................................................41
8.2. SERVIDOR PARA HOSPEDAGEM METAWEB.............................................................................41
8.3. INSTALAÇÃO E CONFIGURAÇÃO DO DREAMWEAVER CS .........................................................42
8.3.1. Configuração do servidor remoto ....................................................................................42
8.4. TELA DO SISTEMA SUPERVSÓRIO ............................................................................................45
IV
9. COMUNICAÇÃO SPI ..................................................................................................... 47
9.1. COMUNICAÇÃO SPI DO PIC18F4550 .......................................................................................48
9.2. COMUNICAÇÃO SPI DO ENC28J60 COM O PIC ........................................................................48
10. SOFTWARE: CÓDIGOS PARA A EXECUÇÃO DO SISTEMA ................................... 50
11. KITS .............................................................................................................................. 51
11.1. PICDEM.NET 2 ......................................................................................................................51
11.2. XBEENET ...............................................................................................................................53
11.3. CERNE CONNECT ..................................................................................................................55
11.4. UNETETHERNET ....................................................................................................................57
11.4.1. Descrição do uNetEthernet ............................................................................................59
11.4.2. Simulador do uNetEthernet ...........................................................................................61
11.5. DESVANTAGENS DOS KITS ....................................................................................................61
12. USO DE SIMULADORES ............................................................................................ 62
CONCLUSÃO ..................................................................................................................... 63
BIBLIOGRAFIA ................................................................................................................. 64
APÊNDICE I ....................................................................................................................... 67
ANEXO I ............................................................................................................................. 73
V
RESUMO
O objetivo deste trabalho é apresentar diversas opções de sistemas que façam a comunicação de um
microcontrolador com um sistema supervisório hospedado em uma página da WEB. O foco principal é a criação
de um circuito eletrônico composto basicamente de um microcontrolador PIC18F4550, um controlador de
Ethernet ENC28J60, um conector RJ45 com filtros e um gravador integrado a placa, além da criação e
hospedagem do sistema supervisório na WEB. São apresentados kits comerciais que também se destinam à
comunicação de microcontroladores com a rede Ethernet. Devido à alta complexidade envolvida na configuração
das pilhas dos protocolos de rede, a mesma não será demonstrada em sua totalidade neste trabalho, que tem
como finalidade apenas descrever a implementação de uma forma genérica, podendo no futuro ser utilizado em
diversas áreas específicas. A utilização de kits é indicada para que se tenha um contato inicial com essa
tecnologia, pois isso facilitará bastante uma futura implementação do próprio equipamento. Dentre as opções
apresentadas, aconselha-se a implementação do protótipo descrito no item 7.2, pelo fato de todo o esquemático
elétrico já estar disponível e de não se ficar preso a um código pago, sendo a grande dificuldade de sua
implantação focada no entendimento e configuração das pilhas TCP/IP. Aconselha-se então, ao interessado em
construir pessoalmente sua placa, que previamente pesquise o funcionamento detalhado dos protocolos de rede,
pois este conhecimento será de fundamental importância. Com este trabalho, espera-se auxiliar o interessado em
pesquisar e desenvolver equipamentos que se destinem ao acesso remoto através da WEB e que também sirva
com referência para futuras pesquisas e implementações nesta área.
Palavras-Chave: Microcontroladores, PIC18F4550, Ethernet, ENC28J60, kits de comunicação, gravador
PROGPIC II, TCP/IP, PICDEM.net 2, XBEENET, Cerne Connect, uNetEthernet
ABSTRACT
The aim of this work is to present various options to systems that make communication of a microcontroller with
a supervisory system hosted on a WEB page. The main focus is the creation of an electronic circuit composed
basically of a PIC18F4550 microcontroller, an ENC28J60 Ethernet controller, an RJ45 connector with filters and
a recorder integrated to the board, in addition the creation and hosting of the supervisory system on the WEB.
The commercial kits presented in this work are destined for communication between microcontrollers and the
Ethernet network. Due to the high complexity involved in configuring the stacks of network protocols, it
will not be shown in its entirety in this work, which aims only to describe the implementation of a generic form,
and may in future be used in several specific areas. The use of kits is indicated to have an initial contact with this
technology, as this will facilitate future implementation of the equipment itself. Among the options presented, it
is advisable to implement the prototype described in section 7.2, because all the electrical schematic is already
available and to not get stuck with a pay code, being the great difficulty of its implementation focused on
understanding and configuring TCP / IP stacks. It is advisable then, that person interested in building your board
must first search the detailed operation of network protocols, because this knowledge will be of key importance.
With this work, it is expected to assist interested in researching and developing equipment that are destined for
remote access through the WEB and also serve as reference for future research and implementations in this area.
Key-Words: Microcontroller, PIC18F4550, Ethernet, ENC28J60, communication kits, recorder PROGPIC II,
TCP / IP, PICDEM.net 2, XBEENET, Cerne Connect, uNetEthernet
VI
LISTA DE FIGURAS
Figura 1.1: Acesso Remoto .................................................................................................... 3
Figura 3.1: Supervisório ......................................................................................................... 6
Figura 3.2: Ciclo do CLP ....................................................................................................... 7
Figura 3.3: Camadas e Protocolos .......................................................................................... 9
Figura 3.4: Diagrama resumido de um microcontrolador ...................................................... 12
Figura 4.1: Pinagem do PIC18F4550 .................................................................................... 13
Figura 4.2: Diagrama de blocos internos do ENC28J60 ........................................................ 14
Figura 4.3: Pinagem do ENC28J60 ...................................................................................... 15
Figura 4.4: Ligação típica do ENC28J60 .............................................................................. 16
Figura 5.1: Ambiente de desenvolvimento MPLAB IDE v8.50. ........................................... 17
Figura 5.2: Gravador WinPic800 v3.63 ................................................................................ 19
Figura 5.3: Software Dreamweaver ...................................................................................... 20
Figura 5.4: Logo do Apache Tomcat .................................................................................... 21
Figura 5.5: Logo do NetBeans .............................................................................................. 21
Figura 5.6: Logo do Dreamweaver CS.................................................................................. 22
Figura 6.1: Componentes do cabo para gravação .................................................................. 23
Figura 6.2: Ligação do cabo ................................................................................................. 24
Figura 6.3: Cabo pronto ....................................................................................................... 24
Figura 6.4: Circuito elétrico do gravador .............................................................................. 25
Figura 6.5: Pinagem utilizada da fonte ATX......................................................................... 27
Figura 6.6: Chave S2 ............................................................................................................ 27
Figura 7.1: Ligação do ENC28J60 ....................................................................................... 29
Figura 7.2: O regulador LM317 ........................................................................................... 30
Figura 7.3: Ajuste básico do regulador LM317 ..................................................................... 30
Figura 7.4: Ligação do PIC com o ENC ............................................................................... 31
Figura 7.5: Resistência de 2.32K .......................................................................................... 31
Figura 7.6: RJ45 com filtros internos ................................................................................... 33
Figura 7.7: Parte integrante do RJ45..................................................................................... 33
Figura 7.8: Esquemático interno RJ45 .................................................................................. 34
Figura 7.9: Esquemático: PIC + ENC + EJ45 c/ filtros ......................................................... 35
Figura 7.10: Ligação das chaves de acionamento ................................................................. 37
Figura 7.11: Ligação dos LEDs ............................................................................................ 37
Figura 7.12: Protótipo da Placa ............................................................................................ 40
Figura 8.1: Tela 1 ................................................................................................................. 43
Figura 8.2: Tela 2 ................................................................................................................. 43
Figura 8.3: Tela 3 ................................................................................................................. 44
Figura 8.4: Conectar ao servidor .......................................................................................... 44
Figura 8.5: Enviar o site para o servidor ............................................................................... 45
Figura 8.6: Tela do sistema supervisório. ............................................................................. 46
Figura 11.1: Kit PICDEM.net2............................................................................................. 51
Figura 11.2: Kit XBEENET ................................................................................................. 53
Figura 11.3: Exemplo Página 1 ............................................................................................ 53
Figura 11.4: Exemplo Página 2 ............................................................................................ 53
Figura 11.5: Kit Cerne Connect ............................................................................................ 55
Figura 11.6: kit uNetEthernet ............................................................................................... 57
Figura 11.7: Diagrama do kit uNetEthernet .......................................................................... 59
VII
LISTA DE TABELAS
Tabela 3.1: Protocolos OSI .................................................................................................... 9
Tabela 3.2: Correspondência OSI – TCP/IP ......................................................................... 10
Tabela 6.1: Características dos pinos de gravação ................................................................ 26
Tabela 6.2: Lista de componentes do Gravador .................................................................... 28
Tabela 7.1: Pinos utilizados pelo microcontrolador PIC ....................................................... 36
Tabela 7.2: Tensão e Corrente dos LEDs .............................................................................. 38
Tabela 7.3: Lista de componentes da Placa (menos os utilizados no gravador Tabela 6.2) .... 38
Tabela 7.4: Valor do principais componentes da placa ......................................................... 39
Tabela 8.1: Características do plano escolhido ..................................................................... 42
Tabela 9.1: Configuração do clock ....................................................................................... 47
Tabela 9.2: Comandos ao ENC ............................................................................................ 49
Tabela 11.1: Comandos IR Típicos ...................................................................................... 60
VIII
INTRODUÇÃO
A automação é sem dúvida um item essencial em qualquer processo produtivo e
obrigatório naqueles de larga escala, possibilitando uniformidade, qualidade e agilidade.
Implementando-se sensores para a coleta de dados, pode-se ter acesso a estes através de um
sistema supervisório que permite disponibilizar em apenas uma tela inúmeras informações de
extrema relevância de todo um processo produtivo. Além disso, a automação também é
empregada em sistemas de segurança, monitoramento e controle de diversas áreas, tanto
industriais como residenciais.
Com a utilização de um CLP (Controlador Lógico Programável), em inglês PLC
(Programmable Logic Controller), ou usando um sistema microcontrolado, que nada mais é
do que um circuito eletrônico gerenciado por um microcontrolador, além de visualizar as
variáveis do processo, pode-se configurar o sistema através de programação para acionar
automaticamente qualquer motor, válvula, esteira, etc., envolvidas no processo. Através de
um sistema supervisório hospedado em uma página da WEB, pode-se ter acesso remoto a
todas as funcionalidades citadas acima, possibilitando também intervir no processo a qualquer
momento, acionando ou desacionando qualquer equipamento como melhor lhe convier.
1
1. DESCRIÇÃO DO TRABALHO
Este trabalho apresenta diversas opções de sistemas capazes de fazer a comunicação
de um microcontrolador com um sistema supervisório hospedado em uma página da WEB. O
foco será voltado à demonstração da criação de um circuito eletrônico composto basicamente
de um microcontrolador PIC18F4550, um controlador de Ethernet ENC28J60, um conector
RJ45 com filtros e um gravador integrado a placa. Além da criação e hospedagem do sistema
supervisório na WEB, serão apresentados kits comerciais que também se destinam à
comunicação de microcontroladores com a rede Ethernet. Devido à alta complexidade
envolvida na configuração das pilhas dos protocolos de rede, esta não será demonstrada em
sua totalidade neste trabalho.
1.1. OBJETIVOS DO TRABALHO
Este trabalho tem como objetivo demonstrar passo-a-passo a montagem do sistema
microprocessado, envolvendo toda a parte eletrônica e a criação da página WEB, bem como
descrever os conhecimentos técnicos pertinentes ao assunto. Também serão abordados os
códigos que compõem os protocolos de rede envolvidos na comunicação do sistema.
Tal trabalho tem como finalidade apenas descrever a implementação de uma forma
genérica, podendo no futuro ser utilizado em diversas áreas específicas, pois tendo-se em
mãos o circuito eletrônico com várias entradas e saídas e a página da WEB para o
monitoramento, poder-se-á conectar variado tipo de sensores como entrada, além de acionar
qualquer tipo de carga nas saídas, como podemos ver na Figura 1.1. Para isso, basta inserir o
componente eletrônico mais adequado ao tipo de carga a ser acionada, como relés, SCRs,
triacs, etc.
2
Figura 1.1: Acesso Remoto
3
2. MOTIVAÇÃO DO PROJETO
Inicialmente, o que motivou trabalhar-se com sistema microcontrolado foi o fato de
poder-se integrar os conhecimentos adquiridos em diversas cadeiras ao longo do curso,
principalmente Eletrônica, Programação, Microcontroladores, Redes e Controladores Lógicos
Programáveis (CLPs).
A utilização de CLPs nas indústrias só é justificada em grandes processos produtivos,
devido ao seu alto custo, mas CLPs de pequeno porte têm crescido em importância no
mercado, principalmente em aplicações simples onde há demanda por baixo custo. Com os
conhecimentos adquiridos nas cadeiras citadas anteriormente, verifica-se a possibilidade de se
construir um sistema microcontrolado utilizando-se um PIC e implementando a mesma
funcionalidade de um CLP, sem necessariamente tentar igualar-se a um, mas pretendendo que
desempenhe as mesmas funções de uma forma similar com um custo muito inferior.
Integrar a isso um sistema supervisório criado com Visual Basic ou C++ seria simples,
tendo apenas que se conectar por meio de cabo o sistema microcontrolado ao PC através da
porta paralela, porta serial ou também via USB. Contudo, após algumas pesquisas, descobriuse que poderia ser construído um sistema supervisório em uma página WEB, conectar a placa
microcontrolada a um cabo de rede e implementar a comunicação entre ambos, tendo-se
assim acesso remoto de qualquer lugar do mundo, podendo não só monitorar como acionar
qualquer equipamento conectado à placa.
Desde o início, sabia-se dos obstáculos que envolviam algo deste porte. Durante o
desenvolvimento deste trabalho, foram sendo constatadas dificuldades ainda maiores do que
as esperadas, mas o desafio de propor algo do gênero, que possibilita uma infinidade de
implementações futuras, foi o motivador para continuar e não desistir do proposto.
4
3. FUNDAMENTAÇÃO TEÓRICA
Estabelecer a comunicação entre um sistema supervisório hospedado na WEB e uma
placa eletrônica gerenciada por um microcontrolador envolve um grande conhecimento de
diferentes áreas. Assim, um pesquisador que se interessa por esse tipo de projeto deve possuir
um grande conhecimento teórico de Eletrônica, Redes e Programação.
Em virtude disso, serão apresentados a seguir, de forma objetiva, assuntos que
somados compõem o projeto na sua totalidade para que assim se possa compreender melhor o
trabalho como um todo.
3.1. SISTEMAS SUPERVISÓRIOS
Software
supervisório
ou
software
de
supervisão
é
uma
ferramenta
de
desenvolvimento de aplicativos que se presta a fazer a comunicação entre um computador e
uma rede de automação e que traz ferramentas padronizadas para a construção de interfaces
entre o operador e o processo (MACIEL, 2005).
Sistemas baseados em linguagens convencionais, como Visual Basic, Delphi, etc., que
são feitos sob encomenda para comunicar-se com uma máquina ou um processo simples, não
poderiam ser considerados softwares supervisórios, pois cada alteração necessária nesses
sistemas cria um novo programa. Porém, de uma forma mais genérica, pode-se considerar um
sistema supervisório como sendo um programa que permite controlar e monitorar sistemas
automatizados, exibindo na tela do computador, em tempo real, informações sobre o processo
que estão sendo coletadas pelos sensores, como pressão, temperatura, volume, posição, entre
outras. Na Figura 3.1 é apresentado um exemplo de um sistema supervisório:
5
Figura 3.1: Supervisório
3.2. CLPs
Os CLPs podem ser programados de forma lógica para realizar o controle de um
processo. Eles surgiram na década de 60 e substituíram os painéis de controle com relés,
reduzindo o consumo de energia, facilitando a manutenção e possibilitando modificações sem
as onerosas alterações na fiação. São equipamentos robustos, fabricados para trabalhar 24h e
aguentar altas temperaturas, ruídos e vibrações.
Segundo Braga (2005), os primeiros CLPs foram usados na General Motors, em 1968,
sendo criados pelo engenheiro Richard Morley, responsável pela especificação de um
equipamento que foi se aperfeiçoando até nossos dias.
Os sinais analógicos ou digitais recebidos pelos CLPs são enviados a uma UCP
(Unidade Central de Processamento) ou em inglês CPU (Central Processing Unit). A
operação de um CLP é feita em ciclos, conforme mostrado na Figura 3.2.
6
Figura 3.2: Ciclo do CLP
Os CLPs são extremamente robustos e próprios para trabalharem em ambientes
industriais sujeitos a altas temperaturas, ruídos, interferências eletromagnéticas, etc., sem que
estes fatores influenciem na sua performance. Já para os demais processos automatizados
isentos a tais fatores, a utilização de uma placa microcontrolada suprirá, na maioria dos casos,
as necessidades a um custo extremamente inferior.
3.3. REDES DE COMPUTADORES
A invenção do telégrafo por Samuel F. B. Morse, em 1838, inaugurou uma nova época
nas comunicações. Nos primeiros telégrafos utilizados no século XIX, mensagens eram
codificadas em cadeias de símbolos binários (código Morse) e então transmitidas
manualmente por um operador através de um dispositivo gerador de pulsos elétricos. Desde
então, a comunicação através de sinais elétricos atravessou uma grande evolução, dando
origem à maior parte dos grandes sistemas de comunicação que temos hoje em dia, como o
telefone, o rádio e a televisão (KEISER, 1989 apud SOARES, 1995, p. 3).
7
Ainda segundo o mesmo autor, uma rede de computadores é formada por um conjunto
de módulos processadores capazes de trocar informações entre si. Basicamente, uma rede é
composta por: servidor, cliente, protocolo de comunicação e um meio físico para a
transmissão dos dados.
3.3.1. Arquitetura das redes
A fim de reduzir a complexidade dos projetos, a arquitetura da rede é formada por
níveis, interfaces e protocolos que são colocados um acima do outro, formando uma pilha.
Cada nível tem a finalidade de oferecer determinados serviços às camadas superiores.
Conforme Tanenbaum (1997), a camada n de uma máquina se comunica com a
camada n da outra máquina. Coletivamente, as regras e convenções usadas nesse diálogo são
chamadas de protocolo da camada n. Então, um protocolo nada mais é do que um conjunto de
regras sobre o modo como se dá a comunicação entre as partes envolvidas.
Esta pilha de níveis e protocolos é que permite diferentes equipamentos conectados a
uma rede se comunicarem. Cada nível de um sistema se comunica com o nível correspondente
de outro sistema, mas isto não se dá diretamente, pois cada camada transfere os dados e as
informações de controle para a camada imediatamente abaixo dela, até a última a ser
alcançada.
3.3.2. Modelo de Referência OSI
Este modelo é baseado em uma proposta desenvolvida pela ISO (International
Standards Organization) como um primeiro passo na direção da padronização internacional
dos protocolos usados nas diversas camadas (DAY E ZIMMERMANN, 1983 apud
TANENBAUM, 1997, p. 32). Ainda segundo Tanenbaum, o nome desse modelo é Modelo de
Referência ISO OSI (Open Systems Interconnection), pois ele trata da interconexão de
sistemas abertos – ou seja, sistemas que estão abertos à comunicação com outros sistemas.
Por praticidade, será referido apenas como modelo OSI, o qual possui sete camadas, de
acordo com a Figura 3.3.
8
Figura 3.3: Camadas e Protocolos
Tabela 3.1: Protocolos OSI
Protocolo
7
6
5
4
3
2
1
Função
Protocolo de aplicação
Protocolo de apresentação
Protocolo de sessão
Protocolo de transporte
Protocolo de roteador/host da camada de rede
Protocolo de roteador/host da camada de enlace de rede
Protocolo de roteador/host da camada física
Níveis 1,2 e 3: Ocupam-se da transmissão dos dados no meio físico (cabo, ar, fibra
ótica, etc.)
Nível 4: Prepara os dados para serem enviados ao meio físico.
Nível 5: Serve para rotear os pacotes na rede.
Nível 6: Verifica a correta recepção dos dados, responsável pelas retransmissões no
caso de erro e permite estabelecer conexões.
Nível 7: É o último nível da pilha e onde se encontram os diferentes serviços de
comunicação (HTTP, FTP, E-mail, etc.)
9
3.3.3. Modelo de Referência TCP/IP
Quando foram criadas as redes de rádio e satélite, começaram a surgir problemas com
os protocolos então existentes, o que forçou a criação de uma nova arquitetura de referência.
Seu objetivo era conectar vários dispositivos ao mesmo tempo. Essa arquitetura veio a ficar
conhecida como o Modelo de Referência TCP/IP, graças a seus dois principais protocolos.
Este modelo foi definido pela primeira vez por Cerf e Kahn, em 1974 (TANENBAUM,
1997).
3.3.3.1. A Camada Inter-redes
Essa camada integra toda a arquitetura, sua tarefa é permitir que os hosts (qualquer
máquina ou computador conectado a uma rede) injetem pacotes em qualquer rede e garantam
que eles sejam transmitidos independentemente do destino.
A camada inter-redes define um formato de pacote oficial e um protocolo chamado IP
(Internet Protocol). A tarefa da camada inter-redes é entregar pacotes IP onde eles são
necessários. Uma questão de grande importância dessa camada é o roteamento, assim como
evitar congestionamentos. Por essas razões, é razoável dizer que a função da camada interredes TCP-IP é muito parecida com a camada de rede OSI. A Tabela 3.2 mostra a
correspondência entre elas.
Tabela 3.2: Correspondência OSI – TCP/IP
Camadas
7
6
5
4
3
2
1
OSI
Aplicação
Apresentação
Sessão
Transporte
Rede
Enlace de Dados
Física
TCP/IP
Aplicação
(não está presente no modelo)
(não está presente no modelo)
Transporte
Inter-redes
Host/rede
3.3.3.2. A Camada de Aplicação
Ela contém os protocolos de alto nível, dentre eles estão os TELNET, SMTP, DNS e o
HTTP, o protocolo usado para buscar páginas na Web.
10
3.4. WEB
Até a década de 1990, a Internet era usada primordialmente por pesquisadores,
acadêmicos e estudantes universitários para se interligar com hospedeiros remotos, transferir
arquivos de hospedeiros locais para hospedeiros remotos e vice-versa, enviar e receber
notícias e enviar e receber correio eletrônico. Embora essas aplicações fossem (e continuem a
ser) extremamente úteis, a Internet não era conhecida fora das comunidades acadêmicas e de
pesquisa. Então, no início da década de 1990, entrou em cena uma nova aplicação
importantíssima – a World Wide Web (BERNERS-LEE, 1994 apud KUROSE & ROSS, 2006,
p. 68).
A Internet é uma tecnologia de comunicação eletrônica que causou um grande impacto
social. O correio eletrônico e o acesso a sites permitindo busca rápida a todo tipo de
informação, duas das aplicações mais populares, revolucionaram o modo como vivemos e
trabalhamos.
A diferença da Web para os demais meios de comunicação é que ela funciona por
demanda, ou seja, os usuários recebem o que querem e quando querem, o que é diferente da
transmissão de rádio e televisão, que força o usuário a sintonizar quando o provedor
disponibiliza o conteúdo. Outra vantagem é que se torna muitíssimo fácil para qualquer
usuário disponibilizar as informações na Web. Dispositivos gráficos estimulam os sentidos do
usuário. Formulários, applets Java (software que executa funções específicas) e muitos outros
nos habilitam a interagir com páginas e sites (KUROSE & ROSS, 2006).
3.5. ACESSO REMOTO
Segundo Terezinho & Carvalho (2004), com a popularização de diferentes arquiteturas
de redes de comunicação, surgiu a possibilidade de acessar informações relevantes,
remotamente, com aplicações baseadas em tecnologias Web. Os principais sistemas de
supervisão permitem que a interface gráfica, bem como os dados do processo, sejam
monitorados ou modificados através de estações remotas providas apenas de um WebBrowser como Internet Explorer ou Netscape. Essas estações, denominadas Web Thin Clients,
podem utilizar qualquer link TCP/IP para conexão com a estação servidora. Dessa forma, é
possível realizar a supervisão do processo a qualquer hora, de qualquer computador que esteja
11
fisicamente conectado a uma rede comum à estação de supervisão e controle, mesmo que essa
rede seja a Internet.
3.6. MICROCONTROLADOR
Conforme Miyadaira (2009), os microcontroladores (μC ou MCU) são pequenos
dispositivos dotados de ―inteligência‖, basicamente constituídos de CPU, memória (dados e
programas) e periféricos (portas E/S, I²C, SPI, USART, etc.). Suas dimensões reduzidas são
resultantes da alta capacidade de integração, em que milhões de componentes são inseridos
em uma única pastilha de silício. Eles estão presentes na maioria dos equipamentos digitais,
como celulares, MP3 player, impressoras, robótica, instrumentação, entre outros.
Figura 3.4: Diagrama resumido de um microcontrolador
As duas principais arquiteturas de microcontroladores são Harvard e Von-Neumann. A
arquitetura Harvard é caracterizada pela existência de um barramento para acesso à memória
de dados e outro para memória de programa, resultando em um aumento de fluxo de dados,
enquanto na arquitetura Von-Neumann as memórias de dados e de programas compartilham o
mesmo barramento.
12
4. PRINCIPAIS COMPONENTES DE HARDWARE UTILIZADOS
Aqui serão apresentados os dois principais componentes que compõem o sistema. São
eles o microcontrolador PIC18F4550 e o controlador de Ethernet ENC28J60.
4.1. MICROCONTROLADOR PIC18F4550
O microcontrolador PIC18F4550 é constituído com base na arquitetura Harvard com
instruções do tipo RISC (Reduced Instruction Set Computer) em inglês e traduzindo para o
português significa: Computador com Conjunto Reduzido de Instruções. É um dispositivo de
8 bits dotado de 32 Kbytes de memória de programa e 2.048 bytes de memória RAM. Esse
dispositivo pode ser alimentado com tensões entre 4 V e 5.5 V, além de operar em frequência
de até 48 MHz (12 MIPS – milhões de instruções por segundo). Ele pode ser alimentado
diretamente por um oscilador de 48 MHz ou por um cristal associado com o bloco PLL. Além
disso, possui um oscilador interno de 8 MHz, que pode ser derivado em 8 MHz, 4 MHz, 2
MHz, 1 MHz, 500 KHz, 250 KHz, 125 KHz e 31 KHz (MIYADAIRA, 2009).
Figura 4.1: Pinagem do PIC18F4550
13
Este modelo foi escolhido por apresentar inúmeros recursos disponíveis para futuras
expansões do projeto. Na Figura 4.1, podemos ver a pinagem do microcontrolador. Ele possui
40 pinos, dos quais 35 podem ser configurados como I/O (entrada/saída), e diversos
periféricos, tais como memória EEPROM de 256 bytes, um módulo CCP (Capture, Compare
ou PWM) e ECCP (Enhanced Capture, Compare ou PWM), um módulo SPI e I²C, treze
conversores A/D (analógico/digital) de 10 bits de resolução com tempo de aquisição
programável, dois comparadores analógicos, uma comunicação EUSART, um TIMER de 8
bits (TIMER2) e três de 16 bits (TIMER0, TIMER1 e TMER3), um módulo de detecção de
alta/baixa voltagem (HLVD), além de ter um módulo USB 2.0 capaz de operar no modo lowspeed (1.5Mbps) ou full-speed (12Mbps).
4.2. CONTROLADOR ETHERNET ENC28J60
Basicamente, o objetivo principal de um controlador Ethernet é receber uma
informação e gerar como resultado um dado equivalente codificado no padrão IEEE 802.3
(Ethernet), possibilitando a comunicação de diferentes sistemas com a rede mundial de
computadores - Internet - (DOS SANTOS, 2009).
O ENC28J60 Microchip é um controlador de Ethernet 10Base-T (10 Mbps). Na Figura
4.2, pode ser visto o diagrama de blocos simplificado do controlador.
Figura 4.2: Diagrama de blocos internos do ENC28J60
14
O Módulo consiste em um PHY (camada física), um módulo MAC (subcamada
MAC), uma memória RAM de 8 Kbyte para armazenar os pacotes de recepção e transmissão,
uma série de registros de configuração e um módulo para a comunicação serial SPI.
O chip tem 28 pinos e requer apenas poucos componentes externos, assim pode ser
inserido facilmente em qualquer projeto. O ENC28J60 é um controlador de Ethernet
autônomo com uma interface serial padrão (SPI). Ele é projetado para servir como uma
interface de rede Ethernet para qualquer microcontrolador que possua a interface SPI. Ele
atende a todas as especificações IEEE 802.3 e incorpora um conjunto de filtros internos para
limitar a quantidade de pacote de dados que realmente necessitam ser processados. Também
possui um módulo interno DMA (Direct Memory Access) de transferência rápida de dados e
assistente de hardware para cálculo de checksum, que é uma informação para detecção de
erros utilizada em vários protocolos e rede. A comunicação com o controlador host é
implementada através de um pino de interrupção e do SPI, com taxas de clock de até 20 MHz.
Dois pinos dedicados são utilizados para a ligação de LEDs que indicam a atividade da rede.
A seguir, na Figura 4.3, tem-se os pinos do ENC28J60.
Figura 4.3: Pinagem do ENC28J60
15
Um circuito típico de uso do dispositivo é mostrado na Figura 4.4. Juntamente com o
ENC28J60, basicamente dois transformadores de pulsos e alguns componentes passivos são o
necessário para conectar um microcontrolador e estabelecer uma rede Ethernet de fato.
Figura 4.4: Ligação típica do ENC28J60
16
5. PRINCIPAIS SOFTWARES UTILIZADOS
Aqui será feita uma apresentação dos quatro principais softwares utilizados. O
MPLAB IDE, MPLAB C18, WinPic800, Dreamweaver CS.
5.1. MPLAB IDE
Figura 5.1: Ambiente de desenvolvimento MPLAB IDE v8.50.
O MPLAB IDE é um ambiente de desenvolvimento integrado, que permite fácil
integração com o compilador MPLAB ®C18 ou de outro tipo, além de ser uma ferramenta
extremamente poderosa, pois gerencia o projeto, compila, simula, debuga e grava o chip. Esse
software
pode
ser
baixado
através
do
site
oficial
da
Microchip
Tecnology
(www.microchip.com).
17
5.2. MPLAB C18
O MPLAB C18 é um compilador C destinado aos microcontroladores da família
PIC18. Ele possui compatibilidade com o padrão ANSI (American National Standards
Institute) e pode ser facilmente integrado ao MPLAB IDE. Suas principais características são:
- É compatível com o padrão ANSI.
- Permite misturar códigos C e Assembly em um único projeto.
- Permite configurar níveis de otimização do código.
- Dispões de uma vasta biblioteca (PWM, SPI, I²C, UART, USART, etc.).
A versão demo deste compilador pode ser obtida através do site oficial da Microchip
Tecnology (www.microchip.com).
O compilador MPLAB C18 necessita de pelo menos três arquivos para compilar o
programa C. O primeiro é a biblioteca C padrão representada pelo arquivo ―clib.lib‖, o
segundo é a biblioteca do processador (―p18xxxx.lib), no nosso caso ―p18f4550.lib‖. Ambas
bibliotecas estão localizadas no subdiretório ―C:\MCC18\lib‖
O terceiro arquivo contém o código de inicialização do programa, chamado de arquivo
objeto. Existem três versões de código de inicialização do MPLAB C18:
- c018.o: inicializa a pilha e pula para o início da função principal, main( ).
- c018i.o: realiza as mesmas tarefas do arquivo anterior, além de designar os valores
apropriados para as variáveis inicializadas antes de chamar a função main( ).
- c018iz.o: desempenha as mesmas funções dos arquivos supracitados e também
atribui o valor zero ‗0‘ às variáveis não inicializadas.
Os arquivos objetos podem ser encontrados no subdiretório ―C:\MCC18\lib‖.
5.3. WINPIC800
WinPic800 é um programa gratuito para programar microcontroladores PIC,
compatível com vários gravadores (hardware) populares, oferecidos gratuitamente na internet
e pode gravar quase todo tipo de microcontrolador PIC disponível, microcontroladores avr 8
bits e memória eeprom serial I2C 24xx e 93xx.
Embora o MPLAB IDE disponibilize a opção de gravação, por já se estar
familiarizado com o uso do WinPic800 e já se ter testado o programa com o modelo de
hardware construído, preferiu-se a utilização do mesmo.
18
O programa pode ser encontrado facilmente em sites de busca.
Figura 5.2: Gravador WinPic800 v3.63
5.4. DREAMWEAVER CS
O Dreamweaver CS (Creative Suite), ou apenas DW (Figura 5.3) é um software
voltado à criação de sites e aplicações para a Internet. No passado, existia um programa
chamado FrontPage da Microsoft. Para os mais experientes na época, ele era o Word das
páginas Web. Ou seja, mesmo sem saber o que é um protocolo ou o que é HTML, os usuários
eram capazes de criar páginas (bonitas e funcionais) rapidamente. Com o passar do tempo e
com o surgimento de novas tecnologias como o Flash, o FrontPage perdeu espaço, pois até
mesmo os mais leigos o achavam muito simples frente ao poder dos novos programas.
(VIEIRA, 2006)
Ainda segundo o mesmo autor, com as novas versões dos produtos da Adobe, e isso
inclui o DW, está cada vez mais fácil criar sites mesmo para quem nunca tenha pensado um
dia em fazer o seu próprio site.
19
Figura 5.3: Software Dreamweaver
Este software consegue reunir na mesma interface recursos para programadores — que
tem como base o código puro — e também recursos para os designers, que são os mais
experientes quando falamos do visual das páginas. O software permite que se criem sites
completos e os simule no seu próprio PC (com o auxílio de um servidor instalado) sem
precisar estar conectado à rede. Após a verificação de que o site está como se quer, basta
enviar o código pronto e já testado ao servidor que o hospedará na rede.
5.4.1. Requisitos para instalação do Dreamweaver CS
Para que se possa utilizar a funcionalidade de simular no próprio PC do site que se está
construindo, faz-se necessária a instalação de mais um programa, o Apache Tomcat.
20
Apache Tomcat
Figura 5.4: Logo do Apache Tomcat
O Apache Tomcat é um servidor de aplicações Java para web e também pode
comportar-se como um servidor web (HTTP). Este programa é um software livre (e uma
aplicação de código aberto), oficialmente autorizado pela Sun (desenvolvedora do Java).
O Apache Tomcat é inteiramente escrito em Java e, portanto, para ser executado em
seu computador, ele necessita de uma Java Virtual Machine (JVM) (Máquina Virtual Java)
instalada. Assim, faz-se necessária a instalação de um terceiro software, o Netbeans IDE.
O Tomcat pode ser baixado gratuitamente do site: http://tomcat.apache.org/index.html
NetBeans IDE
Figura 5.5: Logo do NetBeans
NetBeans IDE é uma aplicação de código aberto, feita para auxiliar os
desenvolvedores na criação de aplicativos em diferentes plataformas, utilizando tecnologia
Java para isso. Nela encontram-se todas as ferramentas necessárias para projetos profissionais
em Java, C/C++ e outros.
O
NetBeans
IDE
pode
ser
baixado
gratuitamente
através
do
site:
http://netbeans.org/index_pt_BR.html
21
Dreamweaver CS
Figura 5.6: Logo do Dreamweaver CS
Como mencionado anteriormente, para obter-se todas as funcionalidades do DW, e
assim poder simular as aplicações antes de enviá-las ao servidor, é necessário que se faça a
devida instalação do Tomcat e do NetBeans. As instalações e configurações de ambos os
softwares não serão abordados aqui, pois fogem do foco do trabalho.
Apenas a instalação e configuração do Dreamweaver já basta para se conseguir o
desejado, ou seja, a criação de uma página que funcione como um sistema supervisório. Como
é um supervisório simples que faz o monitoramento e acionamento de apenas dois LEDs, o
fato de se ter que enviar a página ao servidor para se poder visualizar o resultado não traz
problema algum.
22
6. GRAVADOR
Optou-se por construir um gravador para o PIC integrado à placa com gravação in
circuit e desta forma os testes deram-se de forma mais ágil, pois não foi preciso remover o
microcontrolador a cada gravação.
Seguiu-se o modelo de gravador PROGPIC II apresentado na revista Mecatrônica
Fácil nº13, de nov/dez de 2003, no artigo intitulado ―Gravador de PIC PROGPIC II‖, de
autoria de Márcio José Soares.
6.1. CABO PARA GRAVAÇÃO
O cabo utilizado para a gravação do PIC foi confeccionado utilizando-se três
componentes (Figura 6.1): um cabo de rede Ethernet (8 vias), uma ponteira também padrão
Ethernet (8 vias) e um conector DB25 macho.
Cabo 8 vias
Ponteira
DB25
Figura 6.1: Componentes do cabo para gravação
O gravador comunica-se com o PIC através da porta paralela do micro. Para efetuar a
comunicação, optou-se por fabricar o cabo, pois isso possibilita diminuir o espaço físico
ocupado na placa, já que um conector tipo RJ45 é bem menor do que um conector DB25.
Na Figura 6.2, pode-se ver como foi efetuada a ligação do cabo. Deve-se voltar a
atenção para os pinos do conector DB25, pois estes deverão ser utilizados sem qualquer
alteração. Já na outra extremidade do cabo, a ligação poderá ser feita como melhor lhe
convier, pois dependerá da forma como foram posicionadas as respectivas trilhas na placa.
23
Portanto, é aconselhável que a confecção do cabo seja feita após ter-se em mãos o layout da
placa.
Figura 6.2: Ligação do cabo
Na Figura 6.3, pode-se ver o cabo pronto.
Figura 6.3: Cabo pronto
24
6.2. PARTE ELETRÔNICA DO GRAVADOR
Na Figura 6.4, pode-se ver o esquema do circuito do gravador original publicado na
revista. Os pinos da porta paralela são ligados a um buffer (74LS32). Este buffer serve apenas
para proteger o PC em relação ao dreno de corrente da placa gravadora. Após o buffer, os
sinais são entregues às linhas de programação e controle propriamente ditas do
microcontrolador: ―SDA‖, ―SCL‖, ―VPP‖, ―VCC‖ e ―GND‖.
Figura 6.4: Circuito elétrico do gravador
25
Cada linha dos microcontroladores Microchip tem estes pinos em posições diferentes
uns dos outros. Na Tabela 6.1, tem-se a posição desses pinos para os formatos DIP, sua
descrição e numeração no invólucro (padrão DIP, PIC tipo /P). Neste projeto, utilizou-se um
PIC de 40 pinos, portanto, seguiu-se a pinagem destacada na tabela.
Tabela 6.1: Características dos pinos de gravação
Nome
do pino
Gravador PROGPIC II
SDA
Transmite e recebe dados. É por esse pino que os dados a
serem gravados são inseridos ou lidos, conforme o
comando selecionado.
SCL
Clock de sincronismo
VPP
Voltagem de programação: entre 13V e 15V
VCC
+5V de alimentação
GND
Terra para alimentação e gravação
Número
de pinos
no
invólucro
8
18
28
40
8
18
28
40
8
18
28
40
8
18
28
40
8
18
28
40
Número
do pino
7
13
28
40
6
12
27
39
4
4
1
1
1
14
20
11/32
8
5
8
12/31
Como fonte de alimentação, utilizou-se uma fonte de PC ATX. Foi extraída uma
tensão de 24VDC e para isso usou-se as tensões de -12V e +12V da fonte, conforme a Figura
6.5, e posteriormente empregou-se um LM7815 para se chegar à tensão que alimenta toda a
placa.
Foram feitas algumas alterações no projeto original. A principal foi não utilizar a
chave S1, que serve para selecionar o tipo de PIC. Com a chave na posição ―A‖, o gravador
está preparado para gravar PICs de ―8‖ e ―18‖ pinos. Com a chave na posição ―B‖,
selecionam-se os PICs com ―28‖ e ―40‖ pinos. Como foi utilizado apenas um modelo de PIC
de 40 pinos, essa chave foi omitida e ligou-se o pino ―6‖ do DB25 diretamente ao resistor R3 e
omitiu-se a ligação do pino ―5‖.
26
Figura 6.5: Pinagem utilizada da fonte ATX.
O transistor Q1 habilita a tensão de gravação. O LED D1 indica quando a voltagem está
presente, este estando aceso, não se tem a tensão de gravação presente no PIC e deste modo
pode-se inserir ou retirar o PIC. Quando ele está apagado, tem-se a presença da tensão de
gravação VPP e não se deve de forma alguma retirar ou inserir o microcontrolador para
gravação. Já o LED D2 indica a presença do VCC.
Foi inserido ao projeto uma chave S2 destinada a ativar/desativar o modo de gravação e
em conjunto com esta chave adicionou-se um resistor de 10KΩ. (Figura 6.6)
Figura 6.6: Chave S2
O pino ―18‖ da porta paralela deve ser ligado ao GND do circuito do gravador, pois
sem essa ligação não se tem troca de sinal entre o PC e o gravador.
Na Tabela 6.2 é apresentada a lista de componentes utilizados para montar o gravador.
27
Tabela 6.2: Lista de componentes do Gravador
N°
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
Sigla
CI0
CI1
CI2
D1
D2
Q1
R0
R1
R2
R3
R4
R5
C1
C2
S2
-
Descrição
LM7815 – regulador de tensão para 15V
74LS32 – porta lógica buffer
LM7805 – regulador de tensão para 5V
LED comum vermelho
LED comum amarelo
BC548 – transistor NPN
Resistor de 10KΩ
Resistor de 1KΩ
Resistor de 1KΩ
Resistor de 1KΩ
Resistor de 1KΩ
Resistor de 1KΩ
Capacitor - 220μF x 25V - eletrolítico
Capacitor - 100μF x 16V - eletrolítico
Chave 3 pinos - 2 posições
Suporte de CI com 14 pinos
Socket ZIF de 40 pinos
RJ45 simples sem filtros internos
6.3. CONFIGURAÇÃO DO SOFTWARE DE GRAVAÇÃO WINPIC800
Após fazer o download do programa e a devida instalação, deve-se efetuar a
configuração. Para isso, é preciso selecionar no menu ―Opções‖, ―Hardware‖, escolher a
opção ―Propic2‖ e ―Salvar‖. Posteriormente, selecionar ―Opções‖, ―Software‖, escolher a
opção ―Chip‖ e marcar as duas opções ―Usar autodetecção de Chip‖ e ―Detectar PIC
automaticamente ao entrar‖.
Feitas essas simples configurações, se tudo estiver correto, ao abrir o programa ele já
deverá reconhecer o modelo de PIC que está sendo utilizado.
Caso ocorra algum problema, deve-se seguir os passos indicados no site
―http://www.arnerobotics.com.br/eletronica/progpicII_help.htm‖, onde o próprio autor sugere
verificações de possíveis erros.
28
7. HARDWARE
Neste capítulo, será descrita toda parte eletrônica que compõe a placa microcontrolada,
explicando como devem ser conectados os principais componentes, assim como descrevendo
os demais elementos passivos necessários para o correto funcionamento.
7.1. HARDWARE: PIC + ENC
O esquema de ligação indicado no Datasheet do ENC28J60 é mostrado na Figura 7.1.
Figura 7.1: Ligação do ENC28J60
O ENC28J60 é alimentado por uma tensão de 3,3V (max 180mA), por isso foi
inserido ao projeto um LM317 (Figura 7.2), um regulador de tensão variável, que pode ser
ajustado para fornecer tensão de saída entre 1,2V a 37V (Figura 7.3)
29
Figura 7.2: O regulador LM317
Figura 7.3: Ajuste básico do regulador LM317
Como o microcontrolador é alimentado com 5V, faz-se necessária a utilização de
portas lógicas, como um CI 74HC08 (quad AND), ou algum outro modelo de chip CMOS de
5 Volts com entradas de nível TTL ―bufferizadas‖ para fazer a conversão de nível e conectar
as saídas do ENC, alimentado com 3,3V, as quais são ligadas ao PIC. Já os pinos de entrada
do controlador são tolerantes aos 5V. O esquemático que representa estas ligações pode ser
visto na Figura 7.4. Nesta imagem, consta uma ligação que vai do CLKOUT (pino 3 do ENC)
ao OSC1 (pino 13 do PIC). O pino CLKOUT fornece um sinal de clock que pode ser usado
para gerar a frequência de pulsos do PIC. Optando-se por utilizá-lo, não é necessário conectar
o cristal de 40MHz ao PIC, porém a desvantagem é que a velocidade das transmissões
diminuirá consideravelmente, já que o cristal conectado ao ENC é de 25MHz e o sinal
fornecido pelo CLKOUT por padrão é 25MHz / 4 = 6.25MHz. Na verdade, podem-se obter
valores maiores como saídas do ENC alterando-se a configuração padrão, mas mesmo assim o
máximo valor obtido é de 25MHz.
30
Figura 7.4: Ligação do PIC com o ENC
O controlador está projetado para trabalhar a 25MHz, por isso é necessário um cristal
com esta frequência entre os pinos OSC1 e OSC2 do ENC, mais dois capacitores cerâmicos
ligados à referência de terra (GND). O valor dos capacitores sugeridos para este projeto é de
27pF.
Os circuitos analógicos internos do módulo PHY (nível físico), presentes internamente
no ENC, necessitam de uma resistência externa de 2.32 KΩ 1%. Seu valor é importante para
respeitar os padrões IEEE, para tanto se deve anexar um resistor com este valor do RBIAS
(pino 14) ao GND. Esse resistor influencia na amplitude dos sinais TPOUT+/-. Dessa forma,
ele deve ser colocado o mais próximo possível do ENC, mas afastado das trilhas da placa,
evitando assim ruídos capacitivos, que certamente afetariam o sinal de transmissão. O valor
desse resistor não é encontrado comercialmente, para tanto foi utilizado um conjunto (Figura
7.5) composto de dois resistores e um trimpot para se chegar à resistência indicada.
Figura 7.5: Resistência de 2.32K
31
Primeiro pegou-se um resistor (R.1 de 2.2KΩ) com um valor menor, mas próximo do
que se precisava obter. Depois foi escolhido um segundo resistor (R.2 de 220Ω) para somarse ao primeiro, quando conectado em série, com um valor que fosse +/- o dobro do necessário
para obter-se a resistência esperada. Por fim, foi inserido em paralelo com o R.2 um trimpot
de 1KΩ. Assim, com esse conjunto conseguimos chegar facilmente e com uma maior precisão
à resistência desejada de 2.32KΩ, como é demonstrado logo abaixo:
220 * TRIMPOT
 2200  2320
220  TRIMPOT
Resolvendo essa equação, chegamos ao valor que deve ser ajustado o trimpot:
TRIMPOT  264
Pode-se verificar também que com esse conjunto, mesmo com grandes variações no
valor ajustado no trimpot, a resistência final permanece sempre próxima da esperada,
2.32KΩ, como é demonstrado a seguir:
Ajustando o trimpot em 200Ω
→
220 * 200
 2200  2305
220  200
Ajustando o trimpot em 1000Ω
→
220 *1000
 2200  2380
220  1000
Outro componente também deve ser inserido para o correto funcionamento do
controlador, pois alguns dispositivos internos do ENC operam na tensão de 2.5V. O próprio
controlador possui um regulador de tensão interno para gerar esta tensão, mas é necessário
conectar um capacitor de 10μF do VCAP (pino 1) ao GND.
O datasheet do ENC menciona um ―ferrit bead‖, mas não informa seu valor. Segundo
Ionela (2010), este componente pode ser substituído por um indutor de aproximadamente
1mH, que funcionará perfeitamente. Neste projeto, utilizou-se um conjunto de três indutores
para se chegar ao valor indicado.
46H  460H  460H  0.996mH  1mH
32
Um transformador de pulso do tipo ―1:1 center-tape‖ ligado aos pinos TPIN+/- e
TPOUT+/- (pinos 12, 13, 16 e 17) faz-se necessário para a operação Ethernet. Para tanto,
deve-se seguir o esquemático da Figura 5.1 ou utilizar um conector RJ45 com filtros internos
(Figura 7.6).
Figura 7.6: RJ45 com filtros internos
Na Figura 7.7 é mostrada a parte integrante do conector RJ45 no esquemático de
ligação do ENC.
Figura 7.7: Parte integrante do RJ45
33
Deve-se dar a devida atenção para o fato de que estes esquemas de ligações
representam a parte interna do conector utilizado neste projeto e pode ser comparado com o
esquemático (Figura 7.8) indicado em seu datasheet. Estas ligações devem ser verificadas,
pois podem ser diferentes, conforme o modelo de conector utilizado.
Figura 7.8: Esquemático interno RJ45
7.2. HARDWARE: GRAVADOR + PIC + ENC + RJ45 C/ FILTROS
É mostrado a seguir o esquemático elétrico do modelo de placa proposta, onde são
apresentadas as ligações entre o soquet ZIF (utilizado para conectar o microcontrolador PIC),
controlador de Ethernet ENC e o conector RJ45 com filtros e LEDs internos (Figura 7.9).
34
ESQUEMÁTICO DAS LIGAÇÕES: PIC + ENC + RJ45 c/ filtros
Figura 7.9: Esquemático: PIC + ENC + EJ45 c/ filtros
35
O circuito eletrônico do gravador (Figura 6.4) deve ser acrescentado às ligações
apresentadas neste esquemático (Figura 7.9). Considerando que a pinagem do soquet ZIF
possui a mesma numeração da pinagem do PIC, na Tabela 7.1, é apresentada uma listagem
com os pinos utilizados pelo microcontrolador PIC.
Tabela 7.1: Pinos utilizados pelo microcontrolador PIC
PINO
01
11
12
13
14
16
19
20
21
22
31
32
34
35
36
37
38
39
40
Descrição
VPP (Gravador)
+5V (Alimentação)
GND
Cristal de 40MHz, como descrito no
esquemático
Pino 10 do ENC
CH1 (Chave de acionamento 1)
CH2 (Chave de acionamento 2)
LED VERMELHO
LED VERDE
GND
+5V (Alimentação)
(SPI) Pino 8 do ENC
(SPI) Pino 6 do ENC
(SPI) Pino 7 do ENC
(SPI) Pino 9 do ENC
(SPI) Pino 4 do ENC
SCL (Gravador)
SDA (Gravador)
Através do MPLAB®C18 é possível implementar a comunicação SPI em qualquer
pino I/O do microcontrolador da família PIC18, pois o software dispõe de um conjunto de
funções que permite tal recurso. Portanto, os pinos que compõem a comunicação SPI deste
circuito (do pino 34 ao pino 38), podem ser substituídos por outros que melhor se adaptem ao
projeto.
Aos pinos 19 e 20 do PIC devem-se conectar chaves do tipo push-button, que servirão
para o acionamento dos LEDs através da placa. As ligações dessas chaves podem ser vistas na
Figura 7.10.
36
Figura 7.10: Ligação das chaves de acionamento
Assim como as chaves, também se devem inserir os LEDs com seus respectivos
resistores (Figura 7.11).
Figura 7.11: Ligação dos LEDs
Aqui foi utilizado um resistor de 330Ω e de 150Ω. Mas caso queira-se calcular o valor
preciso a ser utilizado, levando-se em consideração a queda de tensão e a corrente máxima
permitida de cada LED, deve-se efetuar os cálculos demostrados a seguir, usando os valores
da Tabela 7.2:
37
Tabela 7.2: Tensão e Corrente dos LEDs
Tipo
Cor
Vermelho
Verde
LED comum
Queda de Tensão
1.8 V
2.1 V
R
Corrente Máxima
0.02 A
V
I
Valor do Resistor para o LED Vermelho
→
RLED _ Vermelho 
Valor do Resistor para o LED Verde
→
RLED _ Verde 
5V  1.8V
 160
0.02 A
5V  2.1V
 145
0.02 A
Na Tabela 7.3 é apresentada uma relação dos componentes utilizados para a montagem
da placa.
Tabela 7.3: Lista de componentes da Placa (menos os utilizados no gravador Tabela 6.2)
N°
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
Quantidade
1
1
1
1
1
4
2
1
1
1
1
1
2
4
2
1
1
2
1
2
1
Descrição
Microcontrolador PIC18F4550
Controlador Ethernet ENC28J60
Conector RJ45 c/ filtros e LEDs internos
Cristal de 40MHz
Cristal de 25MHz
Capacitor Cerâmico de 27pF
Capacitor Cerâmico de 0.1uF
Capacitor Eletrolítico 10uF
CI 74HC08 (quad AND)
Indutor de 1mH
LED Comum Verde
LED Comum Vermelho
Chave push-button
Resistor de 49.9Ω
Resistor de 150Ω
Resistor de 200Ω
Resistor de 330Ω
Resistor de 1KΩ
Resistor de 2.2KΩ
Trimpot 1KΩ
Placa perfurada 10x20cm
38
Para obter-se a relação total de componentes utilizados, devem-se somar os
componentes da Tabela 6.2 com os da Tabela 7.3.
Para título comparativo de preços desta placa com os kits disponíveis comercialmente,
é apresentada na Tabela 7.4 os preços dos três principais componentes e que representam o
maior custo para a montagem da placa.
Tabela 7.4: Valor do principais componentes da placa
N°
01
02
03
Item
PIC18F4550
ENC28J60
RJ45 c/ filtros
Total:
Valor
R$ 24,36
R$ 17,54
R$ 31,35
R$ 73,25
Podemos ver como ficou o protótipo da placa contendo todos os componentes na
Figura 7.12.
39
PROTÓTIPO DA PLACA
Figura 7.12: Protótipo da Placa
40
8. SISTEMA SUPERVISÓRIO NA WEB
Neste capítulo serão descritos todos os passos para a criação de um site, assim como o
registro de domínio e a postagem do site no servidor, para que o sistema possa rodar online.
8.1. REGISTO.BR
Algumas regras precisam ser obedecidas na hora de se criar um site e a mais
importante delas se chama Registro.br, que é o órgão regulamentador dos domínios na Web
Brasil. Ou seja, da mesma forma que você como pessoa física tem um único CPF, o seu site
terá um endereçamento exclusivo (IP).
Quando o internauta digita no navegador, por exemplo ―www.ifsul.edu.br/portal/‖, o
navegador faz a busca (através de uma sequência de números, os IPs) onde esse domínio está
guardado (hospedado) e informa para qual servidor DNS (Domain Name System - Sistema de
Nomes de Domínios) o domínio está apontando.
Para ter-se o domínio registrado no Registro.br, dentre outras coisas é necessário fazer
um cadastro (como pessoa física ou pessoa jurídica), pagar uma taxa anual para manutenção
do serviço (taxa anual em torno de R$ 30,00) e, principalmente, torcer para que o nome do
domínio esteja disponível para uso. O registro pode ser efetuado no seguinte site:
<http://www.registro.br/>.
Neste trabalho não houve a necessidade de se fazer tal registo, assim como também
não foi preciso efetuar o pagamento de tal taxa, pois o servidor escolhido para hospedagem do
site já oferece gratuitamente o registro do site.
8.2. SERVIDOR PARA HOSPEDAGEM METAWEB
Existem inúmeras opções disponíveis na Internet para a hospedagem de sites. Não
serão abordadas aqui vantagens e desvantagens de cada opção. O interessado em criar e
hospedar seu site deverá efetuar uma pesquisa e julgar qual melhor lhe sirva. Existem diversos
planos com limites de tráfego mensal de downloads, uploads, criação de contas de e-mails,
etc., cada um com seu respectivo valor.
Optou-se por utilizar o serviço da Metaweb. Dentre as opções disponibilizadas pela
empresa, escolheu-se o plano Start, que possui as características apresentadas na Tabela 8.1.
41
Tabela 8.1: Características do plano escolhido
Plano
Start
Valor mensal
(hospedagem)
R$ 9,90
Espaço em Disco
Transfer. Mensal
5 Gb
Espaço p/ E-mail
200 Gb
10 Gb
Os subdomínios metaweb.com.br e net2.com.br não possuem nenhuma taxa
de registro, pois são oferecidos gratuitamente pela Metaweb, não havendo a necessidade de se
fazer o registo no Regitro.br.
Após uma pesquisa quanto á disponibilidade, o domínio escolhido foi:
<http://www.jeske.net2.com.br/>
8.3. INSTALAÇÃO E CONFIGURAÇÃO DO DREAMWEAVER CS
A instalação do DW é simples e assemelha-se à instalação de qualquer outro
aplicativo. Deve-se utilizar o diretório padrão já sugerido pelo instalador e basta ir clicando
em ―Próximo‖ (Next).
O DW CS5 pode ser baixado gratuitamente na sua versão para testes (30 dias de uso)
através do site:
< https://www.adobe.com/cfusion/tdrc/index.cfm?product=dreamweaver&loc=pt_br>
8.3.1. Configuração do servidor remoto
Após a instalação, se faz necessário configurar o local para onde o site será enviado,
neste caso, o servidor remoto. Se fosse efetuada a instalação do servidor local Tomcat, a
configuração seria feita para indicar este servidor local.
Após abrir o programa, já devidamente instalado, deve-se selecionar o menu superior e
clicar em ―Site‖ e ―New Site...‖. Nesta tela, deverá ser inserido um nome para o site e indicar
um local onde este será salvo no PC (Figura 8.1).
42
Figura 8.1: Tela 1
Após, deve-se selecionar a opção ―Servers‖ no menu lateral direito e posteriormente
clicar no sinal ―+‖ de ―Add new Server‖, como indicado na Figura 8.2.
Figura 8.2: Tela 2
43
Será aberta uma nova tela igual a mostrada na Figura 8.3. Nesta tela deverá ser dado
um nome para o servidor, escolher a opção ―FTP‖ em ―Connect using‖; o ―FTP Address‖ será
fornecido pelo servidor escolhido (neste caso, a Metaweb enviou por e-mail todos os dados
necessários para a configuração). Os campos ―Username‖ e ―Password‖ deverão ser os
mesmos inseridos no momento do registro com o servidor. Por fim, em ―Web URL‖ inserir a
URL (de Uniform Resource Locator), em português Localizador-Padrão de Recursos, que
nada mais é do que o domínio registrado para o site.
Figura 8.3: Tela 3
Para enviar o site criado, basta conectar-se ao servidor clicando em ―Connects to
remote host‖, como mostra a Figura 8.4.
Figura 8.4: Conectar ao servidor
44
E posteriormente enviar os arquivos clicando em ―Put file(s) to Remote Server‖,
ilustrado na Figura 8.5.
Figura 8.5: Enviar o site para o servidor
Se executados todos os passos corretamente, agora basta digitar o domínio no browser
utilizado (navegador de internet, como Explorer, Mozilla, etc.) e se poderá navegar no site
construído.
8.4. TELA DO SISTEMA SUPERVSÓRIO
Quanto ao sistema supervisório em si, este pode ser criado em qualquer linguagem de
programação própria para sites da Internet, como PHP, JAVA, HTML, etc.
Para este trabalho, como aborda um exemplo extremamente simples, a página foi
criada utilizando-se apenas códigos HTML. Mas, para sistemas supervisórios mais
elaborados, faz-se necessário utilizar alguma outra linguagem com mais recursos.
Na Figura 8.6 pode ser visualizada a tela do sistema supervisório já disponível na rede,
página a qual se propõe basicamente a apresentar o estado atual dos LEDs, alterando a
informação ON/OFF assim como o brilho dos LEDs. O usuário poder observar se os LEDs
foram acionados ou não através dos botões de acionamento da própria placa e a página
também permitiria o acionamento de tais LEDs em tempo real.
45
Figura 8.6: Tela do sistema supervisório.
46
9. COMUNICAÇÃO SPI
Segundo Miyadaira (2009), a interface SPI (Serial Peripheral Interface) foi
desenvolvida pela Motorola. Trata-se de uma comunicação síncrona que opera no modo fullduplex, suporta um dispositivo Master e um ou mais Slaves conectados no barramento. Ela se
caracteriza pela simplicidade e eficiência, podendo alcançar velocidades de até 70MHz (o
microcontrolador PIC18F4550 pode alcançar 10MHz com Fosc = 40MHz). Atualmente, está
presente em inúmeros dispositivos, devido à capacidade de fluxo de dados e à facilidade de
implementá-lo. O barramento é composto de quatro linhas de comunicação denominadas
SCLK/SCK (Serial Clock), MOSI/SIMO/SDI/DI/SI (Master Output – Slave Input),
MISO/SOMI/SDO/DO/SO (Master Input – Slave Output) e SS/CS/STE (Slave Select).
Ainda segundo o mesmo autor, na comunicação SPI, os dispositivos configurados
como Slave são selecionados pelo pino SS, em vez de possuírem um endereço, como no caso
da comunicação I²C. Essa característica, associada à capacidade de operar no modo fullduplex, permite que a interface SPI alcance taxas de comunicação superiores à interface I²C.
Os dados transferidos são normalmente representados por 8bits, cuja transmissão pode
ser iniciada pelo bit menos significativo (LSb) ou pelo mais significativo (MSb), com a
possibilidade de variar conforme o dispositivo.
O sinal e clock desse protocolo pode ser configurado de quatro formas distintas, as
quais resultam da combinação entre a polaridade (CPOL) e a fase (CPHA) do clock, como
pode ser visto na Tabela 9.1.
Tabela 9.1: Configuração do clock
0
CPOL
(CKP)
0
CPHA
(CKE)
0
1
0
1
A polaridade do clock é 0 e o pulso de clock é gerado no final do período.
2
1
0
A polaridade do clock é 1 e o pulso de clock é gerado no começo do período.
3
1
1
A polaridade do clock é 1 e o pulso de clock é gerado no final do período.
MODO
Descrição
A polaridade do clock é 0 e o pulso de clock é gerado no começo do período.
A comunicação entre dois dispositivos é iniciada a partir do momento em que o
Master seleciona o Slave com o qual deseja estabelecer uma comunicação, colocando o pino
SS do dispositivo Slave no estado low ‗0‘. Deste ponto em diante, o Slave prepara-se para a
comunicação com o Master, no entanto alguns dispositivos não são capazes de responder de
47
imediato, necessitando de um pequeno atraso, antes de receberem o sinal de clock. Ao mesmo
tempo em que o Master envia um sinal para o Slave, ele também recebe um dado.
Após realizar as operações desejadas, o Master finaliza a comunicação, interrompendo
o envio do sinal de clock e desabilitando o dispositivo Slave ( SS =1).
9.1. COMUNICAÇÃO SPI DO PIC18F4550
A interface SPI, nos microcontroladores da família PIC18, está implementada no
módulo MSSP (Master Synchronous Serial Port) ou apenas SSP (Synchronous Serial Port),
ambas capazes de operar no modo SPI ou I²C. Como as duas interfaces compartilham um
mesmo módulo, somente uma delas pode estar ativa por vez.
O microcontrolador PIC18F4550 possui uma interface SPI, cuja taxa de comunicação
pode alcançar velocidade de 10Mbps, com Fosc = 40MHz. Quando configurado como Slave,
é ativo em low ‗0‘ e a saída SDO assume o estado de alta impedância, caso o dispositivo
esteja inativo.
Os pinos pertencentes ao periférico SPI são:
• SCK: pino de entrada ou saída do sinal de clock
• SDI: pino de entrada de dado
• SDO: pino de saída de dado
• SS : pino de seleção (ativo em nível ‗0‘). Usado no modo Slave.
O sentido de fluxo dos pinos deve ser definido pelo registro TRIS. Se o dispositivo
estiver configurado como Master, o pino SCK deve ser definido como saída (TRIS<1>=0);
caso contrário, deve ser configurado como entrada (TRISB<1>=1).
As funções de controle e configuração do periférico SPI dos microcontroladores da
família PIC18 estão declaradas na biblioteca spi.h.
No Apêndice 1, é apresentada a configuração e comandos para a comunicação SPI do
PIC.
9.2. COMUNICAÇÃO SPI DO ENC28J60 COM O PIC
A comunicação entre o ENC28J60 e o PIC18F4550 dá-se através da interface SPI. O
ENC é um Slave, por isso o PIC administra o clock e controla a transmissão.
48
Por meio da interface é possível enviar ao ENC sete diferentes comandos (8bits),
seguido por um byte de dados, como podemos ver na Tabela 9.2.
Tabela 9.2: Comandos ao ENC
Nome
1° byte
2° byte
Descrição
Read Control Register
(RCR)
0 0 0 AAAAA
Write Control Register
(WCR)
0 1 0 AAAAA
Read Buffer Memory
(RBM)
00111010
Write Buffer Memory
(WBM)
01111010
DDDDDDDD
Escreve o byte D na direção corrente da
memória RAM
Bit Field Set
(BFS)
1 0 0 AAAAA
DDDDDDDD
Programa no registro A (somente ETH), os
bits que em D são iguais a 1 (OR)
Bit Field Clear
(BFC)
1 0 1 AAAAA
DDDDDDDD
Reseta no registro A (somente ETH), os bits
que em D são iguais a 1 (NOT AND)
System Reset Command
(CRC)
11111111
Lê o registro de controle A
DDDDDDDD
Escreve o byte D dentro do registro A (no
banco selecionado)
Lê a memória RAM do ENC na direção
corrente
Reseta o ENC
49
10. SOFTWARE: CÓDIGOS PARA A EXECUÇÃO DO SISTEMA
Basicamente os códigos necessários para serem gravados no microcontrolador PIC,
para a implementação do sistema, estão disponibilizados pela Microchip em seu site. São
oferecidos diversos arquivos fonte, assim como vários exemplos de aplicações, inclusive o de
uma página WEB para acesso remoto. Porém, existem alguns complicadores.
O primeiro é que os exemplos disponíveis de páginas WEB tratam de modelos em que
a página fica gravada no próprio microcontrolador, ou em uma memória EEPROM conectada
ao mesmo, neste caso o sistema se comporta como um servidor remoto. Para o modelo
proposto neste trabalho, o PIC se comportaria como um cliente, acessando uma página em
que rode um sistema supervisório. Neste caso não há sobrecarga de espaço em memória nem
de processamento no microcontrolador. Assim, para a implementação desse modelo, deverá
partir-se do zero, por não haver exemplo disponível.
Um outro fator que dificulta a implementação, mesmo optando-se pelo modelo
disponível, ou seja, o PIC comportando-se como servidor, é o fato de que os códigos não
estão ―prontos‖ para a execução do sistema, havendo a necessidade das devidas configurações
e alterações. Para isso, se faz necessário possuir um vasto conhecimento em redes, pois as
pilhas do protocolo TCP/IP precisam ser todas configuradas.
Além dos arquivos da Microchip, encontrou-se um outro material na Internet
disponível no site: <http://es.emcelettronica.com/ethernet>, que se propõe a implementar
passo-a-passo uma pilha TCP/IP, não havendo a necessidade de se utilizar a disponível pela
Microchip, nem ao menos interpretá-la para os devidos ajustes. Porém, a pilha proposta neste
material não está completa e, portanto, também se faz necessário um grande conhecimento
para poder concluí-la e implementá-la.
Tentou-se por um certo período de tempo interpretar os códigos e fazer as devidas
configurações e alterações necessárias, porém até o presente momento não obteve-se êxito.
Como uma segunda opção para quem se propuser a implementar tal sistema e não
domine a fundo os protocolos de rede, existem diversos kits comerciais destinados a esse fim.
No próximo capítulo serão apresentados alguns modelos encontrados.
50
11. KITS
11.1. PICDEM.NET 2
O Kit PICDEM.net2 (Figura 11.1) é uma placa de desenvolvimento fabricada pela
própria Microchip, voltada para conexões com a Internet/Ethernet, através da implementação
MAC/PHY com o item stand-alone do controlador Ethernet ENC28J60 ou através do
microcontrolador PIC18F97J60, que já possui um controlador Ethernet como um de seus
blocos internos. Com esta placa, utilizando-se o código da pilha TCP/IP disponibilizado pela
Microchip, é possível desenvolver um servidor WEB para monitoramento e controle de
aplicações embarcadas através da Internet.
Figura 11.1: Kit PICDEM.net2
51
Características da placa PICDEM.net 2:
• Servidor Web com suporte para HTML
• Suporte à pilha TCP/IP (disponibilizada pela própria Microchip)
• Duas interfaces Ethernet (conector RJ-45)
• Conector para placas de expansão futura
• Display LDC alfa-numérico, 16 x 2 caracteres
• Conector para programação do circuito e depuração
• Botões e LEDs programáveis
• Sensor de temperatura
• Interface RS-232/RS-485
• Clock em tempo real
Vantagens de se utilizar esse Kit:
Como o Kit é fabricado pela própria Microchip, ao utilizar-se a pilha disponível
gratuitamente em seu site, evitam-se transtornos como incompatibilidades entre Hardware e
Software, que podem ocorrer utilizando-se outros modelos de Kits.
Valor Comercial:
• R$ 377,00 + IPI ,
local: http://www.seminariosartimar.com.br
ou
• U$ 165,00 ,
local: http://www.microchipdirect.com/
OBS: Em ambos acrescentar valor do frete.
52
11.2. XBEENET
O kit de desenvolvimento XBeeNET (Figura 11.2) é fabricado pela Microgenios e é
ideal para desenvolvimento de aplicações WEB utilizando-se as pilhas TCP/IP da Microchip.
Em conjunto com o kit é possível fazer um curso disponibilizado pela Microgenios, no qual é
ensinada a configuração das pilhas TCP/IP com exemplos da própria Microchip (Figura 11.3),
assim como outros exemplos de aplicações (Figura 11.4).
Figura 11.2: Kit XBEENET
Figura 11.3: Exemplo Página 1
Figura 11.4: Exemplo Página 2
53
Características da placa XBEENET:
• Microcontrolador PIC18FJ60 (com controlador Ethernet interno)
• Display LCD 16x2 com backlight
• Dois canais de comunicação RS232
• Chaves seletoras DIP
• Dois reles independentes NA/NF com led de sinalização
• Uma memória EEPROM
• Cristal de 32.758MHz
• Dois trimpots para simulação AD
• Um trimpot para ajuste de contraste LCD
• Fonte chaveada com tensão de 9V a 15V e saída e 5V e 3,3V
• Canal de gravação in circuit
• Botões e leds para simulações
• Canal Ethernet com led indicador
• Porta de expansão para módulo de comunicação sem fio ZigBEE
• Conector para SDCard
Vantagens de se utilizar este Kit:
A própria Microgenios disponibiliza curso presencial ou online, no qual ensina a
utilizar as pilhas TCP/IP disponibilizadas gratuitamente pela Microchip.
Valor Comercial:
• Kit: R$ 640,00 ,
local: http://www.microgenios.com
• Kit + Curso online: R$ 1.012,00 ,
local: http://www.microgenios.com
• Kit + Curso presencial: R$ 1.240,00 ,
local: http://www.microgenios.com
OBS: Acrescentar valor do frete.
54
11.3. CERNE CONNECT
O Kit didático Cerne Connect (Figura 11.5), fabricado pela Cerne, é destinado a
desenvolver comunicação Ethernet usando o controlador ENC28J60 da Microchip.
Figura 11.5: Kit Cerne Connect
55
Características da placa Cerne Connect:
• Microcontrolador PIC18F2550
• Display LCD
• Uma fonte de alimentação
• Cabo de comunicação RS232
• LEDs e botões para testes
• Comunicação RS232
• Comunicação USB
Vantagens de se utilizar esse Kit:
Esse kit apresenta maior similaridade de hardware com o modelo que tentou-se
implementar.
Valor Comercial:
• Kit: R$ 400,00 ,
local: http://www.cerne-tec.com.br
OBS: Acrescentar valor do frete.
56
11.4. UNETETHERNET
O kit uNetEthernet (Figura 11.6) é composto basicamente por três componentes
principais: ATMEGA64L8, ENC28J60 e um conector RJ45. Esse kit efetua a conexão entre
um microcontrolador e a Internet/Ethernet. Protocolos da Internet e parâmetros de
configuração são armazenados em FLASH e memória EEPROM e podem ser atualizáveis. A
conexão com o microcontrolador dá-se via comunicação serial e a complexidade do acesso
torna-se simples, pois a interface é efetuada com comandos IR que habilitam protocolos da
Internet, tais como DNS, ICMP, UDP, TCP, SMTP, POP e HTTP com simples envios e
recebimentos de textos. Estes comandos IR oferecem uma poderosa funcionalidade (múltiplas
conexões TCP) sobre a porta serial.
Figura 11.6: kit uNetEthernet
57
Características da placa uNetEthernet:
• Requerimento de ECHO e resposta (ICMP)
• Resolução de nome automático (DNS)
• Configuração completa de parâmetros (timeout, velocidade), salvos em memória não volátil
• Envio e recebimento de pacotes UDP e TCP
• Conexão de até 2 sockets
• Portas seriais completamente controladas com detecção de baud rate
• Firmware que pode ser atualizado pela serial
• Poucos componentes externos (regulador 3.3V, Cabo serial (3 fios), "MAX232" e alguns
componentes passivos).
Vantagens de se utilizar este Kit:
Não necessita se conhecer a pilha TCP/IP, bem como conhecer linguagem específica e
ocupar a memória do microcontrolador para implementar a pilha TCP/IP. Trabalha com
diferentes switchs e Hubs e bastam alguns componentes para sua implementação. No item
7.4.1 será explicado mais detalhadamente seu funcionamento.
Valor Comercial dos principais componentes:
• ATMEGA64L8: R$ 51,71 ,
local: http://www.e-farnellnewark.com.br
• ENC28J60/SOIC: R$ 16,43 ,
local: http://www.e-farnellnewark.com.br
• RJ45 c/ filtros: R$ 27,26 ,
local: http://www.e-farnellnewark.com.br
• Gravação da licença do ATEMEGA: U$ 8,00
contato por e-mail: [email protected]
• Total (componentes principais): ± R$ 110,00
OBS: Acrescentar valor do frete.
58
11.4.1. Descrição do uNetEthernet
Ao contrário dos demais kits apresentados, que podem ser adquiridos prontos
comercialmente, o uNetEthernet foi um modelo de kit encontrado em que é descrito seu
funcionamento assim como a sua construção com os componentes: ATMEGA64L8,
ENC28J60 e um conector RJ45.
Figura 11.7: Diagrama do kit uNetEthernet
Com este kit, todos os códigos responsáveis pela implantação e configuração das
pilhas dos protocolos de rede ficam gravados no ATMEGA. Com isso pode-se conectar a esse
módulo um microcontrolador e o uNetEthernet se encarrega da comunicação com a rede
Ethernet.
O
módulo
uNetEthernet
é
um
co-processador
TCP/IP
que
conecta
um
microcontrolador acoplado a ele à internet ou a uma rede ethernet (802.3) (NCHIP, 2006 apud
CECHET, 2006, p. 17). Sua principal funcionalidade é ser utilizada como interface entre
outros dispositivos conectados através de seu canal de comunicação serial e uma rede.
Uma das grandes facilidades em trabalhar com este módulo é que ele contém, em sua
arquitetura, um processador de comandos. Estes comandos são recebidos pelo canal serial de
comunicação e processados conforme sua programação. Os resultados deste processamento
são devolvidos para o canal serial (CECHET, 2006).
No Anexo I é apresentado uma série de figuras que compõe o esquemático elétrico do
módulo.
A comunicação entre o microcontrolador e o uNetEthernet dá-se através da conexão
serial e através de comandos IR, que podem ser visualizados na Tabela 11.1.
59
Tabela 11.1: Comandos IR Típicos
COMANDO{ARGUMENTO}
DESCRIÇÃO
RESULTADO
IRD
atualiza configuração de rede por
OK[CR/LF]
DHCP
FAIL[CR/LF]
resolve um nome em um endereço IP
Endereço IP[CR/LF]
usando o protocolo DNS
FAIL DNS[CR/LF]
envia um ping (ICMP) e espera por
OK[xxx]ms[CRLF]
uma resposta
FAIL[CR/LF]
espera por um pacote UDP em uma
ERROR[CR/LF]
porta específica
OK[CR/LF]
IRUP[IP/nome]:[porta
envia um pacote UDP para o IP:porta
DNS FAIL[CR/LF]
destino]:[porta origem]
destino de IP:porta origem
ERROR[CR/LF]
IRN<nome>
IRP<nome/IP>
IRUB<porta>
OK[CR/LF]
IRUG
recebe um pacote UDP
NO DATA[CR/LF]
ou
Endereço IP do ponto da rede que
enviou o pacote[CR/LF]
Porta do ponto da rede que enviou o
pacote[CR/LF]
Tamanho do pacote[CR/LF]
Dados do pacote[CR/LF]
IRUV
pára de escutar uma porta específica
OK[CR/LF]
IRT<socket><nome/IP>:<porta
conecta um socket TCP a um host
FAIL DNS[CR/LF]
destino>
remoto em uma porta específica
FAIL TCP[CR/LF]
ERROR[CR/LF]
IRR<socket>
reconecta um socket TCP específico
OK[CR/LF]
FAIL SOCKET DOWN[CR/LF]
IRX<socket>
fecha um socket TCP
OK[CR/LF]
IRO
desliga o processador de linhas de
OK[CR/LF]
comando
IRES
salva as configurações na EEPROM
OK[CR/LF]
IREL
carrega as configurações previamente
OK[CR/LF]
salvas na EEPROM
IREI
invalida a configuração da EEPROM
OK[CR/LF]
IRE<endereço>[=valor]
lê ou grava um valor em um endereço
<valor>[CR/LF]
específico da EEPROM
IRS<registrador>[=valor]
lê ou grava um valor de um
<valor>[CR/LF]
registrador
Fonte: (CECHET, 2006).
60
11.4.2. Simulador do uNetEthernet
Os comandos IR do módulo uNetEthernet podem ser testados, utilizando o simulador
correspondente. Este simulador abre uma comunicação com um modulo uNetEthernet virtual,
ou seja, digita-se algo e ele responde, como se fosse o módulo real instalado na rede; ao
mesmo tempo, abre o canal com ETHERNET como se fosse um ponto de sua rede.
Para se efetuar a simulação se faz necessário que o software WinPcap esteja instalado
antes de rodar o emulador. Ele serve para emular o chip ETHERNET no módulo
uNetEthernet.
O WinPcap é um software livre e pode ser baixado no site: <www.winpcap.org>.
Demais informações sobre o seu funcionamento assim como baixar o emulador,
podem ser acessados através do site: <http://www.basic4ever.com/tcpipchipeth.shtml>.
11.5. DESVANTAGENS DOS KITS
Para um primeiro contato com esse tipo de tecnologia, a utilização de um kit pode
ajudar bastante. Ao apresentar os modelos de kits, foram citadas vantagens presentes em cada
modelo quanto à sua utilização.
Porém, há uma grande desvantagem em optar-se pela utilização de um kit ao invés de
montar o seu próprio equipamento, que é o fato de não possibilitar a reprodução do
equipamento, tanto para fins acadêmicos como para fins comerciais, pois ao adquirir-se um
kit, embora toda parte eletrônica já esteja pronta, assim como os códigos para sua utilização
que também são fornecidos pelo fabricante, pode-se tentar uma engenharia reversa, mas
geralmente sempre há um detalhe (o pulo do gato) que fica oculto, impossibilitando a
reprodução do equipamento.
Quanto ao kit uNetEthernet, embora a utilização dos comandos IR facilitem em muito
a vida do programador e a descrição da montagem do kit esteja disponível, o grande problema
em optar-se por esse modelo é o fato de que a pilha TCP/IP (códigos responsáveis pela
comunicação Ethernet) que são gravados no ATEMEGA, não são disponíveis gratuitamente,
tendo que ser pago um determinado valor para que tais códigos sejam gravados neste CI.
Estes códigos são baseados no FreeBSD (Berkeley Software Distribution) e portado para o
ATMEGA64, mas não é código aberto, sendo de propriedade da Mike Johnson, da NChip.
61
12. USO DE SIMULADORES
Como Santos (2009) cita em seu trabalho acadêmico, no qual faz a simulação de um
controlador Ethernet com o uso dos softwares Proteus ISIS e VSM na versão 7.2, a simulação
simplifica bastante o uso do controlador ENC28J60 e abstrai vários componentes
indispensáveis para o correto funcionamento do mesmo, como indutores, resistores,
transformadores e todos os demais componentes necessários, como foi descrito no capítulo 7.
Mas mesmo em se tratando de uma simulação, a complexidade concentra-se basicamente na
configuração da pilha TCP/IP (que está embarcada no microcontrolador), de forma a permitir
seu funcionamento com esse circuito. A Microchip não disponibiliza todas as configurações e
variações possíveis para o uso da pilha TCP/IP com qualquer microcontrolador. Então, o
processo de configuração da pilha TCP/IP embarcada depende muito do conhecimento do
usuário sobre a arquitetura do microcontrolador, protocolo SPI, protocolos de rede e
programação em C em baixo nível.
62
CONCLUSÃO
Com os avanços e aprimoramentos nas redes de comunicações, cada vez mais estes
meios serão utilizados para diferentes aplicações. O acesso remoto pela Internet já é uma
realidade e tende a ser cada vez mais difundido para diferentes fins. Os celulares mais
modernos, assim como os iphones possuem acesso à internet permitindo-se visualizar
qualquer página disponibilizada na WEB, desta forma pode-se dizer que é possível ter-se
aceso remoto podendo controlar e monitorar qualquer equipamento literalmente na palma das
mãos. Para isto basta que haja uma placa microcontrolada com o controlador de Ethernet
fazendo a comunicação entre o equipamento e a WEB.
Em vista de tão vasto campo de utilização desta tecnologia, chama-se a atenção para
que seja incentivada a pesquisa e desenvolvimento de tais equipamentos no meio acadêmico.
Como já foi dito, a utilização de alguns modelos de kits é aconselhada para que se tenha um
contato inicial com essa tecnologia, pois isso facilitará bastante uma futura implementação do
próprio equipamento.
Dentre as opções apresentadas, aconselha-se a implementação do protótipo descrito no
item 7.2, pelo fato de todo o esquemático elétrico já estar disponível e de não se ficar preso a
um código pago. A grande dificuldade em sua implantação fica focada no entendimento e
configuração das pilhas TCP/IP. Por isso, aconselha-se ao interessado em construir
pessoalmente sua placa, se este ainda não a possui, que invista bastante em pesquisa
relacionada ao funcionamento detalhado dos protocolos de comunicação de Ethernet, já que
esse conhecimento será de fundamental importância para que se consiga um sucesso neste
empreendimento.
Procurou-se com este trabalho apresentar diferentes formas de auxílio ao interessado
em pesquisar e desenvolver equipamentos que se destinem ao acesso remoto através da WEB.
Espera-se também que sirva como referência para futuras pesquisas e implementações nesta
área.
63
BIBLIOGRAFIA
SOARES, Márcio José. REVISTA MECATRÔNICA FÁCIL. Gravador de PIC
PROGPIC II. São Paulo: Editora Saber, n 13 de nov/dez de 2003.
MACIEL, Paulo Henrique S. REVISTA MECATRÔNICA ATUAL. Softwares de
Supervisão. São Paulo: Editora Saber, n 20, mar. 2005.
BRAGA, Newton C. REVISTA MECATRONICA FÁCIL. Entenda os CLPs. São
Paulo: Editora Saber, n 49, 2006.
DE CARVALHO, Paulo César. REVISTA MECATRÔNICA ATUAL. Um pouco de
história sobre os Controladores Lógicos Programáveis e a Automação Industrial. São Paulo:
Editora Saber, n 24, nov. 2005.
CARDOSO,
Mauro
César
F.;
ZANAROTTI,
Geraldo
Sergio.
REVISTA
MECATRÔNICA ATUAL. CLP – Evoluções e Tendências. São Paulo: Editora Saber, n 25,
dez. 2005.
TEREZINHO, Fábio; DE CARVALHO, Paulo Cesar. REVISTA MECATRÔNICA
ATUAL. SSC – Sistemas de Supervisão e Controle. São Paulo: Editora Saber, n 14, fev.
2004.
SOARES, Luiz Fernando G.; LEMOS, Guido; COLCHER, Sérgio. Redes de
Computadores. 2. ed., 1995. apud KEISER, G. Local Area Network. McGraw-Hill Book Co.,
1989.
BERNERS-LEE, T.; CAILLIAU, R.; LOUTONEN, A.; FRYSTYK, H. Nielsen;
SECRET, A. The World-Wide Web. Comunications of the ACM, vol. 37, n. 8, ago. 1994, p.
76-82. apud KUROSE, James F.; ROSS, Keith W. Redes de computadores e a Internet. Uma
abordagem top-down. 3. ed. São Paulo: Pearson Addison Wesley, 2006.
TORRES, Gabriel. Redes de Computadores – Curso Completo. São Paulo: Axcel
Books, 2001.
64
VIEIRA, Anderson da Silva. Macromedia Dreamweaver CS5: Guia Prático e Visual.
Rio de Janeiro: Alta Books, 2006.
TANENBAUM, Andrew S. Redes de Computadores. 3. ed. Rio de Janeiro: Campus,
1997.
MIYADAIRA, Alberto Noboru. Microcontroladores PIC18: Aprenda e Programe em
Linguagem C. São Paulo: Érica, 2009.
IONELA.
Ethernet.
Electrónica
Open
Source.
Disponível
em:
<http://es.emcelettronica.com/ethernet>. Acesso em: 20 jul. 2010.
DATASHEET
PIC18F4550.
Disponível
em:
<http://www.microchip.com/
wwwproducts/Devices.aspx?dDocName=en010300>. Acesso em: 25 jul. 2010.
DATASHEET
ENC28J60.
Disponível
em:
<http://www.microchip.com/
wwwproducts/Devices.aspx?dDocName=en022889>. Acesso em: 25 jul. 2010.
DOS SANTOS, Johnny Cezar Marçal. Projeto de um sistema microcontrolado
utilizando Internet embarcada para monitoramento remoto em tempo real de temperatura e
disponibilização dos dados na WEB através de conexão de rede. Natal/RN. Jul. 2009. P 33.
Cap 3.4.
Kit
PICDEM.net
2.
Disponível
em:
<
http://www.microchipdirect.com/
ProductSearch.aspx?Keywords=DM163024>. Acesso em: 29 nov. 2009.
Kit
XBEENET.
Disponível
em:
<
http://www.microgenios.com/
detalhes.asp?id=137&produto=1321>. Acesso em: 29 nov. 2009.
Kit
CERNE
CONNECT.
Disponível
em:
<
http://www.cerne-tec.com.br/
detalhescerneconnect.htm>. Acesso em: 29 nov. 2009.
REGISTRO.BR. Disponível em: < http://www.registro.br/>. Acesso em: 30 nov.
2009.
65
METAWEB. Disponível em: < http://www.metaweb.com.br/index.asp/>. Acesso em:
30 nov. 2009.
UNETETHERNET. Disponível em:<http://www.basic4ever.com/ tcpipchipeth.shtml>.
Acesso em: 30 nov. 2009.
CECHET, Rafael. Protótipo de um sistema de monitoramento de salas de aula
utilizando TCP/IP sobre redes Ethernet (802.3). Blumenau: FURB, 2006. TCC (Bacharelado
em Ciência da Computação), Faculdade de Ciências da Computação, Universidade Regional
de Blumenau, 2006.
66
APÊNDICE I
CONFIGURAÇÃO E COMANDOS PARA A COMUNICAÇÃO SPI DO PIC
67
I. CONFIGURAÇÃO E COMANDOS PARA A COMUNICAÇÃO SPI DO PIC
I.1 OpenSPI
A função OpenSPI configura e habilita o periférico SPI.
Sintaxe:
OpenSPI (modo, modo_clock, f_amostra)
Onde:
• modo: uma das constantes listadas na Tabela 6.2
• modo_clock: uma das constantes listadas na Tabela 6.3
• f_amostra: uma das constantes listadas na Tabela 6.4
Tabela I.1: Define o modo de operação da interface SPI
Constantes
Descrição
SPI_FOSC_4
Modo Master, Sinal de clock = Fosc / 4.
SPI_FOSC_16
Modo Master, Sinal de clock = Fosc / 16.
SPI_FOSC_64
Modo Master, Sinal de clock = Fosc / 64.
SPI_FOSC_TMR2
SLV_SSON
Modo Master, Sinal de clock = Saída do TMR2 / 2.
Modo Slave, Pino de controle SS habilitado.
SLV_SSOFF
Modo Slave, Pino de controle SS desabilitado.
Tabela I.2: Define o modo de operação do sinal de clock
Constantes
Descrição
MODE_00
A polaridade do clock é 0 e o pulso de clock é gerado no começo do período.
MODE_01
A polaridade do clock é 0 e o pulso de clock é gerado no final do período.
MODE_10
A polaridade do clock é 1 e o pulso de clock é gerado no começo do período.
MODE_11
A polaridade do clock é 1 e o pulso de clock é gerado no final do período.
Tabela I.3: Define a fase de leitura do dado
Constantes
Descrição
SMPEND
Lê o dado de entrada no final do período.
SMPMID
Lê o dado de entrada na metade do período.
Exemplo:
OpenSPI(SPI_FOSC_4,MODE_01,SMPMID); //Configura o periférico SPI do módulo SSP.
68
I.2 CloseSPI
Para desabilitar o periférico SPI é utilizada a função CloseSPI.
Sintaxe:
CloseSPI ( ) // Desabilita o periférico SPI do módulo SSP
I.3 ReadSPI e getcSPI
A função ReadSPI ou getcSPI retorna um byte de dado durante o ciclo de leitura.
Sintaxe:
dado = getcSPI ( )
dado = ReadSPI ( )
Onde:
• dado: valor do tipo unsigned char
Exemplo:
If (DataRdySPI ( ) ); //Verifica de há um novo dado no registro SSPBUF
dado = getcSPI ( ); //Efetua a leitura do dado
I.4 getsSPI
A função getsSPI lê uma string de tamanho prefixado.
Sintaxe:
getsSPI ( buffer, tamanho)
Onde:
• buffer: ponteiro para a matriz de caracteres localizada na memoria de dados
• tamanho: número de bytes que o módulo deve receber (8bits).
Exemplo:
unsigned char buffer [15];
getsSPI ( buffer, 15 ); //Lê 15 bytes de dados no barramento SPI.
69
I.5 DataRdySPI
A função DataRdySPI verifica se há um novo byte no buffer de recepção do módulo
SSP, e retorna ‗1‘ se há um dado; caso contrário, retorna ‗0‘.
Sintaxe:
status = DataRdySPI ( )
Onde:
• status: valor do tipo unsigned char
Exemplo:
while ( !DataRdySPI ( ) ); //Aguarda até que o registro SSPBUF receba um novo dado
dado = getcSPI ( ); //Efetua a leitura do dado.
I.6 WriteSPI e putcSPI
A função WriteSPI ou putcSPI envia um único byte para o barramento SPI, e retorna
‗0‘ para indicar sucesso na transmissão ou ‗-1‘ para indicar que houve uma colisão de escrita.
Sintaxe:
status = WriteSPI ( dado )
status = putcSPI ( dado )
Onde:
• status: valor do tipo signed char
• dado: valor do tipo unsigned char
Exemplo:
If ( WriteSPI ( dado ) ); //Envia um byte através da SPI do módulo SSP e verifica a ocorrência de erro.
I.7 putsSPI
A função putsSPI envia uma string para o barramento SPI até que seja encontrado um
caractere nulo.
Sintaxe:
status = putsSPI ( string )
Onde:
• string: Ponteiro para a matriz de caracteres localizada na memória de dados.
70
Exemplo:
unsigned char mensagem [ ] = “TESTE SPI”;
putsSPI (mensagem); //Envia a mensagem ―TESTE SPI‖ através da comunicação SPI.
I.8 Pinos I/O usados pela comunicação SPI
O MPLAB®C18 também dispõe de um conjunto de funções que permite implementar
uma comunicação SPI em qualquer pino I/O do microcontrolador da família PIC18. Essas
funções estão implementadas na biblioteca sw_spi.h.
Os pinos I/O usados pela comunicação SPI implementada em software são, por
definição, configurados como mostrado na Tabela 6.5 e podem ser redefinidos, alterando as
macros declaradas na biblioteca sw_spi.h, localizada em C:\MCC18\h.
Tabela I.4: Macros para a comunicação SPI
Linha SPI
Pino de seleção
Macros
SW_CS_PIN
Valor padrão
PORTBbits.RB2
( CS )
TRIS_SW_CS_PIN
TRISBbits.TRISB2
SW_DIN_PIN
PORTBbits.RB3
TRIS_SW_DIN_PIN
TRISBbits.TRISB3
SW_DOUT_PIN
PORTBbits.RB7
TRIS_SW_DOUT_PIN
TRISBbits.TRISB7
SW_SCK_PIN
PORTBbits.RB6
TRIS_SW_SCK_PIN
TRISBbits.TRISB6
Pino de entrada de dado
(DI)
Pino de saída de dado
(DO)
Pino de clock
(SCK)
Uso
Pino usado para seleção do chip.
Bit de controle da direção do pino
associado com a linha CS .
Pino usado como entrada de dado.
Bit de controle da direção do pino
associado com a linha DI.
Pino usado como saída de dado.
Bit de controle da direção do pino
associado com a linha DO.
Pino usado como linha do clock.
Bit de controle da direção do pino
associado com a linha SCK.
I.9 OpenSWSPI
A função OpenSWSPI configura os pinos I/O para serem usados como comunicação
SPI, implementada em software.
Sintaxe:
OpenSWSPI ( )
Exemplo:
OpenSWSPI ( ); //Configura os pinos I/O.
71
I.10 WriteSWSPI e putcSWSPI
A função WriteSWSPI ou putcSWSPI envia um único byte para o barramento SPI
implementado em software e retorna o byte de dado que foi lido. Essas funções podem ser
usadas tanto para leitura como para escrita de dados.
Sintaxe:
dado_recebido = WriteSWSPI ( dado_enviado )
dado_recebido = putcSWSPI ( dado_enviado )
Onde:
• dado_enviado: valor do tipo unsigned char.
• dado_recebido: valor do tipo unsigned char.
Exemplo:
char end = 0x10;
char resposta;
resposta = putcSWSPI ( end );
I.11 ClearCSSWSPI
A função ClearCSSWSPI limpa o pino Chip Select ( CS ).
Sintaxe:
ClearCSSWSPI ( )
Exemplo:
ClearCSSWSPI ( ); //Limpa o pino Chip Select.
I.12 SetCSSWSPI
A função SetCSSWSPI seta o pino Chip Select ( CS ).
Sintaxe:
SetCSSWSPI ( )
Exemplo:
SetCSSWSPI ( ); //Seta o pino Chip Select.
72
ANEXO I
ESQUEMÁTICO ELÉTRICO DO UNETETHERNET
(Fonte: http://www.basic4ever.com/tcpipchipeth.shtml)
73
74
75
76
Fonte: http://www.basic4ever.com/tcpipchipeth.shtml
77

Documentos relacionados