组合逻辑电路

描述

1、门电路

数字电路的基础就是门电路,数字电路中用以实现基本逻辑运算和符合逻辑运算的单元电路称为门电路,在电子电路中,用高低电平分别表示1和0两种状态,反映到电子电路中实际就是晶体管的导通与截止,但是单开关电路的主要缺点是功耗比较大,为了克服这个缺点,将单开关电路中的电阻用另外的一个开关代替。

(1)二极管与门

最简单的与门可以采用二极管和电阻构成,下图所示是一个二输入的与门电路。

门电路

(2)二极管或门

最简单的或门也可以采用二极管和电阻构成,下图所示是一个二输入的或门电路。

门电路

(3)TTL门电路

TTL门电路就是采用双极性晶体管组成的门电路,之前的模拟电路可以知道,三极管有三种工作状态,导通,放大和截止,模拟电路中经常利用三极管的放大特性,在数字电路中则经常利用三极管的导通和截止状态,我们可以来回顾一下模拟电路所学的知识,

门电路

(4)CMOS门电路

与TTL门电路一样,CMOS也有三个工作状态,即导通,截止和可变电阻状态,数字电路中经常用到CMOS的导通和截止状态,并且现在CMOS的场合也逐渐取代了TTL的场合,这是因为CMOS的结构是电压型驱动,且由于栅极与源极的电阻无穷大(二氧化硅导致的),所以CMOS天生就比三极管要省电的多,并且耐压范围宽,便于制作,所以在现在的集成门电路中,CMOS变成了集成电路的主体。

由于CMOS的栅极和源极之间的电阻接近于无穷大,这就导致了做成门电路时,若栅极悬空,则相当于接高电平,而TTL电路若一个输入端悬空,则相当于接低电平,所以在选用门电路的时候,必须要根据芯片设计的晶体管还是CMOS来设计电路。

尽管CMOS门电路输入端悬空为高电平,但是由于CMOS的结构导致了制作成的门电路不用的输入端不允许悬空,因为即使很小的静电附加在栅极上也会产生高压导致CMOS击穿。

(5)漏极开路门OD门

在CMOS电路中,为了满足输出电平变化,吸收大负载电流以及实现线与连接等需要,有时候需要将输出级电路改成一个漏极开路输出的MOS管,组成漏极开路输出(Open—DrainOutput)门电路,简称OD门。OD输出与非门的电路结构如下图所示。菱形下方的横线代表输出低电平时为低输出电阻。

门电路

OD门工作时必须将输出端经过上拉电阻接到电源上。

(6)CMOS传输门

利用P沟道MOS管和N沟道MOS管的互补特性可以组成CMOS传输门,CMOS传输门如同CMOS反相器一样,也是构成电路的一种基本逻辑电路,CMOS传输门的电路结构和逻辑符号如下图所示。

门电路

由于CMOS的两个开关管的结构形式是对称的,因此CMOS传输门属于双向器件,它的输入端和输出端也可以互易使用。

(7)三态门

一般数字电路的门电路只有两种形态,但是存在一种情况,即数字电路的第三个状态—高组态,三态输出反相器的电路结构如下图所示。

门电路

因为这种电路结构总是接在集成电路的输出端,所以也将这种电路称为输出缓冲器(OutputBuffer)。

在一些比较复杂的数字系统中,为了减少各个单元之间的连接数目,希望可以用同一条导线分别传递若干个门电路的输出信号,这时可以采用下图所示的连接方式。

门电路

图中的G1~Gn均为三态输出反相器,只要工作过程中控制各个反相器的EN端口轮流等于1,而且任何时候仅有一个等于1,就可以轮流的把各个反相器的输出信号送到公共的传输线—总线上,而互不干扰,这种连接方式称为总线结构。

利用三态门还可以实现数据的双向传输,当EN为1时,G1工作而G2为高组态,数据D0经过G1反相后送到总线上去,当EN=0时,G2工作而G1为高组态,来自总线的数据D1经过G2反相后送入电路内部。

2、组合逻辑电路设计方法

根据逻辑功能的不同特点,可以将数字电路分为两大类,即组合逻辑电路(简称组合电路,是一种无记忆性质的电路)和时序逻辑电路(简称时序电路,是一种具有存储功能的电路)。这一章节主要讨论组合逻辑电路的设计与分析方法。

(1)分析方法:分析一个组合逻辑电路通常是从电路的输入到输出逐级写出逻辑函数式,最后得到表示输出与输入关系的逻辑函数式,然后用公式化简法或卡诺图化简法得到函数式的最简形式,为了使电路的逻辑功能更加直观,有时还可以将逻辑函数式转换为真值表的形式。

(2)设计方法:根据给出的实际问题,来设计某种电路完成这个功能,这就是设计组合逻辑电路时要完成的工作,这里的“最简”是指电路所用器件数最少,器件的种类最少,而且器件之间的连线也最少,组合逻辑电路的设计工作通常可以按照以下步骤进行。

①进行逻辑抽象:根据所需要实现的功能,列写真值表。

②写出逻辑函数表达式:根据真值表列写出逻辑函数表达式。

③选定器件的类型:根据现有的器件,将逻辑函数表达式化为现有器件的逻辑运算。

④将逻辑函数式化简:这一步是为了用最简的电路来完成要求的逻辑功能。

⑤根据化简后的逻辑函数表达式,画出逻辑电路的连接图:这一步做完之后,原理性设计已经完成。

例题分析:设计一个监视交通灯工作状态的逻辑电路,每一组信号灯均由红黄绿三种灯组成,正常情况下,任何时刻必有一盏灯亮,而且只允许有一盏灯亮,而当出现其他五种点亮状态时,电路发生故障,这时要求发出故障信号,以提醒维护人员前去修理。

门电路

门电路

(3)根据逻辑最简表达式可以画出最终逻辑电路如下图所示。

门电路

3、编码器

为了区分一系列不同事物,将其中的每个事物用一个二进制代码表示,编码器就是把输入的每一个高低信号转换为一个固定的二进制编码,编码器可以分为普通编码器(例如8-3编码器)和优先编码器两大类,在普通编码器中,任何时刻只允许输入一个编码信号,否则将会影响输出。

(1) 普通编码器 (以8-3译码器为例):8-3编码器是将8位二进制转换为3位二进制代码的编码器,具有8个输入,3个输出,真值表如下表所示。

输入信号 输出信号
1 0
0 1
0 0
0 0
0 0
0 0
0 0
0 0

根据上述真值表可以列写出逻辑函数表达式,然后化简得到以下结果

门电路

根据逻辑表达式可以绘制出逻辑电路如下图所示,为了便于设计过程,将8-3编码器用右边的元件符号进行表示,形成了芯片74HC148编码器,其中HC代表的是COMS器件。

门电路

(2) 优先编码器 :在优先编码器中,允许同时输入两个以上的编码信号,不过在设计时已经将所有的输入信号按照优先顺序排了队,如果几个输入信号同时出现时,只对其中优先权最高的一个进行编码。

4、译码器

译码器的逻辑功能是将每个输入的二进制代码解释成对应的输出高低信号,因此,译码器实际是编码器的逆运算,常用的译码器电路有二进制译码器,二-十进制译码器和显示译码器三大类。

(1) 二进制译码器 (以3-8译码器为例):实际是8-3译码器的逆运算,工作原理与8-3译码器的推导过程相同。常见的二进制译码器有74HC138译码器。

(2) 二-十进制译码器 :逻辑功能是将输入BCD码的10个代码变为10个高低电平输出信号,常见的二-十进制译码器有74HC42译码器。

(3) 显示译码器 :一般用于将输入的BCD码或者二进制代码变为显示需要用到的二进制编码输出。

5、数据选择器

在数字信号的传输过程中,需要从一组输入数据中选出某一个来,这时,就需要用到一种数据选择器(多路开关)的逻辑电路,以4选1数据选择器为例,解释它的工作原理,74HC153是常用的双4选1数据选择器芯片,逻辑电路结构如下图所示。

门电路

74HC153包含两个结构完全相同的4选1数据选择器,两个数据选择器有公共的地址输入端,而数据输入端与输出端完全独立,通过不同的地址代码,即和的电平组合,从4个输入数据中选中需要的一个,并输出给输出端Y,图中的和是附加控制端,用于控制电路工作状态和扩展功能。

6、加法器

在目前的计算机中,所有的计算都是转化为若干步加法运算进行的,因此,加法器是构成算术运算器的基本单元,加法器可以分为1位加法器(半加器),全加器,多位加法器和超前进位加法器四种。

(1)半加器

如果不考虑进位问题,只将两个二进制位想加,称为半加,实现这种运算的电路称为半加器,按照二进制加法运算规则可以绘制真值表,其中AB是两个加数,S是相加的和,C是高位的进位,真值表如下表所示。
A B S C
0 0 0 0
0 1 1 0
1 0 1 0
1 1 0 1

半加器的逻辑电路和元件符号如下图所示,图a是逻辑电路,图b则是元件符号。

门电路

(2)全加器

在进行2位二进制相加时,除了最低位以外,每一位都应该考虑来自低位的进位,这种三个数相加的电路称为全加器,根据以上描述可以列出全加器的真值表如下图所示。其中AB是两个相加的二进制数,CI代表进位输入,S代表相加的结果,CO代表进位输出。
输入 输出
CI A
0 0
0 0
0 1
0 1
1 0
1 0
1 1
1 1

(3)多位加法器

两个多位数相加时每一位都是带进位相加的,所以必须采用全加器,只要依次将低位全加器的进位输出端CO接到高位全加器的进位输入端CI就可以构成多位加法器。常见的双全加器是74LS183,74LS183属于4位加法器,多位全加器的元件符号如下图所示。

门电路

7、竞争-冒险

(1)竞争-冒险的产生原因

在逻辑电路中,输入端在进行电平跳变的时候,会产生一个瞬时过程,下面详细解释这个过程,例程电路如下图所示。

门电路

与门电路中,稳态下无论A=1,B=0还是A=0,B=1,输出均为Y=0.但是再输入信号A从1跳变为0时,如果B从0跳变为1,A从1跳变到0,并且A的速度比B的速度慢1ms,那么暂态过程如下表所示

时间 A B Y
0ms 1 0 0
1ms 1 1 1
2ms 0 1 0
显然,此时在1ms时间点上Y会输出1个高电平的窄脉冲,这个脉冲是不符合门电路稳态下的逻辑功能的,因此属于一种系统内部的噪声,我们将门电路的输入信号同时向相反的逻辑电平跳变的现象称为 **竞争** 。而由于竞争导致产生的尖峰脉冲就称为 **竞争-冒险**

(2)检查竞争-冒险的方法(适用于手算):在输入变量每次只有一个状态的简单情况下,可以通过化简逻辑表达式判断竞争-冒险现象是否存在。如果输出端门电路的两个输入信号A和是输入变量经过两个不同的传输途径而来的,那么这种情况下,A的状态改变时就会产生竞争-冒险现象,因此,只要输出端的逻辑函数在一定条件下能简化为或者的形式,则可以判定存在竞争-冒险现象。

(3)消除竞争-冒险的方法

①接入滤波电容:利用电容两端电压不能突变的特性,可以在输入端或者输出端并联电容,消除尖峰脉冲。

②引入选通脉冲:在电路中引入选通脉冲,只有当指定的电平加在电路中时,输入的电平信号才有效,这也是一个消除竞争-冒险现象的办法。

③修改逻辑设计:采用增加冗余项的方式来消除竞争-冒险现象。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分