网站搜索:
第9节 数字电路
文章出处:与非网
更新于2008-05-16 11:32:32

       正如前面提到的,数字电路就是将电信号表示的编码信息进行再现和处理,并始终工作在两种电平状态下-逻辑高电平(Vdd)和逻辑低电平(GND)。数字电路是需要电源来产生这两种电平的,同样的用电源来对信息进行二进制编码。因此,如果某一电路上的节点电平为Vdd,那么该节点信号就表示1;如果节点电平为GND,那么该节点的信号表示0。电路上的器件其实就是简单的开关,允许从一个节点到另一个节点通过逻辑1信号和逻辑0信号。更进一步说,这些开关可以根据一定的逻辑关系组合成能让一定的输入信号变为想得到的输出信号。比如,众所周知的与门就可以根据两个输入信号来产生一个输出信号,这就是输入输出的与逻辑(如果输入1和输入2都为“1,那么输出也为“1)。


        与、或、非(翻转)这三个基本逻辑关系就可以用来表示二进制变数之间的所有了逻辑关系。这些简单的逻辑功能构成了所有数字电子设备的基础-从简单的微波炉控制器到办公计算机。我们可以写一组形式为“F = A AND B的三种逻辑关系的逻辑关系式来表示所有假定数字系统的逻辑行为。现在,我们停一下并且仔细思考这个结论:任何数字系统,甚至是很复杂的计算机系统,归根结底,都是通过执行这三个简单逻辑关系来组成复杂逻辑功能的。

        作为工程师,我们必须确定两个主要概念:怎样用这些简单的逻辑关系来表达已知的逻辑需求和问题状态;还有怎样制造出能够表达这些逻辑关系的物理电子器件。
逻辑等式为实际逻辑电路提供了抽象模型。通过逻辑等式可以很清楚得知道输出逻辑信号是怎样响应一个或多个输入信号。等号“=”通常作为赋值符,用于表明信号经过逻辑电路后的一种状态。比如,简单的逻辑等式“F = A”就表明了输出信号F随时都被赋予了信号A的电平值,但是这并不是暗示F和A是同一个节点-实际上,使用逻辑等式来表明电路行为特性就意味着输入输出是被器件分隔开的。在数字电路中,电路器件就类似一个单向门。因此,逻辑等式“F=A就表示信号A的改变能够导致信号F的改变,但是信号F的改变却不会导致信号A的改变。由于方向性的存在,赋值操作中也要表明方向,通常使用“F <= A来表示。

        大多数逻辑等式可以表示一组输入信号经过系列变换得到的一个输出信号。比如,逻辑等式“F <= A and B就表示了一个输出逻辑电路,该电路输出信号只有当两个输入信号都为“1”时才为“1。下面写出的六个逻辑关系式是最基本的逻辑等式。与运算, ,在A和B之间可以不写操作符(但是更多的时候为了更清晰的表达变量之间的关系,会用一个点号 )。或运算,操作符用加号,非运算或是翻转,其操作符为在要翻转的变量上面加一横杠或是在变量右上角加一撇。(六种关系运算分别用两种方法表示)

         我们可以使用这些基本的逻辑运算来表示出更为复杂的逻辑关系。比如,如果输入信号A和B都为“1”,或是输入信号C为“0,或是在A为“0的时候C同时为“1,那么输出就为“1。这样的逻辑关系就可以用逻辑关系式 来表示。

        真值表由于其简单直观好理解的形式已经成为计算逻辑关系时一个主要的工具。所有可能的输入信号都显示在真值表的左边行上,输出写在最右边。一个有N个输入的真值表就需要有 行来列出所有的输入组合。比如,真值表中有两个输入信号,A和B,这样就需要有 即4行来列出所有的输入状态:“0 0”“0 1”“1 0”和“1 1。对与运算来说,只有当两个输入信号都为真时,输出为真,所以与运算的真值表中最后一列输出只在最后一行值为“1。对 运算来说,真值表输出只在第二行为“1。从工程角度来说,工程师的目标就是根据设定的逻辑关系设计出实际能执行这些指定行为的电子电路。比如,要设计一个当传感器A逻辑输出为1并且传感器B逻辑输出也为1时报警灯亮这么个电路。在这个例子中,也许报警灯用在了一个汽车仪表盘上,传感器A是温度计,它在引擎温度高于90C时输出1,传感器B在冷却计不够的情况下输出1。如果冷却计不够而引擎温度又过高时,电路这时应该“有效”其输出,从而完成某些功能(比如点亮报警灯)。在这个与运算例子中,我们也可以用相同的名词来表达输入,所以最后可以表达为“当且仅当输入A和B都有效时,输出F也有效”。

        某些逻辑电路的输入信号一直为“0,只有当电路或输入器件动作的时候才变为“1”(像是按钮或是点击板)。也有些输入信号一直为“1,只有当输入器件或电路动作的时候才变为 “0”。在这些情况中,我们可以使用名词“有效”来表示输入信号响应动作在LLV或是LHV。根据这个定义,LHV上的有效信号,就表示高有效,LLV上的有效信号就表示低有效。一个高有效信号如果其状态为LLV,那就是说其信号处于无效状态。一个低有效信号如果其状态为LHV,那也是说该信号处于无效状态。输出信号也使用相同的信号定义方法。如果逻辑电路在输入信号有效时产生LHV输出信号,那么我们就说该输出信号为高有效,如果该逻辑电路产生了LLV输出信号,那么我们就说该输出信号为低有效。
        有一个电路实例可以执行操作“F <= A AND B,如下图所示。当开关都闭合时,输出直接与GND相连,所以F为LLV。但是当其中任何一个开关开路时,F就没有通路到GND,而且被上拉电阻拉高(到LHV或是VDD,或是逻辑“1”)。该操作可以简单描述如下:

        如果两个开关都开路时,F = VDD(或是LHV);
        如果一个开关开路,而另一个开关闭合,F = VDD(或是LHV);
        如果开关都闭合,F=GND(或是LLV);
        如果我们假定在开关输入端加电平VDD(或是逻辑“1)时,开关闭合,在开关输入端加电平GND(或是逻辑0)时,开关开路。那么我就可以画出清晰的真值表来确定所有情况下的电路行为特性。如图1所示的电路,既有与逻辑,也有或逻辑:当SW1和SW2都闭合时,F为LLV;当SW1或SW2开路时,F为LHV。所有的逻辑电路都包含有这种二元特性,这就意味着设定的逻辑电路都可以根据输入输出表达方式来用与逻辑或是或逻辑表示。

         第二个电路(图2)可以用来表示逻辑功能:F<=AB或F <= A + B。这个电路用了并联开关而不是串联开关。在这里我们再一次假设VDD使开关闭合,0V使开关开路。类似于图1中的电路,这个电路也可以根据输入信号的表达方式来用与逻辑或是或逻辑来表示-当SW1和SW2开路时,F为LLV(或是GND),当SW1或是SW2闭合时,F为LHV。


         观察上面所说的两种电路,实际物理电路也是以相同的方式工作的。但我更多的用异或和同或来描述其行为特性。在后面的分析将能看出,使用异或和同或能够更方便的表达电路逻辑。

         即使只使用电阻和开关,我们也可以设计出复杂的逻辑关系,比如“F = (A and B) or C

  <<上一节    下一节>>



关于OpenHW | OpenHW使用说明 | FAQ | 相关法律 | 版权声明 | 网站地图
联系邮件:xiaoquan@eefocus.com  联系电话: 010-58859035-8012
Powered by eefocus.com