继电器有响应速度不一致、延迟、开关速度等问题,会不会出现很多意外情况?
这个“电脑”运行起来,响声应该挺好听
写在最前面
小时候就曾经好奇过为什么我们使用的计算机那么神奇,输入一堆东西,一秒钟之后就会显示或者反馈一些东西,这个过程是怎样发生的,那一片片黑乎乎的芯片里面发生了什么,着实是一件非常令人着迷的事情。以前就想过,能不能完全用发光二极管来制造一台计算器,这个样就可以清晰的看到这个过程了。
不过,显然,当时的我没有找到任何的一个资料教你如何用二极管来造计算机,对于一个小学生来说,自己来学习相关知识似乎也不太现实,何况这本来很大程度上就是当时我的一个颅内高潮。于是,没过多久,这个想法就这样不了了之了。
幸运的是,当时遗憾埋下的种子到了现在有发芽的机会了。
当然,很有可能你会问,为什么不使用晶体管呢?为什么不用芯片呢?这个事情有什么意义呢?
我觉得我只能和你说:“这很好玩,不是么?”
至少对我来说,这个理由已经足够了。
理论基础
计算机系统的最基础的部分就是逻辑门,其中与、或、非三个逻辑是复杂逻辑门的基础,理论上,只要继电器可以实现上面三种状态,就可以用来制造计算机。而且,最早的计算机,比如1937年的Model-K计算机就是利用继电器来实现计算的,只不过已经无法找到相关资料了。
我个人产生这个想法之后 ,就尝试在纸上画出来,结果直接成功了
只要利用一个5脚继电器就可以分别实现三个基础逻辑门。
两个验证实验
在互联网上冲浪了许久,希望能找到一些有帮助的资料,但是基本上都局限于逻辑门这种简单的问题。不过好在我就是电子科学专业的,就自行设计了一些电路验证。
SR锁存器电路:
实验过程:
1、实验板(这里就是简单验证一下,线比较乱)
2、在S’和R’都悬空时候,Q和Q’都导通,对应表上的无效信号
(Q红灯Q'绿灯)
3、当S’低电平R’高电平同时切换高电平时,锁存器变1
4、当S’高电平R’低电平同时切换高电平时,锁存器变0
可以看出,继电器可以很好的实现功能。
74HC138三线-八线译码器
74CH138逻辑图如下
PS:这里要吐槽一下,网上(CSDN)的逻辑图是错的,那也算了,就是教科书(《数字电子技术基础》(第六版)主编:阎石 P159)也是错的,这里纠正一下,上图我已经改好验证过了,有需要可以放心食用。
下面是板图
由于译码器电路接线十分复杂,这里就打算打板来完成实验,现在板子还没到(填错地址了。。),等到了以后,我在评论区把实验更完。
再说两句
一、我做这件事情的最终目目标是完成一台完整的8bit计算机,但是就我目前而言着实具有挑战,所以我们一步一步来。
把任务分解一下,先做一些相对容易的项目,目前的To Do List主要有两个:
1、可设置时间的四位荧光数码管时钟
2、一个8位计算器
。。。
n、8bit电脑
如果大家有好的想法也可以说一说。
二、可能这个项目我会拍成视频分享在B站,也欢迎大家捧场,目前至少中文互联网没见过有人利用继电器做出完整的计算机,如果确实是这样,那么我觉得这件事情意义非凡。
三、这次发文主要想为后面的项目申请科创的经费做铺垫,毕竟继电器算是比较昂贵的器件了,完全由我个人来承担费用可能比较捉襟见肘,而且JLC打板也不算便宜,等我把荧光管时钟的电路设计完成后,就打算申请经费了,各位dalao要是有什么意见和问题也欢迎提问。
[修改于 2年0个月前 - 2022/11/16 03:24:50]
XXXXXXXXXXXXXXXXXXXXXXX/watch?v=k1hJoalcK68&t=35s
搭建一些简单的时序逻辑电路就差不多了,再往上意义不大,用到的继电器也指数级增长,而且看LZ的实验方法,调试成本过高。
另外,建议LZ用无铅焊锡。
应该先实现一个把门级网表转换成继电器PCB layout 的布局布线器。
然后就可以用成熟的EDA工具链直接通过HDL快速设计任何继电器数字电路了。
最新实验情况的简单报告:
三线-八线译码器运行良好,完全实现了逻辑电路的运行,并且长时间上电测试无异常。
展示的是第二版的电路了,第一版因为不怎么会使用eda,导致器件选用错误,并且在设计的时候忽略了非门悬空脚如果接地要接打电阻的情况,导致实验失败。
第二版电路改进了信号输入方式,可以利用三挡开关选择引脚输入或直接开关手动输入。并且第二版完全密铺继电器,减少了空间浪费降低成本。
出现的一些问题:
①一个5V继电器的开启电流在70mA,所以在上电不开启总控信号的时候静态电流0.8A,工作电流1.2A,电路明显轻微发热。考虑到后期电路规模会进一步扩大,5v电源显然已经是一个不合理的选择了,后面将选择24v的继电器作为基础单元(反正价格相同)。
②继电器工作过程并不算直观,需要外接led来显示工作情况,后期的板子将在上面直接加装led,便于整体的电路差错和维护。
由于继电器数量过于庞大,建议考虑比冯诺依曼更古老的结构,实现特定的简单运算即可。
做通用计算机的话,如果采用纯机电结构,一点半导体都不用,继电器的数量会多得离谱,功耗也会很大。电子管计算机要烧灯丝,的确需要较大的功耗,但人家毕竟是有增益的,信号电流可以做得更小。
另外继电器的速度比电子管慢得多,可靠的时钟频率估计只有20Hz左右。有些继电器可能要同时驱动很多个下级逻辑,通过电流较大,为了灭弧延长寿命,还是需要用到二极管,而如果用二极管不算犯规,那么有些门是不是可以用二极管搭。继电器的寿命有限,得考虑检查电路,以便发现不良品,相应的应当采用管座来方便快速拔插更换。
总感觉主要要解决的是可靠性问题,逻辑问题反而是相对简单的。
由于继电器数量过于庞大,建议考虑比冯诺依曼更古老的结构,实现特定的简单运算即可。做通用计算机的话,如...
最近研究了计算机组成原理和通用计算机的构型,确实是继电器电路无法完成的工程。现在我的目标是最终完成一个加减乘除的计算器(类似红石电路),这是目前比较现实的方向。如果放到这个标准的话,速度问题其实就不成问题了。
至于用插座来安装器件的问题,我认为比较困难,也不太现实。因为我使用的是较为便宜的小型继电器,没有专用插座,自己设计制造的话时间成本非常高,除非使用欧姆龙的透明继电器(贵),但是单个继电器的成本就会提高两到三倍。
其实继电器焊接拆除不算困难,我认为困难的是单个继电器损坏查错。我这里的解决方案是在单个逻辑板中重要逻辑部分增加状态显示的led,并且因为是模块化的电路设计,每一个逻辑板都有对应的真值表,可以方便的分块测试,确定错误点位点。
由于继电器数量过于庞大,建议考虑比冯诺依曼更古老的结构,实现特定的简单运算即可。做通用计算机的话,如...
既然用上继电器做逻辑电路了,上二极管就有点变味了,还是纯继电器比较酷一些。
使用管座方便快速拔插更换倒是非常好的建议,否则焊上去了要拆下来会极其麻烦,关于后期要检测坏品可以做一个对应的检测电路,插上去按个按键便可以检测继电器的好坏。
关于继电器的驱动功耗确实是个很大的问题,反正对速度要求也不苛刻了看看能否串个小电阻看看最低的驱动电流,或者选择体积和功耗更低的继电器,一方面减小pcb的大小另一方面在规模这么大的电路里能很大程度降低功耗。
可以使用那种信号继电器,速度和功耗会好很多,缺点是更贵
既然是第一批继电器制作的计算机完全可以选用高品质的继电器比如内阻更小的这样不仅可以降低容错率还能降低整体功耗,继电器的高频干扰是否会干扰其他电路以及继电器被外界磁场所干扰,电路板外圈可做屏蔽接地,对于布线设计建议等距等长减少分布电阻降低ESR
楼主想法很新奇期待完善并得到更优的结果
既然是第一批继电器制作的计算机完全可以选用高品质的继电器比如内阻更小的这样不仅可以降低容错率还能降低...
这频率能有多高,要做等长简直是屎上雕花,不要学了点名词就来装AC。不过继电器紧密排列导致的磁场耦合倒是可能降低可靠性甚至干扰结果,或许需要提高驱动电压或者加以屏蔽以增强鲁棒性。
用继电器成本有些高,
我也赞成楼主先搞一个逻辑门电路转换成继电器电路的软件,这样就很方便了。
数字电路的毛刺和亚稳态缺陷及其影响在这种继电器电路上应该可以得到极大放大吧。
最近一直在互联网上找相关的资料,已经非常的稀少了,毕竟继电器时代基本上是电气时代的大前期,很少有照片和资料留下来。但是找到一些还算有意思的关于晶体管的资料,转化一下还是很有助于后面的电路设计的。有机会以后扫描了发文库里面吧。
继电器是不是比PCB出现的更早?,是不是可以直接全用带底座的中间继电器,放在导轨上,直接放弃PCB
我也多次有过这种颅内高潮,一直没有付之行动,很期待你的制作视频.
不知道老师您现在的项目情况怎么样了…
年初的时候我自己也试着跟教程画过继电器cpu
『只实现了与门非门』
刚好最近在写四位cpu.的架构
不知道老师您对继电器cpu还有没有兴趣()
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |
200字以内,仅用于支线交流,主线讨论请采用回复功能。