数字电路 - 解码器

解码器 是一种组合电路,具有'n'条输入线和最多 2n 条输出线。当解码器启用时,其中一个输出将根据当前输入的组合处于高电平有效状态。这意味着解码器检测到特定代码。当解码器启用时,其输出只不过是'n'个输入变量(线)的最小项

2 到 4 解码器

假设 2 到 4 解码器有两个输入 A1 和 A0 以及四个输出 Y3、Y2、Y1 和 Y0。下图显示了 2 对 4 解码器的框图

2 对 4 解码器

当启用时,这四个输出中的一个将为每个输入组合的"1",E 为"1"。2 对 4 解码器的真值表如下所示。

启用 输入 输出
E A1 A0 Y3 Y2 Y1 Y0
0 x x 0 0 0 0
1 0 0 0 0 0 1
1 0 1 0 0 1 0
1 1 0 0 1 0 0
1 1 1 1 0 0 0

从真值表中,我们可以将每个输出的布尔函数写为

$$Y_{3}=E.A_{1}.A_{0}$$

$$ Y_{2}=E.A_{1}.{A_{0}}'$$

$$ Y_{1}=E.{A_{1}}'.A_{0}$$

$$ Y_{0}=E.{A_{1}}'.{A_{0}}'$$

每个输出都有一个乘积项。因此,总共有四个乘积项。我们可以通过使用四个具有三个输入的 AND 门和两个反相器来实现这四个乘积项。 2 至 4 译码器的电路图如下图所示。

2 至 4 译码器电路图

因此,2 至 4 译码器的输出不过是两个输入变量 A1 和 A0最小项,当使能时,E 等于一。如果使能,E 为零,则译码器的所有输出都将等于零。

类似地,3 至 8 译码器产生三个输入变量 A2、A1 和 A0 的八个最小项。 A0 和 4 到 16 解码器产生四个输入变量 A3、A2、A1 和 A0 的十六个最小项。

高阶解码器的实现

现在,让我们使用低阶解码器实现以下两个高阶解码器。

  • 3 到 8 解码器
  • 4 到 16 解码器

3 到 8 解码器

在本节中,让我们使用 2 到 4 解码器实现 3 到 8 解码器。我们知道 2 到 4 解码器有两个输入,A1 和 A0 和四个输出,Y3 到 Y0。而 3 到 8 解码器有三个输入 A2、A1 和 A0 以及八个输出 Y7 到 Y0

我们可以使用以下公式找到实现高阶解码器所需的低阶解码器数量。

$$所需低阶解码器数量=\frac{m_{2}}{m_{1}}$$

其中,

$m_{1}$为低阶解码器输出数量。

$m_{2}$为高阶解码器输出数量。

这里,$m_{1}$ = 4,$m_{2}$ = 8。将这两个值代入上式。

$$所需2至4解码器数量=\frac{8}{4}=2$$

因此,实现一个3至8解码器需要两个2至4解码器。下图显示了使用 2 到 4 解码器的 3 到 8 解码器的 框图

2 到 8 解码器

并行输入 A1 和 A0 应用于每个 2 到 4 解码器。输入 A2 的补码连接到下部 2 到 4 解码器的启用、E,以获得输出 Y3 至 Y0。这些是 下部四个最小项。输入 A2 直接连接到上部 2 到 4 解码器的启用、E,以获得输出 Y7 至 Y4。这些是较高的四个最小项

4 到 16 解码器

在本节中,让我们使用 3 到 8 解码器实现4 到 16 解码器。我们知道 3 到 8 解码器有三个输入 A2、A1 和 A0 以及八个输出 Y7 到 Y0。而 4 到 16 解码器有四个输入 A3、A2、A1 和A0 和 16 个输出,Y15 至 Y0

我们知道以下公式用于查找所需的低阶解码器数量。

$$所需的低阶解码器数量=\frac{m_{2}}{m_{1}}$$

代入上述公式中的 $m_{1}$ = 8 和 $m_{2}$ = 16。

$$所需的 3 至 8 解码器数量=\frac{16}{8}=2$$

因此,我们需要两个 3 至 8 解码器来实现一个 4 至 16 解码器。下图显示了使用 3 至 8 解码器的 4 至 16 解码器的 框图

4 至 16 解码器

并行输入 A2、A1 和 A0 应用于每个 3 至 8 解码器。输入的补码 A3 连接到下部 3 至 8 解码器的启用端 E,以获得输出 Y7 至 Y0。这些是 下 8 个最小项。输入 A3 直接连接到上部 3 至 8 解码器的启用端 E,以获得输出 Y15 至 Y8。这些是较高的八分钟术语