 |
| 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 en vrac ici.]
|