- Electronique Innovante - https://innovelectronique.fr -

Programmateur pour µC PIC

Comme la plupart des montages sont à base de microcontrôleur, il faut les programmer. Pour cela vous avez besoin d’un programmateur ! Je vous présente dans cet article plusieurs type de programmateur pour la série PIC de MicroChip.

Programmateur sur port série

Ces programmateurs sont très souvent appelés programmateur JDM. Ils sont très simple à câbler et vous pouvez en trouver des modèles à quelques euros sur E-Bay. Le problème est qu’il faut que le port série fournisse des niveaux de tension correct (+12V et -12V) et un courant suffisant, ce que la plupart des PCs actuels ne font pas ! Si vous souhaitez acheter un tel programmateur, vérifiez qu’il possède une alimentation externe. Personnelement je déconseille ce type de programmateur car le port série disparait.

Programmateur sur port parallèle

Lorsque j’ai débuté la programmation des microcontrôleurs PIC 16F, j’ai eu besoin d’un programmateur faible coût et fiable. Après quelques recherches j’ai opté pour la réalisation du programmateur FullPic de Patrick Touzet [1]. Tous les documents de fabrication sont disponibles sur son site. Ce programmateur se présente de la manière suivante:

Programmateur FullPic de Patrick Touzet sur port parallèle [2]

Programmateur FullPic de Patrick Touzet sur port parallèle

Il faut alors utiliser le logiciel IcProg [3] pour transférer le fichier HEX résultant de la compilation du code source dans le PIC. Cependant le port parallèle disparaît des PCs, ce programmateur est donc obsolète. De plus il faut une alimentation extérieure d’au moins 17V et il faut aussi extraire/remettre le µC sur les support à chaque programmation. Il existe cependant un connecteur pour la programmation In-Situ (directement sur la carte du montage) non câblé sur ce montage, ce qui peut être un palliatif pour le problème précédent. Il fallait passer à quelque chose de plus récent : l’USB s’impose donc.

Programmateur sur port USB

Professionnellement j’utilise le programmateur USB ICD-U40 (remplacé depuis peu par l’ICD U-64). Après quelques années d’utilisation il convient pour un usage courant (programmation) voire avancé (débbogage en mode pas à pas). Il couvre quasiment tous les modèles de microcontôleurs PIC (12F, 16F, 18F, 24F et 33F). Une description de ce produit est disponible en anglais sur le site de CCS [4]. Juste un petit bémol : les transistors de sortie et les diodes de protection sont relativement fragiles. Si votre connecteur de programmation est mal câblé ou s’il y a un court-circuit, le programmateur peut être mis hors service. Il se présente de la manière suivante:

Programmateur USB ICD-U64 [5]

Programmateur USB ICD-U64

Du coté PC vous avez un connecteur USB type B et du coté Target vous avez un connecteur RJ12. Pour faire la programmation InSitu, il suffit alors de câbler un connecteur RJ12 de la manière suivante:

Notez bien que je n’ai aucun intérêt avec cette société, juste que j’utilise quotidiennement ce programmateur. Son prix est raisonnable, environ 75$ plus les frais de port, si vous commandez directement chez le fabricant. Sinon il est disponible chez Farnell sous la référence 1653589 au prix de 152 euros (à la date de l’article).

Sinon vous pouvez trouver toujours sur E-Bay, un programmateur USB compatible ICD2 à 27 euros frais de port compris. J’en ai commandé un pour voir, je vous dirais si ca vaut le coût.

Programmateur PICKIT2 sur port USB [6]

Programmateur PICKIT2 sur port USB

Une solution ultra économique

Il existe une solution très simple et très économique qui ne nécessite aucun matériel spécifique pour programmer un PIC, c’est la technique du bootloader et en particulier celui de Claudiu Chiculita avec son TinyBootLoader [7]. Le seul problème est bien sur de programmer dans un premier temps ce bootloader dans le PIC ce qui nécessite un programmateur standard. Par la suite tout se fait en transférant le programme HEX par la voie série standard intégré au PIC. Un article spécifique est disponible. Je peux aussi vous programmer un PIC (PIC16F876 ou PIC18F2520) si vous m’envoyez le PIC vierge et une envellope auto adressée.