CN114200822A - 全精度数字积分控制器的fpga实现方法 - Google Patents
全精度数字积分控制器的fpga实现方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B11/00—Automatic controllers
- G05B11/01—Automatic controllers electric
- G05B11/36—Automatic controllers electric with provision for obtaining particular characteristics, e.g. proportional, integral, differential
- G05B11/42—Automatic 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实现方法。
背景技术:
随着半导体器件研发、制造行业蓬勃发展,对半导体测试仪器的需求与日俱增。其中精密源表对于半导体IV表征测试是最为重要的一类仪器,却长期被国外品牌垄断。精密源表的核心技术之一便是内部基于FPGA实现的高速负反馈控制器。
就现有技术而言,通常使用数字PID控制器作为负反馈控制器。对于精密源表而言,PID中的比例(P)环节与微分(D)环节收到测量信号中所叠加噪声的影响,会使控制效果恶化。而如果使用常规数字的滤波的方法对测量信号先进行低通滤波,则导致控制器带宽降低,将无法满足高速脉冲输出的要求。所以在本发明中,仅采用PID控制器的积分环节,所以用于精密源表负反馈控制的是一个纯积分器。
另一方面,目前基于FPGA实现的定点数数字积分器均采用类似零极点滤波器的递归形式,在每个数据周期都必须进行截位运算。现有存在几点不足:①存在截位误差,容易导致控制器不稳定;②定点数积分运算存在溢出风险,易使控制器输出极性反转,造成剧烈振荡;③数据运算周期长,不利于控制的实时性。
因此,发明一种基于FPGA编程实现,能够高效实时计算的、不含截位误差且能避免数据溢出的积分控制器,就成为了一项关键技术。
发明内容:
为了解决上述技术问题,本发明提出一种用于精密源表的全精度数字积分控制器的FPGA实现方法,仅包含定点数数加减乘除的数字算法,由FPGA对高速ADC采样的数字信号进行实时积分计算,并能有效避免数据溢出,全精度输出。
本发明提供一种用于精密源表的全精度数字积分控制器的FPGA实现方法,包括如下步骤:
一、系统数学模型的建立
积分控制器是指仅使用PID控制器中的积分环节。对设定值与测量值的偏差做积分,然后乘以积分系数后作为控制器输出。
对连续信号做负反馈纯积分控制的数学描述如下:
式中,Ki是积分系数,决定闭环系统的阶跃响应的上升速度;d(τ)为τ时刻的设定值或称参考值;x(τ)为τ时刻的测量值;u(t)是对设定值与测量值偏差的积分,并作为控制器输出从而实现对系统的负反馈控制;
对于数字负反馈控制系统而言,控制过程在FPGA中进行离散时间域的实时计算。设定值为用户编程写入FPGA的数字信号;测量值则为高速ADC的采样信号。对(1-1)式离散化可得:
式中,T是数字控制器的运算周期,等于ADC工作频率的倒数(精密源表使用工作频率为4MHz的高速ADC,故T为250ns);d[i]是i时刻的设定值或称参考值,由用户编程规定;x[i]是i时刻ADC的采样值;u[n]即是对设定值与测量值偏差的累加求和,等同于连续时间域的积分运算;u[n]作为控制器输出由FPGA外部接口写入DAC、实现对系统的负反馈控制。
二、全精度数字积分器基本结构的建立
根据式(1-2)可写出系统在n-1时刻的控制输出:
将(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实现方法,包括如下步骤:
一、系统数学模型的建立
对连续信号做负反馈纯积分控制的数学描述如下:
式中,Ki是积分系数,决定闭环系统的阶跃响应的上升速度;d(τ)为τ时刻的设定值或称参考值;x(τ)为τ时刻的测量值;u(t)是对设定值与测量值偏差的积分,并作为控制器输出从而实现对系统的负反馈控制;
对于数字负反馈控制系统而言,控制过程在FPGA中进行离散时间域的实时计算。设定值为用户编程写入FPGA的数字信号;测量值则为高速ADC的采样信号。对(1-1)式离散化可得:
式中,T是数字控制器的运算周期,等于ADC工作频率的倒数;d[i]是i时刻的设定值或称参考值,由用户编程规定;x[i]是i时刻ADC的采样值;u[n]即是对设定值与测量值偏差的累加求和,等同于连续时间域的积分运算;u[n]作为控制器输出由FPGA外部接口写入DAC、实现对系统的负反馈控制。
二、全精度数字积分器基本结构的建立
根据式(1-2)可写出系统在n-1时刻的控制输出:
将(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实现方法,其特征在于,包括如下步骤:
一、系统数学模型的建立
对连续信号做负反馈纯积分控制的数学描述如下:
式中,Ki是积分系数;d(τ)为τ时刻的设定值或称参考值;x(τ)为τ时刻的测量值;u(t)是对设定值与测量值偏差的积分,并作为控制器输出从而实现对系统的负反馈控制;
控制过程在FPGA中进行离散时间域的实时计算:
设定值为用户编程写入FPGA的数字信号,测量值则为高速ADC的采样信号,对(1-1)式离散化可得:
式中,T是数字控制器的运算周期,等于ADC工作频率的倒数;d[i]是i时刻的设定值或称参考值,由用户编程规定;x[i]是i时刻ADC的采样值;u[n]是对设定值与测量值偏差的累加求和,等同于连续时间域的积分运算;u[n]作为控制器输出由FPGA外部接口写入DAC、实现对系统的负反馈控制;
二、全精度数字积分器基本结构的建立
根据式(1-2)可写出系统在n-1时刻的控制输出:
将(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,此时将积分器输出锁定为负向最大值。
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)
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调制器及电网谐波电流控制系统 |
-
2021
- 2021-12-09 CN CN202111498518.9A patent/CN114200822A/zh active Pending
Patent Citations (7)
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)
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 |