![CPLD/FPGA技术应用](https://wfqqreader-1252317822.image.myqcloud.com/cover/546/677546/b_677546.jpg)
1.2 译码器逻辑功能分析
译码器是能够实现译码功能的电路。译码是编码的逆过程,在编码时,是将一系列高、低电平信号编成二进制代码。译码则是将每个二进制代码所对应的高、低电平信号翻译过来的过程。译码器的种类很多,常用的有二进制译码器、二-十进制译码器和显示译码器。
1.2.1 译码器的逻辑功能
1.二进制译码器
二进制译码器输入、输出端数之间的关系为:当输入端数为n个,输出端数为2n个。常见的中规模集成二进制译码器有74LS139(双2线-4线译码器)、74LSl38(3线-8线译码器)、74LSl54(4线-16线译码器)和74LSl37(带锁存的3线-8线译码器)等。
1)2线-4线译码器
2线-4线译码器的逻辑图如图1-1所示。
![](https://epubservercos.yuewen.com/3D11F5/3590367103172001/epubprivate/OEBPS/Images/figure_0016_0002.jpg?sign=1738886690-y0EYcO7Ma0x1NbNVLQYj5rMxo92leoSN-0-6775b35e19b73d92c8c481e5e4fc60ae)
图1-1 2线-4线译码器的逻辑图
由图1-1可以看出,该译码器有2个信号输入端A1、A0和4个信号输出端、
、
、
,输入信号为2位二进制代码,输出信号为4个高、低电平信号,又称为2线-4线译码器,其逻辑函数表达式为
![](https://epubservercos.yuewen.com/3D11F5/3590367103172001/epubprivate/OEBPS/Images/figure_0017_0007.jpg?sign=1738886690-d1yr24Bu12yOqOMuPsg5BUwvXnBa9zpX-0-fc3a370e2745d9464140d23616e37236)
根据式(1.1)可以列出图1-1所示2线-4线译码器的真值表,见表1-1。
表1-1 2线-4线译码器的真值表
![](https://epubservercos.yuewen.com/3D11F5/3590367103172001/epubprivate/OEBPS/Images/figure_0017_0008.jpg?sign=1738886690-Le3nC3oJXdFdgJDFOfpaY3UMqIAIQBDR-0-68fe04da2154a6228e38ec0643d88b05)
由表1-1可知2线-4线译码器的逻辑功能为:将输入的2位二进制代码00译成的低电平,其余为高电平;将输入的2位二进制代码01译成
的低电平,其余为高电平;以此类推……将输入的2位二进制代码11译成
的低电平,其余为高电平。
2)3线-8线译码器74LS138
中规模集成3位二进制译码器74LSl38的逻辑图如图1-2所示。
![](https://epubservercos.yuewen.com/3D11F5/3590367103172001/epubprivate/OEBPS/Images/figure_0017_0012.jpg?sign=1738886690-t37jWmX6MFfMJP8V9CNyeKHXr5WCH7NJ-0-40fc86a57a7d94401392a62e07e371c1)
图1-2 中规模集成3位二进制译码器74LSl38的逻辑图
![](https://epubservercos.yuewen.com/3D11F5/3590367103172001/epubprivate/OEBPS/Images/figure_0017_0013.jpg?sign=1738886690-BubvpJf2ToFniNYmvGtOUgAhwPa563St-0-998667c15b16999e0a167f8f5566b95a)
由图1-2可以看出,该译码器有3个控制端S1、、
,3个信号输入端A2、A1、A0,以及8个信号输出端
、
、
、
、
、
、
、
,输入信号为3位二进制代码,输出信号为8个高、低电平信号,又称为中规模集成3线-8线译码器。74LSl38的引脚排列和符号如图1-3所示。
![](https://epubservercos.yuewen.com/3D11F5/3590367103172001/epubprivate/OEBPS/Images/figure_0018_0024.jpg?sign=1738886690-m9jTg5f2WalhHmRmtyvaVPAg0vmEWMUd-0-905252a4efcdbbe6f511d834254278cb)
图1-3 74LSl38引脚排列和符号
下面分析中规模集成3位二进制译码器74LS138的逻辑功能。由图1-2可以看出,当S1=1,时,门Gs输出一个高电平,这个高电平分别被送到与非门G0、G1、…、G7的输入端,不影响与非门G0、G1、…、G7的输出,电路正常工作,实现译码功能;否则,当S1、
、
的取值处于其余7种状态时,门Gs都输出低电平,这些低电平被送到与非门G0、G1、…、G7的输入端,将与非门G0、G1、…、G7的输出端全部封锁为高电平,电路不能正常工作。
当S1=1,,即控制端有效时,电路正常工作,图1-2所示译码器的输出函数表达式为
![](https://epubservercos.yuewen.com/3D11F5/3590367103172001/epubprivate/OEBPS/Images/figure_0018_0029.jpg?sign=1738886690-7r1mtJ8Lq45PLk4rvEg9cSNZ9vEPZxyg-0-981dac7efdb0076052c276215d8c9d41)
根据上面的分析列出图1-2所示中规模集成3线-8线译码器74LS138的真值表,见表1-2。
表1-2 中规模集成3线-8线译码器74LS138的真值表
![](https://epubservercos.yuewen.com/3D11F5/3590367103172001/epubprivate/OEBPS/Images/figure_0019_0030.jpg?sign=1738886690-ge0ShFcwFZWTsyfm68BiqGEfjqaWxg2q-0-6a0160c73940d9ed502a3a4090b89c73)
由表1-2可以看出:
(1)当S1=0,、
为任意电平时,无论输入信号A2、A1、A0是0还是1,输出端都被封锁为高电平。
(2)当S1=1,、
至少一端输入为1时,无论输入信号A2、A1、A0是0还是1,输出端都被封锁为高电平。
(3)当S1=1,时,控制端有效,电路正常工作,实现译码功能。将输入的3位二进制代码000译成
的低电平,其余为高电平;将输入的3位二进制代码001译成
的低电平,其余为高电平;以此类推……将输入的3位二进制代码111译成
的低电平,其余为高电平。
2.显示译码器
在各种数字设备中,往往需要将数字直观地显示出来,最常用的七段字符显示器是半导体数码管和液晶显示器。用于驱动显示器的译码器称为显示译码器。七段显示译码器是用来驱动七段数码管的,常用的七段显示译码器型号有74LS46、74LS47、74LS48及74LS248等。下面介绍74LS248的引脚排列、符号及逻辑功能。
74LS248是一个16引脚的集成器件,除电源、接地端外,有4个输入端AA3、A2、A1、A0,7个信号输出端a、b、c、d、e、f、g和附加控制端
、
、。74LS248的引脚排列图和符号如图1-4所示。
74LS248的逻辑功能如下所述。
(1)灯测试输入端。当
、
时,不论其他输入端为何种电平,所有的输出端全部输出为“1”,驱动数码管显示数字 8。所以
端可以用来测试数码管是否发生故障。正常使用时,
应处于高电平或悬空。
(2)消隐输入端。当
=0时,不论其他输入端为何种电平,所有的输出端全部输出为“0”,数码管不显示。
(3)灭零输入端。当
,
,
时,若 A3A2A1A0=0000,所有的输出端全部输出为“0”,数码管不显示;若A3A2A1A0≠0000,显示译码器正常输出。
![](https://epubservercos.yuewen.com/3D11F5/3590367103172001/epubprivate/OEBPS/Images/figure_0020_0053.jpg?sign=1738886690-Xu5sIcHSFG82091x8jQXbxAAglU9tcCl-0-276fa90e4f7c54f3ff20d70c4f93a2eb)
图1-4 74LS248引脚排列图和符号
(4)灭零输出端。它和灭零输入端配合使用。
且A3A2A1A0=0000时,
输出为0,表明译码器处于灭零状态。
(5)正常工作状态下,、
和
应悬空或接高电平。此时,对应 A3A2A1 A0 的不同取值,在显示译码器的输出端都会得到一组七位二进制代码,用其驱动相应的数码管,数码管就可以显示与输入信号相对应的十进制数。
74LS248的真值表见表1-3。
表1-3 74LS248的真值表
![](https://epubservercos.yuewen.com/3D11F5/3590367103172001/epubprivate/OEBPS/Images/figure_0020_0060.jpg?sign=1738886690-GkcuqOAwdBLcKg2sUTl4DBwFAzCNyRsp-0-1d37fd81d760be11258ace04323c2db7)
1.2.2 译码器的扩展及应用
下面以3线-8线译码器74LSl38为例,介绍二进制译码器的扩展及应用。
1. 二进制译码器的扩展
用两片74LSl38可以构成4线-16线译码器,连接方法如图1-5所示。
![](https://epubservercos.yuewen.com/3D11F5/3590367103172001/epubprivate/OEBPS/Images/figure_0021_0061.jpg?sign=1738886690-FekvTf8gaQihPKmpbyWILZsK72qJNTC5-0-d8ea73d304e93ad61e1734959ce4a1fb)
图1-5 两片74LS13线-8线译码器扩展成4线-16线译码器连线图
A3、A2、A1、A0为扩展后电路的信号输入端,为输出端。当输入信号最高位A3=0时,高位芯片被禁止,
输出全部为“1”,低位芯片被选中,
输出由A2、A1、A0确定;A3=1时,低位芯片被禁止,
输出全部为“1”,高位芯片被选中,
输出由A2、A1、A0确定。
2. 二进制译码器的应用
二进制译码器在数字系统中应用很广泛,常用做函数发生器、数据分配器、顺序脉冲发生器和在计算机中作为地址译码器来选择存储器组及存储单元等。下面介绍二进制译码器的几种应用。
1)函数发生器
用二进制译码器可以实现多输出逻辑函数,具体设计步骤如下:
(1)将待求函数式化成最小项和的形式,并转换成与非-与非式;
(2)画逻辑图。
实例1-1 用译码器74LSl38实现逻辑函数。
解(1) 将待求函数式化成最小项和的形式,并转换成与非-与非式:
![](https://epubservercos.yuewen.com/3D11F5/3590367103172001/epubprivate/OEBPS/Images/figure_0021_0068.jpg?sign=1738886690-qnLwLkWSRZrd5CHiCgPpymvgtOhozVV3-0-74fb6474c2b49266f38337d226233b0f)
(2)画逻辑图。令变量A、B、C分别接译码器74LSl38的A2、A1、A0端,则上式变为,逻辑图如图1-6所示。
![](https://epubservercos.yuewen.com/3D11F5/3590367103172001/epubprivate/OEBPS/Images/figure_0022_0070.jpg?sign=1738886690-ydYoeq9h2ueY5ZfGnG2nktyYhLJ8a89P-0-7d23f105be19618b6d60b708b186cdca)
图1-6 逻辑图
2)数据分配器
在数据传输系统中,经常需要将总线中的数据根据地址传输到多个支路中的某一支路上。数据分配器的逻辑功能就是能够根据地址信号将一路输入数据按照需要分配给多个输出端中的某一个对应的输出端。通常一个数据分配器具有一个数据输入端、n个地址输入端、2n个数据输出端,称为1路-2n路数据分配器。带有控制端的译码器就是一个完整的数据分配器。若将译码器的一个控制端(令其余的控制端均有效)作为数据分配器的数据输入端、译码器的输入端作为数据分配器的地址输入端,译码器的输出端作为数据分配器的数据输出端,由译码器74LSl38构成的数据分配器的逻辑图如图1-7所示。
![](https://epubservercos.yuewen.com/3D11F5/3590367103172001/epubprivate/OEBPS/Images/figure_0022_0071.jpg?sign=1738886690-CJ7wz3PEH58uYOs433ygVEpGEwf5kIx3-0-32a893ae21c10f291ac695e983d7e7a0)
图1-7 由译码器74LSl38构成的数据分配器逻辑图
图1-7所示的数据分配器中,将74LSl38的控制端S1作为数据输入端,令其余控制端和
有效;将74LSl38的信号输入端A2、A1、A0作为地址输入端;并将74LSl38的信号输出端
、
、…、
作为输出端。这样,该电路就可以把从数据输入端S1送来的数据,根据地址输入端A2、A1、A0所指定的地址,送到相应的输出端。例如,当数据输入端S1=1、地址输入端A2A1A0=110时,只有数据输出端
输出为低电平,其余数据输出端均为高电平,此时相当于该数据分配器将由数据输入端S1送来的数据1,根据地址输入端A2、A1、A0所指定的地址110,以反码形式分配到相应的数据输出端
。