一种通过DSP的CLB模块输出任意线数的编码器倍频方法与流程
未命名
10-20
阅读:49
评论:0
一种通过dsp的clb模块输出任意线数的编码器倍频方法
技术领域
1.本发明涉及主轴伺服控制器倍频编码器线数技术领域,具体为一种通过dsp的clb模块输出任意线数的编码器倍频方法。
背景技术:
2.在编码器的倍频输出领域,大多数用于机床行业的数控系统接收伺服反馈回来的abz信号或者plc接收伺服反馈回来的编码器位置,传统的编码器倍频的方法有1:通过搭建硬件电路来实现倍频输出;2:通过fpga来实现编码器的倍频输出。
3.第一种方法倍频输出的倍数是固定不变,ab相位的超前也没法改变。很难达到现场任意线数倍频。第二种方法可以达到任意线数倍频和ab之间的相位也可以由fpga来调整,但是需要在原来的电路上多加一块fpga的芯片,这导致了产品的硬件成本和软件管理成本都大幅增加。
技术实现要素:
4.本发明的目的在于提供一种通过dsp的clb模块输出任意线数的编码器倍频方法,以解决上述背景技术中提出的问题。
5.为实现上述目的,本发明提供如下技术方案:一种通过dsp的clb模块输出任意线数的编码器倍频方法,包括以下步骤:
6.s1:在dsp芯片程序中,开一个10ms的定时中断,采集10ms时间内编码器的脉冲差量个数pluse0,通过原始的编码器线数number0和倍频后的编码器线数number1计算出倍频后的脉冲差量个数pluse1;
7.s2:通过步骤1计算出来的脉冲个数pluse1和10ms时间t计算出倍频后的脉冲周期时间t
pluse
以及脉冲周期时间余数t
rem
;
8.s3:通过脉冲周期时间t
pluse
和clb的时钟信号t
clk
,得出clb的计数的match值;
9.s4:通过clb的查找表(lut)来得出当前编码器的方向,方向为正输出高电平,方向反方向输出低电平,得出方向后以便于ab谁先跳变;
10.s5:在周期时间余数t
rem
时间内,clb的计数块的match减一,10ms时间内的其他时间还是match值;
11.s6:根据s5刷新clb的一路计数块的match1和match2的值;
12.s7:根据s6的结果,刷新clb的其中一路计数块的match1 ref和match2ref寄存器,接着判断计数块的时钟计数值是否比当前计算出来match值大,如果大,则把计数块的时钟计数值更新为match值。该步骤计数块得到不包含方向的ab信号;
13.s8:根据s4和s7的结果,决定a信号先跳变还是b信号跳变,从而达到方向同步。
14.更进一步地,步骤s1中,pluse1计算公式如下:
15.更进一步地,步骤s2中,计算公式如下:t
rem
=t%pluse1。
16.更进一步地,步骤s3中,计算公式如下:
17.更进一步地,步骤s6中,计算公式如下:match1=match,
18.与现有技术相比,本发明的有益效果是:
19.该通过dsp的clb模块输出任意线数的编码器倍频方法,与现有技术的区别在于,单位时间(t)内记录芯片捕捉到编码器的脉冲个数pluse0,通过倍频数(m),再在下一个单位时间内输出倍频后的脉冲个数pluse1,从而达到倍频。
附图说明
20.图1为本发明的方向的真值表示意图;
21.图2为本发明的match的值示意图。
具体实施方式
22.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
23.如图1-图2所示,本发明提供一种技术方案:一种通过dsp的clb模块输出任意线数的编码器倍频方法。
24.(1)在dsp芯片程序中,开一个10ms的定时中断,采集10ms时间内编码器的脉冲差量个数pluse0,通过原始的编码器线数number0和倍频后的编码器线数number1计算出倍频后的脉冲差量个数pluse1,计算公式如下:
[0025][0026]
(2)通过步骤1计算出来的脉冲个数pluse1和10ms时间t计算出倍频后的脉冲周期时间t
pluse
以及脉冲周期时间余数t
rem
,计算公式如下:
[0027][0028]
t
rem
=t%pluse1
[0029]
(3)通过脉冲周期时间t
pluse
和clb的时钟信号t
clk
,得出clb的计数的match值。计算公式如下:
[0030][0031]
(4)通过clb的查找表(lut)来得出当前编码器的方向,方向为正输出高电平,方向反方向输出低电平,得出方向后以便于ab谁先跳变。方向的真值表如图1所示。
[0032]
(5)在周期时间余数t
rem
时间内,clb的计数块的match减一,10ms时间内的其他时间还是match值。match的值如图2所示。
[0033]
(6)根据第5步刷新clb的一路计数块的match1和match2的值,公式如下:
[0034]
match1=match
[0035][0036]
(7)根据第6步的结果,刷新clb的其中一路计数块的match1 ref和match2 ref寄存器,接着判断计数块的时钟计数值是否比当前计算出来match值大,如果大则把计数块的时钟计数值更新为match值。该步骤计数块得到不包含方向的ab信号。
[0037]
(8)根据第4步和第7步的结果,决定a信号先跳变还是b信号跳变,从而达到方向同步。
[0038]
本发明提供了一种由dsp的clb模块来实现编码器由低线数往高线数倍频方法,该方法可以实现任意线数倍频,输出的ab正交方波方向可调节。从而满足数控系统或者plc接收伺服驱动器反馈的脉冲。
[0039]
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附实施例及其等同物限定。
技术特征:
1.一种通过dsp的clb模块输出任意线数的编码器倍频方法,其特征在于,包括以下步骤:s1:在dsp芯片程序中,开一个10ms的定时中断,采集10ms时间内编码器的脉冲差量个数pluse0,通过原始的编码器线数number0和倍频后的编码器线数number1计算出倍频后的脉冲差量个数pluse1;s2:通过步骤1计算出来的脉冲个数pluse1和10ms时间t计算出倍频后的脉冲周期时间t
pluse
以及脉冲周期时间余数t
rem
;s3:通过脉冲周期时间t
pluse
和clb的时钟信号t
clk
,得出clb的计数的match值;s4:通过clb的查找表(lut)来得出当前编码器的方向,方向为正输出高电平,方向反方向输出低电平,得出方向后以便于ab谁先跳变;s5:在周期时间余数t
rem
时间内,clb的计数块的match减一,10ms时间内的其他时间还是match值;s6:根据s5刷新clb的一路计数块的match1和match2的值;s7:根据s6的结果,刷新clb的其中一路计数块的match1 ref和match2ref寄存器,接着判断计数块的时钟计数值是否比当前计算出来match值大,如果大,则把计数块的时钟计数值更新为match值。该步骤计数块得到不包含方向的ab信号;s8:根据s4和s7的结果,决定a信号先跳变还是b信号跳变,从而达到方向同步。2.根据权利要求1所述的一种通过dsp的clb模块输出任意线数的编码器倍频方法,其特征在于:步骤s1中,pluse1计算公式如下:特征在于:步骤s1中,pluse1计算公式如下:3.根据权利要求1所述的一种通过dsp的clb模块输出任意线数的编码器倍频方法,其特征在于:步骤s2中,计算公式如下:t
rem
=t%pluse1。4.根据权利要求1所述的一种通过dsp的clb模块输出任意线数的编码器倍频方法,其特征在于:步骤s3中,计算公式如下:5.根据权利要求1所述的一种通过dsp的clb模块输出任意线数的编码器倍频方法,其特征在于:步骤s6中,计算公式如下:match1=match,
技术总结
本发明公开了一种通过DSP的CLB模块输出任意线数的编码器倍频方法,涉及主轴伺服控制器倍频编码器线数技术领域。包括以下步骤:S1:在DSP芯片程序中,开一个10ms的定时中断,采集10ms时间内编码器的脉冲差量个数Pluse0,通过原始的编码器线数Number0和倍频后的编码器线数Number1计算出倍频后的脉冲差量个数Pluse1,S2:通过步骤1计算出来的脉冲个数Pluse1和10ms时间T计算出倍频后的脉冲周期时间T
技术研发人员:雷柏林
受保护的技术使用者:江苏吉泰科电气有限责任公司
技术研发日:2023.07.12
技术公布日:2023/10/8
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/