Изучение печатной платы калькулятора 70-х годов. О чем они думали?

16

Я изучал печатную плату на калькуляторе ELSI 8002 с 1974 года. Я подумываю о перепрофилировании корпуса для проекта, хотя теперь, когда я исправил его (перепаяв разъемы батареи), я не знаю, может нести, чтобы вытащить его на части. ( нюхает ) Может быть, я куплю более глубоко сломанный для моего проекта ...

введите описание изображения здесь

Помимо сентиментальности, меня довольно смущает раскладка клавиатуры. Изначально клавиатура выглядела как обычная матричная клавиатура, но после тщательного изучения ее следов я обнаружил, что в ней не используются строки или столбцы.

введите описание изображения здесь

Сначала я подумал, что это может быть потому, что они пытались сохранить контакты на микроконтроллере. Матричный макет с n строками и m столбцами требует n + m выводов. Но на самом деле нам нужна только уникальная пара контактов для каждой кнопки. Итак, на самом деле нам нужны только контакты x, где n * m <= x Выберите 2.

введите описание изображения здесь

Матрица 4x5 имеет 20 кнопок и 20 <= 7. Выберите 2 = 21. (на самом деле требуется только 18 кнопок, поскольку кнопка сброса «C» отображается особым образом и не разделяет контакты с другими кнопками, а неиспользуемые накладка, хотя может она используется в других моделях?)

Это моя попытка сопоставить каждый ключ с двумя выводами.  Например, число 9 связано с контактами A и D.

Я думал, что это происходит, так как строки и столбцы не имеют общего вывода ... но макет использует 9 контактов ...? С 9 выводами, почему бы просто не сделать это матрицей?

Я не знаю, что происходит, но это все еще прекрасное устройство ...

futurebird
источник
3
Уменьшение количества выводов - не единственный критерий в дизайне электроники. Я сомневаюсь, что инженеры, которые разработали эту схему, будут здесь, чтобы ответить вам.
Дмитрий Григорьев
1
Я ожидаю, что, по крайней мере, отчасти это будет связано с тем, что матрице потребуется больше переходных отверстий. Стоимость via вряд ли имеет значение в наши дни, но они не всегда были такими дешевыми.
JRE
3
Ах, сделанный вручную макет с использованием ленты. Никакого изящного программного обеспечения для проектирования печатных плат тогда и да, оно будет позолочено.
Джим Дирден
2
Дело не в количестве выводов, а в расшифровке ключей в программном обеспечении. Например, вам просто нужно следить за контактами E и I - если любой из этих двух получает сигнал, то была нажата рабочая клавиша. Иначе, если ABC получает сигнал, нажата цифра. Помните, что по сегодняшним меркам это очень медленный и крошечный процессор. Сохранение одного «если» или чтение клавиши ввода является проблемой. Я бы сделал это ответом, но не могу, так как вопрос приостановлен.
asdfex
2
Относительно таблицы, скомпилированной futurebird: если вы поместите записи столбцов C и E на другую сторону диагонали, вы увидите, что происходит: все нечетные числа на A, все четные числа на C. Все простые операции на E и более особенные на I. Не могу показать это в комментариях, но переставить столбцы как HFGBD, а строки как ACEI, и вы получите очень аккуратную матрицу 4x5, которую гораздо проще декодировать, чем матрицу, упорядоченную по положению ключа ,
asdfex

Ответы:

23

Важно не только количество выводов, используемых для считывания матрицы клавиатуры. Необходимо учитывать количество пересечений трасс, то есть количество необходимых переходных отверстий. Каждому нужно сверлить отверстие, и этот процесс не был настолько автоматическим в семидесятых, как сегодня. Но это не главное здесь:

Матрица 4x5, следующая за геометрическим расположением клавиш, сложна для декодирования в процессоре. Хотя в современных процессорах это тривиально, карманный калькулятор всегда имел и все еще имеет очень простую архитектуру процессора. На тот момент в основном из-за цены. Помните, что компьютерный процессор 1971 года выполнял команды Intel 4004, 4-битные и 100 Кбит / с, и можно предположить, что чип этого калькулятора (я не смог найти таблицу данных) менее мощный.

Таблица @futurebird, созданная во время проверки схемы, выглядит так, как будто в ней много беспорядочных соединений. На самом деле, это не так, как мы видим, просто переставляя столбцы и строки:

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

Здесь мы можем ясно увидеть намерение разработчиков: все четные числа разделяют вывод C, все нечетные разделяют вывод A. Это делает декодирование нажатия клавиши для формирования числа в памяти максимально простым: на кремнии должно быть просто «5 входов в 3-битный кодер» для получения битов 3..1 результирующей цифры в двоичном представлении, в то время как младший бит устанавливается или сбрасывается в зависимости от того, была ли активна линия A или C. Таким же образом все операции можно обнаружить, проверив строку I и более специальные на входе E.

Сравните это с декодированием цифры из базовой матрицы 4x5: здесь нужно проверить 7 входов, чтобы получить 4 бита полученного числа. Очевидно, что эта справочная таблица занимает больше места на кремниевой ткани.

Используя эти матричные соединения, дорогостоящие функции на кремнии сводятся к минимуму, при этом нужно немного подумать о тщательном планировании структуры матрицы и немного усилий при проектировании печатной платы, соответствующей предполагаемым соединениям, что мало что добавляет к общие затраты на устройство.

asdfex
источник
1
Если я правильно помню, в старых калькуляторах использовалась битовая последовательная архитектура, которая намного проще, медленнее, с меньшим энергопотреблением и менее кремниевой, чем что-то причудливое, например 4004. В битовых последовательностях математические операции требуют одного такта на бит данных. Для примера последовательной битовой операции см. En.wikipedia.org/wiki/Serial_binary_adder .
Том Андерсон
Я просто хотел сказать, что это был удивительный ответ. Спасибо!
futurebird