Tests autour de la carte PICDEM.net 2

Merci à ceux qui m’ont contacté ! Cependant je ne peux vous répondre car le mail que j’ai reçu ne contient pas votre adresse e-mail. Merci de me contacter directement à : olivier at innovelectronique point fr. Merci d’avance

Suite à une présentation sur « Comment relier son système embarqué à ethernet : application avec les microcontrolleurs PIC », nous avons décider d’acheter une carte de test PICDEM.net 2 afin de réaliser des tests. Nous avons donc commandé chez Farnell cette carte. Je détaille dans cet article la prise en main de ce kit. Je poursuivrais par des articles sur l’utilisation du compilateur C18 sur cette carte pour (je l’espère) arriver à réaliser mon propre serveur web embarqué.

Déballage de la carte et premier test

La carte est livrée avec un firmware implanté (Pile TCP-IP et pages web). Il suffit de l’alimenter pour la faire fonctionner. Au démarrage de la carte, un message sur l’afficheur LCD nous indique que la version de la pile TCP/IP est 3.75 et que l’adresse IP de la carte est 10.XX.XX.XX (je ne me souviens plus de l’adresse exacte). Je connecte un câble ethernet au connecteur RJ45 de gauche (liaison direct au PIC18F97J60) sur un réseau disposant d’un serveur DHCP. Normalement la carte doit récupérer une adresse IP, en fait rien ne se passe. Le client DHCP n’est visiblement pas activé car la carte est bien reconnu en 10Mb/s half-duplex au niveau du commutateur. En lisant le document PDF de présentation de la carte PICDEM.net, je vois que la configuration se fait par la voie série (19200, 8N1, pas de contrôle de flux). Je lance donc hyperterminal avec cette configuration puis j’appuie et laisse enfoncé le bouton RB3 de la carte puis j’appuie et relâche le bouton MCLR. Je vois apparaitre dans hyperterminal un menu de configuration. J’active alors le client DHCP puis relance la carte. Cette fois-ci, l’écran LCD affiche bien une adresse IP distribué par le serveur DHCP. Nous pouvons à présent nous connecter à l’adresse IP de la carte pour tester les pages web embarquées.

La page d’accueil permet de visualiser ou modifier:

  • l’état de deux dels (D6 et D7 sur la carte, LED2 et LED1 sur la page web)
  • d’envoyer un texte qui s’affiche sur l’afficheur LCD
  • de renvoyer la valeur du potentiomètre relié à l’entrée AN2 (mode 10 bits donc valeur de 0 à 1023)
  • de surveiller l’état des quatre boutons poussoirs de la carte

Le kit fonctionne correctement. Nous allons pouvoir commencer à développer sur cette carte.

Pré-requis matériel et logiciels

En plus de la carte PICDEM.net 2, il faut un programmateur de PIC pour envoyer les programmes. Je testerai la programmation avec un PICKit2 et un PICKit3 (voire un programmateur ICD U-40). Il faut aussi un bloc secteur qui délivre une tension continue comprise entre 7V et 15V. Du coté logiciel, je repars de zéro en réinstallant tous les logiciels fourni par Microchip. J’ai donc la configuration suivante:

  • L’environnement de développement MPLAB v8.30
  • Le compilateur C C18 v3.31 en version « académique »
  • La pile TCP-IP de chez Microchip en v5.00
  • Le logiciel de programmation PICKIT2 v2.61

Enfin j’ai imprimé les documentations suivantes:

  • Le guide de l’utilisateur PICDEM.net 2
  • La note d’application AN833 sur la pile TCP/IP de Microchip
  • Le guide de démarrage du compilateur C C18
  • et sans doute d’autres qui viendront s’ajouter suivant les besoins.

Installation et configuration des logiciels, mise à jour de la carte PICDEM.net 2 avec la pile TCP/IP v5.00

Je précise que je travaille dans un environnement Windows XP SP3 sur un ordinateur portable. J’installe dans l’ordre:

  • MPLab IDE
  • Compilateur C C18
  • la pile TCP/IP v5.00
  • le logiciel PICKIT2

Rien à dire de spécial, tout s’installe normalement. J’ai juste choisi de ne pas installer le compilateur Hi-Tech C à la fin de l’installation de MPLAB.

Je connecte mon PICKIT2 à la carte PICDEM.net 2 par l’intermédiaire du connecteur RJ12. Je lance le programmateur et il me reconnait le PIC18F97J60 de la carte. Je vais donc pouvoir programmer la carte.

Je commence par lire le « Getting started » de la pile TCP/IP….oui c’est long !

Je note au fur et à mesure de ma lecture:

  • utilisation d’une carte PICDEM.net 2 avec un PIC18F97J60 (donc pas une carte explorer 16)
  • Sur la carte PICDEM.net 2, il existe deux moyens de se connecter en ethernet: directement sur le PIC ou par l’intermédiaire du circuit spécialisé ENC28J60. Par défaut, c’est la connexion directe au PIC qui est activé donc il faut utiliser le connecteur ethernet de gauche. Il est rappelé que la pile TCP/IP décrite avec le kit PICDEM.net 2 est la 3.75 qui est obsolète. La version 5 la remplace et l’aide en ligne de la version 5 remplace celle de la 3.75.
  • Il faut ensuite ouvrir dans MPLAB le projet « TCPIP Demo App\TCPIP Demo App-C18 » et vérifier que le processeur utilisé est bien le 18F97J60 (menu Configure->Select Device).
  • La pile TCP/IP doit être configurée en fonction de vos besoins. MicroChip fournit un utilitaire graphique de configuration accessible par le menu Démarrer->Programmes->MicroChip->TCP/IP stack v5.00->TCP/IP Configuration Wizard. Ne rien toucher pour ce test sauf lorsqu’on arrive à la page concernant l’adresse MAC de la carte. Il faut transformer le nombre donné au dos de la carte en décimal en héxa afin de remplir les trois derniers champs de l’adresse MAC, les trois premiers étant toujours ceux de MicroChip (00:04:A3). Pour ma part le chiffre pour le connecteur ethernet de gauche est 31908 soit en hexa : 00:7C:A4. Je complète donc le champ « default MAC Address » avec 00:04:A3:00:7C:A4.
  • Je laisse ensuite tous les paramètres par défaut et termine l’assistant. La pile TCP/IP est alors configurée.
  • Je lance une compilation globale dans MPLAB avec le menu « Projet->Build All ». Tout se déroule correctement et sans erreur. Je choisis le programmateur par le menu « Programmer->Select Programmer->PicKit2 ». Le programmateur est réinitialisé et il trouve le PIC18F97J60. Je lance la programmation par « Programmer->Program ». A la fin de la programmation, le PIC est maintenu en reset. Il faut donc faire « Programmer->Realease from Reset ». Le pic se lance et l’afficheur LCD affiche « TCPStack v5.00 » et récupère une adresse IP par DHCP. Visiblement la mise à jour s’est déroulé correctement.
  • Je teste alors les pages web embarqués avec mon navigateur à l’adresse indiquée sur l’afficheur LCD. Là problème, les pages web n’ont pas été chargés dans l’eeprom externe. Effectivement j’ai été trop vite, il faut lire l’aide !!! En fait, il faut se connecter à l’adresse de la carte sur un sous répertoire « mpfsupload » pour « uploader » les pages web compilés. Dans mon cas cela donne « http://192.168.1.22/mpfsupload/ » puis envoyer le fichier « MPFSImg2.bin » disponible dans le répertoire de la pile TCP/IP. Ce fichier est une version « compilé » des pages web spécifique à MicroChip. Un lien apparait m’invitant à accéder à la page d’accueil. A ce moment là je vois la dernière version de la page d’accueil beaucoup plus fourni que celle de la version 3.75.
  • Le tutoriel « Getting Started » est fini ! Il faut maintenant se plonger dans la programmation.

Pour terminer j’ai fait quelques tests en désactivant des fonctionnalités de la pile TCP/IP pour libérer de la mémoire Flash. Dans le cas du tutorial précédent la mémoire flash et ram sont utilisées à 90% (le PIC18F à tout de même 64K de flash et 3K de ram). Après désélection de quelques modules j’arrive à 50%. Il faudra bien sur explorer plus en profondeur cette piste.

J’arrête pour le moment l’exploration de la pile TCP/IP pour me consacrer à l’apprentissage du compilateur C18 et de ces librairies. Je vais donc réaliser quelques programmes pour apprendre à me servir de ce nouveau PIC avec la carte PICDEM.net 2 (allumage des dels, lecture des boutons, lecture du potentiomètre et du capteur de température, utilisation de la voie série et pilotage de l’afficheur LCD, utilisation de l’eeprom externe).


Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.