优先级编码器类型与实时应用程序

在上一个教程中,我们已经看到了二进制编码器编码给定数据的s。但标准数字编码器具有一个限制,如果在给定时间在给定时间处于有多个输入处于活动状态,它会在其输出时产生错误。如果两个输入同时为逻辑1,它会生成未定义的输出组合。二进制编码器

考虑8 - 3线的编码器,同时如果D2和D5 1,编码器生成的输出为111,这意味着这三个输出等于逻辑1(例如在一个人操作键盘可能按另一个键释放第一个之前)。这个值既不对应二进制2,也不对应二进制5。

为了克服这个问题,编码器电路必须建立优先级,使得在这种情况下仅编码一个输入。这意味着每当两个输入同时等于逻辑1时,编码器必须优先考虑每个输入的电平,使得它产生输出对应于最高优先级输入。这种编码器称为优先级编码器。

回到顶部

优先编码器

如前所述,优先级编码器是对输入进行排序的编码器类型之一,这意味着与标准编码器相比,它包含优先级函数。

然而,这种优先级基于输入的相对幅度。因此,较大幅度的输入是首先编码的输入。

优先级编码器可以在许多实际应用中选择具有最高优先级的输入。该选择过程称为仲裁。

仲裁最常见的一个例子是,计算机系统中有许多输入设备,其中一些设备试图同时向计算机提供数据。在这种情况下,优先级编码器使输入设备在试图同时访问计算机的那些设备中具有最高优先级。

让我们看看4个输入的设计,8个输入优先级编码器。

回到顶部

简单的4输入优先级编码器

该优先级编码器由4个输入和三个输出组成。虽然编码器有2N输入和N输出,它具有第三输出'V',其是有效位指示器,并且当一个或多个输入处于活动或等于1时被设置为一个。

当所有输入为零时,此有效位为零,表示没有有效输入。在这种情况下,其他输出被认为是不关心的条件,当V为零时不检查。

根据真值表,最高的将是下标数更高的输入的优先级,其中最高有效位将具有最高优先级,最低有效位将具有低优先级。

在真相表中,D3具有最高优先级,D0具有最低优先级。当D3处于活动状态或1时,无论其他输入如何,输出为11.在D3之后下一个更高的优先级为D2。

在D1之后,次高的优先级是D2。因此,当D3为0,D2为1时,无论其他两个输入(具有较低的优先级),输出都是10。当更高优先级的输入为零时,D1的输出就会生成,以此类推。

4位优先级编码器真值表

从上面的真值表中,我们可以将这两个输出的布尔表达式写成

表达

K-map简化

可以通过使用K-MAP简化来获得Intputs和有效输出的上述表达式。虽然此编码器的真实表显示有五行,但是当每行中的每行中的每一行时,我们可以获得16个输入组合,而首先替换为零,然后逐个替换。可以推导出两个输出的分钟项

日元=∑m(1, 2, 3, 5, 6, 7, 9, 10, 11, 13, 14、15)

Y0 =σm(1,3,4,5,7,9,11,12,13,15)

然后从以下k映射中获取输出

y = d3 + d2

Y0 = D3 +(D2)̅D1

优先级编码器的K映射简化

4输入优先级编码器的逻辑图是由从k映射简化获得的相应输出表达式实现的。此编码器的电路图如下所示。

4位优先级编码器逻辑图

回到顶部

8到3优先级编码器或八进制到二进制优先级编码器

八进制到二进制优先级编码器的真实表如下所示。这种类型的编码器具有8个输入和三个输出,可生成相应的二进制代码。将优先级分配给每个输入,使得当一次两个或更多输入是1时,在输出中表示具有最优先级的输入。

假设如果输入线D2,D4和D7是逻辑1,而不管其他输入如何,则只有D7将被编码并且输出将是111.类似地,如果D3 = 1,则D2,D1和D0的状态无关或don’t care and the output is equal to 011.

八进制到二进制优先级编码器

IC 74148是MSI中最常用的8到3线优先编码器电路。该编码器的主要特点包括:n位优先级级联编码、编码转换、最高优先级输入行优先级编码、十进制到BCD转换、所有输入高时输出激活低等。

数字电路的输入通常使用八进制码,因此需要手动输入这么长的二进制字。为此,设计了编码器IC来实现这一操作。

下图显示了其引脚图,它具有有效的低输入和有效的低输出。为了处理更多的输入,可以通过启用输入和灰色输出来级联这些IC,这些IC也是有效的低线。

74148的销图

回到顶部

十进制到BCD优先编码器

当将十进制数字编码为4位BCD输出时,这种类型的编码器执行与普通十进制到BCD编码器相同的操作。但是,它包含一个提供优先级的附加功能。这意味着产生的BCD输出对应于出现在输入上的最高优先级的十进制数字,而不考虑所有其他输入。

下图显示了十进制到-BCD编码器的真实表。此编码器具有九个有效低输入,表示从1到9的十进制数字。根据最高阶的激活输入,它会产生反相的BCD代码。

十进制到BCD优先级编码器真相表

当D1到D9的所有输入都是逻辑1时,所有输出设置为0000的倒数1111,即BCD码为0。当D9为1时,输出为0110,即1001的倒数,即9的BCD码。这个过程对所有的十进制数都是一样的。

当没有激活​​输入没有输入时,输出通常很高,并且这种情况对应于十进制0输入。因此,当所有输入都很高时,编码器假定小数0状态,因为没有D0输入。

此外,如果同时激活两个输入,则假设D3和D5然后,这些输入的最高优先级,即D5被编码为1010,这是0101的逆,即该编码器称为优先级编码器。

回到顶部

16到4优先级编码器

类似地,16到4编码器可以通过使用6个4到2个编码器来构造。4个4到2个编码器连接到16个输入,8个输出再次连接到2个4到2个编码器,产生4个输出。

优先级编码器应用程序

与标准数字编码器相比,优先编码器在许多应用中都是最常用的。一个更大的优先级编码器是由多个优先级编码器级联设计的。因此,这种类型的编码器用于减少存在多个输入的特定应用程序中所需的连接数。

键盘编码器

假设一个QWERTY键盘与微机相连,因此计算机必须读取键盘上的104个键,以便在任何时候它只能读取一个键为高或低。

不可能将所有这些104个连接直接连接到计算机(如果它的配置较少),但是通过使用优先级编码器来连接它们是一种更有效的方法。通过使用此编码器,每个字符或键被编码为7位(0-127小数)的标准ASCII代码

所有这104个键或单独的按钮。然后向计算机输入7位BCD码。这种类型的键盘编码器是20键,74C923。这些编码器还提供了优先级的功能,比如当两个键同时被按下时,它会给出最高优先级的输入。

位置编码器

磁性位置控制是优先级编码器的另一个常见应用。这种控制用于机器人臂定位和船舶导航。在这种情况下,编码器将指南针的旋转或角度转换为数字代码。然后将此代码输入到计算机,以便提供导航数据。

下图显示了将8个位置转换为3位输出的简单罗盘编码器。对于这种类型的输入--output配置,使用74LS148 IC,其是8到3线优先级编码器。为了表示指南针角位置,通常使用簧片开关和磁体。

优先级编码器框图的应用优先级编码器的应用

回到顶部

一个回应

留下一个回复

您的电子邮件地址不会被公开。必需的地方已做标记*