在数字系统中,有时需要把具有某种特定含义的信息(例如十进制数、文字、符号等)编成相应的二进制代码或二-十进制代码,这一过程称为编码,实现编码操作的电路称为编码器(Encoder)。这是一种多输入、多输出的组合逻辑电路。编码器分为二进制编码器、BCD码编码器和优先编码器等类型。最常用的编码器是微机的键盘电路。
n位二进制代码有2n个不同取值组合,可以给2n个或2n以下个的信息编码。对m个信号进行编码时,可用公式2n≥m来确定要使用的二进制代码的位数n,例如对8个信号进行编码,需用3位二进制代码,编码器应有8线输入,3线输出;对10个信号进行编码。需用4位二进制代码,编码器应有10线输入,4线输出。
1)二进制编码器
二进制编码器是将2n个信号转换成n位二进制代码的电路。下面举例说明该编码器的工作原理。
表4.12 8线-3线编码表

【例4.6】 设计一个对Y0~Y7等八个信号进行二进制编码的电路,要求用与非门实现。
解:此处要编码的信号m=8,根据2n≥m的关系可知n=3,即编码器要输出3位二进制代码,设用A、B、C表示。因为8个被编码信号Y0~Y7中每次只能输入一个信号(编码器每次只对一个信号编码),所以可列出Y0~Y7与A、B、C逻辑关系的简化真值表即编码表,如表4.12所示。
由编码表可得A、B、C的逻辑表达式为:

题目要求用与非门实现,因此将上述与或式转换成与非-与非表达式:

由此可画逻辑图,如图4.22。图中隐含对Y0的编码,当Y1~Y7均为0时,输出就是对Y0的编码000。

图4.22 8线-3线编码器逻辑图
2)BCD码编码器
将十进制数0~9转换成二进制代码的电路,称为BCD码编码器,因为根据2n≥m,可知n=4,所以BCD码编码器为10线输入,4线输出。在第2章中曾介绍了常用的BCD码有8421码、余3码、2421码和5421码等,因而相应地有不同的BCD码编码器。下面以最常用的8421BCD编码器为例加以介绍。
设用DCBA表示十进制数的4位二进制代码,8421BCD码的编码表如表4.13所示。同样,这里10个输入信号Y0~Y9也是互相排斥的,由表4.13求出输出函数的表达式:

由上述表达式可以画出如图4.23所示的逻辑图。
表4.13 8421BCD码编码表


图4.23 8421BCD编码器逻辑图
3)优先编码器
上述编码器要求输入信号必须是互相排斥的,即每次只能有一个信号输入编码器,否则输出会发生混乱,而优先编码器不存在此问题。
当同时有一个以上的信号输入编码电路时,电路只能对其中一个优先级别最高的信号进行编码,这种编码器称为优先编码器。例如计算机可以处理多个指令,当同时有一个以上的指令申请操作时,一般用优先编码器对优先级别最高的指令进行操作。下面通过一个例子来说明它的原理。
【例4.7】 旅客列车有特快、普快和普客三种,在同一时间,只允许有一列客车从车站发出,即只能给出一种开车信号,上述三种客车的优先级别是特快最高,其次是普快、普客。试用优先编码器实现上述逻辑要求。
表4.14 列车优先编码真值表

解:设用A、B、C代表特快、普快、普客三种类型,请求开出用1表示,不请求开出用0表示。用Z1、Z2、Z3分别表示允许特快、普快、普客开出信号,1表示允许列车开出,0表示不允许列车开出,可列出表示它们逻辑关系的真值表,如表4.14所示。
由真值表可求得开出信号Z1、Z2、Z3逻辑表达式为:
(https://www.xing528.com)
图4.24 列车优先开出编码器逻辑图

根据表达式,可画出对应的优先编码器逻辑电路图,如图4.24所示。
4)集成优先编码器简介
常用的集成编码器多为优先编码器,如表4.15所示。
表4.15 集成优先编码器产品

表4.16是8线-3线优先编码器148的功能表,图形符号如图4.25所示。
表4.16 8线-3线优先编码器148的功能表


图4.25 8线-3线优先编码器148的图形符号
由功能表可分析出148的逻辑功能特点如下:
(1)
为选通输入端(即控制输入端),只有在
时,编码器才执行编码功能
时,编码器不工作![]()
(2)编码输入
低电平有效,编码输出
采用反码形式。
(3
中
优先级别最高,依次降低
最低。例如,当
时,不管其他编码输入什么状态,输出对
的编码,即
(采用反码表示,代表7);当
时,不管其他编码输入什么状态,输出
,对
编码;其余以此类推。
(4)选通输出(输出标志)端
和扩展输出(使能输出)端
用来进行功能扩展。当
(编码器不编码)时,恒有
当
(编码器执行编码操作)时,若
全为1(即无编码输入信号),则有
若
不全为1(即有编码输入信号),则有
利用
和
可以扩展148的逻辑功能。例如图4.26即为利用此功能用两片8线-3线优先编码器148组成16线-4线优先编码器接线图。

图4.26 两片148组成16线-4线优先编码器
图中
为编码输入
优先级别最高
最低,所以,148(1)的优先级别高于148(0)。当
有编码信号输入时,148(1)的输出端
使148(0)的选通输入端
不进行编码操作,其输出
不影响148(1)对
的编码操作
编码输出);当
均无信号输入时(都为高电平),148(0)对A7~A0进行优先编码操作。
例如
时,148(1)的
输出
011;148(0)被封锁,其输出
此时
1100,实现了对
的编码;当
全为高电平时,148(1)的
其输出
可以进行编码,若此时
时,则148(0)的输出
0101,实现了对
的编码。

图4.27 优先编码器(54/74)147图形符号
输出端
的作用是可以根据其电平高低作为有无编码的标志。当148(1)和148(0)都无编码时,其输出
均为高电平,则U输出低电平,表示无编码;只要148(1)和148(0)中任何一个在进行编码操作(即
中有低电平输入),则它的
定为低电平,U即输出高电平,标志着有编码。
图4.27是10线-4线(8421BCD码)优先编码器(54/74)147的图形符号,表4.17是它的功能表,读者可自行分析其逻辑功能。
表4.17 8421BCD码10线-4线优先编码器147功能表

图4.28是8线-8线优先编码器74 HC149的引脚图,它的功能表为表4.18。

图4.28 74HC149的引脚图
表4.18 8线-8线优先编码器74HC149的功能表

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
