Estudando o PCB de uma calculadora dos anos 70. O que eles estavam pensando?

16

Eu estudei o PCB a partir de uma calculadora ELSI 8002 desde 1974. Estou pensando em redefinir o caso de um projeto, embora agora que o tenha corrigido (soldando os conectores da bateria), não sei se pode suportar separá-lo. ( fungando ) Talvez eu compre um mais quebrado para o meu projeto ...

insira a descrição da imagem aqui

Sentimentalismo à parte, estou um pouco confuso com o layout do teclado. O teclado inicialmente parecia um teclado de matriz típico, mas depois de estudar cuidadosamente os rastreamentos, descobri que ele não está usando linhas ou colunas.

insira a descrição da imagem aqui

No começo eu pensei que isso poderia ser porque eles estavam tentando salvar pinos no micro controlador. Um layout de matriz com n linhas e m colunas requer n + m pinos. Mas, na verdade, precisamos apenas de um par de pinos exclusivo para cada botão. Então, na verdade, precisamos apenas de pinos x onde n * m <= x Escolha 2.

insira a descrição da imagem aqui

Uma matriz 4x5 possui 20 botões e 20 <= 7 Escolha 2 = 21. (realmente são necessários apenas 18 botões, pois o botão de reset "C" é mapeado de uma maneira especial e não compartilha pinos com os outros botões, e existe um botão não utilizado. pad, embora talvez seja usado em outros modelos?)

Esta é a minha tentativa de combinar cada chave com dois pinos.  Por exemplo, o número 9 está conectado aos pinos A e D.

Eu pensei que era isso que estava acontecendo, já que linhas e colunas não têm um alfinete comum ... mas o layout usa 9 pinos ...? Com 9 pinos, por que não fazer apenas uma matriz?

Não sei o que está acontecendo, mas ainda é um dispositivo adorável ...

futurebird
fonte
3
Reduzir a contagem de pinos não é o único critério no projeto da eletrônica. Duvido que os engenheiros que projetaram este circuito estejam aqui para lhe responder.
Dmitry Grigoryev
11
Espero que pelo menos parte disso seja que uma matriz precise de mais vias. O custo da via dificilmente importa nos dias de hoje, mas nem sempre foram tão baratos.
JRE
3
Ah, layout feito à mão usando fita adesiva. Nenhum software sofisticado de design de PCBs naquela época e sim, será banhado a ouro.
JIm Dearden
2
Não se trata do número de pinos, mas mais da decodificação das chaves no software. Por exemplo, você só precisa monitorar os pinos E e I - se algum desses dois receber um sinal, uma tecla de operação foi pressionada. Caso contrário, se ABC receber um sinal, um número foi pressionado. Lembre-se, essa é uma CPU muito lenta e minúscula para os padrões atuais. Salvar um único "se" ou ler uma chave de entrada é um problema. Eu faria disso uma resposta, mas não posso, pois a pergunta está em espera.
Asdfex
2
Em relação à tabela futurebird compilada: Se você colocar as entradas das colunas C e E no outro lado da diagonal, verá o que está acontecendo: Todos os números ímpares em A, todos os números pares em C. Todas as operações simples em E e as mais especiais em I. Não é possível mostrá-lo nos comentários, mas reordene as colunas como HFGBD e as linhas como ACEI e você obtém uma matriz 4x5 muito elegante que é muito mais fácil de decodificar do que uma matriz ordenada pela posição da tecla .
Asdfex

Respostas:

23

Não é apenas o número de pinos usado para ler uma matriz do teclado. Uma coisa a considerar é o número de passagens de traços, ou seja, o número de vias necessárias. Cada um precisa de um furo a ser perfurado e esse processo não foi tão automático nos anos setenta como é hoje. Mas, este não é o ponto principal aqui:

Uma matriz 4x5 seguindo o layout geométrico das chaves é complexa para decodificar no processador. Embora isso seja algo trivial nas CPUs de hoje, a calculadora de bolso sempre teve e ainda possui arquiteturas de processador muito simples. Naquela época, principalmente por causa do preço. Lembre-se, o processador do computador de 1971 era o Intel 4004, instruções de 4 bits e 100k por segundo e pode-se supor que o chip desta calculadora (não consegui encontrar uma folha de dados) é menos poderoso.

A tabela @futurebird criada durante a inspeção do circuito parece haver uma bagunça total de conexões. Na verdade, isso não é verdade, como vemos simplesmente reorganizando colunas e linhas:

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

Aqui podemos ver claramente a intenção dos desenvolvedores: Todos os números pares compartilham o pino C, todos os ímpares compartilham o pino A. Isso torna a decodificação pressionada uma tecla para formar um número na memória o mais simples possível: No silício, deve haver apenas "5 entradas para codificador de 3 bits" para obter os bits 3..1 do dígito resultante na representação binária enquanto o bit mais baixo é definido ou limpo, dependendo da linha A ou C estar ativa. Da mesma maneira, todas as operações podem ser detectadas verificando a linha I e as mais especiais na entrada E.

Compare isso com a decodificação de um dígito da matriz 4x5 básica: Aqui há 7 entradas a serem verificadas para recuperar 4 bits do número resultante. É óbvio que essa tabela de consulta consome mais espaço no tecido de silicone.

Usando essas conexões de matriz, os recursos caros do silício são mantidos no mínimo, enquanto se dedica um pouco ao planejar cuidadosamente a estrutura da matriz e um pouco de esforço ao projetar uma PCB correspondente às conexões pretendidas, o que não acrescenta muito ao custos gerais do dispositivo.

asdfex
fonte
11
Se bem me lembro, calculadoras antigas usavam uma arquitetura serial em bits, que é muito mais simples, mais lenta, com menor consumo de energia e menos silício do que algo sofisticado como um 4004. Em serial serial, as operações matemáticas exigem um ciclo de clock por bit de dados. Para um exemplo de operação bit-serial, consulte en.wikipedia.org/wiki/Serial_binary_adder .
Tom Anderson
Eu só queria dizer que essa foi uma resposta incrível. Obrigado!
futurebird 10/01