请输入您要查询的百科知识:

 

词条 格雷码计数器
释义

简介

格雷码计数器(Gray counter)是为了在异步时钟域之间传递计数结果而用到的计数器,因为格雷码计数器计数时相邻的数之间只有一个bit发生了变化,例如:000-001-011-010-110-111-101-100。

用途

一般的,普通二进制码与格雷码可以按以下方法互相转换:

二进制码->格雷码(编码):从最右边一位起,依次将每一位与左边一位异或(XOR)(http://bk.7tmusic.com/lemma-php/dispose/view.php/379209.htm),作为对应格雷码该位的值,最左边一位不变(相当于左边是0);

格雷码-〉二进制码(解码):从左边第二位起,将每位与左边一位解码后的值异或,作为该位解码后的值(最左边一位依然不变).

数学(计算机)描述:

原码:p[0~n];格雷码:c[0~n](n∈N);编码:c=G(p);解码:p=F(c);书写时从左向右标号依次减小.

编码:c=p XOR p[i+1](i∈N,0≤i≤n-1),c[n]=p[n];

解码:p[n]=c[n],p=c XOR p[i+1](i∈N,0≤i≤n-1).

Gray Code是由贝尔实验室的Frank Gray在20世纪40年代提出的(是1880年由法国工程师Jean-Maurice-Emlle

Baudot发明的),用来在使用PCM(Pusle Code Modulation)方法传送讯号时避免出错,并于1953年3月17日取得美国专利。由定义可知,Gray Code的编码方式不是唯一的,这里讨论的是最常用的一种。 (引用自百度http://baike.baidu.com/view/358724.htm)

所以,在设计格雷码计数器的时候可以使用状态机,给每个码设定一个状态然后用时钟来控制它在状态间转换,这样就完成了我们需要的功能,但是若是状态比较多,如n=6,这时就会有64个状态,显然再用状态机非常不方便,当然理论上是可以的。

限制

用karnaugh化简也是限制在位数比较少的情况。

所以我们需要的是一种通用的计数方式,最笨办法就是设计一个二进制计数器binary counter,通过它来计数,然后利用binary -gray的编码就可以得到对应的格雷码计数器,在如今fpga资源那么充裕的情况下,我们学习这样完全可以了,相信二进制计数器大家都会设计,那么接下来的编码器也不是问题,这样就解决了。

当然这不是一个好的方法,希望高人们说说自己的思路。

学习嘛,一起进步。

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/3/23 16:21:36