Vous êtes sur la page 1sur 57

KPMWE-10 Guia do Usurio

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

KIT DE DESENVOLVIMENTO KPMWE-01

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


1. LISTA DE ABREVIAES...............................................................................5 2. INTRODUO..................................................................................................6 3. PLACA PMWE-10.............................................................................................7 3.0 Conector para Placas de Expanso..........................................................................11 4. INTERFACES..................................................................................................12 4.0 Ethernet......................................................................................................................12 4.1 RS232..........................................................................................................................12 4.2 Conector ICSP............................................................................................................12 4.3 Pinos Analgicos e Digitais de E/S............................................................................12 4.4 ZIGBEE......................................................................................................................12 5. ESPECIFICAES PMWE-10........................................................................13 6. CONECTANDO A PLACA PMWE-10 PELA PRIMEIRA VEZ........................14 6.0 Precaues...................................................................................................................14 6.1 Conectando a PMWE-10 com um Host Local sem DHCP.....................................14 6.2 Alterando o endereo IP sem usar o DHCP............................................................18 6.3 Usando o DHCP.........................................................................................................27 7. DIMENSES DA PMWE-10............................................................................28 8. ESQUEMAS....................................................................................................29 9. CONFIGURAO DO PIC18F8720...............................................................33 10. APNDICE A . CONFIGURANDO O WINDOWS XP COM IP FIXO...........39 11. APNDICE B.................................................................................................40 3

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


12. APNDICE C. O SERVIDOR HTTP MICROCHIP........................................41 13. APNDICE D. ENVIANDO E RECEBENDO MENSAGENS SMS ATRAVS DO CELULAR SIEMENS C55 (MODO PDU).....................................................47 14. APNDICE E. DISPLAY DE LCD.................................................................53 15. APNDICE F. CABO SERIAL CELULAR....................................................54 16. APNDICE G. CABO SERIAL PROGRAMAO.......................................54 17. APNDICE H. DIFERENAS PARA PROGRAMAR O PIC18F8720 E O PIC18F8621........................................................................................................55 18. APNDICE I. TECLADO ..............................................................................56 19. APNDICE J. CABO DE REDE....................................................................57 20. APNDICE K. ALTERAES NA VERSO DESTE MANUAL..................57

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

1. Lista de Abreviaes
ARP Address Resolution Protocol CGI - Common Gateway Interface DHCP Dynamic Host Configuration Protocol LAN Local Area Network LED Light Emitting Diode FTP File Transfer Protocol HTTP - Hypertext Transfer Protocol ICMP Internet Control Message Protocol ICSP - In Circuit Serial Programmer MAC Medium Access Control MPFS Microchip File System PDU Packet Data Unit PMWE-10 Placa Microcontrolada com Wireless e Ethernet 10 Mbps RTOS Real Time Operating System SMS Short Message Service TCP/IP - Transmission Control Protocol/Internet Protocol UCP Unidade Central de Processamento UDP- User Data-Gram Protocol USART Universal Serial Asynchronous Receiver Transmitter

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

2. Introduo
Esta documentao refere-se ao kit com conectividade Ethernet/Internet KPMWE-10 verso 1.0 () .

Figura 1: Itens que compe o kit KPMWE-10

O kit contm os seguintes itens: 1. Placa PMWE-10 com conexo Ethernet/Internet, conector para mdulo ZIGBEE/XBEE e vrios perifricos. 2. Um cabo serial para a interface de programao da PMWE-10. 3. Uma interface de programao serial RS-232 para ICSP (In Circuit Serial Programmer) para gravao da memria Flash do microcontrolador contido na PMWE-10. Somente utilize uma interface serial RS232 verdadeira em seu PC. Conversores USB para serial provavelmente no funcionaro. S programe a PMWE-10 com ela alimentada e no inverta o cabo que vai da interface de 6

I N T R O D U O

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


programao para a PMWE-10. Maus procedimentos causaro danos ao microcontrolador. 4. Um cabo de rede crossover (10 Base T) para conectar a placa PMWE10 com um computador tipo PC. 5. Um CD-ROM contendo: a pilha TCP/IP Microchip modificada, vrias notas de aplicao, programa para gravao da memria Flash do microcontrolador PIC18F8722 presente na placa PMWE-10 e guia do usurio em formato PDF.

O compilador C MCC18 (verso estudante) e o ambiente de desenvolvimento MPLAB IDE so propriedades da Microchip. Eles devero ser baixados do site www.microchip.com . Os links esto disponveis no site www.2ei.com.br.

3. Placa PMWE-10
A PMWE-10 () uma placa microcontrolada (UCP PIC 18F8722) com interfaces Ethernet 10 Mbps e serial RS-232. Ela pode ser adicionada a qualquer rede Ethernet 10/100 Mbps. Ela fornecida com a pilha TCP/IP da Microchip modificada escrita na linguagem C e pode ser compilada pelo compilador Microchip PIC18 C . Aplicaes tpicas incluem servidor Web HTTP, conversor de interface RS 232 para Ethernet, conversor ZigBee para Ethernet, controle remoto via Web, etc. Voc pode armazenar suas pginas Web na memria FLASH do microcontrolador PIC18F8722 usando o cabo serial e interface de programao IP10 que acompanha o kit de desenvolvimento. Alm da pilha TCP/IP da Microchip, a 2EI fornece funes de enviar e receber mensagens SMS via celular atravs da interface serial. Para ver as pginas Web contidas no microcontrolador PIC 18F8722 num navegador Internet basta conectar o cabo crossover fornecido neste kit ao seu computador pessoal com a devida configurao.

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

Figura 2: Placa PMWE

Os principais componentes da PMWE-10 so: 1. MICROCONTROLADOR: PIC18F8722 (clock de 25MHz, 128K de memria Flash, 1024 bytes de memria EEPROM, 3936 bytes de memria RAM e 68 portas de I/O programveis das quais 16 podem ser configuradas como entradas analgicas de 10 bits) programado com a pilha TCP/IP Microchip modificada. A pilha TCP/IP fornecida como exemplo usa aproximadamente 30 Kwords bytes de memria Flash e 1233 bytes de memria RAM, assim h bastante rea de memria para aplicaes do usurio. Na pilha h exemplos de servidor HTTP, conexo TCP/IP, SMTP e envio e recepo de mensagens SMS. 2. CONTROLADOR ETHERNET: A PMWE-10 usa o controlador de Ethernet Realtek RTL8019AS (10Mbps) . 3. LEDs de indicao: 8

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


a. Vermelho: indica que a pilha TCP/IP est sendo executada. programvel pelo usurio. No software fornecido o mesmo pisca a cada 1 segundo. b. Amarelo: Indica que a conexo Ethernet est ativa (RJ-45). c. Verde: indica que a placa est transmitindo ou recebendo um pacote de dados (RJ-45). d. Vermelho: conectado a porta RA2 do microcontrolador. e. Vermelho: indicao da fonte de 5VDC ON. f. Vermelho: indicao da fonte 3,3VDC ON. 4. CHAVE PUSHBUTTON: serve para re-inicializao (RESET) do programa pois est conectada ao pino MCLR do microcontrolador. 5. CONECTOR RJ-45 (10 Base T): Prov conectividade Ethernet padro. 6. CONECTOR DB25 : Prov os sinais Tx, Rx e GND para transmisso serial assncrona proveniente do integrado ST232ABD, entrada dos acopladores pticos, sada dos rels.. (ver esquemas). 7. CONECTOR ICSP (In Circuit Serial Programming): Permite a placa PMWE-10 ser conectada a interface de programao para gravao da memria Flash do microcontrolador. 8. CONECTORES DE EXPANSO: Prov acesso a maior parte dos pinos do microcontrolador PIC18F8720. 9. CONECTOR para Teclado: Permite ligar um teclado de 4 linhas por 4 colunas. 10. CONECTOR para Display de LCD: Permite ligar um display de LCD no modo 4 bits de dados. 11. Alimentao dos reguladores de 5VDC e 3,3VDC. Deve ser feita usando uma fonte DC entre 9 a 12V. 12. REGULADOR 5VDC.. 13. REGULADOR 3,3VDC. 14. RELS. Permite a solda de trs (3) tipo HE3621. 15. BUZZER. Permite a solda de um sonoalarme. 16. ACOPLADORES PTICO. Permite a solda de trs (3) acopladores ptico tipo H11L1. 17. Potencimetro. Variao de nvel DC para entrada AN0 do microcontrolador. 18. RTC I2C. Permite a solda de um RTC tipo M41T00. 19. MEMRIA EEPROM I2C. Permite a solda de uma memria I2C 24AA512. 20. SENSOR DE TEMPERATURA I2C. Permite a solda do C.I TC74. 21. CHAVE PUSH-BUTTON. Conectada a porta RJ7 do microcontrolador. 22. CR2032. Permite a solda de um soquete para bateria tipo CR2032 que alimentar o RTC. 23. ZIGBEE. Permite a solda do mdulo XBEE da MAXSTREAM. Este mdulo est ligado na USART2 do microcontrolador j com ajuste de nveis para 3,3VDC. 24. MAX232. Ajuste de nveis para USART1. 9

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


A placa PMWE-10 projetada para executar a pilha TCP/IP fornercida pela Microchip com pequenas modificaes. So caractersticas da pilha TCP/IP fornecida pela Microchip: o Inclui MAC, IP, ARP, ICMP, TCP, UDP, HTTP, FTP, DHCP e MPFS. o Suporte a sockets para protocolos TCP e UDP. o Suporte para compiladores Microchip C18 e Hi Tech PICC18. o Suporte para LCD. o RTOS Independente. o Software modular. A 2EI introduziu no exemplo fornecido com a PMWE: Suporte para conexo TCP/IP. Suporte para SMTP. Suporte para Agent SNMP (em implantao). Suporte para LED, rel e chave push-button. Envio e leitura de mensagem SMS. Suporte para teclado. Suporte para o mdulo XBEE e XBEE PRO da MaxStream.

o o o o o o o

10

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

3.0 Conector para Placas de Expanso


A PMWE-10 possui dois conectores de 2X14 pinos (J1 e J2). Eles contm a maioria das portas de E/S da CPU PIC18F8722. Os pinos so os seguintes: Conector de Expanso J1 Pino Nome 1 RC4 2 RC3 3 RC2 4 RJ7 5 RJ6 6 RJ5 7 RJ4 8 RC7 9 RC6 10 RC0 11 RC1 12 RA4 13 RA5 14 VSS 15 RA0 16 RA1 17 RA2 18 RA3 19 RF0 20 RF1 21 RH4 22 RH5 23 RH6 24 RH7 25 RF2 26 RF3 27 RF4 28 RF5 Conector de Expanso J2 Pino Nome 1 RF7 2 RF6 3 MCLR 4 RG4 5 RG2 6 RG3 7 RG0 8 RG1 9 RH2 10 RH3 11 RH0 12 RH1 13 +5V 14 +5V 15 RJ0 16 TERRA 17 RJ2 18 RJ1 19 RB0 20 RJ3 21 RB2 22 RB1 23 RB4 24 RB3 25 RB6 26 RB5 27 RC5 28 RB7

11

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

4. Interfaces
4.0 Ethernet
A PMWE-10 possue uma porta Ethernet 10Mbps. O conector RJ-45 atende os requisitos da IEEE 802.3 e requisitos mecnicos FCC. O conector RJ45 possui dois LEDs. O LED amarelo para indicao de link e o LED verde para indicao de atividade de envio ou recepo de dados.

4.1 RS232
A PMWE-10 possui uma interface USART. Os sinais USART so disponveis via conector DB25 (ver esquemas).

4.2 Conector ICSP


A PMWE-10 tem um conector ICSP (In Circuit Serial Programming ) . Este conector possibilita o microcontrolador PIC 18F8722 ser programado e o software carregado ser depurado (caso esteja se usando o ICD).

4.3 Pinos Analgicos e Digitais de E/S


A placa PMWE-10 possui 52 pinos disponveis para uso como entradas ou sadas. Entradas e sadas digitais podem esto na faixa de 0 a 5V. Entradas so tolerantes a 3V e as sadas podem ser tolerantes a 3V adicionado-se um resistor em srie (assumindo que as entradas de 3V possuem diodos clamping). A PMWE-10 pode ser configurada para ter entre um a dezesseis canais analgicos. Cada canal tem resoluo de 10 bits. Consulte o manual do microcontrolador PIC 18F8722 para maiores detalhes.

4.4 ZIGBEE
A placa PMWE-10 possui conector para receber o mdulo XBEE ou XBEE pr da MAXSTREAM. Neste caso, necessrio a fonte de 3,3VDC assim como os circuitos de correo de nvel de sinal.

12

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


5. Especificaes PMWE-10
Item Temperatura de operao Temperatura de armazenamento Tenso DC de alimentao Tpica corrente de operao a 20MHz (Vdd=5V) Smbolo Top Tst Vdd Idd Mnima Tpica 0 -65 4,75 5 80 Mxima Unidade 70 C 140 C 5,25 V mA

Pinos de I/O Item Tenso de entrada TTL nvel lgico baixo Tenso de entrada Schmitt Trigger nvel lgico baixo Tenso de entrada TTL nvel lgico alto Tenso de entrada Schmitt Trigger nvel lgico alto Tenso de sada nvel lgico baixo Tenso de sada nvel lgico baixo Carga capacitiva Smbol o VIL VIL VIH VIH VOL VOH CIO IOL=8,5mA IOH=4,3mA 4,3 50 Condio Min. 0 0 2,05 4 Tp. Mx. Unidade 0,75 V 1 5 5 0,6 V V V V V pF

Para maiores detalhes sobre os pinos do PIC18F8720 consulte o respectivo DataSheet.

13

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

6. Conectando a Placa PMWE-10 pela Primeira Vez


6.0 Precaues
A placa PMWE-10 fornecida com seu kit foi projetada para demonstrar as possibilidades de uso de rede Ethernet ou Internet com o microcontrolador PIC18F8720 da Microchip. Como em qualquer sistema experimental, contudo, algumas precaues devem ser tomadas antes de qualquer novo desenvolvimento. Sempre que um novo hardware ou software adicionado a um sistema em rede, sempre aconselhvel criar uma rede de testes separada da LAN (Local Area Network) de uso cotidiano. Isto permite testar o novo sistema em um ambiente controlado e minimizar as possibilidades de interferncia na rede de um novo sistema. As maiores fontes de interferncia so: ENDEREAMENTO. Cada dispositivo na rede deve ter um nico endereo IP. Se o protocolo DHCP (Dynamic Host Configuration Protocol) for usado, a PMWE-10 automaticamente ser configurada com um endereo IP. Um endereo fixo deve ser fornecido se o protocolo DHCP no for usado. TRFEGO. Enquanto o controlador Ethernet filtra mensagens no endereadas a PMWE-10, uma rede Ethernet com muitas mensagens broadcast pode carregar demasiadamente o microcontrolador PIC18F8722. SEGURANA DOS DADOS. Embora no seja comum que a adio de um dispositivo simples ir comprometer a integridade dos dados ou privacidade de informaes, sempre uma boa idia executar testes intensivamente com novos sistemas antes de adicion-los a uma rede.

6.1 Conectando a PMWE-10 com um Host Local sem DHCP


Embora a PMWE-10 esteja apta a trabalhar com endereo IP dinmico (DHCP), voc pode ter razes para no fazer isto. Alm do que mencionaremos, pode haver outras razes para isto: Voc pode no ter uma rede Ethernet disponvel para testes. Sua rede no faz uso do protocolo DHCP, de modo que a placa PMWE10 deve ser configurada com um endereo IP antes de ser conectada a rede. Seu administrador de rede proibe voc de colocar a PMWE-10 na rede para testes. 14

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


A PMWE-10 pode se comunicar diretamente com um computador pessoal quando ambos estiverem configurados corretamente. Esta configurao conhecida como sistema host local. Um sistema para ser um host local deve possuir os seguintes requisitos bsicos: Um computador com interface Ethernet com conector RJ-45. Sistema operando com pilha TCP/IP. Qualquer navegador Internet suportando protocolo HTTP 1.0 ou superior. A placa PMWE-10 vem configurada de fbrica com endereo IP 10.0.0.101 e mscara de rede 255.255.255.0. Nesta configurao o protocolo DHCP no est habilitado. Nesta configurao deve-se usar um cabo crossover (incluso no kit) para interligao da placa PMWE-10 com um computador pessoal. Para muitos desenvolvedores de sistemas esta opo a mais indicada para acessar pginas Web que esto gravadas na memria Flash do microcontrolador PIC18F8722. Na Figura 4 temos o sistema montado. Siga as seguintes etapas para montar o sistema:

Figura 3: Conexo entre a PMWE e um computador Host usando cabo crossove

1. Energize a placa PMWE-10 atravs de um dos seguintes modos: Conecte uma fonte entre 9VDC a 12VDC no conector J11. 15

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


Energize a placa com 5VDC no conector de expanso pinos (5VDC nos pinos 13 e 14 do conector J2 e GND no pino 16 do conector J2). Verifique que o LED D4 est ON. Verifique que o LED D3 (vermelho) na PMWE-10 pisca a cada intervalo de 1 segundo. Conecte o cabo crossover entre a PMWE-10 e a placa de rede Ethernet do computador que contm o navegador Web. Configure o computador do seguinte modo: Endereo IP: 10.0.0.X (aonde X deve ser diferente de 1) Mscara de rede: 255.255.255.0

2. 3. 4. 5.

O apndice A contm informaes de como configurar o Sistema Operacional Windows XP para endereo IP e mscara de rede.

6. No computador, navegador Web, na barra de endereos digite http://10.0.0.1 e tecle <ENTER>. 7. A pgina Web semelhante a Figura 4 dever ser carregada na tela de seu computador.

Figura 4 Pgina Web PMWE-10

16

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

Os seguintes recursos podem ser verificados (dependendo dos componentes soldados e configurao da pilha: Varie o potencimetro R25 verificando que o valor do Pot1 tambm varia na pgina do seu navegador Web. No navegador Web, clique no boto ALTERNA LEDA2 verificando que o estado (ligado e desligado) do LEDA2 (vermelho) varia na placa. Aperte a chave push-button SW2 e verifique que o estado da Chave (ligada ou desligada) varia na pgina do navegador Web tambm.

17

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

6.2 Alterando o endereo IP sem usar o DHCP


A 2EI possui endereo MAC prprio de acordo com o Organizationally Unique Identifier (OUI) do IEEE. Os octetos da Microchip (00.04.A3) devero ser substitudos pelos octetos da 2EI (00.16.A9). Esta alterao dever ser feita no arquivo StackTsk.h , nas linhas 283 a 288. #define MY_DEFAULT_MAC_BYTE1 (0x00) #define MY_DEFAULT_MAC_BYTE2 (0x16) #define MY_DEFAULT_MAC_BYTE3 (0xA9) Continuam como esto na placa, conforme etiqueta adesiva: #define MY_DEFAULT_MAC_BYTE4 (0x??) #define MY_DEFAULT_MAC_BYTE5 (0x??) #define MY_DEFAULT_MAC_BYTE6 (0x??)

Para mudar o endereo IP da placa PMWE-10 deve-se fazer o uso do cabo de programao que acompanha o kit de desenvolvimento. Os seguintes procedimentos devem ser executados para fazer a mudana do endereo IP da PMWE-10.

1. Instalando e Executando o MPLAB IDE aconselhvel aceitar o nome das pastas sugeridas nos programas de instalao. Embora os arquivos sejam instalados corretamente quando voc selecionar outros destinos, eles podem no estar disponveis para o seu ambiente de desenvolvimento se voc decidir criar um novo projeto usando a pilha TCP/IP.

i.

O primeiro passo criar um projeto e uma rea de trabalho no sistema de ambiente integrado MPLAB IDE. Um projeto contm os arquivos necessrios para construir uma aplicao (cdigos fontes, etc.). Uma rea de trabalho contm um ou mais projetos e informaes dos dispositivos selecionados, ferramentas de depurao, localizao das janelas abertas e outras configuraes IDE. O MPLAB IDE contm um Project Wizard para ajudar a criar novos projetos. Utilizaremos projetos j prontos. Copie a pasta 18

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


Pilhas\PMWE10\v1.24 (ou superior) que se encontra no CD para o disco rgido do seu computador. Verifique que a pasta Pilhas\PMWE10\v1.24 contm uma pasta Source que contm as pastas WebPages e SmallWebPages.

ii.

Arquivos copiados do CD so somente de leitura; voc necessitar trocar os atributos dos arquivos que necessitem ser editados. iii. iv. v. vi. Instale o ambiente de desenvolvimento MPLAB IDE. Instale o compilador MCC18. Execute o programa MPLAB IDE. Verifique a seleo de linguagens no aplicativo MPLAB IDE . Na barra de menu selecione Project\Set Language Tool Locations. Na janela Set language Tool Locations selecione opo Microchip C18 Toolsuite (clique em +). Clique no + de Executables. Clique no + de Default Search Paths & Directories. Verifique: Executables i. MPASM Assembler (mpasmwin.exe) c:\Arquivos de programas\MPLAB IDE\MCHIP_Tools\ mpasmwin.exe ii. MPLAB C18 C Compiler (mcc18.exe) c:\mcc18\bin\c18demo.exe iii. MPLINK Object Linker (mplink.exe) c:\mcc18\bin\mplink.exe Default Search Path & Directories i. Output Directory, $(BINDIR) ii. Intermediate s Directory,$(TMPDIR) iii. Include Search Path,$(INCDIR) iv. Library Search path,$(LIBDIR) c:\mcc18\lib v. Linker_Script Search Path,$(LKDIR) c:\mcc18\lib No MPLAB IDE, selecione na barra de menu Project\Open . Selecione o projeto MpNICPG.pjt da pasta Stack_2EI do seu disco rgido. No MPLAB IDE, selecione na barra de menu View\Project. Em Linker Script selecione 18f8720.lkr (c:\mcc18\lkr). V ao menu Project e selecione Build All. O projeto ser compilado e linkado. Um novo arquivo mpnicpg.hex est pronto para ser transferido para a PMWE-10.

vii.

viii. ix.

O nome do projeto desta aplicao MpNICPG.pjt. Ele usa NIC e memria de programa interna do microcontrolador para armazenamento do Web Site. 19

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


2. Alterando o Endereo IP e Mscara de Rede Abra o arquivo StackTsk.h usando o comando da barra de menu File\Open. As definies abaixo contm o endereo IP: #define MY_DEFAULT_IP_ADDR_BYTE1 (10) #define MY_DEFAULT_IP_ADDR_BYTE2 (10) #define MY_DEFAULT_IP_ADDR_BYTE3 (5) #define MY_DEFAULT_IP_ADDR_BYTE4 (15) Obs: significa endereo IP 10.10.5.15 #define MY_DEFAULT_MASK_BYTE (0xff) #define MY_DEFAULT_MASK_BYTE (0xff) #define MY_DEFAULT_MASK_BYTE (0xff) #define MY_DEFAULT_MASK_BYTE (0x00) Obs: significa mscara 255.255.255.0 #define MY_DEFAULT_MAC_BYTE1 (0x00) #define MY_DEFAULT_MAC_BYTE2 (0x16) #define MY_DEFAULT_MAC_BYTE3 (0xa9) #define MY_DEFAULT_MAC_BYTE4 (0x00) #define MY_DEFAULT_MAC_BYTE5 (0x00) #define MY_DEFAULT_MAC_BYTE6 (0x00) Significa endereo MAC: 00.16.a9.00.00.00 Os endereos MAC de cada placa devem ser diferentes uns dos outros.

Faa as modificaes que julgar necessrio e compile o projeto novamente. O novo arquivo mpnicpg.hex gerado conter as modificaes que voc efetuou. 2. Instalando e Executando o Programa IC-Prog 1.05D (Somente para PIC18F8720 e PIC18F8621) O programa IC-Prog um programador de prottipos desenvolvido por Bonny Gizen (www.ic-prog.com). Para instalar o IC-Prog siga os seguintes passos: 1. Copie a pasta ICPROG que se encontra no CD para o disco rgido do seu computador. 2. Execute o programa ICPROG a partir do disco rgido do seu computador. Selecione a serial em que voc colocar o cabo de programao na janela Hardware settings. O programador 20

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


selecionado deve ser JDM Programmer. Se voc estiver usando o Windows XP ou NT selecione Windows API, caso contrrio selecione Direct IO. A opo Retardar I/O pode estar com o valor mnimo. Caso a programao da placa no tenha sido efetuada corretamente selecione um valor progressivamente maior de Retardar I/O at que a programao ocorra sem erros.

A interface de programao de custo muito baixo, mas no capaz de verificar se a programao foi feita de forma correta. Caso o led D3 no fique piscando imediatamente aps voltar a chave de programao para a posio de operao, indica que o programa no foi gravado corretamente. 3. Na barra de menu selecione Settings\Options. Clique na aba Language. Selecione a linguagem Portuguese. 4. Na barra de menu selecione Configurao\Opes. Clique na aba Programando. A opo Verifique depois da programao no deve estar selecionada. 5. Na barra de menu selecione Configurao\Opes. Clique na aba Diversos. Em Processo Prioritrio selecione Alto. 6. No aplicativo ICPROG, na barra de menus, selecione Configurao\ Dispositivo\Microchip PIC\PIC18F8720. 7. Na barra de menus, selecione Arquivo\Abrir e carregue o arquivo HEX mpniccpg que se encontra na pasta C:\Stack_E2I\Source. 8. No programa IC-Prog, os registradores de configurao devem estar carregados com os seguintes valores: Config1 - 0x2200 Config2 - 0x0004 Config3 - 0x0183 Config4 - 0x0081 Config5 - 0xC0FF Config6 - 0xE0FF Config7 - 0x40FF Valor ID - 0x0600 9. Alimente a placa PMWE-10 com 5 volts. 10. Conecte o cabo de programao na sada serial de seu computador e na placa PMWE-10. 11. Na interface de programao pressione a chave de modo que ela habilite a programao do microcontrolador da PMWE-10. ( - Cursor 21

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


da chave posio de programar , - Cursor da chave posio de no programar) 12. Na barra de menu selecione Comando e depois Programar Tudo. O LED da interface de programao dever ficar ligado. 13. Espere a finalizao da programao. 14. Pressione a chave de programao de modo que ela libere ao sinal de RESET do microcontrolador. 15. Execute os procedimentos do item 7.2.

22

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


3. Instalando o Programador WINPIC (PIC18F8722) Instale o programa WinPicSetup que se encontra na pasta WinPIC do CDROM. Substitua o arquivo devices pelo o que se encontra no CD-ROM na pasta WinPIC. O arquivo devices que se encontra no CDROM possui os parmetros para gravao do PIC18F8722. Configure o WinPIC de acordo com as Figuras 5 e 6.

Figura 5: Configurao1 - WINPIC

Figura 6: Configurao2 - WINPIC

23

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


V no menu Arquivo , opo Abrir, e carregue o arquivo mpnicpg.hex que se encontra na pasta Pilhas\PMWE10\v1.24\Source. Selecione a aba mensagens. Verifique na Figura 7 que WriteBuffers=32 words, caso isto no acontea, consulte a documentao do WINPIC. Uma das alternativas para resolver este problema executar o WINPIC atravs da linha de comando winpic /device=xxxx. Se no conseguir resolver o problema entre em contato com franklin_souza@uol.com.br.

Figura 7: Configurao3 - WINPIC

Verifique na Interface de Programao as chaves RESET e CK/DAD devem estar pressionadas, ou seja, em baixo. Clique no boto Programar Dispositivo. A programao deve ocorrer sem nenhum erro, conforme fa Figura 8.

24

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

Figura 8: Configurao4 - WINPIC

Para execuo do programa as chaves da Interface de Programao RESET e CK/DAD no devem estar pressionadas. Caso ocorram erros durante a programao, sugiro que o programa WinPIC seja executado no modo de compatibilidade Windows 2000, conforme a Figura 9.

Figura 9: Configurao 5 - WINPIC

25

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

26

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


4. Modificando as Pginas Web 1. Faa as modificaes necessrias na pgina INDEX.HTML ou em outras pginas .HTML que se encontram na pasta C:\Stack2EI\Source\WebPages usando um editor de textos. Voc deve ter conhecimentos em HTML para modificar estas pginas ou criar novas pginas Web usando aplicativos como o Microsoft FrontPage. 2. Na pasta C:\PIC18F\Stack2EI\Source execute o comando mpfs /c webpages MPFSImg.c (ou simplesmente execute o arquivo batch imagem.bat) para gerar um novo arquivo .C que contm as imagens das novas pginas geradas. 3. No programa MPLAB IDE , selecione a opo Project\Build All para gerar um novo arquivo ,mpniccpg.hex. 4. utilize o programa IC-Prog e o cabo de programao para gravar o novo arquivo mpniccpg .hex que contm as novas pginas Web.

No esquea de verificar a posio do cabo que interliga a interface de programao com a placa PMWE-10. A etiqueta .INT indica que o conector deve ser colocado na interface de programao pino 1. A etiqueta .PMWE10 significa que o conector deve ser colocado na placa PMWE-10

6.3 Usando o DHCP


Para uso de endereo IP dinmico, ou seja, uso do protocolo DHCP necessrio incluir a macro definio STACK_USE_DHCP nas Build Options de cada arquivo (Apndice B). Siga os mesmos procedimentos do item 5.2 para gravao da memria Flash do microcontrolador PIC18F8720. Para saber o endereo IP dinmico necessrio perguntar ao seu administrador de rede ou usar um display de LCD adicionando a macro definio USE_LCD nos arquivos que constituem o projeto.

27

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

7. Dimenses da PMWE-10

Figura 10: Dimenses da Placa PMWE

As dimenses esto em milsimos de polegada de modo que em centmetros so : 130 (5130) X 72(2840) mm.

28

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

8. Esquemas

Figura 11: Esquema Microcontrolador

29

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

Figura 12: Esquema Ethernet

30

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

Figura 13: Esquema Perifricos 1

31

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

Figura 14: Esquema Perifricos 2

32

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


9. Configurao do PIC18F8720
A configurao do PIC18F8722 encontra-se no arquivo websrvr.c da pilha exemplo. Para maiores detalhes consulte o manual do microcontrolador PIC18F8722. As tabelas a seguir auxiliam configurao do PIC18F8720.
Tabela 1 Bits de Configurao PIC18F8720
300001h 300002h 300003h 300004h 300005h 300006h 300008h 300009h 30000Ah 30000Bh 30000Ch 30000Dh 3FFFFEh 3FFFFFh CONFIG1H CONFIG2L CONFIG2H Bit7 Bit6 Bit5 OSCEN CP5 WRT5 WRTC EBTR5 DEV0 DEV8 Bit4 CP4 WRT4 EBTR4 REV4 DEV7 Bit3 BORV1 WDTPS2 CP3 WRT3 EBTR3 REV3 DEV6 Bit2 FOSC2 BORV0 WDTPS1 LPV CP2 WRT2 EBTR2 REV2 DEV5 Bit1 FOSC1 BODEN WDTPS 0 PM1 CP1 WRT1 EBTR1 REV1 DEV4 Bit0 FOSC0 PWRTEN WDTEN PM0 CCP2MX STVREN CP0 WRT0 EBTR0 REV0 DEV3 Padro 0010 0111 0000 1111 0000 1111 1000 0011 0000 0001 1000 0101 1111 1111 1100 0000 1111 1111 1110 0000 1111 1111 0100 0000 Tab. Tab.

CONFIG3L WAIT CONFIG3H CONFIG4L DEBUG CONFIG5L CP7 CP6 CONFIG5H CPD CPB CONFIG6L WRT7 WRT6 CONFIG6H WRTD WRTB CONFIG7L EBTR7 EBTR6 CONFIG7H EBTRB DEVID1 DEV2 DEV1 DEVID2 DEV10 DEV9

33

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


Tabela 2 Bits de CONFIG1, CONFIG2 e CONFIG3 Nome do Bit OSCEN Words CONFIG1H Descrio Opo Low power System Clock (Timer1) Enable Bit 1 = Desabilitado 0 = Habilitado Seleo dos bits do oscilador 111 = RC com OSC2 configurado como RA6 110 = HS com PLL habilitado 101 = EC com OSC2 configurado como RA6 100 = RC com OSC2 configurado como dividido por 4 clock output 011 = RC 010 = HS 001 = XT 000 = LP Bits Brown-out reset Voltage 11 = VBOR para 2,0V 10 = VBOR para 2,7V 01 = VBOR para 4,2V 00 = VBOR para 4,5V Bit Brown-out Reset Enable 1 = Habilitado 0 = Desabilitado Bit Power-up Timer Enable 1 = Desabilitado 0 = Habilitado Bits WatchDog Postscaler Select 111 = 1:128 110 = 1:64 101 = 1:32 100 = 1:16 011 = 1:8 010 = 1:4 001 = 1:2 000 = 1:1 Bit Watchdog Timer Enable 1 = Habilitado 0 = Desabilitado Bit External Bus Data Wait Enable 1 = Seleo indisponvel 0 = Seleo determinada pelos bits WAIT1:WAIT0 do registrador MEMCOM Bits Processor Mode Select 11 = microcontrolador 10 = Microprocessador 01 = Microprocessador com modo Boot Block 00 = Microcontrolador extendido

FOSC2:FOSC0

CONFIG1H

BORV1:BORV0

CONFIG2L

BOREN

CONFIG2L

PWRTEN

CONFIG2L

WDTPS2:WDTPS0

CONFIG2H

WDTEN

CONFIG2H

WAIT

CONFIG3L

PM1:PM0

CONFIG3L

34

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


Tabela 3 Bits de CONFIG3, CONFIG4 e CONFIG5 Nome do Bit T10SCMX3 CCPMX Words CONFIG3H CONFIG3H Descrio No impl. 18F8720 Bit MUXCCP2 1 = Entrada/sada CCP2 multiplexada com RC1 0 = Entrada/sada CCP2 multiplexada com RB3 Bit background Debugger Enable 1 = Desabilitado 0 = Habilitado Bit Low Voltage Programming enable 1 = Habilitado 0 = Desabilitado Bit Stack Overflow/Underflow Reset Enable 1 = Stack causar RESET 0 = Stack no causar RESET Bits Code Protection (Block 0) 1 = Cdigo de memria no protegido 0 = Cdigo de memria protegido Bits Code Protection (Block 1) 1 = Cdigo de memria no protegido 0 = Cdigo de memria protegido Bits Code Protection (Block 2) 1 = Cdigo de memria no protegido 0 = Cdigo de memria protegido Bits Code Protection (Block 3) 1 = Cdigo de memria no protegido 0 = Cdigo de memria protegido Bits Code Protection (Block 4) 1 = Cdigo de memria no protegido 0 = Cdigo de memria protegido Bits Code Protection (Block 5) 1 = Cdigo de memria no protegido 0 = Cdigo de memria protegido Bits Code Protection (Block 6) 1 = Cdigo de memria no protegido 0 = Cdigo de memria protegido Bits Code Protection (Block 7) 1 = Cdigo de memria no protegido 0 = Cdigo de memria protegido

DEBUG LVP STVREN CP0 CP1 CP2 CP3 CP4 CP5 CP6 CP7

CONFIG4L CONFIG4L CONFIG4L CONFIG5L CONFIG5L CONFIG5L CONFIG5L CONFIG5L CONFIG5L CONFIG5L CONFIG5L

35

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


Tabela 4 Bits de CONFIG 5 e CONFIG6 Nome do Bit CPD CPB WRT0 WRT1 WRT2 WRT3 WRT4 WRT5 WRT6 WRT7 WRTD WRTB WRTC Words CONFIG5H CONFIG5H CONFIG6L CONFIG6L CONFIG6L CONFIG6L CONFIG6L CONFIG6L CONFIG6L CONFIG6L CONFIG6H CONFIG6H CONFIG6H Descrio Bits Code Protection (Data EEPROM) 1 = Cdigo Data EEPROM no protegido 0 = Cdigo Data EEPROM protegido Bits Code Protection (Bloco de Boot) 1 = Cdigo do bloco de boot no protegido 0 = Cdigo do bloco de boot protegido Bit Table Write Protection (Bloco 0) 1 = Cdigo de memria no protegido 0 = Cdigo de memria protegido Bit Table Write Protection (Bloco 1) 1 = Cdigo de memria no protegido 0 = Cdigo de memria protegido Bit Table Write Protection (Bloco 2) 1 = Cdigo de memria no protegido 0 = Cdigo de memria protegido Bit Table Write Protection (Bloco 3) 1 = Cdigo de memria no protegido 0 = Cdigo de memria protegido Bit Table Write Protection (Bloco 4) 1 = Cdigo de memria no protegido 0 = Cdigo de memria protegido Bit Table Write Protection (Bloco 5) 1 = Cdigo de memria no protegido 0 = Cdigo de memria protegido Bit Table Write Protection (Bloco 6) 1 = Cdigo de memria no protegido 0 = Cdigo de memria protegido Bit Table Write Protection (Bloco 7) 1 = Cdigo de memria no protegido 0 = Cdigo de memria protegido Bit Table Write Protection (Data EEPROM) 1 = Data EEPROM no protegido 0 = Data EEPROM protegido Bit Table Write Protection (Bloco de boot) 1 = Bloco de Boot no protegido 0 = Bloco de boot protegido Bit Table Write Protection (Registradores de configurao) 1 = Registradores de configurao no protegidos 0 = Registradores de configurao protegidos

36

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


Tabela 5 Bits de CONFIG7 e DEVID Nome do Bit EBTR0 Words Descrio CONFIG7L Bit Table Read Protection (Bloco 0)

1 = Cdigo de memria no protegido da tabela de leitura executada em outros blocos 0 = Cdigo de memria protegido da tabela de leitura executada em outros blocos EBTR1 CONFIG7L Bit Table Read Protection (Bloco 1) 1 = Cdigo de memria no protegido da tabela de leitura executada em outros blocos 0 = Cdigo de memria protegido da tabela de leitura executada em outros blocos EBTR2 CONFIG7L Bit Table Read Protection (Bloco 2) 1 = Cdigo de memria no protegido da tabela de leitura executada em outros blocos 0 = Cdigo de memria protegido da tabela de leitura executada em outros blocos EBTR3 CONFIG7L Bit Table Read Protection (Bloco 3) 1 = Cdigo de memria no protegido da tabela de leitura executada em outros blocos 0 = Cdigo de memria protegido da tabela de leitura executada em outros blocos EBTR4 CONFIG7L Bit Table Read Protection (Bloco 4) 1 = Cdigo de memria no protegido da tabela de leitura executada em outros blocos 0 = Cdigo de memria protegido da tabela de leitura executada em outros blocos EBTR5 CONFIG7L Bit Table Read Protection (Bloco 5) 1 = Cdigo de memria no protegido da tabela de leitura executada em outros blocos 0 = Cdigo de memria protegido da tabela de leitura executada em outros blocos EBTR6 CONFIG7L Bit Table Read Protection (Bloco 6) 1 = Cdigo de memria no protegido da tabela de leitura executada em outros blocos 0 = Cdigo de memria protegido da tabela de leitura executada em outros blocos EBTR7 CONFIG7L Bit Table Read Protection (Bloco 7) 1 = Cdigo de memria no protegido da tabela de leitura executada em outros blocos 0 = Cdigo de memria protegido da tabela de leitura executada em outros blocos EBTRB CONFIG7H Bit Table Read Protection (Bloco de boot) 1 = Cdigo de boot no protegido da tabela de leitura executada em outros blocos 0 = Cdigo de boot protegido da tabela de leitura executada em outros blocos Bits Device ID DEV10:DEV3 DEVID2 Estes bits so usados com os bits DEV2:DEV0 no registrador DEVID1 para identificar nmeros de componentes. Bits Device ID DEV2:DEV0 DEVID1 Estes bits so usados com os bits DEV10:DEV3 no registrador DEVID1 para identificar nmeros de componentes

REV4:REV0

DEVID1

Estes bits so usados para identificar revises de dispositivos

37

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


Tabela 6 Configurao gravada na entrega do kit

CONFIG1L CONFIG1H CONFIG2L CONFIG2H CONFIG3L CONFIG3H CONFIG4L CONFIG4H CONFIG5L CONFIG5H CONFIG6L CONFIG6H CONFIG7L CONFIG7H DEVID1 DEVID2

CONFIGURAO PIC18F8720 0x0000 0x0000 0x00 0x0010 0x0010 0x22 0x0000 0x0100 0x04 0x0000 0x0000 0x00 0x1000 0x0011 0x83 0x0000 0x0001 0x01 0x1000 0x0001 0x81 0x0000 0x0000 0x00 0x1111 0x1111 0xFF 0x1100 0x0000 0xC0 0x1111 0x1111 0xFF 0x1110 0x0000 0xE0 0x1111 0x1111 0xFF 0x0100 0x0000 0x40 0x0000 0x0000 0x00 0x0000 0x0110 0x06

0x2200 0x0004 0x0183 0x0081 0xC0FF 0xE0FF 0x40FF 0x0600

As principais configuraes da Pilha TCP/IP so: Oscilador: HS Watchdog Timer: Desabilitado Low Voltage Programming: Desabilitado

38

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


10.Apndice A . Configurando o Windows XP com IP fixo.
Nosso objetivo neste apndice configurar o computador com endereo IP 10.10.5.1 e mscara de rede 255.255.255.0. Para isso, siga os seguintes passos: 1. No menu Incio, selecione o Painel de Controle. 2. D um duplo clique em Conexes de Rede. 3. Clique com o boto direito do mouse em Local rea Connection e selecione propriedades. 4. Selecione Internet Protocol (TCP/IP) e clique no boto Propriedades. 5. Configure o endereo IP com 10.10.5.1 e Mscara de Rede com 255.255.255.0 conforme Figura 15. 6. Clique em OK.

Figura 15: Configurando IP e Mscara de Rede

39

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


11.Apndice B
Leia a AN833 da Microchip para verificar quais definies fazem parte da pilha TCP/IP. Alm das definies da Microchip foram introduzidas pela 2EI: EMAIL TCPIP SNMP USE_LCD TECLADO CELULAR_SMS

40

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

12.Apndice C. O Servidor HTTP Microchip


O Servidor HTTP da Microchip utilizado em nossa aplicao implementado como uma tarefa cooperativa que co-existe com a pilha Microchip TCP/IP e a aplicao principal do usurio. O Servidor implementado pelo arquivo HTTP.C , com a aplicao do usurio implementando duas chamadas de funes. O arquivo de demonstrao Websrvr.c dever ser usado como modelo de aplicao para criao das interfaces apropriadas. O Servidor HTTP da Microchip no implementa todas as funcionalidades dos documentos RFC, mas possui caractersticas mnimas para implementao em sistemas embarcados. O usurio pode facilmente adicionar novas funcionalidades como desejar. O Servidor HTTP incorpora as seguintes caractersticas: Suporta mltiplas conexes HTTP Contm Simple File System (MPFS) Suporta pginas Web localizadas na memria Flash do microcontrolador Pginas Web compatveis com o formato MPFS Suporta o mtodo HTTP GET (outros mtodos podem ser facilmente adicionados) Suporta Common Gateway Interface (CGI) para invocar funes pr-definidas pelos navegadores Suporta gerao de contedo dinmico de pginas Web Qualquer pgina Web a ser armazenada na PMWE-10 dever ser convertida para o formato MPFS. O Servidor HTTP usa o arquivo index.htm como a pgina Web inicial a ser chamada pelo navegador Web, atravs do comando http://X.X.X.X (aonde X.X.X.X o endereo IP da placa PMWE-10, seja esttico ou dinmico). Ento todas as aplicaes devem incluir um arquivo index.htm. Se necessrio, o nome desta pgina inicial pode ser trocada modificando a definio do compilador HTTP_DEFAULT_FILE_STRING no arquivo http.c. muito importante que nenhuma pgina Web contenha algum dos seguintes caracteres: ou < ou > # % {, }, [ ou ] | 41

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


\ ~ ^

Se uma das pginas Web contiver um destes caracteres, a correspondente pgina Web tornar-se- inacessvel. Nenhum aviso de ateno ser dado. O Servidor HTTP mantm uma lista de tipos de arquivos que ele suporta. Esta informao usada para avisar um navegador como interpretar um arquivo em particular, baseado na extenso do arquivo. Por padro, o Servidor HTTP Microchip suporta arquivos .txt, . htm, .gif, .cgi, .jpg, .cla e .wav. Se uma aplicao usa tipos de arquivos que no esto includos nesta lista, o usurio pode modificar a tabela httpFiles atravs da correspondente enumerao httpContents no arquivo http.c. O servidor HTTP pode alterar pginas dinamicamente e substituir informaes em tempo real, como status de entradas e sadas do microcontrolador. Para incorporar estas informaes em tempo real, o correspondente arquivo CGI (*.cgi) deve conter uma string %xx, aonde o caracter % serve como cdigo de controle e xx representa o identificador da varivel com dois dgitos.
<html> <meta http-equiv="refresh" content="3"> <body> <table> <tr> <td><b>Resultados</b></td> </tr> <tr> <td>Pot1:</td> <td>%02</td> </tr> <tr> <td>Pot2:</td> <td>%03</td> </tr> </table>

O identificador das variveis deve estar entre 00-99. Quando o Servidor HTTP encontra %xx, ele remove o caracter % e chama a funo HTTPGetVar. Se uma pgina requer o caracter % ele deve ser precedido por outro caracter %. Por exemplo, para mostrar 23% em uma pgina, coloque 23%%. A seguir explicaremos os parmetros da funo HTTPGetVar e exemplificaremos um pequeno cdigo contido nesta funo. HTTPGetVar(Byte var, Word ref, Byte *val) 42

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


var: ENTRADA . Identificador da varivel cujo valor para ser retornado. ref: ENTRADA. Usado para uma nica transferncia ou transferncia de vetores. val: SADA. Byte a ser transferido. Valor de retorno. Se o valor retornado for diferente de HTTP_END_OF_VAR, o servidor HTTP chamar a funo outra vez. Se o valor retornado for HTTP_END_OF_VAR o servidor HTTP no mais chamar a funo e assume que a varivel foi totalmente transferida. No exemplo a seguir, o parmetro val representa o estado da porta RB5. Note tambm que o retorno HTTP_END_OF_VAR indica que a varivel de um byte somente.

WORD HTTPGetVar(BYTE var, WORD ref, BYTE *val) { // identificao da varivel // referente a RB5 if ( var == 4 ) { // retornaremos 1 se RB5 estiver em HIGH, ou 0se LOW if ( PORTBbits.RB5 ) *val = 1; else *val = 0; // Reporta ao HTTP que este foi o ltimo byte do valor da varivel return HTTP_END_OF_VAR; } // Checa outras variveis

No exemplo a seguir mostraremos o nmero serial do Servidor Web. 43

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


WORD HTTPGetVar(BYTE var, WORD ref, BYTE *val) { // identificao da varivel // referente a RB5 // Se sim, segue o mesmo do Exemplo 1 ... ... // referente a varivel do nmero serial if ( var == 5) { // o nmero serial acaba com um caracter NULL // sendo a primeira chamada if (ref == HTTP_START_OF_VAR) { // Esta a primeira chamada. Inicializa ndice para n. srie ref = (BYTE)0; } // Agora acessamos byte no ndice corrente e salvamos no buffer *val = SerailNumberStr[(BYTE)ref]; // final da string if (*val==\0) { //Sim, ns estamos transferindo a string. //Retornamos com HTTP_END_OF_VAR para notificar o //servidor HTTP que ns estamos finalizando a transferncia //do valor return HTTP_END_OF_VAR; } // Ou caso contrrio, incrementa o ndice do vetor e retorna para o // servidor HTTP (BYTE)ref++; // desde que no o fim da string retorna ref return ref; else // checa por outras variveis

44

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


A pgina status.cgi sendo servida pelo servidor HTTP contm a seguinte linha HTML: .... <td>Serial Number=%05</td> .... O servidor HTTP ao processar este arquivo e encontrando a string %05 faz uma chamada HTTPGetVar(4, HTTP_START_OF_VAR, &value). A aplicao principal implementa HTTPGetVar como segue no Exemplo 2. Os Exemplos 1 e 2 mostraram em um navegador Web variveis que se encontram na memria do microcontrolador. O Exemplo 3 mostra como alterar valores em um navegador Web no cliente e transferi-los para a memria do microcontrolador. No navegador Web a pgina seguinte permite a alterao da varivel Nvel de Potncia, Limite de Potncia Inferior e Limite de Potncia Superior. Nvel de Potncia: Limite de Potncia Inferior: Limite de Potncia Superior:
Apply 1 5 9

<html>

<body><center> <FORM METHOD=Get action=Power.cgi> <table> <tr><td>Nvel de Potncia:</td> <td><input type=text size=2 maxlength=1 name=P></td></tr> <tr><td>Limite de Potncia Inferior:</td> <td><input type=text size=2 maxlength=1 name=L ></td></tr> <tr><td>Limite de Potncia Superior:</td> <td><input type=text size=2 maxlength=1 name=H ></td></tr> <tr><td><input type=submit name=B value=Apply></td></tr> </table> </body>
</html>

45

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


Esta pgina mostra uma tabela com o nome das variveis na primeira coluna e caixa de textos para entrada de valores na segunda coluna. A primeira linha, primeira coluna contm o nome da varivel Nvel de Potncia; a segunda coluna uma caixa de texto para mostrar e modificar o nvel de potncia. A ltima linha contm um boto Apply . Com esta pgina o usurio tem a habilidade de modificar o nvel de potncia na caixa de texto e enviar este valor ao microcontrolador na PMWE-10. Assuma que o usurio entra com os valores 5,1e 9respectivamente nas caixas de texto do nvel de potncia, limite inferior de potncia e limite superior de potncia . Em seguida clica no boto Apply. O navegador cria uma requisio HTTP com uma string Power.cgi?P=5&L=1&H=9 e envia ao servidor HTTP. O servidor chama a funo HTTPExecCmd com os seguintes parmetros: argv[0]=Power.cgi,argv[1]=P,argv[2]=5,argv[3]=L,argv[4]=1,argv[5]=H , argv[6]=9 argc=7 A aplicao principal dever implementar a funo HTTPExecCmd como segue. void HTTPExecCmd(BYTE *argv, BYTE argc) { BYTE i; // Varre todos os parmetros for (i=1; i < argc;i++) { // Identifica parmetros if ( argv[i][0] == P) // nvel de potncia? { PowerLevel = atoi(argv[++i]); } else if ( argv[i][0] == L ) // limite inferior de potncia? LowPowerSetting = atoi (argv[++i]); else if (argv[i][0] == H) // limite superior de potncia? HighPowerSeting = atoi (argv[++i]); } // se outra pgina para ser mostrada como resultado deste comando // copie o nome em maisculo para argv[0] // strcpy(argv[0], RESULTS.CGI); } Figura 16 Funo HTTPExecCmd alterando vaolores de variveis Neste exemplo, o nmero total de argumentos excede o padro de 5. Ento modifique o valor de MAX_HTTP_ARGS (localizado em http.c) em no menos de 7.

46

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


13.Apndice D. Enviando e recebendo mensagens SMS atravs do Celular Siemens C55 (Modo PDU).
Nosso exemplo consiste em enviar os caracteres .b01 para o telefone celular de nmero 91897299. .b01 significa que o microcontrolador dever colocar em nvel lgico alto a sada 1 da porta B. Os seguintes procedimentos devem ser seguidos: Apague todas as mensagens que se encontram em seu celular, sejam enviadas ou sejam recebidas. Envie atravs de seu celular uma mensagem contendo somente o caracter A para o nmero do celular desejado (em nosso caso 91897299). Conecte o cabo serial entre um computador PC e o telefone celullar Siemens C55. Faa uma conexo com o celular usando o HyperTerminal com configurao da conexo 9600, 8, N, 1. Execute o comando AT e verifique como resposta OK. Execute o comando AT + CMGL=4. Verifique que a resposta deve ser algo parecido com : +CMGL : 3,2,,13 0791559119103500B1000881199827990000AD0141 Significados: O algarismo 3 significa que foi uma mensagem enviada. O algarismo 2 significa a posio de memria em que se encontrava a mensagem. O algarismo 13 significa o comprimento da mensagem sem considerar o nmero do centro de servio de mensagens (559119103500), o comprimento do nmero do centro de servio de mensagens (07) e o tipo de endereamento (19). Os bytes da segunda linha significam:

47

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 07 Comprimento do nmero do centro de servios incluindo tipo de endereo 91 tipo de endereo 55 Nmero do centro de servio. O nmero do centro de 91 servio 551991015300. Osbserve que a codificao 19 559119103500. Voc pode verificar o nmero do centro de 10 servios atravs do comando AT + CSCA? 35 00 B1 Mensagem vai do telefone para a rede 00 TP-Message-Reference 08 Comprimento do nmero do telefone a ser enviada a mensagem 81 International Adress 19 Nmero do telefone 91897299. Verifique que a ordem da 98 codificao 19982799. 27 99 00 TP-Protocol-Identifier 00 TP-Data-Coding-Scheme AD TP-Validaty-Period 01 Comprimento da mensagem cacarcteres ASCII em hexadecimal 41 caracter A

Para enviar os caracteres .b01 para o telefone 91897299 devemos executar os seguintes comandos no Hyperterminal: AT + CMGC=? Mensagem recebida OK AT + CMGF = 0 Mensagem recebida OK AT+CMGS=16 (Obs: 16= 12 + tamanho da mensagem em octetos em decimal) Mensagem recebida > >0791559119103500B1000881199827990000AD042E312C06<ctrl -Z> Mensagem recebida +CMGS: 62 OK 48

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


Como transformar os caracteres .b01 do formato ASCII para o formato de octetos. . = 0x2E = (0x 0010 1110) b = 0x62 = (0x 0110 0010) 0 = 0x30 = (0x 0011 0000) 1 = 0X31 = (0X 0011 0001) Devemos somente levar em considerao os 7 bits menos significativos de cada caracter, de modo que temos: . = 0x2E = (0x 010 1110) b = 0x62 = (0x 110 0010) 0 = 0x30 = (0x 011 0000) 1 = 0X31 = (0X 011 0001) O primeiro octeto a ser transmitido formado pelo bit menos significativo do caracter b e os 7 bits do caracter . = 0x 0 0101110 = 0x2E . O segundo octeto a ser transmitido formado pelo dois bits menos significativo do caracter 0 e os 6 bits do caracter b que no foram usados no primeiro octeto = 0x 00 110 001 = 0x31. O terceiro octeto a ser transmitido formado pelo trs bits menos significativo do caracter 1 e os 5 bits do caracter 0 que no foram usados no segundo octeto = 0x 001 011 00 = 0x2C. O quarto octeto a ser transmitido formado pelos quatro bits do caracter 1 que no foram usados no terceiro octeto complementados com zeros a esquerda = 0x 0000 011 0 = 0x06. Em relao aos dados reais da mensagem temos que transmitir: 0x2E 0x31 0x2C 0x06. Obs: Se executarmos o comando AT+CMGF? e recebermos como resposta o parmetro 1 tambm, significa que o seu celular pode enviar uma mensagem no formato texto. Comando AT
AT+CMGF=1<enter>

Descrio
SMS em modo texto.

AT+CMGS="+4441793181022"<enter> <texto><ctrlZ>

A mensagem enviada para o nmero +4441793181022. Substitua o nemro +444... com seu prprio nmero.
Mensagem enviada com sucesso.

49

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

Exemplo 2

Mensagem a ser enviada: Tanque setor norte\r\n alarme ativo\r\n necessita manuteno Nmero de caracteres: 54 Nmero de bits = 54 * 7 = 378 bits Nmero de octetos na mensagem = 378/8= 47 octetos + 2 bits (complementa os ltimos 2 bits com zeros) Em relao aos dados reais da mensagem temos que enviar: F4 B0 3B 5E 2F 83 E6 65 FA 5B 0E 72 BF E5 F4 32 48 11 66 87 E5 ED 32 28 4C 4F DB DF 20 85 BB 3C 2E CF E7 69 7A 18 D4 0E BB EB F4 B2 7B 1C 7E 03

48 octetos

Obs: verifique a existncia de 48 octetos Os comandos a serem enviados ao modem devem ser: AT+CMGC=? AT+CMGF=0 AT+CMGS=60 (12 + nmero de octetos da mensagem em decimal) = (12 + 48)=60

Oct. Descrio 0 07 Comprimento do nmero do centro de servios incluindo tipo de endereo 1 91 tipo de endereo 2 55 Nmero do centro de servio. O nmero do centro de 3 91 servio 551991015300. Osbserve que a codificao 4 19 559119103500. Voc pode verificar o nmero do centro 5 10 de servios atravs do comando AT + CSCA? 6 35 7 00 1 B1 Mensagem vai do telefone para a rede 2 00 TP-Message-Reference 3 08 Comprimento do nmero do telefone a ser enviada a 50

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


4 5 6 7 8 9 10 11 12 1357 81 19 98 27 99 00 00 AD 36 mensagem International Adress Nmero do telefone 91897299. Verifique que a ordem da codificao 19982799.

TP-Protocol-Identifier TP-Data-Coding-Scheme TP-Validaty-Period Comprimento da mensagem em ASCII em HEXA Mensagem 74 2f f2 bf 43 e5 4c 0d 2e ba bb fb b1 83 5b e5 21 ed 4f 85 cf 18 eb 3e 3b e6 0e f4 66 32 db bb e7 d4 f4 7e 5e 65 72 72 8b 48 df 3c 69 15 b2 03

AT + CMGC=? Mensagem recebida OK AT + CMGF = 0 Mensagem recebida OK AT+CMGS=60 Mensagem recebida > >0791559119103500B1000881199827990000AD3674 2f f2 bf 43 e5 4c 0d 2e ba bb fb b1 83 5b e5 21 ed 4f 85 cf 18 eb 3e 3b e6 0e f4 66 32 db bb e7 d4 f4 7e 5e 65 72 72 8b 48 df 3c 69 15 b2 03<ctrl-Z> Mensagem recebida +CMGS: 62 OK A 2EI implementou uma funo denominada ler_mensagem_celular que capaz de setar portas do Microcontrolador PIC18F8720. A mensagem a ser enviada deve ser conforme exempo a seguir: Mensagem SMS : .a21 . - caracter de controle a porta do microcontrolador a ser programada 2 bit da porta a ser programada 1 estado da porta

Para enviar uma mensagem SMS deve-se usar a funo envia_SMS. As seguintes constantes de memria FLASH devem ser alteradas: ROM char MENSAGEM1[] ROM char AT_TAMANHO[] 51

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


ROM char AT_PDU[] Nossos testes foram feitos com um celular Siemens modelo C65 enviando a mensagem SMS e um celular Siemens modelo C55 recebendo a mensagem na PMWE-10, operadora CLARO.

52

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


14.Apndice E. DISPLAY DE LCD
Ligao do Display de LCD POWERTIP modelo PC 1602-F Pino 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Smbolo Vss Vdd Vo RS R/W E DB0 DB1 DB2 DB3 DB4 DB5 DB6 DB7 A K LCD POWERTIP modelo PC 1602-F Funo Porta Power supply (GND) GND Power Supply (+ 5V) +5VDC Contrast adjust GND Register select signal RG4 Data read / write RG3 Enable signal RG0 Data bus line Data bus line Data bus line Data bus line Data bus line RH0 Data bus line RH1 Data bus line RH2 Data bus line RH3 Power supply for LED B/L(+) +5 VDC Power supply for LED B/L (-) GND Conector

53

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

15.Apndice F. CABO SERIAL CELULAR

16.Apndice G. CABO SERIAL PROGRAMAO

Figura 17: Cabo Serial para IP10

54

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio


17.Apndice H. Diferenas para Programar o PIC18F8720 e o PIC18F8621
Diferenas no MPLAB IDE: 1. Header Files no menu View/Project: p18f8621.h 2. Linker Scripts no menu View/Project: 18f8621.lkr Diferenas no IC-PROG: 1. O dispositivo selecionado passa a ser o PIC18F8620. Quando usando o ICD da Mosaico no modo Debugger o arquivo de link deve ter a opo 18f8720i.lkr ou 18f8621i.lkr .

55

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

18.Apndice I. Teclado

Figura 18: Portas do Teclado

56

12/6/2006 04:42 2EI v1.0

KPMWE-10 Guia do Usurio

19.Apndice J. Cabo de Rede


Chanfro para baixo Verde Claro Verde Branco Azul Escuro Azul Claro Laranja Marrom Claro Marrom Branco Laranja Verde Claro Azul Escuro Azul Claro Verde Escuro Marrom Claro Marrom

20.Apndice K. Alteraes na verso deste Manual

57

12/6/2006 04:42 2EI v1.0

Vous aimerez peut-être aussi