编码器的定义与功能
1.4线-2线编码器
在数字系统里,常常需要将某一信息(输入)变换为某一特定的代码(输出)。把二进制码按一定的规律编排,例如8421码、格雷码等,使每组代码具有一特定的含义(代表某个数或控制信号)称为编码。具有编码功能的逻辑电路称为编码器。编码器有若干个输入,在某一时刻只有一个输入信号被转换为二进制码。例如8线-3线编码器和10线-4线编码器分别有8输入、3位二进制码输出和10输入A位二进制码输出。下面分析4输入2位二进制码输出的编码器的工作原理。
4线-2线编码器的功能表如下:
由上表可知,该编码器为高电平输入有效,因而可由功能表得到如下逻辑表达式:
根据逻辑表达式画出的逻辑图,可实现功能表所列的功能:
4线-2线编码器逻辑图
这里还有一种情况需要注意:当I0为1,I1~I3都为0时和I0
~I3均为0时Y1Y0都是00,而这两种情况在实际中是必须加以区分的,这个问题留待后面加以解决。当然,编码器也可以设计为低电平有效。
2.键盘输入8421BCD码编码器
计算机的键盘输入逻辑电路就是由编码器组成。
上图为一个用十个按键和门电路组成的8421码编码器,其功能表如下:
其中S0~S9代表十个按键,即对应十进制数0~9的输入键,它们对应的输出代码正好是8421BCD码,同时也把它们作为逻辑变量,ABCD为输出代码(A为最高位),GS为控制使能标志。
对功能表和逻辑电路进行分析,都可得知:①该编码器为输入低电平有效;②在按下S0~S9中任意一个键时,即输入信号中有一个为有效电平时GS=1,代表有信号输入,而只有S0~S9均为高电平时GS=0
,代表无信号输入,此时的输出代码0000为无效代码。由此解决了前面提出的如何区分两种情况下输出都是全0的问题。
3.优先编码器
上述机械式按键编码电路虽然比较简单,但当同时按下两个或更多个键时,其输出将是混乱的。在数字系统中,特别是在计算机系统中,常常要控制几个工作对象,例如微型计算机主机要控制打印机、磁盘驱动器、输入键盘等。当某个部件需要实行操作时,必须先送一个信号给主机(称为服务请求),经主机识别后再发出允许操作信号(服务响应),并按事先编好的程序工作。这里会有几个部件同时发出服务请求的可能,而在同一时刻只能给其中1个部件发出允许操作信号。因此,必须根据轻重缓急,规定好这些控制对象允许操作的先后次序,即优先级别。识别这类请求信号的优先级别并进行编码的逻辑部件称为优先编码器。4线-2线优先编码器的功能表如下:
分析该表中的I0~I3的优先级别,可以发现,对于I0,只有当I1,I2,I3均为0,即均无有效电平输入,且I0为1时,输出为00。对于I3,无论其他3个输入是否为有效电平输入,输出均为11。由此可知I3的优先级别高于I0的优先级别,且这4个输入的优先级别的高低次序依次为I3,I2,I1,I0。
由该功能表可以导出该优先编码器的逻辑表达式为
由于这里包括了无关项,逻辑表达式比前面介绍的非优先编码器简单些。
|