格雷码的产生方式以及其与二进制码的关系

格雷码也是一种可以用来计数的编码方式,它在加1的过程中只有一位发生变化,这样就可以简化硬件实现,因此许多速度传感器,绝对位置传感器等会采用格雷码计数。 此外由于给雷码的特性,一次变化过程只改变一位,相比普通二进制计数,加1后可能变化多位,更加安全。因此在数字电路的状态机的状态计数采用格雷更加安全,且易于实现。

格雷码可以按照如下方式产生

0  取镜像 0 加符号  00   取镜像  00   加符号 000  。。。。。

1              1              01               01               001

               ---            ------

                1              11               11               011

                0              10               10               010

                                                 ---------         --------

                                                    10              110

                                                    11              111

                                                    01              101

                                                    00              100


格雷码与二进制码的关系

    某二进制数为 BnBn-1Bn-2.....B1B0

     某格雷码为    GnGn-1Gn-2.....G1G0

二进制到格雷码:

最高位:   

     Gn=Bn

其它位 Gi=(Bi+1)^(Bi);

格雷码到二进制:

最高位:   

     Bn=Gn

其它位 Bi=(Bi+1)^(Gi);



你可能感兴趣的:(嵌入式FPGA)