Sommaire cliquez ici si le menu est absent Sommaire


Évolutions possibles
vers un nouveau montage :

La mémoire 27c512 utilisée pour stocker le message est l'EPROM 28 broches 8 bits qui a la capacité la plus importante (64 ko) ; mais il existe des mémoires 8 bits de capacité supérieure en boîtier 32 broches, les 27c010 (128 ko), 27c020 (256 ko), 27c040 (512 ko) et 27c080 (1 Mo). Si vous pouvez accéder à un programmateur prenant en charge ces modèles, il est possible de développer un nouveau système fonctionnant sur le même principe que celui décrit dans ces pages, mais utilisant cet espace mémoire plus étendu. Jetons un oeil sur les brochages des EPROMs :

Brochages comparés des EPROMs 27c512, 27c010, 27c020, 27c040 et 27c080

La figure 1 ci-dessus nous révèle des informations qui vont nous faciliter la tâche :


Retenons essentiellement de ce qui précède que nos "nouvelles EPROMs" ont juste en plus 1, 2, 3 ou 4 broches d'adresses supplémentaires : A16, A17, A18 et A19. Par ailleurs, nous disposons aussi de sorties au niveau des compteurs CD4040, qui étaient jusque-là inutilisées : avec deux compteurs à 12 étages 'en cascade', on dispose de 24 lignes d'adresses (A0 à A23), nous utiliserons au moins les lignes A0 à A20. La dernière sortie du compteur utilisée doit fournir une information "Arrêt de défilement" (pour bloquer le signal d'horloge). La situation, à ce stade de notre réflexion, est résumée figure 2 :

Version avec EPROMs 32 broches

Comme le laisse supposer la figure 2, il existe plusieurs possibilités de combinaisons selon le type de mémoire 27c0x0, et selon le résultat recherché : on peut vouloir privilégier la lecture d'un message plus long, le choix parmi plusieurs messages courts, ou encore une solution intermédiaire (quelques messages, un peu plus longs) ; ces différents cas de figures vont être détaillés dans ce qui suit.


Un seul message long :

Version avec un message unique, plus long

C'est le cas le plus simple, qui est juste une extrapolation du montage original, avec plus de lignes d'adresses ; comme on le voit figure 3, les sorties supplémentaires des compteurs sont reliées directement aux entrées d'adresses correspondantes de l'EPROM, quel que soit le modèle de mémoire présent ; les éventuelles entrées PGM et Vpp seront ainsi maintenues au niveau logique "0". La seule différence sera alors le choix de la sortie du compteur indiquant la fin du message : sélecteur sur A pour une 27c010, sur B pour une 27c020, sur C pour une 27c040 et sur D pour une 27c080. Le 'sélecteur' peut être un commutateur, un 'micro-switch DIP', un cavalier sur un bout de barrette sécable, ou un simple strap dans une configuration figée. Si on laisse le sélecteur sur C avec une 27c020, le message sera lu deux fois ; si on le met sur A avec la même mémoire, il sera tronqué et seule la première moitié sera lue ; on en déduit assez facilement le comportement du système dans d'autres cas de figures. La durée du message enregistré dans une 27C080 est 16 fois plus longue qu'avec une 27c512 (8 fois avec une 27c040, 4 fois avec une 27c020, 2 fois avec une 27c010).


Plusieurs messages courts :

Version avec plusieurs messages courts, au choix

La figure 4 nous montre que l'on se retrouve exactement dans la configuration du montage d'origine (défilement des adresses A0 à A15, blocage par A16), la différence réside au niveau d'une roue codeuse qui permet d'envoyer un code binaire de quatre bits sur les nouvelles entrées d'adresses de l'EPROM. L'espace mémoire total se retrouve donc cisaillé en 16 tronçons contigus, chacun ayant la taille mémoire d'une 27c512. On peut ainsi sélectionner un message parmis 16 en affichant son numéro en Hexadécimal sur la roue codeuse (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E ou F), et en pointant ainsi le tronçon à balayer. En dehors de la 27c080, il y aura des adresses 'fantômes', c'est à dire plusieurs numéros déclenchant le même message.
Par exemple avec une 27C020 :
- 0, 4, 8 et C lancent le premier message.
- 1, 5, 9 et D lancent le deuxième message.
- 2, 6, A et E lancent le troisième message.
- 3, 7, B et F lancent le quatrième message.
Ceci est dû au fait que, avec la 27c020, les entrées A18 et A19 sont purement ignorées. De même, avec la 27c010, il n'y a que deux messages différents, correspondants soit aux numéros pairs, soit aux numéros impairs. Avec une 27c080, on aura le choix parmi 16 messages, 8 pour une 27c040, etc. (chaque message ayant la durée de ceux stockés dans une 27c512).


Cas intermédiaires :

Cela revient à utiliser certaines des entrées d'adresses supplémentaires (celles de poids binaires les plus faibles, A16, voire A17 et A18) pour rallonger la durée des messages (à la façon de la figure 3) ; les entrées de poids les plus élevés (A19, voire A18 et A17) permettent de sélectionner le message (dans l'esprit de la figure 4).

1 à 8 messages, plus longs qu'avec la 27c512

Le premier exemple est celui de la figure 5 : les adresses A0 à A16 définissent des messages d'une durée double par rapport à ceux de la 27c512. A17 assure l'arrêt de la lecture. La roue codeuse permet ensuite de choisir un de ces huit messages (en supposant une 27c080), les combinaisons '8' à 'F' de la roues donnant le même résultat que les combinaisons '0' à '7'. Avec une 27c010, la roue codeuse devient inutile et l'on se retrouve dans le cas de la figure 3.

autre variante...

Le second exemple, décrit figure 6, utilise deux entrées d'adresses supplementaires (A16, A17), d'où des messages d'une durée quatre fois plus importante qu'avec une 27c512. Avec une 27c020, il n'y a qu'un message stocké, et l'interrupteur est inutile. Avec une 27c040, il y a deux messages, l'interrupteur permettant le choix du message. L'utilisation d'une 27c080 n'a pas de sens car l'entrée A19 n'est pas connectée (en pratique, on la mettrait à la masse, car il faut tout de même fixer la broche à un potentiel).


Réalisation d'un prototype :

Comme le précise le titre, il s'agit juste d'un prototype, il ne sera donc pas décrit dans le détail, seuls seront donnés quelques éléments pour vous guider si vous souhaitez mener à bien vos propres expérimentations. N'hésitez pas à partir du circuit imprimé conçu sous ARES, et à le transformer pour y intégrer les modifications.

Synoptique du prototype réalisé

Le schéma présenté figure 7 s'inspire de celui de la figure 3, le prototype retient donc l'option de ne lire qu'un seul message, mais le plus long possible (A16, A17, A18 et A19 commandées directement par les compteurs). Il est prévu pour pouvoir accueillir n'importe lequel des quatre types de mémoires 27c0x0, mais aussi une 27C512, qui occupera donc les 28 broches 3 à 30 du support 32 broches. Pour que cela soit possible, un cavalier est prévu sur la carte pour orienter vers la broche 30 du support :
- soit Vcc (l'alimentation +5v) dans le cas de la 27c512.
- soit l'entrée d'adresse A17 dans le cas d'une 27c0x0.
Il est également prévu un quadruple switch DIP qui permet le choix de la sortie du compteur envoyant le signal de fin de défilement. Un seul interrupteur est passant ('ON') à la fois ; si plusieurs le sont, c'est le premier qui est pris en compte, les quatre diodes permettant dans ce cas d'éviter un court-circuit entre les lignes d'adresses (A16, A17, A18 et A19). Selon le type de mémoire :

Si le switch est mal configuré, le message sera lu plusieurs fois, ou bien tronqué. La diode présente sur la sortie A20 du compteur met fin au message dans le cas d'une 27c080, elle ne gêne pas le fonctionnement des autres mémoires. Ne pas oublier de mettre le cavalier pour le choix 27c512 / 27c0x0 sur la bonne position (sinon le résultat peut être déroutant).

Le prototype vu côté composants
[Scan du circuit imprimé]

La photo ci-dessus montre le prototype une fois câblé, avec le cavalier juste à gauche du second CD4040, et le quadruple switch associé aux diodes un peu au-dessus. Le montage des diodes et du switch n'est pas très conventionnel, mais il facilite la réalisation du prototype. A l'heure qu'il est, celui-ci fonctionne correctement avec les 27C010, 27C020 et 27C040 (ou leurs équivalents 27c1001, 27c2001, 27c4001), mais je n'ai pas pu me procurer de 27C080 pour les essais ; si l'une d'entre-elles encombre vos tiroirs, envoyez-la moi...


Dernière mise à jour : le 06/07/2003.

Sommaire cliquez ici si le menu est absent Sommaire