2.3 常见集成组合逻辑器件及其应用
有些组合逻辑电路在各类数字系统中经常被大量使用。为了使用方便,集成芯片生产厂家已将这些电路制成了标准的中、小规模集成器件,这些器件具有通用性强、可靠性高、兼容性好等优点,这不仅提高了电路设计的质量,同时把我们的学习重心转移到了器件的灵活应用上。
2.3.1 编码器及其应用
在生产生活中,编码随处可见。在马路上的路灯杆、电线杆上,管理部门为定位安装、维护进行了特定的编码;电话运营公司为每部电话设置了独一无二的编码;如图2-8所示,在集装箱仓库里,为便于吊装、定位运输,每个集装箱位同样也拥有特定的编码。
图2-8 集装箱仓库编码示意图
编码就是用文字、符号或者数码表示特定信息的过程,而能够实现编码功能的电路就叫做编码器。在数字系统中是采用一组若干位的二进制码0和1进行编码来表示某一特定信息的。要表示的信息越多,二进制代码的位数越多。
如果有15条信息需要进行编码,至少需要几位二进制代码才能实现?
n位二进制代码有2n个状态,可以表示2n个信息。对N个信号进行编码时,应按公式2n≥N来确定需要使用的二进制代码的位数n。
1.8线—3线编码器的设计
设计要求:用3位二位制数的输出分别代表输入的8个信号,输入低电平有效。
8线—3线编码器的设计步骤如下:
(1)确定输入变量和输出变量。8个输入逻辑变量为低电平有效,3位输出逻辑变量为Y2、Y1、Y0,高电平有效。
(2)列出真值表,如表2-5所示。
表2-5 8线—3线编码器的真值表
(3)根据真值表写出逻辑函数表达式,为:
式(2-11)是怎么来的?
编码器有8个逻辑输入端,理论上存在256种变量组合,但根据编码器的逻辑要求,
输出的二进制码的不同组合只对应于某一输入端,因此除表2-5中的8种变量组合外的其他组合均为无关项。对输出Y2而言,只有在I4、I5、I6或I7有输入信号时,Y2才输出高电平,其他端子应无输入信号,因此,。同理可推导出Y1、Y0的表达式。利用卡诺图也能推导出相同的结果。
由八逻辑输入信号I0~I7可绘制如图2-9所示的16×16的卡诺图,根据编码器逻辑功能,输入信号组合仅有八个逻辑最小项,其余项均为逻辑无关项。
图2-9 八变量逻辑卡诺图
根据表2-5编码器的真值表直接写出Y0的逻辑表达式如下:
在卡诺图中把对应项标注为“1”,其余项空白,根据带逻辑无关项的卡诺图化简原则对Y0的每一项进行化简,如图2-10所示,为便于识别,图(a)对一项进行化简,图(b)对一项进行化简,图(c)对一项进行化简,图(d)对一项进行化简。在卡诺图上选择了合适的包围圈,从图(a)看到,纵向的I4I5I6I7全部约去,横向八格非常有规律,仔细观察即知I0、I2、I3被约去,只余I1一项;在图(b)中,也能利用逻辑无关项约去I0I1I2I3I4I6I7七项,只余I5一项;图(c)中,明显无法找到(a)、(b)图中的包围圈,但是从前两图约去的变量着手,再观察表达式,可以认为这里需要约去I0I1I2I3I4I6I7七项,其中纵向变量需全部约去,横向需把I0I1I2三个变量约去,这就意味着每个包围圈横向应占16格,纵向应包括I0I1I2的八种组合,由此在卡诺图中选择如图(C)所示的包围圈,明确此时约去七项,只余I3一项;同理在图(d)中确定了卡诺图的包围圈,约去I0I1I2I3I4I5I6七项,只余I7一项。由此推出:
图2-10 Y0的卡诺图化简
Y1、Y2的表达式也可以用类似的原则来推导。
你能不能从血型匹配指示器的逻辑化简结论和编码器的逻辑化简结论推出一些规律?
这里需要说明的是,并不是要求每个人都弄懂256格卡诺图的画法,逻辑化简方式繁多,电路设计方案各异,了解思路为己所用,才是发展的硬道理。
(4)根据式(2-11)画出逻辑电路图,如图2-11所示。
从图2-11可以看到,8线-3线编码器要求输入量具有排他性,即每次只能有一个输入端为低电平,从而保证输出编码的唯一性。如果同时有两个或两个以上的输入信号要求编码,则输出端必然发生混乱。
2.16线—4线优先编码器的设计
优先编码器是相对于普通二进制编码而言的,它的功能是允许几个输入端同时输入信号,编码器按预先排定的优先顺序,只对同时输入的几个信号中优先权最高的一个进行编码。常用的8线—3线优先编码器有74LS148、CD4532等,下面介绍8线—3线优先编码器CD4532的应用。如图2-12(a)、(b)所示分别是CD4532的逻辑图和引脚图。
图2-11 8线—3线编码器的逻辑电路图
图2-12 优先编码器CD4532的逻辑图和引脚图
1)引脚功能
(1)D0、D1、…、D7:信号输入端。
(2)Q0、Q1、Q2:编码输出端。
(3)EI:输入使能端,高电平有效,即EI=1时编码器工作,EI=0时禁止编码器工作。
(4)EO:扩展使能端,高电平有效。
(5)GS:优先编码工作状态标志,高电平有效,即GS=0时表示Q2Q1Q0输出为无效码,GS=1时表示输出为有效编码。
优先编码器CD4532的功能表如表2-6所示。
表2-6 优先编码器CD4532的功能
注:1——高电平;0——低电平;×——任意电平。
从功能表可读出以下信息:
(1)输入和输出均为高电平有效,而输入优先级别从高到低的顺序依次为D7、D6、…、D0。
(2)当EI=0时,禁止编码器工作,此时不论8个输入端为何种状态,Q2Q1Q0输出端均为低电平,且GS和EO均为低电平,GS=0,由此表示Q2Q1Q0=000为非编码状态。
(3)在EI=1的条件下,如果所有输入D7~D0均为低电平,则EO为1,输出扩展控制信号,Q2Q1Q0=000,此时虽然允许编码器工作,但各输入无要求,输出的“000”为无效码,因此GS=0。
(4)当EI=1时,若D7~D0中至少有一个输入端为高电平信号输入,则GS为1,EO为0,编码器处于工作状态禁止扩展芯片工作。
从(3)、(4)可以发现,在EI=1的条件下,若有输入信号,则EO为0;若无输入信号,则EO为1。这个特性能否用于芯片的级联呢?
若用EO去控制相连的下一级CD4532的EI,将允许下一级级联芯片进行编码,从而为组成更多输入端的优先编码器进行片间级联提供了方便。
2)设计思路
按照输入优先级I15最高,I0最低的原则,每八位一组做出十六位输入信号的编码表,如表2-7所示。
表2-7 十六位输入信号的编码
2)设计思路
按照输入优先级I15最高,I0最低的原则,每八位一组做出十六位输入信号的编码表,如表2-7所示。
表2-7 十六位输入信号的编码
对比两组编码,可以发现低三位编码顺序完全相同,唯独在I0~I7有输入时,最高位输出Y3输出0;而在I8~I15有输入时,Y3输出1。
16线—4线优先编码电路需要选择两片8线—3线优先编码器,I0~I7和I8~I15分别通过一片CD4532输出。每片的输出即为实际4线输出的低3位,最高位在I0~I7有输入时为0,在I8~I15有输入时为1,可以考虑用GS表示。高8位对低8位的优先级可以利用使能端来实现控制。具体电路如图2-13所示。
图2-13 16线—4线优先编码电路
8线—3线优先编码器74LS148的逻辑图和引脚图如图2-14(a)、(b)所示,功能表如表2-8所示,仿照上例设计一个16线—4线优先编码电路。
图2-14 优先编码器74LS148的逻辑图和引脚图
表2-8 8线—3线优先编码器74LS148的功能
注:H——高电平;L——低电平;×——任意电平
“高电平有效”和“低电平有效”
“高电平有效”指信号为“1”视为有效信号,而“低电平有效”则指信号为“0”视为有效信号,CD4532各端子均为“高电平有效”端,而74LS148则多为“低电平有效”端。对单一属性的端子容易理解与区别,如使能端,“EI”为高电平有效,只有置高电平时芯片可进行编码;而对“”则为低电平时芯片可进行编码。若对多位二进制数组成的编码而言,理解起来就要费些心思了,如CD4532芯片输入端D1为高电平(D2~D7均应为低电平)时,芯片将输出“1”对应的编码,其高电平有效的输出端Q2Q1Q0将获得“低低高”(001)的输出电平;而74LS148芯片输入端I1为低电平(同时I2~I7均应为高电平)时,芯片才会对“1”进行编码,由于其输出为低电平有效,输出端A2A1A0将输出“高高低”(110)的电平而不是正常“1”的二进制编码。
2.3.2 二进制译码器及其应用
译码是编码的反过程,用于将给定的二进制代码翻译成编码时赋予的原意,即将每一组输入的二进制代码译成相应特定的输出高、低电平信号,完成这种功能的电路称为二进制译码器。译码器是多输入、多输出的组合逻辑电路。
如表2-9和表2-10所示分别为输出高电平有效和低电平有效的二进制译码器功能表。从中可以理解译码器的工作效果。
表2-9 输出高电平有效二进制译码器功能
表2-10 输出低电平有效二进制译码器功能
在中规模组合逻辑电路产品中,常用的二进制译码器有双2线—4线的54/74HC139、54/74LS139;3线—8线的54/74HC138、54/74LS138;4线—16线的54/74HC154、54/74HC4514、54/74LS154等;二—十进制译码器有54/74HC42、54/74LS42等。
1.单片机外部程序存储器扩展电路的设计
如图2-15所示为单片机外部程序存储器扩展电路。该单片机外部需扩展16KB的程序存储器(ROM),因器件原因,需扩展2KB容量的程序存储器8片,每片ROM的端为允许工作的使能端。为正确访问到外部程序存储器的相关地址,可选择3线—8线译码器74HC138进行地址译码。
如图2-16(a)、(b)所示分别是74HC138的逻辑图和引脚图。
图2-15 单片机外部程序存储器扩展电路
图2-16 3线—8线译码器74HC138的逻辑图和引脚图
存储器的存储容量
16KB和2KB都是指存储器存储字节的数量。在数据访问过程中,单片机只有为每个存储单元分配了唯一的单元地址后才能正确访问到对应的数据。单片机总共有16根地址线,把A0~A10这低11位接到每个芯片的地址端,由此就为每个2KB容量的存储器的单元分配了唯一的地址编号。接下来的问题就是如何区分扩展的每一片存储器了。还剩下5根地址线,如果每个存储器接一根地址线,单片机的地址线必然不够用,这时就要借助译码器来分配地址单元了。因为5根地址线实际上有32种不同的状态组合,所以只需要选择其中的8种就可以了。
引脚功能如下所示。
(1)A0、A1、A2:信号输入端。
(2)、、…、:译码输出端。
(3)E1、、:选通输入端,当E1端为高电平、和端为低电平时器件被选通。
3线—8线译码器74HC138的功能如表2-11所示。
表2-11 3线—8线译码器74HC138的功能
注:H——高电平;L——低电平;×——任意电平。
从功能表可读出以下信息。
(1)当E1为高电平、和为低电平时器件被选通。输出低电平有效,对于E1、、的其他任何组合,均为高电平。
(2)输入高电平有效,当器件被选通时,A0~A2的编码可唯一确定中的一个以低电平呈现。
再来看如图2-15所示的单片机外部程序存储器扩展电路,单片机的最高两位地址线A15和A14用于译码器的选通控制,且A15和A14均为低电平时译码器才能进行译码工作。A13、A12和A11连接到译码器的输入端,译码器的输出端分别接到了8片程序存储器的端上,为低电平有效端口,若系统需要访问第“0”片程序存储器,只需要令A13A12A11为“000”即可。由此可以推断,第“0”片程序存储器的地址区间为0000H~07FFH。
你可以推导一下第1、2、3、4、5、6、7片程序存储器的地址区间吗?
2.4线—16线译码器的设计
实现4线—16线译码需要选用两片3线—8线译码器,译码器扩展方式如图2-17所示。对第“1”片和第“0”片译码器来说,关键在于输入端I3的状态,如I3为“0”,则第“0”片译码器工作;若I3为“1”,则第“1”片译码器工作。因此,只要正确处理好选通端的连接即可实现功能。实际电路如图2-18所示。
图2-17 译码器扩展方式
图2-18 由两片74HC138组成的4线—16线译码器的实际电路
你能用4片74HC138连接成一个5线—32线译码器吗?
3.数据分配器
在数据传输系统中,经常需要将总线中的数据传输到多个支路中的一路上去,传到哪一条支路通过唯一的通道编码来确定,这样的电路称为数据分配器。其功能示意图如图2-19所示。当我们把选通端作为总线数据输入端,将通道编码利用输入端写入时,问题就迎刃而解了。实际逻辑电路图如图2-20所示。总线数据由选通端E1输入,选通端和接低电平。当通道编码由输入端A0~A2输入时,若总线数据为“1”,则对应输出端呈现低电平;若总线数据为“0”,则对应输出端没有输出,呈现高电平,即总线数据以反码的形式从通道编码对应的输出端送出。若要得到原码,在输出端加一反相器或选择输出端高电平有效的译码器即可。
图2-19 数据分配器功能示意图
图2-20 数据分配器的实际逻辑电路图
4.组合逻辑电路的设计
已知如式(2-12)所示的两输出逻辑函数表达式,要求用3线—8线译码器74HC138实现逻辑电路。
分析步骤如下。
(1)将式(2-12)中各表达式变换为最小项之和的形式,得:
(2)因74HC138译码器输出低电平有效,所以利用摩根定理将式(2-13)变换为:
(3)分析表达式,若把A、B、C三输入变量分别送入74HC138的输入端A2、A1、A0,则在输出端选择对应的端子,用与非门连接即可得到函数表达式的输出了。逻辑电路图如图2-21所示。
图2-21 式(2-12)的逻辑电路图
3线—8线译码器74HC238的逻辑图和引脚图如图2-22(a)、(b)所示,其功能如表2-12所示,试分析实现式(2-12)的逻辑电路。
图2-22 3线—8线译码器74HC238的逻辑图和引脚图
表2-12 3线—8线译码器74HC238的功能
2.3.3 显示译码器
在数字测量仪表和各种数字系统中,都需要将数字量直观地显示出来。数字显示电路是许多数字设备不可缺少的组成部分。数字显示电路通常由计数器(对脉冲个数进行计数,输出BCD码)、译码器、驱动器和显示器等部分构成,如图2-23所示。我们现在关注的是获得BCD码后,如何在显示器上实现对应的显示符号。
图2-23 数字显示电路的构成
字符显示器
十进制数码目前广泛采用七段字符显示器直观显示。如图2-24所示,七段字符显示器由编号分别为a、b、c、d、e、f、g的七段可发光线段组成,若需要显示小数点,则增加一段h(有些场合标为dp)。
常见的显示器有白炽灯、辉光数码管、荧光数码管、发光二极管(LED)和液晶显示器(LCD)等。目前用得较多的是发光二极管和液晶显示器。
1)LED数码管
LED数码管是用发光二极管组成字形,从而显示数字、文字和符号的。LED字型以七段显示器为常见,如图2-25(a)、(b)、(c)所示分别为LED数码管的引脚图、共阳极接法与共阴极接法。从图中看出,共阳极接法的数码管公共端应接高电平,当a、b、…、g各脚接低电平时,发光二极管才会导通发光,因此这个数码管可用输出低电平有效的译码器来驱动;共阴极接法的数码管正好相反,公共端接低电平,其余各脚接高电平,可用输出高电平有效的译码器驱动。
图2-24 字符显示器的段码示意图
图2-25 LED数码管
LED数码管的型号繁多,常用的共阴极显示器有BS201、BS202、BS207、LC-5011、LC-5021、LC5031等;常用的共阳极显示器有BS204、BS206、LA-5011、LA-5021、LA-5031等。选用数码管时需根据译码器的类型选择正确的型号。在实际设计中,还应根据应用场合的需求选择数码管的尺寸、发光二极管的颜色及合适的限流电阻,并在绘制PCB图时关注数码管的封装。
LED数码管的主要优点是工作电压低、体积小、寿命长、响应时间短、可靠性高、亮度也较高,主要缺点是工作电流比较大。
2)液晶显示器
液晶是一种既具有液体的流动性,又具有晶体光学特性的有机化合物。它的透明度和显示的颜色受外加电场的控制,利用这一特点,人们制成了液晶显示器,也即LCD数码管。液晶显示器由正面(透明)电极和公共(反射)电极组成,如图2-26所示。不加电压时,液晶为透明状态,显示器呈白色;当两极间加交变电压时,液晶呈暗灰色。
图2-26 液晶显示器的结构和符号
把七段透明的正面电极排列成段码“”字形,而背面电极呈“日”字形,就成了LCD数码管(液晶显示器)。给对应段码加上电压,LCD数码管便会显示出需要的数码字形。
LCD数码管的字形编号与LED数码管一致,但封装的引脚排列还需查看具体型号。
液晶显示器的最大优点是工作电压低,在1V以下也能工作;功耗极小(在1μW/cm2以内),从而使它在小型计算机、便携式仪器仪表中得到了广泛应用。它的缺点是亮度较差、响应速度慢。
由于数码管数段显示的特殊结构,使得无论是编码产生的二进制信号或BCD码信号,还是译码器产生的输出信号,都不能直接在数码管上显示出对应的数码。为此,需要使用显示译码器将BCD代码译成数码管所需要的字形编码,从而驱动对应字段显示出BCD代码所代表的数值来。
1.LED数码管显示译码器
LED数码管显示译码器分驱动共阴极数码管和驱动共阳极数码管两类,常用的共阴极七段数码管显示译码器有4513、54/74HC4511、74LS48、74LS248等,其功能大同小异;74系列共阳极数码管显示译码器有7447、5447、74LS247等。这里以74LS48为例来说明。
74LS48为内部带上拉电阻的BCD输入四线—七段显示译码/驱动器,其逻辑图和引脚图如图2-27(a)、(b)所示,功能如表2-13所示。
图2-27 74LS48逻辑图和引脚图
表2-13 四线—七段显示译码/驱动器74LS48的功能
引脚含义如下所示。
(1)A3、A2、A1、A0:BCD码输入端,高电平有效。
(2)a~g:字形码输出端,高电平有效。
(3):灯测试端,低电平有效,用于测试各码段的好坏,优先级仅次于“消隐”功能。
(4):消隐输入端,低电平有效,优先级最高;/灭零输出端,低电平有效。
(5):灭零输入端,低电平有效,在“消隐”、“灯测试”、“灭零”三功能中优先级最低,且端应做输出端用。
从功能表可以看出以下几点。
(1)消隐输入端优先级最高,当时,不管其他输入状态如何,输出的a~g均为低电平,即无任何输出。
(2)灯测试端的优先级仅次于消隐输入端。当,时,a~g均为高电平,显示字型“”。
(3)若灯测试端不在测试状态,即=1时,=0,输入端A3、A2、A1、A0也输入低电平,此时输出的“a~g”均为低电平,不显示字型,同时灭零输出端的信号也变为低电平。当=1,输入端A3、A2、A1、A0输入低电平时,输出将显示”。因此,所谓“灭零”,就是数学中高位“0”无效的概念体现,当最高位为“0”时可设置为不显示。
(4)对BCD码而言,输入端A3、A2、A1、A0为“1010~1111”时已无意义,译码显示芯片输出特定的符号。
74LS248芯片的引脚排列、功能和电特性与74LS48均相同,仅在显示6和9的字型方面有差异。
74LS48芯片的4号脚为双功能端,并且不像一些芯片用电平高低来区分不同功能,它特殊在于作为“消隐”功能时,它为输入端,作为“灭零”功能时,它为输出端,在实际应用中应考虑如何接线?
常用的译码显示芯片还有很多,每种芯片的逻辑功能都有一定差异,在使用前一定要仔细分析逻辑功能表,确定其特殊的功能,并加以利用。
表2-14 4543的功能
2.LCD数码管显示译码器
常用LCD七段数码管显示译码器有4543、4055B、54/74HC/HCT4543等。这些器件也可用于共阳极或共阴极LED七段数码管的译码显示。4543的功能如表2-14所示。
其引脚含义如下所示。
(1)D3、D2、D1、D0:BCD码输入端,高电平有效。
(2)Ya~Yg:字形码输出端,高电平有效。
(3)BI:消隐输入端,高电平有效。
(4):输出使能端,低电平有效。
(5)M:显示方式控制端。当M=0时,用于驱动共阴极LED数码管,译码输出为高电平;当M=1时,用于驱动共阳极LED数码管,译码输出为低电平;当用于液晶显示器时,将从M端加30~200MHz方波,输出为反相方波,而M端同时与LCD公共电极相连,从而驱动LCD段码显示。
在实际的控制系统中,显示电路是系统数据处理的最后一环,其功能为把系统经过运算后获得的结果显示出来,为操作人员提供直观的印象,从而为进一步控制提供依据。显示电路从前端电路获得相应的BCD码后,只要适当选择译码驱动芯片和显示器,即可实现数据的显示了。