 | 6.
Mise en oeuvre |
 | 6.1.
Qu´est-ce qu´il faut ? |
Dans ce chapitre nous allons voir en pratique
et en détail comment réaliser le montage.
 | 6.1.1.
Électronique |
Pour la partie purement électronique,
rien de plus que ce que nous avons vu :
  Un
haut-parleur (4 à 16 ohms), une résistance de 150 ohms (plus ou moins, c´est
pour contrôler le volume sonore), un condensateur de 1 µF et un condensateur
de découplage de 10 ou 100 nF.
  Le
microprocesseur Microchip PIC 12F675 : se trouve chez tous les VPCistes pour pas cher
(moins de trois euros !).
  Une
alimentation 5 volts stabilisée (voir Meccano électronique :
AlimFixe).
  Une
plaquette d´essai sans soudure pour les tests, un Cimec
pour la fabrication.

Attention : dans
vos achats, ne vous trompez pas, il existe aussi des microP 12C675 (avec C à
la place du F) ; ne prenez surtout pas ceux-là, car il y a UNE seule différence,
mais de taille : on ne peut les écrire qu´une seule fois, on ne peut
donc plus les modifier ou réutiliser ! |
|
 | 6.1.2.
Programmateur de PIC |
Pour ma part, j´utilise le programmateur
PIC-01, que l´on trouve aussi chez tous les VPCistes (par exemple Gotronic)
pour 60 euros, avec le logiciel IC-prog qui nous servira pour l´écriture. [Erratum
Gotronic : pour ce programmateur, il faut une alimentation de 15 V d´au moins
500 mA (et non 50). Nous avons tous chez nous une telle alimentation.]
L´installation du logiciel ne devrait
pas poser de problèmes. Pour les bricoleurs, le programmateur peut aussi être
fabriqué, voir des schémas sur Internet. Le câble “série”
est fourni avec le programmateur.
Des programmateurs à installer
sur le port USB des PC (et non le port série, absent de beaucoup de portables modernes)
sont aussi proposés, nous reviendrons sur cette offre.
 | 6.1.3.
Le logiciel de programmation |
Le logiciel
MPLAB IDE est gratuit et disponible sur le site de Microchip, voir
sur cette page (le téléchargement se trouve en bas de page) ; l´installation
ne doit pas poser de problèmes non plus.
Si vous êtes familiers avec la langue
anglaise, flânez un peu sur le
site de Microchip, il y a des milliers de pages de documentations, applications, compléments,
une véritable mine d´or.
 | 6.2.
Les étapes de la mise en oeuvre |
Il y a fondamentalement quatre étapes
dans la réalisation de montages à microprocesseurs :
  Conception
de l´application, tant électronique que programme : nous n´examinerons
pas cette étape qui est hors de notre propos, et puis c´est déjà
fait ici.
  La
programmation : écriture du programme avec le logiciel MPLAB ; dans notre
cas, le programme existe, mais il cependant nécessaire de passer par cet outil pour
obtenir le fichier à écrire dans le microP.
Attention à l´ambiguïté
des termes : programmation est utilisé dans cette étape et aussi
dans la suivante, pour ma part je préfère garder “programmation”
pour écriture (réalisation) du programme, et “ écriture”
pour la copie du programme dans le microP.
  Ecriture
du microP : consiste simplement à écrire le fichier obtenu dans l´étape
précédente dans le microP avec le programmateur PIC-01.
  Réalisation
du montage et test.
Voyons les détails
 | 6.2.1.
Programmation |
La programmation consiste à construire
le programme, écrire les instructions. Le programme sous sa forme lisible (tel qu´utilisé
dans cette présentation) est dans des fichiers en suffixe .ASM (pour le programme)
et.INC (pour les fichiers ‘include´).
L´outil MPLAB permet de faire beaucoup
de choses, notamment des simulations, mais il sert surtout à contrôler le code
(les instructions) pour vérifier la syntaxe de votre programme.
Cela ne vous donnera jamais la totale
certitude que votre montage fonctionne, mais s´il reste des erreurs de programmation,
vous pouvez être certain qu´il ne fonctionnera pas !
En fin de programmation, on retrouve un
fichier avec le suffixe .HEX, que l´on utilisera à l´étape suivante
d´écriture dans le microP.
Vous pouvez sauter cette étape
car vous pouvez récupérer directement le fichier .HEX, mais je vous recommande
quand même de passer par là, vous comprendrez mieux les manipulations.
6.2.1.1.
Le processus de programmation : initialisation du projet
Pour commencer, il vous faut créer
quelque part votre répertoire du projet, dans lequel vous copiez les deux fichiers
« Klaxon_V1_0 .asm » et « Param_Std_v1_0 .inc ».
Lancez MPLAB, et on va créer le
projet.

Au départ, vous devez récupérer un écran de ce style :

Dans le menu « Project », on va utiliser « Project Wizard… »
pour créer le projet :

Ensuite, toujours par le bouton « suivant », d´abord le choix
du microprocesseur, dans notre cas 12F675 :

Puis le choix des outils ; normalement, vous devriez avoir cette proposition ci-dessous,
si ce n´est pas le cas regardez dans la liste déroulante.

Ensuite vous donnez un nom au projet (rouge) et choisissez le répertoire, c´est-à-dire
celui que vous avez créé tout au début (bleu) :

Et il vous propose d´ajouter les deux fichiers à votre projet : double-clic
sur chaque fichier, et ils apparaissent à droite :

À la fin, il vous propose un résumé où tout doit être bon,
et vous cliquez sur terminer.

Votre projet est maintenant créé, vous devez avoir cet écran :
6.2.1.2.
Modification du programme
Par double clic sur le nom du fichier
programme, vous ouvrez une fenêtre d´édition du texte :
Vous avez ici le programme en assembleur
tel que nous l´avons vu précédemment, avec :
  En
bleu les instructions,
  En
rouge, les paramètres et opérandes,
  En
vert les commentaires.
 |
PTI+ LES
LANGAGES INFORMATIQUES. — Il existe différents niveaux de langages
informatiques, du niveau le plus loin de la machine jusqu’au niveau du silicium
de la puce :
• Les “méta-langages”, en général spécifiques
à un domaine particulier comme les mathématiques, où les programmes
sont écrits dans un langage proche du nôtre.
• Les langages évolués, les plus fréquents, sont proches
de notre raisonnement, exemple : anciennement Cobol, Fortran, aujourd’hui
C, C++, Basic… Ces langages sont indépendants du matériel utilisé.
• L’assembleur : dans ce langage, les instructions sont celles réellement
effectuées par le microP, sauf qu’elles sont codifiées d’une
manière plus ou moins compréhensibles par un humain (qui comprendrait
l’anglais !). Un assembleur est spécifique du microprocesseur
(celui que nous utilisons ici ne pourra pas servir pour d’autres fabricants).
• Le langage machine. : c’est le niveau où le programme est finalement
exécuté, une suite de bits, qui n’ont de signification que pour
les circuits dans notre microP. |
|
|
Vous pouvez maintenant modifier le programme,
même si ce n´est pas recommandé pour l´instant.
6.2.1.3.
Contrôle du programme
Parmi les fonctions du logiciel, il n´y
en a qu´une seule qui nous intéresse pour l‘instant : la fonction
“make”, que vous déclenchez par F10, et qui :
  contrôle
votre programme,
  s´il
n´y a pas d´erreurs, génère le fichier .HEX nécessaire ultérieurement,
  sauvegarde
votre programme.
Vous voyez apparaître fugitivement
une fenêtre d´avancement, mais comme le programme est petit, elle est très
rapide ; cependant, si vous voyez du vert, c´est que cela doit être bon,
si vous voyez passer du rouge, il doit y avoir une erreur. Chez moi, c´est tellement
rapide que je n´arrive pas en faire une copie d´écran.
De toute façon, une nouvelle fenêtre
s´est ouverte, nommé « output », dans laquelle vous avez
le résultat. Si vous avez quelque chose comme ça ,
c´est mauvais :
“Error” vous indique l´erreur
et la ligne du programme où vous vous êtes plantés. Si vous avez ça
 ,
c´est bon :
6.2.1.4
Fermeture du programme
Comme tout logiciel, vous ferlez par clic
en haut à droite, et quand il vous demande de sauvegarder vous répondez bien
entendu OUI.
Pour revenir dans votre programme, vous
lancez MPLAB, et cette fois-ci dans le menu “Projet” vous choisissez “Open…”.
C´est à peu près tout
ce qu´il faut savoir sur MPLAB pour l´instant.
 | 6.2.2.
Ecriture du microP |
Le fichier .HEX
est le fichier de notre programme, mais cette fois-ci en langage machine. Nous allons maintenant
écrire le programme dans le microP. Il faut pour cela ouvrir le logiciel IC-Prog,
et nous allons avoir un écran qui ressemble à ça :
Le première fois que vous lancez
le logiciel, il est nécessaire de vérifier les paramètres généraux
, dans le menu “Settings”
et puis “Hardware” (ou par F3) :
Trois points sont à vérifier :
  Programmer :
indique le type de programmeur que vous utilisez ; pour le programmeur PIC-01, la valeur
JDM Programmer fonctionne bien.
  Ports :
indique sur quel port série le programmeur est connecté (sur quel port série
vous avez connecté le câble), en général Com1 ;
  Interface :
cochez la valeur Windows API, c´est celle qui fonctionne
le mieux de l´avis des spécialistes.
ATTENTION : je n´ai aucune
idée comment tout ceci fonctionnera avec la nouvelle version 2007 de Windows Vista,
je n´aurai ce nouveau système que dans deux semaines !
Passons maintenant à l´écriture
proprement dite. Pour commencer, il faut choisir le type de microP ,
un PIC 12F675 dans notre cas :
 |  |
Ensuite, il faut charger le fichier .HEX
créé à l´étape
précédente (ou chargé), par le menu “File” puis “Open
file” ou l´icône d´ouverture à gauche :
 |  |
Tout est maintenant prêt pour l´écriture
si vous avez l´écran suivant ...
Quelques explications :
la fenêtre haut contient le programme, en langage machine binaire ; c´est
assez incompréhensible, mais c´est strictement conforme au programme en assembleur.
 |  |
  Dans
la fenêtre bas, il y a un autre morceau de la mémoire du microP ; je
n´en ai pas encore parlé pour l´instant, mais en plus des registres
il existe une autre mémoire, qui a la particularité de ne pas s´effacer
quand on coupe le courant (c´est une EEPROM). Oubliez-la pour l´instant, on
l´utilisera dans le montage va-et-vient.
À droite de la fenêtre
, figurent certains paramètres
de l´écriture, que je vous recommande de contrôler :
  Oscillator :
IntOSC GP4 indique que nous utilisons l´oscillateur
interne de 4 MHz,
  Les
Fuses sont de vrais fusibles (!), que l´on peut
faire “griller” ; il ne doit il y avoir que le PWRT
de coché, sinon par exemple vous bloquez le microP et il sera impossible de le
réutiliser.
  En
bas vous avez Checksum qui est un peu un contrôle,
la valeur indiquée ici doit être la même que celle qui se trouve au
haut de l´écran de l´autre outil MPLAB IDE.
Il est temps maintenant d´insérer
le microP dans le support adéquat sur la carte, attention au sens, et puis de mettre
le courant.
Conseil : Les pattes de
circuits intégrés comme le microP sont un peu fragiles et risquent de plier.
Si vous prévoyez de réutiliser le microP pour d´autres expérimentations,
et donc de le démonter fréquemment pour passer de votre montage à
la carte du programmateur, il est préférable de le monter sur un support
“tulipe” 8 ou 16 broches. Le support tulipe est bien plus résistant
et supporte bien les montages-démontages. | |
Nous allons ensuite écrire dans
le microP, par le bouton “ éclair” !
 |  |
Le logiciel vous demande d´abord
confirmation :
 |  |
Ensuite, il commence par lire le contenu
pour retrouver le calibrage de l´horloge. Qu´est-ce que cela veut dire ?
J´ai indiqué que la vitesse du microprocesseur est précise à 1%,
mais il y a une condition : chaque microP est “calibré”, c´est-à-dire
qu´il y a une variable d´ajustement de la vitesse, spécifique à
chaque exemplaire, déterminé en usine. Avant écriture, le logiciel
lit cette valeur, pour pouvoir la réécrire avec le programme.
Il propose cependant de la modifier si
on le désire, ce que je ne recommande bien sur pas ! A titre de précaution,
notez la valeur, un jour suite à une fausse manœuvre vous risquez de l´effacer.
Vous avez donc le message suivant (OSCCAL
= oscillateur calibrage) :
Le logiciel a lu la valeur présente
dans le microP, ici 3430h, mais propose bêtement
d´utiliser la valeur du fichier .HEX ; la réponse est évidemment
non, il faut conserver la valeur existante.
Durant toute l´écriture,
vous avez la possibilité d´interrompre l´opération par “Cancel”,
mais ce n´est vraiment pas recommandé, il vaux mieux laisser courir jusqu´au
bout.
Remarque : on
peut écrire 100 000 fois dans ce microprocesseur, ce qui, si vous faites
20 tests par jour, permet de tester durant quinze ans — il y a de la marge.
A la fin, le logiciel vous informe du
succès de l´opération, car après l´écriture il relit
pour contrôle ; si vous n´avez pas ce message ,
il y a un problème :
Ça y est,
vous avez votre premier microprocesseur en état de marche !
Il ne reste plus qu´à le
tester sur la plaque d´essai ; si cela ne marche pas, vérifiez d´abord
l´électronique, l´alimentation et ensuite le processus d´écriture
avant de m´envoyer des e-mails vengeurs sur la liste Ptitrainmatique,
mais le montage doit fonctionner du premier coup !
Téléchargez en cliquant
ci-dessous les fichiers .ASM (à
gauche) et .INC (à droite). [D´autres docs sont ici.]
|