先决条件 –数字系统和基数转换
格雷码系统是一种二进制数系统,其中每对连续的数字只有一位不同。它用于硬件生成的正常二进制数序列在从一个数转换到下一个数期间可能产生错误或歧义的应用中。
例如,系统的状态可能会从 3(011) 变为 4(100) 为- 011 — 001 — 101 — 100。因此,当系统从初始状态更改时,很可能会读取错误状态到最终状态。
这可能会对使用该信息的机器造成严重后果。格雷码消除了这个问题,因为在两个数字之间的任何转换过程中只有一位改变其值。
将二进制转换为格雷码 –
让是表示二进制数的位,其中是 LSB 和是 MSB,并且
让是表示二进制数的格雷码的位,其中是 LSB 和是 MSB。
转换的真值表是-
为了找到相应的数字电路,我们将对每个格雷码位使用 K-Map 技术作为输出,并将所有二进制位作为输入。
K图为 ——
K图为 ——
K图为 ——
K图为 ——
对应于格雷码位的最小化布尔表达式 –
对应的数字电路——
将格雷码转换为二进制 –
可以以类似的方式将格雷码转换回二进制。
让是表示二进制数的位,其中是 LSB 和是 MSB,并且
让是表示二进制数的格雷码的位,其中是 LSB 和是 MSB。
真值表——
使用 K-map 从格雷码中取回二进制位——
K图为 ——
K图为 ——
K图为 ——
K图为 ——
对应的布尔表达式——
对应的数字电路——
参考 –
数字设计,第 5 版,Morris Mano 和 Michael Ciletti