数字电路与逻辑设计教程-第3章_第1页
数字电路与逻辑设计教程-第3章_第2页
数字电路与逻辑设计教程-第3章_第3页
数字电路与逻辑设计教程-第3章_第4页
数字电路与逻辑设计教程-第3章_第5页
已阅读5页,还剩139页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第3章组合逻辑电路3.1组合逻辑电路的分析3.2组合逻辑电路的设计3.3常见组合逻辑电路及其应用3.4组合逻辑电路中的险象及其消除本章小结3.1组合逻辑电路的分析通过逻辑代数的化简以及逻辑门电路的特点来分析组合逻辑电路,可加深对组合逻辑电路的理解。3.1.1组合逻辑电路的特点逻辑电路按其输出信号对输入信号响应的不同,可以分为组合逻辑电路和时序逻辑电路两大类。若一个逻辑电路,其任一时刻的输出仅取决于该时刻输入变量取值的组合,而与电路以前的状态无关,则该逻辑电路就称为组合逻辑电路(简称组合电路)。一个具体的组合逻辑电路所实现的特定功能在逻辑上完全可以用一组逻辑函数加以描述。下一页返回3.1组合逻辑电路的分析图3-1给出了组合逻辑电路的一般框图。其中n个输入(X1,X2,…,Xn)共有2n种可能的组合状态,m个输出(Z1,Z2,…Zm)可用m个逻辑函数来描述。输出与输入之间的逻辑关系可表示为Zi=fi(X1,X2,…Xn)其中i=1,2,…m。只有一个输出变量的组合逻辑电路,称为单输出组合逻辑电路;有多个输出变量的组合逻辑电路称为多输出组合逻辑电路。从电路的结构和功能上看,组合逻辑电路的特点可归纳为以下几点:上一页下一页返回3.1组合逻辑电路的分析(1)电路中不存在输出端和输入端的反馈通路。(2)电路主要由各种门电路组合而成,其中不包含存储信息的存储元件。

(3)电路的输入状态一旦确定后,输出状态便被唯一地确定下来。所以,输出变量是输入变量的逻辑函数。(4)电路的输出状态不影响输入状态,电路的历史状态也不影响输出状态。上一页下一页返回3.1组合逻辑电路的分析3.1.2组合逻辑电路的一般分析方法对给定的组合逻辑电路图求解其逻辑功能的过程称为组合逻辑电路的分析。所谓分析就是找出组合逻辑电路输入变量和输出变量之间的关系,即找出何种输入状态组合下电路输出为“1",何种输入状态组合下电路输出为“0"。通过分析可以了解组合逻辑电路的功能和设计思路,从而进一步对电路作出评价和改进。上一页下一页返回3.1组合逻辑电路的分析通常,只要列出组合逻辑电路的真值表,就可以知道该电路的逻辑功能。因此,组合逻辑电路的分析,实质上是由函数的逻辑图形式入手,通过函数表达式最终转换成函数真值表形式的过程。组合逻辑电路的一般分析方法可按以下步骤进行。第一步:根据给出的组合逻辑电路图,由输入端逐级向后递推,写出每个门的输出对于输入的逻辑关系,最后得到整个组合逻辑电路的输出变量对于输入变量的逻辑函数表达式。上一页下一页返回3.1组合逻辑电路的分析第二步:利用逻辑代数法或卡诺图法,对所得的逻辑函数表达式进行转换或化简,得到逻辑函数的标准或最简“与-或”表达式。第三步:由逻辑函数的标准“与-或”表达式或最简“与-或”表达式列出对应的真值表。第四步:由真值表判断出组合逻辑电路的逻辑功能。上一页下一页返回3.1组合逻辑电路的分析3.1.3组合逻辑电路分析举例1.单输出组合逻辑电路分析举例【例3-1】试分析图3-2所示的组合逻辑电路的功能。解(1)由G1、G2、G3各个门电路的输入和输出关系,推出整个逻辑组合的表达式:Z1=ABC,Z2=A+B+C,F=Z1+Z2=ABC+A+B+C。(2)对该逻辑表达式进行化简。F=ABC+A+B+C=ABC+ABC上一页下一页返回3.1组合逻辑电路的分析(3)根据化简后的函数表达式列出真值表见表3-1。(4)从真值表中可以看出,当A,B,C3个输入变量一致时(或者全为“0”、或者全为“1"),输出才为“1",否则输出为“0",所以,这个组合逻辑电路具有检测“输入一致”的功能,也称为“判一致电路”。2.多输出组合逻辑电路分析举例【例3-2】试分析图3-3所示的组合逻辑电路的功能。上一页下一页返回3.1组合逻辑电路的分析(1)由G1G2G3G4G5各个门电路的输入和输出对应关系,推出整个组合逻辑电路的表达式:Z1=AB,Z2=Z1·A=AB·A,Z3=Z1·B=AB·BS=Z2·Z3=AB·A·AB·B,C=Z1=AB(2)对逻辑表达式进行简化:S=AB·A·AB·B=AB·A+AB·B=(A+B)A+(A+B)B;=AB+AB=A⊕B.C=AB=AB上一页下一页返回3.1组合逻辑电路的分析(3)根据化简后的函数表达式列出真值表见表3-2。

(4)分析功能。若设A,B各为一位二进制加数,则从真值表可以看出,C为两加数相加后的一位和,C为两加数相加后的进位值。由此可见,这个组合逻辑电路实现了加法器的功能。但由于这种加法器不计低位来的进位,所以称为“半加器”(HalfAdder)。半加器是运算器的基本单元电路,其符号如图3-4所示。上一页返回3.2组合逻辑电路的设计通过对组合逻辑电路的分析,已经对其特点以及功能有了初步的认识。下面根据前述知识来对组合逻辑电路的设计详加探讨。3.2.1组合逻辑电路的一般设计方法逻辑设计是数字技术中的一个重要课题。任何一个可描述的事件或过程,都可以进行严格的设计,然后用数字器件加以实现。下一页返回3.2组合逻辑电路的设计根据要求设计的逻辑功能,通过抽象和化简,进而求得满足功能要求的组合逻辑电路图的过程,称为组合逻辑电路的设计。可见,组合逻辑电路的设计是分析的逆过程。一般组合逻辑电路的设计可按以下步骤进行。第一步:根据所需要的设计要求和已知条件,弄清输入和输出变量的个数及其之间的逻辑关系,列出满足逻辑要求的真值表。第二步:由真值表列出逻辑函数的标准“与-或”表达式或最简“与-或”表达式。上一页下一页返回3.2组合逻辑电路的设计第三步:根据所选的门电路类型及实际问题的要求,将逻辑函数转换成所需的表达式形式。第四步:由所得的逻辑表达式画出逻辑电路图。以上步骤中关键的是第一步。一个事件或过程的功能描述,最初总是以文字的形式提出的,设计者必须对这些描述有全面、正确的理解。而只有先明确哪些因素是输入变量、哪些因素是输出变量,以及输入、输出变量之间的逻辑关系,才能列出正确的真值表。正确的真值表是组合逻辑电路设计的基础。上一页下一页返回3.2组合逻辑电路的设计需要指出的是,一个最简单的逻辑表达式不一定就对应一个最简单的逻辑电路。当采用中、小规模集成电路作为基本逻辑单元进行设计时,逻辑门数最少、级数(输入端到输出端所经过的最多门数)最少、芯片数最少的电路才是最简单的电路。例如,某逻辑函数的最简表达式为F=AB+AB,按照该表达式实现的电路需要3种类型共5个门电路(两个非门、两个与门和一个或门)。若将表达式等价转换为F=AB·A·AB·B,则实现该电路功能时只要同类的4个与非门(如一片7400芯片)就可以了。上一页下一页返回3.2组合逻辑电路的设计3.2.2组合逻辑电路设计举例【例3-3】3人按少数服从多数原则对某事进行表决,但其中一人有决定权,即只要他同意,不论同意者是否达到多数,表决仍将通过。试用“与非”门设计该表决器。解(1)由题意可知,该表决器有3个输入变量和1个输出变量。设A,B,C为输入变量(“1”表示同意,“0”表示不同意),且A为有决定权的变量,F为输出变量(“1”表示通过,“0”表示不通过)。将表决器的逻辑功能描述为:当A为“1”或者B,C均为“1”时,F才为“1”。由此可以列出真值表见表3-3。上一页下一页返回3.2组合逻辑电路的设计(2)由真值表列出逻辑表达式为:F=ABC+ABC+ABC+ABC+ABC.用卡诺图化简逻辑函数,如图3-5(a)所示,得到最简“与或”表达式:F=A+BC。(3)将表达式转换成用“与非”逻辑实现的形式为:F=A+BC=A+AB=A·BC。(4)根据逻辑表达式画出图3-5(b)所示的逻辑电路。这里假设系统能提供所有的原、反变量,否则还需要增加一个“非”门以实现A。上一页下一页返回3.2组合逻辑电路的设计【例3-4】某工有3个用电量相同的车间和一大、一小两台自备发电机,大发电机的供电量是小发电机的2倍。若只有一个车间开工,小发电机便可满足供电要求;若两个车间同时开工,大发电机可满足供电要求;若3个车间同时开工,需大、小发电机同时启动才能满足供电要求。试用“与非”门设计一控制器,以实现对两个发电机启动的控制。上一页下一页返回3.2组合逻辑电路的设计解(1)由题意可知,该控制器有3个输入变量和两个输出变量。设A,B,C为3个车间开工情况输入变量(“1”表示开工,”0”表示停工),M,N为大、小发电机的启动信号输出变量(“1”表示启动,”0”表示关闭)。可将控制器的逻辑功能描述为:当A,B,C中仅有一个为“1”时,N为“1”;当A,B,C中有两个同时为“1”时,M为“1”;当A,B,C全为“1”时,M,N均为“1”;当A,B,C全为“0”时,M,N均为“0”。由此列出真值见表3-4。上一页下一页返回3.2组合逻辑电路的设计(2)由真值表列出逻辑表达式,并利用图3-6(a)所示的卡诺图将它们转换为最简“与-或”表达式:M=ABC+ABC+ABC+ABC=BC+AC+AB;N=ABC+ABC+ABC+ABC(3)将表达式转换成用“与非”逻辑实现的形式:M=BC+AC+AB=BCACAB;上一页下一页返回3.2组合逻辑电路的设计N=ABC+ABC+ABC+ABC=ABCABCABCABC。(4)根据逻辑表达式画出图3-6(b)所示的逻辑电路。这里假设系统能提供所有的原、反变量,否则还需增加3个“非”门以实现A,B,C。上一页返回3.3常见组合逻辑电路及其应用前两节学习了组合逻辑电路的分析和设计,下血对实际生活中一些常用的组合逻辑集成电路(全加器、译码器、数值比较器、编码器及数据选择器)的功能和设计制作逐一加以分析。3.3.1全加器加法器是计算运算器的核心部件,它由多个一位全加器组合而成。在本章3.1节的例3-2中,曾经介绍过半加器。半加器是实现两个一位二进制数相加产生一位和值及一位进位值,但不考虑低位来的进位值的加法器。下一页返回3.3常见组合逻辑电路及其应用要实现多位二进制数相加,则每个一位加法器必须既考虑向高位的进位,又考虑低位来的进位。这种将低位来的进位与两个一位二进制数一起相加,产生一位和值及一位向高位进位的加法器称为全加器(FullAdder)o设两个一位二进制加数分别为Ai、Bi,Ci-1为低位来的进位值,Si为和值,Ci为向高位的进位,给出全加器的真值表见表3-5,其符号如图3-7所示。上一页下一页返回3.3常见组合逻辑电路及其应用从真值表中可以列出全加器的逻辑表达式,经化简后得:Si=AiBiCi-1+AiBiCi-1+AiBiCi-1Ci=BiCi-1+ACi-1+AiBi比较本章3.2节例3-4发电机启动控制器的真值表和表达式,若将那里的变量A,B,C,M,N分别用Ai,Bi,Ci-1,Si来表示,就可以发现与全加器的完全一致。也就是说,如果参照例3-4采用与非门来实现全加器,不但需要9个与非门,而且还要同时提供原、反变量。在实际使用中,常将全加器的表达式经适当转换后用异或门和与非门来实现:上一页下一页返回3.3常见组合逻辑电路及其应用Si=AiBiCi-1+AiBiCi-1+AiBiCi-1+AiBiCi-1

=(AiBi+AiBi)·Ci-1+(AiBi+AiBi)

Ci-1=(AiBi+AiBi)·Ci-1+(Ai+Bi)·(Ai+Bi

)·Ci-1=(AiBi+AiBi)·Ci-1+(AiBi+Ai+Bi)

Ci-1=(Ai⊕Bi)·Ci-1+(Ai⊕Bi)

Ci-1

=(Ai⊕Bi)⊕Ci-1Ci=AiBiCi-1+AiBiCi-1+AiBiCi-1+AiBiCi-1=(AiBi+AiBi)·Ci-1+AiBi(

Ci-1+

Ci-1)=(Ai⊕Bi)⊕Ci-1+AiBi上一页下一页返回3.3常见组合逻辑电路及其应用由此可得到用异或门和与非门构成的全加器逻辑电路如图3-8(a)所示。用n个全加器按图3-8(b)所示连接起来,可以实现n位二进制数的加法运算。其中A1~An,B1~Bn,分别为n位被加数和加数,S1~Sn为n位和。各进位位串行连接形成进位链,即低位全加器产生的进位,直接连到高位全加器的进位输入,最低位全加器的进位输入C0接“0"电平(即接地)。在相加的过程中,低位产生的进位位逐位传送到高位,这种进位方式也称为“行波进位”。由于高位相加必须在低位相加完成,并形成进位位后才能进行,所以n位行波进位加法器速度较慢。上一页下一页返回3.3常见组合逻辑电路及其应用为了提高n位加法器的运算速度,可以采用一种称为“先行进位”的方法。作为了解,下面对先行进位的实现原理作一个简要的介绍。一个n位加法器其中任何一位全加器产生进位的条件是:或者A、B均为0;或者A、B中有一个为“1",且低位有进位产生。该条件可用逻辑表达式描述为:Ci=

(Ai+Bi)·Ci-1+AiBi=PiCi-1+Gi式中,A+B称为进位传递函数(记作Pi),AiBi称为进位产生函数(记作Gi)上一页下一页返回3.3常见组合逻辑电路及其应用对于一个4位(n=4)加法器来说,各位进位产生的条件可表示为:C1=

(A1+B1)·C0+A1B1=P1C0+G1C2=

(A2+B2)·C1+A2B2=P2C1+G2=P2P1C0+P2G1+G2C3=

(A3+B3)·C2+A3B3=P3C2+G3

=P3P2P1C0+P3P2G1+P3G2+G2C4=

(A4+B4)·C3+A4B4=P4C3+G4

=P4P3P2P1C0+P4P3P2G1+P4P3G2+P4G3+G4上一页下一页返回3.3常见组合逻辑电路及其应用由以上分析可知,C1~C4的产生仅依赖于P1~P4、G1~G4及C0(一般情况下C0=0),而P1~P4,G1~G4、又可以直接由A1~A4,B1~B4、计算得到。所以,一旦参加运算的加数确定了,便可同时产生各位进位,实现多位二进制数的并行相加。芯片型号为7483/74LS83的中规模集成电路,是一片内部具有先行进位的4位二进制加法器,其引脚排列如图3-9所示。在A1~A4,B1~B4上输入二进制加数,C0,GND接地,UCC:接电源,便可在S1~S4、上得到4位二进制和,并在几上得到相加后总的进位。C1~C3由芯片内部自动处理,芯片外不必有引脚引出。上一页下一页返回3.3常见组合逻辑电路及其应用用两片7483/74LS83的4位二进制加法器如图3-10所示进行连接,即高位芯片的C0

。接低位芯片的C4,,低位芯片的C0

。接地,就可以组成8位二进制加法器。这样构成的加法器,每片芯片内部(组内)使用先行进位,两片芯片之间(组间)采用串行进位。要实现两个16位二进制数相加求它们的和,用7483/74LS834位二进制加法器该如何接?请读者自行分析。上一页下一页返回3.3常见组合逻辑电路及其应用实现对两个n位二进制数进行比较,判断其大小关系的逻辑电路称为比较器。两个n位二进制数A(An-1An-2…A2A1)和B(Bn-1Bn-2…B2B1)的比较结果,可能有A>B,A=B,A<B3种情况。两数相比,高位的比较结果起着决定性作用,即高位不等便可以确定两数的大小,高位相等再进行低一位比较,所有位均相等才表示两数相等,所以n位二进制数的比较过程是从高位到低位逐位进行的,一也就是说,n位二进制数的比较器是由n个一位二进制数比较器组成的。上一页下一页返回3.3常见组合逻辑电路及其应用表3-6列出了一位二进制数比较器的真值表。从真值表中可以看出,该比较器有两个一位输入A,B,以及3个比较结果输出F1,F2,F3

。当A>B时,F1=1;当A=B时,F2=1;当A<B时;F3=1由真值表可以列出比较器的逻辑表达式并转换成以下形式:F1=ABF2=AB+AB=AB+ABF3=AB根据逻辑表达式画出一位二进制数比较器的逻辑电路如图3-11所示。上一页下一页返回3.3常见组合逻辑电路及其应用根据逻辑表达式画出一位二进制数比较器的逻辑电路如图3-11所示。4位二进制数比较器由4个一位比较器组成,用于对两个4位二进制数A(A3A2A1A0)和B(B3B2B1B0)的各位两两进行比较。4对(共8组)输入变量为(A3B3,

A2B2,

A1B1,

A0B0)3个输出变量为“A>B”,“A=B”,A<B”其真值表见表3-7。上一页下一页返回3.3常见组合逻辑电路及其应用由4位二进制数比较器真值表可以看出,当A3=1。B3=0即A3>B3时,无论其低位数为何值,结果总为A>B,所以输出(A>B)=1;当A3=0B3=1即A3<B3时,无论其低位数为何值,结果总为A<B,所以输出(A<B)=1;当A3=B3时,则要根据A2、B2的值来确定两数的大小,其余依此类推。仅当A3-A0与B3-B0,两组各4位数码均两两相等时,结果才为A=B,即输出(A=B)=1。令4个一位比较器从高位到低位:Ai>Bi的输出分别为L>3,L>2,L>1,L>0;Ai<Bi的输出分别L<3,L<2,L<1,L<0;Ai=Bi的输出分别L=3,L=2,L=1,L=0;可以列出4位二进制数比较器的逻辑表达式如下:上一页下一页返回3.3常见组合逻辑电路及其应用A>B=(A3>B3)+(A3=B3)(A2>B2)+(A3=B3)(A2=B2)(A1>B1)+(A2=B2)(A3=B3)+(A1=B1)(A0>B0)=L>3+L=3L>2+L=3L=2L>1+L=3L=2L=1L>0A<B=(A3<B3)+(A3=B3)(A2<B2)+(A3=B3)(A2=B2)(A1<B1)+(A2=B2)(A3=B3)+(A1=B1)(A0<B0)=L<3+L=3L>2+L=3L=2L<1+L=3L=2L=1L>0A=B=(A3=B3)(A2=B2)(A1=B1)(A0=B0)=L=3L=2L=1L=0上一页下一页返回3.3常见组合逻辑电路及其应用根据上述逻辑表达式,可用4个一位比较器及与门、或门构成图3-12所示的4位二进制数比较器电路。这个电路一也是中规模集成电路。4位二进制数比较器芯片HC85的内AIS结构和符号表示如图3-13所示。7485的功能和引脚与HC85的完全一样。在HC85的电路中,除了4个二进制数输入端外,还有3个用于扩展的串联(也称级联)输入端“A>B”,“A<B”和“A=B”,其逻辑功能相当于在4位二进制数比较器的最低级A0,B0。后添加了一位更低的比较数位。利用串联输入端可实现比较器的扩展应用。上一页下一页返回3.3常见组合逻辑电路及其应用图3-14给出了两片HC85构成的8位二进制数比较器的连接图,比较器总的输出由高位HC85芯片(H)的输出确定,低位芯片(I)的输出连接到高位芯片的串联输入端。若参与比较的两个8位二进制数的高4位不相等,比较结果由高位芯片单独确定,与低位芯片无关;若两个8位二进制数的高4位相等,则比较结果由串联输入确定,即由低位芯片的比较结果确定。低位芯片的串联输入端设置为(A>B)=0,(A<B)=0,(A=B)=1。上一页下一页返回3.3常见组合逻辑电路及其应用3.3.2译码器将二进制代码所表示的信息翻译出来的过程称为译码,实现译码功能的电路称为译码器。译码器是一个多输出的组合逻辑电路,每一个输出唯一对应一个特定的输入组合。常用的译码器有二进制译码器、二一十进制译码器和显示译码器。上一页下一页返回3.3常见组合逻辑电路及其应用二进制译码器的输入表示某种信息的二进制代码,对于某个特定的输入代码,多个输出中只有唯一的一个呈现有效电平,其余输出均呈现无效电平,以此表示翻译出来的不同信息。这里所说的有效电平和无效电平是相对而言的,若定义“1”为有效电平,则“0”便为无效电平,反之亦然。因为每一组输入组合(即二进制代码)对应一个输出端,所以输入n位二进制代码的译码器,必然有“2'’个输出端。如3位输入的译码器,就有8个输出端,这种译码器也称为3线-8线译码器(简称3.8译码器)。上一页下一页返回3.3常见组合逻辑电路及其应用表3-8给出了基本3线-8线译码器的真值表,从表中可以看出,3个输入A0-A2的8种组合的每一种,都唯一地使Z0–Z7这8个输出中的一个为“1”。由此列出译码器的逻辑表达式为:Z0=A2A1A0Z1=A2A1A0Z2=A2A1A0Z3=A2A1A0Z4=A2A1A0Z5=A2A1A0Z6=A2A1A0Z7=A2A1A0上一页下一页返回3.3常见组合逻辑电路及其应用根据真值表和表达式,画出3线-8线译码器逻辑电路如图3-15所示。图中每个与非门的3个输入,分别接A0-A2的8种组合之一。对于任何一种输入组合,Z1-Z2,这8个输出中仅有一个为“1”。从逻辑电路中可以看出,74138与图3-15所示的基本3线-8线译码器相似。所不同的是,74138的输出直接从与非门引出,其间不经过非门,因此输出Y0-Y7均为反码,即输出“0”为有效、输出“1”为无效。注意,这里的Y0-Y7都是逻辑变量的符号名,其上的“-”只是强调变量的有效值为“0",并无“非”运算的含义。上一页下一页返回3.3常见组合逻辑电路及其应用74138是常用的中规模集成电路的3线一8线译码器,其真值表见表3-9。图3-16给出了74138的逻辑电路图和符号表示。74138是一个16脚的芯片,除了电源(16)、接地脚GND(8)外,其余引脚的名称和脚号在符号图中均已注明。上一页下一页返回3.3常见组合逻辑电路及其应用另外,74138还具有使能(Enable)控制端G1,G2A和G2B,它们的组合用于控制译码器的“选通”和“禁止”。从逻辑图中可以看出,EN=G1·

G2A·

G2B=G1·

G2A+

G2B

。连接到所有与非门的一个输入端上,仅当G1

=1并且G2A=G2B=0时,EN才为“1”,所有与非门开启,译码器被“选通”,处于“工作”状态。由输入A0-A2来确定Y0-Y7的状态。否则,EN为“0",所有与非门输出为”1”即输出均为“1",译码器处于“禁止”状态。同样,这里的G2A和G2B都是逻辑变量的符号名,其上的“-”只是强调变量起作用时的有效值为“0"。上一页下一页返回3.3常见组合逻辑电路及其应用译码器工作时,若使能控制端G1,G2A和G2B控制的EN在输入信号变化前为,’0”,输入信号稳定后为“1”,可以消除由于输入信号变化过程中的时延引起的险象干扰。设置3个控制端的原因,除了能更灵活、有效地控制译码器的工作状态外,还可以利用它们实现译码器的扩展。图3-17所示为由两片74138译码器芯片扩展而成的4线-16线译码器连接图。4个输入信号中的低3位A0-A2同时接至两个芯片的输入端,输入信号中的最高位A3接至芯片(1)的G2A和芯片(2)的G2A

。上一页下一页返回3.3常见组合逻辑电路及其应用芯片(1)的G1要接“1”,芯片(1)的G2B

和芯片(2)的G2AG2B相连后接至控制信号E。E为“1”时两片芯片均处于“禁止”状态。E为“0”时,当输入A3-A1。为0000-0111,即A3-A0时,芯片(1)处于“工作”状态,芯片(2)处于“禁止”状态。此时,芯片(1)的输入反映了输入0000-0111的状态,作为4-16译码器的低半部输出玖一玖,而芯片(2)的输出全为“1",作为4线-16线译码器的高半部输出Y1-Y5。当输出A3-A0。为1000-1111,即A3=1时,芯片(2)处于“工作”状态,芯片(1)处于“禁止”状态。此时,芯片(2)的输出反映了输入1000-1111的状态,芯片(1)的输出全为“1"。上一页下一页返回3.3常见组合逻辑电路及其应用由此就实现了4线-16线译码器的功能。如要实现5线-32线译码器的功能,用4片74138译码器芯片扩展该如何连接,请自行分析。译码器除了用做二进制代码外,还可用于实现数据分配器和函数发生器。

数据分配器的设计思想是从一个数据输入端上接收数据,由n个地址输入确定将数据分配到2‘’个输出端的某一端。数据分配器实际上就是一个带“选通”的译码器,所以,完全可以用译码器芯片来实现数据分配器的逻辑功能上一页下一页返回3.3常见组合逻辑电路及其应用图3-18所示为用74138译码器构成的三地址数据分配器。图中,译码器的G1,G2A和G2B

。相连后作为数据输入端D,A0-A2作为地址输入端。在地址输入信号的作用下,若数据输入D为“0",Y0-Y7中对应的输出便为“0";若D为“1",Y0-Y7中对应的输出一也为“1"(尽管此时所有的输出均为“1",即数据D被分配到了由地址选中的输出端。上一页下一页返回3.3常见组合逻辑电路及其应用二进制译码器的每个输出都唯一对应输入变量的一种组合,即对应由输入变量构成的一个最小项。而所有逻辑函数都可以表示成最小项之和的形式,所以利用译码器输出的最小项,再配合具有逻辑功能的门电路,就可以实现任何组合逻辑函数。若74138译码器的输入端A2,A1,A0

。接函数的输入变量A,B,C,则译码器输出与输入之间的逻辑关系为:上一页下一页返回3.3常见组合逻辑电路及其应用Y0=A2A1A0=ABC=m0Y1=A2A1A0=ABC=m1Y2=A2A1A0=ABC=m2Y3=A2A1A0=ABC=m3Y4=A2A1A0=ABC=m4Y5=A2A1A0=ABC=m5Y6=A2A1A0=ABC=m6Y7=A2A1A0=ABC=m7上一页下一页返回3.3常见组合逻辑电路及其应用为了实现某逻辑函数,可先将原始逻辑函数表示成标准“与或”式,然后再转换成用译码器输出变量表示的表达式。例如,下列二输出变量函数可先作以下转换:P1=A⊕B⊕C=A·B⊕C+A·(B⊕C)=A(BC+BC)+A(BC+BC)=ABC+ABC+ABC+ABC=m1+m2+m4+m7=m1+m2+m4+m7=m1m2m4m7=Y1Y2Y4Y7上一页下一页返回3.3常见组合逻辑电路及其应用P2=AB+BC+AC+AB(C+C)+BC(A+A)+AC(B+B)=ABC+ABC+ABC+ABC=m3+m5+m6+m7=m3+m5+m6+m7=m3m5m6m7=Y3Y5Y6Y7上一页下一页返回3.3常见组合逻辑电路及其应用由以上推导可以看出,若用两个四输入的与非门跟74138按图3-19所示进行连接,便可实现所需的逻辑函数功能。再仔细观察P1和P2函数,可以发现它们实际上就是一个一位全加器函数,这里P1即为一位全加器的和,P2即为它的进位。2.二-十进制译码器的逻辑功能是将输入BCD码的10个代码译成10个高、低电平输出信号。图3-20是二-十进制译码器74LS42的逻辑电路。根据逻辑图可得到根据逻辑图可列出电路的真值表见表3-10。上一页下一页返回3.3常见组合逻辑电路及其应用对于BCD代码以外的伪码(即1010-1111,6个代码)Y0-Y7均无低电平信号产生,译码器拒绝“翻译”,所以这个电路结构具有拒绝伪码的功能。3.显示译码器1)七段字符显示器为了能以十进制数码直观地显示数字系统的运行数据,目前广泛使用了七段字符显示器,或称做七段数码管。这种字符显示器由七段可发光的线段拼合而成。常见的七段字符显示器有半导体数码管和液晶显示器两种。上一页下一页返回3.3常见组合逻辑电路及其应用图3-21是半导体数码管BS201A的外形和等效电路。这种数码管的每个线段都是一个发光二极管(LightEmittingDiode,LED,因而一也把它叫做LED数码管或LED七段显示器。发光二极管使用的材料与普通的硅二极管和锗二极管不同,有磷砷化稼、磷化稼、砷化稼等几种,而且半导体中的杂质浓度很高。当外加正向电压时,大量的电子和空穴在扩散过程中复合,其中一部分电子从导带跃迁到价带,把多余的能量以光的形式释放出来,便可发出一定波长的可见光。上一页下一页返回3.3常见组合逻辑电路及其应用磷砷化稼发光二极管发出光线的波长与磷和砷的比例有关,含磷的比例越大波长越短,发光效率也随之降低。在BS201等一些数码管中还在右下角处增设了一个小数点,形成了所谓的八段数码管,如图3-21(a)所示。此外,由图3-21(b)所示的等效电路可见,BS201A的八段发光二极管的阴极是做在一起的,属于共阴极类型。为了增加使用的灵活性,同一规格的数码管一般都有共阴极和共阳极两种类型可供选用上一页下一页返回3.3常见组合逻辑电路及其应用半导体数码管不仅具有工作电压低、体积小、寿命长、可靠性高等优点,而且响应时间短(一般不超过0.1us),亮度也比较高。它的缺点是工作电流比较大,每一段的工作电流在10mA左右。另一种常用的七段字符显示器是液晶显示器(LiquidCrystalDisplay,LCD)。液晶是一种既具有液体的流动性又具有光学特性的有机化合物。它的透明度和呈现的颜色受外加电场的影响,利用这一特点便可做成字符显示器。上一页下一页返回3.3常见组合逻辑电路及其应用在没有外加电场的情况下,液晶分子按一定取向整齐地排列着,如图3-22(a)所示。这时液晶为透明状态,射入的光线大部分由反射电极反射回来,显示器呈自色。在电极上加上电压以后,液晶分子因电离而产生正离子,这些正离子在电场作用下运动并碰撞其他液晶分子,破坏了液晶分子的整齐排列,使液晶呈现混浊状态。这时射入的光线散射后仅有少量反射回来,故显示器呈暗灰色。这种现象称为动态散射效应,如图3-22(b)所示。外加电场消失以后,液晶又恢复到整齐排列的状态。如果将七段透明的电极排列成8字形,那么只要选择不同的电极组合并加以正电压,便能显示出各种字符来。上一页下一页返回3.3常见组合逻辑电路及其应用为了使离子撞击液晶分子的过程不断进行,通常在液晶显示器的两个电极上加以数十至数百赫兹的交变电压。对交变电压的控制可以用异或门实现,如图3-23(a)所示。U1是外加的固定频率的对称方波电压。当A=0时,LCD两端的电压UL=0,显示器不工作,呈自色;当A=1时,UL为幅度等于U1,的对称方波,显示器工作,呈暗灰色。各点电压的波形示于图3-23(b)中。上一页下一页返回3.3常见组合逻辑电路及其应用液晶显示器的最大优点是功耗极小,每平方厘米的功耗在1uW以下,它的工作电压一也很低,在1V以下仍能工作。因此,液晶显示器在电子表以及各种小型、便携式仪器、仪表中得到了广泛应用。但是,由于它本身不会发光,仅仅靠反射外界光线显示字形,所以亮度很差。此外,它的响应时间较长(在10~200ms范围),这就限制了它在快速系统中的应用。上一页下一页返回3.3常见组合逻辑电路及其应用2)BCD一七段显示译码器半导体数码管和液晶显示器都可以用TTL或CMOS集成电路直接驱动。因此,就需要使用显示译码器将BCD代码译成数码管所需要的驱动信号,以便使数码管用十进制数字显示出BCD代码所表示的数值。现以态上A3A2A1A0表示显示译码器输入的BCD代码,以Ya~Yg表示输出的7位二进制代码,并规定用1表示数码管中线段的点亮状态,用0表示线段的熄灭状态。则根据显示字形的要求便得到了表3-11所示的真值表。表中除列出了BCD代码的10个状态与Ya~Yg状态的对应关系以外,还规定了输入为1010-1111这6个状态下显示的字形。上一页下一页返回3.3常见组合逻辑电路及其应用由表3-11可以看到,现在与每个输入代码对应的输出不是某一根输出线上的高、低电平,而是另一个7位的代码,所以它已经不是本节开始所定义的那种译码器了。严格地讲,把这种电路叫做代码变换器,但习惯上都把它叫做显示译码器。从得到的真值表画出表示Ya~Yg的卡诺图,即可得到图3-24。在卡诺图上采用“合并0然后求反”的化简方法将Ya~Yg化简,可得到上一页下一页返回3.3常见组合逻辑电路及其应用Ya=A3A2A1A0+A3A2+A1A0Yb=A3A2+A2A1A0+A2A1A0Yc=A3A2+A2A1A0Yd=A2A1A0+A2A1A0+A2A1A0上一页下一页返回3.3常见组合逻辑电路及其应用Ye=A2A1+A0Yf=A3A2A0+A2A1+A1A0Yg=A3A2A1+A2A1A0图3-25给出了BCD一七段显示译码器7448的逻辑电路。如果不考虑逻辑图中由G1~G4组成的附加控制电路的影响(G2,G4的输出为高电平),则Ya~Yg与A3A2A1之间的逻辑关系与上式完全相同。上一页下一页返回3.3常见组合逻辑电路及其应用附加控制电路用于扩展电路功能。下面介绍附加控制端的功能和用法。(1)灯测试输入LT:当有LT=0的信号输入时,G4,G5,G6,和G7的输出同时为高电平,使A0=A1=A2=0。对后面的译码电路而言,与输入为A0=A1=A2=0一样Ya~Yg将全部为高电平。同时,由于G16的两组输入中均含有低电平输入信号,因而Yg。也处于高电平。可见,只要令LT=0,便可使被驱动数码管的七段码同时点亮,以检查该数码管的各段能否正常发光,平时应设为高电平。上一页下一页返回3.3常见组合逻辑电路及其应用(2)灭零输入RBI;设置灭零输入信号RBI的目的是为了能把不希望显示的零熄灭。例如,有一个8位的数码显示电路,整数部分为5位,小数部分为3位,在显示13.7这个数时将呈现00013.700字样。如果将前、后多余的零熄灭,则显示的结果将更加醒目。由图3-25可知,当输A3=A2=A1=A0=0时,本应显示出0。如果需要将这个零熄灭,则可加入RBI=0的输入信号。这时G3的输出为低电平,并经过G4输出低电平使A3’=A2’=A1’=A0’=1。由于G13~G19每个与或非门都有一组输入全为高电平,所以Ya~Yg全为低电平,使本来应该显示的0熄灭。上一页下一页返回3.3常见组合逻辑电路及其应用(1)灭灯输入/灭零输出BI/RBO:这是一个双功能的输入/输出端,它的电路结构如图3-26(a)所示。(2)BI/RBO作为输入端使用时,称为灭灯输入控制端。只要加入灭灯控制信号BI=0,无论A3A2A1A0的状态是什么,一定可将被驱动数码管的各段同时熄灭。由图3-25可知,此时G4肯定输出低电平,使A3=A2=A1=A0=1,Ya~Yg同时输出低电平,因而将被驱动的数码管熄灭。BI/RBO作为输出端使用时,称为灭零输出端。由图3-25可得到:RBO=A3A2A1A0LTRBI上一页下一页返回3.3常见组合逻辑电路及其应用用7448可以直接驱动共阴极的半导体数码管。由图3-26(c)的7448输出电路可以看到,当输出管截止、输出为高电平时,流过发光二极管的电流是由Ucc经2kΩ上拉电阻提供的。当Ucc=5V时,这个电流只有2mA左右。如果数码管需要的电流大于这个数值时,则应在2kΩ的上拉电阻上再并联适当的电阻。图3-27给出了用7448驱动BS201半导体数码管的连接方法。上一页下一页返回3.3常见组合逻辑电路及其应用将灭零输入端与灭零输出端配合使用,即可实现多位数码显示系统的灭零控制。图3-28画出了灭零控制的连接方法。只需在整数部分把高位的RBO与低位的RBI相连,在小数部分将低位的RBO与高位的RBI相连,就可以把前、后多余的零熄灭。在这种连接方式下,整数部分只有高位是零,而且在被熄灭的情况下,低位才有灭零输入信号。同理,小数部分只有在低位是零,而且在被熄灭时,高位才有灭零输入信号。上一页下一页返回3.3常见组合逻辑电路及其应用3.3.3编码器将含有特定意义的数字或符号信息转换成相应的若干位二进制代码的过程称为编码,具有编码功能的组合逻辑电路称为编码器。例如各类BCD码编码器就是将“0”-“9”这些十进制数字转换成对应的4位BCD码的组合逻辑电路。可以看出,编码器的功能正好与译码器的功能相反。上一页下一页返回3.3常见组合逻辑电路及其应用表3-12列出了一个简化的8421BCD码编码器的真值。理论上讲,10个输入变量共有210=1024种组合,但作为8421BCD码编码器来说,D0~D9共10个输入变量分别表示一位“0”-“9”的十进制数字,因此它们中任何时刻仅允许一位有效,符合这种条件的输入组合只有真值表中所列的10种,其余输入组合均为无关项。根据真值表并利用无关项性质,可以列出8421BCD码编码器的逻辑表达式,并将它们转换为适合用于与非门和或非门实现的形式:上一页下一页返回3.3常见组合逻辑电路及其应用A=D1+D3+D5+D7+D9=(D1+D9)+(D3+D7)+(D5+D7)=D1+D9·D3+D7·D5+D7B=D2+D3+D6+D7=(D2+D6)+(D3+D7)=D2+D6·D3+D7上一页下一页返回3.3常见组合逻辑电路及其应用C=D4+D5+D6+D7=(D4+D6)+(D5+D7)=D4+D6·D5+D7D=D8+D9=D8+D9由以上逻辑表达式可画出图3-29所示的8421BCD码编码器的逻辑电路。上一页下一页返回3.3常见组合逻辑电路及其应用上述8421BCD码编码器的10位输入中,任何时刻只允许其中的一位为“1”。同时出现两位或两位以上为“1”的情况属于非法输入,这将引起编码输出混乱。但在实际应用中,由于干扰和误操作,这种情况很难完全避免。而一种称为优先编码器的电路能解决这个问题。优先编码器对所有输入位预先设置了优先权级,当输入中出现两位或两位以上同时有效的情况时,其中优先级高的输入位起作用,其余输入位被忽略,从而保证了编码器工作的可靠性。上一页下一页返回3.3常见组合逻辑电路及其应用74147是一个典型的8421BCD码优先编码器,表3-13给出了它的真值表。从真值表中可以看出,74147的输入信号I1~I9。和输出信号A-D均用反码表示。74147的输入中,优先级从I1到I9逐渐递增,即I1优先级最低,I9优先级最高。例如,当输入中I9有效(为“0”)时,无论I1~I8是否有效(真值表中用“x”表示),编码器均按I9编码,使输出为对应“9”的8421BCD码的反码“0110”。又如,当输入中I8有效但I9无效时,无论I1~I7是否有效,编码器均按I8编码,使输出为对应“8”的8421BCD码的反码“0111”,其余依此类推。当所有输入都无效时,输出为对应“0”的8421BCD码的反码“1111”。上一页下一页返回3.3常见组合逻辑电路及其应用图3-30为74147优先编码器的符号。74147是一个16脚的芯片,除了电源Ucc(16)、接地脚GND(8)和空脚NC(15)外,其余输入、输出引脚在符号图中均已注明。3.3.4数据选择器将多路输入数据在地址输入信号控制下,有选择地传送到输出端的过程称为数据选择,实现数据选择功能的电路称为数据选择器,也称为多路选择开关(Multiplexer,MUX)。与前面译码器小节中介绍的数据分配器的不同之处在于,数据选择器是多个输入数据对应一个输出端,而数据分配器则是一个输入数据对应多个输出端。上一页下一页返回3.3常见组合逻辑电路及其应用74151是一个中规模集成电路构成的八选一数据选择器,其真值表见表3-14,逻辑电路和符号如图3-31所示。74151一也是一个16脚的芯片,除了电源从,:(16)和接地脚CND(8)外,其余引脚的名称、脚号在符号图中均已注明。当使能端S=1时,与或门的各个与单元被封锁,与或门输出Y=0,此时数据选择器输出与任何输入数据无关。使能端S=0时,与或门各与单元被开启,与或门输出Y与输入数据D0~D7的逻辑关系为:上一页下一页返回3.3常见组合逻辑电路及其应用Y=m0D0+m1D1+m2D2+m3D3+m4D4+m5D5+m6D6+m7D7=由数据选择器的逻辑表达式可以看出,当地址选择输入使某个最小项m,为"1”时,数据选择器的输出Y便为对应的输入数据Di由此便实现了数据选择的功能。常用的数据选择器芯片还有四选一数据选择器74153、十六选一数据选择器74150等。一般来说,若地址选择输入有n位,便可实现2n路数据的选择,即2n选一,其输出为:Y=上一页下一页返回3.3常见组合逻辑电路及其应用数据选择器一也可以用做函数发生器。它的输入表达式Y=本身就表示了一个与或函数,只要将适当的数据或变量赋予地址选择输入端和数据输入端,就可实现特定的函数。例如,用八选一数据选择器74151实现三变量函数F=AB+AB+C,可先将原始函数转换成标准与或式:上一页下一页返回3.3常见组合逻辑电路及其应用令A2=A,A1=B,A0=C;,D0=D1=D3=D5=D6=D7=1,D1=D4=0。此时,数据选择器的输出Y与所需函数的输出F完全一致。据此画出图3-32所示的电路连接图,可实现函数F=AB+AB+C。利用74151八选一数据选择器同样可以实现四变量函数。其基本设计思想是:对原始函数表达式的形式作适当转换,将函数中的一个输入变量作为数据选择器的数据输入,其余3个输入变量仍作为数据选择器的地址输入,如图3-33所示。下面举例说明74151构造一个四变量函数F(A,B,G,D)=∑

(0,2,7,8,13)的过程:上一页下一页返回3.3常见组合逻辑电路及其应用令A2=A,A1=B,A0=C;,D0=D1=D3=D5=D6=D7=1,D1=D4=0。此时,数据选择器的输出Y与所需函数的输出F完全一致,据此画出图3-33所示的电路连接图,便可实现函数F=(A,B,C,D)=∑(0,2,7,8,13)上一页下一页返回3.3常见组合逻辑电路及其应用根据同样原理,74151八选一数据选择器也可用于构造更多变量的函数。像大多数中规模集成电路一样,数据选择器也可以进行扩展。图3-34所示为用17个74150的16选1数据选择器扩展成的256选1数据选择器。上一页下一页返回3.3常见组合逻辑电路及其应用图3-34所示的电路由两部分组成。16个74150构成前级选择器,256个输入数据X0-X255分为16个一组共16组,依次连接到16个74150的数据输入端。8位地址选择输入A-H中的低4位E,F,G,H作为16个前级选择器公共的地址选择输入,在其作用下,16个前级选择器分别选出一路数据送到各自的输出端F。剩下的一个74150作为后级选择器,它在高4位地址选择输入A,B,C,D的作用下,从16个前级选择器的输出F中选择一条送输出端Y,从而实现了256选1的功能。上一页返回3.4组合逻辑电路中的险象及其消除由于门电路在传输信号的过程中存在时间延迟,输出信号有可能会产生错误。下面对这种现象加以分析并介绍如何消除.3.4.1险象及产生原因前面对组合逻辑电路的讨论中,只是分析了输入的稳定状态与输出的稳定状态之间的关系,没有考虑信号经门电路内部的时间延迟。实际的组合逻辑电路中,门电路都存在着时延。信号经过不同的路径(即经过不同的门电路)到达某点时,会产生时差,这种时差现象称为竞争。竞争现象可能使电路产生暂时性的错误输出,虽然等待信号稳定后错误大多会消失,但仍会导致工作不可靠,有时甚至会导致永久性错误。这种由竞争产生的错误输出就称为组合逻辑电路的险象。下一页返回3.4组合逻辑电路中的险象及其消除图3-35所示的电路,若不考虑门电路的时延,则F=A+A=1,即无论输入A如何变化,输出F恒为“1”,考虑到G1的时延,A将滞后于A到达G2。此时若A由“1”转“0”而A由于时延的存在不能立即由“0”转“1",即在一个短暂的瞬间,G2的两个输入将同为“0",电路输出为“0",可见,这个瞬间的结果是错的,表明电路出现了险象。从图3-35所示的波形中,可以清楚地看出险象对输出结果的影响,即输出波形中出现了瞬间的负向窄脉冲。上一页下一页返回3.4组合逻辑电路中的险象及其消除同样,在图3-36所示的电路中,若不考虑门电路的时延,则F=A·A=0即无论输入A如何变化,输出F恒为“0”。若考虑G1的时延,则在A由“1”转”1”时,A由于时延的存在不能立即由“1”转“0”,瞬间G2的两个输入将同为,’l”,电路输出为“1"0显见,这个瞬间的结果也是错误的,即电路出现了险象。从图3-36所示的波形中可以看出,输出波形中出现了瞬间的正向窄脉冲。以上两个例子中可以看出,如果某个逻辑门的两个输入互补变化(即一个由“1”变“0",另一个由“0”变“1",反之亦然),并且这两个信号的变化存在时差,则这个逻辑门的输出就可能出现险象。上一页下一页返回3.4组合逻辑电路中的险象及其消除3.4.2险象的检查与消除检查某个逻辑门的两个输入是否在互补变化,可以作为该逻辑门输出是否会出现险象的依据。由此可以用逻辑代数法来检查函数的表达式分析在信号变化时,是否可能出现“X+X‘’或“X·X”的形式。如果一个组合逻辑电路的函数表达式,在某种条件下能简化成“X+X‘’或“X·X‘’的形式,则该电路可能出现险象。[例3-5J判断函数F=AB+AB是否存在险象。上一页下一页返回3.4组合逻辑电路中的险象及其消除解由表达式可以看出,当C=B=1F1=A+A,F1理应恒为“”1”时,但此时当A由“1”变“0”,A由”1”0”变”0”由”0“到”1“时,由于A的变化滞后于A的变化F1输出瞬间会出现负向窄脉冲干扰,即出现险象。【例3-6】判断函数F2=AC+AB+BC是否存在险象。解所给表达式在任何条件下都不能简化成“X+X”或“X·X”的形式,因而该函数不存在险象。例如,当C=B=1时,F2=A+A+1=1,即实现F2的或门有3个输入端,其中一个恒为“1"。此时无论A,A如何变化,也不管有无时延,F2输出稳定地保持为“1",即不会出现险象。上一页下一页返回3.4组合逻辑电路中的险象及其消除其实,上两例的函数F1和F2是相等的,即AC+AB=AC+AB+BC,F2中的BC是个多余项,但正是由于这个多余项的加入,使得C=B=1时,BC恒为”1”,从而消除了由于A变化时出现险象的可能。这是利用代数法检查险象,并用插入多余项来消除组合逻辑险象的典型实例。上一页下一页返回3.4组合逻辑

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论