He estado estudiando el PCB de una calculadora ELSI 8002 desde 1974. Estoy pensando en reutilizar el caso para un proyecto, aunque ahora que lo he arreglado (al volver a soldar los conectores de la batería) no sé si puede soportar separarlo. ( sniff ) Tal vez, compraré uno más roto para mi proyecto ...
Dejando a un lado el sentimentalismo, estoy bastante confundido por el diseño del teclado. Inicialmente, el teclado parecía un teclado matricial típico, pero después de estudiar cuidadosamente los rastros, descubrí que no está usando filas o columnas.
Al principio pensé que esto podría deberse a que intentaban guardar los pines en el microcontrolador. Un diseño de matriz con n filas ym columnas requiere n + m pines. Pero, realmente, solo necesitamos un par único de pines para cada botón. Entonces, realmente solo necesitamos x pines donde n * m <= x Elija 2.
Una matriz 4x5 tiene 20 botones y 20 <= 7 Elija 2 = 21. (en realidad solo se necesitan 18 botones ya que el botón de reinicio "C" está asignado de una manera especial y no comparte pines con los otros botones, y hay un no utilizado almohadilla, aunque tal vez se usa en otros modelos?)
Pensé que esto era lo que estaba sucediendo ya que las filas y las columnas no tienen un pin común ... pero el diseño usa 9 pines ...? Con 9 pines, ¿por qué no convertirlo en una matriz?
Respuestas:
Lo que importa no es solo la cantidad de pines utilizados para leer una matriz de teclado. Una cosa a considerar es el número de cruces de trazas, es decir, el número de vías necesarias. Cada uno necesita perforar un agujero y este proceso no fue tan automático en los años setenta como lo es hoy. Pero, este no es el punto principal aquí:
Una matriz 4x5 que sigue el diseño geométrico de las teclas es compleja de decodificar en el procesador. Si bien esto es algo trivial en las CPU actuales, la calculadora de bolsillo siempre tuvo y aún tiene arquitecturas de procesador muy simples. En ese momento, principalmente por el precio. Recuerde, el procesador de la computadora de 1971 fue el Intel 4004, 4 bits y 100k instrucciones por segundo y se puede suponer que el chip de esta calculadora (no pude encontrar una hoja de datos) es menos potente.
La tabla que @futurebird creó al inspeccionar el circuito parece que hay un lío total de conexiones. En realidad, esto no es cierto como vemos simplemente reorganizando columnas y filas:
Aquí podemos ver claramente la intención de los desarrolladores: todos los números pares comparten el pin C, todos los impares comparten el pin A. Esto hace que decodificar una tecla para formar un número en la memoria sea lo más simple posible: en el silicio debe haber solo un "codificador de 5 entradas a 3 bits" para obtener los bits 3..1 del dígito resultante en representación binaria mientras el bit más bajo se establece o borra dependiendo de si la línea A o C estaba activa. De la misma manera, todas las operaciones se pueden detectar comprobando la línea I y las más especiales en la entrada E.
Compare eso con la decodificación de un dígito de la matriz básica de 4x5: aquí hay 7 entradas que se deben verificar para recuperar 4 bits del número resultante. Es obvio que esta tabla de consulta consume más espacio en la tela de silicona.
Usando estas conexiones de matriz, las características costosas en el silicio se mantienen al mínimo, mientras se piensa un poco en planificar cuidadosamente la estructura de la matriz y un pequeño esfuerzo en diseñar una PCB que coincida con las conexiones previstas que no agrega mucho a la costos generales del dispositivo.
fuente