在数字系统中,有时需要把具有某种特定含义的信息(例如十进制数、文字、符号等)编成相应的二进制代码或二-十进制代码,这一过程称为编码,实现编码操作的电路称为编码器(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逻辑表达式为:
(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的功能表
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。