版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、在精确定位控制系统中,为了提高控制精度,准确测量控制对象的位置是十分重要的。目前,检测位置的办法有两种:其一是使用位置传感器,测量到的位移量由变送器经A/D转换成数字量送至系统进行进一步处理。此方法精度高,但在多路、长距离位置监控系统中,由于其成本昂贵,安装困难,因此并不实用;其二是采用光电轴角编码器进行精确位置控制。光电轴角编码器根据其刻度方法及信号输出形式,可分为增量式、绝对式以及混合式三种。而绝对式编码器是直接输出数字量的传感器,它是利用自然二进制或循环二进制(格雷码)方式进行光电转换的,编码的设计一般是采用自然二进制码、循环二进制码、二进制补码等。特点是不要计数器,在转轴的任意位置都可
2、读出一个固定的与位置相对应的数字码;抗干扰能力强,没用累积误差;电源切断后位置信息不会丢失,但分辨率是由二进制的位数决定的,根据不同的精度要求,可以选择不同的分辨率即位数。目前有10位、11位、12位、13位、14位或更高位等多种。其中采用循环二进制编码的绝对式编码器,其输出信号是一种数字排序,不是权重码,每一位没有确定的大小,不能直接进行比较大小和算术运算,也不能直接转换成其他信号,要经过一次码变换,变成自然二进制码,在由上位机读取以实现相应的控制。而在码制变换中有不同的处理方式,本文着重介绍二进制格雷码与自然二进制码的互换。 一、格雷码(又叫循环二进制码或反射二进制码)介绍 在数字系统中只
3、能识别0和1,各种数据要转换为二进制代码才能进行处理,格雷码是一种无权码,采用绝对编码方式,典型格雷码是一种具有反射特性和循环特性的单步自补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性使得求反非常方便。格雷码属于可靠性编码,是一种错误最小化的编码方式,因为,自然二进制码可以直接由数/模转换器转换成模拟信号,但某些情况,例如从十进制的3转换成4时二进制码的每一位都要变,使数字电路产生很大的尖峰电流脉冲。而格雷码则没有这一缺点,它是一种数字排序系统,其中的所有相邻整数在它们的数字表示中只有一个数字不同。它在任意两个相邻的数之间转换时,只有一个数位发生变化。它大大地减
4、少了由一个状态到下一个状态时逻辑的混淆。另外由于最大数与最小数之间也仅一个数不同,故通常又叫格雷反射码或循环码。下表为几种自然二进制码与格雷码的对照表:十进制数自然二进制数格雷码十进制数自然二进制数格雷码000000000810001100100010001910011101200100011101010111130011001011101111104010001101211001010501010111131101101160110010114111010017011101001511111000二、二进制格雷码与自然二进制码的互换1、自然二进制码转换成二进制格雷码自然二进制码转换成二进制格
5、雷码,其法则是保留自然二进制码的最高位作为格雷码的最高位,而次高位格雷码为二进制码的高位与次高位相异或,而格雷码其余各位与次高位的求法相类似。2、二进制格雷码转换成自然二进制码 二进制格雷码转换成自然二进制码,其法则是保留格雷码的最高位作为自然二进制码的最高位,而次高位自然二进制码为高位自然二进制码与次高位格雷码相异或,而自然二进制码的其余各位与次高位自然二进制码的求法相类似。三、二进制格雷码与自然二进制码互换的实现方法1、自然二进制码转换成二进制格雷码 A)、软件实现法(参见示例工程中的 Binary to Gray) 根据自然二进制转换成格雷码的法则,
6、可以得到以下的代码: static unsigned int DecimaltoGray(unsigned int x) return x(x>>1); /以上代码实现了unsigned int型数据到格雷码的转换,最高可转换32位自然二进制码,超出32位将溢出。 static int DecimaltoGray( int x) return x(x>>1); /以上代码实现了 int型数据到格雷码的转换,最高可转换31位自然二进制码,超出31位将溢出。 上述代码即可用于VC控制程序中,也可以用于单片机控制程序中。在单片机程序设计时,若采用汇编语言编程,可以按相同的原理
7、设计程序;若采用C语言编程,则可以直接利用上述代码,但建议用unsigned int函数。 B)、硬件实现法根据自然二进制转换成格雷码的法则,可以得到以下电路图:上图所示电路图即可用异或集成电路74ls136实现,也可以利用可编程器件PLD等编程实现。 2、二进制格雷码转换成自然二进制码A)、软件实现法(参见示例工程中的 Gray to Binary )根据二进制格雷码转换成自然二进制码的法则,可以得到以下的三种代码方式: · static unsigned int GraytoDecimal(unsigned int x)· · unsigned in
8、t y = x;· while(x>>=1)· y = x;· return y;· · static unsigned int GraytoDecimal(unsigned int x)· · x=x>>16;· x=x>>8;· x=x>>4;· x=X>>2;· x=x1;· return x;· · static unsigned int GraytoDecimal(unsigned int x)· · int i;· for(i=0;(1<<i)<sizeof(x)*8;i+)· · x=x>>(1<<i);· · return x;· /以上代码实现了unsigned int型数据到自然二进制码的转换,最高可转换32位格雷码,超出32位将溢出。将数据类型改为int型即可实现31位格雷码转换。 上述代码即可用于VC控制程序中,也可以用于单片机控制程序中。在单片机程序设计时,若采用汇编语言
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保安班长述职报告范文(7篇)
- 中班第一学期个人计划范文
- 护理服务心得体会
- 中学秋季开学典礼校长致辞(13篇)
- 以感恩为题演讲稿合集7篇
- 洋葱幼儿课件教学课件
- 搜索命令大全
- 实习员工劳动合同-文书模板
- 影响居民健康主要危险因素评估
- 大班诚信课件教学课件
- 《地名、人名的拼写》教学设计
- 贸易居间费合同范本
- 五年级上册道德与法治第7课《中华民族一家亲》第2课时说课稿
- 部编版道德与法治七年级上册每课教学反思
- 人教版二年级数学上册第六单元《表内乘法(二)》说课稿(含14课时)
- CJT 482-2015 城市轨道交通桥梁球型钢支座
- 我国不锈钢管行业现状分析
- 2024年关于印发全国社会心理服务体系建设试点5篇
- 维修水池合同协议书
- 2024年中级经济师考试题库含答案(完整版)
- 高效餐饮服务承诺
评论
0/150
提交评论