解码器是组合电路的类型,它将小比特值解码为大比特值。它通常与编码器结合使用,这与解码器的功能完全相反,因此在继续使用解码器之前,请先阅读编码器。同样,就像编码器一样,解码器也有很多类型,但是解码器中输出线的数量将始终大于输入线的数量。在本教程中,我们将学习解码器的工作方式以及如何为项目构建一个解码器。
解码器的基本原理:
如前所述,解码器只是编码器的对应部分。它使用特定数量的二进制值作为输入,然后使用逻辑将其解码为更多行。下面显示了一个示例解码器,该解码器以2行作为输入并将其转换为4行。
解码器的另一个经验法则是,如果输入的数量被视为n(此处n = 2),则输出的数量将始终等于2 n(2 2 = 4),在我们的示例中为4。解码器有2条输入线和4条输出线。因此,这种类型的解码器称为2:4解码器。如上所示,两个输入引脚分别命名为I1和I0,四个输出引脚命名为O0至O3。
同样重要的是要知道,像此处所示的普通解码器具有无法区分两个输入为零(未连接到其他电路)和两个输入为低(逻辑0)的条件的缺点。可以使用优先级解码器解决此缺陷,我们将在本文后面学习。普通解码器的真值表如下所示
从解码器真值表中,我们可以为每条输出线写一个布尔表达式,紧跟在输出变高的位置并根据I1和I0的值形成一个AND逻辑。它与Encoder方法非常相似,但是这里我们使用AND逻辑而不是OR逻辑。下面给出了所有四行的布尔表达式,其中符号(。)表示AND逻辑,符号(')表示NOT逻辑
Ø 0 = I 1 '.I 0 ' ø 1 = I 1 '.I 0 Ô 2 = I 1.I 0 ' ø 3 = I 1.I 0
现在我们有了所有四个表达式,我们可以使用与门和非门将这些表达式转换为组合逻辑门电路。只需使用AND门代替(。),并使用NOT门(反逻辑)代替('),您将获得以下逻辑图。
让我们在面包板上构建2:4解码器电路图,并检查其在现实生活中的工作情况。要使其作为硬件工作,您必须使用逻辑门IC,例如7404用于非门,而7408用于与门。两个输入I0和I1通过按钮提供,输出通过LED灯观察。在面包板上建立连接后,如下图所示
该评估板由外部+ 5V电源供电,该电源通过Vcc(引脚14)和接地(引脚7)引脚为Gate IC供电。输入由按钮提供,按下时为逻辑1,未按下时为逻辑0,还沿着输入线添加了一个值为1k的下拉电阻,以防止引脚处于悬空状态。输出线(O0至O3)通过这些红色LED灯给出,如果它们点亮则为逻辑1,否则为逻辑0。该解码器电路的完整工作 如下图所示。
请注意,每个输入的真值表显示在左上角,LED也会以相同的顺序发光。同样,我们也可以为所有类型的解码器创建组合逻辑图,并在这样的硬件上构建它们。如果您的项目适合,您还可以研究现成的解码器IC。
标准解码器的缺点:
就像编码器一样,标准解码器也遇到相同的问题,如果两个输入都未连接(逻辑X),则输出将不会保持为零。取而代之的是,解码器将其视为逻辑0,并将O0位设置为高电平。
优先级解码器:
因此,我们使用优先级解码器来解决该问题,这种类型的解码器有一个额外的输入引脚,标记为“ E”(启用),它将与优先级解码器的有效引脚连接。在一个优先级解码器框图中示出的下方。
优先级编码器的真值表也显示在下面,这里X代表无连接,'1'代表逻辑高,'0'代表逻辑低。注意,当输入线上没有连接时,使能位为0,因此输出线也将保持为零。这样,我们将能够克服上述缺点。
和往常一样,我们可以为输出线O0到O3驱动布尔表达式。上面的真值表的布尔表达式如下所示。如果您仔细看一看,您会发现该表达式与普通的2:4解码器的表达式相同,但是使能位(E)已与该表达式进行AND运算。
Ø 0 = EI 1 '.I 0 ' ø 1 = EI 1 '.I 0 Ô 2 = EI 1.I 0 ' ø 3 = EI 1.I 0
上面的布尔表达式的组合逻辑图可以使用两个反相器(非门)和三输入与门建立。只需将(')符号替换为逆变器,并将(。)符号替换为AND门,您将获得以下逻辑图。
3:8解码器:
还有一些更高阶的解码器,例如更常用的3:8解码器和4:16解码器。这些解码器经常在IC封装中使用,以增加电路的复杂性。结合诸如2:4解码器的低阶解码器以形成高阶解码器也是非常普遍的。例如,我们知道2:4解码器具有2个输入(I0和I1)和4个输出(O0至O3),而3:8解码器具有3个输入(I0至I2)和8个输出(O0至O7)。我们可以使用以下公式来计算形成高阶解码器(如3:8解码器)所需的低阶解码器(2:4)的数量。
所需的低阶解码器数量= m2 / m1 其中, m2->低阶解码器 的输出数量m1->高阶解码器的输出数量
在我们的例子中,m1的值为4,m2的值为8,因此将这些值应用到上面的公式中,我们得到
3:8解码器= 8/4 = 2所需的2:4解码器数量
现在我们知道我们将需要两个2:4解码器来构成一个3:8解码器,但是这两个应该如何连接才能聚集。下面的框图仅显示了
如您所见,输入A0和A1作为两个解码器的并行输入连接,然后使第一个解码器的Enable引脚充当A2(第三个输入)。将A2的反相信号提供给第二个解码器的使能引脚,以获取输出Y0至Y3。在这里,输出Y0到Y3被称为较低的四个最小项,而输出Y4到Y7被称为较高的四个最小项。低阶最小项从第二解码器获得,高阶最小项从第一解码器获得。尽管这种组合设计中的一个明显缺点是,解码器将没有使能引脚,这使它容易受到前面讨论的问题的影响。
4:16解码器:
与3:8解码器类似,也可以通过组合两个3:8解码器来构造4:16解码器。对于4:16解码器,我们将有四个输入(A0至A3)和十六个输出(Y0至Y15)。而对于3:8解码器,我们只有三个输入(A0至A2)。
我们已经使用这些公式来计算所需的解码器数量,在这种情况下,由于3:8解码器具有8个输出,因此m1的值为8,由于4:16解码器具有16个输出,因此m2的值为16,所以在上面的公式中应用这些值,我们得到
4:16解码器所需的3:8解码器数量= 16/8 = 2
因此,我们需要两个3:8解码器来构建4:16解码器,这两个3:8解码器的布置也将与我们之前所做的相似。下面显示了将这两个3:8解码器连接在一起的框图。
在这里,将输出Y0到Y7视为较低的八个小项,而将从Y8到Y16的输出视为较高的八个小项。右下方的最小项是使用输入A0,A1和A2直接创建的。同样的信号也被提供给第一解码器的三个输入,但是第一解码器的使能引脚被用作第四输入引脚(A3)。第四输入端A3的反相信号提供给第二解码器的使能引脚。第一解码器输出较高的八个最小项。
应用范围:
解码器通常与编码器结合使用,因此它们共享相同的应用程序。没有解码器和编码器,现代电子设备(如手机和笔记本电脑)将无法实现。下面列出了解码器的几个重要应用。
- 排序信号应用
- 定时信号应用
- 网络线
- 记忆元素
- 电话网络