Programmateur d'EPROMs GL27

Introduction
1. Le principe choisi
2. Le schéma électronique
3. La liste des composants
4. Les typons
5. Les implantations des composants
6. Quelques photos
7. Essais et réglages
8. Utilisation

Introduction

Remarque : Le schéma original des cartes lectures et écritures, qui a été repris un peu partout et que j'ai moi-même trouvé dans un forum, est de Patrick GUEULLE (publication originale en 1989 dans les n°501, 502 et 503 de la revue Radio-Plans). Electronicien français célèbre, Partick GUEULLE a publié plusieurs ouvrages et écrit régulièrement dans des revues comme Electronique Pratique ou Elektor. J'ai néanmoins conçu les logiciels proposés, la carte alimentation sécurisée et dessiné les cartes imprimées.

Le "GL27", alias "Graveur Lecteur 27xxx", que je vous propose de réaliser, permet de lire et d'écrire les EPROMs de type 2732, 2764, 27128 et 27256. Sa réalisation devrai vous coûter entre 65 Francs et 250 Francs. La fourchette de prix est large, car un certain nombre de composants (dans l'alimentation notamment) font sûrement partie de vos fonds de tiroirs, tant soit peu que vous fassiez de la 'récup'.

Mon programmateur d'EPROMs se raccorde au port parallèle d'un compatible P.C.. Dans la partie freewares de mon site vous pourrez télécharger le logiciel (sous DOS) pour utiliser le programmateur, ainsi qu'un éditeur hexadécimal (sous Windows) qui vous sera utile pour créer les fichiers à graver dans vos EPROMs.

Enfin, mon programmateur ne nécessite pas de port parallèle bidirectionnel et le logiciel est très peu gourmand en ressources; un 286 équipé de 640Ko de RAM avec un écran monochrome en mode texte suffira !

1. Le principe choisi

NB : Dans cette partie je n'expliquerais pas comment fonctionne une EPROM, puisque dans la rubrique info pratiques il y a une partie EPROMs où le fonctionnement de ces composants est expliqué en détail.

Mon programmateur est raccordé à un port parallèle mono-directionnel; ce port met à notre disposition 5 entrées et 12 sorties. Seulement, une EPROM requiert 4 lignes de contrôle, 8 lignes de sorties et jusque 15 lignes d'adresses (pour la 27256).

J'ai d'abord réglé une partie du problème en divisant mon programmateur en deux parties : une carte lecture et une carte écriture. Chacune des cartes possède son support, l'EPROM insérée dans le support lecture voit ses lignes de contrôle en mode lecture, et celle dans le support écriture en mode écriture. Il reste à s'occuper des lignes d'adresse et de données.

Pour la carte écriture, les lignes de données sont tout simplement reliées aux sorties D0 ... D7 du port parallèle. Quant aux lignes d'adresses, elles sont reliées aux sorties d'un compteur; en effet la broche /STROBE du port parallèle se charge d'incrémenter le compteur. /STROBE sert aussi à générer l'impulsion de programmation nécessaire. Le compteur est mis à zéro à la mise sous tension. Tout ceci est récapitulé dans le schéma de principe ci-dessous :


Pour la carte lecture, c'est un plus compliqué, car il faut lire les 8 lignes de données alors que nous ne disposons que de 5 entrées. La lecture se déroule en série sur l'entrée /ACK du port parallèle; ce sont les trois sorties D0, D1 et D2 qui définissent laquelle des 8 lignes de données de l'EPROM est reliée à /ACK. Les lignes d'adresse sont comme précédemment reliées aux sorties d'un compteur, lui-même commandé par D5 et D6. Tout ceci est récapitulé dans le schéma de principe ci-dessous :


Enfin, comme le brochage de chaque puce est différent, chaque carte comporte deux inverseurs doubles que l'utilisateur devra mettre dans la position correspondant au type d'EPROM utilisé.

2. Le schéma électronique

Le montage réel est composé de quatre cartes différentes : lecture, écriture, sélection, alimentation. La carte 'sélection' supporte les inverseurs permettant de définir le type d'EPROM utilisé.

Regardons d'abord le schéma de la carte écriture ci-dessous :


Les cinq inverseurs en série ne peuvent pas être remplacés par un seul, car le retard introduit par les temps de propagation cumulés est nécessaire.

En effet, la broche /STROBE sert à la fois comme impulsion de programmation et comme impulsion de comptage, et il faut que l'impulsion de comptage arrive légèrement après la fin de l'impulsion de programmation. On peut voir cela en détail sur le chronogramme ci-dessous :


Le compteur utilisé (CD4040) compte à chaque front descendant sur son entrée CK.

Voici maintenant le schéma de la carte lecture :


Voici le schéma de la carte sélection :


On constate que deux inverseurs simples pour la carte lecture et deux inverseurs doubles pour la carte écriture suffisent pour choisir entre les quatre EPROMs. Sur le schéma je vous ai aussi indiqué quelles positions il faut donner aux inverseurs pour chaque EPROM.

Le support où seront insérés les EPROMs comporte 28 broches. Or, la 2732 ne comporte que 24 broches; le schéma ci-dessous montre comment devra être placée la 2732 dans le support :


Maintenant, nous allons étudier le schéma de l'alimentation. Paradoxalement, c'est la carte la plus coûteuse à réaliser (à cause du transformateur notamment). Son schéma est assez compliqué car les tensions VCC et VPP doivent être mises et coupés en respectant le chronogramme suivant, sous peine de détruire l'EPROM !


L'alimentation que j'ai conçue respecte cette condition, même en cas de coupure de courant ! Pour cela, la valeur de chaque composant a son importance; ne changez pas leurs valeurs, même celle des résistances et des condensateurs !


P1 permet de régler précisément la valeur de VCC à 5V, SW1 vous permet de choisir entre trois valeurs pour VPP, valeurs déterminées par P2, P3 et P4.

Nous allons maintenant étudier en détail le fonctionnement de l'alimentation. Pour cela, nous allons nous baser sur le chronogramme suivant :


Le relais RL1 détermine VPP : lorsqu'il est au repos, VPP = VCC, lorsqu'il est au travail, VPP = UP (tension en sortie de REG2).
TON est déterminé par C4, R4 et DZ1;
TOFF dépends de C1 et de la résistance de la bobine de RL1.

Le relais RL2 détermine VCC : au repos, il charge les sorties des régulateurs avec des résistances de faible valeur pour faire chuter rapidement les tensions d'alimentations; au travail, ces résistances de décharge sont déconnectées.
TOFF2 dépends de C2 et de la résistance de la bobine de RL2.

La valeur de C3 a aussi son importance; en effet, la capacité de C3 doit être assez grande pour que VCC ne chute pas avant que RL2 ne bascule au repos.

Tous ces composants sont choisis de manière à ce que (les temps sont en secondes) :

1,5 < TON < 3
0,25 < TOFF < 1
2 < TOFF2 < 3


Donc ne changez pas la valeur de C4, R4, DZ4, C1, C2, et C3.


Si pour RL1 et RL2 vous n'avez pas de relais 24V ayant une résistance de 1300 Ohms environ, il vous faudra modifier C1 et C2. Il faut tout simplement que les produits C1*RL1 et C2*RL2 restent égaux à ceux de mon montage.
Par exemple, si vous utilisez pour RL1 un relais ayant une résistance de 600 Ohms, il faut que 600 * C1 = 1300 * 47 µf donc C1 = 1300 * 47 µf / 600 = 100 µf.

3. La liste des composants

Carte écriture :

1 * Support tulipe 28 broches
2 * CD4040
1 * CD4049
2 * Condensateur 100 nf - 400 V
1 * Résistance 8,2 KOhms - 1/4 W
8 * Résistance 470 Ohms - 1/4 W

Carte lecture :

1 * Support tulipe 28 broches
2 * CD4040
1 * CD4049
1 * CD4512
1 * Condensateur 100 nf - 400 V

Carte sélection :

2 * Inverseur unipolaire à levier
2 * Inverseur bipolaire à levier

Carte alimentation :

TR1 : Transformateur 220V//24V 500 mA
B1 : Pont de diodes 50V - 1A
I1 : Double interrupteur 220V - 1.5A
D1 = D2 = D3 = D4 = D5 = D6 = D7 = D8 : 1N4001
DZ1 : Diode zener 8,2V - 1/4WD1
REG1 = REG2 = LM317
T1 : 2N2222

R1 : 220 Ohms - 1/4W
R2 : 220 Ohms - 1/4W
R3 : 470 Ohms - 1/4W
R4 : 10 KOhms - 1/4W
R5 : 1,5 KOhms - 1/4W
R6 : 1,5 KOhms - 1/4W
R6' : 1,5 KOhms - 1/4W
R7 : 1,5 KOhms - 1/4W
R7' : 2,2 KOhms - 1/4W
R8 : 22 Ohms - 1/4W
R9 : 47 Ohms - 1/4W

P1 = P2 = P3 = P4 : 1 KOhms - Pour circuit imprimé (debout)

C1 : 47 µf - 35V - Chimique radial
C2 : 1000 µf - 35V - Chimique radial
C3 : 4700 µf - 35V - Chimique radial
C4 : 470 µf - 35V - Chimique radial
C5 = C6 = C7 = C8 : 100 nf - 400V

RL1 = RL2 : Relais 24V - Bobine 1300 Ohms - 4RT

4. Les typons

Remarque : vous constaterez que les typons et les schémas d'implantation ne sont pas inversés; donc, il faudra placer le typon face non-imprimée contre la vitre de l'insoleuse (si cela n'est pas clair dans votre esprit, je vous invite à consulter le paragraphe sur l'insolation de la page sur la fabrication de CIs).

Cliquez ici pour télécharger tous ces typons, pour le logiciel Quickroute 3.6 lite, disponible dans les disquettes et CD-rom accompagnant la revue Electronique Pratique.

Ci-dessous le typon de la carte écriture; on remarquera que le support pour l'EPROM est soudé coté cuivre.


Ci-dessous le typon de la carte lecture; on remarquera que le support pour l'EPROM est aussi soudé coté cuivre.


Voici le typon de la carte sélection; vous avez la possibilité d'utiliser 4 inverseurs bipolaires au lieu de 2 inverseurs bipolaires et 2 inverseurs unipolaires.


Enfin, ci-dessous le typon de la carte alimentation. Quand j'ai réalisé mon GL27, cette carte était encore divisée en deux parties; celles-ci sont maintenant jointes, 4 straps suffiront pour relier ces deux parties électriquement.



5. Les implantations des composants


Ci-dessous l'implantation des composants de la carte écriture; on remarquera que le support pour l'EPROM est soudé coté cuivre.


Ci-dessous l'implantation des composants de la carte lecture; on remarquera que le support pour l'EPROM est aussi soudé coté cuivre.


Pour relier les cartes lectures et écriture au port parallèle, vous pouvez utilisez un câble muni d’un connecteur DB25 qui se branchera directement derrière le P.C. ou bien utiliser une embase Centronics; le programmateur d’EPROMs se connectera au P.C. avec un banal câble pour imprimante.

Voici le brochage du connecteur DB25 :


Et celui du connecteur Centronics :


Les numéros des broches étant sérigraphiés sur ces connecteurs, aucune confusion n’est possible.

Voici l'implantation des composants de la carte sélection; vous avez la possibilité d'utiliser 4 inverseurs bipolaires au lieu de 2 inverseurs bipolaires et 2 inverseurs unipolaires.


Enfin, ci-dessous l'implantation des composants de la carte alimentation. Quand j'ai réalisé mon GL27, cette carte était encore divisée en deux parties; celles-ci sont maintenant jointes, 4 straps suffiront pour relier ces deux parties électriquement.


Les deux régulateurs ont leur semelle alignées, pour permettre de les fixer sur un refroidisseur unique. Mais attention ! les deux semelles ne doivent pas êtres reliés électriquement. L'une des deux semelles sera donc isolée du radiateur par une plaque en mica et des rondelles isolantes :


Le potentiomètre que j’ai choisi pour P1, qui sert à régler VCC, est plus petit (en taille) que les autres. Mais ce n’est nullement une obligation; d’ailleurs, je vous recommande vivement de vous procurer tous les composants avant de commencer à réaliser les circuits imprimés ! Vous aurez sûrement à modifier leur tracé en conséquence. Pour faire cela aisément, procurez-vous le logiciel QR Lite (disponible en freeware dans les disquettes et CD-Rom de la revue Electronique Pratique), et téléchargez les quatre typons.

Pour faciliter l'utilisation du GL27, il faut le munir de trois diodes électroluminescentes. La première indiquera que le VPP est OK (témoin du relais RL1), la seconde indiquera que VCC=+5V (témoin du relais RL2), et enfin la troisième sera une diode de test qui permettra de savoir si le câble et port parallèle utilisés sont en bon état et bien configurés.

Pour cela, réalisez ce petit câblage supplémentaire :


Disposez ces composants sur une plaquette de Véroboard qui se montera facilement en face avant.

6. Quelques photos

Vue d'ensemble :



Autre vue d'ensemble :



Le panneau avant avec la fiche Centronics :



Le panneau supérieur avec tous les réglages :



Les deux inverseurs pour la carte écriture :



Les deux inverseurs pour la carte lecture :



Zoom sur SW1 (choix de VPP) :




7. Essais et réglages

Une fois vos cartes achevées, commencez d'abord par les inspecter soigneusement pour vérifier qu'une goutte de soudure ne court-circuite pas deux pistes adjacentes. Vérifiez également que tous les composants sont soudés au bon endroit et dans le bon sens (attention avec les diodes !). Notez que certaines pastilles sont inutilisées; celles-ci m'ont servi à mettre au point mon prototype.

Nous allons pouvoir commencer les essais et les réglages, qui concernent principalement l'alimentation.

Je vais d'abord vous décrire comment régler l'alimentation. Ne reliez pas la carte alimentation aux autres cartes pendant ces réglages ! Mettez le transformateur sous tension, et attendez que les deux relais se déclenchent pour avoir VCC et VPP en sortie de l'alimentation.

Si un des relais ne s'est pas déclenché (= ses contacts restent au repos), vérifiez votre câblage, ainsi que le brochage de vos relais.

Branchez un voltmètre sur la sortie VCC +5V de l'alimentation. Tournez P1 pour avoir 5,0 V (à 0,1V près). De la même manière, vous allez régler chacune des trois tensions VPP possibles. Branchez un voltmètre sur la sortie VPP. Tournez SW1 de manière à ce que VPP soit déterminé par P2, et tournez ce dernier pour avoir en sortie 12,5V. Tournez SW1 de manière à ce que VPP soit déterminé par P3, et tournez ce dernier pour avoir en sortie 21V. Tournez SW1 de manière à ce que VPP soit déterminé par P4, et tournez ce dernier pour avoir en sortie 25V.

Les réglages sont terminés !

Maintenant, il faut vérifiez que les tensions VCC et VPP respectent le chronogramme que je vous ai présenté plus haut.

Je vous rappelle comment l’alimentation doit se comporter :

1. Vous allumez l’alimentation
2. RL2 colle immédiatement, en sortie on a VCC = +5V et VPP = +5V
3. Après un temps TON, RL1 colle; en sortie on a VCC = +5V et VPP = 12,5/21/25 V
4. Vous éteignez l’alimentation
5. Après un temps très bref TOFF, RL1 décolle, en sortie on a VCC = +5V et VPP = +5V
6. Après un temps TOFF2, RL2 décolle, en sortie on a VCC = 0 et VPP = 0


Je rappelle que (en secondes) :
1,5 < TON < 3
0,25 < TOFF < 1
2 < TOFF2 < 3


Si les relais ne collent pas dans le bon ordre, vérifiez les valeurs des condensateurs chimiques et des résistances. Regardez si vous n’avez inversé des contacts repos/travail/commun. Il se peut aussi que la bobine de vos relais ne fasse pas 1300 Ohms. Comme je l’avais dis plus haut dans ce cas il fallait recalculer la valeur des condensateurs C1 et C2. Il faut tout simplement que les produits C1*RL1 et C2*RL2 restent constant.
Par exemple, si vous utilisez pour RL1 un relais ayant une résistance de 600 Ohms, il faut que 600 * C1 = 1300 * 47 µf donc C1 = 1300 * 47 µf / 600 = 100 µf.

Une fois que l’alimentation fonctionne, vous pouvez la relier aux autres cartes.

Avant de connecter votre programmateur d’EPROM au P.C., vérifiez que deux broches adjacentes du connecteur que vous utilisez (D25 ou Centronics) ne sont pas court-circuitées.

Le prochain paragraphe va justement traiter de l’utilisation du programmateur; lisez le attentivement avant d'utiliser votre GL27 ;-)

8. Utilisation

Maintenant je vais vous expliquer comment utiliser votre programmateur.

Le logiciel de commande, que vous pouvez télécharger ici, simplifie beaucoup l’utilisation du GL27; en effet, lorsque vous demandez la lecture ou l’écriture d’une EPROM, ce logiciel va vous guider pas à pas et vous indiquera à quels moments il faut insérer les EPROMS, manipuler les réglages, raccorder le GL27 au port parallèle, allumer et éteindre le GL27.

Bien que sous DOS, ce logiciel est très convivial grâce à un système de menus.

En fait, il vous suffit de poser votre programmateur sur une table, éteint et sans EPROM dans ses supports, et le logiciel vous indiquera quoi faire en temps voulu.

De plus, ce logiciel vous donne accès à une aide en ligne, et si cela ne suffit pas, il y a un lisez-moi accessible dans le menu principal et consultable sans quitter le logiciel.

Néanmoins, je vous rappelle que les réglages ne doivent êtres manipulés et les puces ne doivent être enfichées et retirées des supports qu’une fois le GL27 éteint (DIODE VCC ETEINTE). Les deux supports d’EPROM ne doivent pas être occupés en même temps. Comme je l’ai déjà dis, c’est le logiciel qui vous invitera à manipuler les boutons de réglages, à insérer et à retirer les EPROMs, et à allumer et à éteindre l'appareil dans l’ordre voulu.

Une fausse manipulation est sans danger pour le port parallèle, mais risque fort d'endommager les puces éventuellement présentes, et dans certains cas le programmateur lui-même (EPROMs mal enfichées).


Remarque : En ce qui concerne le temps de gravure, il est assez long; comme il faut 50ms pour graver un octet, il faut environ 35 minutes pour graver une 27256 entièrement.

Si l’EPROM chauffe exagérément durant la gravure, la tension VPP choisie est trop importante. Aujourd’hui la majorité des EPROMS ont un VPP de 12,5V.

Enfin, je terminerais cette partie en vous parlant de mon éditeur hexadécimal (sous Windows), qui vous permettra de créer et d’éditer les fichiers à graver dans vos EPROMS. Ces fichiers sont au format binaire, c’est le format utilisé par le logiciel PCPPGL27.

Voici un tableau résumant les fonctionnalités de ces deux logiciels :

PCPPGL27 ED27BLOC
Système DOS
Mode MS DOS
Windows 3.11/95/98
Commande
du GL27
OUI NON
Visualisation
des fichiers
OUI OUI
Comparaison
des fichiers
OUI NON
Edition des
fichiers
NON OUI
Format de
fichier
Binaire Binaire
Aperçu Copie d'écran Copie d'écran
Téléchargement Ici ! Ici !