绝对式光电编码器基本构造及特点(2)

2018-12-29 20:52

从表 1-1 种可以得出,十进制数N 与n 位二进制码满足以下关系:

可见,二进制码由于是有权码,满足(1-4)的关系,而格雷码是无权码,不满足(1-4)的关系。它与所对应的角度不存在类似(1-3)的关系,因此必须找出循环码和二进制码之间的对应关系和相互转换规则。 (2)二进制码转换成制格雷码

二进制码转换成制格雷码,其法则是保留二进制码的最高位作为格雷码的最高位,而次高位格雷码为二进制码的高位与次高位相异或,而格雷码其余各位与次高位的求法相类似。 图1-11 所示为二进制码转换成格雷码。

图 1-11 自然二进制码转换成二进制格雷码

图 1-12 为将二进制码转换为格雷码的电路图,其中图(a)为并行转换电路,图(b)

为串行转换电路。当采用串行电路时,工作之前先将D 触发器D1 置0,Q=0,在Ci 端送入C1,异或门D2 输出R1=C1○+ 0=C1,随后加CP 脉冲,使Q=C1;在Ci 端加入C2,D 输出R2=C2○+C1,以后重复上述过程,可以依次获得R1,R2,??,Rn。

(3)格雷码转换为二进制码

格雷码转换成二进制码,则是保留格雷码的最高位作为二进制码的最高位,而次高位二进制码为高位二进制码与次高位格雷码相异或,而二进制码的其余各位与次高位二进制码的求法相类似。图1-13 为将格雷码转换为二进制码的电路,其中图(a)为并行转换电路,图(b)为串行转换电路。当采用串行电路时,工作之前先将JK 触发器D 置0,Q=0,将R1同时加到J、K 端,再加入CP 脉冲后,Q=C1= R1。以后若Q 端为Ci-1 在J、K 端加入Ri。根据JK触发器的特性,若J、K为“1”则加入CP脉冲后, i 1 Q C ? = ;若J、K 为“0”则加入CP 脉冲后保持Q=Ci-1。这一逻辑关系可以写成:

图 1-13 格雷码转换为二进制码的电路

格雷码是无权码,采用格雷码盘获得的格雷码R1,R2,??,Rn 必须按图1-11 转换为对应的二进制码C1,C2,??,Cn 后,才能代入(1-3)式确定与之对应的角度。

(4)格雷码与二进制码互换的软件实现方法 (a)二进制码转换成格雷码的软件实现法

根据自然二进制转换成格雷码的法则,可以得到以下的代码: 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 控制程序中,也可以用于单片机控制程序中。在单片机程序设计时,若采用汇编语言编程,可以按相同的原理设计程序;若采用C 语言编程,则可以直接 利用上述代码,但建议用unsigned int 函数。 (b)软件实现法(参见示例工程中的 Gray to Binary )

根据二进制格雷码转换成自然二进制码的法则,可以得到以下的三种代码方式:

static unsigned int GraytoDecimal(unsigned int x) {

unsigned int 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^=x^1; return x; }

static unsigned int GraytoDecimal(unsigned int x) { int i;

for(i=0;(1<

x^=x>>(1<

//以上代码实现了unsigned int 型数据到自然二进制码的转换,最高可转换32 位格雷码,超出32 位将溢出。将数据类型改为int 型即可实现31 位格雷码转换。上述代码即可用于 VC 控制程序中,也可以用于单片机控制程序中。在单片机程序设计时,若采用汇编语言编程,可以按相同的原理设计程序;若采用C 语言编程,则可以直接利用上述代码,但建议用unsigned int 函数。


绝对式光电编码器基本构造及特点(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2015年度液压工程师总结

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: