MICROPROCESSEURment le mode « BlankCheck » et « Normal ».Une seule pression surle bouton S1 fait passerla GAL en mode« Blank Check ». Il estpossible alors d’effacerle contenu de l’émulateuren faisant exécuterun test de virginité(blanck check) par leprogrammateur. Cemode reste en fonctionjusqu’à ce que l’utilisateuractionne le bouton-poussoirS1 ou quele programmateur semette à programmerl’émulateur.Une unique pressionsur S2 fait passerl’émulateur en mode« Normal ». L’émulateurse comporte à partir delà comme une EPROMnormale. Dès que leprogrammateur se metà programmer l’émulateur(Vpp passe à>12,5 V), l’émulateurpasse automatiquement en mode«Program ». Dès la fin de l’opérationde programmation (Vpp est repassé à=5V) l’émulateur revient automatiquementen mode « Normal ».Mode « Blank Check »Ce mode remplit une double fonction,à savoir, d’une part, simuler uneEPROM vierge, et ensuite à videreffectivement la RAM de soncontenu. Le chronodiagramme de lafigure 3 montre la forme des signauxau cours du mode « Blank Check ».Comme nous le signalions plus haut,la grande majorité des programmateurss’assurent que l’EPROMconfiée à leurs soins est bien videavant d’en effectuer la programmation.Dès lors qu’ils se sont assurésde la virginité de l’EPROM, la majoritédes programmateurs met à profitcette caractéristique pour augmenterla vitesse de l’opération deprogrammation. Comme le programmateursait que chaque adresse del’EPROM (vierge) comporte la valeur0xFF, il peut se passer de programmerles adresses où il aurait falluprogrammer un 0xFF. Ces sauts luifont gagner du temps. Cela impliquecependant que l’émulateur d’EPROMsoit effectivement totalement « vide »avant qu’il ne soit programmé.La technique classique de contrôlede virginité d’une EPROM consiste àla lecture de toutes ses adresses et àune comparaison des données luesavec la valeur 0xFF. Le programmateurgénèrera partant toutes lesadresses possibles et produire, pourchacune des adresses, une impulsionde lecture. Nous pouvons mettre ceprocessus à contribution pour vider«l’EPROM ». La conversion de cetteimpulsion de lecture produite par leprogrammateur en une impulsiond’écriture destiné au circuit intégréde RAM on pourra programmer chacunedes adresses. Toutes les lignesde données sont forcées au +5 V parle biais du réseau de résistances R9,ce qui permet de remplir IC3 de données0xFF partout.Le programmateur lui-même a émisune instruction de lecture de sortequ’il s’attend à trouver des données(0xFF de préférence) sur le bus dedonnées. C’est là la tâche du tamponIC5. L’entrée DIR reste au niveaubas, ce qui signifie que les signaux Asont montés en sortie et que lessignaux B le sont en entrée. Cessignaux B sont eux aussi forcés au +5 V parle biais du réseau R9 de sorte que le tamponplacera les données souhaitées (0xFF) sur lebus de données.ProgrammationLe signal EPVpp permet à la GAL de détecterune tension de programmation (= 12,5 V).Dès qu’elle voit apparaître une tension de cetype, la GAL fera en sorte que le comportementde l’émulateur soit celui d’une EPROMen mode de programmation. Une EPROM setrouvant dans cet état réagit différemmentaux signaux CS et OE. En fait, on pourrait fortbien, dans cet état, changer la dénominationde ces signaux en WR et RD. On remarque enoutre qu’il n’y a plus de signal supplémentairepour la sélection de l’EPROM. Cela n’estd’ailleurs pas nécessaire en cours de programmationvu que l’EPROM n’a pas à partagerles bus de données et d’adresses avecd’autres composants de mémoire. Dans cemode, l’EPROM se trouve pour ainsi diresélectée en permanence (cf. le chronodiagrammede la figure 4).Au cours d’une impulsion de programmationle circuit intégré tampon doit transférer lesdonnées du programmateur d’EPROM versIC3. Ceci s’obtient par la mise au niveau hautdu signal DIR. Pendant une impulsion de lecture(le signal OE est actif) le tampon doit11/2002 Elektor13
MICROPROCESSEURtaponner les données dans l’autre direction cequi explique qu’il faudra que la GAL forcealors l’entrée DIR au niveau bas.Mode normalLa figure 5 rend le chronodiagramme dessignaux lorsque l’émulateur d’EPROM setrouve en mode « Normal ». Un coup d’oeilmontre à l’évidence que la GAL n’a pas, dansce mode, à remplir de fonctions délicates oucomplexes.La GAL remplit, pour finir, une fonction d’économiesd’énergie lorsque l’émulateur n’estpas en service. Par le biais de la paire R3/D3IC4 détecte la présence d’une tension d’alimentationexterne. En l’absence d’une telletension on pourra fort bien forcer IC5 et IC3 àl’inactivité. IC4 se charge de veiller à ce queles signaux G et CS ne puissent pas deveniractifs, ce qui se traduit par une consommationmoindre de IC3 et IC5 lorsque le montagen’est pas utilisé. Une caractéristique intéressantevu que l’alimentation de notre émulateurse fait par le biais d’une pile.L’alimentationL’ensemble du montage est alimenté en permanencepar une pile compacte de 9 V.C’est à dessein que nous n’avons pas choisid’alimenter le montage à partir de la ligne+5 V de l’EPROM. En effet, lors de la programmationcette tension peut atteindre+6 V, ce que les circuits intégrés de l’émulateurn’apprécient pas nécessairement tous. Sivous voulez quand même utiliser cette tensionau lieu d’une pile, il vous faudra prendreles mesures requises en vue de stabiliser ladite tension à +5 V. On pourrait envisagerd’utiliser un convertisseur CC/CC, mais lesavantages présentés par cette approche sontlargement écrasés par ses inconvénients. Lemontage ne peut manquer de prendre del’embonpoint et devient plus encombrant. Àcela s’ajoute qu’il est impossible de supprimertotalement la pile vu que le montage nese trouve pas relié en permanence à la tensiond’alimentation externe de sorte qu’IC3perdrait le contenu de sa mémoire dès quel’émulateur d’EPROM quitte le programmateurd’EPROM pour aller s’implanter dans lecircuit-cible.La réalisationNous vous proposons, en figure 6, le dessindes pistes et la sérigraphie de l’implantationdes composants de la platine qui permet defaire de l’émulateur d’EPROM un montagecompact. Cette étape de réalisation nedevrait guère vous poser de problème.Comme d’habitude, nous commenceronspar l’implantation des composantsde l’épaisseur relative laplus faible, les résistances montéeshorizontalement. On passera ensuiteà la mise en place des autres composantsdiscrets, des circuits intégréset des boutons-poussoirs. Cettepartie de l’implantation des composantsappelle 2 remarques. La premièreconcerne le connecteur del’émulateur identifié par un « IC2 »sur la sérigraphie. Il s’agit en faitd’une paire de rangées de14 contacts devant ressortir par ledessous de la platine ce qui expliquequ’ils soient montés par le dessous;il est préférable d’effectuer ce montageavant de mettre les circuitsintégrés en place. Autre détail marquant,le circuit de RAM, IC3, vientse monter au-dessus des circuits IC4et IC5. Cette disposition implique demettre d’abord IC4 et IC5 sur la platineavant que IC3 ne vienne pendreplace sur un support rehausseur. Cesupport pourra prendre la formed’une paire de barrettes de14 contacts en tulipe. Il va sans direque les circuits IC4 et IC5 sont àmonter directement sur la platine vuque sinon il faudrait monter IC3 surun échafaudage de 2 épaisseurs debarrette. Attention à l’implantationde IC3 : ce circuit intégré doit setrouver, vu du dessus décalé vers ladroite par rapport aux rangées decontact de « IC2 » (les boutons-poussoirsse trouvant en bas).Il reste à évoquer quelques détailspratiques. On pourra penser à collerla pile de 9 V sur le dos de IC3 à l’aided’un morceau de film autocollantdouble face de manière à réaliser unensemble compact. Il peut être intéressantvoire nécessaire de limer lebord de la platine du côté de la diodeD1 de manière à faciliter le passagedu levier du support FIN du programmateurd’EPROM. En pratique, nousavons constaté qu’il suffisait de leverpartiellement ce levier pour pouvoirglisser les contacts de l’émulateurd’EPROM dans le support de sortequ’il n’est pas toujours nécessaired’effectuer cette opération de limage.Les derniers pasUne fois la réalisation du montageterminée et que l’on y a connecté lapile, l’émulateur d’EPROM est prêt àêtre utilisé. Il est cependant recommandéde procéder à quelques testsde bon fonctionnement. Il est facilede vérifier le bon état de la GAL parune action sur S1.On devrait voir alors s’allumer laLED rouge D5, une pression sur latouche S2 devrait la faire s’éteindre.Mettez l’émulateur d’EPROM dans leprogrammateur et appuyez sur S1.Demandez au programmateur d’effectuerun test de virginité. Si tout sepasse comme prévu, le programmateurannonce que l’EPROM estvierge (blank). Appuyez ensuite surS2 pour faire passer l’émulateur enmode « Normal ». Relancez un testde virginité. Ce test égalementdevrait se passer normalement. Celaprouve que chaque emplacement demémoire de IC3 contient effectivementla valeur 0xFF.On pourra, comme dernier test, vérifierla fonction de programmation.On choisira, pour cela, un fichier deprogrammation quelconque dans lecadre du logiciel de programmationet demandera au programme de programmerl’EPROM. ; la LED D4 doitd’allumer. Il restera à effectuer unevérification pour s’assurer que lecontenu de l’émulateur (la RAM) correspondbien à celui du fichier deprogrammation que l’on a transféré.Si vous deviez rencontrer un problème,prenez le temps de vérifierl’ensemble de votre réalisation. Lesaspects importants auxquels il fautfaire attention est l’orientation descircuits intégrés, la polarité desdiodes et la valeur correcte des composants(cf. la liste des composantset le schéma). Assurez-vous de l’absencede court-circuit ou de mauvaiscontact au niveau des soudures.Il est judicieux en outre de monter,dans le support destiné à l’EPROM dumontage-cible, un support FIN, ce quifacilitera les opérations de mise enplace et d’extraction de l’émulateurd’EPROM sans risque d’usure pour lesupport du montage. Ce support FINpermet normalement de se mettre àl’abri de phénomènes bizarres dus àun mauvais contact entre l’émulateuret le montage-cible. Les supports bonmarché en particulier ont la mauvaisehabitude de s’user rapidement et deperdre le ressort de leurs contacts, cequi est loin de faciliter les recherchesen cas de problème.(024066)14 Elektor 11/2002