Etudier le PCB d'une calculatrice des années 70. A quoi pensaient-ils?

16

J'ai étudié le PCB à partir d'une calculatrice ELSI 8002 depuis 1974. Je pense à réorienter le boîtier pour un projet, bien que maintenant que je l'ai corrigé (en ressoudant les connecteurs de la batterie), je ne sais pas si je peut supporter de le séparer. ( renifle ) Peut-être, je vais en acheter un plus profondément cassé pour mon projet ...

entrez la description de l'image ici

Mis à part la sentimentalité, je suis plutôt confus par la disposition du clavier. Le clavier ressemblait initialement à un clavier matriciel typique, mais après avoir soigneusement étudié les traces, j'ai constaté qu'il n'utilisait pas de lignes ou de colonnes.

entrez la description de l'image ici

Au début, je pensais que c'était peut-être parce qu'ils essayaient de sauvegarder les broches sur le micro contrôleur. Une disposition matricielle avec n lignes et m colonnes nécessite n + m broches. Mais, vraiment, nous n'avons besoin que d'une paire unique de broches pour chaque bouton. Donc, vraiment nous n'avons besoin que de x broches où n * m <= x Choisissez 2.

entrez la description de l'image ici

Une matrice 4x5 a 20 boutons et 20 <= 7 Choisissez 2 = 21. (en réalité, seulement 18 boutons sont nécessaires car le bouton de réinitialisation "C" est mappé d'une manière spéciale et ne partage aucune épingle avec les autres boutons, et il y a un inutilisé pad, mais peut-être qu'il est utilisé dans d'autres modèles?)

C'est ma tentative de faire correspondre chaque clé à deux broches.  Par exemple, le numéro 9 est connecté aux broches A et D.

Je pensais que c'était ce qui se passait puisque les lignes et les colonnes n'ont pas de broche commune ... mais la disposition utilise 9 broches ...? Avec 9 broches, pourquoi ne pas simplement en faire une matrice?

Je ne sais pas ce qui se passe, mais c'est quand même un bel appareil ...

futurebird
la source
3
La réduction du nombre de broches n'est pas le seul critère de conception électronique. Je doute que les ingénieurs qui ont conçu ce circuit soient là pour vous répondre.
Dmitry Grigoryev
1
Je pense qu'au moins une partie de cela serait qu'une matrice aurait besoin de plus de vias. Le coût de la via importe peu de nos jours, mais ils n'étaient pas toujours aussi bon marché.
JRE
3
Ah, mise en page faite à la main avec du ruban adhésif. Aucun logiciel de conception de PCB sophistiqué à l'époque et oui, il sera plaqué or.
JIm Dearden
2
Il ne s'agit pas du nombre de broches mais plutôt du décodage des clés dans le logiciel. Par exemple, vous n'avez qu'à surveiller les broches E et I - si l'un de ces deux reçoit un signal, alors une touche de fonctionnement a été enfoncée. Sinon, si ABC reçoit un signal, un nombre a été enfoncé. Rappelez-vous, c'est un processeur terriblement lent et minuscule par rapport aux normes d'aujourd'hui. L'enregistrement d'un seul "si" ou la lecture d'une clé d'entrée est un problème. Je voudrais en faire une réponse, mais je ne peux pas car la question est suspendue.
asdfex
2
Concernant la table futurebird compilée: Si vous placez les entrées des colonnes C et E de l'autre côté de la diagonale, vous voyez ce qui se passe: Tous les nombres impairs sur A, tous les nombres pairs sur C. Toutes les opérations simples sur E et les plus spéciales sur I. Je ne peux pas le montrer dans les commentaires, mais réorganiser les colonnes en HFGBD et les lignes en ACEI et vous obtenez une matrice 4x5 très soignée qui est beaucoup plus facile à décoder qu'une matrice ordonnée par position de la clé .
asdfex

Réponses:

23

Ce n'est pas seulement le nombre de broches utilisées pour lire une matrice de clavier qui compte. Une chose à considérer est le nombre de croisements de traces, c'est-à-dire le nombre de vias nécessaires. Chacun a besoin d'un trou à percer et ce processus n'était pas autant automatique dans les années 70 qu'aujourd'hui. Mais ce n'est pas le point majeur ici:

Une matrice 4x5 suivant la disposition géométrique des touches est complexe à décoder dans le processeur. Bien que ce soit une chose banale à faire dans les CPU d'aujourd'hui, la calculatrice de poche a toujours eu et a toujours des architectures de processeur très simples. A cette époque, principalement à cause du prix. Rappelez-vous, le processeur de 1971 était le processeur Intel 4004, 4 bits et 100k instructions par seconde et on peut supposer que la puce de cette calculatrice (je n'ai pas pu trouver de fiche technique) est moins puissante.

La table @futurebird créée lors de l'inspection du circuit ressemble à un désordre total de connexions. En fait, ce n'est pas vrai comme nous le voyons en réorganisant simplement les colonnes et les lignes:

   H F G B D
A  1 3 5 7 9
C  2 4 6 8 0
E  .     % C
I  * / + - =

Ici, nous pouvons clairement voir l'intention des développeurs: tous les nombres pairs partagent la broche C, tous les nombres impairs partagent la broche A. Cela rend le décodage d'une touche enfoncée pour former un nombre en mémoire aussi simple que possible: sur le silicium, il doit y avoir juste un "encodeur 5 entrées à 3 bits" pour obtenir les bits 3..1 du chiffre résultant en représentation binaire tandis que le bit le plus bas est défini ou effacé selon que la ligne A ou C était active. De la même manière, toutes les opérations peuvent être détectées en vérifiant la ligne I et les plus spéciales sur l'entrée E.

Comparez cela au décodage d'un chiffre de la matrice 4x5 de base: Ici, il y a 7 entrées à vérifier pour récupérer 4 bits du nombre résultant. Il est évident que cette table de correspondance consomme plus d'espace sur le tissu en silicone.

En utilisant ces connexions matricielles, les fonctionnalités coûteuses du silicium sont réduites au minimum, tout en réfléchissant à la planification minutieuse de la structure de la matrice et en faisant un peu d'effort dans la conception d'un PCB correspondant aux connexions prévues, ce qui n'ajoute pas beaucoup à la les coûts globaux de l'appareil.

asdfex
la source
1
Si je me souviens bien, les anciennes calculatrices utilisaient une architecture bit-série, qui est beaucoup plus simple, plus lente, plus faible puissance et moins de silicium que quelque chose de sophistiqué comme un 4004. En bit-serial, les opérations mathématiques nécessitent un cycle d'horloge par bit de données. Pour un exemple d'une opération série binaire, voir en.wikipedia.org/wiki/Serial_binary_adder .
Tom Anderson
Je voulais juste dire que c'était une réponse incroyable. Je vous remercie!
futurebird