采用现场可编辑逻辑门阵列实现电子齿轮输出的方法

文档序号:10624212阅读:395来源:国知局
采用现场可编辑逻辑门阵列实现电子齿轮输出的方法
【专利摘要】本发明公开了一种采用现场可编辑逻辑门阵列实现电子齿轮输出的方法,本方法首先在FPGA中设置第一寄存器,根据公式将非脉冲形式编码器输出的二进制数据增量加入第一寄存器,并使其与FPGA的晶振次数相关,从而得到非脉冲形式编码器的脉冲个数;然后在FPGA中设置第二寄存器,根据公式将非脉冲形式编码器的脉冲个数或脉冲形式编码器的脉冲个数加入第二寄存器,并且与电子齿轮比值的分子、分母相关,由FPGA按电子齿轮比值输出脉冲,实现电子齿轮输出。本方法适用于脉冲或非脉冲形式编码器实现电子齿轮输出功能,通过现场可编辑逻辑门阵列能够快速反应、处理并输出上位机所需脉冲信号,提高了硬件资源利用的性能。
【专利说明】
采用现场可编辑還辑口阵列实现电子齿轮输出的方法
技术领域
[0001] 本发明设及一种采用现场可编辑逻辑口阵列实现电子齿轮输出的方法。
【背景技术】
[0002] 在伺服系统中一般采用光电编码器的输出信号作为位置反馈信号,当电机旋转 时,根据光电编码器产生的脉冲数来对电机进行精确的定位。在实际应用中,上位机并不需 要伺服系统那样精密的位置控制。例如2500线光电编码器电机,电机旋转一圈,光电编码 器反馈为2500个正交脉冲,但上位机只需要认定一圈250个正交脉冲。此时,伺服驱动器 对应的电子齿轮输出就需要设置成1 :1〇,将2500个正交脉冲改为250个正交脉冲输出给 上位机。因此,电子齿轮功能实际是一种任意比例分频功能。
[0003] 通常伺服驱动器电子齿轮输出功能大多预先计算好电子齿轮分频数据,并将数据 放入RAM等存储器中。在正常使用过程中,通过光电编码器的反馈脉冲对RAM存储器进行 不断地查表,将表格中对应的数据W正交脉冲形式输出,用W实现电子齿轮功能。此方法在 硬件方面需要有一个快速读取、至少有14位地址的存储器,并将14个地址的对应引脚、数 据的对应引脚与现场可编辑逻辑口阵列(简称FPGA)连接;在软件方面,需要在上电初始化 内将电子齿轮比W数据的形式写入存储器中。因此可W看出该方法对硬件性价比不是很 好,软件初始化耗时;而且对于非脉冲形式编码器(如旋转变压器、绝对式编码器)的反馈信 号就显得无能为力,必须先将反馈形式转换成脉冲形式才行。
[0004] 对于非脉冲形式编码器,其在数字电路中,反馈信号W二进制数据出现,通过在单 位时间内读取开头和结尾的数据,并对其求出增量,就可W知道单位时间内电机旋转了多 少位置及旋转方向。再对增量乘W电子齿轮比,加入上一次单位时间剩下的小数数据,合成 新的整数加小数数据,将整数提取出来,在本次单位时间内平均发送出整数个脉冲,W运种 形式完成电子齿轮输出功能。该方法在硬件方面省去了存储器和对应的FPGA引脚,在软件 方面省去了上电初始化的操作。该方法对于脉冲输入形式也能实现,不过没有该方法直接、 实时。对FPGA的宏单元资源要求极大,需要做出多个乘法,除法计算及存储能够描述该小 数数据的资源,在FPGA宏单元资源利用方面性价比不是很好。

【发明内容】

[0005] 本发明所要解决的技术问题是提供一种采用现场可编辑逻辑口阵列实现电子齿 轮输出的方法,本方法可适用于脉冲形式编码器和非脉冲形式编码器实现电子齿轮输出功 能,通过现场可编辑逻辑口阵列能够快速反应、处理及输出上位机所需脉冲信号,提高了硬 件资源利用的性能。
[0006] 为解决上述技术问题,本发明采用现场可编辑逻辑口阵列实现电子齿轮输出的方 法包括如下步骤: 步骤一、设定公式
(1) 式(1)中:Bi为非脉冲形式编码器在单位时间内输出的二进制数据增量、Ai为单位时 间所对应的现场可编辑逻辑口阵列的晶振次数、Cl为现场可编辑逻辑口阵列输出的脉冲个 数、为常数,其值为A iBi/Ci; 步骤二、非脉冲形式编码器输出的二进制数据传输至现场可编辑逻辑口阵列,现场可 编辑逻辑口阵列中设置第一寄存器,初始值为0,现场可编辑逻辑口阵列在每次晶振触发操 作时,第一寄存器内加入二进制数据增量Bi; 步骤Ξ、比较第一寄存器内的二进制数据增量Bi和现场可编辑逻辑口阵列的晶振次数 Ai,如果Di《B -D 1,现场可编辑逻辑口阵列输出一次脉冲,并且根据> D域《-D 1选择 输出脉冲为正转脉冲或反转脉冲,同时第一寄存器加上或减去〇1,使第一寄存器始终保持 在(-Di,Di)范围内; 步骤四、单位时间内现场可编辑逻辑口阵列输出的脉冲个数Cl与非脉冲形式编码器输 出的二进制数据增量Bi相等; 步骤五、设定公式
(2) 式(2)中:B2为电子齿轮比值的分子、A2为伺服驱动器接收到的脉冲个数、C2为现场可 编辑逻辑口阵列输出的电子齿轮脉冲个数、〇2为电子齿轮比值的分母;其中,伺服驱动器接 收到的脉冲个数A2是步骤四中的现场可编辑逻辑口阵列输出的脉冲个数C 1或直接由脉冲 形式编码器输出的脉冲个数; 步骤六、在现场可编辑逻辑口阵列中设置第二寄存器,初始值为0,伺服驱动器在接收 到A2的每个脉冲时,对第二寄存器进行加上或减去电子齿轮比值分子B 2的操作; 步骤屯、将第二寄存器与电子齿轮比值的分母〇2进行比较,如果D B -D 2,现场 可编辑逻辑口阵列输出一次脉冲,并且根据> 〇2或《-D2选择输出正转脉冲或反转脉冲,同 时第二寄存器加上或减去〇2,使第二寄存器始终保持在(-〇2,〇2)范围内; 步骤八、根据式(2),现场可编辑逻辑口阵列输出电子齿轮脉冲C2,并且对此脉冲C2进 行转换成上位机能够识别的脉冲形式,进行输出。
[0007] 进一步,在Ai次晶振结束后,第一寄存器内的数据清零,根据式(1)的意义,Ai次 Bi的叠加减去C 1次D 1的叠加等于零,此时修改二进制数据增量B 1,从而改变单位时间内现 场可编辑逻辑口阵列输出的脉冲个数。。
[000引进一步,在A2次脉冲后,第二寄存器内的数据清零,根据式(2)的意义,A2次B2的 叠加减去C2次D 2的叠加等于零,此时变更电子齿轮比值,避免第二寄存器数据素乱。 由于本发明采用现场可编辑逻辑口阵列实现电子齿轮输出的方法采用了上述技术方 案,即本方法首先在现场可编辑逻辑口阵列中设置第一寄存器,根据公式将非脉冲形式编 码器输出的二进制数据增量加入第一寄存器,并使其与现场可编辑逻辑口阵列的晶振次数 相关,从而得到非脉冲形式编码器的脉冲个数;然后在现场可编辑逻辑口阵列中设置第二 寄存器,根据公式将非脉冲形式编码器的脉冲个数或脉冲形式编码器的脉冲个数加入第二 寄存器,并且与已设置的电子齿轮比值的分子、分母相关,从而由现场可编辑逻辑口阵列按 电子齿轮比值输出脉冲,实现电子齿轮输出。本方法可适用于脉冲形式编码器和非脉冲形 式编码器实现电子齿轮输出功能,通过现场可编辑逻辑口阵列能够快速反应、处理及输出 上位机所需脉冲信号,提高了硬件资源利用的性能。
【附图说明】
[0009] 下面结合附图和实施方式对本发明作进一步的详细说明: 图1为本方法的流程框图。
【具体实施方式】
[0010] 实施例如图1所示,本发明采用现场可编辑逻辑口阵列实现电子齿轮输出的方法 包括如下步骤: 步骤一、设定公式
(1) 式(1)中:Bi为非脉冲形式编码器在单位时间内输出的二进制数据增量、Ai为单位时 间所对应的现场可编辑逻辑口阵列的晶振次数、Cl为现场可编辑逻辑口阵列输出的脉冲个 数、Di为常数,其值为A A/Ci;其中二进制数据增量也可W是负数,脉冲个数为正转脉冲和 反转脉冲之和; 步骤二、非脉冲形式编码器输出的二进制数据传输至现场可编辑逻辑口阵列,现场可 编辑逻辑口阵列中设置第一寄存器,初始值为0,现场可编辑逻辑口阵列在每次晶振触发操 作时,第一寄存器内加入二进制数据增量Bi;现场可编辑逻辑口阵列是一个并行运算系统, 每一次晶振都能使现场可编辑逻辑口阵列操作一次; 步骤Ξ、比较第一寄存器内的二进制数据增量Bi和现场可编辑逻辑口阵列的晶振次数 Ai,如果Di《B -D 1,现场可编辑逻辑口阵列输出一次脉冲,并且根据> D域《-D 1选择 输出脉冲为正转脉冲或反转脉冲,同时第一寄存器加上或减去〇1,使第一寄存器始终保持 在(-Di,Di)范围内; 步骤四、单位时间内现场可编辑逻辑口阵列输出的脉冲个数Cl与非脉冲形式编码器输 出的二进制数据增量Bi相等; 步骤五、设定公式
(2) 式(2)中:B2为电子齿轮比值的分子、A2为伺服驱动器接收到的脉冲个数、C2为现场可 编辑逻辑口阵列输出的电子齿轮脉冲个数、〇2为电子齿轮比值的分母;其中,伺服驱动器接 收到的脉冲个数A2是步骤四中的现场可编辑逻辑口阵列输出的脉冲个数Cl或直接由脉冲 形式编码器输出的脉冲个数; 步骤六、在现场可编辑逻辑口阵列中设置第二寄存器,初始值为0,伺服驱动器在接收 到A2的每个脉冲时,对第二寄存器进行加上或减去电子齿轮比值分子B 2的操作; 步骤屯、将第二寄存器与电子齿轮比值的分母〇2进行比较,如果D B -D 2,现场 可编辑逻辑口阵列输出一次脉冲,并且根据> 〇2或《-D2选择输出正转脉冲或反转脉冲,同 时第二寄存器加上或减去〇2,使第二寄存器始终保持在(-〇2,〇2)范围内; 步骤八、根据式(2),现场可编辑逻辑口阵列输出电子齿轮脉冲C2,并且对此脉冲C2进 行转换成上位机能够识别的脉冲形式,进行输出。
[0011] 进一步,在现场可编辑逻辑口阵列Ai次晶振结束后,第一寄存器内的数据清零,根 据式(1)的意义,Ai次B 1的叠加减去C 1次D 1的叠加等于零,此时可W修改二进制数据增 量Bi,从而改变单位时间内现场可编辑逻辑口阵列输出的脉冲个数。。
[0012] 本方法中,对于非脉冲形式编码器来说,Ai次晶振作为其脉冲信号的计数周期,如 果不是在Ai次晶振结束后第一寄存器清0,即第一寄存器内的数据不为0时改变增量B 1,则 第一寄存器内的数据将不再起到正确作用,现场可编辑逻辑口阵列输出的脉冲个数。将不 再正确,同时脉冲。不能正确反映单位时间的输出脉冲。
[0013] 对于非脉冲形式编码器,其在数字电路中,反馈信号W二进制数据出现,通过在单 位时间内读取开头和结尾的数据,并对其求出增量,就可W知道单位时间内电机旋转了多 少位置及旋转方向。要使式(1)具有实际应用意义,则需将单位时间内现场可编辑逻辑口 阵列的晶振次数定义为Ai即可。举例:通讯周期为100ms,现场可编辑逻辑口阵列的外部晶 振频率为lOOMHz,则Ai=100MHz*100ms=10000,即单位时间100ms内,外部晶振震荡了 10000 次,现场可编辑逻辑口阵列进行了 10000次并行操作。
[0014] 进一步,由于电子齿轮比值在现场可编辑逻辑口阵列中W二进制数据的形式存 在,是可W随时改变的。因此在A2次脉冲后,第二寄存器内的数据清零,根据式(2)的意义, A2次B 2的叠加减去C 2次D 2的叠加等于零,此时才可W考虑变更电子齿轮比值,同时避免 第二寄存器数据素乱。此功能在实际应用中,需要在A2次脉冲或其倍数时,才能修改电子 齿轮比值,此功能可用于在上电初始化时设置电子齿轮比值,提高了电子齿轮比值设置的 灵活性。同样,如果不是在A2次晶振结束后,即第二寄存器内的数据不为0时,改变电子齿 轮比值的分子B2、分母〇2,则第二寄存器内的数据将不再起到正确功能,现场可编辑逻辑口 阵列输出的脉冲个数C2将不再正确,电子齿轮输出将会出现少输出脉冲或多输出脉冲的现 象。
[0015] 本方法完全可W实现只采用现场可编辑逻辑口阵列实现电子齿轮输出的算法,适 用于非脉冲形式编码器和脉冲形式编码器反馈的伺服系统。在运行过程中并未使用到乘 法、除法、小数运算等极消耗现场可编辑逻辑口阵列宏单元资源的运算,也未使用外部存储 器运种极消耗现场可编辑逻辑口阵列引脚资源的方法,相较于传统的电子齿轮输出方法提 高了硬件的性价比。伺服系统中电子齿轮输出工作需要对每一个输入脉冲进行计算、加 W 分频操作并及时输出,如果交由伺服系统中单片机、DSP运类顺序处理忍片,会消耗许多运 算资源。本方法将电子齿轮输出交由现场可编辑逻辑口阵列实现,通过其并行运行操作的 特点,能够实现电子齿轮的快速反应、处理和输出。
【主权项】
1. 一种采用现场可编辑逻辑口阵列实现电子齿轮输出的方法,其特征在于本方法包括 如下步骤: 步骤一、设定公(1) 式(1)中:Bi为非脉冲形式编码器在单位时间内输出的二进制数据增量、Al为单位时 间所对应的现场可编辑逻辑口阵列的晶振次数、Cl为现场可编辑逻辑口阵列输出的脉冲个 数、Di为常数,其值为AA/Ci; 步骤二、非脉冲形式编码器输出的二进制数据传输至现场可编辑逻辑口阵列,现场可 编辑逻辑口阵列中设置第一寄存器,初始值为0,现场可编辑逻辑口阵列在每次晶振触发操 作时,第一寄存器内加入二进制数据增量Bi; 步骤=、比较第一寄存器内的二进制数据增量Bi和现场可编辑逻辑口阵列的晶振次数 Al,如果Di《B -D 1,现场可编辑逻辑口阵列输出一次脉冲,并且根据> D域《-D 1选择 输出脉冲为正转脉冲或反转脉冲,同时第一寄存器加上或减去Di,使第一寄存器始终保持 在(-Di,Di)范围内; 步骤四、单位时间内现场可编辑逻辑口阵列输出的脉冲个数Cl与非脉冲形式编码器输 出的二进制数据增量B,相等; 步骤五、设定公(2) 式(2)中:Bz为电子齿轮比值的分子、Az为伺服驱动器接收到的脉冲个数、Cz为现场可 编辑逻辑口阵列输出的电子齿轮脉冲个数、〇2为电子齿轮比值的分母;其中,伺服驱动器接 收到的脉冲个数Az是步骤四中的现场可编辑逻辑口阵列输出的脉冲个数Cl或直接由脉冲 形式编码器输出的脉冲个数; 步骤六、在现场可编辑逻辑口阵列中设置第二寄存器,初始值为0,伺服驱动器在接收 到Az的每个脉冲时,对第二寄存器进行加上或减去电子齿轮比值分子B 2的操作; 步骤屯、将第二寄存器与电子齿轮比值的分母〇2进行比较,如果D B -D 2,现场 可编辑逻辑口阵列输出一次脉冲,并且根据> 〇2或《-D2选择输出正转脉冲或反转脉冲,同 时第二寄存器加上或减去〇2,使第二寄存器始终保持在(-〇2,〇2)范围内; 步骤八、根据式(2),现场可编辑逻辑口阵列输出电子齿轮脉冲C2,并且对此脉冲Cz进 行转换成上位机能够识别的脉冲形式,进行输出。2. 根据权利要求1所述的采用现场可编辑逻辑口阵列实现电子齿轮输出的方法,其特 征在于:在Al次晶振结束后,第一寄存器内的数据清零,根据式(1)的意义,A 1次B 1的叠加 减去Cl次D 1的叠加等于零,此时修改二进制数据增量B 1,从而改变单位时间内现场可编辑 逻辑口阵列输出的脉冲个数。。3. 根据权利要求1所述的采用现场可编辑逻辑口阵列实现电子齿轮输出的方法,其特 征在于:在Az次脉冲后,第二寄存器内的数据清零,根据式(2)的意义,Az次Bz的叠加减去 Cz次D 2的叠加等于零,此时变更电子齿轮比值,避免第二寄存器数据素乱。
【文档编号】G05B19/042GK105988399SQ201510095237
【公开日】2016年10月5日
【申请日】2015年3月4日
【发明人】于涛, 方杰, 项恩毕, 郁敏杰, 张金琳
【申请人】上海开通数控有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1