........................................ ...........................
Programmateur pour cartes Gold et Silver
les cartes Gold et Silver contiennent toutes les deux un microcontrôleur PIC de Microchip. La réalisation d’un programmateur pour ces cartes se borne donc à celle d’un programmateur de PIC, équipé bien sûr d’un connecteur pour cartes à puce. Tous les microcontrôleurs PIC récents supportent la programmation en circuit ou ICSP pour In Circuit Serial Programming. Cette programmation, qui a lieu sous forme série, n’impose de devoir accéder qu’aux pattes : /MCLR (reset), CLK (horloge externe), RB6 et RB7 du microcontrôleur, pattes qui sont justement celles qui sont accessibles via le connecteur des cartes à puce Gold et Silver.
Le seul problème qui peut se poser est celui de la mémoire EEPROM associée au microcontrôleur pour laquelle trois situations différentes sont à considérer.
Il convient tout d’abord de faire la distinction entre les applications qui nécessitent une programmation préalable de cette mémoire et celles qui n’en ont pas besoin. Dans ce dernier cas, aucun problème ne se pose puisque l’application programmée dans le PIC gère la mémoire contenue dans la carte sans que l’on ait à s’occuper de quoi que ce soit en phase de programmation.
Par contre, dans le premier cas, il faut pouvoir programmer la mémoire EEPROM depuis l’extérieur de la carte. Deux cas sont donc à nouveau à considérer :
- Si vous utilisez une carte Gold ou Silver « maison », réalisée comme expliqué par ailleurs sur ce site, rien ne vous empêche d’enlever momentanément la mémoire de son support afin de la transporter sur un programmateur adéquat.
- Si vous utilisez une vraie carte Gold ou Silver, c’est à dire une carte dans laquelle les composants sont intégrés sous forme de puce, cette manipulation est évidemment impossible et il faut faire appel à un programme "loader" que vous trouverez sur tuto:
Nom du logiciel et description Lien Card Easy : C'est LE logiciel qu'il faut posséder dès que l'on fait la moindre manipulation sur les cartes à puce. Il est capable de dialoguer avec n'importe quelle carte à puce en protocole T=0 ou T=1. Il permet de personnaliser les cartes ACOS de ACS et il connait aussi un nombre impressionnant de cartes à mémoire. Ic-Prog : Autre monument du domaine, c'est LE logiciel qu'il faut posséder dès que l'on veut programmer des cartes Gold, Silver ou bien encore les microcontrôleurs PIC et les mémoires EEPROM contenues dans ces cartes. C'est d'ailleurs lui que je vous recommande pour piloter le programmateur de cartes et de PIC décrit sur ce site. Le téléchargement a lieu via un lien externe qui vous renvoie sur le site de l'auteur de Ic-Prog. WinPhoenix : Ce logiciel permet de programmer l'EEPROM contenue dans les cartes Gold et Silver du commerce en passant "au travers" du PIC qu'elles contiennent. Il s'agit d'un fichier compressé contenant WinPhoenix_Loader.hex qui est à programmer dans le 16F84 de la carte ainsi que WinPhoenix.exe qui, grâce à votre lecteur Phoenix vous permettra de lire, d'effacer ou de programmer la mémoire EEPROM de la carte. Basic Card Development Software : Il s'agit encore d'un logiciel incontournable puisque c'est l'outil de développement complet pour les Basic Cards®. Il fonctionne sous Windows ; il est absolument complet et comporte même un simulateur de lecteurs et de cartes vous permettant de faire des manipulations sans même disposer du moindre composant. Et en plus il est totalement GRATUIT. Le téléchargement a lieu via un lien externe qui vous renvoie sur le site Basic Card. MPLAB : Ce n'est pas à proprement parler un logiciel destiné aux cartes à puce mais c'est l'outil de développement Microchip pour les microcontrôleurs PIC. Comme les cartes Gold et Silver contiennent de tels microcontrôleurs, c'est donc l'outil qu'il vous faut pour développer des applications avec ces cartes. Le téléchargement a lieu via un lien externe qui vous renvoie sur le site de Microchip. AVR Studio : Ce n'est pas lui non plus un logiciel spécifiquement destiné aux cartes à puce mais c'est l'outil de développement Atmel pour les microcontrôleurs AVR. Comme les cartes Fun et Jupiter contiennent de tels microcontrôleurs, c'est donc l'outil qu'il vous faut pour développer des applications avec ces cartes. Le téléchargement a lieu via un lien externe qui vous renvoie sur le site d' Atmel.
Mode d'emploi des logiciels
Certains logiciels nécessitent un minimum de connaissances pour pouvoir les utiliser efficacement. Au fur et à mesure de l'évolution de ce site, je vous proposerai donc à la rubrique "tutoriels" des exemples d'utilisation de plusieurs d'entre-eux.
Schéma du programmateur
Ce programmateur présenté ci-dessous est dérivé du schéma de base très connu sous le nom de "JDM Programmer". Il se connecte sur le port série de n’importe quel compatible PC et exploite les niveaux RS 232 pour générer les tensions de programmation nécessaires.
Son principe est relativement simple mais le schéma utilisé s’avère particulièrement astucieux de façon à générer les deux tensions nécessaires pour programmer les PIC, à savoir la tension d’alimentation VDD de 5 volts et la tension de mise en mode programmation, appliquée à l’entrée /MCLR, de 13 volts. Ces tensions sont obtenues par redressement, filtrage et régulation au moyen des diodes Zener DZ1 et DZ2, à partir des niveaux + et - 12 volts disponibles sur les différentes lignes de l’interface série RS 232 du PC associé.
Ces mêmes lignes servent évidemment à délivrer au circuit l’horloge et les données de programmation après écrêtage de leurs niveaux à 5 volts. Le programmateur pilote trois supports vides :
- un support 8 pattes destiné aux mémoires EEPROM de la série 24xx qui équipent les cartes Gold et Silver "maison" ;
- un support 18 pattes destiné aux PIC 16C84 ou 16F84 qui équipent les cartes Gold ;
- un support 28 pattes étroit destiné au PIC 16F876 qui équipe les cartes Silver.
Comme cela ne coûtait que le tracé de quelques pistes en plus sur le circuit imprimé, je n’ai pas résisté à la tentation d'ajouter un support 8 pattes et un support 18 pattes dont le brochage leur permet de programmer en outre, sans aucun adaptateur, les 12C5xx et 12C67x en boîtier 8 pattes et tous les PIC en boîtier 18 pattes : 16C55x, 16C61, 16C62x, 16C71, 16C71x, 16C8x, 16F8x et16F62x.
Le connecteur visible sur la droite de la figure correspond quant à lui au connecteur de cartes à puce destiné à recevoir les cartes Gold ou Silver, véritables ou de fabrication "maison", dont il permet la programmation directe du microcontrôleur qu’elles contiennent.
Approvisionnement des composants
Même s’il ne présente pas de difficulté majeure, l’approvisionnement des composants appelle un commentaire concernant le connecteur de cartes à puce. Le modèle utilisé est un type standard disponible chez de très nombreux revendeurs et se trouve être le plus souvent un modèle ITT Canon ou Molex. Tout modèle strictement compatible, prévu pour une disposition des contacts ISO, convient aussi mais vérifiez bien qu’il dispose d’un interrupteur de détection de carte.
Semi-conducteurs
T1, T2 : BC 547
T3 : BC 557
D1, D2, D3, D4 : 1N 914 ou 1N 4148
DZ1 : Zener 5,1 volts, 0,4 watt
DZ2 : Zener 8,2 volts, 0,4 watt
LED1 : LED rouge
LED2 : LED verte
Résistances ¼ de watt 5 %
R1 : 10 kohms (marron, noir, orange)
R2 : 1,5 kohms (marron, vert, rouge)
R3 : 100 kohms (marron, noir, jaune)
R4, R5, R6 : 1 kohm (marron, noir, rouge)Condensateurs
C1 : 22 µF 25 volts, radial
C2 : 100 µF 25 volts radial
Divers
Supports de CI : 1 x 28 pattes étroit, 1 x 18 pattes, 1 x 8 pattes (tous à contacts tulipes)
Support ZIF 28 pattes étroit + 1 x 28 pattes étroit à contacts tulipes (optionnels)
J1 : Connecteur DB 9 femelle, coudé à souder sur circuit imprimé
J2 : Connecteur pour carte à puce ISO format ID 1 (normal), ITT Canon, Molex, etc.Liste des composants nécessaires
L’implantation des composants est à faire en suivant les indications de la figure ci-dessous. Commencez par les straps, dont un passe sous le support 18 pattes et l’autre sous le support 28 pattes, pour continuer par les connecteurs, les supports, les résistances et condensateurs. Vous terminerez par les transistors et diodes en veillant à bien respecter leur sens.
Les supports de programmation seront au minimum des modèles à contacts tulipes afin de supporter des insertions et extractions répétées. L’idéal serait évidemment d’utiliser un support ZIF, ou support à force d’insertion nulle, mais le modèle 28 pattes étroit nécessaire ici est hélas deux fois plus cher à lui seul que tout le reste du programmateur ! A vous de voir si le jeu en vaut la chandelle, surtout si vous destinez ce programmateur en premier lieu à la programmation de cartes, auquel cas les supports 8, 18 et 28 pattes vous sont inutiles. Si vous décidez d’investir dans un tel support, soudez-le sur un support à contacts tulipes à 28 pattes étroit intermédiaire, comme indiqué ci-dessous.
Vous pourrez ainsi faire un double usage de votre chère acquisition compte tenu du dessin de circuit imprimé astucieux que j'ai réalisé. En effet, avec ce support ZIF et pour programmer les 16F876, il vous suffira d’enficher cet ensemble dans le support 28 pattes du programmateur, c’est évident. Par contre, pour programmer les EEPROM ou les autres PIC, vous pourrez aussi l’enficher simultanément dans les supports 8 pattes et 18 pattes du programmateur qui ont été alignés et positionnés pour cela sur le circuit imprimé. Voyez alors comment il s'utilise page suivante.
Utilisation des supports ou du support ZIF 28 pattes
Si vous utilisez le support ZIF (à force d'insertion nulle) dont j'ai parlé page précédente, il vous faudra respecter les indications de la figure ci-dessous pour placer vos circuits sur ce support en fonction de leurs références.
Mise en place des circuits dans le cas de l'utilisation d'un
support 28 pattes "à cheval" sur les support à 8 et 18 pattesMise en place des circuits sur le support 18 pattes
Si vous n’utilisez pas ce support ZIF 28 pattes étroit, vous placerez toujours les 16F876 dans le support 28 pattes étroit de la carte pour les programmer. Les mémoires EEPROM quant à elles devront être placées dans le support 8 pattes, tandis que les autres PIC, y compris les PIC à 8 pattes (12C508, 509, 671, 672) devront être placés dans le support 18 pattes, en suivant les indications de positionnement ci-dessus.
Le montage doit être raccordé au port série de n’importe quel compatible PC. Le brochage standard adopté par le connecteur 9 points dont j'ai équipé le circuit imprimé vous permet d’utiliser tout câble normalisé droit (c’est à dire sans croisement de fils) du commerce. Pour utiliser le programmateur il faut évidemment un logiciel. Tout logiciel disponible sur Internet supportant le "JDM Programmer" convient pour ce montage mais je vous recommande l’excellent IC-Prog, que vous trouverez en téléchargement sur le site de son auteur d'adresse : www.ic-prog.com très souple d’emploi, et supporte d’innombrables programmateurs et circuits intégrés.
Avant de l’utiliser, faites appel à son menu "Configuration", rubrique "Hardware" et paramétrerez-le comme indiqué sur la recopie d’écran ci-dessous. Seul le port série utilisé (Com 2 sur cette figure) pourra éventuellement être modifié en fonction de celui que vous aurez utilisé sur le PC. Avant de vous lancer dans la programmation d’un PIC ou d’une carte, testez votre programmateur qui dispose pour cela des deux LED rouge et verte. Mettez en place le strap S1 et lancez Ic-Prog. La LED verte doit s’allumer indiquant la présence de l’alimentation du montage. Selon l’initialisation du port série réalisée par votre système d’exploitation, il se peut même que cette
LED s’allume dès la connexion du programmateur à ce port.
Configuration du logiciel Ic-Prog
Sélectionnez ensuite un 16F84 et lancez sa programmation, sans aucun circuit ni carte dans le programmateur, et vérifiez que la LED rouge clignote rapidement (son intensité lumineuse est assez faible mais c’est normal). Si tel est le cas, votre programmateur a de grandes chances d’être bon pour le service. enlevez le strap S1 et passez aux choses sérieuses …
Vous pourrez alors lire, effacer et programmer tous les microcontrôleurs et mémoires directement supportés par ce montage, ainsi que les microcontrôleurs contenus dans les cartes Gold et Silver. Les mémoires EEPROM contenues dans les cartes Gold et Silver de fabrication "maison" pourront aussi être programmées si nécessaire, en les déplaçant sur le support 8 pattes prévu à cet effet. Pour ce qui est des vraies cartes Gold et Silver dans lesquelles ces mémoires ne sont pas directement accessibles, il faudra faire appel à un lecteur compatible Pheonix par exemple et à un logiciel "loader" que vous trouverez dans se tuto
Ce programmateur fonctionne de façon irréprochable pour tous les circuits et cartes qu’il supporte, cependant, compte tenu du mode de génération des tensions d’alimentation et de programmation à partir du port série du PC, je dois faire les remarques suivantes.
Evitez de faire fonctionner le programmateur avec S1 en place car le courant consommé par les LED peut faire chuter la tension disponible en dessous du seuil nécessaire pour une bonne programmation. Il n’y a que si le port série de votre PC est suffisamment "musclé" que vous pourrez laisser ce strap en place. Seul un essai vous permettra de le vérifier.
Sur certains portables, les niveaux délivrés par les ports séries et surtout le courant pouvant être fourni par ces ports est anormalement faible et ne permet pas un fonctionnement normal du montage. Si vous êtes dans cette situation, il n’y a évidemment aucune solution.
Les adaptateurs transformant un port USB en port série, disponibles notamment pour les portables dépourvus de port série, ne permettent généralement pas un fonctionnement correct de ce montage, pour la même raison que ci-dessus.
Si vous rencontrez des problèmes ou des erreurs de programmation, commencez par vérifier la tension entre VSS (5) et VDD (14) du support 18 pattes pendant la programmation d’un circuit : elle doit être supérieure à 4,7 volts. Vérifiez ensuite, toujours en phase de programmation, la tension entre VSS (5) et /MCLR (4) du support 18 pattes. Elle doit être au minimum de 12,75 volts. Si ce n’est pas le cas, et si bien sûr aucune erreur de câblage n’a été commise, c’est que le port série de votre PC ne délivre pas des niveaux suffisants. Sur un PC de bureau, c’est cependant une situation qui reste rarissime.
Allez sur se site : vous aurez toutes les infos voulu :
http://www.cartesapuce.fr/logiciels.htm












Reply With Quote





