基于FPGA构建滤波器实现控制策略的方法探析
2018-03-26李永斌王伟王小奎
李永斌 王伟 王小奎
[摘 要]基于FPGA(现场可编程门阵列)构建滤波器实现控制策略是通过控制算法直接作用于FPGA芯片,有效解决了软件层面带来的响应滞后问题,具有高可靠性和快响应的特点。本文提出了基于FPGA构建滤波器的方法,通过理论分析和仿真对比,实现了快速响应,能为高可靠性实时控制应用领域提供借鉴。
[关键词]FPGA;滤波器;二阶控制算法
doi:10.3969/j.issn.1673 - 0194.2018.04.067
[中图分类号]TP274.2 [文献标识码]A [文章编号]1673-0194(2018)04-0-02
1 研究背景
自动控制系统包括输入部分、控制系统部分和输出部分。从物理学角度看,自动控制系统研究的是特定激励作用下的系统响应变化情况;从数学角度看,研究的是输入与输出之间的映射关系。控制系统主要完成有关信号的转换、处理、控制执行机构完成控制功能。控制系统设计需要满足三个基本要素:稳定性、准确性和快速性。在这三个要素中稳定性是前提,在满足该前提条件下,尽可能提高系统的动态性能和稳态性能,即控制系统输入输出反馈响应要快速及输出跟踪要准确。
在信息处理过程中,数字滤波器是信号处理中使用最广泛的一种方法。它从本质上来说是将一组输入的数字序列通过一定规则运算后转变为另外一组希望输出的数字序列。滤波器可以看成是一个信号处理系统,其输入与输出之间存在一定的关系,这种关系无论在时域还是频域都可以用数学表达式表示。而这些数学表达式又是分子分母都是多项式的表达式,这样满足使传输函数的分子为零的是零点,满足使传输函数分母为零的就是其极点。
在控制领域,也可以基于零极点滤波器实现控制算法,将S域控制算法获取零点和极点,然后构造连续域(S域)的零极点滤波器,即可通过信号处理方式实现控制算法。在实时性要求比较高的应用场合,采用可编程芯片FPGA加以实现,相比于DSP芯片或专用芯片的实现方法,具有高速、高精度、高灵活性的优点。
2 控制算法实现策略对比
控制算法根据其实现的方式,可以分为软件控制和硬件控制,所谓软件控制指控制算法运行在相对“软”层次,经过CPU控制,离不开操作系统、驱动API和应用软件层来实现的。硬件控制相对摆脱了“软”层次,直接由硬件芯片实现控制算法,所以其可靠性相对较高,响应速度相对较快。
2.1 软件控制策略
软件控制策略包含多个抽象层,如应用软件层、驱动API层、操作系统层等,控制算法会在应用软件层进行开发,然后经驱动API和操作系统将输出值输出给控制对象(UUT),然后控制对象的反馈又经操作系统、驱动API及应用软件后作为控制算法的反馈量来指导控制算法输出。该策略实现了由输入、控制及输出的闭环控制回路。
由于各个层次之间会涉及任务计划的调度、资源共享、控制指令传递等,会存在各层次之间的竞争机制,并由于传递路径多层结构,导致控制輸入输出的响应时间较长。软件控制策略作为以软件为中心的架构方式,其数据处理能力完全依赖于计算机的强大处理能力,由于CPU的分时执行机制及操作系统的多任务抢占式处理,造成系统的稳定性和可靠性都存在一定的风险。
2.2 硬件控制策略
硬件控制主要是指控制算法直接经硬件芯片作用于被控对象,摆脱了软件控制中各层的影响,也不需要操作系统,所以硬件控制策略的控制速率及可靠性都比较高。
FPGA,即现场可编程门阵列,由于其融合了ASIC和基于处理器的系统最大优势,FPGA能够提供快速且稳定的硬件定时机制,并且FPGA是真正意义上的并行执行。因此不同处理操作无需对资源进行竞争,也就是说只要资源够用,每个处理都配有专用的芯片部分,所以一个控制算法和多个控制算法的执行效率完全一致。在模块化I/O中可以引入FPGA技术,就可以将一些可靠性、稳定性及实时性要求高的算法,在模块化I/O中通过FPGA来实现,完成信号的特性运算分析和控制处理,从而满足系统需求。
3 FPGA技术及其在控制算法中的优势
FPGA采用了逻辑单元阵列LCA概念,内部包括可配置逻辑模块CLB、输入输出模块IOB和内部连线三个部分,具有如下优势。①更高的可靠性。控制算法完全在芯片级定制的硬件电路中执行,提高了控制算法的可靠性。②真正的并行性。FPGA是完全并行的操作,能够保证控制算法的并行性及同步性。③更高的实时性。通过FPGA芯片快速处理时钟,可以保证控制算法的实时性。④更高的处理能力。FPGA使用芯片级硬件处理算法,具备快速高效的处理能力。
FPGA基本上可以完成任何数字器件的功能,自由地设计具有某种功能的数字系统,降低了控制系统的开发风险,同时通过采用系统编程、远程在线重构等技术降低了维护升级成本。
4 基于FPGA构建滤波器实现控制算法分析
为了能够进一步说明连续域控制算法(传递函数)能够在FPGA芯片中去实现,下面以一个控制理论中的典型二阶系统的单位阶跃响应为例进行论述分析。
构造连续域(S域)传递函数的零极点。
连续域(S域)到离散域(Z域)双线性变换。双线性换法的主要优点是S平面与Z平面一单值对应,S平面的虚轴(整个jΩ)对应于Z平面单位圆的一周,S平面的Ω=0处对应于Z平面的ω=0处,对应即数字滤波器的频率响应终止于折迭频率处,所以双线性变换不存在混迭效应。
获取离散域(Z域)零极点。理论上来说,零点和极点个数应该是一样多的,对于S域零点不是没有,严格来说应该是零点在无穷远处,对应于Z域就表示零点在-1+0i处。所以在S-Z零极点变换过程,保证了零极点个数一致,并计算得出变换后增益输出。
构建定点滤波器基于NI Digital Filter Design Toolkit设计滤波器。滤波器设计包括设计(零极点滤波器设计)、分析、量化(浮点到定点量化)、分析、仿真等过程然后生成FPGA滤波器模型。
5 LabVIEW工具仿真对比分析
生成FPGA滤波器代码基于LabVIEW FPGA滤波器IP生成工具,图1为基于设计的定点滤波器模型,来生成FPGA滤波器IP代码。图中可以看到浮点滤波器和定点滤波器幅频响应曲线是吻合的,表示定点量化过程是合适的。
二阶系统单位阶跃响应验证通过控制算法来实现二阶系统单位阶跃响应曲线和通过FPGA滤波器实现阶跃响应曲线比较分析。图2为经典控制算法及通过滤波器算法实现的二阶系统单位阶跃响应曲线,经典控制算法实现曲线用蓝色显示,滤波器算法实现曲线用红色显示,两条曲线完全吻合。
6 结 语
数字滤波器在自动控制数字信号处理领域有着广泛的应用。本文基于FPGA构建滤波器实现了二阶系统单位阶跃响应控制算法,并基于FPGA的实时、快速、并行、高处理能力等优势,能够更好地实现控制算法的稳定性、快速性和准确性,对实时响应控制工程具有借鉴意义。
主要参考文献
[1]胡云峰,陈虹,刘明星,等.基于FPGA/SOPC的预测控制器设计与实现[J].仪器仪表学报,2010(6).
[2]许芳.快速模型预测控制的FPGA实现及其应用研究[D].长春:吉林大学,2014.
[3]李健.基于FPGA的高速FIR数字滤波器设计[D].西安:西安理工大学,2008.
[4]于洪松,韩广良,孙海江,等.基于CPCI总线的FPGA+DSP架构通用视频图像处理系统的设计[J].液晶与显示,2015(2).
[5]吴瑕杰,王顺亮,宋文胜,等.基于FPGA的三电平空间矢量脉宽调制算法半实物实验方案[J].电力系统自动化,2014(3).
[6]王成山,丁承第,李鹏,等.基于FPGA的配电网暂态实时仿真研究(二):系统架构与算例验证[J].中国电机工程学报,2014(4).
[7]梁颖.基于USB和FPGA技术的高性能数据采集模块的设计与实现[D].成都:四川大学,2005.