Página 1 de 1

Ethernet - UDP - ENC28J60

MensagemEnviado: 20 Abr 2007 13:01
por luis fernando
Galera,

como conseguir que o PC envie e receba dados de um pic com um ENC28J60 a uma taxa de 10Mbits ??
alguém já conseguiu ???

MensagemEnviado: 20 Abr 2007 14:22
por zielpunkt
Vc não estaria se referindo à velocidade de transferencia máxima padrão para rede ethernet (10Mbps ou 100Mbps)? Se for isso, uma coisa é uma coisa, outra coisa, outra. A velocidade da transferencia de dados, seja qual for o meio, se utiliza da capacidade (velocidade) de processamento do MCU utilizado e não se condiciona simplesmente ao meio (ENC28J60) que o conecta à essa via (ethernet). Se é que eu entendi a sua questão...

Abço.

MensagemEnviado: 20 Abr 2007 17:07
por luis fernando
deixa eu ver se explico melhor onde está o problema:

eu estou com um DSPIC aki, o 30F4013, interligado ao barramento SPI do ENC28J60 a 10Mhz...
do outro lado, o PC, rodando um aplicativo UDP, onde eu envio um byte ao pic, e ele retorna 2 bytes do valor do A/D...
no PC, eu estou gerando um gráfico, estilo osciloscópio...
o problema ocorre, na velocidade de transmissao....
o PC nao consegue enviar pacotes menores do que 1mS...
e mesmo assim, tem ocasioes que o byte nao chega no pc, travando o sistema...
e pelas contas, 1mS o ENC28J60 + DSPIC deveria aguentar sossegado...

MensagemEnviado: 20 Abr 2007 20:04
por zielpunkt
Não sou grande conhecedor de protocolos de rede, mas me parece que o seu problema pode estar situado além da questão de velocidade. Penso assim porque, pelo que vc disse, os seus pacotes são muito pequenos e os sockets deveriam dar conta disso tranquilamente (em ambos os lados). Como voce usa, ao invéz de IP, o UDP, que têm como característica a não garantia de entrega do dado no destino, poderá estar tendo algum problema por ai também.

Poderia também reduzir um pouco a taxa de troca de dados (tempos entre envio e recebimento), a fim de permitir que o cliente (PC) possa tratá-los adequadamente. Seria interessante se pudesse monitorar esse tráfego, por meio algum aplicativo rodando no PC, como se faz em softwares tipo "Serial Port Monitor", facilitando assim na identificação do problema.

Bem, como disse, não tenho muito conhecimento no assunto, mas espero ter colaborado de alguma forma.

Abço.

MensagemEnviado: 21 Abr 2007 08:43
por kubiak
luis fernando,

Voce também deve lembrar que o Windows, no PC tem em sua base de tempo a menor unidade de 1ms.

No windows nada é garantido tendo um temp MENOR que 1ms...