[忽软忽硬] 动手做电脑 008 电路注意事项和芯片的选择

1. 教科书和现实世界的区别与联系

在前面的视频里讲布尔代数的时候,我讲到了二进制,除了布尔代数之外,还有个很重要的原因是用二进制在工程上是最简单可靠的。

继续阅读“[忽软忽硬] 动手做电脑 008 电路注意事项和芯片的选择”

[忽软忽硬] 动手做电脑 007 布尔代数与逻辑门

上两个视频我们讨论了晶体管的工作原理,对我们来说,只需要 用到晶体管的开关功能。对计算机来说,当电流通过晶体管的时候,表 示一种状态,当电流不能通过晶体管的时候,又可以表示一种状态。这 两种状态也有个学名可以称之为”二进制“,英文叫 binary。

继续阅读“[忽软忽硬] 动手做电脑 007 布尔代数与逻辑门”

[忽软忽硬] 动手做电脑 006 晶体管的工作原理

我主要是想做一台电脑出来,所以对晶体管其它方面的应该不过 多涉及,只专注于 NPN 晶体管。先来做个实验来看看晶体管的工作的 情况。

通过实验可以看到,当中间这个针脚通电的时候,灯泡就亮了。在 计算机中,我们用的就是晶体管的开关功能。晶体管也叫三级管,因 为它有三个针脚,这三个针脚的名字分别是中间的基极 (Base),左边 的发射极 (Emitter) 和右边的集电极 (Collector)。

如果只考虑晶体管的部分,其电路图如下:

Template for the kaobook Class

NPN 晶体管的示意图如上,总共有三个部分,两端是 n 型半导体, 中间是 p 型半导体。前面讲半导体的时候,我们已经分析了 pn 结,在 这里可以用 pn 结来分析,假设我们有一把刀,在 p 型半导体的中间把 晶体管分开,会形成两个 pn 结。

先来看一下正向偏置,假设我们的电压是慢慢升高的,对硅管来 说,当电压升到 0.7V(0.6V-0.8V)的时候,电流会突然增高。这个电 压有个学名叫⻔槛电压或者正向压降。如果是锗管,这个电压是 0.2V

(0.2V-0.3V)。还有几个术语讲一下,p 型半导体这一端叫做高电位端, n 型半导体这一端叫低电位端,这样显得比较专业一点。所谓正向偏 置就是正极接在高电位端,负极接在低电位端。

与之相反的是反向偏置,正极接在低电位端,负极接在高电位端。 在反向偏置的时候,几乎没有电流通过,如果接上一个高灵敏度的电 流表,仍会看到有电流通过,这个电流也有个学名叫漏电流。当反向 电流足够大以后,反向电流会急剧增大,也被称之为击穿。被击穿以 后,晶体管会升温,如果击穿时间很短的话,可能晶体管只是有些损 伤,如果时间⻓的话,晶体管会被烧毁。

[忽软忽硬] 动手做电脑 005 PN结的工作原理

今天最常用的半导体是硅和锗。我们看一下元素周期表就可以看 到,碳,硅,锗是同一列的元素,学名我们把它们称之为同一族元素。同一族元素有什么样的性质呢,最外层的电子数是一样的。我们从上 往下看,六号元素 C 是非金属,14 元素 Si 是半导体,32 号元素 Ge 是 金属。也就是说,是从非金属到金属在递变。在金属和非金属过渡线 上的元素,被称被称之为半导体,顾名思议,就是导电不如金属好,在 室温下多少有点导电,不像非金属一样完全不导电,只有接近绝对零 度,才完全不导电。

按照《费曼物理学讲义》第 3 卷第 13 和第 14 这两章的内容,费曼解释了一个奇怪而不可思议的事情——在完美的晶体中的电子为什么可以穿过晶格运动,即使它与所有的原子碰撞也能完全自由的流动, 这是固体导电的原因。

如果我们人为的往硅晶体里放入一个别的原子,比如硼原子或者 磷原子,会发现硼原子或者磷原子能占据硅晶格中的一个位置,这样一来它就必须表现得与 4 价硅原子一样,用它的最外层价电子与硅形 成晶体键,但是硼原子最外层只有 3 个价电子,就会有一个空穴,磷 原子的最外层有五个价电子,就会多一个电子。

我直接引用《费曼物理学讲义》第 14 章的结论,如果大家对实际 的推算过程有兴趣,可以自己去找书来看看。当晶体中产生“空穴”的 时候,“空穴”的行为像具有一定有效质量的经典粒子一样,所以“空 穴”像一个在晶体中运动的带正电的粒子。“空穴”粒子的电荷是正的。像这种掺杂硼元素的晶体内空穴数目较多的材料称之为“p 型”半导体。(其中的 p 代表英文单词 positive.)

同理,加入磷元素,从而使晶体内电子数较多的材料被称之为“n型”半导体。(其中的 n 代表英文单词 negative.)

如果只有这两种半导体也没什么用,顶多接在电路里能导电,虽 然两种导电有些不同,p 型半导体导电是因为因为空穴,n 型半导体导 电是因为有多余的电子。真正有意思的事情是当两种类型的半导体结 合在一起的时候,神奇的事情就发生了。

当 p 型半导体和 n 型半导体结合的时候,“金风玉露一相逢,便 胜却人间无数。”p 型半导体有多余的空穴,n 型半导体有多余的电子, 那么电子会跑过去来填补空穴。可能大家会想,如果能造出一种有无 穷多空穴的物质,然后再造一种有无穷多电子的物质,然后用导线连 接起来,不就成了永动机了么?实际上是不可能的,费曼在书里已经 解释了为什么不可能,接触的地方又会形成一个类似 PN 结的东西。

两种半导体材料接触的时候,会形成一层不到 1 微米的边界,按 照 wikipedia 上讲是只有十分之几微米那么薄的一层膜。在这一层薄 膜里,会因为电子与空穴的互相渗透,形成一个电势差。对硅来说,这 个电压大概是 0.5V-0.7V,对锗来说,这个电压大概是 0.2V 到 0.3V。

[忽软忽硬] 动手做电脑 004 继电器,晶体管和逻辑门

视频在YouTube或者B站上搜“忽软忽硬”就可以搜到了。下面是视频的文字稿。

在正式讲之前,我想请大家先来看一段视频,这段视频是日本在战后造的一台计算机,使用的主要电器元件是继电器。

继电器是我们初中物理就学过的知识,下图是继电器的原理示意图,大家一看也就明白了。

通常,我们把继电器线圈未通电时处于断开状态的静触点,称为“常开触点”,处于接通状态的静触点称为“常闭触点”,以上两者共用的动触点称为“公共触点”。严格的来说,这种继电器的名字叫“双掷继电器”,常开触点和常闭触点只有一个有电。在现实中,继电器最常见的用法之一是用低电压小电流来控制高电压大电流的电路,比如可以用 12 伏 1 安的电路来控制高达数千伏数十安的电路,这就是我们常说的“四两拔千斤”,来保证操作人员的安全。

但是在继电器做的电脑中,并不是用的这个原理,电脑里并没有高电压和大电流,我们感兴趣的仅仅是用了继电器开关的功能,这个开关更神奇的是不用人工控制,而是用电流控制。还有一点要稍微强调一下,这里的开关与现实中开灯关灯的开关有一点区别:在计算机中,每当提到开关的时候,不管是开还是关,都是输入信息。

继电器在 19 世纪就发明出来了,布尔代数也是在 19 世纪被发明出来了,但是直到 20 世纪 30 年代,出生于 1916 年,22 岁的香农在麻省理工读硕士的时候,才发现两者之间的关系。他写了一篇可能是有史以来最著名的硕士论文,名字叫《继电器和开关电路的符号分析》,(英文名为 A symbolic Analysis of Relay and Switching Circuits.)在这篇论文里,香农清晰的阐述了这样一个道理:电子工程师可以用布尔代数并且采用继电器来设计开关电路。继电器就像开关一样,可以通过串联或者并联在电路中,从而执行逻辑任务,这种组合也被称之为逻辑门 (logic gates)。

因为继电器可以控制继电器,所以用继电器构成的逻辑门从原理上可以无限扩大,从而实现更复杂的功能。这就是继电器计算机的原理。接下来我在视频里展示一下我用继电器做的一个电路。这个电路是一个与非门,我用两种方法实现的,一种是用的继电器,一种是用的晶体管。

我实现的这个逻辑门叫与非门,也叫 NAND,这是两个单词的缩写,NAND= NOT + AND。这个逻辑门非常重要,从理论上来讲,其它所有的逻辑门,都可以通过这个逻辑门来完成。至于怎么证明,下面几期视频中我会给出详细的证明过程。

现在我想讲一个我认为更重要的东西,我展示的第二个电路是用晶体管做的,晶体管的原理是什么呢,为什么用晶体管来构建计算机?

[忽软忽硬] 动手做电脑 002 什么是电

对人类来说,电已经是和食物,水,空气差不多重要的东西了,可 能还是要低一个档次。如果没有电,我们这个社会马上会瘫痪。所以, 每个人好像都很了解电,但是实际情况却不是这样,关于电,仍然有大 量的未解之谜。幸好,虽然对电学的知识了解的越多越好,但是在计 算机中,我们不需要成为电科学家也可以稍微的了解一下其中的原理。

继续阅读“[忽软忽硬] 动手做电脑 002 什么是电”

[忽软忽硬] 动手做电脑 001 电路

在讲电和电路之前,先来做一个实验。这是一个,树莓派上有一些针脚,学名叫引脚,英文单词是pinout。这些引脚的作用是通过这些金属针上是不是有电,来读取或者传输数据。这是树莓派区别于手机,电脑的一个特点,这些接口的名字叫GPIO,所谓GPIO(General Purpose I/O Ports,意思是通用输入/输出端口。通俗地说,就是一些引脚,可以通过它们输出高电平低电平或者通过它们读入引脚的状态,也是读高电平或是低电平,这里的高电平和低电平有点太学术了,用大白话来说就是有电和没电,高电平可能是3.3V或者5.0V,低电平是没电,0V。

继续阅读“[忽软忽硬] 动手做电脑 001 电路”

[忽软忽硬] 动手做电脑 000 什么是电阻

因为文档中有公式,HTML对公式的支持很一般,所以我用LaTex写的本文档,最好是看PDF文件。

https://github.com/liuyandong/MakeYourOwnComputer/blob/master/book.pdf

https://www.bilibili.com/video/av76098412

电阻的用途

在这个世界上,任何材料都对电流有一定的阻碍作用,只是有的大一些,有的小一些,导体和绝缘体之间并没有绝对的划分界限,取决于其导电能力的相对强弱。比如低温条件下的超导体,低于10 –25Ω,空气在电压极大下也是导体。

利用材料对电流的阻抗特征,当电流经过电阻的时候,会改变电阻两端的电压。电阻是电路中最常用的电子元件之一。\sidenote[]{另外的有电容和电感也非常常用,以后会讲}如果大家是电子爱好者要做实验的话,在选购电阻的时候要注意这四个方面,分别是:\uuline{品牌,电阻阻值,电阻功率以及电阻种类}。接下来我分别介绍一下这四个内容。

继续阅读“[忽软忽硬] 动手做电脑 000 什么是电阻”

[忽软忽硬]动手做一台电脑 这个项目的由来

事情的由来是这样的,我年龄很大了(虽然我觉得还可以,但是确实很多人喊我叔叔了,有次我去大学踢球,有个大学生喊我叔,真是岁月不等人啊),儿子已经上了初中。

现在相对比较流行青少年编程教育,我也不能免俗,就去看了一下,看看别人教的什么东西,我去看了几家,有的教python(竟然也写爬虫,宣传点是将来高考会加分),有的教scratch,有的教乐高机器人,有的教arduino,我去听课的时候(其实培训班听课主要是忽悠家长掏钱的)他们做了一个演示,学50节课100小以后,能用 arduino 做一这样的东西,带LED灯显示的温度计。温度计是一个现成的传感器,如果测量的温度高于37.5度,就会让红色的LED灯显示,如果温度正低于37.5度,会让绿色的LED灯亮起来,涉及的代码就是一个if判断,总共不到10行。这么个东西,我觉得我用1小时就能教会。而不用100个小时,还得让家长交8600元,并且不包括 arduino 和LED灯的费用。

继续阅读“[忽软忽硬]动手做一台电脑 这个项目的由来”