自顶向下基于DSP Builder的PID控制系统开发

发布者:CreativeMind最新更新时间:2007-08-27 来源: 现代电子技术关键字:EDA  FPGA  算法 手机看文章 扫描二维码
随时随地手机看文章

在控制领域中,PID控制足最早发展起来的控制策略之一,由于其算法简单、鲁棒性好和可靠性高,被广泛应用于工业过程控制。此外,随着控制理论的发展,专家系统、模糊逻辑、神经网络、灰色系统理论和传统的PID控制策略相结合又派生出各种新型的PID类控制器,形成庞大的PID家族,很多算法大大改进了传统P1D控制器的性能。然而,这些算法在工业中的实际应用范围却远远落后于传统PID算法,其中一个原因就足传统的单片机加分立元件构成的工业控制系统在实施更新更复杂的算法时,算法的复杂性或使得系统硬件设计调试更加复杂,或使得单片机内软件代码行增多,延时加大,开发周期变长。稳定性和可靠性在新系统设计时成为不能忽视的一个问题。

而近年来,微电子技术的迅速发展,使得集成电路设计和工艺水平有了很大的提高,随着超深亚微米技术的发展,使得原先由许多IC组成的电子系统集成在一个单片硅片上成为可能,构成所谓的片上系统(System 0n Chip,SOC),同时也促进了相应EDA工具的蓬勃发展。

控制算法的极大丰富和微电子领域工艺技术及EDA工具的飞速发展,使得我们可以将两个领域的应用优势集合在一起,在EDA工具的帮助下便捷快速地在FPGA上可靠地实现各种新型算法,完成整个控制系统从行为算法级(系统级)到物理结构级的全部设计,从而达到将各种新型PID算法广泛应用于实际工业控制系统的目标。

2离散PID控制算法

2.1 PID算法

比例、积分、微分(PID)控制是控制系统中技术最成熟,运用最广泛的一种控制方式。其基本原理是根据反馈控制系统的偏差值按比例、积分、微分函数关系进行运算,所得结果输出给执行机构,执行机构根据偏差值的运算结果来控制被控对象。在连续时间域中,PID控制器算法的表达式为:

其中:e(t)为控制器的输入即控制系统的给定量与输出量的偏差;u(t)为控制器的输出;Kp为比例系数;Tl为积分时间常数;TD为微分时间常数。

2.2 PID算法的离散化

由于计算机控制只能根据采样时刻的偏差值计算控制量,因此需对上式进行离散化处理。按模拟PID控制算法式(1),以一系列的采样时刻点kT代表连续时间t,以矩形法数值积分(和式)近似代替积分,以一阶向后差分(增量)近似代替微分,即:

可得离散PID表达式:


式中,积分系数K1=KP/Tl,微分系数KD=KPTD,T为采样周期,k为采样序号,k=1,2,…,e(k一1)和e(k)分别为第(k一1)和第k时刻所得的偏差信号。

2.3 PID控制系统框图

一般控制系统的PID系统控制框图如图1所示。其中,source为系统设定值,feedback为系统反馈值,e(t)为反馈误差,u(t)为PID控制器输出值。图中"PID控制算法"框图子系统即需要我们在算法级用DSP Builder进行自顶向下的设计仿真。


3基于DSP Builder的PID控制系统FPGA设计步骤与开发

3.1 Simulink工具箱的A1tera DSP Builder 组件

在利用FPGA进行系统的开发应用上,已有了全新的设计工具和设计流程。DSP Builder。就是Altera公司推出的一个面向DSP之类的芯片级开发的系统级工具。他是作为Matlab的一个Simulink工具箱(Tool Box)出现的,他使得用FPGA设计专用芯片系统完全可以通过Simulink的图形化界面进行,只要简单地对DSP Builder工具箱中的模块进行调用即可。值得注意的是,DSP Builder中的基本模块是以算法级的描述出现的,易于用户从系统或者算法级进行理解,甚至不需要十分了解FPGA本身和硬件描述语言。这为传统控制系统领域的工程师开发基于FPGA/ASIC的可靠控制系统芯片自顶向下的算法级设计提供了便利的条件。

3.2 在Matlab中用DSP Builder完成顶层算法设计

设计方法可以从与硬件完全无关的系统级开始,首先利用Matlab强大的系统设计、分析能力和DSP Builder提供的模块(或IP核)完成顶层系统设计及系统仿真测试。

根据图1的原理,在Matlab中进行设计仿真,Simulink顶层设计模型如图2所示。

在顶层设计模型中,除"PID控制子系统"外,其他部分均采用一般Simulink组件设计。为了在验证仿真时更贴近实际系统,给被控对象加上可调延时深度的延时即节。信号发生器给出系统设定值,对一般实际应用的控制系统而言,可以使用典型的矩形波,这里用数个矩形波与正弦波的叠加来仿真系统设定值的给出。

模型中的"PID控制子系统"实现PID算法部分。该子系统经仿真设计后,将通过DSP Builder中的SignalCompiler转换为FPGA的HDL 语言设计,所以这部分除了仿真观察所需的示波器等外需全部采用DSP Builder组件来设计,否则Signal Compiler编译时不能识别。

为了简单地说明如何用DSP Builder自顶向下的设计基于FPGA的控制系统,这里用普通的位置式PID算法进行举例。位置式PID算法的PID控制子系统设计框图如图3所示。

在图3中,输入误差信号采用了16位精度。而为了实现比例、积分、微分系数的精确可调,在这里PID系数采用了8位精度,使系数至少可以精确到百分位。同时,在系统设计过程中为了尽量避免浮点数的运算,这里将PID系数取成整型,先放大数据值到24位,而在并行加法器运算单元后用IO&Bus中的总线转换器单元对累加后的数据进行位数转换,实现FPGA中的浮点数运算。

Matlab仿真结果如图4所示。其中,source为系统设定值,feedback为系统反馈值。

波形仿真成功后,需要将Matlab中图形化的顶层设计模型转换成能够被FPGA开发软件识别的HDL语言描述文件。在图2中,打开Signal Compiler模块,配置相关参数,可以将DSP Builder 设计的"PID控制子系统"编译成VHDL及Veirlog语言的RTL表述和工具命令语言Tcl脚本。根据编译信息前面的设计模型,直到编译报告中Convert Mdl to VHDL,Synthesis,Quartus II Fitter三项状态均为PASSED,即可获得ModelSim所需的tb_SystemName.tcl功能仿真文件脚本和Quartus所需的SystemName.qpf 项目文件和SystemName.vec 仿真波形文件。
 
3.3在ModelSim中实现HDL代码功能仿真

在ModelSim菜单中执行Tools一>Execute Macro,打开前述Signal Compiler编译生成文件tb_System-Name.tcl(VHBL)或tb_vo_SystemName.tcl(Verilog),调试成功后,仿真得到图5结果。功能仿真结果与Matlab中基本一致,证明顶层设计基本成功。

3.4 在Quartus中实现FPGA开发

在Quartus中打开前述Signal Compiler编译生成文件SystemName.qpf。设定相应器件Device,在Tcl Scripts中运行SystemName_quartus.tcl配置此工程项目变量,然后编译。调试成功后,载入SystemName.vec波形仿真文件运行时序仿真工具,得到图6结果,与图5基本相符,证明设计成功。



4结 语

这里给出了一个最初用于FPGA的系统级设计工具DSP Builder在自动控制领域的应用,目前在已出版的国内期刊及论文库中似乎还没有相关文献谈到这个交叉领域的应用。
在控制领域里,当各种复杂的新型PID算法应用于实际控制系统中时,由于传统单片机与分立元件电路系统的局限性,硬件指标和软件复杂度都使得新的应用及研发设计进展缓慢;普通FPGA/CPLD没计又存在着没计周期长、可重复利用性差等缺点。我们将日益完善的SoC设计工具应用于自动控制领域,不仅在算法设计上有了新的方便快捷的设计工具,同时籍由FPGA硬件本身的优点也可以解决单片机及分立元件存在的电磁干扰、系统复杂度高等各类问题,从而大大提高将各种新型PID算法广泛应用于实际工业控制系统的可行性。

在系统设计中进一步的探讨:由于设计是从与硬件完全无关的Matlab系统级仿真开始,因此便于传统控制领域工程师们可以迅速地将算法级的构思应用于控制系统设计中,从而可以将有限的精力专注于系统级算法的设计,而避免陷入重复繁琐的电路设计中去,缩短从人脑构思到实际系统实现的时间周期。其中单个设计MDL文件甚至可以考虑封装成"算法包"的形式进行资源重复利用,以实现功能单元的便捷增减和缩短产品开发时间。这里可能存在着控制领域里可重用算法及相应"包"的接口标准。这种情况或许和SOC领域IP核的现象有部分类似,本文就不再多述。

关键字:EDA  FPGA  算法 引用地址:自顶向下基于DSP Builder的PID控制系统开发

上一篇:基于ARM微处理器LPC2132的智能电动机保护器设计
下一篇:基于处理器的去方块滤波器的实现及优化

推荐阅读最新更新时间:2024-03-30 21:24

利用FPGA搭建高等级视频监控系统
全视频帧速率下的高分辨率(HD)安全监控处理系统对处理器件的要求越来越高,单芯片DSP处理已经无法适应,多芯片、多核或者CPU+DSP的方式虽然在某些情况下能够满足需求,但其在PCB成本、系统资源占用以及系统稳定性等方面还存在一些问题。利用FPGA的灵活特性加载视频处理引擎的新型系统架构正在引起人们的关注。      利用FPGA搭建高等级视频监控系统(附图)    成本和性能的挑战   Xilinx亚洲区资深系统架构师江允贵表示,监控视频智能分析系统的市场规模在2012年将达到8亿美元。对于摄像机和DVR等视频监控网络设备的设计商和提供商而言,受制于处理性能、成本和电源等方面的限制,单芯片解决方案商业或技术上是
[模拟电子]
利用<font color='red'>FPGA</font>搭建高等级视频监控系统
基于FPGA的前向纠错算法
1 引言   目前,无线产品的广泛应用使无线音频和视频的高质量传输成为可能。蓝牙、无限局域网等无线传输设备比较复杂,成本较高,急需开发一种简便的、仅用于流媒体的无线传输平台,将音频数据实时地发送到移动终端。由于音频数据的实时性,不宜采用反馈重传等造成很大时延的差错控制方式。前向纠错码(FEC)的码字是具有一定纠错能力的码型,它在接收端解码后不仅可以发现错误,而且能够判断错误码元所在的位置并自动纠错。这种纠错码信息不需要储存,不需要反馈,实时性好,故可选择前向纠错来实现差错控制。   笔者设计的系统指标如下:   ●当信道误码率为3x10-3时,经过前向纠错,误码率降到10-7以下;   ●数据源使用的是S/PDIF民用数字音频格式
[应用]
莱迪思生态系统缩短FPGA产品的设计周期
       对于可编程逻辑公司和他们的客户而言,加快产品的设计周期一直是优先考虑的事。然而,由于 FPGA 的密度、性能、特点和功能越来越复杂,现在设计人员面临的挑战比以往任何时候都更加艰巨。特别值得注意的是新的中档器件,如我们的LatticeECP3 FPGA系列和MachXO非易失可编程逻辑器件。这些低功耗,经济的中档器件整合了许多先进的功能,如高速嵌入式SerDes、 DSP 块、灵活的 I/O 结构和嵌入式微处理器,而过去只有高端的,昂贵的FPGA才拥有这些功能。这些中档的FPGA具有低成本和性能稳定的特点,正被越来越广泛地应用于消费电子产品之中。 即使对于低密度的产品,FPGA的复杂性也日益增加。设计团
[工业控制]
便携式ADSL线缆测试仪的设计
0 引言 近几年来,不对称数字用户线(ADSL)作为网络“最后一公里”问题解决方案在世界范围内得到了广泛运用。在我国,ADSL业务已成为运营商收入的主要增长点之一。 其直接采用的是现有的市话铜缆线路传输信息,市内电话线缆线路同时还担负着传递长途电话、市内电话和其他通信业务的重要任务,是保证通信业务畅通无阻的关键环节。如果市话线路发生障碍,少则十几个用户,多则上千个用户会同时发生阻断;如果是多局制的中继线缆出现障碍,会使两个局的全体用户都不能相互通信。因此,无论是ADSL业务还是市话业务的开通,还是正常的运营维护,都需进行一系列的测试工作,而自动化的测试仪表是提高测试效率及准确度的关键。针对传统仪表设备不便携带,自动化程度不
[测试测量]
便携式ADSL线缆测试仪的设计
Xilinx在MLPerf中获得了Resnet-50测试第一
日前,MLPerf组织公布了一系列测试结果, NVIDIA在第二版MLPerf Inference中赢得了针对数据中心和边缘计算系统的所有六个应用领域的所有测试。其中,浪潮AI服务器NF5488A5支持8颗第三代NVlink全互联的NVIDIA A100 GPU,一举创造18项性能纪录;宁畅信息产业(北京)有限公司搭载NVIDIA T4 /A100 GPU卡的Nettrix X640 G30 AI服务器,在ResNet、BERT、DLRM等基准测试中取得30项世界第一成绩。 尽管很多都是NVIDIA的成就,但FPGA供应商Xilinx也获得了一点点成绩,以下来自Xilinx的官方博客: 最新MLPerf组织发布了最新一
[嵌入式]
Xilinx在MLPerf中获得了Resnet-50测试第一
100G光网络时代 FPGA芯片厂商将何去何从?
2011年5月19日消息,之前,由于技术和成本原因把A lte ra公司和Xilinx这两家 硅片 大亨拒之 100Gbps 门外。然而,经过Altera和Xilinx重整其 FPGA 为可行性方案;以及收购相关IP供应商而加强了其FPGA能力并定位为“一站式服务”,进而以全新面貌迎接 100G 光传送 网络 (OTN)以及100G 以太网 。两家公司因此能为高速以太网以及OTN应用的专用 集成电路 (AS IC s)及专用标准产品(ASSPs)提供更具价值的芯片产品。对于不愿意使用各自FPGA核心供应商的设计人员来说,要找到一个不错的IP独立供应商难度很大。 急速大迈进 在100Gbps领域,Xilinx公司毫无
[嵌入式]
MCS-51单片机与CPLD/FPGA接口逻辑设计
在功能上,单片机与大规模CPLD有很强的互补性。单片机具有性能价格比高、功能灵活、易于人机对话、良好的数据处理能力潍点;CPLD/FPGA则具有高速、高可靠以及开发便捷、规范等优点。以此两类器件相结合的电路结构在许多高性能仪器仪表和电子产品中仍将被广泛应用。本文就单片机与CPLD/FPGA的接口方式作一简单介绍,希望对从事单片机和CPLD/FPGA研发的朋友能有所启发。 单片机与CPLD/FPGA的接口方式一般有两种,即总线方式与独立方式,分别说明如下: 一、总线方式 单片机以总线方式与CPLD/FPGA进行数据与控制信息通信有许多优点。 (1)速度快。如图一所示,其通信工作时序是纯硬件行为,对于MCS-51单片机,只需一条单字节
[单片机]
大容量串行e-Flash的FPGA配置方案
引 言 现场可编程门阵列FPGA(Field Programmable Gate Array)是一种集通用性强、设计灵活、集成度高和编程方便等诸多优点于一身的现场可编程ASIC。自1985年美国的Xilinx公司推出FPGA产品并取得成功以后,FPGA发展迅猛,门数不断提升,达到数百万门的规模;产品种类日益丰富,性能不断完善,在军事、通信、医疗、消费类电子等各领域发挥了巨大的作用。 Xilinx公司的FPGA具有很高的性价比,其集成开发环境ISE和Webpack效率高、界面友好,因此在业界有着广泛的应用。通常对Xilinx公司的FPGA配置采用专用的配置芯片,速度较快,其价格也正逐步降低。笔者为配合某电力测量仪表的开发,对X
[应用]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
最新工业控制文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved