继电器逻辑门的验证与实现(一)
Marx2022/11/16原创 电子技术计算机电子学 IP:江苏
关键词
计算机继电器8bit

写在最前面

    小时候就曾经好奇过为什么我们使用的计算机那么神奇,输入一堆东西,一秒钟之后就会显示或者反馈一些东西,这个过程是怎样发生的,那一片片黑乎乎的芯片里面发生了什么,着实是一件非常令人着迷的事情。以前就想过,能不能完全用发光二极管来制造一台计算器,这个样就可以清晰的看到这个过程了。

    不过,显然,当时的我没有找到任何的一个资料教你如何用二极管来造计算机,对于一个小学生来说,自己来学习相关知识似乎也不太现实,何况这本来很大程度上就是当时我的一个颅内高潮。于是,没过多久,这个想法就这样不了了之了。

    幸运的是,当时遗憾埋下的种子到了现在有发芽的机会了。

    当然,很有可能你会问,为什么不使用晶体管呢?为什么不用芯片呢?这个事情有什么意义呢?

    我觉得我只能和你说:“这很好玩,不是么?”

    至少对我来说,这个理由已经足够了。

理论基础

    计算机系统的最基础的部分就是逻辑门,其中与、或、非三个逻辑是复杂逻辑门的基础,理论上,只要继电器可以实现上面三种状态,就可以用来制造计算机。而且,最早的计算机,比如1937年的Model-K计算机就是利用继电器来实现计算的,只不过已经无法找到相关资料了。

我个人产生这个想法之后 ,就尝试在纸上画出来,结果直接成功了 IMG_20221116_022048.jpg

只要利用一个5脚继电器就可以分别实现三个基础逻辑门。


两个验证实验

    在互联网上冲浪了许久,希望能找到一些有帮助的资料,但是基本上都局限于逻辑门这种简单的问题。不过好在我就是电子科学专业的,就自行设计了一些电路验证。

SR锁存器电路: 

IMG_20221116_023459.jpg IMG_20221116_023336.jpg

实验过程:

1、实验板(这里就是简单验证一下,线比较乱)

IMG_20221115_181407.jpg

2、在S’和R’都悬空时候,Q和Q’都导通,对应表上的无效信号

(Q红灯Q'绿灯)

IMG_20221115_181508.jpg

3、当S’低电平R’高电平同时切换高电平时,锁存器变1

IMG_20221115_181453.jpg

4、当S’高电平R’低电平同时切换高电平时,锁存器变0

IMG_20221115_181441.jpg

可以看出,继电器可以很好的实现功能。

74HC138三线-八线译码器

74CH138逻辑图如下

图片1.png

PS:这里要吐槽一下,网上(CSDN)的逻辑图是错的,那也算了,就是教科书(《数字电子技术基础》(第六版)主编:阎石 P159)也是错的,这里纠正一下,上图我已经改好验证过了,有需要可以放心食用。


下面是板图

QQ图片20221116025712.png

由于译码器电路接线十分复杂,这里就打算打板来完成实验,现在板子还没到(填错地址了。。),等到了以后,我在评论区把实验更完。


再说两句

一、我做这件事情的最终目目标是完成一台完整的8bit计算机,但是就我目前而言着实具有挑战,所以我们一步一步来。

把任务分解一下,先做一些相对容易的项目,目前的To Do List主要有两个:

1、可设置时间的四位荧光数码管时钟

2、一个8位计算器

。。。

n、8bit电脑

如果大家有好的想法也可以说一说。

二、可能这个项目我会拍成视频分享在B站,也欢迎大家捧场,目前至少中文互联网没见过有人利用继电器做出完整的计算机,如果确实是这样,那么我觉得这件事情意义非凡。

三、这次发文主要想为后面的项目申请科创的经费做铺垫,毕竟继电器算是比较昂贵的器件了,完全由我个人来承担费用可能比较捉襟见肘,而且JLC打板也不算便宜,等我把荧光管时钟的电路设计完成后,就打算申请经费了,各位dalao要是有什么意见和问题也欢迎提问。

[修改于 2年1个月前 - 2022/11/16 03:24:50]

来自:电子信息 / 电子技术计算机科学 / 计算机电子学动手实践:实验报导
19
9
已屏蔽 原因:{{ notice.reason }}已屏蔽
{{notice.noticeContent}}
~~空空如也
航模发烧友
2年0个月前 IP:广东
910494

继电器有响应速度不一致、延迟、开关速度等问题,会不会出现很多意外情况?

这个“电脑”运行起来,响声应该挺好听

引用
评论(2)
4
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
miles
2年0个月前 IP:北京
910498

XXXXXXXXXXXXXXXXXXXXXXX/watch?v=k1hJoalcK68&t=35s

引用
评论(1)
2
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
UICalc
2年0个月前 IP:上海
910501

搭建一些简单的时序逻辑电路就差不多了,再往上意义不大,用到的继电器也指数级增长,而且看LZ的实验方法,调试成本过高。

另外,建议LZ用无铅焊锡。

引用
评论(1)
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
信仰は儚き人間の為に
2年0个月前 修改于 2年0个月前 IP:广东
910502

应该先实现一个把门级网表转换成继电器PCB layout 的布局布线器。

然后就可以用成熟的EDA工具链直接通过HDL快速设计任何继电器数字电路了。

引用
评论(2)
4
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Marx作者
2年0个月前 IP:江苏
911176

IMG_20221128_011416.jpg IMG_20221128_011144.jpg IMG_20221128_010648.jpg IMG_20221128_010653.jpg

最新实验情况的简单报告:

三线-八线译码器运行良好,完全实现了逻辑电路的运行,并且长时间上电测试无异常。

展示的是第二版的电路了,第一版因为不怎么会使用eda,导致器件选用错误,并且在设计的时候忽略了非门悬空脚如果接地要接打电阻的情况,导致实验失败。

第二版电路改进了信号输入方式,可以利用三挡开关选择引脚输入或直接开关手动输入。并且第二版完全密铺继电器,减少了空间浪费降低成本。

出现的一些问题:

①一个5V继电器的开启电流在70mA,所以在上电不开启总控信号的时候静态电流0.8A,工作电流1.2A,电路明显轻微发热。考虑到后期电路规模会进一步扩大,5v电源显然已经是一个不合理的选择了,后面将选择24v的继电器作为基础单元(反正价格相同)。

②继电器工作过程并不算直观,需要外接led来显示工作情况,后期的板子将在上面直接加装led,便于整体的电路差错和维护。

引用
评论
2
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
虎哥
2年0个月前 修改于 2年0个月前 IP:四川
911177

由于继电器数量过于庞大,建议考虑比冯诺依曼更古老的结构,实现特定的简单运算即可。

做通用计算机的话,如果采用纯机电结构,一点半导体都不用,继电器的数量会多得离谱,功耗也会很大。电子管计算机要烧灯丝,的确需要较大的功耗,但人家毕竟是有增益的,信号电流可以做得更小。

另外继电器的速度比电子管慢得多,可靠的时钟频率估计只有20Hz左右。有些继电器可能要同时驱动很多个下级逻辑,通过电流较大,为了灭弧延长寿命,还是需要用到二极管,而如果用二极管不算犯规,那么有些门是不是可以用二极管搭。继电器的寿命有限,得考虑检查电路,以便发现不良品,相应的应当采用管座来方便快速拔插更换。

总感觉主要要解决的是可靠性问题,逻辑问题反而是相对简单的。

引用
评论
3
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Marx作者
2年0个月前 IP:江苏
911211
引用虎哥发表于6楼的内容
由于继电器数量过于庞大,建议考虑比冯诺依曼更古老的结构,实现特定的简单运算即可。做通用计算机的话,如...

最近研究了计算机组成原理和通用计算机的构型,确实是继电器电路无法完成的工程。现在我的目标是最终完成一个加减乘除的计算器(类似红石电路),这是目前比较现实的方向。如果放到这个标准的话,速度问题其实就不成问题了。

至于用插座来安装器件的问题,我认为比较困难,也不太现实。因为我使用的是较为便宜的小型继电器,没有专用插座,自己设计制造的话时间成本非常高,除非使用欧姆龙的透明继电器(贵),但是单个继电器的成本就会提高两到三倍。

其实继电器焊接拆除不算困难,我认为困难的是单个继电器损坏查错。我这里的解决方案是在单个逻辑板中重要逻辑部分增加状态显示的led,并且因为是模块化的电路设计,每一个逻辑板都有对应的真值表,可以方便的分块测试,确定错误点位点。


引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
谁叫小明
2年0个月前 IP:广东
911288
引用虎哥发表于6楼的内容
由于继电器数量过于庞大,建议考虑比冯诺依曼更古老的结构,实现特定的简单运算即可。做通用计算机的话,如...

既然用上继电器做逻辑电路了,上二极管就有点变味了,还是纯继电器比较酷一些。

使用管座方便快速拔插更换倒是非常好的建议,否则焊上去了要拆下来会极其麻烦,关于后期要检测坏品可以做一个对应的检测电路,插上去按个按键便可以检测继电器的好坏。

关于继电器的驱动功耗确实是个很大的问题,反正对速度要求也不苛刻了看看能否串个小电阻看看最低的驱动电流,或者选择体积和功耗更低的继电器,一方面减小pcb的大小另一方面在规模这么大的电路里能很大程度降低功耗。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
肖特基的救赎
2年0个月前 IP:内蒙古
911289

可以使用那种信号继电器,速度和功耗会好很多,缺点是更贵

引用
评论(1)
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
玩泥巴的KMT
2年0个月前 IP:江苏
911335

既然是第一批继电器制作的计算机完全可以选用高品质的继电器比如内阻更小的这样不仅可以降低容错率还能降低整体功耗,继电器的高频干扰是否会干扰其他电路以及继电器被外界磁场所干扰,电路板外圈可做屏蔽接地,对于布线设计建议等距等长减少分布电阻降低ESR

楼主想法很新奇期待完善并得到更优的结果

引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
UICalc
2年0个月前 修改于 2年0个月前 IP:上海
911342
引用玩泥巴的KMT发表于10楼的内容
既然是第一批继电器制作的计算机完全可以选用高品质的继电器比如内阻更小的这样不仅可以降低容错率还能降低...

这频率能有多高,要做等长简直是屎上雕花,不要学了点名词就来装AC。不过继电器紧密排列导致的磁场耦合倒是可能降低可靠性甚至干扰结果,或许需要提高驱动电压或者加以屏蔽以增强鲁棒性。

引用
评论
3
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
xa87
2年0个月前 IP:上海
911357

用继电器成本有些高,

我也赞成楼主先搞一个逻辑门电路转换成继电器电路的软件,这样就很方便了。

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
WernerPleischner
2年0个月前 IP:广东
911361
引用UICalc发表于11楼的内容
这频率能有多高,要做等长简直是屎上雕花,不要学了点名词就来装AC。不过继电器紧密排列导致的磁场耦合倒...

没必要,这都能磁耦合那些贴着装几排继电器的工控板早挂了

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
量子隧道
2年0个月前 IP:广东
911362

数字电路的毛刺和亚稳态缺陷及其影响在这种继电器电路上应该可以得到极大放大吧。


引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
Marx作者
2年0个月前 修改于 2年0个月前 IP:江苏
911543

IMG_20221204_201631.jpg IMG_20221204_201609.jpg IMG_20221204_201557.jpg IMG_20221204_200824.jpg

最近一直在互联网上找相关的资料,已经非常的稀少了,毕竟继电器时代基本上是电气时代的大前期,很少有照片和资料留下来。但是找到一些还算有意思的关于晶体管的资料,转化一下还是很有助于后面的电路设计的。有机会以后扫描了发文库里面吧。

引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
BI1ECX
1年10个月前 IP:北京
915657

继电器是不是比PCB出现的更早?,是不是可以直接全用带底座的中间继电器,放在导轨上,直接放弃PCB

引用
评论(3)
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
tdca
1年10个月前 IP:山东
915689

我也多次有过这种颅内高潮😂,一直没有付之行动,很期待你的制作视频.


引用
评论
1
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
一点二维度
1年7个月前 IP:广东
920390

看好

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论
岩倉凛IwakuraRin
8天4时前 IP:江苏
939829

不知道老师您现在的项目情况怎么样了…

年初的时候我自己也试着跟教程画过继电器cpu

『只实现了与门非门』

刚好最近在写四位cpu.的架构

不知道老师您对继电器cpu还有没有兴趣()

引用
评论
加载评论中,请稍候...
200字以内,仅用于支线交流,主线讨论请采用回复功能。
折叠评论

想参与大家的讨论?现在就 登录 或者 注册

文件下载
加载中...
{{errorInfo}}
{{downloadWarning}}
你在 {{downloadTime}} 下载过当前文件。
文件名称:{{resource.defaultFile.name}}
下载次数:{{resource.hits}}
上传用户:{{uploader.username}}
所需积分:{{costScores}},{{holdScores}}下载当前附件免费{{description}}
积分不足,去充值
文件已丢失

当前账号的附件下载数量限制如下:
时段 个数
{{f.startingTime}}点 - {{f.endTime}}点 {{f.fileCount}}
视频暂不能访问,请登录试试
仅供内部学术交流或培训使用,请先保存到本地。本内容不代表科创观点,未经原作者同意,请勿转载。
音频暂不能访问,请登录试试
支持的图片格式:jpg, jpeg, png
插入公式
评论控制
加载中...
文号:{{pid}}
投诉或举报
加载中...
{{tip}}
请选择违规类型:
{{reason.type}}

空空如也

加载中...
详情
详情
推送到专栏从专栏移除
设为匿名取消匿名
查看作者
回复
只看作者
加入收藏取消收藏
收藏
取消收藏
折叠回复
置顶取消置顶
评学术分
鼓励
设为精选取消精选
管理提醒
编辑
通过审核
评论控制
退修或删除
历史版本
违规记录
投诉或举报
加入黑名单移除黑名单
查看IP
{{format('YYYY/MM/DD HH:mm:ss', toc)}}