灰色代码:二进制到灰色代码转换器

什么是灰色代码?

格雷码-也称为循环码反映了二进制代码(红细胞),反映了二进制(RB)或灰色的代码定义为二进制数字系统的一种排序,使每个增量值只能相差一位。在灰色码中,当从一个步骤到另一个步骤时,码组中只有一个位改变。也就是说,两个相邻的码数之间只相差一位。

灰色码是目前最常用的单位距离码,但它不适合用于算术运算。格雷码在模拟到数字转换器以及数字通信中的纠错中都有一定的应用。灰色代码一开始可能很难理解,但当查看下面的灰色代码表时,理解起来就容易多了。

格雷码表

二进制码到灰色码和十进制到灰色码的转换如下表所示:

格雷码表

二进制到灰色代码转换器

将二进制码转换为等效灰码的逻辑电路称为二进制到灰色码转换器.一个n位灰码可以通过将一个n-1位码反射到2之后的一个轴上得到n - 1行并将MSB(最高有效位)的0放在轴的上方,MSB的1放在轴的下方。灰色代码的反射如下图所示。

4位二进制到灰码的转换表如下:

二进制到灰色代码转换器

这意味着,在4位灰码中,(4-1)或3位码在(24 - 1th或8th行。

二进制到灰度码的转换电路如下图所示:

BCD呼叫Gray Code

如何转换二进制到灰色代码

  1. 灰色码的MSB(最高有效位)将完全等于给定二进制数的第一个位。
  2. 代码的第二位将是给定二进制数的第1位和第2位的异或(XOR),即如果这两个位相同,结果将是0,如果它们不同,结果将是1。
  3. 灰色码的第三位将等于给定二进制数的第二和第三位的异或(异或)。因此二进制码到灰色码的转换进行。下面给出一个示例来说明这些步骤。

二进制到灰色代码转换示例

假设我们有一个二进制数01001,我们希望将其转换为灰色代码。让我们通过一个示例来演示如何执行这种转换:

  1. MSB保持不变。由于二进制码的MSB为0,因此灰色码的MSB也为0(第一个灰色位)
  2. 接下来,取第一个和第二个二进制位的异或。第一位是0,第二位是1。位是不同的,因此合成的灰色位将是1(第二个灰色位)
  3. 接下来,取第二个和第三个二进制位的异或。第二位是1,第三位是0。这些位也是不同的,因此合成的灰色位将是1(第三个灰色位)
  4. 接下来,取第三和第四个二进制位的异或。第三位是0,第四位是0。因为这些是相同的,所以结果的灰色位将是0(第四个灰色位)
  5. 最后,取第四个和第五个二进制位的异或。第4位是0,第5位是1。这些位是不同的,因此合成的灰色位将是1(第五个灰色位)
  6. 由此完成了01001的二进制到灰度码的转换,其等效灰度码为01101。
格雷码转换器

灰色到二进制代码转换器

在一个灰色到二进制代码转换器,输入为灰码,输出为等价的二进制码。

让我们考虑一个4位的灰色到二进制代码转换器。要设计一个4位灰码到二进制的转换器,我们首先要画一个灰码转换表,如下图所示:

二进制到灰色码真值表

灰码到二进制的转换电路如下图所示:

灰色到二进制码转换电路

格雷码到二进制的转换

灰码到二进制的转换也是一个非常简单的过程。下面的步骤可以让你对这种类型的转换有更清晰的认识。

  1. 二进制数的MSB将等于给定灰码的MSB。
  2. 现在,如果第二个灰色位是0,那么第二个二进制位将与前一个或第一个位相同。如果灰色位为1,第二个二进制位将改变。如果它是1,它就是0,如果它是0,它就是1。
  3. 这一步是继续为所有位做灰码到二进制的转换
格雷码二进制化

下面给出的一个例子会让你的想法更清晰。

灰色代码到二进制转换示例

二进制的MSB为0,因为灰色的MSB为0。现在转到下一个灰色部分。因为它是1前一个二进制位会改变,即它将是1,因此第二个二进制位将是1。接下来看看灰色代码的第三位。它还是1,因此前面的位即第二个二进制位将再次改变,而二进制数的第三位将是0。现在,给定的灰色的第4位是0,所以前一个二进制位将不变,即第4位将是0。现在,第5个灰色位是1,因此前一个二进制位会改变,它将从0变为1。因此,在灰码转换为二进制的情况下,等价的二进制数将是(01001)。

二进制,灰色
二进灰转换器
4位二进制到灰色码转换器
BCD呼叫灰色密码
灰色到二进制转换
二进灰色公式

Gray Code示例序列

  1. 格雷码只能从上一步到下一步改变一位。位的变化总是从右到左,即从LSB(最低有效位)到MSB(最高有效位)。
  2. 我们知道对于二进制数字有两种可能的组合- 0和1。按照我们的规则,我们首先瞄准LSB(右侧)。因此前三位保持不变(即000),第四位从0变到1。这是相当于1的小数。
  3. 现在从LSB移动到下一个位,即第三位。现在我们将这个位从0改为1,相当于2(0011)的小数。注意,不像二进制,我们不能从0001到0010,因为这是同时改变第3位(0到1)和第4位(1到0)。
  4. 现在,为了从0011开始递增,我们从LSB(右边)开始,注意到到目前为止我们还没有看到组合0010。因此,我们保持前三位不变,并将最后一位从1改为0。因此十进制数3的灰色代码是0010
  5. 遍历下一个代码。我们不能改变第3位或第4位,因为我们已经看到这些组合之前。因此,我们继续移动到第二位,把它从0变成1。这将十进制数4用灰色代码表示为0110。你可能会问,为什么我们不能再次改变第三位,这也是一个1位的变化。但是,由于改变第三位将给出等价的灰色代码0000,它已经发生在前面(十进制数0),我们不能这样做。记住,前面出现的数字不能重复。
  6. 重复前面的步骤,我们将保持第1位和第2位不变,并通过在每一步中只改变1位来找到第三位和第4位的可能组合。从第4位开始,因为这是LSB。

将4位灰色码的比特视为G4G3.G2G1.从转换表中,

格雷码

从上面的标准操作规程(产品的总和),我们来画卡诺图的地图(K-maps) G4G3.G2,和G1

灰度代码K映射
二进制码K映射
灰色的地图
灰色码到二进制

格雷码的应用

灰色代码用于一些特定的应用。主要应用包括用于模拟到数字转换器,以及用于数字通信中的错误校正。在将模拟信号转换为数字信号的过程中,采用灰色码来减少误差。

弗兰克·格雷——格雷代码是以他的名字命名的——为脉冲编码调制(PCM)管申请了专利。这个PCM管是由贝尔实验室的Raymond W. Sears(与Frank Gray和William M. Goodall合作)制造的,他将反射二进制代码(即灰色代码)的想法归功于Gray。你可以读一读电视采用脉冲编码调制

灰色代码的其他一些应用:

  • 布尔电路最小化
  • 时钟域间通信
  • 误差修正
  • 遗传算法
  • 数学谜题
  • 位置编码器

格雷码的优点

  • 更适用于将模拟信号转换为数字信号时的误差最小化
  • 减少“汉明墙”(一种不希望出现的状态)的出现遗传算法
  • 可以用来最小化一个逻辑电路吗
  • 在时钟域交叉中有用

格雷码的缺点

  • 不适合算术运算
  • 有限的实际使用,除了一些特定的应用
想学得更快?
每周把电子产品送到你的收件箱。
不需要信用卡,100%免费。

关于Elec英雄联盟菠菜apptrical4U

英雄联盟菠菜appElectrical4U致力于与电气和电子工程相关的所有东西的教学和分享。

留下你的评论