跳到主要内容

1.10 解复用器

解复用器是一种“一到多”的电路,与多路复用器(Multiplexer)正好相反。通过使用解复用器,来自单一输入的数据可以被传递到多条输出数据线中的某一条。解复用器主要用于布尔函数发生器和译码器电路。不同输入/输出配置的解复用器以单个集成电路(IC)的形式存在。

此外,还可以通过级联两个或多个解复用器电路来生成具有多个输出的解复用器。让我们在本教程中简要了解解复用器及其类型。

什么是解复用器?

解复用是将来自单一输入的信息传输到多个输出中的某一个的过程。如果你回顾了多路复用器的教程,我们在那里讨论了多路复用的概念。解复用正是它的相反过程。

解复用器是一种组合逻辑电路,它在单一输入线上接收信息,并将相同的信息传输到“n”个可能的输出线中的某一个。

为了选择特定的输出,我们需要使用一组选择线,这些选择线的位组合控制特定输出线在给定瞬间与输入的连接。下图展示了解复用器的基本原理,其中在给定瞬间可以将输入切换到四个输出中的任何一个。

alt text

如果多路复用器被称为数据选择器,那么解复用器则被称为数据分配器,因为它们将接收到的相同数据传输到不同的目的地。

因此,解复用器是一个1到N的设备,而多路复用器是一个N到1的设备。下图展示了解复用器或简单地说DEMUX的框图。

它包含1个输入线、“n”个输出线和“m”个选择线。在这里,需要“m”个选择线来产生 2m2^m 个可能的输出线(假设 2m=n2^m = n)。例如,一个1到4的解复用器需要2个(22=42^2 = 4)选择线来控制4个输出线。

alt text

根据输出配置,解复用器有多种类型,如1:2、1:4、1:8和1:16。

这些解复用器以不同的IC封装形式存在,一些最常用的解复用器IC包括74139(双1:4 DEMUX)、74138(1:8 DEMUX)、74237(带地址锁存器的1:8 DEMUX)、74154(1:16 DEMUX)、74159(1:16 DEMUX开路集电极类型)等。

注意:解复用器IC也被称为译码器IC。例如,74159是一个4线到16线的译码器IC。

1 到 2 解复用器

1 到 2 解复用器包含一个输入线、两个输出线和一个选择线。选择线上的信号有助于将输入切换到两个输出中的一个。下图展示了带有额外使能输入的1到2解复用器的框图。

在图中,只有两种可能的方式将输入连接到输出线,因此只需要一个选择信号来执行解复用操作。当选择输入为低电平时,输入将传递到 Y0Y_0;如果选择输入为高电平,则输入将传递到 Y1Y_1

alt text

1 到 2 解复用器的真值表如下所示,其中根据选择输入 SS 的值,输入被路由到 Y0Y_0Y1Y_1

SSDDY1Y_1Y0Y_0
0000
0101
1000
1110

我们可以推导出输出的布尔表达式如下:

假设 SS 是选择输入,DD 是数据输入,Y0Y_0Y1Y_1 是1到2解复用器的输出。从上表中可以看出,当选择线和输入线的组合分别为低电平和高电平时,即 SD=01S D = 01,输出 Y0Y_0 为激活状态。

因此,输出 Y0Y_0 的表达式为:

Y0=SDY_0 = \overline{S} D

同样,当选择线和输入线的组合为高电平时,即 SD=11S D = 11,输出 Y1Y_1 为激活状态。

因此,输出 Y1Y_1 的表达式为:

Y1=SDY_1 = S D

从上述真值表和推导出的布尔表达式中,可以使用两个与门和一个非门设计1到2解复用器的逻辑图,如下图所示。当选择线 S=0S = 0 时,第一个与门(A1)被启用,而第二个与门(A2)被禁用。

然后,输入的数据流向输出线 Y0Y_0。同样,当 S=1S = 1 时,第二个与门(A2)被启用,第一个与门(A1)被禁用,因此数据被传递到 Y1Y_1 输出。

alt text

1 到 4 解复用器

1 到 4 解复用器有一个输入(DD)、两个选择线(S1S_1S0S_0)和四个输出(Y0Y_0Y3Y_3)。在特定的选择线组合下,输入数据在给定时间被传递到四个输出中的某一个。

这种解复用器也被称为2到4解复用器,这意味着它有两个选择线和4个输出线。下图展示了1:4 DEMUX的框图。

alt text

这种类型的解复用器的真值表如下所示。从真值表中可以看出,当 S0=0S_0 = 0S1=0S_1 = 0 时,数据输入被连接到输出 Y0Y_0;当 S0=0S_0 = 0S1=1S_1 = 1 时,数据输入被连接到输出 Y1Y_1

同样,其他输出根据选择线的其他两种组合被连接到输入。

S1S_1S0S_0DDY3Y_3Y2Y_2Y1Y_1Y0Y_0
0000000
0010001
0100000
0110010
1000000
1010100
1100000
1111000

从上述真值表中,我们可以推导出输出的布尔表达式如下:

Y0=S1S0DY_0 = \overline{S_1} \overline{S_0} D
Y1=S1S0DY_1 = \overline{S_1} S_0 D
Y2=S1S0DY_2 = S_1 \overline{S_0} D
Y3=S1S0DY_3 = S_1 S_0 D

其中 DD 是输入数据,Y0Y_0Y3Y_3 是输出线,S0S_0S1S_1 是选择线。

根据上述布尔表达式,可以使用四个3输入与门和两个非门实现1到4的解复用器,如下图所示。两个选择线同时启用一个特定的与门。此外,还有一个使能/选通信号输入,它作为全局使能输入,即只有当“E”位为高电平时,输出才被激活。

因此,根据选择输入的组合,输入数据通过选定的门传递到相应的输出。

alt text

这种类型的解复用器以集成电路形式存在,例如IC 74139。这是最常用的解复用器集成电路之一,它是一个双1到4的解复用器集成电路,即在一个集成电路中包含两个独立的1到4的解复用器模块。每个DEMUX接受两个二进制输入作为选择线,并有四个互斥的低电平有效的输出。

两个解复用器都有各自独立的选择线,因此它们可以作为真正独立的解复用器工作。此外,每个解复用器都有一个专用的使能引脚,它可以作为解复用器操作的数据输入。使能引脚是低电平有效的。

alt text

输出是低电平有效的,即默认为高电平。因此,如果使能引脚为高电平,则所有输出均为高电平;如果使能引脚为低电平,则根据选择引脚,只有相应的输出引脚变为低电平。

1 到 8 解复用器

下图展示了一个1到8解复用器的框图,它包含一个输入 DD、三个选择输入 S2S_2S1S_1S0S_0 以及从 Y0Y_0Y7Y_7 的八个输出。

由于它有三个选择输入线和8个输出线,它也被称为3到8解复用器。它根据选择输入的组合将一个输入线分配到8个输出线中的某一个。

alt text

1 到 8 解复用器的真值表如下所示。输入“D”根据选择线 S2S_2S1S_1S0S_0 被连接到从 Y0Y_0Y7Y_7 的八个输出中的某一个。

例如,如果 S2S1S0=000S_2 S_1 S_0 = 000,则输入 DD 被连接到输出 Y0Y_0,依此类推。

S2S_2S1S_1S0S_0Y7Y_7Y6Y_6Y5Y_5Y4Y_4Y3Y_3Y2Y_2Y1Y_1Y0Y_0
0000000000D
001000000D0
01000000D00
0110000D000
100000D0000
10100D00000
1100D000000
111D0000000

从这个真值表中,所有输出的布尔表达式可以写为:

Y0=S2S1S0DY_0 = \overline{S_2} \overline{S_1} \overline{S_0} D
Y1=S2S1S0DY_1 = \overline{S_2} \overline{S_1} S_0 D
Y2=S2S1S0DY_2 = \overline{S_2} S_1 \overline{S_0} D
Y3=S2S1S0DY_3 = \overline{S_2} S_1 S_0 D
Y4=S2S1S0DY_4 = S_2 \overline{S_1} \overline{S_0} D
Y5=S2S1S0DY_5 = S_2 \overline{S_1} S_0 D
Y6=S2S1S0DY_6 = S_2 S_1 \overline{S_0} D
Y7=S2S1S0DY_7 = S_2 S_1 S_0 D

根据这些得到的方程,可以使用八个4输入与门和三个非门实现这个解复用器的逻辑图,如下图所示。不同的选择线组合会在给定时间激活一个与门,使得数据输入出现在相应的输出上。

alt text

有两种流行的1到8解复用器集成电路。其中一种是IC 74237,它在三个选择输入端配备了锁存器。该集成电路的引脚分布如下所述。

引脚A0到A2是数据输入端,Y0到Y7是解复用器的输出端,E1和E2分别是低电平有效的数据使能端和高电平有效的数据使能端,LE是锁存使能输入端,Vcc和GND端分别是正电源电压端和地端。

该集成电路将一个3位存储锁存器与3到8译码器功能相结合。

alt text

另一种常用的1到8解复用器集成电路是IC 74138。其引脚分布与前者非常相似,只是没有锁存使能输入端(因为所有的使能引脚都是普通的使能引脚——两个是低电平有效的,一个是高电平有效的),并且输出端是低电平有效的。下图展示了74138集成电路的引脚分布。

alt text

使用两个1到4解复用器实现1到8解复用器

当应用需要具有更多输出引脚的高阶解复用器时,我们不能通过单一集成电路来实现。如果需要超过16个输出引脚,那么就需要级联两个或多个解复用器集成电路来满足需求。

例如,如果应用需要从解复用器获得32个输出线,那么我们可以级联两个1:16解复用器或三个1:8解复用器。因此,通过级联两个或多个解复用器,可以实现一个大型解复用器。

考虑使用两个1到4解复用器通过适当的级联来实现1到8解复用器的情况。

alt text

在上图中,选择输入的最高有效位A连接到使能输入,使得它在连接到一个解复用器之前被取反,而直接连接到另一个解复用器。

通过这种配置,当A被设置为零时,基于选择线B和C的组合,从Y0到Y3中选择一个输出线。同样,当A被设置为一时,基于选择线,从Y4到Y7中选择一个输出线。

使用1到8解复用器实现全减器

与多路复用器类似,解复用器也用于布尔函数实现以及组合电路设计。我们可以通过适当控制选择线来设计解复用器,以产生任何真值表的输出。

考虑实现一个解复用器电路以产生全减器的输出。下表展示了全减器的输出。

ABBINDBOUT
00000
00111
01011
01101
10010
10100
11000
11111

从上表可以看出,全减器的输出 DD 可以表示为:

D=f(A,B,BIN)=m(1,2,4,7)=ABBIN+ABBIN+ABBIN+ABBIND = f(A, B, \text{BIN}) = \sum m(1, 2, 4, 7) = A \overline{B} \text{BIN} + \overline{A} B \text{BIN} + A B \overline{\text{BIN}} + A B \text{BIN}

借位输出 BOUTB_{\text{OUT}} 可以表示为:

BOUT=f(A,B,BIN)=m(1,2,3,7)=ABBIN+ABBIN+ABBIN+ABBINB_{\text{OUT}} = f(A, B, \text{BIN}) = \sum m(1, 2, 3, 7) = A \overline{B} \text{BIN} + \overline{A} B \text{BIN} + \overline{A} \overline{B} \text{BIN} + A B \text{BIN}

从这些布尔表达式出发,可以通过适当配置1到8解复用器来构建产生全减器输出的解复用器,使得当输入 D=1D = 1 时,在输出端给出最小项。

通过逻辑或这些最小项,可以得到差值和借位的输出,如图所示。

alt text

解复用器的应用

由于解复用器用于从多个信号中选择或启用一个信号,因此它们广泛应用于微处理器或计算机控制系统,例如:

  • 选择不同的输入/输出设备进行数据传输(数据路由)
  • 选择不同的内存库(内存译码)
  • 根据地址,启用不同的内存芯片行
  • 启用不同的功能单元

除了这些,解复用器还可以在多种应用中找到,例如:

  • 同步数据传输系统
  • 布尔函数实现(如上所述的全减器函数)
  • 数据采集系统
  • 组合电路设计
  • 自动测试设备系统
  • 安全监控系统(用于选择特定的监控摄像头),等等

结论

一个关于解复用器(DEMUX)的完整初学者指南。你学习了什么是解复用器,不同类型的解复用器(如1到2、1到4、1到8、1到16),它们的逻辑电路以及解复用器的一些重要应用。