09/09/2013

Programmateur de PIC universel

Programmateur de PIC universel

Le programmateur que je vous propose de réaliser peut programmer tous les circuits PIC acceptant la programmation série en circuit ou ICSP c'est à dire tous les PIC 12Cxxx, 16Cxxx et 16Fxxx existants et à venir. Les seuls circuits qu'il ne puisse pas programmer sont les vieux 16C54, 16C56 et 16C57 à programmation parallèle, qui sont en voie de disparition. Il se connecte sur le port parallèle de tout compatible PC fonctionnant au moins sous Windows 95 encore que des versions DOS de son logiciel de commande existent sur Internet. Il nécessite une alimentation, qui peut être continue ou alternative, comprise entre 12 et 30 volts, et qui n'a pas besoin d'être stabilisée. Un bloc secteur "prise de courant " ou n'importe quelle alimentation de laboratoire peut donc convenir d'autant que le débit nécessaire est inférieur  à 100 mA. Compte tenu des performances de son logiciel de commande, il peut lire, vérifier, programmer et comparer les PIC sans aucune restriction, de même qu'il sait lire et programmer leurs " fusibles " de configuration. Il sait aussi effacer les circuits munis de mémoire de type EEPROM et permet l'accès à  la mémoire de données des circuits dotés d'une telle mémoire lorsqu'elle est en technologie EEPROM également. Autant dire qu'il est vraiment complet.

Schéma du programmateur

Mon programmateur se connecte sur le port parallèle du PC et son schéma complet est visible sur la figure ci-dessous.
Les signaux d'un port parallèle étant aux normes TTL et étant " maltraités " par leur voyage sur des câbles de liaison, ils sont remis en forme par les inverseurs contenus dans IC1. Comme ce circuit dispose de sorties à collecteurs ouverts il permet une commande facile des trois transistors T1, T2 et T3. T1 et T2 permettent l'application de la haute tension de programmation VPP aux pattes adéquates du support universel du programmateur. T3 commande la tension d'alimentation normale VDD, appliquée également au support universel.
Schéma du programmateur

Ceci permet de n'alimenter le circuit à programmer que lorsque c'est vraiment nécessaire et d'éviter ainsi tout problème lors son insertion ou de son extraction du support de programmation. Deux LED rouges, D1 et D2, indiquent la présence des tensions sur le support. D3 quant à elle s'allume tout simplement lorsque le programmateur est sous tension afin de signaler le bon fonctionnement de l'alimentation.
Les données à programmer transitent par IC1a tandis qu'elles passent par IC1b lors d'une relecture du circuit. L'horloge de programmation passe par IC1c. Le support destiné à recevoir les circuits à programmer est un modèle 40 pattes un peu spécial de façon à pouvoir recevoir les PIC en boîtiers : 8, 18, 20, 28 et 40 pattes. Le câblage des différentes alimentations, de la ligne de données et de la ligne d'horloge est réalisé conformément aux brochages des différents circuits.
L'alimentation du programmateur est simple mais très tolérante. Deux tensions stabilisées sont nécessaires : 5 volts pour VDD et 13 volts pour la tension de programmation VPP. IC2 qui est un 78L05 se charge du 5 volts tandis que IC3, qui est un 78L08, produit le 13 volts car il n'est pas référencé à la masse mais à la sortie de IC2 et produit ainsi 5 + 8 soit 13 volts ! Afin d'accepter n'importe quelle source externe, les régulateurs sont précédés d'un filtrage généreux et d'un pont redresseur. On peut appliquer sur J1 toute tension alternative comprise entre 12 et 20 volts ou comprise entre 16 et 30 volts. Le débit nécessaire n'est que de 100 mA environ.


0 commentaires:

Enregistrer un commentaire