二进制解码器是另一个由各个逻辑门构成的组合逻辑电路,与编码器完全相反
名称“解码器”意味着从一种格式转换或解码编码信息因此,二进制解码器使用2 n 输出将“n”个二进制输入信号转换为等效代码。
二进制解码器是另一种类型的数字逻辑器件,具有2位,3位或4位代码的输入,具体取决于数据输入线的数量,因此具有两位或更多位的解码器将被定义为具有 n 位代码,因此可以表示2个 n 可能的值。因此,解码器通常通过将其 n 输出中的一个精确地设置为逻辑“1”来将二进制值解码为非二进制值。
如果二进制解码器接收 n 输入(通常分组为单个二进制或布尔数),它根据所有其他输入激活其中一个且只有一个 2 n 输出输出已停用。
因此,例如,逆变器( NOT-gate )可归类为1- to-2二进制解码器可以作为1输入和2输出(2 1 )是可能的,因为输入 A 它可以产生两个输出 A 和 A (非-A)如图所示。
然后我们可以说标准组合逻辑解码器是 n-to-m 解码器,其中m≤2 n ,其输出 Q 仅取决于其当前输入状态。换句话说,二进制解码器查看其当前输入,确定其输入端存在哪个二进制代码或二进制数,并选择与该二进制输入相对应的适当输出。
二进制解码器将编码输入转换为编码输出,其中输入和输出代码不同,解码器可用于“解码”二进制或BCD(8421代码)输入模式,通常为十进制输出代码。通常可用的BCD到十进制解码器包括TTL 7442或CMOS 4028.通常,解码器输出代码通常具有比其输入代码更多的位,并且实际的“二进制解码器”电路包括2到4,3到8和4到16行配置。
2到4行解码器及其真值表的一个例子如下:
2到4二进制解码器
上面这个简单的例子2到4行二进制解码器由四个 AND 门组成。标记为 A 和 B 的2个二进制输入被解码为4个输出之一,因此描述了2到4个二进制解码器。每个输出代表2个输入变量的一个miniterms(每个输出=一个miniterm)。
二进制输入 A 和 B 确定哪个 Q0 到 Q3 的输出线在逻辑电平“1”处于“高电平”,而其余输出在逻辑“0”处保持“低电平”,因此只有一个输出可以是任何时候都有效(HIGH)。因此,无论哪个输出线为“高”都标识输入处存在的二进制代码,换句话说,它“解码”二进制输入。
某些二进制解码器有一个标记为“启用”的附加输入引脚,用于控制器件的输出。这个额外的输入允许解码器输出根据需要变为“ON”或“OFF”。这些类型的二进制解码器通常用作微处理器存储器应用中的“存储器地址解码器”。
74LS138二进制解码器
我们可以说二进制解码器是一个多路分解器,带有一条额外的数据线,用于启用解码器。查看解码器电路的另一种方法是将输入 A , B 和 C 视为地址信号。 A , B 或 C 的每个组合都定义了一个唯一的内存地址。
我们已经看到了2-to -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到3实现了更大的4(3个数据加1个使能)到16行二进制解码器。 8个解码器。
4到16二进制解码器配置
输入 A,B,C 用于选择任一解码器上的哪个输出处于逻辑“1”(HIGH),输入 D 与使能输入一起使用以选择哪个编码器第一个或第二个将输出“1”。
然而,可用于一个特定解码器的输入数量有限制,因为 n 增加,产生输出所需的 AND 门的数量也变得更大,导致用于驱动它们的门的扇出变大。
Thi只需使用逆变器,( NOT Gates )和 AND 门即可实现有源 - “HIGH”解码器的类型。使用 AND 门作为输出的基本解码元件很方便,因为只有当它的所有输入都是逻辑“1”时才会产生“HIGH”或逻辑“1”输出。
但是一些二进制解码器是使用 NAND 门而不是 AND 门构建的,用于解码输出,因为 NAND 门比较便宜产生比 AND ,因为它们在设计中需要更少的晶体管来实现。
使用 NAND 门作为解码元件,导致激活 - “低”输出,其余输出为“高”。当 NAND 门产生具有反相输出的 AND 操作时, NAND 解码器使用其反转真值表看起来像这样。
2到4线NAND二进制解码器
然后用于 NAND 解码器,在任何给定时间只有一个输出可以为低电平且等于逻辑“0”,所有其他输出在逻辑“1”时为高电平。
解码器还可以使用附加的“启用”输入引脚,通过分别对其应用逻辑“1”或逻辑“0”,允许解码输出“开”或“关”。因此,例如,当使能输入处于逻辑电平“0”时,(EN = 0)所有输出在逻辑“0”(对于AND门)处于“OFF”,而不管输入的状态 A 和 B 。
通常要实现此启用功能,2输入 AND 或 NAND 门将替换为3输入 AND 或 NAND 门。附加输入引脚代表使能功能。
存储器地址解码器
二进制解码器最常用于更复杂的数字系统,以访问特定的存储器位置基于计算设备产生的“地址”。在现代微处理器系统中,所需的存储器量可能非常高,并且通常只有一个以上的单个存储器芯片。
克服这个问题的一种方法是将许多单独的存储器芯片连接在一起并读取常见“数据总线”上的数据。为了防止数据同时从每个存储器芯片“读取”,每个存储器芯片被单独选择一个,这个过程称为地址解码。
在这种类型的应用中,地址代表编码数据输入,输出是特定的存储元件选择信号。每个存储器芯片具有称为芯片选择或CS的输入,MPU(微处理器单元)使用该输入以在需要时选择适当的存储器芯片。通常,芯片选择( CS )输入上的逻辑“1”选择存储器件,而输入上的逻辑“0”取消选择它。
所以通过选择或一次取消选择一个芯片,允许我们为特定的地址位置选择正确的存储器地址设备。地址解码的优点是,当我们指定一个特定的存储器地址时,相应的存储器位置只存在于其中一个芯片中。
例如,Lets假设我们有一个非常简单的微处理器系统,只有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线路解码器。它们对于连接7段显示器非常有用,例如TTL 74LS47,我们将在下一个教程中查看。
全部0条评论
快来发表一下你的评论吧 !