研究70年代计算器的PCB。他们在想什么?


16

我从1974年就开始使用ELSI 8002计算器研究PCB。我正在考虑重新利用该项目的外壳,尽管现在我已经将其固定(通过重新焊接电池连接器),但我不知道是否可以忍受将其拉开。(嗅探)也许,我会为我的项目买一个更破损的...

在此处输入图片说明

除了感性,我对键盘的布局感到困惑。该键盘最初看起来像一个典型的矩阵键盘,但是在仔细研究了迹线之后,我发现它没有使用行或列。

在此处输入图片说明

起初我以为这可能是因为他们试图将引脚保存在微控制器上。具有n行和m列的矩阵布局需要n + m引脚。但是,实际上,每个按钮只需要一对唯一的引脚即可。因此,实际上我们只需要x个引脚,其中n * m <= x选择2。

在此处输入图片说明

4x5矩阵具有20个按钮,而20 <= 7选择2 =21。(实际上,仅需要18个按钮,因为重置按钮“ C”以特殊方式映射,并且不与其他按钮共享引脚,并且未使用垫,尽管它可能已在其他型号中使用了?)

这是我尝试将每个键匹配到两个引脚。 例如,数字9连接到引脚A和D。

我以为是这样,因为行和列没有通用的引脚...但是布局使用了9个引脚...?有9个引脚,为什么不仅仅使其成为矩阵?

我不知道发生了什么,但这仍然是一个可爱的设备...


3
减少引脚数并不是电子设计的唯一标准。我怀疑设计此电路的工程师会在这里回答您。
德米特里·格里戈里耶夫

1
我希望至少部分是矩阵需要更多的过孔。这些天来,via的成本几乎无关紧要,但并不总是那么便宜。
JRE 2016年

3
啊,用胶带手工布置。那时没有花哨的PCB设计软​​件,是的,它将被镀金。
吉姆·迪尔登

2
这与引脚数无关,而与软件中的密钥解码有关。例如,您只需要监视引脚E和I-如果这两个引脚中的任何一个收到信号,则按下操作键。否则,如果ABC收到信号,则按了一个数字。请记住,按照当今的标准,这是一个非常慢且很小的CPU。保存单个“ if”或读取输入键是一个问题。我会回答这个问题,但由于问题搁置而无法解决。
asdfex

2
关于已编译的futurebird表:如果将C和E列的条目放在对角线的另一侧,则会看到发生了什么:A上的所有奇数,C上的所有偶数。E和上的所有简单运算I上更特殊的字符。无法在注释中显示,但将列重新排列为HFGBD,将行重新排列为ACEI,您会得到一个非常整齐的4x5矩阵,比按键位置排序的矩阵更容易解码。
asdfex

Answers:


23

重要的不仅是用于读取键盘矩阵的引脚数。要考虑的一件事是走线的数量,即所需的通孔数量。每个人都需要钻一个孔,这个过程在70年代并不像今天这样自动化。但是,这不是这里的重点:

遵循键的几何布局的4x5矩阵在处理器中难以解码。尽管在当今的CPU中这是一件微不足道的事情,但袖珍计算器始终拥有并且仍然具有非常简单的处理器体系结构。当时主要是因为价格。请记住,1971年的计算机处理器是Intel 4004、4位和100k指令/秒,可以假定该计算器的芯片(我无法找到数据表)的功能较弱。

检查电路时创建的表@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位。显然,该查找表占用了硅织物上的更多空间。

使用这种矩阵连接,可以将硅上昂贵的功能保持在最低限度,同时在仔细规划矩阵的结构上花了一些心思,在设计与预期连接匹配的PCB上花了些力气,但这并没有增加多少设备的总体成本。


1
如果我没记错的话,旧的计算器使用的是位串行架构,它比4004这样的花哨的东西更简单,更慢,功耗更低,芯片更少。在位串行中,数学运算每位数据需要一个时钟周期。有关位串行操作的示例,请参见en.wikipedia.org/wiki/Serial_binary_adder
Tom Anderson

我只是想说这是一个了不起的答案。谢谢!
futurebird
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.