Programmateur ICSP pour PIC sur port série.







Afin de simplifier et limiter les manipulations des circuits microcontrôleurs lors de leur programmation sur mes réalisations, j'avais fini par intégrer systématiquement un programmateur type JDM sur la plupart de mes montages.
Il s'est avéré que cette solution rendait les circuits un peu plus complexes, et qu'une fois le développement terminé, cette partie du circuit n'avait plus vraiment de raison d'être.
Utilisant de plus en plus des microcontrôleurs en boîtier CMS, j'en suis arrivé à la conclusion que je devais passer par la solution ICSP (InLine Circuit Programming : Programmation du Circuit In-Situ).
Pour ceci, il suffit de prévoir un connecteur 5 broches sur la platine à programmer, dont le brochage est le suivant :

Broche Signal (PIC) Explication
1 MCLR/Vpp Broche Reset et Tension de Programmation
2 Vdd Broche Alimentation +5V du microcontrôleur
3 Vss Broche Alimentation 0V du microcontrôleur
4 RB7/PGD Broche PortB Bit7 et Données de Programmation
5 RB6/PGC Broche PortB Bit6 et Horloge de Programmation






Explication du schéma :

Il s'agit d'un adaptation du célèbre programmateur série JDM. L'alimentation n'est pas fournie par le port série, ce qui permet l'utilisation d'un PC portable : il faudra donc alimenter la platine avec du +12V (+13.8V serait idéal, de sorte à avoir une tension Vpp de +13V).
A partir de ce "13V", le régulateur 7805 fournit la tension d'alimentation du microcontrôleur à programmer sur la broche 2 du connecteur ICSP.
Les signaux issus du port série sont dirigés vers les broches PGD et PGC du microcontrôleur à travers des résistances de 2K2 de limitation via les broches 4 et 5 du connecteur ICSP.
Le signal TXD du port série est utilisé pour commuter la tension de programmation Vpp sur la broche 1 du connecteur ICSP grâce aux transistors BC547 et BC557.







Description du logiciel :

Ce programmateur peut être utilisé avec ICPROG sous Windows ou PiKdev sous Linux.
Il faut spécifier le type de programmateur JDM dans les paramètres "Hardware" et vérifier la bonne polarité des signaux en sortie ( sur le connecteur ICSP) en fonction des états pilotés; par le logiciel sur port série.
Ci-dessous, pour exemple, le paramètrage utilisé avec PiKdev 1.2.1 .
( A noter : l'inversion du signal de commande Vpp ).







Pour de plus amples informations, n'hésitez pas à me contacter.