CN114200822A - 全精度数字积分控制器的fpga实现方法 - Google Patents

全精度数字积分控制器的fpga实现方法 Download PDF

Info

Publication number
CN114200822A
CN114200822A CN202111498518.9A CN202111498518A CN114200822A CN 114200822 A CN114200822 A CN 114200822A CN 202111498518 A CN202111498518 A CN 202111498518A CN 114200822 A CN114200822 A CN 114200822A
Authority
CN
China
Prior art keywords
output
full
precision
fpga
formula
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202111498518.9A
Other languages
English (en)
Inventor
陈绪聪
赵志坚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Changzhou Tonghui Electronics Co ltd
Original Assignee
Changzhou Tonghui Electronics Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Changzhou Tonghui Electronics Co ltd filed Critical Changzhou Tonghui Electronics Co ltd
Priority to CN202111498518.9A priority Critical patent/CN114200822A/zh
Publication of CN114200822A publication Critical patent/CN114200822A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B11/00Automatic controllers
    • G05B11/01Automatic controllers electric
    • G05B11/36Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
    • G05B11/42Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential for obtaining a characteristic which is both proportional and time-dependent, e.g. P.I., P.I.D.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Feedback Control In General (AREA)

Abstract

本发明涉及一种用于精密源表的全精度数字积分控制器的FPGA实现方法,包括如下步骤:一、系统数学模型的建立;二、全精度数字积分器基本结构的建立;三、全精度数字积分器的溢出校正。该用于精密源表的全精度数字积分控制器的FPGA实现方法基于FPGA平台,能够高效实时计算,不含截位误差且能避免数据溢出,从而实现全精度输出。

Description

全精度数字积分控制器的FPGA实现方法
技术领域:
本发明涉及电子测量技术领域,尤其涉及一种用于精密源表的全精度数字积分控制器的FPGA实现方法。
背景技术:
随着半导体器件研发、制造行业蓬勃发展,对半导体测试仪器的需求与日俱增。其中精密源表对于半导体IV表征测试是最为重要的一类仪器,却长期被国外品牌垄断。精密源表的核心技术之一便是内部基于FPGA实现的高速负反馈控制器。
就现有技术而言,通常使用数字PID控制器作为负反馈控制器。对于精密源表而言,PID中的比例(P)环节与微分(D)环节收到测量信号中所叠加噪声的影响,会使控制效果恶化。而如果使用常规数字的滤波的方法对测量信号先进行低通滤波,则导致控制器带宽降低,将无法满足高速脉冲输出的要求。所以在本发明中,仅采用PID控制器的积分环节,所以用于精密源表负反馈控制的是一个纯积分器。
另一方面,目前基于FPGA实现的定点数数字积分器均采用类似零极点滤波器的递归形式,在每个数据周期都必须进行截位运算。现有存在几点不足:①存在截位误差,容易导致控制器不稳定;②定点数积分运算存在溢出风险,易使控制器输出极性反转,造成剧烈振荡;③数据运算周期长,不利于控制的实时性。
因此,发明一种基于FPGA编程实现,能够高效实时计算的、不含截位误差且能避免数据溢出的积分控制器,就成为了一项关键技术。
发明内容:
为了解决上述技术问题,本发明提出一种用于精密源表的全精度数字积分控制器的FPGA实现方法,仅包含定点数数加减乘除的数字算法,由FPGA对高速ADC采样的数字信号进行实时积分计算,并能有效避免数据溢出,全精度输出。
本发明提供一种用于精密源表的全精度数字积分控制器的FPGA实现方法,包括如下步骤:
一、系统数学模型的建立
积分控制器是指仅使用PID控制器中的积分环节。对设定值与测量值的偏差做积分,然后乘以积分系数后作为控制器输出。
对连续信号做负反馈纯积分控制的数学描述如下:
Figure BDA0003400650140000021
式中,Ki是积分系数,决定闭环系统的阶跃响应的上升速度;d(τ)为τ时刻的设定值或称参考值;x(τ)为τ时刻的测量值;u(t)是对设定值与测量值偏差的积分,并作为控制器输出从而实现对系统的负反馈控制;
对于数字负反馈控制系统而言,控制过程在FPGA中进行离散时间域的实时计算。设定值为用户编程写入FPGA的数字信号;测量值则为高速ADC的采样信号。对(1-1)式离散化可得:
Figure BDA0003400650140000022
式中,T是数字控制器的运算周期,等于ADC工作频率的倒数(精密源表使用工作频率为4MHz的高速ADC,故T为250ns);d[i]是i时刻的设定值或称参考值,由用户编程规定;x[i]是i时刻ADC的采样值;u[n]即是对设定值与测量值偏差的累加求和,等同于连续时间域的积分运算;u[n]作为控制器输出由FPGA外部接口写入DAC、实现对系统的负反馈控制。
二、全精度数字积分器基本结构的建立
根据式(1-2)可写出系统在n-1时刻的控制输出:
Figure BDA0003400650140000031
将(1-2)式及(1-3)式展开:
u[n]=Ki·T{d[n]+d[n-1]+…d[0]-x[n]-x[n-1]-…x[0]} (2-2)
u[n-1]=Ki·T{d[n-1]+d[n-2]+…d[0]-x[n-1]-x[n-2]-…x[0]} (2-3)
用(2-4)式减去(2-5)式可得:
u[n]=u[n-1]+Ki·T{d[n]-x[n]} (2-4)
因为Ki·T是一个常数,可令KI=Ki·T,于是(2-6)式可整理为:
u[n]=u[n-1]+KI·{d[n]-x[n]} (2-5)
由此看出,对于FPGA而言,仅需一个减法器、一个加法器和一个乘法器,至少在三个系统时钟周期内可完成积分器输出。
三、全精度数字积分器的溢出校正
在精密源表的硬件系统中,ADC采用工作频率为4MHz的24位双极性ADS1675芯片;DAC采用工作频率为32MHz的14位双极性AD9744芯片。于是对照(2-5)式,采样信号x[n]、参考信号d[n]是24位有符号定点数;积分系数KI也取24位有符号定点数。于是对(2-5)式的计算可按以下过程分步计算:
(1)计算参考信号与测量信号的偏差,记为e[n],有e[n]=d[n]-x[n],e[n]为全精度定点数减法器输出,字长在x[n]与d[n]的基础上扩展一位,即25位,于是得到式(2-5)中的d[n]-x[n];
(2)使用快速性定点数乘法器执行KI·e[n],输出记为△u,乘法器为全精度输出,字长为相乘两数字长之和,即49位,于是得到式(2-5)中等式右边两个相加项的第二项;
(3)计算u[n-1]+△u,全精度加法器输出的字长相对扩展一位,即50位,积分器输出恒定为50位,由于(2-5)式描述的计算过程存在递归结构,如不对输出作截位处理,会有数据溢出的可能;
(4)判断数据是否溢出:①如果u[n-1]>0,△u>0,u[n]<0同时成立,意味着两个正数相加得到负数,则发生溢出;②如果u[n-1]<0,△u<0,u[n]>0同时成立,意味着两个负数相加得到正数,则发生溢出;
(5)对输出信号做溢出校正:如数据溢出后符号位是1,此时将积分器输出锁定为正向最大值(对于50位有符号数,正向最大值为249-1);如数据溢出后符号位是0,此时将积分器输出锁定为负向最大值,(对于50位有符号数,负向最大值为249)。
本发明的有益效果是:该用于精密源表的全精度数字积分控制器的FPGA实现方法基于FPGA平台,能够高效实时计算,不含截位误差且能避免数据溢出,从而实现全精度输出。
附图说明:
图1是本发明的全精度数字积分器的基本结构示意图。
具体实施方式:
下面结合附图对本发明的较佳实施例进行详细阐述,以使本发明的优点和特征能更易被本领域人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
本发明提供一种用于精密源表的全精度数字积分控制器的FPGA实现方法,包括如下步骤:
一、系统数学模型的建立
对连续信号做负反馈纯积分控制的数学描述如下:
Figure BDA0003400650140000041
式中,Ki是积分系数,决定闭环系统的阶跃响应的上升速度;d(τ)为τ时刻的设定值或称参考值;x(τ)为τ时刻的测量值;u(t)是对设定值与测量值偏差的积分,并作为控制器输出从而实现对系统的负反馈控制;
对于数字负反馈控制系统而言,控制过程在FPGA中进行离散时间域的实时计算。设定值为用户编程写入FPGA的数字信号;测量值则为高速ADC的采样信号。对(1-1)式离散化可得:
Figure BDA0003400650140000051
式中,T是数字控制器的运算周期,等于ADC工作频率的倒数;d[i]是i时刻的设定值或称参考值,由用户编程规定;x[i]是i时刻ADC的采样值;u[n]即是对设定值与测量值偏差的累加求和,等同于连续时间域的积分运算;u[n]作为控制器输出由FPGA外部接口写入DAC、实现对系统的负反馈控制。
二、全精度数字积分器基本结构的建立
根据式(1-2)可写出系统在n-1时刻的控制输出:
Figure BDA0003400650140000052
将(1-2)式及(1-3)式展开:
u[n]=Ki·T{d[n]+d[n-1]+…d[0]-x[n]-x[n-1]-…x[0]} (2-2)
u[n-1]=Ki·T{d[n-1]+d[n-2]+…d[0]-x[n-1]-x[n-2]-…x[0]} (2-3)
用(2-4)式减去(2-5)式可得:
u[n]=u[n-1]+Ki·T{d[n]-x[n]} (2-4)
因为Ki·T是一个常数,可令KI=Ki·T,于是(2-6)式可整理为:
u[n]=u[n-1]+KI·{d[n]-x[n]} (2-5)
由此看出,对于FPGA而言,仅需一个减法器、一个加法器和一个乘法器,至少在三个系统时钟周期内可完成积分器输出。
全精度数字积分器的基本结构图1所示,图1中的“Analog circuit”是控制系统中模拟电路部分的抽象表征。
三、全精度数字积分器的溢出校正
在精密源表的硬件系统中,ADC采用工作频率为4MHz的24位双极性ADS1675芯片;DAC采用工作频率为32MHz的14位双极性AD9744芯片。于是对照(2-5)式,采样信号x[n]、参考信号d[n]是24位有符号定点数;积分系数KI也取24位有符号定点数。于是对(2-5)式的计算可按以下过程分步计算:
(1)计算参考信号与测量信号的偏差,记为e[n],有e[n]=d[n]-x[n],e[n]为全精度定点数减法器输出,字长在x[n]与d[n]的基础上扩展一位,即25位;
(2)使用快速性定点数乘法器执行KI·e[n],输出记为△u,乘法器为全精度输出,字长为相乘两数字长之和,即49位;
(3)计算u[n-1]+△u,全精度加法器输出的字长相对扩展一位,即50位,积分器输出恒定为50位,由于(2-5)式描述的计算过程存在递归结构,如不对输出作截位处理,会有数据溢出的可能;
(4)判断数据是否溢出:①如果u[n-1]>0,△u>0,u[n]<0同时成立,意味着两个正数相加得到负数,则发生溢出;②如果u[n-1]<0,△u<0,u[n]>0同时成立,意味着两个负数相加得到正数,则发生溢出;
(5)对输出信号做溢出校正:如数据溢出后符号位是1,此时将积分器输出锁定为正向最大值(对于50位有符号数,正向最大值为249-1);如数据溢出后符号位是0,此时将积分器输出锁定为负向最大值,(对于50位有符号数,负向最大值为249)。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

Claims (1)

1.一种全精度数字积分控制器的FPGA实现方法,其特征在于,包括如下步骤:
一、系统数学模型的建立
对连续信号做负反馈纯积分控制的数学描述如下:
Figure FDA0003400650130000011
式中,Ki是积分系数;d(τ)为τ时刻的设定值或称参考值;x(τ)为τ时刻的测量值;u(t)是对设定值与测量值偏差的积分,并作为控制器输出从而实现对系统的负反馈控制;
控制过程在FPGA中进行离散时间域的实时计算:
设定值为用户编程写入FPGA的数字信号,测量值则为高速ADC的采样信号,对(1-1)式离散化可得:
Figure FDA0003400650130000012
式中,T是数字控制器的运算周期,等于ADC工作频率的倒数;d[i]是i时刻的设定值或称参考值,由用户编程规定;x[i]是i时刻ADC的采样值;u[n]是对设定值与测量值偏差的累加求和,等同于连续时间域的积分运算;u[n]作为控制器输出由FPGA外部接口写入DAC、实现对系统的负反馈控制;
二、全精度数字积分器基本结构的建立
根据式(1-2)可写出系统在n-1时刻的控制输出:
Figure FDA0003400650130000013
将(1-2)式及(1-3)式展开:
u[n]=Ki·T{d[n]+d[n-1]+…d[0]-x[n]-x[n-1]-…x[0]} (2-2)
u[n-1]=Ki·T{d[n-1]+d[n-2]+…d[0]-x[n-1]-x[n-2]-…x[0]} (2-3)
用(2-1)式减去(2-2)式可得:
u[n]=u[n-1]+Ki·T{d[n]-x[n]} (2-4)
因为Ki·T是一个常数,可令KI=Ki·T,于是(2-4)式可整理为:
u[n]=u[n-1]+KI·{d[n]-x[n]} (2-5);
三、全精度数字积分器的溢出校正
对(2-5)式的计算可按以下过程分步计算:
(1)计算参考信号与测量信号的偏差,记为e[n],有e[n]=d[n]-x[n],e[n]为全精度定点数减法器输出,字长在x[n]与d[n]的基础上扩展一位,即25位;
(2)使用快速性定点数乘法器执行KI·e[n],输出记为Δu,乘法器为全精度输出,字长为相乘两数字长之和,即49位;
(3)计算u[n-1]+Δu,全精度加法器输出的字长相对扩展一位,即50位,积分器输出恒定为50位;
(4)判断数据是否溢出:①如果u[n-1]>0,Δu>0,u[n]<0同时成立,意味着两个正数相加得到负数,则发生溢出;②如果u[n-1]<0,Δu<0,u[n]>0同时成立,意味着两个负数相加得到正数,则发生溢出;
(5)对输出信号做溢出校正:如数据溢出后符号位是1,此时将积分器输出锁定为正向最大值;如数据溢出后符号位是0,此时将积分器输出锁定为负向最大值。
CN202111498518.9A 2021-12-09 2021-12-09 全精度数字积分控制器的fpga实现方法 Pending CN114200822A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111498518.9A CN114200822A (zh) 2021-12-09 2021-12-09 全精度数字积分控制器的fpga实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111498518.9A CN114200822A (zh) 2021-12-09 2021-12-09 全精度数字积分控制器的fpga实现方法

Publications (1)

Publication Number Publication Date
CN114200822A true CN114200822A (zh) 2022-03-18

Family

ID=80651622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111498518.9A Pending CN114200822A (zh) 2021-12-09 2021-12-09 全精度数字积分控制器的fpga实现方法

Country Status (1)

Country Link
CN (1) CN114200822A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309270A (zh) * 2013-07-03 2013-09-18 哈尔滨工业大学 一种基于fpga的可变参数pi控制器
CN103957010A (zh) * 2014-05-20 2014-07-30 石家庄数英仪器有限公司 一种高精度模数转换器及模数转换方法
CN105512724A (zh) * 2015-12-01 2016-04-20 中国科学院计算技术研究所 加法器装置、数据累加方法及数据处理装置
CN106357112A (zh) * 2016-10-18 2017-01-25 东南大学 一种减小dc/dc变换器adc量化效应造成非线性的补偿方法
CN108780441A (zh) * 2016-03-18 2018-11-09 高通股份有限公司 用于定点矩阵乘法的内存减少方法
CN208190613U (zh) * 2018-06-15 2018-12-04 北京化工大学 一种基于fpga实现的分数阶积分器
CN210958338U (zh) * 2019-07-31 2020-07-07 国网内蒙古东部电力有限公司电力科学研究院 基于fpga芯片的三相数字锁相环、svpwm调制器及电网谐波电流控制系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103309270A (zh) * 2013-07-03 2013-09-18 哈尔滨工业大学 一种基于fpga的可变参数pi控制器
CN103957010A (zh) * 2014-05-20 2014-07-30 石家庄数英仪器有限公司 一种高精度模数转换器及模数转换方法
CN105512724A (zh) * 2015-12-01 2016-04-20 中国科学院计算技术研究所 加法器装置、数据累加方法及数据处理装置
CN108780441A (zh) * 2016-03-18 2018-11-09 高通股份有限公司 用于定点矩阵乘法的内存减少方法
CN106357112A (zh) * 2016-10-18 2017-01-25 东南大学 一种减小dc/dc变换器adc量化效应造成非线性的补偿方法
CN208190613U (zh) * 2018-06-15 2018-12-04 北京化工大学 一种基于fpga实现的分数阶积分器
CN210958338U (zh) * 2019-07-31 2020-07-07 国网内蒙古东部电力有限公司电力科学研究院 基于fpga芯片的三相数字锁相环、svpwm调制器及电网谐波电流控制系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张可畏 等: "用于电子式电流互感器的数字积分器", vol. 24, no. 12, pages 272 - 276 *

Similar Documents

Publication Publication Date Title
US10309984B2 (en) High-precision pendulous accelerometer
CN108168680B (zh) 一种动态称重滤波方法及其系统
CN103178846B (zh) 一种利用lms算法进行adc校准的装置
CN103078640B (zh) 一种用于adc的rls自适应滤波校准方法
CN105842728B (zh) 数字化核能谱测量系统中的脉冲基线估计方法
CN110166021B (zh) 一种实现任意降采样率转换的数字信号处理方法
CN104883190A (zh) 一种包含自适应增量调制的高精度模数转换器
CN114200822A (zh) 全精度数字积分控制器的fpga实现方法
CN107167196A (zh) 一种基于fpga的科氏质量流量计数字驱动系统
CN114142830A (zh) 全精度低通iir滤波器的fpga实现方法
CN103580647B (zh) 一种滤波器结构
CN1858561A (zh) 处理科里奥利质量流量计非线性输出信号的测量单元
CN115860062A (zh) 一种适合fpga的神经网络量化方法及装置
CN110708039B (zh) 一种farrow滤波器的系数拟合方法
CN113777394A (zh) 不依赖外部电路的软件积分方法、装置、设备及存储介质
GB2179516A (en) Analogue-to-digital conversion
KR100898567B1 (ko) 입력 펄스 신호의 적분값을 계산하는 방법 및 장치
Liu et al. Output Truncation Realization of a Filter with Variable Decimation Factor
CN116244894B (zh) 一种基于大步长的电力系统暂态仿真方法及系统
CN111103831B (zh) 一种系数字长确定方法、系统、设备及计算机存储介质
JPH0191515A (ja) パルス幅変調装置
Malik Microcomputer realisations of Lynn's fast digital-filtering designs
JPH0611450Y2 (ja) 高精度追従比較型速度電圧発生回路
CN114152299A (zh) 一种超声波燃气表、流量计流量稳定滤波的方法及系统
Shi et al. Research on extraction method of axis angle rate of stable platform based on FPGA

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination