A A A

Electronicfr.com

Home arrow Microcontroleurs et Ethernet 20.08.2008

Menu principal

Home
Robotique
Microcontroleurs et Ethernet
Microcontroleurs et USB
Systèmes embarqués
Proposer un circuit

Search

Google
Web
electronicfr


Microcontroleurs et Ethernet

Contruire un serveur web pour 30 euros avec un ENC28J60

Ecrit par Administrator, le 27-10-2007 11:44
Pages vues 2918    

Présentation

Le ENC28J60 est un controlleur Ethernet complet occupant la taille d'une puce. Il est facile à contrôler avec un microcontroleur muni d'un bus SPI. C'est un petit circuit de 28 broches disponible sous différents paquages dont le SPDIP pratique pour les amateurs.
Parce que la puce est plutôt nouvelle, il est difficile de trouver des informations pour la mettre en œuvre. J'essaie sur cette page de compiler différentes informations récupérées sur la toile et je propose deux prototypes.

 

Voici une photo de mon prototype, prêt à servir des pages web :) :


Le prototype

Dabord, je vous conseille de regarder le ENC28J60 data-sheet. La figure 2.4 (page 9) représente le schema d'application minimal.

 

Voici quelques carte d'expérimentation que j'ai trouvé sur le web.

 

 


La carte que je présente est compatible avec PICtail(TM) Daughter Board. Il est donc possible d'utiliser la pile TCP/IP Microchip en faisant peu de modification, mais j'utilise un microcontroleur PIC 18F4620 (or 18LF4620 pour fonctionner à 3.3V).

Première étape - Un circuit minimal (à 3.3V)


Cliquer pour agrandir l'image

Deuxième étape - Le circuit avec une interface serie et un système de mise à niveau des signaux (à base 74HCT08) pour fonctionner à 5V.


Cliquer pour agrandir l'image

Attention, je rappelle que ce sont des prototypes, il n'est pas assuré qu'ils fonctionnent correctement et des erreurs peuvent s'y être glissés.

Quelques astuces:

  • Il est difficile de trouver des résistances 50 Ohms/1%. J'ai utilisés deux résistances en série ( 47 and 2.7 Ohm) et les ai sélectionnées à l'ohmmètre.
  • Quelle ferrite utiliser? Une féritte à usage générale general avec une résistance de 60 Ohm à 100MHz est OK (c'est pour éviter les interférences, donc pour le prototype, ça importe peu).
  • Le transformateur Ethernet est un autre grand problème. Apparemment, les transformateur conçus pour le RTL8019 doivent être compatibles même si ce n'est pas optimal coté filtrage. J'utilise un P02-102-17C9, c'est un connecteur avec le transformateur intégré acheté chez Lextronic dans le 77)

Le logiciel

Microchip fourni un driver avec une pile IP qui inclue un serveur web. Les pages web sont stoquée sur un eeprom externe ou dans la mémoire du microcontroleur (ma solution). Le firmware est écrit en C (compatible avec le compilateur Microchip C18). Le code est gratuit, mais pas libre. Vous le trouverez ici
Comme je ne peux pas distribuer le code modifié, voici quelque indications pour vos prototypes.
  • Dans MPLAB, choisissez le projet mpnicpg.mcp pour utiliser la mémoire interne
  • Selectionner votre controleur( par exemple PIC 18F4620) dans le menu configure de MPLAB,
  • Changer le Linker Scripts pour votre controleur
  • Eventuellement changer les broches utilisée dans enc28j60.c (section DEFINITIONS ), n'oubliez pas de configurer TRIS aussi
  • Voir la configuration IP dans stack_task.h
  • Changer la fréquence du MPU dans compiler.h
  • Eventuellement changer le port de la SYSTEM LED dans MainDemo.c
  • Modifier les pages web. Generer le mpfs C file avec l'utilitaire mpfs (MPFS repertoire MPFSImg.c /c )
  • Voir HTTPExecCmd et HTTPGetVar
  • dans MainDemo.c pour contrôler les Entrées/sorties sur controleur.

Aide et discussions

Venez discuter sur le forum electronicfr.

 

Demo

Quand je branche mon prototype, vous pouvez voir ma demo on line. On line demo

Avertissement

  L'ENSEMBLE DES INFORMATIONS DE CE SITE EST FOURNI « EN L'ÉTAT » ET SANS GARANTIE SPÉCIFIQUE OU IMPLICITE, Y COMPRIS, ET C'EST UNE LISTE NON EXHAUSTIVE, LES GARANTIES IMPLICITES DE QUALITÉ COMMERCIALE OU D'ADÉQUATION À UN OBJECTIF PARTICULIER.

 

 

Thanks to Microchip for help
User comments Quote this article in website Print Save this to del.icio.us Related articles
 
 
TOP