Autor Tema: librerias asm para el enc28j60.con pic18Fxxxx  (Leído 22227 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: librerias asm para el enc28j60.con pic18Fxxxx
« Respuesta #30 en: 30 de Enero de 2011, 22:05:11 »
por fin he conseguido hacerlo funcionar. :-/ :-/ :-/ :-/ :-/

el fallo esta en lo que dice el mensage.que se ha intentado enviar un packet sin que se hubiera establecido el enlace.
asi que he intentado realizar la transmision cuando el ledA estubiera encendido.me acorde que esta condicion se produjo en el programa que realize para la
recepcion de packets.
asi que ya pude enviar un packet.por el momento no se como se hace para establecer el enlace.pero ya es facil aberiguarlo.
eso creo. :D
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: librerias asm para el enc28j60.con pic18Fxxxx
« Respuesta #31 en: 01 de Febrero de 2011, 20:49:59 »
sigo estudiando el sistema.y realmente no es necesario que el led link este encendido para realizar una transmision.todabia no se exactamente
el porque de la no transmision.pero si he comprobado que si no se espera a recivir un packet.se produce el error.y no se transmite el packet.
tampoco se si la espera de este evento tiene algo que ver.pero por el momento es la unica forma que tengo de poder enviar paquetes.

en el programa qu estoy realizando la llamada (call  EPK) es un programa que espera a recibir almenos un paquete.haciendo esto ya puedo enviar
paquetes.

en las lineas de abajo estan unos paquetes que he capturado del wireshark.en el se puede distinguir el paquete que he enviado desde el enc28j60
es la linea 7.he decidido enviar un packet broadcast(para todos los PCs de la red) el este estoy preguntando por la IP 192.168.1.43
y automaticamente se recive un paquete probeniente del PC con IP 192.168.1.43 con la mac de este.(packet 8)


1   0.000000   ZygateCo_xx:xx:xx   Broadcast   ARP   Who has 192.168.1.139?  Tell 192.168.1.1
2   5.643673   192.168.1.1   192.168.1.255   RIPv2   Response
3   9.156091   ZygateCo_xx:xx:xx   Broadcast   ARP   Who has 192.168.1.139?  Tell 192.168.1.1
4   9.643686   192.168.1.1   224.0.0.1   IGMP   V2 Membership Query, general
5   10.120142   192.168.1.110   239.255.255.250   IGMP   V2 Membership Report / Join group 239.255.255.250
6   10.120174   192.168.1.110   224.0.0.252   IGMP   V2 Membership Report / Join group 224.0.0.252
7   20.161841   Microchi_00:00:00   Broadcast   ARP   Who has 192.168.1.43?  Tell 192.168.1.110
8   20.161968   Billiont_xx:xx:xx   Microchi_00:00:00   ARP   192.168.1.43 is at 00:10:60:xx:xx:xx

supongo que este tipo de trama se utiliza para crear la tabla hash.que es una tabla que guarda cada PC con todas las IPs asignadas.
la signacion de las IPs se realiza por DHCP pero no se si el encargado de esto es el router.o cada PC.

en los paquetes que envie atras,asigne la IP 192.168.1.110 como prueva.
pero que pasaria si esa IP ya estubiera ocupada por otro PC?
pues recibiria un paquete de error como las lineas de abajo.aunque es un mensage del wireshark.de momento tendre que estudiar la forma de leer las tablas
hash o estudiar el funcionamiento del DHCP.

100   29.264303   Microchi_00:00:00   Broadcast   ARP   Who has 192.168.1.43?  Tell 192.168.1.110 (duplicate use of 192.168.1.110 detected!)
101   29.264432   Billiont_xx:xx:xx   Microchi_00:00:00   ARP   192.168.1.43 is at 00:10:60:xx:xx:xx (duplicate use of 192.168.1.110 detected!)


tambien incluyo el .rar para quien quiera estudiarlo
« Última modificación: 03 de Febrero de 2011, 17:16:32 por groundman »
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: librerias asm para el enc28j60.con pic18Fxxxx
« Respuesta #32 en: 15 de Febrero de 2011, 20:17:23 »
desde my ultima respuesta han pasado un par de semanas.pero a mi se me antoja un par de meses.estoy estudiando el protocolo UDP.
y aunque lo entiendo perfectamente.no logro enviar una trama a mi gusto.
es decir.puedo enviar una trama sin ningun error.pero el mensage lo tengo limitado a 520 bytes.almenos es la maxima cantidad que puedo enviar de bytes.
a traves de la red.
he visto en el wireshark que por la red circulan tramas con el protocolo UDP.y con muchos bytes.mas de los que puedo enviar con el enc28j60

creo que tiene que haber una opcion en algun registro del enc28j60 que me esta limitando el envio de bytes atraves de la red.
haber si encuentro el fallo.porque me esta volviendo loco.

y cuando lo tenga ya posteare el resultado.
« Última modificación: 16 de Febrero de 2011, 18:49:33 por groundman »
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: librerias asm para el enc28j60.con pic18Fxxxx
« Respuesta #33 en: 17 de Febrero de 2011, 19:45:17 »
bueno.he descubierto que aunque programe ETXND con un valor superior de 520 Bytes.cuando doy la orden de transmitir.
el valor sigue siendo de 520 Bytes.no se porque se esta limitando la transmision de mas bytes.

yo pensaba que programar ETXND era para indicar el final del packet.pero por lo que veo parece que el enc28j60 controla el valor de este registro.
estoy casi seguro que esta limitacion es algun tipo de error durante la transmision.el cual no me deja transmitir mas de 520 Bytes.
ya que no veo en el datasheet la opcion de limitar la transmision de bytes.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado dolphin_96

  • PIC12
  • **
  • Mensajes: 73
    • Ezkybel Electronics
Re: librerias asm para el enc28j60.con pic18Fxxxx
« Respuesta #34 en: 24 de Febrero de 2011, 13:41:26 »
Hola groundman que casualidad haberte encontrado, fijate que estoy investigando la comunicacion para un pic por ethernet y me gustaria que me dieras una orientacion

me conviene mas utilizar un pic con el modulo integrado o utilizar el chip enc28j60?


saludos


pd. ahora se para que querias el programa en visual basic, deja revisar mas este tema y ver que se me ocurre para lo del programa
Visiten: www.xbot.es/ezkybel tengo tutoriales para pics con visual basic...:)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: librerias asm para el enc28j60.con pic18Fxxxx
« Respuesta #35 en: 24 de Febrero de 2011, 19:23:26 »
  :D aveces estamos muy escondidos.
yo estoy estudiando el enc28j60 porque es una forma muy directa de estudiar su funcionamiento.y porque compre el modulo en ebay. :mrgreen:

tambien porque queria usar los 18f2550 que tengo guardados.nunca habia estudiado la serie 18Fxxxx y con el enc28j60 vi una manera de empezar.
ademas los pic con ethernet creo que estan en la serie 24F   y no creo que fuera buena idea pegar un salto tan grande.

ya he profundizado bastante en el enc28j60.y cada vez aprendo mas de el.la verdad que es un poco complicado hasta que se va asimilando el funcionamiento de
la red.

yo te recomendaria que empezaras por abajo.y estudiaras este controlador por separado del microcontrolador.ya que pudiera pasar que tubieras algun error
y no supieras si el fallo es del pic o del controlador ethernet integrado.

pero tienes un gran problema si quieres aprender de lo que etoy estudiando.ya que muchas de las cosas que estoy realizando lo estoy aprendiendo de
realizar practicas.y hay poca informacion al respecto.la mayoria de los datos que estan en la red esta hecho en C

yo lo estoy haciendo en asm.asi que si no estas familiarizado con este lenguaje.te recomiendo que busques otros medios.
si por el contrario.quieres aprender desde cero el uso de este controlador de ethernet.te ayudare en todo lo que pueda.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado dolphin_96

  • PIC12
  • **
  • Mensajes: 73
    • Ezkybel Electronics
Re: librerias asm para el enc28j60.con pic18Fxxxx
« Respuesta #36 en: 24 de Febrero de 2011, 19:33:00 »
De echo acabo de pedir unos samples a microchip, pedi 2 enc28j60 y 2 pic18f66j60, y de echo estuve 2 años utilizando el ensamblador hasta hace apenas 1 año estoy manejando el c por lo que no creo que se me dificulte en lo de la programacion ,mas bien se me dificultaria en los conceptos, es decir en entender que es la mac, la ip, etc, etc, y es en lo que veo que eres un experto, por lo cual aceptare tu ayuda.

tengo varias ideas para implementarlo una vez que lo logre.

saludos y estamos en contacto
Visiten: www.xbot.es/ezkybel tengo tutoriales para pics con visual basic...:)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: librerias asm para el enc28j60.con pic18Fxxxx
« Respuesta #37 en: 24 de Febrero de 2011, 20:43:34 »
yo nunca he pedido ningun componente.creo que habia que enviar un proyecto y rellenar un formulario.mucho trapicheo.
ademas por unos 10€ mas o menos en ebay los hay ya montados con el conector,bobinas y demas.

al final aunque te regalen el chip,te va a costar mas caro. y sin contar los fallos que podemos tener al realizar la placa.
la verdad no veo rentable hacer el circuito.por lo menos para un solo circuito.

aunque tengo el circuito de ebay.todabia no lo he usado.veo mas practico usar el proteus.se ven fallos que no se verian en la parte fisica.

respecto a los protocolos.es lo que estoy estudiando ahora.
al principio me parecia algo muy dificil.pero solo hay que seguir unas normas.ademas conque estudies el UDP,TCP/IP. ya tienes para enviar/recivir datos.

luego puedes estudiar HTML,MAIL etc.
te recomiendo que cuando termines con la parte fisica del enc28j60.captures tramas de tu red con el wireshark y asimiles la informacion que transporta.
es muy util entender lo que hacen los PCs entre si.y por las mac sabes que aparato habla con quien.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado dolphin_96

  • PIC12
  • **
  • Mensajes: 73
    • Ezkybel Electronics
Re: librerias asm para el enc28j60.con pic18Fxxxx
« Respuesta #38 en: 25 de Febrero de 2011, 11:25:40 »
ok gracias entonces voy a ponerme a estudiar los protocolos y la placa la voy a hacer, pues ya tengo todos lo componentes solo me faltaba el chip, por eso decidi pedirlo, en mi caso no es problema por ya he pedido varias veces micros y solo debo pedir lo que necesito, por lo pronto en lo que llega voy haciendo el y pcb y mulando en proteus, yo tambien prefiero hacer lo que mas se pueda en el simulador, y finlmente lo pruebo en real.

saludosy gracias por tu ayuda
Visiten: www.xbot.es/ezkybel tengo tutoriales para pics con visual basic...:)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: librerias asm para el enc28j60.con pic18Fxxxx
« Respuesta #39 en: 27 de Febrero de 2011, 19:41:10 »
 :-/ :-/ :-/ :-/ :-/ por fin he consegudo solucionar el problema que tenia con lo de no poder enviar trans de mas de 520 bytes.se donde esta el fallo
pero no entiendo el porque de este.

como ya sabemos.el buffer ethernet tiene 8192 bytes.y podemos dividirlo en dos partes.una para recepcion y otra para transmision.
para configurar esto hay que introducir el valor de las direcciones en unos registros.

en mi caso configure el buffer de recepcion entre las direcciones 0 y 6499d
y el buffer de transmision entre 6500d y 8191d.
se supone que esto se puede hacer. ¡pues parece que no se puede hacer!.almenos por la experiencia que estoy teniendo en el simulador.

el registro ETXND. es un registro que tenemos que programar con la direccion del ultimo byte del packet que se va a transmitir.
pues aunque programe este registro con cualquier valor que queramos.parece ser que al realizar la transmision,el valor siempre cambia a 1B6Ch.

no se porque pasa esto.pero esta relacionado con el fallo que me ha estado sucediendo.
despues de muchas pruevas de configuracion de los registros de inicializacion del enc28j60.empeze a provar con el cambio de las zonas de
los buffer de recepcion y de transmision.
y he llegado a comprovar que hay una direccion donde apartir de la cual el enc28j60 no transmite la trama.por eso he dispuesto la zona de transmision
un byte antes del fallo.

esta es la configuracion de los registros:

ERXST=0000h   ETXST=1582h
ERXND=1581h   ETXNDL= no definido.ya que este valor depende del ultimo byte del packet a enviar.en mi caso es el valor 1990h

ya que el packet que estoy enviando es de 1037 bytes.la direccion 1582h contendra el byte de control 00h.+1037=1990h

antes dige que aunque programara ETXST con el valor 1990h.esto no me servia de mucho.ya que al darle a transmitir esta valor cambiaba automaticamente
al valor 1B6Ch.
pues haciendo unas sumas.no si sera coincidencia.pero todo va encajando.

en la inicializacion del enc28j60.se configuro este para enviar tramas ethernet de un maximo de 1500 bytes.que es la cantidad maxima de bytes
que permite el protocomo IP.
asi que 1B6Ch-1582h=1514d -7 Bytes del vector de estado.y algun Byte que que se me scapa a la compresion.se acerca bastante a los bytes maximos
de un packet.
aunque creo que los 1500 bytes eran el tamaño maximo de DATA.

por el momento ya puedo transmitir y recivir datos comodamente.aunque estoy seguro de algo mas se tiene que complicar.
me queda mucho por estudiar todo el funcionamiento de este controlador ethernet.pero de momento iremos pasito a pasito.

adjunto los ultimos avances.de momento desordenado.funcionando solo la transmision.
esta preparado para enviar una trama de 1037 bytes.atrabes de la red.con protocolo udp y IP terminada en 111.para que podais identificarla.
aunque es posible que en el wireshark la identifiqueis como error.por no coincidir algun puerto.
« Última modificación: 27 de Febrero de 2011, 19:50:18 por groundman »
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: librerias asm para el enc28j60.con pic18Fxxxx
« Respuesta #40 en: 21 de Marzo de 2011, 20:20:20 »
aqui estoy de nuevo.llevo casi un mes sin publicar respuestas respecto a este tema.resulta que he tenido que poner al dia mis conocimientos de VBASIC.
que no son muchos.
estoy practicando con unos programas que disponen de un chat entre dos ordenadores en la misma red con protocolo UDP.

los programas funcionan a la perfeccion.asi que he capturado las tramas de uno de ellos y los he reproducido con el simulador del enc28j60.
pero no funciona.
resulta que los datos que envio con el programa de vbasic son de 51bytes.
y con el simulador enc28j60 envia 1514bytes.aunque realmente despues del campo de datos,todos son ceros.

he configurado el registro ETXND para definir el final de la trama a enviar.incluso he limitado los bytes a enviar en el registro MAMXFL.
pero me sigue enviando la trama demasiado larga.

empiezo a pensar que el proteus tiene algun tipo de error.me parece que voy a tener que empezar con la parte fisica.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado akira_ve

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 342
Re: librerias asm para el enc28j60.con pic18Fxxxx
« Respuesta #41 en: 25 de Junio de 2011, 17:19:29 »
hola amigo Groundman veo que has adelantado mucho que cuentas como va todo he estado muy ocupado por eso no he entrado a ver que hay dee nuevo en el foro
Si conocemos bien lo que tenemos y lo sabemos usar......se haran hasta cosas que e veces aseguran son imposibles

Venezuela

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: librerias asm para el enc28j60.con pic18Fxxxx
« Respuesta #42 en: 25 de Junio de 2011, 17:44:17 »
hola akira_ve.por el momento he tenido que parar el proyecto.ha entrado el verano y uno viene reventado del trabajo.tengo el coco que no le entra mas datos. :D
haber si me arranco de nuevo y pruevo los nuevos modulos que asquiri.ya que el que compre primero empezo a calentarse en exceso y no funcionaba.
supongo que fue porque no le puse resistencias en unos pin determinados.y me lo habre cargado.
espero poner pronto mis avances. saludos.
Montando mi primera impresora 3D (Raprep Prusa i3)

Desconectado akira_ve

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 342
Re: librerias asm para el enc28j60.con pic18Fxxxx
« Respuesta #43 en: 25 de Junio de 2011, 17:55:36 »
que bien amigo quiero ponerme en eso contigo ahora me puedes enviar lo que has hecho pa ayudarte???
Si conocemos bien lo que tenemos y lo sabemos usar......se haran hasta cosas que e veces aseguran son imposibles

Venezuela

Desconectado groundman

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1870
    • www.ingeniopic.com
Re: librerias asm para el enc28j60.con pic18Fxxxx
« Respuesta #44 en: 26 de Junio de 2011, 08:20:41 »
voy a ponerlo en orden.y montarle las resistencias al circuito.
Montando mi primera impresora 3D (Raprep Prusa i3)


 

anything