- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
格雷码来源以及格雷码应用
格雷码来源以及格雷码应用 【摘 要】简述了格雷码的来源和发展历史,介绍了格雷码的轴角编码器的输出原理,以及格雷码的两大特点,一是数与数之间都只发生一位跳变,二是在利用格雷码计数器时会降低功耗。另外介绍了格雷码与二进制之间的两种转换方法:公式法和查表法;以及格雷码计数器的应用中出现的毛刺状态和格雷码计数器的应用原理
【关键词】格雷码;格雷码计数器;毛刺;轴角编码器
1 格雷码来源
格雷编码在被工程师所熟知之前一直应用于机械应用。1878年,法国工程师Emile Baudot在运用电报的过程中使用了格雷编码。他因此也获得了法国荣誉军团勋章。但是在当时格雷编码并不适用于所有地方,比如脉冲编码调制的原则就不符合格雷编码的原理
Frank Gray ,贝尔实验室的研究员,发明了一种方法使用真空座装置将模拟信号转化为格雷编码。1953年,这个方法和装置被Frank Gray申请专利,于是这个编码被命名为格雷码[1]。其中利用了轴角编码器将格雷码输出,编码器是附接到旋转轴的圆盘,圆盘包含了对于二进制1是透明的区域和对于二进制0是不透明的区域,光源放置在?A盘的一侧,传感器在圆盘另一侧。当光源和传感器之间出现清晰的区域时,传感器以二进制1输出;出现不透明区域时,传感器以二进制0输出
格雷码是一种无权码,其编码特点是任意两相邻代码间只有一位数码不同,这对数码的传输有很大的帮助,因为他大大减少了由一个状态到下一个状态时电路中的模糊状态,提高了电路的抗干扰能力,所以格雷码是一种错误最小化的编码
格雷码的显著特点是所表示的数递增时不发生较大误差。例如,当十六进制数由7变为8时,若采取的是二进制码,则其编码将由0111变为1000。此时,四位二进制状态都发生变化,对于实现二进制码的具体设备而言,其四位设备状态不可能同时发生改变,于是有可能出现下列情况:7(0111),5(0101),4(0100),12(1100),8(1000)。尽管最终结果是从7(0111)变到8(1000),但出现错误的中间转换过程。若无措施禁止这些中间错误输出,则会发生较大误差。若采用格雷码,则不会产生这种误差。因当十六进制数由7变为8时,其对应的格雷码将从0100变为1100,只有一位二进制数发生改变,也无中间错误结果出现
格雷码的另一个特点是在工作计数状态时,每次都只有一位发生跳变,跳变的次数远远少于二进制计数器,所以使用格雷码计数器可以大大降低系统的功耗。对于表1,我们很清楚的看出来,在从0-8的转变中,格雷码计数器发生了8位改变,而二进制计数器发生了14位的改变。因此,如果采用CMOS电路,功耗主要产生在电路状态的切换处,在格雷码的计数器输出端消耗的功率仅为二进制计数器输出消耗的功率的57%
表1 二进制计数器和格雷码计数器的比较
2 格雷码与二进制码的转换
因为格雷码是一种无权码,并且在工程上有广泛的应用,这都要进行格雷码和二进制码的转换。通过软件转换则会降低运算速度,用硬件方法转换数据,使数据能得到即时转换,运算过程较为简捷,加快了处理速度。用异或逻辑门芯片及电阻网络组成转换电路很容易实现格雷码和二进制码的转换,但成本比较高。因此在对速度要求不是很高的地方一般都用软件方法来实现
软件转换有多种方法:
2.1 公式法
格雷码转换为二进制码的算法则较为繁琐,如下:
Rn为n位的格雷码,Cn为转换后的二进制码
Cn = Rn
Cn-1 = Rn?Rn-1
Cn-2 =Rn?Rn-1?Rn-2
……
C1 = Rn?Rn-1?Rn-2?…?R2?R1,
C0 = Rn?Rn-1?Rn-2?…?R2?R1?R0
2.2 查表法
最简单的一种方法,根据传输位数,建立二进制码和格雷码一一对应的表格,例如列出一个长度为2048个码组的各类码表,每组码的长度为11位,为方便查表,每一码组占用两个字节,码表共占用4KB的程序空间。程序设计的核心是通过循环查表指令把格雷码转换为二进制码,再将二进制码转换成BCD码和显示码,但如果码组太多,系统的程序空间也会相应增大,单片机必须扩展外部程序存储器。同时查表指令的循环次数也相应增加,大大增加了译码的时间
3 格雷码的应用
从广义上来说,寄存器是由一系列的触发器和组合门电路组成,用来执行数据处理任务。触发器保存数据,组合门电路是确定要传送到触发器中的新的或变换的数据。而计数器是在施加时钟脉冲时经过预定的状态序列的寄存器,他的门电路以产生规定的二进制状态序列的方式连接
计数器在数字系统中应用广泛,如在电子计算机的控制器中对指令地址进行计数,以便顺序取出下一条指令;在数字仪器中对脉冲的计数等等。计数器可以用来显示产
文档评论(0)