数字电路基础(4)——逻辑门电路
这一节,我们真正将书本上抽象的东西转换到实际看得见摸得着的电路上,这里我们开始接触半导体电路,为了和模拟电路区分开,我这里将会故意把握以下分寸,弱化模拟部分,突出数字部分,帮助大家理解逻辑门在数字电路中是如何工作,如何组合成复杂逻辑电路的。
首先我们在之前的文章中,根据现实的例子学会了各种基本的逻辑,并可以把它们组合成更复杂的组合逻辑来描述我们生活中存在的各种复杂的逻辑判断场景,麦兜的鱼丸粗面可以随便买我们都能理的清了。但是我们如果要想用电脑帮我们完成这些事情,就需要先把我们基本的或与非逻辑变成电脑可以识别的电路,这就是我们这里说的门电路。
门电路演进
介绍不同阶段形形色色的电路之前,我们首先约定好电压和逻辑值的对应关系,高电压代表逻辑1为真,低电压代表逻辑0为假。我们先不论反逻辑(高电压假低电压真)的情况以及具体多大电压算高,暂且认为有电压就是1就好了,具体的细节,我们后面会慢慢介绍到。
开关门电路
初中物理学习电路时,我们学到的最简单的元件就是开关、导线、电阻等,利用这几个元件,我们就可以组成最简单的门电路,如下图是一个最简单的非门:
输入为高电压控制开关开时,输出被接地拉低,否则为高。那是不是我们的非门就是这样的结构呢?并不是的,这个电路有个缺点是导通的时候,所有的电压均加在电阻R1上,会有的功率耗费掉,虽然一个不多,但是上亿规模之后还是很大的消耗,所以我们可以将它改造成下面这样:
这样两个开关是互补的,一个开的时候一个关,这样既可以实现逻辑又可以保证任何时候,电源和地都不会导通,理论上没有功率消耗。那现实世界中有没有这种电路呢?当然是有的,你用两个开关不就可以搭建出来吗?但是这里存在两个问题:
- 一个是体积,两个开关在这,无论你用什么材质,体积肯定小不了,要弄成千上万个集成在一起是不可能了;
- 另一个是速度,这样两个开关,你用人工或者机械去控制,都不可能很快,要想达到我们电脑那样每秒钟上GHz的频率,显然也是不可能的。
那我们现在是怎么做到大规模的门电路的呢?那就是下面的半导体电路。
半导体二极管门电路
首先介绍下什么是半导体,由于是数字电路部分,所以这里我尽量少讲模拟量部分,各个关键点尽量做到知其有即可。
半导体
初中物理学过生活中有导体、绝缘体、半导体三种材料,然后老师们简单的说明分类的原因是导体的电子是自由的,所以加电后可以运动形成电流,而绝缘体内部的电子是不自由的,加电也不运动,所以不能形成电流导电;半导体则是介于他们两个中间,电子不那么自由,加电后只能形成极微小的电流。
参考链接:半导体
N型半导体和P型半导体
初中部分只介绍到这里,到了高中,化学课的时候,我们会学习到原子结构那一章,最常见的半导体材料是硅(锗运用远小于硅),但是纯净的硅电子太不活跃了,加电只有微乎其微的一点点电流,没办法去用。但是扛不住会折腾的人各种实验,有人发明了掺杂技术,即把硅里面用加热、扩散等高端技术,掺进去一些其他的材料,例如磷,磷原子的最外层比硅原子多一个电子,掺的越多,自由电子就越多,这样就形成了内部以电子居多的N型半导体;反过来,有人往里面掺硼,硼恰好比硅少一个,虽说电子越掺越少,但这样电子空出来的空位置(空穴)越来越多,剩余的电子可以在空穴上更好的移动,也会形成电流,这样就形成了N型半导体。
半导体二极管
折腾是无止境的,发现了N型半导体和P型半导体后,又有人把这两个半导体“接在一起”(实际肯定不是接上去的,是在一块硅上一边掺磷一边掺硼实现的),结果发现了一个神奇的事情,这样形成的半导体,在加电压的时候,正着加电流很大,反着加电流很小,也就是说接近理想的单向导通特性了。下面是我们很常见的二极管型号1N4148的电压电流特性仿真图(仿真图基于spice模型模拟的,和实际的电流图是有差别的哦,有条件的建议搭电路测量)
(使用的软件是TINA-TI,在TI的官网可以下载)
这个把大家高兴坏了,因为在此之前从来没有哪个材料拥有这个特性,那这个特性有什么用,怎么把它利用起来呢?还记得之前的开关电路吗?我们那个搞不定的原因就是开关搞不定,那这里你看有个单向导通,正着就通,反着就不通,不正好就像一个开关吗?不过上面的非门不是特别好实现,我们先看下面这个用二极管实现的与门:
可以看到,这里的二极管就跟开关一样,当INPUT任何一个为0时,正向导通,等同于开关闭合,OUTPUT被短接到地,输出为0;当INPUT必须同时为高时,二极管不导通,OUTPUT和电阻另外一端电源保持一样的高电平,输出为高。这个逻辑就是典型的与逻辑
OUTPUT = INPUTA && INPUTB.
这里实现的与门相对于开关做的有什么好处呢?首先二极管可以做的很小,解决了体积的问题,二是二极管是使用电控制的,不是用手拨动的,解决了需要人控制的难题,最后就是二极管开关可以很快,解决了速度的问题。例如上面的与门在TINA中仿真,输入信号频率达到1MHz的时候,输出依然可以正常的跟随。
同样的,我们前面学过逻辑运算的基本定律,逻辑公式取反就是把所有的元素都取他们的反,所以与门的对面或门就是图中的二极管方向反过来,然后接电源上拉变成接地下拉即可,如下图:
这个时候就是OUTPUT = INPUTA || INPUTB.
这个时候大家思考一个问题,为什么没有非门?怎么用二极管实现非门?
其实如果用二极管实现非门,需要搭配三极管才容易实现,后面我们会画出这个很复杂的图,远没有这两个这么简单,不过它后面也被更容易实现性能更好的CMOS非门电路替代了,大家只需要理解我们从开关进化到半导体的三大好处就行了。
CMOS半导体门电路
在说CMOS电路之前先了解一下为什么不用我们上面的二极管电路而要新发明一种CMOS电路呢?上面的二极管不是都有三个很大的优点了吗?
仔细观察上面的二极管电压电流关系图,测量下它的正向开始有电压的点就会发现,要超过0.7V左右才开始导通,这就是半导体电路的第一个问题
1、存在正向导通压降,导致高电平的电压在串联的时候逐级下降,最终降到无法使用的程度
其次,半导体二极管的带负载能力不好,当输出接的负载电阻变化时,输出电压可能被拉低,所以做出来的器件不适合直接驱动负载。(这一点我没有实际试验验证过,有兴趣的可以搜索相关资料,我暂时没有这方面的经验),所以第二点就是:
2、不适合驱动负载,带负载能力差
基于上面的两个缺点,我们发明了CMOS电路。
CMOS管常识
这一小节又要介绍器件工艺了,先说为什么叫CMOS,CMOS全称(Complementary Metal-Oxide-Semiconductor)互补式金属氧化物半导体。先不管互不互补,先看看MOS是啥,通常我们有些人说的MOS管或者MOS FET都是跟二极管一样,是结构如下图(来源于维基百科)的一种东西:
看到没,这个结构就比二极管复杂多了,不是搞个N型掺杂P型掺杂就能搞定的,这个里面的工艺如果比较细的介绍就涉及半导体集成电路的工艺了,我到底是搞嵌入式软件的,不专业而且也不是我的初衷,反正就是一块掺杂成的P型衬底(注意是P型衬底而不是纯硅,只不过掺杂浓度较低)上面左右各找一块地方掺杂成高浓度的N型半导体,由于掺杂出来就像一条沟一样,所以俗称沟道,N型的就叫N沟道。
然后我们就有了两条“水沟”,这两条水沟里,流动的都是我们掺杂出来大量的自由电子。然后我们在沟的中间铺上一层绝缘的二氧化硅(类似沟中间的地上铺一块木板),然后二氧化硅上面我们铺一个电极(GATE),衬底的下面还有一个电极,不过这个电极一般和源极(SOURCE)连接在一起,如下面图所示:
我们想象一下,如果把SOURCE和衬底连接到地,中间的栅极(GATE)连接到正极,那中间的基底内部就会形成从上到下的电场,而电子是带负电的,会逆着电场向上跑,这就像有人踩在沟中间的木板上对着下面的土释放吸星大法,这样就会把地里的水全部吸到木板下面。如果功力足够深厚,会发生什么现象?水会在木板下面越聚越多,这样就会把两个沟的水连接在一起,这个时候,如果有人在漏极(DRAIN)加正电压,就会向往沟里倒水一样,水会很顺畅的从漏极通过中间的水层流到对面的源极,这样就导电了。如果中间的人松开吸星大法,那水就流不过去了,水通不通完全中间的人说了算了。
中间的人不仅可以控制通不通,如果他的功夫炉火纯青,甚至可以控制水大水小,像下面的图一样:
第一个图完全不发力,左右不通;第二幅完全发力,左右畅通;第三点发力控制了下,水只能通很小一点点;最后一幅图则是虽然发力了,但是还是流不过去的。
这几种工作模式,在现实生活中有对应的用途,举个例子,完全开和完全关用在最常见的逻辑电路中,本文下面的CMOS非门、与门等,就是用这两种状态的CMOS管代替前面的二极管实现的。中间这种半开半关的状态,最简单的一个应用是电子负载,这个剧透一下,后面有时间专门写下怎么做一个简单的电子负载。
好,有人就对武林上不同功力的人做了统计,不同法力下,这个沟的流水量统计图如下:
这个图来源于一个真实的IRF540 MOS管的datasheet,比如有人功力尚浅,加在栅极(GATE)和源极(SOURCE)之间的功力VGS只有4V,不管别人怎么倒水都不通;有人强一点,VGS有5V,倒水的话,可以留过10A的电流,你可以理解为每秒10立方米的水,不过为什么再到更多水流量也不往上涨了呢?因为这个人功力弱,下面形成的管子小,最大也就流这么多水了,加大VGS电压也没用。可以看到VGS从4V 5V 6 V一直到10V,功力越强,电压越大,可以留过的电流就越大。不过这个图没有画完整,如果有人作死一只倒水,甚至用水泵往里面加压,即使中间这个人功力很弱只有4V,但只要倒水的人足够用力,就可以把中间的土冲开,击穿中间的基底,左右直接导通,那这个电流的曲线过了击穿电压的点就会直线上升,就像洪水决堤一样。不过这样之后电流一下子太大,会迅速在MOS管内产生高温,烧坏MOS管,管子也就报废了,不是允许范围内的工作状态,datasheet也就没画,并且在表格里规定了倒水的最大VGS只能100V,中间人也最大只能施加正负20V的功力:
好了,这样一来,NMOS的原理是不是就完全懂了?嗯?什么是NMOS,上面左右掺的两条水沟不是N型的吗?所以就叫NMOS撒。
有NMOS肯定你会想是不是有PMOS,是的,有!在N型基底上掺出高浓度的P型沟道就是PMOS,如下图:
原理类似,两个的区别在于:
- NMOS驱动电压是正电压,PMOS是是负电压,一个吸星大法,一个是龟派气功。
- NMOS载流子是电子,PMOS载流子是空穴,所以一个要正电压一个要负电压。
不过除了这两种分类,还有一个地方有点区别。有人做的MOS是上面我门介绍的这种,要栅极加电才会导通,叫做增强型;还有人直接作弊,在中间一开始就挖了水沟,默认就是导通的,要想不通还要加个相反的电压,叫做耗尽型。NMOS和PMOS都是这样,所以一共就有下面这四种类型,找了个图总结如下:
上面的图是电路符号图,以后你们会海量的见到。前面混进来一个JFET,这个是一种类似三极管的晶体管,这里就不讲了,以后放模拟电路介绍。
上面讲的都是虚的,真家伙长什么样子,下面这样!
这些元件,如果你看看电脑主板,绝对可以发现他们。不过这个是功率元件,一个元件就是一个MOS管,可以经过的电流动辄上百安,芯片制造里面也是mos,那个因为经过的电流很小,就是完成电路的开关逻辑,所以就只有纳米大小,这一个大管子的体积可以做出上亿出来,如下面的电镜显微图所示:
好,最后回到我们这一小节的标题上来,什么是CMOS?我们介绍了NMOS和PMOS,CMOS的意思就是互补型的MOS,他不是一种PMOS和NMOS外新的类型,而是指同时使用NMOS和PMOS的电路,P和N是互补的,所以叫CMOS。
为什么CMOS电路后面能够独领风骚呢?因为它不仅解决了上面的两个问题,还有其他很多优点,总的来说如下:
- 解决了二极管导通压降0.7V的问题,MOS导通的时候几乎没有压降
- 栅极控制的电极,和源极和漏极之间隔着二氧化硅的绝缘层,所以不会消耗电流,功耗低。
- CMOS由于是PMOS和NMOS互补的,所以静态的时候没有电流消耗,只有开关的瞬间会产生漏电,所以CMOS做成的芯片,不工作时的待机电流远小于三极管组成的电路。
当然,门电路不只CMOS这一种,还有三级管组成的TTL(BJT)电路,甚至将这两种电路结合起来的BiCMOS电路,同时具有两者的优点。不过要讲明白TTL电路,需要弄清楚三极管的模拟特性,什么静态工作点,算电流放大倍数啥的,个人认为把它放在数字电路不合适,这里就不介绍了,简单理解就是TTL在模拟电路设计的时候,在模拟特性、电流驱动能力要优于CMOS电路,那些论坛上HIFI音响发烧友,TTL电路就玩的溜,有兴趣的可以看下他们的帖子,我们这边,关注CMOS就可以了。
下一章,《数字电路基础(5)——CMOS基本电路》。