一种自纠错绝对值编码器数据传输方法技术

技术编号:33875737 阅读:30 留言:0更新日期:2022-06-22 17:03
本发明专利技术涉及传感器领域,具体地,涉及一种编码器与驱动器数据传输过程中,位置数据自纠错的方法。包括以下步骤:编码器将原始位置数据转换为自纠错码;驱动器对自纠错码进行校验;若自纠错码的校验结果正确,则驱动器将自纠错码恢复为原始位置数据进行传输;否则,驱动器对自纠错码进行纠错并修正,将修正后的自纠错码恢复为原始位置数据进行传输。通过本发明专利技术可以使编码器发出的原始绝对位置数据获得自纠错能力,即使发生错误,也可以通过纠错恢复原始数据,提高伺服驱动系统的稳定性。提高伺服驱动系统的稳定性。提高伺服驱动系统的稳定性。

【技术实现步骤摘要】
一种自纠错绝对值编码器数据传输方法


[0001]本专利技术涉及传感器领域,具体地,涉及一种编码器与驱动器数据传输过程中,位置数据自纠错的方法。

技术介绍

[0002]精密数控机床、工业机器人等现代化工业化设备的快速发展,对伺服驱动系统提出了越来越高的要求。在伺服驱动系统中,角度编码器作为位置检测装置,对伺服驱动系统的精度和可靠性有重要影响。
[0003]现有的绝对值编码器在传输位置数据时通常会带校验部分,如CRC或其他校验方法,若校验错误,则驱动器丢弃此数据。这种做法的缺点是,诸如CRC之类的校验方法只能发现错误,不能纠正错误。一旦出现错误,至少在一个通信周期内,驱动器得不到编码器反馈的位置数据,导致伺服驱动系统稳定性下降。
[0004]在伺服驱动系统中,绝对值编码器需要将测量到的绝对位置数据发送给驱动器。在编码器与驱动器的通信过程中,有可能因外界干扰产生误码,导致驱动器接收到错误的绝对位置信息,进一步导致驱动器对电机的控制出现错误,这会对伺服驱动系统的性能造成严重影响。
[0005]为了解决以上问题,通常的绝对值编码器在传输数据时额外添加一个byte的CRC校验数据。驱动器在收到编码器发送的绝对位置数据后,对此数据进行CRC校验,如果校验结果正确,驱动器继续执行运算程序;如果校验结果错误,则驱动器使用上一次编码器传输的绝对位置值进行本次计算。
[0006]这种方法的缺点是,一旦驱动器与编码器在数据传输过程中因外界干扰产生误码,驱动器将无法获得准确的绝对位置值。虽然可以使用编码器上次发送的绝对位置数据进行程序运算,降低因误码造成严重错误,但依然会导致伺服驱动系统性能下降。

技术实现思路

[0007]为了克服传统方法的缺点,本专利技术提出一种新的自纠错绝对值编码器数据传输方法。这种方法不但可以和传统方法一样,对错误进行校验,还可以针对错误进行纠错。即使驱动器与编码器在数据传输过程中遇到干扰,导致驱动器接收到的绝对位置值错误,也可以通过纠错一定程度上恢复正确的绝对位置值。使用这种具备自纠错功能的数据传输方法,可以大大降低驱动器在一个控制周期内无法接收到绝对位置数据的可能性,提高伺服驱动系统的稳定性。
[0008]本专利技术为实现上述目的所采用的技术方案是:
[0009]一种自纠错绝对值编码器数据传输方法,包括以下步骤:
[0010]编码器将原始位置数据转换为自纠错码;
[0011]伺服驱动器对自纠错码进行校验;
[0012]若自纠错码的校验结果正确,则驱动器将自纠错码恢复为原始位置数据进行传
输;否则,驱动器对自纠错码进行纠错并修正,将修正后的自纠错码恢复为原始位置数据进行传输。
[0013]所述编码器将原始位置数据转换为自纠错码具体为:
[0014]编码器在n位的原始位置数据中插入p位的校验位,构成n+p位的自纠错码;
[0015]编码器对插入校验位的原始数据进行编码,得到自纠错码。
[0016]所述校验位的位数p满足条件2
p

1>n+p,取满足条件的p的最小值作为校验位的位数。
[0017]所述编码器对插入校验位的原始数据进行编码具体为:
[0018]确定每一位检验码的位置:第k位校验码所处位置为自纠错码的第2
k
‑1位,1≤k≤p;
[0019]确定每一位校验码的结果:第k位校验码的计算方式为:从第k位校验码所在位置开始,每隔2
k
‑1位,取2
k
‑1位,计算所有取出位的值的异或值,即为该位校验码的结果。
[0020]所述驱动器对自纠错码进行校验具体为:
[0021]从第k位校验码所在位置开始,每隔2
k
‑1位,取2
k
‑1位,1≤k≤p,作为一个校验组,计算该组校验组中所有位的值的异或值,若结果为0,则该组校验组无错误;当所有校验组的结果均为0,则自纠错码无错误。
[0022]所述驱动器对自纠错码进行纠错并修正具体为:
[0023]将插入带有校验码结果自纠错码,从第k位校验码所在位置开始,每隔2
k
‑1位,取2
k
‑1位,1≤k≤p,作为一个新的校验组,计算该组校验组中所有位的值的异或值;
[0024]按顺序将每组新的校验组的异或构成一个二进制数,将该二进制数转换为十进制,转换后的值即为自纠错码错误的位数;
[0025]将错误位数的值取反,完成错误修正。
[0026]本专利技术具有以下有益效果及优点:
[0027]1.本专利技术将自纠错编码方式应用于绝对值编码器数据传输,使驱动器对编码器发送的数据具备一定的纠错能力。
[0028]2.本专利技术在不改变硬件和接线方式的前提下,提高了绝对值编码器的抗干扰能力。
[0029]3.本专利技术只定义应用层的数据编码方式,物理层不变,不增加额外的硬件成本。
[0030]4.本专利技术在提高数据纠错能力的前提下,不增加数据传输延时。
[0031]5.本专利技术可以使用驱动器自带的串行通信接口读取数据。
附图说明
[0032]图1为自纠错码传输过程图;
[0033]图2为自纠错码校验码位置图;
[0034]图3为发生错误的自纠错码图。
具体实施方式
[0035]下面结合附图及实施例对本专利技术做进一步的详细说明。
[0036]通常编码器的通信协议使用CRC作为校验手段,CRC只有校验能力,没有纠错能力。
[0037]一旦发生错误,则在本周期内驱动器只能使用上次得到的绝对位置值进行计算,导致性能下降。
[0038]为了解决这一问题,采用一种新的绝对值编码器的数据传输方式,对编码器向驱动器传输的绝对位置数据重新编码,使其得到自纠错能力。即使在传输过程中发生错误,驱动器也可以一定程度上通过计算恢复原本的绝对位置值。
[0039]如图1所示,这种数据传输方式包括三个部分:
[0040]1.编码器将得到的原始位置数据转换为自纠错码
[0041]为使新编码具有自纠错能力,在原始位置数据的基础上插入校验位,假设将要进行检测的原始位置数据为n位,需要再加上k位的校验位,组成n+k位的自纠错码,新增加的校验位数k应满足:
[0042]2k

1>n+k
[0043]自纠错校验码的编码步骤为为:
[0044]第一步,确定校验码位置,第k位校验码所处位置为自纠错码的第2
k
‑1位
[0045]第二步,确定校验码结果,第k位校验码的计算方式为,从第k位校验码所在位置开始,每隔2
k
‑1位,取2
k
‑1位,然后计算所有取出位的异或,即为校验码结果。
[0046]当k=6时,n的最大值为57,现有的绝对值编码器多圈值位数、单圈值位数、报警位数之和通常不会超过57b it,因此本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种自纠错绝对值编码器数据传输方法,其特征在于,包括以下步骤:编码器将原始位置数据转换为自纠错码;伺服驱动器对自纠错码进行校验;若自纠错码的校验结果正确,则驱动器将自纠错码恢复为原始位置数据进行传输;否则,驱动器对自纠错码进行纠错并修正,将修正后的自纠错码恢复为原始位置数据进行传输。2.根据权利要求1所述的一种自纠错绝对值编码器数据传输方法,其特征在于,所述编码器将原始位置数据转换为自纠错码具体为:编码器在n位的原始位置数据中插入p位的校验位,构成n+p位的自纠错码;编码器对插入校验位的原始数据进行编码,得到自纠错码。3.根据权利要求2所述的一种自纠错绝对值编码器数据传输方法,其特征在于,所述校验位的位数p满足条件2
p

1>n+p,取满足条件的p的最小值作为校验位的位数。4.根据权利要求2所述的一种自纠错绝对值编码器数据传输方法,其特征在于,所述编码器对插入校验位的原始数据进行编码具体为:确定每一位检验码的位置:第k位校验码所处位置为自纠错码的第2
k
‑1位,1≤k≤p;确定每一位校验码的结果:第k位校验码的计算方式为:...

【专利技术属性】
技术研发人员:曲道奎邹风山刘世昌宋吉来张凯棋马壮
申请(专利权)人:山东新松工业软件研究院股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1