一种基于Verilog减法运算的CPLD平台除法实现方法

文档序号:365237 发布日期:2021-12-07 浏览:38次 >En<

阅读说明:本技术 一种基于Verilog减法运算的CPLD平台除法实现方法 (CPLD platform division implementation method based on Verilog subtraction operation ) 是由 刘运录 罗阳 杜俊 于 2021-08-03 设计创作,主要内容包括:本发明公开了一种基于Verilog减法运算的CPLD平台除法实现方法,包括如下步骤:CPLD寄存器接收并转换无刷电机转速信息数据,二进制保存以得到二进制的转速信息结果;将转速信息结果进行二分法的减法算法,并将二分法减法算法转换为二进制除法运算;利用移位方式在CPLD逻辑芯片中,实现PI控制算法中的乘除积分运算,实现CPLD平台的除法算法形成除法器。本发明在CPLD平台上,通过二分法的减法转换方式实现除法运算,进而实现在CPLD平台的无刷直流电机的PI控制,其CPLD为逻辑芯片能进行PI的乘、除、积分的逻辑运算,实现CPLD平台的除法计算,可实现高速计算从而满足在CPLD平台上的PI控制。(The invention discloses a CPLD platform division implementation method based on Verilog subtraction operation, which comprises the following steps: the CPLD register receives and converts the brushless motor rotating speed information data, and binary storage is carried out to obtain a binary rotating speed information result; carrying out a dichotomy subtraction algorithm on the rotating speed information result, and converting the dichotomy subtraction algorithm into a binary division operation; and a shifting mode is utilized in the CPLD logic chip to realize multiplication and division integral operation in the PI control algorithm and realize division algorithm of the CPLD platform to form a divider. The invention realizes division operation on the CPLD platform by a subtraction conversion mode of dichotomy, further realizes PI control of the brushless DC motor on the CPLD platform, and the CPLD is a logic chip which can carry out the logic operation of multiplication, division and integration of PI, realizes the division operation of the CPLD platform, and can realize high-speed calculation so as to meet the PI control on the CPLD platform.)

一种基于Verilog减法运算的CPLD平台除法实现方法

技术领域

本发明涉及无刷直流电机控制领域,尤其涉及一种在CPLD平台上,通过二分法的减 法转换方式实现除法运算,进而实现在CPLD平台的无刷直流电机的PI控制,具体为一种基于Verilog减法运算的CPLD平台除法实现方法。

背景技术

CPLD复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围;是一种用户根据各自需要而自行构造逻辑功能的数字集成电路,经常运用到无刷电机当中。

在无刷电机当中,CPLD为逻辑芯片只能进行简单的逻辑运算,无法直接进行PI的乘、除、积分运算。

发明内容

本发明的目的在于提供一种基于Verilog减法运算的CPLD平台除法实现方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:

一种基于Verilog减法运算的CPLD平台除法实现方法,所述CPLD平台除法实现方法包括如下步骤:

CPLD寄存器接收并转换无刷电机转速信息数据,并将转速信息数据进而二进制保存以得到二进制的转速信息结果;

将转速信息结果进行二分法的减法算法,并将二分法减法算法转换为二进制除法运算;

利用移位方式在CPLD逻辑芯片中,实现PI控制算法中的乘除积分运算,实现CPLD平台的除法算法形成除法器,以满足在CPLD平台上的PI控制器转换更新无刷电机的转速信息。

优选地,所述PI控制器的实现方式如下:

其中,n位实际转速,e为转速差,比例参数Kp与积分参数Ki皆为二的整数幂,nref为反馈转速。

优选地,所述PI控制器中的比例参数Kp与积分参数Ki,在实际使用中是分数,需要进行除法计算。

优选地,所述除法器在使能时,开始计算:

首先找到商的最高位,假设商有n位,除数左移n位,n要足够大,除数左移n位后要比被除数大,商的最高位为零,除数继续左移一位,即将n位减去一,当除数比被除数小时,商的最高位为一,否则为零,当除数比被除数小时,被除数减去除数继续做被除数,循环上述做法直到n为一,即将除数乘以2^N作为除数来进行上面的减法操作。

优选地,所述除法器在使能时,从商高位判断是否为一,若为一,则从被除数中减去对应数值;循环此操作,到N为零结束,除法完成。

优选地,所述除法器的实现功能如下:

其中,功能描述:实现speed=100M/speed_reg;speed代表无刷电机的实际转速;

num=100000000:100M 计算转速使用的分母,speed_reg代表转速反馈。

优选地,所述除法器在计算中,除法器运行标志置一,完成除法则清零。

优选地,所述除法器的代码特征包括字符串、导出函数、字符串数组、全局常量数组、全局枚举数组、复杂Switch/Case结构、以及复杂If/Else结构。

优选地,所述除法器在进行计算时,其转速计算的最大值为 2^14=16384 r/min。

优选地,所述CPLD寄存器的无刷电机转速信息数据转换环节包括利用减法器实现除法功能以得到转速信息,并作差得到转速误差信息。

本发明的有益效果是:本发明在CPLD平台上,通过二分法的减法转换方式实现除法运算,进而实现在CPLD平台的无刷直流电机的PI控制,其CPLD为逻辑芯片能进行PI的乘、除、积分的逻辑运算,实现CPLD平台的除法计算,可实现高速计算从而满足在CPLD平台上的PI控制。

附图说明

图1为本发明PI控制器结构示意图;

图2为本发明除法器实现功能图;

图3为本发明除法器代码图;

图4为本发明PI控制器实现模型图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1

请参阅图1-4,本发明提供一种技术方案:一种基于Verilog减法运算的CPLD平台除法实现方法,其特征在于,CPLD平台除法实现方法包括如下步骤:

CPLD寄存器接收并转换无刷电机转速信息数据,并将转速信息数据进而二进制保存以得到二进制的转速信息结果;CPLD寄存器的无刷电机转速信息数据转换环节包括利用减法器实现除法功能以得到转速信息,并作差得到转速误差信息;

将转速信息结果进行二分法的减法算法,并将二分法减法算法转换为二进制除法运算;

利用移位方式在CPLD逻辑芯片中,实现PI控制算法中的乘除积分运算,实现CPLD平台的除法算法形成除法器,以满足在CPLD平台上的PI控制器转换更新无刷电机的转速信息。

一种基于Verilog减法运算的CPLD平台除法实现方法,其功能与实现方法如下:

功能:在PI控制器中,Kp,Ki为2的整数幂,在实际使用中是分数,需要进行除法计算。利用移位方式在CPLD逻辑芯片中实现PI控制算法中的乘除积分运算,实现CPLD平台的除法计算,可实现高速计算从而满足在CPLD平台上的PI控制;

实现:通过软件实现除法器及二分法,使用位移方式的除法器效率较慢,在转速较快的情况下可能无法及时完成转速的更新。改进后,从商高位判断是否为1,若为1,则从被除数中减去对应数值,即除数乘上2^N,即除数左移N位,N-1;循环此操作,到N为0结束,除法完成。

需要说明的是,本发明在CPLD平台上,通过二分法的减法转换方式实现除法运算,进而实现在CPLD平台的无刷直流电机的PI控制,其CPLD为逻辑芯片能进行PI的乘、除、积分的逻辑运算,实现CPLD平台的除法计算,可实现高速计算从而满足在CPLD平台上的PI控制。

实施例2

请参阅图4所示,一种基于Verilog减法运算的CPLD平台除法实现方法,PI控制器的实现方式如下:

其中,n位实际转速,e为转速差,比例参数Kp与积分参数Ki皆为二的整数幂,nref为反馈转速;PI控制器中的比例参数Kp与积分参数Ki,在实际使用中是分数,需要进行除法计算。

请参阅图2和图3所示,除法器在使能时,开始计算:首先找到商的最高位,假设商有n位,除数左移n位,n要足够大,除数左移n位后要比被除数大,商的最高位为零,除数继续左移一位,即将n位减去一,当除数比被除数小时,商的最高位为一,否则为零,当除数比被除数小时,被除数减去除数继续做被除数,循环上述做法直到n为一,即将除数乘以2^N作为除数来进行上面的减法操作。

除法器在使能时,从商高位判断是否为一,若为一,则从被除数中减去对应数值;循环此操作,到N为零结束,除法完成。

需要说明的是,比例参数Kp=1/4=0.25,积分参数Ki=1/256。

请参阅图2所示,除法器的实现功能如下:

其中,功能描述:实现speed=100M/speed_reg;speed代表无刷电机的实际转速;

num=100000000:100M 计算转速使用的分母,speed_reg代表转速反馈。

除法器在计算中,除法器运行标志置一,完成除法则清零;除法器的代码特征包括字符串、导出函数、字符串数组、全局常量数组、全局枚举数组、复杂Switch/Case结构、以及复杂If/Else结构;除法器在进行计算时,其转速计算的最大值为 2^14=16384 r/min。

所选取的除法器代码特征及其符合本发明除法实现方法的说明:如下表1

表1:除法器代码使用特征类型

实施例3

一种基于Verilog减法运算的CPLD平台除法实现方法,在CPLD寄存器的数据都是二进制保存,得到二进制结果。增加的转速转换环节利用高速运行的减法器来实现除法的功能,从而得到转速信息,作差来得到转速误差信息;当除法器使能时,开始计算,当被除数大于除数,则商加1,被除数减去除数得到新的被除数,知道被除数小于除数,在计算中,除法器运行标志置1,完成除法则清0,目的是给使能除法器模块清使能信号。在转速较快的情况下可能无法及时完成转速的更新。

使用二分法的减法算法,将除法看作二进制除法,首先找到商的最高位,假设商有n位,除数左移n位,n要足够大,除数左移n位后要比被除数大,商的最高位为0,除数继续左移n-1位,当除数比被除数小时,商的最高位为1,否则为0,当除数比被除数小时,被除数减去除数继续做被除数,循环上述做法直到n为1,即将除数乘以2^N作为除数来进行上面的减法操作,能够大大提高除法器的效率,满足高速运转无刷电机的PI控制。

尽管已示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种不平衡电网中异步化调相机的比例积分谐振控制方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!