Vérifications et
conditions initiales avant de connecter
le programmateur USB au PC :
Vérifiez
l'ensemble de vos soudures
avec
une loupe et n'hésitez pas à
utiliser un ohmmètre
pour détecter d'éventuels
courts-circuits
entre
les pistes ou pastilles, microcoupures,
etc...
Le
microcontrôleur 18F2550-I/SP
référencé
U1 doit être préalablement
programmé
et inséré dans son support
tulipe.
Téléchargement
du logiciel de Microchip chargé de gérer
le programmateur USB :
Systèmes
requis avec le logiciel de Microchip
nommé :
XP, VISTA* , SEVEN*,
* 10Mo
d'espace disque sur votre disque dur.
1
port USB de libre.
*
Vista, Seven ou 8 en version 32 ou 64 bits.
Téléchargement
de la dernière version du logiciel chargé
de gérer le programmateur
USB
Version
2.61 (Fichier
ZIP auto extractible - 30,1Mo)
Remarque
:
Dès qu'une mise
à jour
du logiciel sous Windows et du firmware
seront disponibles, vous pourrez les
télécharger depuis cette
page web ou
bien depuis le site de Microchip. A
suivre...
Installation
du logiciel de Microchip :
Décompressez
le fichier ZIP auto extractible dans
l'un des répertoires de votre
disque dur. Vous devez obtenir les fichiers
suivants :
La
présente version du logiciel
a
été développée
à partir de l'environnement Microsoft.NET
et nécessite de ce fait son installation
en premier.
Microsoft.NET
n'est
pas
installé sur votre PC :
Ouvrir le répertoire "dotnetfx".
Double-cliquez sur le fichier "dotnetfx.exe".
Attendez le fin de l'installation de
Microsoft.NET
Revenez dans le répertoire précédent
et double-cliquez sur 'PICkit2Setup.msi"
Attendez la fin de l'installation de
.
Microsoft.NET
est
installé
sur votre PC :
Double-cliquez sur "PICkit2Setup.msi"
Attendez la fin de l'installation de
.
Vous
devez obtenir désormais un icône
sur votre bureau ou dans le menu démarrer
comme ci-dessous :
Présentation
des principales fonctions du logiciel
de Microchip :
Connexion
du programmateur à votre PC :
Lorsque
vous lancez ,
le logiciel tente de communiquer avec
votre programmateur USB. De
la sorte, il est fortement conseillé
de connecter le programmateur USB à
votre PC
avant de lancer le logiciel.
Connectez
le programmateur de PIC USB à
votre PC au moyen d'un
cordon USB de type A/B.
Dès cet instant, la led ON
du programmateur s'illumine.
XP ou
VISTA ou
SEVEN ou détectent dans
un second temps la présence d'un nouveau périphérique et
installent automatiquement
le pilote USB correspondant.
Avant
de lancez le logiciel
attendez
que
l'installation automatique du pilote
USB de type HID (Human Interface
Device) soit achevée.
Cela peut demander plusieurs dizaines
de secondes...
Sous
XP, la détection
du programmateur
est indiquée ainsi :
Sous
VISTA, la détection du programmateur
est indiquée ainsi :
Sous
SEVEN et , la détection du programmateur
est indiquée ainsi:
puis
quelques instants après...
Lancement
du logiciel chargé de gérer
le programmateur :
Afin
de lancez le logiciel de Microchip,
double-cliquez
sur l'icône ci-dessous et patientez
quelques secondes.
Durant ce laps de temps le logiciel
communique avec le programmateur USB
et tente de déterminer si un
microcontrôleur cible est inséré
ou non dans les supports tulipes dédiés.
Cliquez
sur cet icône afin de lancer
le logiciel
Durant
le même instant la led BUSY
clignote rapidement.
La
fenêtre principale du logiciel
apparaît
avec comme message
"found
and connected". A cet instant
le programmateur USB est
correctement reconnu
par le logiciel. Par ailleurs, si un
microcontrôleur cible est relié
au programmateur, sa référence
est indiquée à la ligne
Device
(cela n'est pas le cas dans la recopie d'écran
suivante indiquant qu'aucun circuit
n'a été trouvé
: "No Device Found").
Si
la communication entre le programmateur
et le PC a échoué,
un message d'avertissement sur fond
rouge vous informe du problème.
Dans
ce cas, vérifiez d'avoir correctement
programmé votre PIC18F2550
(configuration
des fusibles), assurez-vous également
de ne pas
avoir un court-circuit
ou des microcoupures
sur votre circuit imprimé et
refaites une nouvelle tentative. N'utilisez
pas de HUB USB entre le programmateur
et votre PC.
Pour
refaire une nouvelle tentative de communication,
soit vous quittez le logiciel et vous
le relancez ou bien, vous cliquez dans
le menu sur "Tools"
puis sélectionnez "Check
Communiation"
comme ci-dessous :
Consultez
la page
[
Utilisation
]
pour
obtenir plusieurs exemples de programmation
avec différentes références
de microcontrôleurs ou EEPROM.
Toutefois, vous êtes vivement
invités à
lire la suite de cette page afin
d'effectuer le test "Troubleshtoot..."
pour vous assurer
du bon fonctionnement de
votre programmateur USB..
Présentation
de la fenêtre principale et des
principaux menus du logiciel :
Nous
allons décrire ci-après
les différents menus du logiciel
et leurs rôles.
Menu
File :
Import
Hex
: Importation du fichier HEX que l'on
souhaite programmer au sein d'un microcontrôleur
ou d'une mémoire EEPROM.
Export
Hex :
Exportation du fichier HEX lu dans le
microcontrôleur si ce dernier n'est
pas protégé
contre la relecture.
Menu
Device Family :
Le
contenu du menu
Device Family
peut varier d'une version à une
autre du logiciel .
Dans
la présente version, plus de 13 catégories de circuits
sont pris en charge par le programmateur
et nous allons les détailler ci-après.
Baseline
: Regroupe tous les microcontrôleurs
disposant d'une architecture à
12 bits,
tels que les 10Fxxx, 12Fxxx, 16F505, 16F506,
etc...
Midrange
:
Regroupe tous les microcontrôleurs
en architecture 14 bits tels que les
12F6xx, 16F6xx,
16F7x, 16F7xx, 16F8x, 16F8xx.
PIC18F
: Regroupe tous les microcontrôleurs
de la famille 18Fxxxx.
PIC18F_J_
: Regroupe tous les microcontrôleurs
de la famille 18FxxJxx offrant
un bon niveau de performance à
faible coût.
PIC18F_K_
: Regroupe tous les microcontrôleurs
de la famille 18FxxKxx fonctionnant
en basse tension.
PIC24
:
Regroupe tous les microcontrôleurs
de la famille 24 en architecture 16
bits.
dsPIC30
et dsPIC33 :
Regroupe toutes les familles des microcontrôleurs
qui allient la structure d'un microcontrôleur
et celle d'un DSP (Digital Signal Processor).
PIC32 :
Regroupe les plus puissants et nouveaux
PIC 32 bits pouvant fonctionner jusqu'à
80MHz.
Keeloq
HCS :
Regroupe un ensemble
de codeurs/décodeurs sur 66 bits
utilisant
les codes tournants ou 'rolling codes'.
EEPROMS :
Regroupe les mémoires EEPROM
les plus courantes du marché
telles que :
11LC, 24LC, 25LC et 93LC.
MCP250xx
:
Regroupe les convertisseurs analogiques-numériques (CAN)
haut de gamme intégrant
une logique de gestion à base
de microcontrôleur.
Menu
Programmer :
Read
Device
: lecture du contenu de la cible avec ses différentes
zones mémoires : de programme, de données,
d'ID et les bits de configuration.
Write
Device
: écriture des différentes
zones mémoires de la cible : de programme, de données,
d'ID et les bits de configuration.
Verify
: vérification des zones de programme,
de données, d'ID et les bits
de configuration de la cible par rapport
aux valeurs stockées dans le
buffer du logiciel .
Erase
: effacement des différentes
zones de programme de la cible. Attention,
pour les versions PIC12F629/675 et PIC16F630/676,
les valeurs de OSCCAL et BG sont
conservées.
Blank
check
: vérification de la virginité
de la cible au niveau de la mémoire
programme et mémoire EEPROM.
Verify
on write
: vérification de l'octet venant
d'être programmé durant
la phase d'écriture des différentes
zones mémoires.
Clear
memory buffers on erase
: affecte des valeurs par défaut
aux buffers du logiciel
lorsque l'utilisateur utilise le bouton
Erase.
Hold
Device in Reset
: maintien un état de reset au
PIC avant et après la programmation
en appliquant un niveau bas sur le MCLR
du microcontrôleur.
Alert
sounds
: vous permet de définir trois
types d'alertes sonores en fonction
des états spécifiques
rencontrés par le logiciel tels
que, Success
(succès sur une commande spécifiques),
Warning
(avertissement sur un problème lié
souvent aux bits de configuration) et
Error
(en cas d'échec sur une commande).
Fenêtre
de configuration des alertes sonores
Write
on PICKit button
: Permet de déclencher la programmation
par l'action sur le bouton poussoir
"Programme" de la platine
du programmateur. Pour ce faire, les
buffers du logiciel doivent
contenir préalablement le programme
à implanter dans le microcontrôleur
puis il vous suffit de presser sur le
bouton "Programme" pour amorcer
la programmation.
Manual
Device Select :
si vous activez ce mode, vous pouvez
sélectionner
la famille puis le type de microcontrôleurs
ou mémoires que vous souhaitez
programmer. Toutefois, il est préférable
de laisser le programmateur détecter
lui-même la cible (uniquement
les microcontrôleurs).
PICKit
2 Programmer-To-Go... :
cette fonction permet de programmer
un microcontrôleur sans avoir
recours à un PC en utilisant
des mémoires eeprom externes
optionnelles
(connecteur J2).
Cette fonction n'est pas gérée
sur la platine du programmateur présentée
sur ce site.
Menu
Tools :
Enable
Code Protect
: Activation de la protection de la
zone programme contre les tentatives
de relecture du programme pour un PIC
de type flash.
Enable
Data Protect
: Activation de la protection de la
zone de données EEPROM contre
les tentatives de relecture du programme
pour un PIC de type flash.
OSCCAL
: permet de définir OSCCAL
ou de lancer
l'auto calibration
si la valeur a été effacée
accidentellement sur un PIC de la famille
12Fxxx.
Target
VDD Source
: Type d'alimentation de la cible par
le programmateur. -
Auto Detect : Laisser le choix au programmateur
d'alimenter ou non la cible.
-
Forced :
Force le programmateur à fournir
la tension correcte de 5V. La led jaune
Target (cible) est désormais
éclairée en feu fixe (pour
la famille 16Fxxx en autre...).
-
Forced Target : Laisser le logiciel
choisir la tension en rapport avec la
cible à programmer.
Display
Unimplemented Config Bits
: ce menu permet à l'utilisateur
de choisir la manière dont sont
affichés les bits de configuration
implémentés. Dans
les versions précédentes
du logiciel, les bits non implémentés
étaient toujours affichés avec
la
valeur "0".
Calibrate
VDD & Set Unit ID
: cette option de calibration n'est
pas utilisée dans le présent
programmateur car la tension VDD est
directement
dérivée
du port USB.
Use
VPP First Program Entry
: Pour les PIC nécessitant une
tension d'alimentation minimale de 4,5V
durant la procédure de programmation,
cochez l'option "Use VPP First
Program Entry". Dans ce cas, la
led Target (cible) du programmateur
doit s'illuminer durant la phase de
programmation. Utilisez cette configuration
entre autre pour les PIC16F628(A), 16F876(A),
16F877(A) essentiellement. Cela ne concerne
pas la famille 18Fxxx qui accepte les
deux modes d'alimentation.
En
résumé,
si le logiciel vous informe par un Warning
(voir fenêtre suivante), cliquez
sur "Cancel", cochez l'option
"Use
VPP First Program Entry" du
menu "Tools"
et
procédez à nouveau à
la programmation
de votre microcontrôleur.
Use
LVP Program Entry
: cette fonction est dédiée
aux PIC pouvant être programmés
en basse tension. Cette fonction n'est
pas gérée par le programmateur.
Fast
Programming
: Programmation rapide des cibles flash.
Si vous rencontrez une erreur de programmation
(surtout en mode ICSP avec des longueurs
de liaisons électriques importantes), décochez
cette option pour un transfert plus
lent des données à programmer
dans la cible.
Uart
Tool :
Pour en savoir plus cliquez sur le lien
suivant : [
Mode
USB vers RS232
]
Logic
Tool :
Pour en savoir plus cliquez sur le lien
suivant : [ Mode
analyseur logique ]
Check
Communication :
Vérification de la connexion
USB entre le PC et le programmateur.
Cette fonction est automatiquement déclenchée
lorsque vous lancez le logiciel. Il
est préférable de relancer
le logiciel si
vous avez déconnecté puis
reconnecté le port USB du programmateur
au PC.
Troubleshoot...
:
cette fonction vous permet de tester
le bon fonctionnement de votre programmateur
en mode statique
et dynamique.
Pour
ce faire, retirez le microcontrôleur
cible qui pourrait se situer sur les
supports tulipes ou bien encore, si vous
utilisez le connecteur ICSP, déconnectez-le
de sa cible. La
led jaune Target doit
être éteinte et
si ce n'est pas le cas, décochez
"Use
VPP First Program Entry" du
menu "Tools".
Sélectionnez
l'option "Troubleshtoot..." dans
le menu "Tools" afin d'obtenir
l'écran suivant
:
Cliquez
sur le bouton Next
et vous obtenez la fenêtre suivante.
La tension VDD donnée par le
logiciel (ici de 4,1V) doit être
proche de celle que vous pouvez mesurer
sur la broche VDD du connecteur ICSP. Dans
notre cas, la
mesure au voltmètre de VDD donne 4.15V
très proche de la valeur donnée
par le logiciel du programmateur.
Cliquez
sur le bouton Next
et vous obtenez la fenêtre suivante.
Comme
ci-dessous, cliquez sur le bouton Test
VPP et
mesurez la tension
de VPP sur le connecteur ICSP du programmateur.
Ici 12,1V mesuré par le programmateur
et 12,04V mesuré au voltmètre
sur la broche VPP.
Ainsi, l'élévateur de
tension chargée de générer
la tension de programmation fonctionne
correctement...
Lorsque
vous cliquez sur
/MCLR On
la tension VPP
doit passer à 0V.
Lorsque
vous cliquez sur
/MCLR Off
la tension VPP
doit être proche de 0V dans la
mesure où il n'y a pas de résistance
de pull-up externe au programmateur
sur VPP.
Cela ne sera pas le cas lorsque vous
utiliserez le connecteur
ICSP
relié à une cible composée
d'une circuiterie
adaptée.
Nous reviendrons en détail sur
l'utilisation du connecteur ICSP
à
la page
[ Utilisation
].
Enfin,
le
dernier test vous permet de vérifier
le bon fonctionnement des lignes DATA
(ICSPDAT) et CLK (ICSPCLK) du programmateur
en mode statique (voltmètre)
et dynamique (oscilloscope).
-
CLK
ou ICSCLK est l'horloge de programmation
composée d'une liaison unidirectionnelle
sérielle synchrone entre le programmateur
et la cible. -
DATA
ou ICSDAT est le signal de données
de programmation composé d'une
liaison bidirectionnelle sérielle
synchrone.
Avec
l'aide d'un voltmètre mesurez
les tensions sur les broches DATA
et CLK
du connecteur ICSP
tout en
cliquant sur
les boutons High
(VDD) puis Low
(GND) du logiciel. Expérimentalement,
pour High
(VDD) nous mesurons sur le programmateur
une tension de 4,93V
et de 0V
pour
Low
(GND) sur DATA
puis CLK.
Muni
d'un oscilloscope, cliquez sur Toggle
30kHz et
observez les oscillogrammes sur les broches
DATA
et CLK
du connecteur
ICSP.
Vous devez obtenir un signal
rectangulaire de fréquence
30kHz
comme
ci-dessous. Durant cette phase, la led
rouge Busy doit s'illuminer en feu fixe.
La
trace rouge correspond à la broche
DATA et la trace bleu à la
broche CLK du connecteur ICSP.
Download
PICKit 2 Operating System :
cette fonction vous permet de mettre
à jour le programme interne du PIC18F2550-I/SP
de votre programmateur sans avoir à
utiliser un autre programmateur externe
(sur port parallèle ou série)
pour reflasher le PIC (programmation
par bootloader).
En
effet, afin de pouvoir prendre en charge
les futurs microcontrôleurs de
Microchip une mise à jours du
firmware de votre programmateur (PIC18F2550)
est nécessaire. Ainsi, dès qu'une
nouvelle version du
firmware est disponible
en téléchargement sur
ce site (ou celui de Microchip) vous
êtes vivement invités à
mettre à jour le firmware de
votre programmateur.
Comment
procéder à la mise à
jour du firmware du programmateur ?
Téléchargez
la nouvelle version du firmware. Sélectionnez
dans le menu "Tools"
du logiciel
l'option
"Download PICKit 2 Operating System"
afin d'ouvrir la boite de dialogue suivante
:
Sélectionnez
le nouveau firmware (ici le fichier
PK2V023200.HEX) puis cliquez sur le
bouton Ouvrir. Le nouveau firmware est
transféré par la liaison
USB de votre programmateur jusqu'au
microcontrôleur PIC18F2550. Durant cette phase ne
débranchez pas le programmateur
et patientez une bonne quinzaine de secondes...
Transfert
du firmware au programmateur par liaison USB, auquel
succède le flashage du
18F2550.
Flashage
du 18F2550 terminé. Le programmateur
va redémarrer automatiquement
avec son nouveau
firmware.
Opération
de mise à jour terminée. Le
programmateur est désormais opérationnel
avec son nouveau firmware.
Présentation
des quelques boutons du logiciel :
Les
cinq principaux boutons du logiciel :
Bouton
Read
: lecture du contenu de la cible avec
sa zone de programme, de données,
d'ID et les bits de configuration.
Bouton
Write
: écriture des différentes
zones de programme, de données,
d'ID et des bits de configuration au
sein de la cible.
Bouton
Verify
: vérification des zones de programme,
de données, d'ID et des bits
de configuration de la cible par rapport
aux valeurs stockées dans le
buffer du logiciel .
Bouton
Erase
: effacement des différentes
zones de programme de la cible. Attention,
pour les versions PIC12F629/675 et PIC16F630/676,
les valeurs de OSCCAL et BG sont
conservées.
Bouton
Blank
check
: vérification de la virginité
de la cible au niveau de la mémoire
programme et mémoire EEPROM.
Les
2 boutons de programmation et relecture
:
|