二进制解码器是由单独的逻辑门构成的另一种组合逻辑电路,与编码器完全相反。

 

名称“解码器”是指将编码信息从一种格式转换或解码为另一种格式,因此二进制解码器使用 2 n 个输出将“ n”个二进制输入信号转换为等效代码。

 

二进制解码器是另一种类型的数字逻辑设备,根据数据输入线的数量,其输入的 2 位,3 位或 4 位代码,因此具有一组 2 位或更多位的解码器将定义为具有 n 位代码,因此将有可能表示 2 n 个可能的值。因此,解码器通常通过将其 n 个输出中的一个准确地设置为逻辑“ 1”来将二进制值解码为非二进制值。

 

如果二元解码器接收Ñ输入(通常归类为一个二进制或布尔数)它激活一个且只有其中的一个 2 个Ñ基于与所有其它输出该输入输出停用。

 


因此,例如,一个逆变器( 非门 )可以被归类为一个 1 至 2 个二进制解码器 1- 输入和 2- 输出(2 1)是可能的,因为与输入阿它可以产生两个输出甲和甲(不是 -A),如图所示。

 

那么我们可以说标准的组合逻辑解码器是 n-m 解码器,其中 m≤2 n,其输出 Q 仅取决于其当前输入状态。换句话说,二进制解码器查看其当前输入,确定在其输入处存在哪个二进制代码或二进制数,并选择与该二进制输入相对应的适当输出。

 

甲二元解码器将编码的输入成编码输出,其中输入和输出代码是不同的和解码器可用于“解码”二进制或 BCD(8421 码)输入图案以通常为十进制输出代码。常用的 BCD 到十进制解码器包括 TTL 7442 或 CMOS4028。通常,解码器的输出代码通常比其输入代码具有更多的位,并且实际的“二进制解码器”电路包括 2 到 4、3 到 8 和 4 至 16 线配置。

 

2 至 4 行解码器及其真值表的示例如下:

 

2 对 4 二进制解码器

 


上面的 2 到 4 行二进制解码器的简单示例由四个“ 与”门的阵列组成。标记为 A 和 B 的 2 个二进制输入被解码为 4 个输出之一,因此对 2 到 4 二进制解码器进行了描述。每个输出代表 2 个输入变量的最小项之一(每个输出=一个最小项)。

 

二进制输入 A 和 B 确定从 Q0 到 Q3 的哪条输出线在逻辑电平“ 1”下为“高”,而其余输出在逻辑“ 0”下保持为“低”,因此在任何情况下只有一个输出有效(高)一度。因此,无论哪条输出线为“ HIGH”,都标识输入处存在的二进制代码,换言之,它“解码”二进制输入。

 

一些二进制解码器还有一个附加的输入引脚,标为“ Enable”,用于控制设备的输出。此额外的输入允许解码器的输出根据需要设置为“ ON”或“ OFF”。这些类型的二进制解码器通常在微处理器存储应用中用作“内存地址解码器”。


我们可以说二进制解码器是具有用于启动解码器的附加数据线的多路分解器。查看解码器电路的另一种方法是将输入 A,B 和 C 视为地址信号。A,B 或 C 的每个组合定义一个唯一的内存地址。

 

我们已经看到 2 到 4 行二进制解码器(TTL 74155)可用于解码任何 2 位二进制代码以提供四个输出,每个可能的输入组合一个。然而,有时需要二进制输出数量大于可用数量的二进制解码器,因此通过添加更多输入,解码器可能会提供 2 n 更多的输出。

 

因此,例如,具有 3 个二进制输入(n = 3 )的解码器 将产生 3 到 8 行解码器(TTL 74138),而 4 个输入( n = 4 )将产生 4 到 16 行解码器(TTL) 74154)等。但是,解码器也可以具有少于 2 n 的输出,例如 BCD 到七段解码器(TTL 7447),该解码器具有 4 个输入和只有 7 个活动输出来驱动显示器,而不是像您那样将其输出为 16(2 4)个输出期望。

 

在这里,已经使用两个较小的 3 至 8 解码器实现了更大的 4(3 数据加 1 使能)至 16 行二进制解码器。

 

4 到 16 二进制解码器配置

 


输入 A,B,C 用于选择任一解码器上的哪个输出为逻辑“ 1”(高),输入 D 与启用输入一起使用,以选择第一个或第二个编码器将输出“ 1”。

 

但是,可用于一个特定解码器的输入数量是有限制的,因为随着 n 的增加,产生输出所需的 AND 门的数量也会变大,从而导致用于驱动的门扇出他们越来越大。

 

此类有源“ HIGH”解码器可仅使用反相器( 非门 )和与门实现。使用“ 与”门作为输出的基本解码元素非常方便,因为仅当其所有输入均为逻辑“ 1”时,它才会产生“高”或逻辑“ 1”输出。

 

但是有些二进制解码器是使用“ 与非”门代替“ 与”门构建其解码输出的,因为与“与”门相比,“与非”门的生产成本更低,因为它们需要更少的晶体管来实现其设计。

 

使用“ 与非”门作为解码元件,将导致有效的“ LOW”输出,而其余的将为“ HIGH”。当“ 与非”门产生具有反相输出的“ 与”运算时,“ 与非”解码器的反相真值表看起来像这样。

 

2 至 4 行 NAND 二进制解码器

 


然后,对于 NAND 解码器,在任何给定时间只有一个输出为 LOW 且等于逻辑“ 0”,而所有其他输出为逻辑“ 1”时为 HIGH。

 

解码器还可提供一个附加的“使能”输入引脚,该输入引脚可通过分别对它们施加逻辑“ 1”或逻辑“ 0”来使解码输出变为“ ON”或“ OFF”。因此,例如,当使能输入为逻辑电平“ 0”(EN = 0)时,无论输入 A 和 B 的状态如何,所有输出均为逻辑“ 0”的“ OFF”(对于 AND 门)。

 

一般来实现这个功能使得能够在 2 输入 AND 或 NAND 栅极与 3- 输入替换 AND 或 NAND 门。附加输入引脚代表使能功能。

 

内存地址解码器

二进制解码器最常用于更复杂的数字系统中,以基于计算设备产生的“地址”访问特定的存储位置。在现代微处理器系统中,所需的内存量可能会很高,并且通常不止一个内存芯片。

 

克服此问题的一种方法是将许多独立的存储芯片连接在一起,并在公共“数据总线”上读取数据。为了防止同时从每个存储芯片“读取”数据,每个存储芯片一次要一个一个地选择,此过程称为地址解码。

 

在这种类型的应用中,地址代表编码数据输入,而输出则是特定的存储元件选择信号。每个存储芯片都有一个称为“ 芯片选择”或 CS 的输入,MPU(微处理器单元)使用它来在需要时选择合适的存储芯片。通常,片选(CS)输入上的逻辑“ 1” 选择存储设备,而输入上的逻辑“ 0”取消选择存储设备。

 

因此,通过一次选择或取消选择每个芯片,可以使我们为特定的地址位置选择正确的存储器地址设备。地址解码的优势在于,当我们指定特定的存储器地址时,相应的存储器位置仅存在于其中一个芯片中。

 

例如,让我们假设我们有一个非常简单的微处理器系统,仅具有 1Kb(一千个字节)的 RAM 存储器和 10 条可用的存储器地址线。该存储器由 128×8 位(128×8 = 1024 字节)设备组成,对于 1Kb,我们将需要 8 个单独的存储芯片,但是为了选择正确的存储芯片,我们还需要 3 至 8 行二进制解码器如下所示。

 

内存地址解码


二进制解码器仅需要 3 条地址线(A 0 至 A 2)来选择 8 个芯片中的每个芯片(地址的下部),而其余 8 条地址线(A 3 至 A 10)则选择正确的存储器该芯片上的位置(地址的上部)。

 

使用地址总线选择存储位置后,特定内部存储位置上的信息将发送到公共“数据总线”以供微处理器使用。这当然是一个简单的示例,但是对于所有类型的存储芯片或模块,其原理均相同。

 

二进制解码器是将一种数字格式转换为另一种数字格式的非常有用的设备,例如将二进制或 BCD 类型的数据转换为十进制或八进制等,常用的解码器 IC 是 TTL 74LS138 3 至 8 行二进制解码器或 74ALS154 4 至 16 线解码器。