2005-05-03:开关与电阻
说实在的,有点不大愿意和空姐 MM 聊天了,没啥有意思的话题。除了那些艺术照之外, 这 MM 最热衷的话题是——爱情。而且,人家男朋友居然是中国人民解放军现役军官诶,“一毛二(一杠两星)”的小中尉。我们高一开学也军训了,班上还真有几个女生喜欢军训教官。不可否认地说,我们教官确实是帅爆了,连我都有点喜欢他。但我总觉得,这个小兵能依靠什么养家呢?细想一下现在的小女生哪管什么家不家的啊,浪漫至上冲动为王,青春苦短,再不疯狂我们就老了。
不过我还是没耐住寂寞和空姐 MM 说了几句,主要是这回人家主动打招呼。
云上漫舞:“你干嘛呢?帅锅。”
我:“怎么主动和我打招呼了?每回不都是我搔扰你吗?”
云上漫舞:“别的帅锅都没上来,就你在啊。”
我:“别这样,你首长不高兴了。”
我:“挺好的黄金周怎么不去玩?”
云上漫舞:“我只有这一天的假,明天还得飞,累死了。你不也没出去?”
我:“我忙,我在研究最尖端的科学技术。你看看这个。(figure0028)”

云上漫舞:“就这还尖端呢?这不是个楼梯照明灯吗?楼上楼下都可以开关的。”
我:“哇塞!你可真是惊到我了!你不是空姐吗?怎么还看得明白这个?”
云上漫舞:“我是空姐,我爸爸不是啊,我爸懂这些东西。”
我:“咱爸是中科院的吧?要不就是清华教授?”
云上漫舞:“呵呵。我爸在一个物业公司上班,是电工。”
云上漫舞:“我从小就被老爸灌输这些电啊线的,烦死了,我特别不喜欢这些东西。不过老实说,我学 这些东西还是很快的。”
我:“我记着咱爸还向你请教 WINRAR 的用法?”
noob-coder注:WinRar 压缩软件
云上漫舞:“对啊,那都是我自己先学然后教他。他跟不上时代了,倒退 20 年还凑合,现在笨死了。”
我:“不错啦,一把年纪还要学用电脑,精神可嘉。咱爸会装收音机不?”
云上漫舞:“不会。那是我爸,别咱爸咱爸的。”
我:“真是没想到,美女一眼就知道这个图(figure0028)是怎么回事,我可费了牛劲呢。”
云上漫舞:“行啦,我爸老早就给我讲过这个东西,不过好像图不太一样。”
我:“啊?还有别的电路也能做出这功能?你看的图什么样?”
云上漫舞:“我哪记得啊。我看这图有点面熟,就随便猜了下。”
师:“你在忙什么呢?不先打招呼?”
我:“忙着逗空姐。那个走廊灯是不是还有别的电路接法?”
师:“有啊,你自己想出了一种不同的电路吗?收这个图。(figure0034)”

我:“你再看看这图,是不是你以前跟咱爸学的是这个?(figure0034)”
云上漫舞:“你烦不烦啊,我不记得那些东西了。别打搅我。”
师:“你到底有什么心得啊?折腾什么呢?”
我:“没折腾啥,空姐 MM一眼就看出那是个走廊灯了。太受打击了。”
师:“你费了半天劲就只弄明白这是个走廊灯?没点其它的想法?”
我:“我学着你那样画了个表格,等我截个图给你。(figure0033)”

师:“这个好,这个总结的不错,比照亮走廊有意义。”
我:“这个也是一种逻辑关系吗?看着像 ‘或’ 逻辑,但又不是。”
师:“这个当然是一种逻辑关系,这叫‘异或’,那是‘相——当——’的重要。”
师:“你小子水平不低嘛,这表格都能自己分析出来?”
我:“我是瞎猫碰见死耗子,这个 ‘异或’ 没那么夸张吧?”
师:“以后你就知道异或的重要性了。你先记住异或的规律:两个输入只要相同,输出就是 0,不同则输出就是 1。”
我:“相同为 0 不同为 1,这个好记。”
师:“和‘异或’相对应的还有个‘同或’,就是‘相同为 1 不同为 0’的。”
我:“好像就是 ‘异或’ 后面加一个 ‘非’ 对吗?”
师:“您这就会把不同的逻辑连接到一起啦?太强了你!”
我:“这很强吗?”
师:“四种逻辑关系各有一个表格,这种表格叫 ‘真值表(Truth Table)’,我们讨论的‘与或非’3 个表加这个 ‘异或’ 是最简单的,必须牢记于心,倒背如流。”
我:“没问题,死记硬背俺最拿手。”
师:“再给个图(figure0035)总结一下这些电路,以后会用到以下这些图形符号的。”

我:“感觉这个‘非’的符号有点意思。”
师:“输出端有个小圆圈,表示‘内外有别’”
我:“就是说如果内部为 1,输出到外部就为 0?”
师:“就是这个意思。今天我们还是要从这个图(figure0023)谈起,我们要先看这个图的一个缺陷。”

我:“开关在从 1 拨到 0 的过程中有个瞬时 ‘浮空’ 状态,这个能算缺陷不?”
师:“你行,记性还不错。我们现在要克服这个瞬时的‘浮空’状态,不让它出现。”
师:“线路是 ‘相——当——’ 的简单,收这个图。(figure0036)”
我:“看来我挂了小儿科的号了,真的就是这样的简单?”

师:“看(a)图,开关接通,OUT 输出 0,开关断开,OUT 输出 1。OUT 端从来没有上不着村下不着 店的状态,它要么经开关接 GND,要么经电阻 R 接
我:“OUT 端经电阻接
师:“那它不是
我:“我一时没想清楚,电阻上有电流流动时才有电压降落,没电流电阻上就没电压降,OUT 端只能是 5V。”
师:“这个电路中的电阻叫‘上拉电阻’,电阻和开关可以换个位置的。”
我:“(b)图中的电阻叫 ‘下拉电阻’ 对吧?为什么要用‘拉’呢?”
师:“一直就叫做‘拉’的,形像一点而已。当开关断开时,电阻把
我:“真没觉得形像,气味有点怪怪的。”
师:“这个电路不仅保证 OUT 端非 0 即 1,同时还有一个很大的优点。再收图。(figure0037)”

我:“两部分电路的输出端可以直接连在一起?没问题吗?”
师:“没有任何问题。不论开关是通是断,电源是绝不会被短路的。”
我:“电源肯定没短路的问题。我还观察到一个特点:两个上拉电阻其实是并联在一起的。”
师:“耶!你的天份再加上
我:“咱别每次只涨 0.1 了,你就说我有那
师:“两个上拉电阻可以只留下一个,或者说两个输出端可共用1个上拉电阻 R1 ,这是没问题的。(figure0038)”

师:“好了,就这个两个开关加一个上拉电阻的图(figure0038)。我们还可以继续挖掘一下:由于两开关是接 GND 的,所以我们把开关接通定为 0,把开关断开定为 1,两个开关有 4 种状态组合,

当
接通 断开时,OUT 端被 接到了 GND 上,实际上两个开关无论谁接通(或都接通),OUT 端就一定是被接到 GND 的,只有两个开关全断开,OUT 端才被 R1 “上拉”到 。
我:“哈哈,这个是‘与’逻辑啊,真是没想到。(见 figure0040)”

师:“两开关加下拉电阻呢?开关接通定为 1,断开定为 0,不用我再多说什么了吧?”
我:“不用多说了,那个是 ‘或’ 逻辑,简单。”
以上的讨论有点不完善,见本小节后的补充说明。
我:“我认为今天讨论的电路比昨天讨论的要好,线路简单,也不用两个开关,输出还能直接连接在一起。”
师:“总结的还真及时?我们下面来讨论一下这种电路的缺点。收图吧。(figure0024)”

我:“我倒!你是存心要打击我啊?还是上回的图?”
师:“这个图可以输出 0 或 1,或者输出端为高阻态,不论输出哪个状态这个电路都是不耗电的。”
我:“对,只要两开关不同时接通,这个电路中总是没有电流流动。”
师:“如果你用两只手 ‘同时’ 拨动开关,比如左手把上面的拨通同时右手把下面的切断,那么有可能出现上面的开关接通时下面的开关还没断这样一个瞬间。”
后面说到 “集成电路” 时会用到上面描述的这种情形。
我:“嗯,没有可丁可卯正合适的时候,可能有瞬间两开关都是通的,这会烧保险丝吗?”
师:“保险丝烧断也需要一点时间啊,两开关造成短路的时间如果实在是非常的短那就没问题。”
师:“我们今天讨论的一开关加上拉电阻的电路不是这种特点,它在输出 0 的时候是一定要耗电的,很容易想到吧?(figure0041)”

我:“开关接通后是有电流流过上拉电阻,经开关到地。这算是缺点吗?”
师:“算不上是什么严重的缺点吧 应该说是一个特性。这类型的电路还有其它一些特色,收图。(figure0042)”

我:“这样两个电路的输出还是不能直接连在一起,两开关都接通电源又短路了。”
师:“如果 B 电路把开关拆了,只保留一个下拉电阻呢?电源被短路的危险肯定是没有了,但是有别的问题对不?”
我:“OUT 端不能输出 1 啊。 当 A 电路的开关 S1 断开后 O 点的电压是两电阻 R1 和 R2 串联分压,不可能是
师:“这就是开关加上拉电阻这种电路的缺点所在:对 A 电路来说,它输出端如果对地接了一个电阻(R2)的话,这个电阻不能太小,必须‘远远大于’上拉电阻(R1)才行,否则 OUT 端的电压就不对了。”
我:“可不论这个对地的 R2 电阻有多大,它总是和上拉电阻 R1 串联的,它分到的电压总会小于
师:“这个我昨天和你说过了,
我:“这么说这规矩是可以改的对吗?那又怎么改呢?”
师:“我们可以重新约定
我:“这样的话只要那个对地的电阻达到
师:“就是这个意思。那么这个图也就不成问题了吧?收一下。(figure0043)”

我:“开关 S1 接通可使 OUT 端为 1,断开时 OUT 端靠
师:“实际上我们需要把这个电路(figure0044)重新划分一下,分成两级:开关与上拉电阻组成前级电路,那个单独的下拉电阻算是后级。”
我:“就三个零件还要分两级啊?”
师:“先把这个图收下来,我是为了把一些概念说清楚。(figure0044)”

师:“后级这个电阻 R2 是接在后级电路的输入端到地之间,可称之为后级电路的‘输入电阻’。而对于前级电路来说,这个电阻 R2 接在输出端到地之间,是它的‘负载电阻’。”
师:“我们所约定的那个‘1’是一个信号,这个信号从前级电路传到后级依靠电子的运动,也就是靠电流。”
我:“数字“1”是由电压表示的,它在电路之间传输却是靠电流的流动?”
师:“对了,这是个关键,很多人都忽略这个事实,所以有时遇到让他们很‘费解’的问题。”
师:“这个电流怎么流动?从
我:“在电源内部电流从负极流到正极,从正极再出来。”
师:“是的,电流总是要形成一个‘环路’,或者说 ‘回路’,这也是一个很重要但又常被忽略的事实。”
我:“我也想忽略这些事实,这有那么重要吗?”
师:“前级电路之所以无法输出
我:“这倒也是,只要有电流流过上拉电阻 R1 就必然有电压降落的,所以这前级电路总也出不来
师:“后级电路的输入电阻阻值越小,前级电路就必须能输出更大的电流才能维持住
我:“为了能输出大一些的电流,前级电路的上拉电阻就必须减小才能保证输出电压不降低。”
师:“也不是那么绝对,如果你不在乎前级电路输出电压降低的话就不必减小上拉电阻。”
我:“这得在乎啊,输出电压过低就不能当做数字 1 了。”
我:“那我们干脆凡是上拉电阻都用 1 欧姆,这不就能适应很大范围的负载了吗?”
我:“我是想保持前级电路输出电压尽可能不降低。”
师:“那你还得考虑输出 0 的情况呢?要输出 0 开关就得闭合,那 1 欧姆电阻上流过多大电流啊?”
我:“
师:“你终于想起来计算发热了。
我:“焊电阻的锡都化了。啥叫 ‘终于’ 想起来啊?”
师:“说到减小上拉电阻,这里有个重要的概念需要说下。”
师:“阻值越小的上拉电阻越有能力把输出端拉到高电平,所以小阻值的上拉电阻常被称为‘强上拉’电阻,大阻值的上拉电阻则被称为‘弱上拉’。”
我:“强与弱有什么明确的分界线没有?多少欧姆算强啊?”
师:“没有什么具体的界线,大体上超过
我:“那要是负载电阻(figure0044 中的 R2)为 50 欧姆的话
师:“你也知道强与弱是需要比较才分得出的,那还问有什么具体的界线?那个 50 欧的电阻相对
师:“我所说的
我:“明示学起来都费劲,还暗示?我想对于任何电路而言,它的后级电路的输入电阻应该越大越好, 减轻前级的负担。”
师:“如果你需要前级电路输出一个尽可能高的电压,那么你的总结是正确的。并不总是要求后级电路的输入电阻必须非常高。”
后面讨论“内阻”时我们会进一步说明上面的结论。
师:“好像时间不早了?我要走了。”
我:“你怎么总是这么急啊?多聊一会儿不行?”
师:“我明天有事情,今天基本上把重要的内容都说了,剩下的你可以自己回顾总结一下。”
我:“好吧,师傅领进门,修行靠个人。俺自力更生吧。”
送走了 C# ,我继续回顾着这次讨论的全部内容,“异或” 这种逻辑关系并不难,C# 说这个 “异或很重要”,想了又想也没看出这有什么特别与众不同的,它和“或”只差了一点点,怎么就重要了呢?开关加上拉下拉电阻输出 0 和 1 时有自己的特色,首先是非 0 即 1,没有其它状态。两个电路的输出可以直接相连,甚至共用一个上(下)拉电阻。昨天讨论的开关电路要求两个电路必须具有“高阻”输出,两组电路输出端相连接时,其中一组电路控制输出端的状态时,另一组电路必须是输出端“高阻”状态的。开关加上下拉电阻看来值得再深思一下。
如果两个开关加上拉电阻的电路(figure0037)输出端直连,如果 A 电路的开关 S1 总是接通的,那么输出端 OUT 肯定输出 0,这时如果 B 电路相让输出端 OUT 变 1,它的开关 S2 断开了,输出端 OUT 会是 1 吗?肯定不会,输出已经被 A 电路中的开关 S1 短路到 GND 了,总是输出 0 的。所以 B 电路想控制输出端变化,就要求 A 电路中的开关必须断开才行。这样 A 电路的输出端对 Vcc 有一个电阻,对 GND 是断路的,这难道不属于“高阻”态吗?好像不属于,因为对 Vcc 的电阻 R1 不一定是“高”阻。可是上拉的“强弱”又是相对的啊,那么所谓的“高阻”就一定要求电阻要用“高”阻值吗?这有些说不清楚了。看来这样的电路输出端直连只是没有把电源直接短路的危险,两个电路还是只能“分别”控制输出端的状态。
信号在电路中传递是靠电流的,而信号 0 或 1 又是靠电压高低来表达,既有电流又有电压的话,这不就是“功率”吗?看起来信号其实是一股“能量”啊。C# 说这个很重要却有很多人总是忽略这个事情,这一点我没什么体会,这有什么高深的?“输入电阻”看来是个重点,这个电阻必须尽量大一些才能在其两端分到高一些的电压。这样来看前级电路的上拉电阻可以命名为“输出电阻”了,输出电阻应该越小越好。不对不对,这个电阻越小在开关闭合输出 0 的时候就越费电。看来这种电路确实不是那么特别的理想,存在着一些矛盾。
夜已深了,老妈并没来紧着催眠,毕竟是长假嘛。看来老爸虽然总是和妈妈统一战线,但还是对妈妈施加了一些影响的,要知道不少同学在这个假期里被赶着上补课班呢。刷牙的时候我仍然在想着讨论过的所有内容,突然一个问题冒了出来,我顺手用牙刷在镜子上画了个图(figure0043) :这个电阻 R2 也是后级电路的 “输入电阻”吗?输入电阻不是一端要接 GND 的吗?
这个问题不想清楚恐怕是甭想睡觉了,我躺在床上越来越精神,满脑子都是接 GND 的输入电阻。突然间,答案一下子闯进了我的脑海里:GND 的选取是一种人为的约定,我们通常把它选在电源的负极,这个规矩是可以改的。我如果把 GND 选在电源正极呢?问题迎刃而解啊!哈哈,这么简单!
本节补充说明
对于(figure0038)这张图,我们进一步做些说明,主要是重新定义其中的开关。我们现在假设这两个开关不是手动的,而是由一个电信号(

在这个表中,右侧表格中的 A 和 B 我们可以不理,我们现在看

所以图(figure0038)所给出的电路,有时候我们称其为“与”,这在前文中我们讨论过,有时候这个电路的接法还被称为“线或”,这多少让人有些费解,至少难以理解哪里出来的“或”呢?我可以告诉大家它究竟是“与”还是“线或”跟那个“开关”有密切联系,当开关具有“反向”的功能时,这里就有了“或”。现在大家不太容易理解,后面我们讨论“晶体二极管”和“晶体三极管”时会对这个电路做更详细的讨论。
学习与计算机相关的电路,我们常把注意力集中的“电压”上,因为我们需要用不同的电压表达数字 0 和 1,这令我们时常忽略“电流”,因此有时会遇到一些困惑:“这个点明明应该是高电平 1 啊?怎么会不是呢?”这里我再次强调一下,“信号”是一股“能量”,它同时包含 “电压” 和 “电流”, 大家不能只强调其中一个元素而忽视另一个。在我们今后的学习中,我们将真实的看到这个要点。

最后我们来看这样一张图(figure0047),请问当 A 电路的开关 S1 断开后,B 电路能否控制 OUT 端的输出电平?显然是可以的。由此可见当两部分电路的输出端直接连在一起时,也不是必须要求两部分电路的输出端都具备“高阻态”。或者,当 A 电路的 R1 阻值较大时,比如