Sommaire | cliquez ici si le menu est absent | Sommaire |
---|
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 :
La figure 1 ci-dessus nous révèle des informations qui vont nous faciliter la tâche :
Les mémoires 27c0x0 possèdent des entrées d'adressage supplémentaires permettant l'accès à l'espace mémoire plus étendu : A16 pour la 27c010 ; A16 et A17 pour la 27c020 ; A16, A17 et A18 pour la 27c040 ; A16, A17, A18 et A19 pour la 27c080.
Seule la 27c080 possède quatre entrées d'adresses correspondant aux quatre broches supplémentaires du circuit ; les broches disponibles sur les autres EPROMs sont destinées à la programmation : 'PGM(P)' et 'Vpp' (ou non connectée dans le cas de la broche 17 de la 27c010) ; en mode 'lecture' (notre configuration d'utilisation) il suffira de leur fixer un potentiel, mais elle ne nous gêneront pas, car elles ne requièrent pas de signaux particuliers.
En dépit de la différence de nombre de pattes des circuits, le brochage de la 27c512 est en partie compatible avec celui des 27c0x0, à l'exception de la broche d'alimentation Vcc (pin 28 de la 27c512) qui est remplacé par la ligne d'adresse A17 ('Non Connectée' pour la 27c010), l'alimentation de la 27C0x0 se faisant sur la broche 32. Les broches 3 à 29 des 27c0x0 viennent donc en place et lieu des broches 1 à 27 de la 27c512, mais tiennent le même rôle.
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 :
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.
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).
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).
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).
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.
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).
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.
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).
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...
Sommaire | cliquez ici si le menu est absent | Sommaire |
---|