优先级编码器一次一个地获取所有数据输入并将其转换为输出端的等效二进制代码,与选择一个单独数据输入线然后发送的多路复用器不同数据到单个输出线或开关,数字编码器通常称为二进制编码器一次一个地获取所有数据输入,然后将它们转换为单个编码输出。所以我们可以说二进制编码器是一个多输入组合逻辑电路,它将输入端的逻辑电平“1”数据转换成输出端的等效二进制代码。
通常,数字编码器产生根据数据输入线的数量,输出2位,3位或4位代码。 “n位”二进制编码器具有 2 n 输入线和 n位输出线,其常见类型包括4对2 ,8到3和16到4线配置。
数字编码器的输出线产生输入线的二进制等效值,其值等于“1”并可用于编码十进制或十六进制输入模式,通常为二进制或“BCD”(二进制编码的十进制)输出代码。
4到2位二进制编码器
标准数字编码器的一个主要缺点是,当逻辑电平“1”存在多个输入时,它们会产生错误的输出代码。例如,如果我们在逻辑“1”处输入 D 1 和 D 2 HIGH,两者都是相同的时间,结果输出既不是“01”,也不是“10”,而是“11”,这是一个与实际输入不同的输出二进制数。此外,当所有输入都为“0”或输入 D 0 等于1时,可以生成所有逻辑“0”的输出代码。
克服此问题的一种简单方法是“优先化”每个输入引脚的电平。因此,如果同时存在多个逻辑电平“1”的输入,则实际输出代码将仅对应于具有最高指定优先级的输入。然后,这种类型的数字编码器通常称为优先编码器或P编码器。
优先编码器
优先级编码器通过为每个输入分配优先级来解决上述问题。 优先编码器输出对应于具有最高优先级的当前活动输入。因此,当存在具有较高优先级的输入时,将忽略具有较低优先级的所有其他输入。
优先级编码器有许多不同的形式,其中包含8输入优先级编码器的示例及其真值表如下所示。
8到3位优先编码器
优先级编码器以标准IC形式提供,TTL 74LS148是一个8至3位优先级编码器,具有8个低电平有效(逻辑“0”)输入,并在其输出端提供排名最高的输入的3位代码。 / p>
优先编码器首先输出最高阶输入,例如,如果输入行“ D2 ”,“ D3 ”和“ D5 “同时应用输出代码将用于输入” D5 “(”101“),因为它具有3个输入中的最高顺序。一旦输入“ D5 ”被删除,下一个最高输出代码将用于输入“ D3 ”(“011”),依此类推。
8到3位优先级编码器的真值表如下:
<吨d>1
数字输入 | 二进制输出 | |||||||||
D 7 | D 6 | D 5 | D 4 | D 3 | D 2 | D 1 | D 0 | Q 2 | Q 1 | Q 0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
0 | 0 | 0 | 0 | 0 | 0 | X | 0 | 0 | 1 | |
0 | 0 | 0 | 0 | 0 | 1 | X | X | 0 | 1 | 0 |
0 | 0 | 0 | 0 | 1 | X | X | X | 0 | 1 | 1 |
0 | 0 | 0 | 1 | X | X | X | X | 1 | 0 | 0 |
0 | 0 | 1 | X | X | X | X | X | 1 | 0 | 1 |
0 | 1 | X | X | X | X | X | X | 1 | 1 | 0 |
1 | X | X | X | X | X | X | X | 1 | 1 | 1 |
其中 X 等于“不关心”,即逻辑“0”或逻辑“1” 。
从这个真值表,上面的编码器的布尔表达式数据输入 D 0 到 D 7 并输出 Q 0 , Q 1 ,Q 2 给出如下:
输出 Q 0
输出 Q 1
输出 Q 2
然后包含零输入的优先级编码器的最终布尔表达式定义为:
优先级编码器输出表达式
实际上,这些零输入将被忽略,允许为8到3优先级编码器的输出实现最终的布尔表达式。我们可以使用单独的 OR 门从上面的表达式构造一个简单的编码器,如下所示。
使用逻辑门的数字编码器
数字编码器应用程序
键盘编码器
优先级编码器可用于减少具有多个输入的特定电路或应用中所需的导线数量。例如,假设一台微型计算机需要读取标准QWERTY键盘的104键,其中任何一次只能按下一个键“HIGH”或“LOW”。
一种方法是将键盘上各个键的所有104根电线直接连接到计算机输入端,但这对于小型家用电脑来说是不切实际的。另一种更好的方法是使用优先级编码器将键盘连接到PC。
104个单独的按钮或键可编码为仅7位的标准ASCII码(0到127十进制数) )表示键盘的每个键或字符,然后直接输入更小的7位BCD码到计算机。键盘编码器,例如74C923 20键编码器就可以实现这一目的。
位置编码器
另一种更常见的应用是磁性位置控制,如船舶导航或机器人使用例如,罗盘的角度或旋转位置由74LS148 8到3线优先编码器转换成数字代码,并输入到系统计算机以提供导航数据和简单的例子8位置到3位输出罗盘编码器如下所示。可以在每个罗盘点使用磁铁和簧片开关来指示针角位置。
优先编码器导航
指南针方向 | 二进制输出 | ||
Q 0 | Q 1 | Q 2 | |
North | 0 | 0 | 0 |
东北 | 0 | 0 | 1 |
东 | 0 | 1 | 0 |
东南亚 | 0 | 1 | 1 |
南 | 1 | 0 | 0 |
西南 | 1 | 0 | 1 |
西 | 1 | 1 | 0 |
西北 | 1 | 1 | 1 |
中断请求
其他应用程序(尤其是优先级编码器)可能包括检测微处理器应用程序中的中断。这里微处理器使用中断来允许外围设备(如磁盘驱动器,扫描仪,鼠标或打印机等)与之通信,但微处理器一次只能与一个外围设备“通话”,因此需要某种方式知道何时特定的外围设备希望与之通信。
处理器通过使用“中断请求”或“IRQ”信号为所有外围设备分配优先级来确保最重要的外围设备首先得到服务。设备的重要性顺序取决于它们与优先级编码器的连接。
IRQ Number | 典型用法 | 描述 |
IRQ 0 | 系统定时器 | 内部系统定时器。 |
IRQ 1 | 键盘 | 键盘控制器。 |
IRQ 3 | COM2&amp; COM4 | 第二和第四串口。 |
IRQ 4 | COM1&amp; COM3 | 第一和第三串口。 |
IRQ 5 | 声音 | 声卡。 |
IRQ 6 | 软盘 | 软盘控制器。 |
IRQ 7 | 并行端口 | 并行打印机。 |
IRQ 12 | 鼠标 | PS / 2鼠标。 |
IRQ 14 | 主IDE | 主硬盘控制器。 |
IRQ 15 | 辅助IDE | 辅助硬盘控制器。 |
因为实施这种使用优先编码器的系统,如标准74LS148优先编码器IC,涉及额外的逻辑电路,可以使用专用的集成电路,如8259可编程优先中断控制器。
数字编码器摘要
然后总结一下,数字编码器是一个组合电路,它响应一个或多个有效输入,在其输出端产生特定代码,如二进制或BCD。数字编码器有两种主要类型。二进制编码器和优先级编码器。
我们已经看到二进制编码器转换 2之一 n 输入 n-bit 输出。然后二进制编码器的输出位数少于输入代码。二进制编码器对于压缩数据很有用,可以用简单的 AND 或 OR 门构建。
标准二进制编码器的一个主要缺点是它会如果同时有多个输入处于活动状态,则会在其输出上产生错误。为了克服这个问题,开发了优先编码器。
优先编码器是另一种类似于二进制编码器的组合电路,不同之处在于它根据最高优先级输入生成输出代码。优先编码器在数字和计算机系统中广泛用作微处理器中断控制器,用于检测最高优先级输入。
在下一个关于组合逻辑器件的教程中,我们将研究称为解码器的编码器的互补功能,它将 n位输入代码转换为其 2 之一n 输出行。
全部0条评论
快来发表一下你的评论吧 !