Je souhaitais tester l'ENC28J60 depuis un bon moment. Voila qui est chose faite avec cette carte:
Carte ENC28J60

Le montage est basique : ENC28J60 + PIC18F4620 + EEPROM 25LC256 + SDCARD. Le tout est alimenté en 3V3 à cause de la SDCARD car l'ENC28J60 tolère le 5V sur ses pins d'I/O.



Hardware

Electriquement, le montage ne pose pas de problèmes, le câblage du composant est donné dans le datasheet. Par contre il faut correctement découpler le circuit (j'ai rajouté quelques capa CMS sous la carte car je perdais de temps en temps la connexion réseau).

Le régulateur utilisé est un LM317 (régulateur variable) regulateur3V3 Le rapport de résistance donne une tension de sortie de 3.333V. Un dissipateur thermique est à prévoir compte tenu de la consommation de l'ENC28J60 (180mA).


Le schéma de câblage basique de l'interface Ethernet que donne Microchip utilise des transformateurs d'isolements entre le composant et le connecteur. ENC28J60
J'utilise un connecteur RJ45 avec isolation magnétique (transfo d'isolement intégrés): c'est plus compact!
:w Attention aux brochages de ces connecteurs, il n'est pas identique d'un fabriquant à l'autre.

Le câblage de l'ENC28J60 peut se tester en connectant le montage sur un réseau Ethernet, le composant établi la connexion et allume la led sur la pin LEDA. Cette partie se passe de manière totalement hardware, pas besoin de soft.

L'EEPROM permet d'enregistrer des variables ou même les pages web, la stack TCPIP gère un petit Filsystem propriétaire (le MPFS) dans ce but.

Les transferts sur une SDCARD se font par bus SPI, une carte mémoire peut théoriquement remplacer l'EEPROM SPI!
Le système de fichier est à modifier car je pense pas que le MPFS fonctionne (une SDCARD accepte seulement le FAT32), ça peut même rendre la carte inutilisable si le bootsector est écrasé.

Software

J'ai fait mes essais la stack TCPIP Microchip 4.51. L'application note AN833 donne des infos de base sur la stack mais n'est pas à jour par rapport à la version 4.51! les 2 fichier à modifier pour exécuter correctement les exemples sont :

  • Hardwareprofile.h
    • Pour definir la carte utilisée : les I/Os, la fréquence du PIC, la PLL ...
  • TCPIPConfig.h
    • Pour choisir les services à inclurent dans le programme (TCP, UDP, ICMP, DNS, DHCP...)


Après cet ajustement du programme, le soft peut être chargé et lancé sur la carte.
A la connexion sur la carte, j'ai eu la bonne surprise de découvrir que le serveur HTTP gère l'ajax (ce qui le rend super pour une IHM :-) ).

Malheureusement, le 18F4620 ne possède pas assez de mémoire pour contenir tout les services Ethernet. Ceci ne le rend pas super pratique pour du test et du développement. Après ces premiers essais concluants, je vais en rester là avec cette carte et me tourner vers le PIC18F97J60 qui a une interface Ethernet intégrée et plus de mémoire!