编码器

编码器是一种把熟悉的数字、字符或符号转换成编码格式的装置。它接受字母字符和十进制数字作为输入,并将输出作为输入的编码表示产生。它将给定的信息编码成更紧凑的形式, 换句话说,它是一个执行与解码器相反功能的组合电路。它们主要用于减少表示给定信息所需的比特数。在数字系统中,编码器主要用来传输信息,以使传输链路使用更少的线路来传输编码信息。此外,这些编码器用于对数据进行编码,以备以后使用,因为它便于在可用空间上存储更少的位。让我们讨论各种类型的二进制编码器。

1. 功能

1.1 二进制编码:

一个二进制编码器有2n个输入行和n个输出行,因此它将2n个输入的信息编码成一个n位码。在所有的输入行中,一次只有一个输入行被激活,根据输入行,它产生n位的输出代码。 下图为二进制编码器的框图,由2n条输入线和n条输出线组成。它将十进制数转换为二进制数。

编码器的输出行对应于输入值的二进制的真等效或BCD编码形式。其中一些二进制编码器包括十进制到二进制编码器、十进制到八进制、八进制到二进制编码器、十进制到BCD编码器等。

根据输入行数,数字或二进制编码器产生2位、3位或4位编码形式的输出码

1.2 4到2位二进制编码器

4输入编码器的框图和真值表如下图所示。真值表由四行组成,因为它假设只有一个输入值是1,那么与启用的输入相关联的相应二进制代码将在输出中显示。 从表中可以看出,当输入w1或w3为1时,输出Yo为1;当输入w2或w3为1时,输出Y1为1。 4- 2编码器的输出由一组OR门实现的逻辑电路产生,如下图所示。在图a中,如果激活的输入是Io输入(Io = 1),或者没有激活的输入,即所有的输入为零,编码器的输出是相同的。 这将导致编码输出中的歧义。为了避免这种歧义,可以将有效的encode输出添加为额外输出,因此当Io等于1时,该输出假定值为1。

1.3 十进制到BCD编码器

这种编码器通常由10个输入行和4个输出行组成。每个输入行对应每个十进制数字,4个输出对应BCD代码。 该编码器接受解码后的十进制数据作为输入,并将其编码为输出行上可用的BCD输出。 下图显示了十进制到BCD编码器的基本逻辑符号及其真值表。真值表表示每个十进制数字的BCD代码。 由此我们可以得出BCD位和十进制数之间的关系。重要的是要注意,小数零没有显式的输入行。当这种情况发生时,即十进制输入1到9都为零,则BCD输出为0000。

从上表中,我们得到如下表达式:

y = d8 + d9

y = d4 + d5 + d6 + d7

y = d2 + d3 + d6 + d7

y = d1 + d3 + d5 + d7 + d9

由以上表达式,可以使用一组OR门来实现十进制到BCD编码器的逻辑电路,如下图所示。

1.4 八进制到二进制编码器

八进制到二进制编码器由8个输入行和3个输出行组成。每个输入行对应每个八进制数字,三个输出生成相应的二进制代码。 在编码器中,假定在任何给定时间只有一个输入是有源的或值为1,否则电路就没有意义。下图显示了八进制到二进制编码器的逻辑符号及其真值表。

从上表中,如果数字D4、D5、D6或D7中任何一个是1,输出Y2就变成1。因此,它的表达式为

y = d4 + d5 + d6 + d7

同理,Y1 = D2 + D3 + D6 + D7

Y0 = d1 + d3 + d5 + d7

还可以观察到,D0在任何表达式中都不存在,因此它被认为是不关心。从上面的表达式,我们可以实现八进制到二进制编码器使用一组OR门如下图所示。

在八进制到二进制编码器中有歧义,当所有的输入都为零时,产生的输出都是0。同样,当Do为1时,生成的输出为零。这是这类编码器的一个主要问题。这可以通过指定一个条件来解决,即没有一个输入是活动的,有一个额外的输出。

2. 符号

logic_encoder_symbol.png

3. 工作原理

4. 编码器示例

5. 应用

编码器是所有数字系统中非常常见的电子电路。在袖珍计算器的情况下,这些是用来转换十进制值为二进制,以执行二进制的功能,如加法,减法,乘法等。 这些也被用来产生数字信号响应的运动,分为轴编码器和线性编码器。让我们简要讨论编码器的键盘应用。

当按下与其中一个小数点数字相对应的键时,所选的二极管被正电压正向偏置,这些二极管被连接到S-R触发器的设置和复位端子。二极管的排列方式是这样的,每个触发器设置或复位,以产生4位BCD代码。 假设按下十进制数字7对应的键,连接Q4、Q2和Q1的S输入端的二极管正向偏置,连接Q8的R输入端的二极管也正向偏置。因此,输出的BCD代码是0111。 从编码器的逻辑图可以看出,在每个S和R输入端的二极管配置实质上是一个二极管或门。这种类型的二极管矩阵编码器用于印刷电路板上的许多电子设备的键盘作为用户数据接口。

键盘编码器

这种类型的编码器函数是生成与键盘上按下的字母数字字符键相对应的二进制代码。下图显示了一个键盘编码器使用一个二极管矩阵来编码BCD代码中的10位十进制数字。在该电路中,BCD数据存储在S-R触发器中。

  • 光电编码器

rotary_switch_block.png

  • 键盘
  • ADC
  • BCD

5. 相关技术文章